如果电脑不用网络掩码,现在给你三个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路由器上,最终到达目的地。
领取专属 10元无门槛券
私享最新 技术干货