IP分片 简析

标示 Identification  DF:Don‘t Flagment  MF:More flagment  片偏移:Fragment offset

1、4000字节的数据经过以太网传输,应该分3片,为什么?
最大传输单元为1500B,除去首部20B后每分片长度为1480B,则分为3片,长度分别为1480、1480、1040
每片总长度、标示、DF、MF、片偏移分别如下:
1500,      12345  0  1  0
1500,      12345  0  1  185
1060,      12345  1  0  370
标示字段是随意指定的,只要三段相同即可,便于接收端再组合起来
MF为1表示后面还有分片,为0表示是最后一个分片
DF为0表示该片还可以继续分片
片偏移是某片在原片中的相对位置。以8个字节为偏移单位,1480/8=185,故偏移量为185.

2、一个IP数据报长度为4000字节(包括20字节首部长度)则应该怎么分片?
这个数据报比前面多了个首部长度,实际数据报是3980B,
最大传输单元为1500B,除去首部20B后每分片长度为1480B,则分为3片,长度分别为1480、1480、1020
每片总长度、标示、DF、MF、片偏移分别如下:
1500,      12345  0  1  0
1500,      12345  0  1  185
1040,      12345  1  0  370

3、假设有一个IP数据报,头部长度为20B,数据部分长度为2000B,
现该分组从源主机到目的主机需要经过两个网络,这两个网络所允许的最大传输单元MTU为1500B和576B。请问该数据报如何让进行分组?

头部长为20B,数据部分长度为2000B的IP数据报
在经过MTU为1500B的第一个网络时进行分片,分为2个分片,分片1携带1480B的数据,大小为1500B;分片2携带520B的数据,大小为520+20=540B
在经过MTU为576B的第二个网络时,分片1仍然需要进一步分片。
分为3个分片,分片3和分片4都携带556B的数据,分片5携带368B的数据。
由于分片2大小为540B,小于该网络的最大MTU值,因此无需分片。
这样目的主机将收到4个分片,即分片2、3、4、5。

时间: 2024-12-17 04:21:50

IP分片 简析的相关文章

TCP,UDP,IP 协议简析

现在的操作系统基本都实现了TCP/IP协议,TCP/IP协议栈分为五层: 应用层:向用户提供的一组常用的应用程序,如TELNET,FTP,SMTP,SNTP,DNS,HTTP,这些应用程序有一个端口用来标识. 传输层:主要协议是TCP和UDP,提供应用程序的通信. 网络层:主要协议是IP协议,定义了IP地址格式,是不同应用程序的数据在网络上通畅传输的关键. 链路层:这是TCP/IP软件的最低层,负责接收IP数据包并通过网络发送之,或者从网络上接收物理帧,抽出IP数据报,交给IP层. 物理层: 每

Linux网络性能优化方法简析

Linux网络性能优化方法简析 2010-12-20 10:56 赵军 IBMDW 字号:T | T 性能问题永远是永恒的主题之一,而Linux在网络性能方面的优势则显而易见,这篇文章是对于Linux内核中提升网络性能的一些优化方法的简析,以让我们去后台看看魔术师表演用的盒子,同时也看看内核极客们是怎样灵活的,渐进的去解决这些实际的问题. AD:2014WOT全球软件技术峰会北京站 课程视频发布 对于网络的行为,可以简单划分为 3 条路径:1) 发送路径,2) 转发路径,3) 接收路径,而网络性

web应用构架LAMT及tomcat负载简析

Httpd    (mod_jk.so) workers.properties文件 uriworkermap.properties文件 <--AJP1.3--> Tomcat  --> jdk 大致流程:apache服务器通过mod_jk.so 模块处理jsp文件的动态请求.通过tomcat worker等待执行servlet/JSP的tomcat实例.使用 AJP1.3协议与tomcat通信.tomcat有借助jdk解析. 负载就是 多台tomcat.共同解析apache发送的jsp请

CentOS的网络配置简析

我们在进行对CentOS的网络配置时,一般会从IP地址(IPADDR).子网掩码(NETMASK).网关(Gateway).主机名(HOSTNAME).DNS服务器等方面入手.而在CentOS中,又有着不同的命令或配置文件可以完成这些配置操作,接下来,我们将从ifcfg系命令,iproute2系命令以及配置文件3个方面来简析网络配置的方法. 一.ifcfg系命令 ifcfg系命令包括ifconfig,route,netstat和hostname. 1.ifconfig命令 用来配置一个网络接口.

借助LANMT构架,简析ngnix的使用

LNMP流程图 nginx PHP Mysql Nginx Fastcgi_pass <-FastCGI-> fastcgi-(php-fpm)<->wrapper Php 解析器 (Php.ini) <->mysql fastcgi-(php-fpm)<->wrapper fastcgi-(php-fpm)<->wrapper fastcgi-(php-fpm)<->wrapper fastcgi-(php-fpm)<->

sed简析

写一个shell命令,统计apache日志文件(access_log)中某一天中每个URL的访问次数,并按照次数由小到大的顺序排序输出:# cat /application/nginx/logs/20170202_access_www.log |awk '{print $7}'|sort| uniq -c |sort -n awk  '{print $7}' 匹配到 url 记录即日志文件格式的($http_referer)字段sort  是排序 ,并且标准输出到屏幕uniq -c  统计重复的

服务器租用---常用网络协议:TCP和UDP的区别简析

服务器租用---常用网络协议:TCP和UDP的区别简析及TCP与UDP区别 TCP---传输控制协议,提供的是面向连接.可靠的字节流服务.当客户和服务器彼此交换数据前,必须先在双方之间建立 一个TCP连接,之后才能传输数据.TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一 端传到另一端. UDP---用户数据报协议,是一个简单的面向数据报的运输层协议.UDP不提供可靠性,它只是把应用程序传给IP层的 数据报发送出去,但是并不能保证它们能到达目的地.由于UDP在传输数据报

PostgreSQL的 pg_hba.conf 文件简析

最近试用PostgreSQL 9.04,将pg_hba.conf配置的一些心得分享. pg_hba.conf是客户端认证配置文件,定义如何认证客户端. 下面是常用的pg_hba.conf配置: 1 2 3 4 5 6 7 8 9 10 # TYPE  DATABASE  USER  CIDR-ADDRESS  METHOD   # "local" is for Unix domain socket connections only local    all      all      

网络协议:简析三次握手协议

一,简析三次握手协议 首先来看我们生活中很常见的一件事: 在我们网购的时候,常常会跟客服这样聊天:我们向客服询问某件事,客服回答,然后我们断网了...过了一会儿,我们再登陆就收到了客服的回答. 这个交互的过程进行了三次才完成了一次应答,这个过程就类似我们采用TCP/IP协议访问服务器时的三次握手机制: 第一次握手: 建立连接时,客户端发送SYN包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认.SYN为同步序列编号. 第二次握手: 服务器收到SYN包,必须确认客户的SYN(ac