arp是什么协议(网络工程师:这样理解ARP协议你还觉得难么?)

ARP协议

今天我想和大家讲一讲数据链路层的一个重要协议—ARP协议首先我们要知道在计算机网络中我们两台计算机要通信,必须知道对方的网络地址(IP地址),我们的ip地址有我们的网络层来提供农,但是仅仅有ip地址我们的数据是没办法送到对方的电脑中的,为什么?因为我们的ip数据包在网络传输过程中还必须封装成帧才能送到目的地,然后我们来说一下数据帧的结构,在里面包含一个很重要的东西那就是双方的物理地址(MAC地址)。

我们怎么获取对方的MAC地址?我们可以通过已知的IP地址通过ARP协议来实现的。

这就是帧格式当类型为0806的时候属于ARP数据请求/应答帧。

arp是什么

ARP请求

我们看上图的网络拓扑结构主机A要和主机C通信,但是事先他并不知道自己C的MAC 地址是多少,那这时候他怎么办?只能发一个广播包了呀,帧结构里面的源MAC地址填的是自己的MAC ,目标地址的MAC不知道那就是FF-FF-FF-FF-FF-FF,ARP 请求报文中包含源IP地址、目的IP地址、源MAC地址、目的MAC地址(目的MAC的值为0),请求报文会在网络中传播,该网络中的所有网关都会接受到ARP请求报文。

通俗一点来说ARP请求报文就是:比如你在新转入一个大班级谁你都不认识,有一天你要找班长办事,但是你不知道班长是谁呀,这时候你往班级里面大喊一声“谁是班长我有事找你一下”,首先这时候你的声音全部人都听得见,但是其他同学并不会回应你,只有班长站起来回答你说“你好同学,我是班长,我在第一桌,请问你有什么事?”看吧这就是一次完整的ARP请求/应答过程。

在网络中所有主机都会收到你的广播报文。但是大家发现你找的不是他们他们就不给你回应,只有当协议地址字段与自身IP地址匹配的时候才会有应答。

ARP应答

当主机C收到A主机发送的广播包后知道就是找它,那它得给主机A回应一个ARP应答呀,ARP应答报文中的源协议地址变成了主机C主机的IP地址,目标地址就是主机A的IP地址,目的MAC是主机A的MAC ,源MAC地址就是主机的MAC地址,然后通过单播的方式传送到主机A。

ARP缓存

当主机A收到ARP应答后做的事情就是把主机C的MAC 地址存放到自己的ARP缓存表中,下次如果还有数据包要发送往C,那它就不会广播再去发一次而是找到ARP缓存表的记录,然后把C的MAC地址填上去就发送数据包了。

在这里留两个探讨的话题有兴趣可以说说你自己的看法:

1、网络设备在什么情况下会发送ARP请求?

2、网络设备什么时候会产生免费的ARP?

您可以还会对下面的文章感兴趣

最新评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

使用微信扫描二维码后

点击右上角发送给好友