美文网首页程序员
OSI七层模型的学习-网络层和传输层

OSI七层模型的学习-网络层和传输层

作者: 流年排队 | 来源:发表于2019-03-21 22:53 被阅读0次

    先回顾一下OSI七层模型示意图:

    OSI七层模型示意图

    .网络层

    网络层(Network Layer),也叫IP层,是处理网络位置标记的地方,也是处理PDU协议数据单元,或者也可以叫作数据包)从发送方发往接收方所蕴含的复杂性的地方。

    网络层处理网络上与每个机器相关的逻辑寻址问题,逻辑寻址允许域名系统DNS,Domain Name System),将分配给机器的、人们可阅读的名称与唯一的、机器可阅读的数字地址关联起来,也就是IP地址

    当数据流的源地址和目标地址不在网络上的同一个物理段时,网络层也使用寻址信息来确定如何把PDU从发送方传递到接收方,即我们日常所使用的路由器所具备的路由功能。

    网络层的主要功能是对Internet上的每一台主机提供一个全球唯一的地址,并提供主机之间的通信路径

    网络层能够识别一个网络连接属于计算机上的哪一个进程或应用程序,并且不仅可以把数据流从发送方正确的传递到接收方,而且也能够把入站数据传递给接收方计算机上的特定进程或应用程序。

    网络层具体化了不同IP地址之间多个并发连接的表示方法,意味着多个应用程序能够同时保持网络连接,这就是为什么我们能够一边听着音乐一边在头条上浏览文章。网络层是非常灵活的,可以识别和使用位于发送方和接收方之间的多个路由,同时保持正在进行中的通信不中断。

    Windows系统环境下route print命令显示

    使用一个或多个路由,把单个PDU从发送方转发或中继给接收方的技术称为分组交换packet switching),网络层是以每个PDU为基础进行转发中继的。因此,网络层对于与路由相关的延迟非常敏感。

    在网络层有个很重要的概念,叫作阻塞控制congestion control),在网络层上,从发送方往接收方转发数据的同时,能够管理通过这些路由的数据流,这个过程就是阻塞控制,当网络发生大量活动时可以避免过载

    .传输层

    传输层Transport Layer),这一层的任务就是确保从发送方到接收方的PDU的可靠的端到端的传输。为了实现可靠,传输层通常包含了端到端的错误检测和错误恢复数据。

    错误恢复数据,这些数据通常作为传输层PDU尾部的一部分进行打包,在数据传递之前和之后计算一个称为校验和checksum)的特殊值,之后进行对比,确定是否进行了无错误的传输。如果发送的校验和和本地计算的一致,那么可以认定为成功传输;否则,当检测到错误时,传输层的相关协议就会请求PDU的重新传输。

    对于传输层而言,从发送方到接收方可以发送的数据量在长度上不受限制,但是,从端到端能够传输这些数据的容器具有固定的最大长度,称之为最大传输单元(Maximum Transmission Unit,MTU),因此传输层必须处理分段重组操作。

    分段segmentation),就是把很长的消息切分为一连串的数据块,称为数据段,其中每一个数据块都表示为在发送方与接收方之间网络介质能够传送的最大数据载荷。因此,传输层使用的PDU称为分段,或者是数据分段data segment)。

    重组reassembly),将发送的数据块按照其原始顺序重新组织在一起,把传输的信息构成分段前的样子。

    IP数据报文的TCP和UDP格式

    一般而言,分段发生在发送方,它将TCP的数据载荷拆分为一连串固定长度的TCP数据包载荷,也就是数据段,到了接收方,TCP再将这些数据段合到一块,即为重组

    在特殊情况下,当已经分段的数据包能够被转发到路由路径中下一个主机时,而接收这些数据包的主机所连接的是具有较小MTU的链路,也就是说,发送方生成的TCP数据段要在其MTU小于该数据段的链路上传输。这个时候将进行分片fragmentation),分片发生在IP层,并得到一个特殊的IP首部标志,当这些分片数据包到达接收主机后,分片数据包会被重组,依据入站数据包的结构要求,在接收主机上处理分片以及原始分段数据的重组。

    传输层具有在重组过程中请求重传所有出错PDU丢失PDU的功能,确保了数据从发送方到接收方的可靠传递。

    相关文章

      网友评论

        本文标题:OSI七层模型的学习-网络层和传输层

        本文链接:https://www.haomeiwen.com/subject/rczhvqtx.html