当前位置: 首页 > news >正文

IP数据报

组成网络层最重要的三个组件:

IP协议

路由选择协议

互联网控制报文协议(ICMP)

网络层分组(数据报):

 

 

IP 数据报分片
在第 章中我们将看到,并不是所有链路层协议都能承载相同长度的网络层分组
的协议能承载大数据报,而有的协议只能承载小分组 例如,以太网帧能够承载不超过
1500 节的数据,而某些广域网链路的帧可承载不超过 576 字节的数据。一个链路层帧能
承载的最大数据量叫做最大传送单元( Max:imum TrallSnnssion lJnil , MTU) 。因为每个
据报封装在链路层帧中从 台路由器传输到下 台路由器,故链路层协议的 MTU 严格地
限制着 数据报的氏度 数据报氏度具有严格限制并不是主要问题 问题在于在发
送方与目的地路径上的每段链路可能使用不同的链路层协议,且每种协议可能具有不同
MTU
为了更好地理解这 转发问题,想象你是 台互联几条链路的路由器,且每条链路运
行具有不同 MTU 的链路层协议 假定你从某条链路收到一个 数据报,通过检查转发表
确定出链路,并且该出链路的 MTU 比该 数据报的长度要小 此时你会感到慌乱,如何
将这个过大的 IP 分组压缩进链路层帧的有效载荷字段呢?解决该问题的方法是将 数据
报中的数据分片成两个或更多个较小的 数据报,用单独的链路层帧封装这些较小的
数据报;然后向输出链路上发送这些帧 每个这些较小的数据报都称为片( fragment)
片在其到达目的地运输层以前需要重新组装 实际上, TCP UDP 都希望从网络层
收到完整的未分片的报文 叫的设计者感到在路由器中重新组装数据报会给协议带来相
当大的复杂性并且影响路由器性能 (如果你是 台路由器,你愿意将重新组装报文片放
在你必须要做的各种各样工作的首位吗?)为坚持网络内核保持简单的原则, IP叫的设计
者决定将数据报的重新组装工作放到端系统中,而不是放到网络路由器中

 

转载于:https://www.cnblogs.com/gsx-600r/p/9777907.html

相关文章:

  • 过了技术面却在HR面被刷?必备40问!从容应对HR,斩获N多大厂offer!
  • 如何解决 Django 前后端分离开发的跨域问题
  • JSP学习-02隐式对象
  • R1 学习记录
  • 167. Two Sum II - Input array is sorted
  • 想用Unity3D引擎技术赚点钱的看过来
  • python3爬取墨迹天气并发送给微信好友,附源码
  • 晒一晒老司机写的“超融合私有云”解决方案
  • 4种删除Word空白页的小技巧,都是你需要用到的!
  • ASP.NET Core 2.2.0-preview3 发布
  • LaTeX-用polynom宏包排版多项式的除法
  • Java中JNI的使用(上)
  • 番外篇——什么叫会工作
  • Python3.6使用tesseract-ocr的正确方法
  • (转)如何上传第三方jar包至Maven私服让maven项目可以使用第三方jar包
  • Java 9 被无情抛弃,Java 8 直接升级到 Java 10!!
  • node学习系列之简单文件上传
  • tensorflow学习笔记3——MNIST应用篇
  • 利用阿里云 OSS 搭建私有 Docker 仓库
  • 聊聊sentinel的DegradeSlot
  • 前嗅ForeSpider教程:创建模板
  • 微信公众号开发小记——5.python微信红包
  • 不要一棍子打翻所有黑盒模型,其实可以让它们发挥作用 ...
  • 函数计算新功能-----支持C#函数
  • 曜石科技宣布获得千万级天使轮投资,全方面布局电竞产业链 ...
  • ​MySQL主从复制一致性检测
  • ​马来语翻译中文去哪比较好?
  • ​总结MySQL 的一些知识点:MySQL 选择数据库​
  • #HarmonyOS:Web组件的使用
  • #我与Java虚拟机的故事#连载16:打开Java世界大门的钥匙
  • $.ajax中的eval及dataType
  • (2/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (HAL库版)freeRTOS移植STMF103
  • (三)centos7案例实战—vmware虚拟机硬盘挂载与卸载
  • (十八)用JAVA编写MP3解码器——迷你播放器
  • (五)关系数据库标准语言SQL
  • .NET 5种线程安全集合
  • .net core 调用c dll_用C++生成一个简单的DLL文件VS2008
  • .NET 跨平台图形库 SkiaSharp 基础应用
  • .NET多线程执行函数
  • .net反编译的九款神器
  • .NET建议使用的大小写命名原则
  • .net企业级架构实战之7——Spring.net整合Asp.net mvc
  • .NET与 java通用的3DES加密解密方法
  • .Net转Java自学之路—基础巩固篇十三(集合)
  • [AIGC] 使用Curl进行网络请求的常见用法
  • [ARC066F]Contest with Drinks Hard
  • [JS入门到进阶] 7条关于 async await 的使用口诀,新学 async await?背10遍,以后要考!快收藏
  • [mysql] mysqldump 导出数据库表
  • [NLP] LlaMa2模型运行在Mac机器
  • [Node + Docker] 聊聊怎么把 nodeclub 构建成 Docker 镜像
  • [Oh My C++ Diary]怎样用cmd运行exe控制台程序
  • [OIDC in Action] 3. 基于OIDC(OpenID Connect)的SSO(添加Github OAuth 2.0的支持)
  • [opencvsharp]C#基于Fast算法实现角点检测
  • [poj2891]Strange Way to Express Integers(扩展中国剩余定理)