TCP/IP 协议簇下的各报文结构总结
一、TCP/IP?协议簇层次结构:

二、具体的协议有:

说明:
1.?ARP和RARP?用于物理地址和网络地址间的转换,应属于物理链路层。但由于ARP和RARP在以太网帧中都有各自的帧类型,所以画在以太网驱动程序和IP之间。
2.?ICMP和IGMP?通常用于查询网络管理,也就是被认为是IP层的组成部分。但它们都是被封装在IP报文中传输,在IP的协议类型字段有自己的字段,所以画在IP和传输层间。
3.?服务层的括号内的是端口号,其他层括号内的是协议字段类型
三、各报文结构
(一)以太网
CSMA/CD网络802.3,令牌总线802.4和令牌环总线802.5是802委员会公布的标准集,其中802.2定义了上面三者的共同特性。目前基本上都在用以太网,采用CSMA/CD接入.?但802.3和802.2(RFC1042)定义了与以太网(RFC894)两种不同的帧结构。这里只画以太网的帧封装格式:

说明:?数据部分至少46字节,不够的话需要插入填充字节
(二)ARP、RARP

说明:
1.ARP帧类型为0x0806,RARP为0x0835。
2.硬件类型为1,表示以太网地址(MAC),协议类型为0x0800表明协议的地址类型为IP类型。
3.当硬件类型为1,协议类型为0x0800时,硬件地址和协议地址长度分别为6,4字节,即48,32位。
4.操作类型可以为ARP请求(1)、ARP应答(2)、RARP请求(3)、RARP应答(4)。
5.注意后四个与前两个有重复数据。
(三)ICMP

说明:
1.不同的类型和不同的代码结合而成解释不同的报文。
2.第二个4字节不同的报文有不同的内容。如Ping程序为标识符和序列号。
(四)IGMP

说明:
1.IGMP是Internet?组管理协议
2.32位的组地址用于标识不同组
(五)IP

说明:
1.?版本包括说明IPv4和IPv6
2.?服务类型:如说明最小时耗、最大吞吐量、最大可靠性和最小费用
3.?总长度最大为65535,但MTU和主机要求等特性会限制到。总长度包括头部和数据
4.?标识号标识主机发送的每一份数据包
5.?标志位有三位,包括是否分片等(第一位未用,第二位为不分片标识,第三位标识是否还有后续分片)。片偏移用于计算分片的数据位置。
6.?TTL说明数据报最多可经过多少路由器
7.?协议用于说明被封装在IP的协议类型
(六)TCP

说明:
1.?序号和确认序号用于提供确认和重传
2.?因为有可选选项,所以有首部长度
3.?URG?标识紧急指针,ACK?标识确认,PSH?标识需要马上将数据包传给上一层,RST标识重置,FIN?标识挥手时的结束。
4.?窗口大小是用于流控制(滑动窗口机制)
5.?紧急指针指向紧急数据的位置
(七)UDP

说明:
1.?数据包长度包括头部和数据部分。
2.?校验和和IP、TCP、IP、ICMP、IGMP的一样,但都不是CRC(以太网帧是CRC)
四、总结
这些报文在TCP/IP?详解中都有,记录一下只为记忆深刻点。