理解TCP/IP协议分层(二)

1. TCP/IP协议族和协议

  前面有提到标准OSI参考模型,本文简单说明TCP/IP协议族的体系结构和特定协议。ARPANET参考模型是最终形成的Internet协议分层的基础。

1.1 ARPANET参考模型

  如下图所示:

理解TCP/IP协议分层(二)

上图描述了源于ARPANET参考模型的分层,其最终被TCP/IP协议族采纳,它的结构比OSI模型更简单。

2.5层是一个”非正式“的层。ARP(地址解析协议)在这层,该协议是IPv4的专用协议,完成IP层使用的地址和链路层使用的地址之间的转换。

3层是可以看到IP,它是TCP/IP中最重要的网络层协议。IP发送给链路层协议的PDU称为IP数据报,最大64KB(IPv6将它扩大到4GB)。

Internet控制消息协议(ICMP)是IP的一个辅助协议,为3.5层协议。IP层使用它与其他主机或路由器的IP层之间交换差错消息和其他重要信息。

4层中常见协议是TCP和UDP,不过这两种区别很大。其中TCP会处理数据包丢失、重复和重新排序等IP层不处理的问题。

1.2 TCP/IP中的复用、分解和封装

  前文简单提到了协议复用、分解和封装的基础内容。每层都会有一个标识符,允许接收方决定哪些协议或数据流可复用在一起。每层通常也有地址信息,

它用于保证一个PDU被交付到正确的地方。下图模拟了如何在一台Internet主机上进行分解。

理解TCP/IP协议分层(二)

  TCP/IP协议栈将地址信息和协议分解标识符组合,以决定一个数据报是否被正确介收,以及哪个实体将会处理该数据。有几层

还会检测数值(例如校验和),以保证内容在传输中没有损坏。

  下面使用以太网作为例子简单说明如何分解和复用。

  以太网帧包含一个48位的目的地址(又称为链路层或介质访问控制(MAC)地址)和一个16位的以太网类型字段。0x0806和0x86DD

分别表示ARP和IPv6。假设目的地址与接收方的一个地址匹配,这个帧将被接收并校验差错,以太网类型字段用于选择处理它的网络层协议。

  如果接收到的帧包含一个IP数据报,以太网头部和尾部信息将被清除,并将剩余字节(包含帧的有效载荷)交给IP来处理。IP检测一系列

的字段,包括数据报中的目的IP地址。如果目的地址与自己的一个IP地址匹配,并且数据报头部(IP不检测有效载荷)没有错误,则检测8位

的IPv4协议字段(IPv6中称为下一个头部字段),以决定接下来调用哪个协议来处理。常见的值包括1(ICMP)、2(IGMP)、4(IPv4)、

6(TCP)和17(UDP)。

  如果网络层(IPv4或IPv6)认为传入的数据报有效,并且已确定正确的传输层协议,则将数据报(必要时由分片重组而成)交给传输层处理。

在传输层中,大部分协议(包括TCP和UDP)通过端口号将复用费解到适当的应用。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzywfy.html