近日学到ARP协议,它是将IP地址转换为MAC地址,然后才能在第二层(数据链路层)进行正常的通讯。ARP协议是建立在诚信的基础上的,所以无法避免ARP欺骗。这时脑袋里突然就闪出这么一个问题:既然用两种地址不方便,而且还有安全性问题,那为什么不用一种呢?更直接一点,就是既然有了MAC地址,为什么还要有IP地址?
其实人家这么做肯定是有人家的道理的:
MAC地址是物理层的地址,但它只是以太网的物理地址。互联网是由很多异构的物理网络通过路由器联接起来的,不同的物理网络,寻址方式很可能是不同的,可能根本不使用MAC地址。这样,不同的物理网络想要进行通讯就变得十分困难,因为彼此的数据帧相互不兼容。所以,我们想要一个公用的标准去遵循,这个标准就是IP。IP地址大家都知道了,属于TCP/IP协议族,它属于网络分层的第三层(网络层)。分层的好处是什么呢?就是让你不再去考虑两个不同的实现方式的物理网之间如何通讯,比如一个以太网和一个令牌环网。它屏蔽了下层的东西,让所有的网络都建立在IP地址之上,整个互联网在第三层看起来就像是一个巨大的IP网,大家都不去管什么以太网啊,令牌网,无线网啥的,都叫IP网,都统一使用IP来进行通讯。有了这样的统一标准是不是就很方便了呢?
那你可能会问?那好,那就只要IP地址,不要MAC地址呗?
首先,你得明白,IP地址是有限的,根本就不够用,不可能每一台计算机都给你一个可以直接联网的固定的IP(你每次联网可能你的IP都在变化)。相反,MAC地址全球固定而且唯一的,有了MAC地址就能准确的找到你的计算机。就好比手机号和身份证号,手机号可以换,而且你换了手机号,我可能就找不到你了,但是你的身份证号不会变,有了它就一定能找到你。而且,如果IP层抢了第二层的饭碗,你就不得不考虑第二层的很多东西了,这就让IP层的实现变得十分困难,这就不符合分层简化的思想。当初就是想降低实现难度而分层,现在搞得又不分,你说是不?
其实人家这么做肯定是有人家的道理的:
MAC地址是物理层的地址,但它只是以太网的物理地址。互联网是由很多异构的物理网络通过路由器联接起来的,不同的物理网络,寻址方式很可能是不同的,可能根本不使用MAC地址。这样,不同的物理网络想要进行通讯就变得十分困难,因为彼此的数据帧相互不兼容。所以,我们想要一个公用的标准去遵循,这个标准就是IP。IP地址大家都知道了,属于TCP/IP协议族,它属于网络分层的第三层(网络层)。分层的好处是什么呢?就是让你不再去考虑两个不同的实现方式的物理网之间如何通讯,比如一个以太网和一个令牌环网。它屏蔽了下层的东西,让所有的网络都建立在IP地址之上,整个互联网在第三层看起来就像是一个巨大的IP网,大家都不去管什么以太网啊,令牌网,无线网啥的,都叫IP网,都统一使用IP来进行通讯。有了这样的统一标准是不是就很方便了呢?
那你可能会问?那好,那就只要IP地址,不要MAC地址呗?
首先,你得明白,IP地址是有限的,根本就不够用,不可能每一台计算机都给你一个可以直接联网的固定的IP(你每次联网可能你的IP都在变化)。相反,MAC地址全球固定而且唯一的,有了MAC地址就能准确的找到你的计算机。就好比手机号和身份证号,手机号可以换,而且你换了手机号,我可能就找不到你了,但是你的身份证号不会变,有了它就一定能找到你。而且,如果IP层抢了第二层的饭碗,你就不得不考虑第二层的很多东西了,这就让IP层的实现变得十分困难,这就不符合分层简化的思想。当初就是想降低实现难度而分层,现在搞得又不分,你说是不?