TCP/IP协议原理与应用笔记26:网际协议(IP)之 分片(Fragmentation)
1. 分片(Fragmentation)
适应在不同的MTU的物理网上传输.
备注:
MTU:最大传输单元,Maximum Transmission Unit,它是指一种通信协议的某一层上面所能通过的最大数据包大小(以字节为单位)。
2. 分片操作(Fragmentation Operation)
()仅由路由器执行:转发分组时
()确实需要时才进行分片:提高传输效率
()每个分片都要包含IP首部:无连接通信
()数据报可被多次分片
示例:
分片操作的举例:
3. 重组操作(Reassembly)
(1)仅由目的主机执行:将数据递交给上层时,针对所有的分片数据,只有目的主机在一定时间内(重组时限)收集到所有分片,就可以分组,如果丢失一个就不能完成分组,目的主机就会丢掉收集到的所有其他分片,不会将不完整的分片数据交给上层协议。
- IP的无连接通信 ---> 各分片的传输路径可不同
- 有重组时限
- 若丢失分片,则无法重组IP分组
(2)目的主机能区分和重组不同的原IP报文
- (源IP地址,标识)
下面可以完整演示一个重组过程如下:
1)首先在主机A中,有+20= 1220(字节)IP分组需要转发给目的主机B
2)IP分组通过+20,所有IP分组经过这里需要分组。
正好分为两组,第2组片偏移量为600/8 =
3)上面分组完毕之后,两个分片数据很顺利地到达路由器R2
4)这里,IP分组到达目的主机B,存在两个网络 Net3 和 Net2-Net4,同样的和上面类似,还是需要分组的。
),400~600(片偏移量为400/8=)
)
此时到达路由器R3的分片为0~400,400~600这两片,我们同事也发现Net4网络的MTU4为800+20 = 820,此时400 < 800,200 < 800。
所有这里的两个分片0~400,400~600不用再次分组,直接通过Net4将这两个分组转发至路由器R4
5)当两个分片0~400,400~600到达路由器R4的时候,分片600~1200到达目的主机B(这里分片到达顺利不定,这里只是取了一种情况)
此时两个分片0~400,400~600直接通过链路层到达主机B,然后再根据这3个分片的不同片偏移量,从而进行排序重组。
TCP/IP协议原理与应用笔记26:网际协议(IP)之 分片(Fragmentation)的更多相关文章
- TCP/IP协议原理与应用笔记17:IP编址(重点)
1. IP地址(通用标识符) 对于同一个网络设备(主机或路由器)的不同网络连接,需要不同的IP地址进行标识 2. 主机标识符 主要有下面三种方式的主机标识方式: (1)Name:是什么,可读性强(了解 ...
- TCP/IP协议原理与应用笔记19:IP分组的交付和路由选择
1. 引言: (1)互联网结构: 信息:IP分组(直接广播地址(Directed Broadcast Address),其指定了在一个特定网络中的"所有主机".) 节点:路由器.主 ...
- TCP/IP协议原理与应用笔记03:IP地址分类
1. 事实上,每个IP地址都包含两部分,即网络号和主机号. 例如:202.112.81.34指的 就是202.112.81这个网络的第34号机. 网络号:用于识别主机所在的网络: 主机号:用于识别该网 ...
- TCP/IP协议原理与应用笔记18:构成子网和超网
1. 引言: (1)类别IP编址(Classful IP)的缺陷 • 固定的3种IP网络规模 C类地址:少于255台主机的网络 B类地址:介于255~65535台主机的网络 ...
- TCP/IP协议原理与应用笔记10:TCP/IP协议族
1. 协议族视图如下:(这里我们列举重要的,并不是所有的) (1)网络接入层(数据链路层 和 物理层): 通过接入的物理网络的 功能 和 覆盖范围 进行分析划分为: •LANs :局域网(Local ...
- TCP/IP协议原理与应用笔记07:HTTP、TCP/IP与socket区别
1. TCP/IP协议与HTTP协议区别: HTTP 超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议.所有的WWW文件 ...
- TCP/IP协议原理与应用笔记05:TCP/IP协议下的网关
大家都知道,从一个房间走到另一个房间,必然要经过一扇门.同样,从一个网络向另一个网络发送信息,也必须经过一道“关口”,这道关口就是网关.顾名思义,网关(Gateway)就是一个网络连接到另一个网络的& ...
- TCP/IP协议原理与应用笔记24:网际协议(IP)之 IP协议的简介
1. IP协议:(网际协议) 2. IP协议(不可靠无连接数据报协议) (1)连接 vs. 可靠性 连接:面向连接.无连接 可靠:差错控制.流量控制等 面向连接不一定保证可靠,无连接不一定不可靠 在连 ...
- TCP/IP协议原理与应用笔记16:交换机和路由器区别
1.交换机和路由器区别 (1)交换机: 交换机是一种基于MAC(网卡的硬件地址)识别,能完成封装转发数据包功能的网络设备.交换机可以“学习”MAC地址,并把其存放在内部地址表中,通过在数据帧的 ...
随机推荐
- beantool.map2Bean(map,obj)
- Java(07)转化流
查看API得知: public class OutputStreamWriter extends Writer public class InputStreamReader extends Reade ...
- CSS学习篇核心之——盒子模型
概述 关于CSS的一些基础知识我们在前面文章中已经有所了解,这篇文章我们主要来学习下CSS中的核心知识盒子模型的知识. 盒子模型 元素框的最内部分是实际的内容(element),直接包围内容的是内边距 ...
- 从零新建一个winform项目
网站:https://community.devexpress.com/blogs/eaf/archive/2012/10/30/xaf-application-from-scratch.aspx
- js 中使用工厂方法和构造器方法
1 直接创建对象 <!DOCTYPE html> <html> <head lang="en"> <meta charset=" ...
- Java字面常量与常量池
Java中的字面常量(区别于final创建的有名常量)通常会保存在常量池中,常量池可以理解为像堆一样的内存区域.但是常量池有一个特性就是,如果常量池中已存在该常量将不会再次为该常量开辟内存 还是看个程 ...
- axTE3DWindowEx双屏对比控件白屏解决方法以及网上方法的校正(CreateControlOveride)
环境:vs2012,TE 6.5.1,winfrom C# 要做skyline的双屏显示功能,网上找到方法是用axTE3DWindowEx控件实现,把控件拖进去,运行,发现axTE3DWindow是正 ...
- MySQL 错误代码和消息
本章列出了当你用任何主机语言调用MySQL时可能出现的错误.首先列出了服务器错误消息.其次列出了客户端程序消息. B.1. 服务器错误代码和消息 服务器错误信息来自下述源文件: · 错 ...
- 【S16】了解如何把vector和string数据传给旧的API
1.尽量使用vector和string替换数组,但是老的代码还是使用数组.如果老的接口期望是数组,怎么办? 需要把vector和string,暴露出数组接口,也就是第一个元素的地址. 2.考虑方法Do ...
- Codeforces Round #336 (Div. 2)A. Saitama Destroys Hotel 水题
A. Saitama Destroys Hotel 题目连接: http://www.codeforces.com/contest/608/problem/A Description Saitama ...