首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么每台电脑都要设置子网掩码?

如果电脑不用网络掩码,现在给你三个IP:

A:10.1.1.2

B:10.1.1.3

还有互联网上的一台服务器D:8.8.8.8

电脑连在交换机上,它们可以通信吗?

A与B通信应该没有问题,A可以通过ARP广播发现B的MAC地址,B也可以发现A的MAC地址,这没有问题。

那A如何通过ARP广播发现D的MAC呢?

没有办法!因为ARP广播会在本地网关终结(Termination),无法进入Internet。

那我们日常生活中,是如何解决这个问题的?

网络掩码!

网络掩码

A:10.1.1.2/24

网关:10.1.1.1/24

D:8.8.8.8

当A试图访问D时,用24位掩码来按位于8.8.8.8,得到网段是8.8.8,和自己的网段10.1.1不相同,就会知道,需要自己的网关(代理)介入,把发给8.8.8.8包先发给网关,网关会有办法把8.8.8.8的IP包送达目的地。

于是A通过24位掩码,计算网关的网段是10.1.1,和自己的网段一样,既然一样就可以发送ARP广播发现网关的MAC地址了(为什么?没有为什么,协议就是这么规定的),然后二层目的地MAC = 网关的MAC,目的IP = 8.8.8.8,这好像有点滑稽,二层与三层指示的目的地址并不一致,这就是三层代理的原理。

然后网关就可以依据8.8.8.8来查询路由表,将包发到上游的Internet路由器上,最终到达目的地。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20211119A0DW1600?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券