总结
豆包 AI 助手文章总结
首页 > 运维 > linux运维 > 正文

【Linux网络编程】数据链路层和网络层的几个问题:MTU,校验和,全球网段,路由表

看不見的法師
发布: 2025-04-17 16:56:01
原创
771人浏览过
  1. MTU

mtu是指以太网的最大传输单元,通常为1500字节。这表示从网络层传输的数据最大只能是1500字节。

如果数据超过这个限制,网络层必须自行分包,因为数据链路层不会帮助分包。超过1500字节的数据将被数据链路层直接丢弃。

在某些IP报头中,如果第二位标志位被置1,表示不允许分片。此时如果数据超过1500字节,将直接被丢弃,并向发送方返回“数据包过大”的错误信息。

  1. CRC校验和3位标志

CRC校验和3位标志使用多项式除法算法,填入的值是经过一系列除法后的余数。

这种方法提供了一定的数据完整性保障。

在数据向更高层传输时,网络层也会进行检查,例如IP和TCP的16位校验和。这些都是对数据准确性的一系列检查。

IP的16位首部校验和用于检查IP报头是否发生错误,而数据中的TCP进一步进行检查。


  1. 全球网段与家庭路由

全球网段经过家庭路由器后,并不直接进入广域网,而是到达运营商设置的更高层局域网。经过多层网络后,最终到达公网。

【Linux网络编程】数据链路层和网络层的几个问题:MTU,校验和,全球网段,路由表

标准的IPv4地址总数约为43亿,而世界人口约为80亿。虽然不是每个人都拥有手机或电脑,但一个人可能拥有多台设备,且还有许多商业用途,这显然是不够的。因此,局域网应运而生。运营商构建了大型局域网,在不同的局域网中,IP地址可以重复使用,这有助于缓解IP地址不足的问题(NAT技术)。

每次数据包跳转时,NAT会帮助我们转换IP地址,这是从局域网到公网的转换手段。

上图显示,中国分配的IP地址只有3亿,显然不够用。上述方法是缓解IP不足的一种方案。另外,IPv6和动态分配也是解决方案。


  1. 子网掩码

IP地址由网络号和主机号组成。

在实际应用中,通过IP地址与子网掩码进行按位与运算(&),可以得到网络号。

例如,IP地址为140.252.20.68,子网掩码为255.255.255.0(表示前三个字节为网络号),记为/24。

计算后,网络号为140.252.20。

主机号全为1时,表示广播地址。


  1. 路由

对于一个路由器,会有WAN(广域网IP)和LAN(局域网IP),它们是两个不同的IP。WAN可能不是公网IP,而是更高层局域网的IP。

【Linux网络编程】数据链路层和网络层的几个问题:MTU,校验和,全球网段,路由表

其中,destination表示目的地址,gateway表示下一跳,genmask表示子网掩码。

在flags中,如果有G,表示目标IP与该路由器直接连接,不需要进行路由转发;没有G,表示需要经过路由转发。

iface表示发送接口,即数据包从哪个接口发出。

以上就是【Linux网络编程】数据链路层和网络层的几个问题:MTU,校验和,全球网段,路由表的详细内容,更多请关注php中文网其它相关文章!

豆包AI编程
豆包AI编程

智能代码生成与优化,高效提升开发速度与质量!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
豆包 AI 助手文章总结
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号