TCP/IP四层模型中协议的格式

来源:互联网 发布:mac 访问共享文件夹 编辑:程序博客网 时间:2024/05/18 01:28

1、以太网帧格式
这里写图片描述
2.2、ARP数据报格式
这里写图片描述
3、IPV4数据报格式如下:
这里写图片描述
IP数据包的首部长度和数据长度都是可变的,但总是4的整数倍。
4位版本:IPV4的版本号是4。
4位首部长度:它里面的数值是以4字节为单位的,最小值是5,最大是15。即,首部长度最小是20字节(不带任何选项),最大是60字节。
8位服务类型(TOS):这个字段有3个位来表示IP数据包的优先级(目前已经废弃不用),还有4个位表示可选服务类型(最小延迟、最大吞吐量、最大可靠性、最小成本),还有一个位总是0。
16位总长度(字节数):表示整个IP数据报的长度,包括IP首部。因此用它减去IP首部就得到了有效载荷的长度。
16位标识:,每传一个IP数据报,16位标识加1,用于分片和重新组装数据报。
3位标志:占3位,但目前只有两位有意义。MF=1表示后面还有分片,MF=0表示这已经是最后一片了。
DF=1表示不允许分片,DF=0表示允许分片。
13位片偏移:在分后,某片在原分组中的相对位置。
8位生存时间(TTL):TTL是跳数限制,数据报每经过一个路由,TTL值就减一,等到TTL值减到0的时候,数据包就被当前路由丢弃。这时为了防止游离数据报堵塞网络。
8位协议:指上层协议是TCP、UDP、ICMP还是IGMP。它是为了实现分用,即IP协议应当将有效载荷交给上层哪个协议。
16位首部检验和:只校验IP首部,不包括数据部分。
32位源IP地址
32位目的IP地址
4、UDP数据段格式
这里写图片描述
16位源端口号:在需要对方回信时选用,不需要时可设置为0。
16位目的端口号:这在终点交付报文时必须使用到。
16位UDP长度:UDP数据报长度,最小值是8,仅有首部。
16位UDP检验和:检测UDP用户数据报在传输中是否有错,有错就丢弃。
UDP是面向数据块的。
5、TCP数据段格式
这里写图片描述
和UDP协议一样也有源端口号和目的端口号,通讯双方有IP地址和端口号标识。
32位序号:
32位确认序号:
4位首部长度:表示TCP协议头的长度,以4字节为单位,因此TCP协议头最长可以是60个字节,如果没有选项字段,TCP协议头最短20个字节。
UGR(紧急):UGR=1表示紧急指针字段有效。它告诉系统此报文段有紧急数据,应当尽快传送。
ACK(确认):ACK=1时,确认号字段才有效。
PSH(推送):让对方立即收到响应。
RST(复位):RST=1时,表明TCP链接中出现严重差错,必须释放链接,然后再重新链接。
SYN(同步):在链接建立时用来同步序号。当SYN=1,ACK=0时表示请求报文。SYN=1,ACK=1表示链接接受。因此SYN=1表示一个链接请求或链接接受报文。
FIN(终止):用来释放一个链接。
16位窗口大小:窗口指的是发送本报文段一方的接受窗口。窗口值是指从确认号算起,允许对方发送的数据量。也就是谁发的报文段,就是谁的接受窗口大小。