计算机网络协议架构

计算机网络篇 | 分层的协议架构 计算机网络篇 | 分层的协议架构 说到计算机网络,大家肯定也会立马反应到我们小学三年级就学过的TCP/IP协议簇。 TCP/IP协议簇为我们构建了计算机直接通信的一种模式。 首先复习一下基础知识点 我们首先看看计算机网络中的体系结构 啊啊啊…好多层,好复杂,怎么记忆啊? 作为一名光荣的理科生,就要从逻辑的角度来记忆。 这三种体系是从简到繁的关系,每一层都细化了一些东西,我们只要记住这一层是做什么的,为什么在这一层,很轻松就能记住了。 我们若访问一个网站,会经历大致这几个流程 根据域名获得ip ( 阅读详情

TCP/IP协议族和OSI模型是两种不同的网络协议架构,它们有一定的相似性和不同之处。理解它们的关系可以帮助我们更清楚地认识到它们是如何构成网络通信的。

1. OSI模型(开放系统互联模型)

OSI模型是国际标准化组织(ISO)提出的一个七层网络模型,目的是标准化计算机网络的通信过程。OSI模型将网络通信过程划分为七个层次,每一层都有不同的功能和协议:

  • 第1层:物理层(Physical Layer):负责数据的物理传输,包括电缆、光纤、无线信号等。
  • 第2层:数据链路层(Data Link Layer):负责节点间的可靠数据传输,进行物理地址的管理,控制数据帧的发送与接收。
  • 第3层:网络层(Network Layer):负责数据包的路由选择和转发,提供源和目的设备的逻辑地址(如IP地址)。
  • 第4层:传输层(Transport Layer):负责端到端的数据传输,包括错误检测、流量控制、数据分段等。常用协议:TCP、UDP。
  • 第5层:会话层(Session Layer):管理会话的建立、维护和结束,确保数据的正确同步。
  • 第6层:表示层(Presentation Layer):负责数据的编码、压缩和加密等表示格式转换。
  • 第7层:应用层(Application Layer):直接面向用户,提供应用程序之间的通信,支持各种应用协议(如HTTP、FTP、SMTP等)。

2. TCP/IP协议族

TCP/IP协议族是一组网络协议的集合,用于支持计算机网络之间的通信。TCP/IP协议族通常分为四层或五层,通常的四层结构如下:

  • 第1层:链路层(Link Layer):与OSI的物理层和数据链路层相对应,负责网络接口和物理传输。
  • 第2层:互联网层(Internet Layer):与OSI的网络层相对应,主要负责路由和IP地址(即IP协议)。
  • 第3层:传输层(Transport Layer):与OSI的传输层相对应,主要协议为TCP和UDP。
  • 第4层:应用层(Application Layer):与OSI的会话层、表示层和应用层功能相对应,负责提供网络服务,如HTTP、FTP、SMTP等。

在实际的网络环境中,我们使用的是TCP/IP协议族,而不是OSI参考模型。

TCP/IP协议族概述

TCP/IP协议族(Transmission Control Protocol/Internet Protocol Suite)是互联网和大多数局域网中使用的网络协议集合。它提供了一个分层的网络通信框架,使计算机能够在不同的网络环境中进行通信。TCP/IP协议族并不是一个单一的协议,而是一个包括多个协议的体系,支持跨网络的数据传输。

TCP/IP协议族最初由美国国防部的高级研究计划局(DARPA)提出,用于研究和构建一个可靠的、互联的计算机网络。随着时间的推移,TCP/IP逐渐成为全球互联网的核心协议,广泛应用于各种网络通信场景。


TCP/IP协议族的层次结构

TCP/IP协议族通常分为 四层模型 或 五层模型,每一层都由特定的协议组成,负责不同的网络功能。这里我们主要讲解四层模型,并将各层的作用和功能进行详细描述。

1. 链路层(Link Layer)

链路层是TCP/IP协议族中最低的一层,负责数据在物理网络介质上传输。它包括了计算机网络中硬件部分的管理和协议。链路层的主要任务是定义在特定类型的物理网络上的数据帧结构,并负责数据的传输。

  • 功能:
    • 数据封装:链路层将传输层传来的数据(如TCP数据段)封装为数据帧。
    • 物理地址管理:链路层使用MAC地址(硬件地址)来标识网络设备,确保数据能够正确地传输到目标设备。
    • 错误检测:链路层通常会对数据进行错误检测,如使用校验和来验证数据的完整性。
  • 协议:
    • Ethernet:局域网中最常用的链路层协议,用于通过有线或无线媒介进行通信。
    • PPP(Point-to-Point Protocol):点对点协议,广泛用于电话线、卫星链路等类型的连接。
    • ARP(Address Resolution Protocol):地址解析协议,用于将IP地址映射到MAC地址。
2. 网络层(Internet Layer)

网络层的主要作用是处理数据包的路由和转发。它将数据包从源设备传输到目标设备,支持数据的寻址和分发。网络层的核心协议是 IP(互联网协议),它为数据包提供唯一的标识(IP地址)并决定数据包的路由。

  • 功能:

    • IP寻址:每个设备在TCP/IP网络中都分配一个唯一的IP地址,用于标识网络中的主机。网络层通过IP地址来区分不同的设备。
    • 路由选择:数据包从源设备到目标设备的路径是由路由器根据目标IP地址来选择的。路由器根据路由表来判断数据包应该走哪条路径。
    • 分段与重组:由于网络中不同设备的最大传输单元(MTU)不同,网络层会将过大的数据包拆分成多个较小的片段传输,到达目标后再重新组装成原来的数据包。
  • 协议:

    • IP(Internet Protocol):IP协议是网络层的核心协议,它负责为每个主机分配唯一的IP地址,并为数据包提供路由和寻址服务。
      • IPv4:使用32位地址表示(如:192.168.0.1),目前是最广泛使用的版本。
      • IPv6:使用128位地址表示(如:2001:0db8:85a3:0000:0000:8a2e:0370:7334),解决了IPv4地址不足的问题。
    • ICMP(Internet Control Message Protocol):用于发送控制消息和错误报告,最常用于“ping”命令测试网络连接。
3. 传输层(Transport Layer)

传输层的主要作用是保证端到端的通信,确保数据的可靠性和完整性。传输层协议将数据从源设备传输到目标设备,处理数据流量控制、差错恢复和数据顺序控制。

  • 功能:

    • 可靠传输:传输层提供可靠的端到端通信,确保数据包按顺序到达目的地。如果数据丢失或发生错误,它会重新传输数据。
    • 流量控制:通过控制数据的发送速率,防止接收方因处理不过来而丢弃数据。
    • 拥塞控制:在网络出现拥堵时,控制发送速率以避免网络的过载。
  • 协议:

    • TCP(Transmission Control Protocol):TCP是面向连接的协议,它通过三次握手过程建立连接,提供可靠的、按顺序的通信,广泛应用于需要高可靠性的场景(如网页浏览、文件传输等)。
      • 三次握手:TCP在传输数据之前需要通过三次握手协议建立连接。
      • 四次挥手:传输完成后,双方通过四次挥手协议断开连接。
    • UDP(User Datagram Protocol):UDP是无连接的协议,它没有建立连接和断开连接的过程,数据发送时不保证可靠性和顺序。UDP适用于实时性要求高的应用,如视频流、语音通话和在线游戏等。
4. 应用层(Application Layer)

应用层是TCP/IP协议族的最高层,它直接为用户的应用程序提供服务。应用层协议定义了不同应用程序之间的通信规则和数据格式。应用层协议通常运行在用户端和服务器端之间,直接影响用户的网络体验。

  • 功能:

    • 数据格式和协议:应用层定义了网络应用数据的格式和传输方式,如HTTP协议用于网页浏览,SMTP协议用于发送电子邮件等。
    • 用户与网络的交互:应用层协议为最终用户提供与网络的交互方式,直接面向用户的需求。
  • 协议:

    • HTTP(Hypertext Transfer Protocol):用于客户端和Web服务器之间的通信,支持网页的加载和交互。
    • FTP(File Transfer Protocol):用于文件在计算机之间的传输。
    • SMTP(Simple Mail Transfer Protocol):用于电子邮件的发送。
    • DNS(Domain Name System):用于将域名转换为IP地址,帮助用户通过域名访问网站。

TCP/IP协议族的工作原理

  1. 数据传输过程:

    • 当用户发送请求(如浏览网页)时,应用层协议(如HTTP)会生成一个数据请求,并传递给传输层。
    • 传输层(TCP)将数据分割成多个数据段,添加必要的头部信息,确保可靠传输,然后将数据传递给网络层。
    • 网络层将数据包根据目标IP地址进行寻址和路由,处理分段与重组,将数据包传递给链路层。
    • 链路层负责数据的实际物理传输,确保数据到达目标设备。
    • 接收方设备的链路层接收数据并交给网络层,网络层再将数据交给传输层,最后传递到应用层。
  2. 数据封装与解封装: 在数据传输的过程中,每一层会对上层传递的数据进行封装,添加相应的协议头部。当数据从接收端返回时,各层按照相反的顺序解封装数据,最终将数据传递给应用层,完成通信。


TCP/IP协议族的优势与挑战

优势:
  • 灵活性:支持各种网络拓扑结构,能够适应不同的物理传输介质(如光纤、无线网络等)。
  • 可扩展性:TCP/IP协议族支持通过增加新的协议来满足不同的网络需求。IPv6的引入解决了IPv4地址枯竭的问题。
  • 互操作性:由于TCP/IP是开放标准,它支持不同平台和操作系统之间的互联和互操作。
挑战:
  • 安全性:TCP/IP协议族本身并不提供强大的安全机制,随着互联网的发展,许多安全问题(如中间人攻击、数据泄露等)需要额外的保护机制(如SSL/TLS、VPN等)。
  • 配置和管理:在大规模网络中,地址配置、路由管理等工作变得复杂,尤其是在跨多个网络或数据中心时。
对计算机网络学习的一点心得1之网络整体协议架构理解 网络整体协议架构理解 我们都知道,在学习《计算机网络》这门课时,RFC文档把OSI(开放系统互连参考模型  - Open System Interconnect )分为了七层,它们从现实世界到网络世界再到计算机世界分别是——物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。 《计算机网络》书中对每一层的作用和所用协议,甚至是协议的格式都有明确的说明和讲解。 但是,在现实世界中,对学... 阅读详情

相关推荐

计算机网络基础:局域网协议相关知识

1、局域网协议的概念局域网络中的通信被限制在中等规模的地理范围内,比如一所学校;能够使用具体中等或较高数据速率的物理信道,并且具有较低的误码率;局域网络...

IT技术分享社区 1882

网络协议结构

七层架构 70年代以来,国外一些主要计算机生产厂家先后推出了各自的网络体系结构,但它们都属于专用的。为使不同计算机厂家的计算机能够互相通信,以便在更大的范围内建立计算机网络,有必要建立一个国际范围的网络体系结构标准。国际标准化组织ISO 于1981年正式推荐了一个网络系统结构----七层参考模型,叫做开放系统互连模型(Open System Interconnection,OSI)。由于这个标准模型的建立,使得各种计算机网络向它靠拢,大大推动了网络通信的发展。 物理层 物理层是OSI的第一层,它虽然处于

weixin_43960071的博客 3227

深入理解计算机网络协议架构与TFTP协议

本文主要围绕计算机网络中的协议架构和TFTP协议展开,详细解释了分层协议架构的重要性,TCP/IP协议架构的构成,以及如何在Linux系统中实现网络功能。通过对TFTP协议的介绍和分析,读者可以更好地理解计算机通信的基本原理以及分布式数据处理的趋势。文章旨在帮助读者深入掌握网络协议的基本概念,理解如何在实际场景中运用这些协议。

weixin_42160645的博客 370

一文看懂计算机网络五层协议+各层网络协议大全

一文看懂计算机网络五层协议

weixin_36389889的博客 1万+

2019年电赛D题《简易电路特性测试仪》全过程

2019年全国大学生电子设计大赛D题《简易电路特性测试仪》硬件部分及故障分析

zzhao2580的博客 5万+

9 HAL库驱动框架简述(STM32HAL库)

HAL库外设的使用步骤总结如下:1、定义并填充xxx外设句柄结构体。2、如果遵循HAL库规范,通过HAL_xxx_MspInit()函数,实现外设底层资源的初始化,包括但不限于GPIO、时钟、DMA、中断等资源的初始化。3、调用HAL库的对应外设初始化函数,形如:HAL_xxx_Init()。4、初始化完成,开始使用外设。5、使用方法具体查看对应外设的HAL库驱动包中的说明:补充:HAL库使用主线外设初始化外设使用。

qq_25218501的博客 1979

网络协议与架构

1.背景介绍 网络协议是计算机网络中的一种标准,它规定了计算机之间的通信方式和规则。网络协议的主要目的是确保计算机之间的数据传输可靠、高效、安全。网络协议可以分为应用层协议、传输层协议、网络层协议和数据链路层协议。 在本文中,我们将深入探讨网络协议与架构的相关概念、算法原理、具体操作步骤、数学模型公式、代码实例以及未来发展趋势与挑战。 2.核心概念与联系 2.1 网络协议的分类 网络协议...

AI天才研究院 1771

百度地图小区边界爬取

百度地图 小区边界爬取 完整项目地址-github 数据源:百度地图api 项目结构 RESIDENTIALAREABOUNDARY │ ResidentialAreaBoundaryControl.py 主函数 │ ResidentialAreaBoundaryFunc.py 方法库 │ ├─Auxiliary │ crawelFunc.p...

fulin9452的博客 6400

体系结构网络协议----(一)网络分层架构

协议指的是双方都能理解的规则。类似玩游戏时候的游戏规则,只有大家都遵守游戏规则才能继续下去,同理有协议相同双方才能通讯。网络协议是在网络中的数据交换而建立的规则的集合称为网络协议。比如HTTP、DDS、FTP、DB、JMS 等等都属于网络协议。可以理解位足球、篮球、棒球都是球类游戏。 网络协议有三部分组成,语法,语义,定时。 语法:传输过程的结构和格式,类似于中文、英文,他们的结构不同,但是可以表示相同的意思。 语义:数据内容的含义,就是指传输的具体内容。 定时:规定...

qq_33784417的博客 4144

第11.4节 混合储能系统能量管理

混合储能系统(HESS)的能量管理策略采用分层架构实现多时间尺度优化:调度层(小时级)进行经济优化,协调层(秒级)基于频率分解分配功率,执行层(毫秒级)实现快速跟踪。深度强化学习(DRL)方法通过定义状态空间、动作空间和多目标奖励函数,能有效处理系统不确定性和多目标优化问题。HESS性能评估需综合技术指标(如调节性能Kp值、设备寿命指标)和经济指标(净现值NPV、平准化储能成本LCOS),并遵循"建模-仿真-实验"的闭环流程。

技术工作者 244

使用lightGBM进行数据建模及预测

在机器学习领域中,数据建模和预测一直是非常重要的任务。而lightGBM作为一种基于梯度提升算法的高效机器学习框架,被广泛应用于数据建模和预测中。本文将介绍如何使用lightGBM进行数据建模和预测。到此,我们已经成功使用lightGBM对数据进行了建模和预测。使用lightGBM可以快速、高效地完成数据建模和预测任务,是机器学习领域中不可或缺的工具之一。使用lightGBM进行数据建模及预测。

qq_37934722的博客 1016

网络架构及协议是计算机网络中至关重要的组成部分,它们定义了数据在网络中的传输方式和规则

网络架构及协议是计算机网络中至关重要的组成部分,它们定义了数据在网络中的传输方式和规则。**对等网络架构**:在这种架构中,所有节点都是平等的,每个节点既可以作为客户端也可以作为服务器。这种架构常用于文件共享和即时通讯应用。

[Blog][Domain] programb.blog.youkuaiyun.com 1522

使用R语言整理GEO数据的简易教程

本教程介绍了使用R语言从GEO数据库下载数据并进行数据整理的基本步骤。根据实际研究问题,你可能需要进行更复杂的数据处理和分析。R语言作为一种强大的生物信息学工具,为GEO数据的整理、分析和可视化提供了丰富的功能和工具。希望这个教程能够帮助你入门GEO数据整理和R语言的应用。如果你在使用过程中遇到问题,或需要进一步的指导,请随时向我询问。祝你在GEO数据分析的旅程中取得成功!

Mrrunsen的博客 3740

计算机网络基础——CS架构与BS架构、OSI七层协议、tcp/ip五层模型讲解

CS架构与BS架构 CS架构: Client客户端<=========>Server服务端 客户端软件通过发出请求send,将请求通过客户端的操作系统,计算机硬件发送给服务端的计算机硬件,操作系统,最后服务端软件接收请求recv BS架构: Browser浏览器<=========>Server服务端 OSI七层协议 互联网协议按照功能不同分为osi七层或tcp/ip五层或tcp/ip四层 协议:规定数据的组织形式 格式:头部+数据部分 OSI七层协议数据传输的封包与解包过程:

xiaotangyu7dong的博客 3529

YOLOv8-pose姿态估计模型从训练到RK3588部署:让边缘端骨骼识别速度突破60FPS

本教程从“模型训练-转换-边缘部署”全链路拆解了YOLOv8-pose姿态估计方案在RK3588上的落地过程,每一步都经过实战验证。无论是智能健身的动作实时纠正,还是工业设备的关键部件姿态检测,这套流程都能让你以最低成本实现高精度、高实时性的姿态估计应用。如果你在实践中遇到模型转换报错、部署性能不达标等问题,可聚焦某一环节深入优化——毕竟,让AI在边缘端“精准捕捉每一个关键点”,才是技术驱动场景创新的核心。

know_F0727的博客 189

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

计算机网络---网络架构与协议

    从古代的驿站、八百里快马,到近代的电报、电话,人类对于通信的追求从未间断,信息的处理与通信技术的革新一直伴随社会的发展。而作为 20 世纪人类最伟大、最卓越的发明——个人计算机的出现与发展,使得人们获得了以前无法想象的信息处理能力,为了将这些强大的信息处理设备连接起来,避免出现信息孤岛现象,就催生了“计算机网络”,这一新时代的通信技术。计算机网络使得其功能得到了大大的加强,范围得到了很大的...

hu19930613的博客 6210

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

计算机网络全维度解析:架构协议、关键设备、安全机制与新兴技术深度融合

本文深入剖析计算机网络核心内容,涵盖网络架构分类、协议体系机制、关键设备功能、安全机制及新兴技术。从分层设计到协议特性,从设备原理到安全策略,再到 5G、量子通信等前沿技术,为读者提供全面且实用的知识体系,助力高效理解与应用。

大模型全栈工程师 · Thanks_ks 1632

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

计算机网络的本质是“不同设备通过规则(协议)实现数据互通”,而**分层架构**是理解所有原理的基础

当你用浏览器访问`www.baidu.com`时: 1. **应用层**:浏览器调用HTTP协议,发起网页请求;DNS协议将`www.baidu.com`解析为IP地址(如180.101.49.12)。 2. **传输层**:HTTP请求被封装为TCP段(因网页需要可靠传输),通过三次握手与百度服务器建立TCP连接。 3. **网络层**:TCP段被封装为IP包,添加源IP(你的PC IP,如192.168.1.100)和目的IP(180.101.49.12),路由器通过OSPF协议找到通往百度服务器的路由

[Blog][Domain] programb.blog.youkuaiyun.com 1609

架构师之路(十五)计算机网络(网络层协议)

​ 地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址

KK6521的专栏 1254

计算机网络体系架构认知--网络协议栈

计算机网络

小青菜的博客 2512

现代计算机网络架构深化研究报告:从物理边缘到核心协议的演进与机制

网络核心是数据传输的高速公路。讲义对比了电路交换与分组交换,并提及了现代网络的演进。讲义末尾简要提及了SDN。这是网络架构的一次范式转移。在传统网络(如OSI模型时代)中,每个路由器既是大脑(决定路径的控制平面)也是肢体(转发数据的数据平面)。这导致网络僵化,难以升级。的核心思想是将“大脑”剥离出来,集中到一个中央控制器(Controller)中,而路由器蜕变为单纯的转发设备。这是控制器与转发器之间的标准语言。

weixin_62533513的博客 1012

【计算机网络学习笔记04】网络体系架构与网络协议

【计算机网络学习笔记04】网络体系架构与网络协议 一、网络协议的概念和要素 网络协议是计算机网络相互通信的对等层实体之间,用来交换信息时必须遵守的规则或约定的集合。这些为网络数据交换而制定的通信规则、约定与标准被统称为网络协议,简称协议。 网络协议主要由三个基本要素组成,分别是语法、语义和时序。 语法:用于定义数据和控制信息的结构或格式。 语义:用于解释数据或控制信息的具体含义。 时序(同步):用于对事件实现顺序的详细说明。 二、计算机网络体系结构 计算机网络各层、层中协议以及层间接口的集合(即网络层次

正月十六工作室 1万+

[架构之路-41]:目标系统 - 系统软件 - Linux下的网络通信-1-计算机网络拓扑架构、ISO协议栈、以太网协议栈与工作原理

网络的本质是把多个计算机的资源整合起来,组织一个更大的计算机资源。本文就是探讨,计算机网络的基本架构以及以太网。计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来。在网络操作系统或网络管理软件或网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特定目的(例如,传送数据或视频信号)。这些可编程的硬件用于传送多种不同类型的数据,并能支持广泛的和日益增长的应用。

文火冰糖(王文兵)的博客 1365

碰撞检测与动力学求解的深层分工

对比项碰撞检测动力学求解目的建立接触事实计算运动响应主要关注几何、位姿、空间关系质量、惯性、速度、力与约束典型输出接触点、法线、分离距离冲量、修正后的速度与运动状态是否负责摩擦响应提供相关接触信息计算摩擦约束响应是否负责维持关节否是是否直接决定反弹否是一句话记忆:碰撞检测提供“接触事实”,约束准备建立“运动规则”,动力学求解计算“响应大小”,积分产生“下一时刻的状态”。

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 1765

架构师之路(十)计算机网络(网络协议划分)

因为OSI/RM(1977-1983-1991)的专家缺乏经验、拖延、低效、滞后、复杂、长周期,让厂家制定的TCP/IP(1983)成为了事实标准,因此主要围绕TCP/IP进行学习。

KK6521的专栏 554
上一篇: B树与B+树的区别,为什么MySQL使用B+树不使用B树
下一篇: 什么是http协议
sevevty-seven
博客等级 码龄2年 757粉丝 75原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值