IP分片

作者: 9527_d129 | 来源:发表于2017-04-24 18:10 被阅读0次

  以太网和802.3对一个数据帧的长度限制分别为1500和1492字节。而使用IP协议对数据进行封装时,由图1可知IP数据报有16位表示整个数据报总长度(字节数),即数据报最多有65535字节。

图1

   因此当IP层从上一层(TCP,UDP,ICMP等)接收到需要发送的IP数据后,需要判断向哪个接口发送数据,并查询此接口的MTU(链路层最大传输单元)。然后把数据报长度与MTU进行比较,如果需要就进行分片传送。

图2

   由于在数据传输过程中可能经过不同的链路层协议(图2),因此在从路由器到下一个接口时也要确定此接口的MTU。因此,分片发生在原始发送端主机和中间路由器上。每个片段的最大尺寸是MTU减去IP包头的大小(20字节最低; 60个字节的最大值)。

 如图1所示,IP首部中有16位的标识字段,对于发送端的每一份IP数据报来说,标识字段都包含一个唯一值,在数据分片时被复制到每个片中,即标识这些分片为同一个IP数据报。

 图1所示3位标志字段,其中1位表示“更多的片”,除最后一片外,其他都要置1。表示自己不是最后一片。

 图1的13位偏移字段表示该片偏移原始原始数据报的位置。偏移字段以8字节块为单位进行测量(除最后一片的数据必须为8的整数倍,不包括IP首部)。它是13位长,并指定特定相对于原始未分段的IP数据报的开始的片段的偏移量。第一片段已偏移量为0。这允许最多(2偏移13(次方) - 1)×8 =字节65,528,这将超过65,535字节的最大IP报文长度。此外,分片后每一片的IP首部的总长度值都要改为该片的长度值。

 分片后,每一片都成为一个分组,具有自己的IP首部,选择路由时也与其他分片独立。

相关文章

  • tcp分片和ip分片的区别

    ip分片 我们在计算机网络上所看到的分片一般是指ip分片,ip分片是指在网络传输过程中若遇到链路MTU比自己报文小...

  • IP分片

    以太网和802.3对一个数据帧的长度限制分别为1500和1492字节。而使用IP协议对数据进行封装时,由图1可知...

  • DPDK编程指南(翻译)( 十八)

    18.IP分片及重组库 IP分段和重组库实现IPv4和IPv6报文的分片和重组。 18.1.报文分片 报文分段例程...

  • 2019-11-08

    今天进程间通信 ip分片实验

  • 计算机网络-用ping制造ip分片

    任务:用ping命令制造ip分片并用wireshark捕获 什么叫分片? 在ip层下面的每一种数据链路协议都规定了...

  • Python网络编程4--实现IP分片与网络路径MTU探测

    一、IP分片原理 1.1 基本原理 IP包长计算  IP 包全长由头部中的 total length 字段决定,该...

  • 搭建Mongodb高可用分片集群

    搭建Mongodb高可用分片集群 一、规划 服务器:IP:192.168.1.101/192.168.1.102/...

  • TCP分段 & IP分片

    链路层具有最大传输单元MTU这个特性,限制了数据帧的最大长度,不同的网络类型都有一个上限值。如以太网Etherne...

  • MongoDB单机分片集群配置

    MongoDB单机分片集群配置 一、规划 服务器IP:172.18.210.1 mongos:20000 conf...

  • TCP UDP 分段 IP分片

    udp ip学习博客 3次握手4次挥手 链路层 MTU 最大传输单元 1500MISS最大分段 TCP 层 数...

网友评论

      本文标题:IP分片

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