上海做网站报价,建材 网站 案例,网页毕业设计作品,济南企业网站制作目录
一、OSI参考模型
1.1 学习路线
1.2 OSI参考模型和TCP/IP模型
1.3 具体设备与具体层次对应关系
1.3.1 物理层
1.3.2 数据链路层
1.3.3 网络层
1.3.4 传输层
1.3.5 会话层、表示层、应用层
1.4 各层次数据传输单位 二、TCP/IP模型
2.1 学习路线
2.2 TCP/I…目录
一、OSI参考模型
1.1 学习路线
1.2 OSI参考模型和TCP/IP模型
1.3 具体设备与具体层次对应关系
1.3.1 物理层
1.3.2 数据链路层
1.3.3 网络层
1.3.4 传输层
1.3.5 会话层、表示层、应用层
1.4 各层次数据传输单位 二、TCP/IP模型
2.1 学习路线
2.2 TCP/IP模型
2.3 OSI模型的应用层、表示层、会话层应如何改进
2.3.1 TCP/IP的应用层
2.4 OSI模型的物理层、数据链路层如何改进
2.4.1 TCP/IP模型的网络接口层
2.5 改进小结
2.6 TCP/IP模型的传输层和网络层
2.6.1 OSI模型传输层和网络层设计思想
2.6.2 TCP/IP模型传输层和网络层的设计思想
2.6.2.1 TCP/IP网络层
2.6.2.2 TCP/IP传输层
2.7 总结 一、OSI参考模型
1.1 学习路线 1.2 OSI参考模型和TCP/IP模型 OSI参考模型与TCP/IP模型如下图所示
1.3 具体设备与具体层次对应关系 接下来我们需要了解常见的网络设备分别对应了哪些网络层次如下图所示 主机实现了七层所有的功能集线器实现物理层所要实现的功能交换机要实现物理层和数据链路层所要实现的功能路由器实现了物理层、数据链路层、网络层的功能。 各个节点之间通过物理传输媒体网线、光纤等相连接我们将物理传输媒体视为第0层。 接下来我们需要研究OSI参考模型中每一层的具体作用。
1.3.1 物理层 物理层任务实现相邻节点之间比特0或1的传输
需定义电路接口参数如:形状、尺寸、引脚数等)需定义传输信号的含义、电气特征如:5V表示11V表示0;每比特电信号持续时间0.1ms) 我们知道两个节点之间需要通过物理传输媒体网线、光纤等进行连接节点与节点连接好之后它们之间要传输数据首先要解决的第一个问题就是如何实现两个节点的bit传输 那么为了实现bit传输物理层需要定义电路接口的参数比如说 网线的接口长什么样子、什么形状、里面有几个针脚这些接口的参数需要由物理层进行定义。 还需要定义传输信号的含义、电气特征比如使用同轴电缆实现bit的传输那物理层的协议中可以规定即如果收到5v的高电平信号那么就表示的是二进制1如果收到的是1v低电平信号那么就表示二进制0。而在这个过程中我们有时会要求每比特电信号持续的时间比如说5v电信号持续0.1ms则说明传送的bit为11v电信号持续0.1ms则说明传送的bit为0如下图所示。 接下来思考这样一个问题传输的电信号有可能受到外界噪声的干扰最终导致电信号变形比如说一个高电平信号因为受到环境噪音的干扰可能变成低电平信号这样的话本来两个节点之间要传输二进制1但最终接收方会收到错误的二进制0。 因此以bit为单位的传输是有可能出错的并且接收方无法发现这种错误那怎么办呢此时我们需要引入数据链路层来解决这个问题。
1.3.2 数据链路层
链路层任务确保相邻节点之间的链路逻辑上无差错。 包含以下功能
差错控制检错纠错或检错丢弃重传流量控制协调两个节点的速率 链路层的实体之间以帧为单位进行数据传输一个帧通常会包含多个bit比如节点A要给节点B传送8bit的数据那么数据链路层会在原始的8bit之外额外的再增加部分bit比如说2bit作为校验信息数据链路层会将10bit统一地交给物理层进行传输那么节点B这块儿就会收到10bit数据然后将10bit数据交给数据链路层节点B的数据链路层实体会根据这82bit的信息进行数据的检错如果发现数据有什么问题那么数据链路层可以对这一帧的数据进行纠错当然也可以采用另一种更为简便的方法就是直接将这一帧数据丢弃然后让节点A重新传送这一帧数据。 那么如果没有检测到数据错误数据链路层会将多余的2bit拆掉然后将8bit数据交给网络层进行处理。 除了差错控制之外OSI参考模型还要求数据链路层具有流量控制的功能这个功能能够协调两个结点之间发送帧的速率。比如结点A一秒发送10个帧而结点B一秒最多只能处理5个帧那么节点B的数据链路层就会通过流量控制的协议去要求节点A发送的慢一些不要超过节点B处理的最大帧数。 现在有了第0、1、2层结点之间就可以无差错的传送数据了然而在计算机网络当中结点和结点之间可能并不会直接相连 大多数情况下我们需要经过多个路由器的转发才能从源节点把数据传送到目的节点为了实现数据的存储转发我们就需要再增加一层这层就是我们的网络层。请看1.3.3 小节。
1.3.3 网络层 网络层任务把“分组”从源结点转发到目的结点。 包含以下功能
路由选择构造并维护路由表决定分组到达目的节点的最佳路径分组转发将“分组”从合适的端口转发出去拥塞控制发现网络拥塞并采取措施缓解拥塞网际互联实现异构网络互联解释我们知道路由器可以将各个计算机网络相互连接起来但每个网络的内部构造都是相异的不一样的并且每个网络所采用的局域网技术各不相同有的采用以太网技术有的又采用令牌环网技术那无论这些网络的内部构造是怎么样的经过路由器网络层的处理就可以屏蔽网络内部的差异从而实现异构网络的互连其他功能差错控制、流量控制以分组为单位进行差错控制和流量控制、连接建立与释放确保分组有序、不重复到达、可靠传输管理接收方需返回分组确认消息 1.3.4 传输层 网络层实现了从主机到主机的这种数据分组的转发但是每台主机上面会运行很多进程数据从一个主机传给另一个主机之后我们还要区分数据来自哪个进程又想要发给哪个进程因此我们还需要在网络层之上添加一层这就是我们的传输层。 传输层的任务就是负责向两台主机中进程之间的通信提供通用的数据传输服务【实现端到端通信即实现进程到进程的通信端指的是端口】。应用进程利用该服务传送应用层报文。所谓“通用的”是指并不针对某个特定网络应用而是多种应用可以使用同一个传输层服务。由于一台主机可同时运行多个进程因此传输层有复用和分用的功能。复用就是多个应用层进程可同时使用下面传输层的服务分用和复用相反是传输层把收到的信息分别交付上面应用层中的相应进程。
传输层包含以下功能
复用和分用发送端几个高层实体复用一条低层的连接在接收端再进行分用。其他功能差错控制、流量控制以报文段为单位、连接建立与释放确保报文段有序、不重复到达、可靠传输管理接收方需返回报文段确认消息 传输层之间是以报文段为单位传输数据一个报文段可能会被拆分为多个分组 源节点的网络层会将这些分组发送给目的节点最后再由目的节点的网络层把这些分组拼凑成完整的报文段交付给目的节点的传输层。
1.3.5 会话层、表示层、应用层
会话层任务管理进程间会话 主要功能会话管理(采用检查点机制当通信失效时从检查点继续恢复通信)举例比如说主机A要通过微信给主机B发送一个1GB的视频那会话层会管理数据传输的过程假设当发送到500MB时网络中断那么会话层会记录检查点当两个进程恢复连接的时候文件会从这个检查点开始继续往后传。
表示层任务:解决不同主机上信息表示不一致的问题 主要功能:数据格式转换如编码转换、压缩/解压、加密/解密)举例两台主机的编码格式不一样主机A的编码格式是GBK而主机B的编码格式为UTF-8那这就会导致同一个汉字在主机A和主机B上的二进制不一致也就是信息表示的方式不一样。这就需要表示层来解决这个问题因此表示层最主要的功能就是数据格式转换。
应用层任务实现特定的网络应用 功能繁多根据应用需求设计
1.4 各层次数据传输单位 最顶层应用层是以报文为单位进行数据传输 比如两个应用程序传输一个文件一个文件就是一个报文。 表示层和会话层不会对报文进行拆分。 直到报文数据交给传输层之后传输层会将报文数据拆分成多个报文段以报文段为单位在传输层之间进行数据传输。 传输层会将报文段交给网络层进一步处理网络层会将报文段继续拆分成多个分组又名数据报然后以分组为单位在网络层进行传输。 而数据链路层会将各个分组交给数据链路层数据链路层会将各个分组继续拆分成多个数据帧然后在数据链路层之间以帧为单位在进行数据传输。 最后数据链路层会将帧交给物理层物理层之间是以bit为单位传输这些数据。 二、TCP/IP模型
2.1 学习路线 2.2 TCP/IP模型 2.3 OSI模型的应用层、表示层、会话层应如何改进 我们知道在计算机网络的分层结构当中上面的层会使用到下面的层提供的服务或者说会使用下一层已经实现的功能。那么在OSI参考模型中应用层会使用表示层已经实现的功能表示层也会使用会话层的功能。 我们思考这样一个问题会话层所实现的功能会话管理和表示层所实现的功能数据格式转换对于每一个应用程序来说都是必要的吗 显然不是。比如说主机A中的微信给主机B中的微信传送文件假设主机A和主机B的数据编码格式一致那数据格式转换的功能就没有必要存在了。 另一方面如果传文件的过程中网络出现了问题导致传文件中止当网络重新恢复的时候我们必须从断点处继续传吗不一定对吧。我们可以重新传整个文件呀那这样的话会话管理这个功能是不是也就没必要存在了。 那这样的话表示层和会话层这两层也没有必要一定存在所以这就是TCP/IP模型和OSI模型在设计上的第一个不同。详细请参考2.3.1小节。
2.3.1 TCP/IP的应用层 由于表示层和会话层所提供的这些功能并不是所有的应用程序都需要的所以表示层和会话层这两层不需要存在。 如果说某些应用程序确实需要数据格式转换、会话管理的功能那么我们可以让应用层的某些特定的协议去实现这些特殊的功能。 这就是TCP/IP模型在这块儿的设计理念相比之下OSI模型下一个应用程序不管你是否需要使用数据格式转换亦或者使用会话管理功能它一定会经过表示层和会话层的处理对于这两个层次的选择是不灵活的。
2.4 OSI模型的物理层、数据链路层如何改进 接下来我们回顾OSI参考模型的第一层物理层和第二层数据链路层。 在物理层中需要去定义电路接口的参数比如说网线的接口长什么样子、光纤的尺寸等数据链路层需要实现差错控制、流量控制的功能。也就是说在OSI模型中物理层、数据链路层要干什么、分别支持什么功能具有哪些特性都有很清晰明确的定义。那这就意味着一个网络硬件厂商在研发物理层和数据链路层的设备的时候必须要遵循OSI模型的规定从某种角度来讲OSI模型的第一层第二层规定太死反而会导致这些网络硬件厂商在设备研发的时候更不灵活。 TCP/IP模型认为网络硬件种类繁多不应该在物理层和数据链路层上有过多的限制。 TCP/IP模型认为在网络层之下的数据链路层以及物理层这些部分到底如何实现两个相邻的结点之间bit流传输不应该有太多的限制。
2.4.1 TCP/IP模型的网络接口层 TCP/IP模型在网络层之下只有一层网络接口层 网络接口层只负责实现相邻结点间的数据传输但具体怎么传输不作规定。 从垂直视角看网络接口层为网络层传输分组网络层会将分组传递给网络接口层网络接口层可以用灵活多样的方式传输这个分组那具体是怎么样传输的在这里不作特别的规定。这使得TCP/IP网络体系结构具有更强的灵活性、适应性。 2.5 改进小结 2.6 TCP/IP模型的传输层和网络层 接下来我们研究TCP/IP模型的传输层和网络层在此之前我们先回顾OSI模型的传输层和网络层。
2.6.1 OSI模型传输层和网络层设计思想 如下图所示这两层所实现的功能基本一致只不过网络层针对的是数据报而传输层针对的是报文段。 我们知道应用层针对的是报文报文经过表示层和会话层交给传输层传输层将报文拆分为报文段然后交给网络层网络层又将报文段拆分为数据报分组网络层将数据报交给数据链路层之后数据链路层又将数据报拆分为帧。也就是说越靠下的这些层次他传输的单位是越局部的越高上的层次传输的单位越全局。 显然有数据的局部正确不能推出数据的全局正确也就是说数据链路层他只能确保每个数据帧的传送是没有问题的但是他没办法确保每个数据报分组的传输也是没有问题的。 因此OSI模型认为在网络层这里又需要对数据分组进行差错控制、流量控制以此去保证数据报分组数据传输没有问题。 同样的道理网络层保证了数据报分组局部数据传输的正确性但无法保证报文段这个全局性数据传输是不出任何问题的因此OSI模型在传输层这块儿又会再次增加差错控制、流量控制等功能以确保报文段的传输是没有问题的。
以上便是OSI模型网络层和传输层的设计思想。
2.6.2 TCP/IP模型传输层和网络层的设计思想 那我们不妨换一个思路数据的全局正确能够推出数据的局部正确显然这个逻辑是可行的。也就是说传输层下面的这几个层次他可以不管数据传输到底有没有出现错误、可不可靠反正到最后会让接收方的传输层以报文段为单位去确保数据的传输是没有出错的、是有序的、是可靠的。
2.6.2.1 TCP/IP网络层 基于上面的思路TCP/IP中的网络层去除掉了差错控制、流量控制、连接管理、可靠传输管理就会使得网络层的数据传输变得不在可靠。比如说现在传输层把一个报文段交给网络层让网络层去传输网络层会将报文段拆分成几个分组并交给网络接口层网络接口层的数据传输是不可靠的也即是说中间结点路由器的网络层接收到的分组有可能不对但这都没有关系反正我中间结点接收到一个分组之后尽最大努力转交给下一个结点就可以了所以目的结点的网络层接收到的分组可能是有错误的那这些分组会被合并成报文段交给传输层。因此目的结点的传输层收到的报文段就有可能是有问题的。 2.6.2.2 TCP/IP传输层 在2.6.2.1小节中我们知道目的结点传输层接收到的报文段可能是有问题的那么接下来。目的结点的传输层就会对报文段进行差错控制、流量控制、连接建立与释放、可靠传输管理等操作。 TCP/IP模型他并不是完全不管数据传输的正确性和可靠性只不过这些任务都会由传输层来完成。 相比之下OSI模型的网络层也需要实现差错控制、流量控制等一系列功能。那这样就会导致网络计算机网络的核心部分路由器功能复杂负载高从而会导致造价会很高。 而TCP/IP模型网络层只负责转发等简单的功能则网络层相对比较简单。 TCP/IP模型传输层功能复用和分用、差错控制、流量控制、连接建立与释放、可靠传输管理。也就是说数据传输的正确、可靠由传输层负责压力给到网络边缘部分主机。这样就会使得网络的核心部分路由器传输分组的性能能够大幅度提升因为它不用去管差错控制、流量控制等一些乱七八糟的东西。
2.7 总结