前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >【Linux网络编程】数据链路层和网络层的几个问题:MTU,校验和,全球网段,路由表

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

作者头像
用户11396661
发布2025-02-24 09:00:50
发布2025-02-24 09:00:50
740
举报
文章被收录于专栏:C++开发C++开发

1.MTU

MTU是以太网的最大传输单位,大小是1500字节,表示IP(网络层传下来的最多只能1500字节)。

如果超过了这个数,就要网络层自己做分包。数据链路层是不帮你分包的。如果超过了1500字节,那么数据链路层直接给你丢了。

在有的IP报头中,3位标志位的第二位置1表示不允许分片,这时候超过1500字节,就直接丢了就行,然后给上次返回传输的暑假过大。

2.CRC校验和

CRC的校验和的名称叫:循环冗余校验。 查了一下冗余,除了多余的,还有人为加上的意思。那也贴切这个帧末尾的校验和了。

这个3位的标志,用了多项式除法算法,填的值是经过一系列除法最后的余数。

这个起到了一定的保障。

但是往上层传的时候,上次也会进行检查,比如IP,TCP的16位校验和。都是对数据准确性进行的一系列检查。

IP的是16位首部校验和,查的是IP报头有没有发生错误。数据里面的TCP进一步检查。


3.全球网段

经过家庭路由,也不是直接到达广域网,到达的是更高一层的局域网(这层是运营商帮我们设置的),要经过好几层,最后才会到达公网。

IP正常的IP地址,满打满算,是43亿。世界人口的数量是80亿。虽然不是每个人都有手机,有电脑,但是有的一个人有一天手机,一太电脑,而且还有很多的商业用途。这显然是不够的,所以就有了局域网。运营商给我们搭建的有很大一个局域网。在不同的局域网中,里面的IP是可以重复的,这是可以帮助缓解IP不足的。(NAT技术)

每次跳的时候,NAT就会帮我们转化,这是从局域网到公网的手段。

上面的图,中国分配的IP才3亿。这肯定是不够的呀,上面的例子是一种缓解IP不足的方案。还有就是IPv6。动态分配。


4.子网掩码

IP=网络号+主机号

在现实生活中,IP的网络是IP按位与&子网掩码,最后得到的就是网络号。

比如一个IP是:140:252:20:68.

子网掩码是:255:255:255(表示的就是前三个字节是网络号)/24这样的字段。

最后网络号是:140:252:20。

主机号全1是广播号。


5.路由

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

destination是目的地址。

gateway是下一跳。

genmask是子网掩码。

flags中,有G就表示目标IP和该路由器有之间连接,不要进行路由转发,没有G就表示没有直接转发,要经过路由。

iface是发送接口。从哪个接口发出去。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-02-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.MTU
  • 2.CRC校验和
  • 3.全球网段
  • 4.子网掩码
  • 5.路由
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档