TCP/IP协议中分包与重组原理介绍、分片偏移量的计算方法、IPv4报文格式

这篇具有很好参考价值的文章主要介绍了TCP/IP协议中分包与重组原理介绍、分片偏移量的计算方法、IPv4报文格式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、什么是IP分片

二,为什么要进行IP分片

三、IP分片原理及分析

标志字段的作用

 下面是标志位在IP首部中的格式以及各个标志的意义:

 TTL

 Protocol 协议号

分片包文示例:

分片偏移量计算方法:

 第一个分片:

 第二个分片:

 第三个分片:


一、什么是IP分片

IP分片是网络上传输IP报文的一种技术手段。IP协议在传输数据包时,将数据报文分为若千分片进行传输,并在目标系统中进行重组,这一过程称为分片(fragmentation).

ip分片偏移量计算,数据通信,网络,tcp/ip,udp,分片

二,为什么要进行IP分片

(1500) 6+6+2+4以太网技术支持帧大小最大为1518字节。通常以太网接口默认的链路MTU通常被设置1500字节。1500---》1482
每一种物理网络都会规定链路层数据帧的最大长度,称为蟭路层MTU(Maximum Transmission Unit) IP协议在传输数据包时,若IP数据报加上数据帧头部后长度大于链路MTU,则将数据报文分为若干分片进行传输,并在目标系统中进行重组。比如说,在以太网环境中可传输最大IP报文大小(MTU)为1500字节。如果要传输的数据帧大小超过1500字节,即IP数据报负载长度大于1472(1500-20(IP) -(UDP)=1472,普通数据报)字节,则需要分片之后进行传输。

三、IP分片原理及分析

分片和重新组装的过程对传输层是透明的,其原因是当IP数据报进行分片之后,只有当它到达目的站时,才可进行重新组装,且它是由目的端的IP层来完成的。分片之后的数据报根据需要也可以再次进行分片。
IP分片和完整IP报文差不多拥有相同的IP头,ID域对于每个分片都是一致的,这样才能在重新组装的时候识别出来自同一个IP报文的分片。在IP头里面,16位识别号唯一记录了一个IP包的ID,具有同一个ID的IP分片将会重新组装;而13位片偏移则记录了某IP片相对整个包的位置;而这两个表中间的3位标志则标志着该分片后面是否还有新的分片。这三个标志就组成了IP分片的所有信息(将在后面介绍),接受方就可以利用这些信息对IP数据进行重新组织。

标志字段的作用

标志字段在分片数据报中起了很大作用,在数据报分片时把它的值复制到每片中的标志字段的其中一个比特称作"不分片"位,用其中一个比特来表示更多的片”。除了最后一片外,其他每个组成数据报的片都要把该比特置1。片偏移字段指的是该片偏移原始数据报开始处的位置。

另外,当数据报被分片后,每个片的总长度值要改为该片的长度值。如果将标志字段的比特置1,则IP将不对数据报进行分片,若在某个中间路由器上需要对其分片,则仅仅把数据报丢弃并发送一个ICMP不可达差错报文给源主机。

如果不是特殊需要,则不应该置1;最右比特置1表示该报文不是最后一个IP分片。故意发送部分IP分片而不是全部,则会导致目标主机总是等待分片消耗并占用系统资源。某些分片风暴攻击就是这种原理。这里以以太网为例,由于以太网传输电气方面的限制,每个以太网帧都有最小的大小64bytes最大不能超过1518bytes,抛去以太网帧的帧头(DMAC目的MAC地址48bit=6Bytes+SMAC源MAC地址48bit=6Bytes+Type域2bytes)14Bytes和帧尾CRC校验部分4Bytes,那么剩下承载上层协议的地方也就是Data域最大就只能有1500Bytes,这就是前面所说的MTU的值。这个也是网络层协议非常关心的地方,因为网络层的IP协议会根据这个值来决定是否把上层传达下来的数据进行分片。就好比一个盒子没法装下一大块面包,我们需要把面包切成片,装在多个盒子里是一个道理。

 下面是标志位在IP首部中的格式以及各个标志的意义:

ip分片偏移量计算,数据通信,网络,tcp/ip,udp,分片

ldentification    标识号
flag:   R DF MF
    保留,没有定义用途
DF    (不分片位)  1代表不允许对此数据包做分片0代表可以分片
MF   1 我是分片,但我不是最后一个分片,0我是分片,并且是最后的分片(M=more 更多的意思)

Fragment Offset    (分偏移量)
R:     保留未用;DF: Don't Fragment,"不分片"位,如果将这一比特置1,IP层将不对数据报进行分片;MF: More
Fragment,"更多的片”,除了最后一片外,其它每个组成数据报的片都要把比特置1;

Fragment Offset:该片偏移原始数据包开始处的位置。偏移的字节数是该值乘以8。

 TTL

TTL : 防止报文在网络中转发的环路,数据报文在网络中的转发次数。每次转发数据报文被下个设备接收时,TTL值减一。当下一个接收设备发现TTL值等于0时,就不会再把这个数据报文转发,而是丢弃这个数据报文。

TTL取值范围:0~255 (8个bit)

ip分片偏移量计算,数据通信,网络,tcp/ip,udp,分片

ip分片偏移量计算,数据通信,网络,tcp/ip,udp,分片

 Protocol 协议号

标明数据报文使用的什么传输层协议

Protocol: 8 bit, 协议:下一层协议。指出此数据包携带的数据使用何种协议,以便目的主机的IP层将数据部分上交给哪个进程处理。·常见值:
-1:    ICMP  ,Internet Control Message;
-2:    IGMP  ,Internet Group Management;
6:     TCP   .Transmission Control Protocol;

17:    UDP  ,User Datagram Protocol. 

Protocol为-1即是ICMP协议,为17就是UDP协议:

ip分片偏移量计算,数据通信,网络,tcp/ip,udp,分片

Header Checksum:    16 bit,   首部检验和。

Source IP Address:            32 bit,源IP地址。
Destination IP Address:      32 bit,目的IP地址。

Options:    可变,选项字段。
Paddina:    可变填充字段,全填0

分片包文示例:

ip分片偏移量计算,数据通信,网络,tcp/ip,udp,分片

只有第一个分片才会携带传输层字段(TCP/UDP),非第一个字段不携带传输层字段。

分片偏移量计算方法:

offset:第一个分片的(传输层大小+PDU)/8第二个分片的偏移量

             第一个分片的((传输层大小+PDU)+第二个分片的PDU) /8第三个分片的偏移量。

后续分片的偏移量以此类推

 第一个分片:

每个分片的长度一定是8字节(64位)的整数倍

ip分片偏移量计算,数据通信,网络,tcp/ip,udp,分片

 第二个分片:

ip分片偏移量计算,数据通信,网络,tcp/ip,udp,分片

 第三个分片:

ip分片偏移量计算,数据通信,网络,tcp/ip,udp,分片文章来源地址https://www.toymoban.com/news/detail-782904.html

到了这里,关于TCP/IP协议中分包与重组原理介绍、分片偏移量的计算方法、IPv4报文格式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • TCP/IP协议专栏——分片报文详解——网络入门和工程维护必看

    一个链路层数据报能承载的最大数据量称为最大传送单元(MTU)。 因为IP数据报(IP头+DATA)被封装在链路层数据报中,故链路层的MTU严格地限制着IP数据报的长度, 而且在IP数据报的源与目的地路径上的各段链路可能使用不同的链路层协议,有不同的MTU. 例如,以太网的MTU为15

    2024年01月19日
    浏览(64)
  • IP协议 (通俗易懂),IP协议的主要功能及实现原理,IP地址分类,IP数据包分片,IP数据报格式。

    「作者主页」: 士别三日wyx 「作者简介」: CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「专栏简介」: 此文章已录入专栏《计算机网络零基础快速入门》 IP协议的作用是什么? IP地址分类有哪些? IP数据包为什么分片?怎么分片? IP是一种 「不

    2024年02月02日
    浏览(49)
  • 【网络原理】TCP/IP协议

    目录 1.应用层 2.传输层(核心问题) 2.1 UDP协议 2.1.2 UDP的特点 2.1.3 基于UDP的应用层协议 2.2 TCP协议(重点内容) 2.2.1 TCP/IP 协议含义 2.2.2 TCP协议端格式: 2.2.3 TCP的特点 2.3 TCP原理 2.4 确认应答机制(安全机制) 2.5 超时重传机制(安全机制) 2.5.1 数据直接丢了,接收方没

    2023年04月13日
    浏览(54)
  • 【网络原理】TCP/IP协议(续)

    目录 🔥网络层重点协议(IP 协议) 一、地址管理 1.如何解决上述地址不够用问题? 2.NAT 机制 2.1 NAPT 2.2 在 NAT 背景下如何通信? 3.IPv6 4.IP地址 4.1 ABCDE类 4.2 子网掩码 4.3 特殊的 IP 地址 二、路由选择 1.路由器 1.1 网关 1.2 路由 🌴数据链路层重点协议 1.以太网 1.1 认识以太网

    2023年04月19日
    浏览(70)
  • 一文了解tcp/ip协议的运行原理

    接触代理ip的人都了解https/sock5等ip协议,那么TCP/IP 协议又是什么? TCP/IP 协议实际上是一系列网络通信协议的一个统称,他负责具体的数据传输工作,核心的两个协议包括TCP以及IP,还有其他 UDP、ICMP、ARP 等,构成一个网络协议栈。 网络通信可以将其划分为四个层次去解释:

    2024年02月10日
    浏览(47)
  • TCP/IP协议优点&体系结构介绍

    T C P / I P是一个稳定的、构造优良的、富有竞争性的协议。 T C P和I P是两个独立且紧密结合的协议,负责管理和引导数据报文在I n t e r n e t上的传输。二者使用专门的报文头定义每个报文的内容。T C P负责和远程主机的连接。而I P负责寻址,使报文被送到其该去的地方。 TCP/

    2024年02月05日
    浏览(45)
  • TCP/IP协议工作原理与工作流程

    使用OSI模型来描述一个网络中的各个协议层,如下: TCP/IP协议,英文全称Transmission Control Protocol/Internet Protocol,包含了一系列构成互联网基础的网络协议,是Internet的核心协议。TCP/IP协议是一个协议簇,包含了应用协议、传输协议、网际互联协议和路由控制协议。如下图: 应

    2024年04月25日
    浏览(49)
  • 【网络原理】TCP/IP协议五层模型

    🥊作者:一只爱打拳的程序猿,Java领域新星创作者,CSDN、阿里云社区优质创作者。 🤼专栏收录于:计算机网络原理 本期讲解协议、OSI七层模型、TCP/IP五层模型、网络设备所在的分层、数据的封装和分佣。 目录 1. 什么要有协议? 2. 协议的分层 2.1 协议分层的好处 3. OSI七层

    2024年02月08日
    浏览(51)
  • 【Kafka】自动提交偏移量和手动提交偏移量的区别

    自动提交偏移量(Auto Commit Offset)和手动提交偏移量(Manual Commit Offset)是两种不同的消费者偏移量管理方式。 自动提交偏移量: 在自动提交模式下,消费者会定期自动将已消费的消息偏移量提交给Kafka。 消费者无需显式调用提交偏移量的方法,Kafka会在后台自动处理。 自动

    2024年02月15日
    浏览(45)
  • 关于TCP/IP协议的讲解及端口的介绍

    TCP协议(传输控制协议)和IP协议(网际协议)是计算机网络中两个重要的协议。它们在互联网通信中起着关键的作用。  TCP协议是一种传输层协议,建立在IP协议之上,提供可靠的、面向连接的数据传输。TCP协议使用端口号来标识不同的应用程序或服务。它通过创建一个虚拟

    2024年02月04日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包