美文网首页
TCP/IP协议簇各层数据格式

TCP/IP协议簇各层数据格式

作者: Cubery | 来源:发表于2019-12-06 00:10 被阅读0次

数据链路层帧格式

以太网帧体格式.png

 其中类型字段标识承载的上层协议类型,常用的有IP、ARP/RARP。


以太网帧上层协议类型.png

 以太网帧最小长度为64字节,最长为1518字节。

网络层报文格式

IPv4

ipv4.png

 IPv4首部长度最小为20字节,必须为4字节的整数倍。
 IHL字段的单位为4字节,因此IHL字段的最小值为5;IHL字段为4bit,因此IPv4首部的最大长度为60字节。
 ToS字段用来表明优先级、延迟、吞吐、可靠性、代价、安全等服务质量。
 TL字段占16bit,因此IP报文最大长度为65535字节(1. 最小长度为20字节;2.目前不存在能够传输这么大的IP报文的数据链路,不过通常IP报文会做分片处理)。
 Identification字段是属于同一的IP报文的分片的共同标识,用于分片重组。
 Flags字段是记录分段的相关信息,第0位为保留位(值为0),第1位表示是否不能进行分片,第2位表示是否还有更多的分片。
 Fragment Offset字段是片偏移,表示分片的首字节在原IP报文数据中的偏移,单位为8字节。
 TTL字段表示生存时间,最多多少跳。
 Protocol上层协议类型。


ipv4协议类型字段.png

IPv6

ipv6.png

ARP

arp.png

 固定28字节。

传输层协议格式

TCP

tcp.png

 源端口号和目的端口号各占2字节。
 seq字段表示数据部分第一个字节的序号。
 ack字段表示期望收到对方发来的下一个报文段数据部分第一个字节的序号。ack字段之前的所有字节必须是已经全部接收到了的。
 表示报文段数据部分距报文段首字节的偏移,实质上表明了TCP首部长度,单位为4字节,因此TCP首部最大长度为60字节(最小为20字节)。
 保留位占6bit,目前全填0。
 控制位占6bit。

bit 名称 作用 备注
0 URG 标识紧急指针是否有效 它告诉系统此报文段中有紧急数据,应尽快发送(相当于高优先级的数据),而不要按原来的排队顺序来传送
1 ACK 标识ack字段是否有效 TCP规定,在连接建立后所有的传送的报文段都必须把ACK置为1
2 PSH 推送 发送方TCP把PSH置为1,并立即创建一个报文段发送出去。接收方TCP收到PSH=1的报文段,就尽快地(即“推送”向前)交付接收应用进程
3 RST 复位 当RST=1时,表名TCP连接中出现了严重错误(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立传输连接。RST置为1还用来拒绝一个非法的报文段或拒绝打开一个连接。
4 SYN 在连接建立时用来同步序号 SYN置为1就表示这是一个连接请求或连接接受报文
5 FIN 用来释放一个连接 当FIN=1时,表明此报文段的发送发的数据已发送完毕,并要求释放运输连接

 Window Size告诉对方,从本TCP报文的ack算起,自己还可以接收多少数据。
 Urgent Pointer指向紧急数据最后一个字节的下一个字节。可以用来计算紧急数据在所有传输数据中的位置,一旦 TCP 知道了你要发送紧急数据,那么在接下来的数据发送中,TCP 会将所有的 TCP 报文段中的 URG 标志置位,哪怕该报文段中不包含紧急数据,这个行为会持续到紧急数据被发送出去为止。及时窗口大小为0,也可以发送。

UDP

udp.png

相关文章

  • TCP/IP协议簇各层数据格式

    数据链路层帧格式  其中类型字段标识承载的上层协议类型,常用的有IP、ARP/RARP。  以太网帧最小长度为64...

  • TCP 和 UDP 的区别

    写在开头: TCP UDP 都属于 TCP/IP 协议簇 , TCP/IP 协议包括了TCP,UDP,IP,FTP...

  • 图解HTTP解析1(TCP/IP协议簇)

    1.什么是TCP/IP? TCP/IP协议簇是互联网相关协议簇的统称,互联网是再TCP/IP协议簇上运作的,HTT...

  • 详解TCP与UDP协议

    TCP/IP协议 首先弄清楚,TCP协议和UCP协议与TCP/IP协议的联系。 TCP/IP协议是一个协议簇。里面...

  • TCP/IP、TCP、UDP

    一、TCP/IP协议 TCP/IP协议是一个协议簇。其中包括UDP、TCP、IP等协议。之所以命名为TCP/IP协...

  • OSI模型和TCP/IP分层协议

    1.OSI模型与TCP/IP分层协议 OSI参考模型 TCP/IP 分层 数据格式协议 应用层 ...

  • 《图解http阅读笔记一》

    摘要: 关于TCP/IP协议的大致划分 协议族的分层管理 各层在一个网络请求当中充当的作用 TCP/IP协议族: ...

  • TCP/IP传输协议

    TCP/IP传输协议 TCP/IP是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议不仅仅指的是TCP...

  • 2017-12-25

    什么是TCP/IP? 我们常说的TCP/IP协议并不是单指TCP协议和IP协议,而是指一组协议簇,其中包含了但不仅...

  • 网络编程 - TCP/IP协议

    之前简单的通过TCP/IP模型介绍了网络编程,这篇主要介绍TCP/IP协议。TCP/IP协议其实是一个协议簇,其中...

网友评论

      本文标题:TCP/IP协议簇各层数据格式

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