MAC地址、IP地址、ARP协议

简介: 自己总结下

我们先从一个实际问题出发:

小明和小红约好周末去小红家里玩,小红和小明说了他的地址是:杭州市.西湖区.西湖小区.1号。
小明第一次去,他看了下导航,导航显示需要先步行到附近地铁A口,坐地铁到西湖站C口,步行到小红家。
小明第二次去,这时候就不需要导航了,他已经记住了。

同理,两台电脑A、B相互传数据时,电脑A是如何将数据包发送到电脑B呢?
image.png

请忽略图中的集线器

在A第一次连接B时,A仅仅知道B的ip地址,并不知道B的MAC地址,那么A能通过B的ip地址找到B吗?
答案是否定的。
因为IP地址是网络层的,类似于小红家,网络层并不负责数据的直接传输。当网络层的数据封装到下一层的数据链路层时,必须依靠着MAC地址来确认下一步往哪里走。
这时候没有B的MAC地址也没有导航怎么办?
聪明的电脑A想到了一种办法,我是用网线的,我传数据的速度非常快,我给连接的所有的电脑都发送下,收到数据的电脑确认下数据里面的IP地址与自己的是否一致,这样就可以成功将数据发送到B了。这种给所有电脑传数据的方式叫做广播。
image.png

这里CD都知道这个数据包不是发给自己的,就没有接收

当B接收到A的广播请求时,收到的数据里面有A的IP地址、MAC地址,这样B就可以给A单独发一条数据包。这种方式叫做单播,B也会将A的IP和MAC的映射关系记录在自己的ARP表中
image.png
image.png

这条单播数据成功到达A,A就知道了B的MAC地址啦。同理A也会将B的IP和MAC映射记录在自己的ARP中
image.png
在A第二次连接B时,他的数据就知道如何走了

总结下:

IP地址和MAC的主要区别:
IP地址封装在网络层,他是数据传输的终极地址,可以理解为小红家,当数据包传输过程中路过每一个交换机(理解为地铁站),这些数据在传输的时候只认MAC地址,比如一开始数据出发时,他的IP地址是小红家(杭州市.西湖区.西湖小区.1号)他的MAC地址并不是小红家的MAC地址,而是交换机(地铁站)的MAC地址。

ARP协议:当两台设备第一次交互时,在不清楚目的MAC地址时,通过广播发送请求数据包,当目的IP地址接收到数据时,更新自己的ARP缓存表,单播回应给数据发送者,发送者收到请求,再更新自己的ARP。

目录
相关文章
|
网络协议 安全 NoSQL
网络空间安全之一个WH的超前沿全栈技术深入学习之路(8-2):scapy 定制 ARP 协议 、使用 nmap 进行僵尸扫描-实战演练、就怕你学成黑客啦!
scapy 定制 ARP 协议 、使用 nmap 进行僵尸扫描-实战演练等具体操作详解步骤;精典图示举例说明、注意点及常见报错问题所对应的解决方法IKUN和I原们你这要是学不会我直接退出江湖;好吧!!!
网络空间安全之一个WH的超前沿全栈技术深入学习之路(8-2):scapy 定制 ARP 协议 、使用 nmap 进行僵尸扫描-实战演练、就怕你学成黑客啦!
|
网络协议
用户态协议栈04-定时arp-table的实现
用户态协议栈04-定时arp-table的实现
|
缓存 网络协议 Linux
Python渗透测试之ARP毒化和协议应用
Python渗透测试之ARP毒化和协议应用
338 0
|
网络协议 安全 网络安全
ARP协议详解及其工作原理
【8月更文挑战第31天】
1620 0
|
存储 缓存 监控
|
缓存 网络协议 安全
【网络工程师】<软考中级>解析协议ARP&路由协议RIP/OSPF/BGP
【1月更文挑战第27天】【网络工程师】<软考中级>解析协议ARP&路由协议RIP/OSPF/BGP
|
缓存 网络协议 网络架构
【计算机网络】第三章 数据链路层(MAC地址 IP地址 ARP协议)
【计算机网络】第三章 数据链路层(MAC地址 IP地址 ARP协议)
829 1
|
缓存 网络协议
用户态协议栈02-arp reply实现
用户态协议栈02-arp reply实现
|
网络协议 Linux Android开发
计算机网络:MAC地址 & IP地址 & ARP协议
计算机网络:MAC地址 & IP地址 & ARP协议
1509 7

热门文章

最新文章