TCP/IP报文头部结构整理

IP协议是TCP/IP协议族的动力,它为上层协议提供无状态、无连接、不可靠的服务。
优点:简单,高效。
无状态指:IP通信双方不同步传输数据的状态信息,所有的IP数据报的传输都是独立的。所以容易发生重复和乱序的情况并且IP层不予处理。
然后将这些乱序的交给上层传输层(TCP/UDP等)来处理,将其处理成有序的,正确的。再交给应用层。
不可靠指:IP协议不能保证IP数据报准确到达。所以它提供ICMP报文来辅助,一旦检测到IP数据报发送失败,通知上层协议。

IP头部信息:
头部长度:通常20字节,有选项时更长,总共不超过60字节。
IP数据报长度:65535字节。

这里写图片描述

逐个分析:
  • 4位版本号:IP协议(IPv4)版本号位4
  • 4位头部长度:标识头部有多少个4字节,即最大共15*4个字节
  • 8位服务类型:包含一个4位优先权字段:最小延时,最大吞吐量,最高可靠性和最小费用。
  • 16位总长度:表示整个IP数据报的长度,最大表示65535,但由于MTU限制,一般无法到达这个值。
  • 16位标识:唯一的标识数据报。系统采用加1的式边发送边赋值。
  • 3位标识(保留,DF禁止分片,MF更多分片):所以这个标志是为分片存在,DF设置时禁止分片所以如果数据报太大则发送失败。MF设置时,如果产生分片,除了最后一个分片,其他此片置1。
  • 13位分片偏移:分片相对原始IP数据报开始处的偏移。
  • 8位生存时间(TTL):数据报到达目的地之前允许经过的路由跳跳数。跳一下减1,得0丢弃。
  • 8位协议:用来区分上层协议(ICMP为1,TCP为6,UDP为17)。
  • 16位头部校验和:仅以CRC算法检验数据报头部在传输过程中是否损坏。
  • 32位源端口IP地址和目的端口地址很明白。
  • 选项(可变长):记录路由,告诉途径得所有路由把IP填进来。 时间戳,告诉每个路由器都将数据报被转发的时间传进来。松散路由选择,指定一个路由器IP地址列表,必须按这个表发送,严格路由选择,数据报经过路由表。
说一下中间的分片部分:图中报文的第二层三个部分给IP的分片和重组提供了足够的信息:
  • 数据报标识:系统用+1法为每个数据报唯一标识此位,如果数据13被分片,所有分的小片中此位都是13。
  • 标志:共三位。第一位保留,第二位DF为禁止分片,第三位MF为更多分片,当产生分N片时,将1到N-1片此位置位。
  • 片偏移:表示当前数据报在完整数据报中的偏移,这里一个单位是8字节,比如片偏移为185,则代表该片在完整数据报的偏移是185*8=1480字节。

TCP/IP协议族中另一个重要协议:TCP协议,在传输层。
特点:可靠性。通过连接管理(三握四挥),序列号,确认号,拥塞控制,重传控制来保证可靠性。
头部长度:一般为20字节,选项最多40字节,限制60字节。

这里写图片描述

逐个分析:
  • 16位源端口号和16位目的端口号。
  • 32位序号:一次TCP通信过程中某一个传输方向上的字节流的每个字节的编号,通过这个来确认发送的数据有序,比如现在序列号为1000,发送了1000,下一个序列号就是2000。
  • 32位确认号:用来响应TCP报文段,给收到的TCP报文段的序号加1,三握时还要携带自己的序号。
  • 4位头部长度:标识该TCP头部有多少个4字节,共表示最长15*4=60字节。同IP头部。
  • 6位保留。6位标志。URG(紧急指针是否有效)ACK(表示确认号是否有效)PSH(提示接收端应用程序应该立即从TCP接收缓冲区读走数据)RST(表示要求对方重新建立连接)SYN(表示请求建立一个连接)FIN(表示通知对方本端要关闭连接)
  • 16位窗口大小:TCP流量控制的一个手段,用来告诉对端TCP缓冲区还能容纳多少字节。
  • 16位校验和:由发送端填充,接收端对报文段执行CRC算法以检验TCP报文段在传输中是否损坏。
  • 16位紧急指针:一个正的偏移量,它和序号段的值相加表示最后一个紧急数据的下一字节的序号。
阅读终点,创作起航,您可以撰写心得或摘录文章要点写篇博文。去创作
  • 9
    点赞
  • 76
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
TCP/IP协议是一组用于互联网通信的网络协议,其中TCP(传输控制协议)是一种可靠的连接协议,而IP(互联网协议)是一种网络层协议。TCP/IP报文格式是TCPIP协议在通信过程中使用的数据格式。 TCP报文格式如下: - 源端口和目标端口:用于标识源主机和目标主机上的应用程序。 - 序列号和确认号:用于保证数据的可靠传输和重组。 - 数据偏移、保留位、控制位:用于定义TCP报文的各种控制信息,如连接建立、连接终止等。 - 窗口大小:用于流量控制和拥塞控制。 - 校验和:用于检测报文是否被篡改。 - 紧急指针:用于标识报文中的紧急数据。 - 选项字段:可选的字段,用于扩展TCP功能。 IP报文格式如下: - 版本:指定IP协议的版本号,如IPv4或IPv6。 - 头部长度:指定IP报文头部的长度。 - 服务类型:用于指定报文的服务类型,如优先级、延迟等。 - 总长度:指定整个IP报文的长度。 - 标识、标志位和片偏移:用于分片和重组IP报文。 - 生存时间(TTL):用于限制报文在网络中的存活时间。 - 协议:指定上层协议类型,如TCP、UDP等。 - 校验和:用于检测报文是否被篡改。 - 源IP地址和目标IP地址:指定报文的源主机和目标主机的IP地址。 - 选项字段:可选的字段,用于扩展IP功能。 以上是简要的TCP/IP报文格式,实际上还有更多字段和选项,这些报文格式规定了数据在TCP/IP网络中的传输方式和控制信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ythunder

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值