家庭应该是爱、欢乐和笑的殿堂。——日 木村久一       


IP属于网络层,下一层时数据链路层,在数据链路层,不同类型的数据链路的最大传输单元(MTU)都不尽相同。例如,连接两个路由器的通路可以看作时一个链路。从而 ,网络层的数据到了数据链路层之后,可能会出现这种情况:数据包太大,大于数据链路层的MTU,这时就需要进行拆包了。

下图展示了一些类型的数据链路的MTU:

IP报文的分片与重组:

下图,给出了一个例子:某计算机发出一个数据包,大小为4342字节,但是以太网的默认MTU是1500字节,因此需要拆了它的包!

这时,路由器将包拆成了3份。这种分片处理,只要路由器认为有必要就会周而复始地进行。    分开后的3个数据包,到达目标计算机后,由目标计算机根据数据报的首部信息,进行重组。路由器只进行拆包,不进行组包,否则会浪费时间,再者,被拆分的包可能经过不同的路由器到达目标计算机。


路径MTU发现:


Ref:

《图解TCP/IP》--竹下隆史, 4.3章节

TCP/IP学习笔记15--IP分割处理与再构成处理,路径MTU发现的更多相关文章

  1. TCP/IP学习笔记7--TCP/IP模型通信例子学习

    "一位如蝴蝶般美丽的女子向我飞来,翩翩的舞姿如同云端轻盈的叶儿." -------------------------------------------------------- ...

  2. TCP/IP学习笔记6--TCP/IP模型

    "五月的风慢慢地吹过湖面,泛起波浪层层,一只鸟儿飞过来,在我面前婉转歌唱" TCP/IP是当今计算机网络世界使用最为广泛的协议.该方面的知识对于那些想做网络编程的人来说是只至关重要 ...

  3. tcp/ip学习笔记-TCP

    tcp/ip学习笔记-TCP 彭会锋 报文发送采用的是tcp_output函数,

  4. Ext.Net学习笔记15:Ext.Net GridPanel 汇总(Summary)用法

    Ext.Net学习笔记15:Ext.Net GridPanel 汇总(Summary)用法 Summary的用法和Group一样简单,分为两步: 启用Summary功能 在Feature标签内,添加如 ...

  5. SQL反模式学习笔记15 分组

    目标:查询得到每组的max(或者min等其他聚合函数)值,并且得到这个行的其他字段 反模式:引用非分组列 单值规则:跟在Select之后的选择列表中的每一列,对于每个分组来说都必须返回且仅返回一直值. ...

  6. 并发编程学习笔记(15)----Executor框架的使用

    Executor执行已提交的 Runnable 任务的对象.此接口提供一种将任务提交与每个任务将如何运行的机制(包括线程使用的细节.调度等)分离开来的方法.通常使用 Executor 而不是显式地创建 ...

  7. Vue学习笔记-vue-element-admin 按装报错再按装

    一  使用环境 开发系统: windows 后端IDE: PyCharm 前端IDE: VSCode 数据库: msyql,navicat 编程语言: python3.7  (Windows x86- ...

  8. TCP路径MTU发现

    路径MTU 当在同一个网络上的两台主机互相通信时,该网络的MTU是非常重要的.当时如果两台主机之间的通信要通过多个网络,那么每个网络的链路层就可能有不同的MTU.重要的不是两台主机所在网络的MTU,而 ...

  9. TCP/IP详解学习笔记(3)-IP协议,ARP协议,RARP协议

    把这三个协议放到一起学习是因为这三个协议处于同一层,ARP协议用来找到目标主机的Ethernet网卡Mac地址,IP则承载要发送的消息.数据链路层可以从ARP得到数据的传送信息,而从IP得到要传输的数 ...

随机推荐

  1. Time Frequency (T-F) Masking Technique

    时频掩蔽技术. 掩蔽效应 声掩蔽(auditory masking)是指一个声音的听阈因另一个声音的存在而上升的现象.纯音被白噪声所掩蔽时,纯音听阈上升的分贝数,主要决定于以纯音频率为中心一个窄带噪声 ...

  2. LOJ P10130 点的距离 题解

    这道题相当于倍增求LCA的板子,我们只要构建一棵树,然后距离就是x的深度+y的深度 - LCA(x,y)的深度: #include<iostream> #include<cstdio ...

  3. 用于未处理异常错误的.NET框架清理工具

    当你启动某些程序时,会收到与此错误类似的未处理异常错误:Unhandled e0434f4dh exception at 7c81eb33h.此问题是由于.NET框架未正确安装或.NET框架系统中的另 ...

  4. zeebe 0.20.0 发布生产可用了!

    一个比较好消息,来自camunda zeebe 团队的消息,zeebe 0.20.0 发布,终于可以生产可用了 如果关注了官方的声明的话,同时团队也出了一个自己的许可协议,但是和大部分当前的开源 产品 ...

  5. js无限轮播算法中干掉if判断

    无限轮播在网页应用中经常见到,这其中算法各有千秋,在学习算法分析一书中发现自增取余方法可以干掉一些不必要的if判断,具体代码如下: var arr= [1,2,3,4,5,6,7,8]; var in ...

  6. (10)Go结构体struct

    结构体 Go语言中的基础数据类型可以表示一些事物的基本属性,但是当我们想表达一个事物的全部或部分属性时,这时候再用单一的基本数据类型明显就无法满足需求了,Go语言提供了一种自定义数据类型,可以封装多个 ...

  7. avalon数据已更新,视图未更新的bug修复

    $computed: { pinlei() { var key = this.currentProduct.key || 'youpin'; console.log(key, "我是key& ...

  8. python的tecplot模块(tecplot新特性)

    Python的tecplot模块仅支持tecplot2017以上 首先安装tecplot2017 安装完成以后,安装python的tecplot模块 可以通过终端转入tecplot安装目录下的pyte ...

  9. python爬虫 TapTap

    作业要求来自于https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/3075 对象 - TapTap TapTap 是一个高品质手游玩家社区, ...

  10. Service Function Chaining Resource Allocation: A Survey

    摘要: 服务功能链(SFC)是未来Internet的一项关键技术. 它旨在克服当前部署模型的僵化和静态限制. 该技术的应用依赖于可以将SFC最佳映射到衬底网络的算法. 这类算法称为"服务功能 ...