IP地址与MAC地址缺一不可吗?

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/guorong520/article/details/81132586

答案是肯定的,最近复习到了网络这块的知识,才突然弄懂了。


(1)首先,我们如果第一次将信息从A端发往B端,那么信息需要从应用层到物理层一层一层进行封装,到达对端后再从物理层到应用层依次解包,拿到信息。

(2)A端发送的信息到了网络层的时候只能知道对方的IP地址,却不了解对方的MAC地址,到不了数据链路层,无法发送帧,所以这时我们就需要使用ARP协议,来获取到对端的MAC地址。

(3)这时就有人说,为啥不直接使用IP地址,知道了对端的IP地址就可以直接发送了,是的,它确实可以识别一台主机,但是在局域网中,IP地址都是动态分配的,当你下一次发送消息时,说不定就不是这个IP地址了(分配到了新的IP地址),但是MAC地址就不存在这个问题,其序列号存在于网卡中,全球唯一,一出厂网卡上就烧录了MAC地址(48位的序列号)。那么此时有人就说光使用MAC地址不就够了,还需要IP地址干嘛?

(4)其实,MAC地址种类繁杂,到处分布在世界上海量的主机上,要是光靠MAC地址来找对端,不知道路由器转发的消息得到猴年马月才能到对端手上,那么,此时IP地址的优势就体现了出来。IP地址的分配有一定的区域性,通过IP地址可以将地址进行集约。就好比你找某个地方,通过IP地址你可以找到大致的方位,如中国陕西,再通过MAC地址,找到具体地方的街道门牌号。


附:ARP协议
(1)作用:
(第一次进行通信)知道了自己的IP地址和对方的IP地址,通过ARP协议,得到对方的MAC地址。

(2)为什么要有ARP协议呢,及原理?
因为在局域网里,信息是通过MAC地址来进行传送的。任何数据都要经过七层模型,通过一步一步的封装,到达对端后,在依次进行解包,将数据发送到对端用户。当你添加了网络层的IP报头,此时你就需要添加下两层的信息(MAC地址)你才能进行发送。

(3)过程
计算机会从当前的路由缓存表中进行查找对端IP地址的MAC地址,如果没有就发送包括IP地址的ARP请求广播到网络中,里面包含MAC地址是FFFFFFFF,其他交换机收到后,检测是否与自己的IP地址相同,不相同直接丢弃,如果找到,主机B会发送回应ARP报文(单播报文),并且也会将此映射关系存入到本地缓存表中。
主机A收到后,就将此IP地址和MAC地址的映射关系存入到本机ARP缓存表中并保留一段时间。下次请求时,就不需要再次查询。这张表分为动态和静态项目,动态表十分钟刷新一次,静态只有重新启动计算机才会被清除。

猜你喜欢

转载自blog.csdn.net/guorong520/article/details/81132586