ARP 协议

有关 ARP 协议

ARP 协议:由 IP 地址获取与该 IP 地址绑定的 MAC 地址。
ARP-A 协议:MAC → IP
DNS 协议:IP → 域名,或域名 → IP。

例一:同一局域网内两主机通信

在这里插入图片描述
如图,假设主机 1 要给主机 3(同一局域网)发送一个 PDF 文件。

1)首先,应用层:message,到了传输层,将message划分成报文段segment,再往下传。

2)在网络层,需要封装源IP地址和目的IP地址,目的IP地址由 DNS 协议获得。

3)到了数据链路层,需要加头(FCS)和尾(源MAC地址和目的MAC地址)。

其中,目的 MAC 地址由 ARP 协议获得,如果本机的 ARP 高速缓存中没有目的 IP 对应的 MAC 地址,则向网络发送一个广播 ARP 请求分组(包含源IP地址、目的IP地址、源MAC地址以及全1的目的MAC地址,表明这是一个广播帧,以能从交换机中通过,但不能从路由器中通过,因为 ARP 广播属于局域网广播)。

目的IP主机获悉后,返回一个单播 ARP 响应分组。即 ARP 请求是广播,响应是单播。

拿到目的 MAC 地址后,封装成帧,得以在链路上传输。 数据链路层是认识 MAC 地址的,所以最后可以成功把数据帧传给目的 MAC。

4)到了物理层,将数据帧转换成比特流进行传输。

例二:非同一局域网,两主机通信

在这里插入图片描述
现在假定主机 1 要和主机 5 通信。

步骤 1)、2)和例一相同。只是到了第 3)步,因为封装数据帧需要目的 MAC地址。

通常来说,本机的 ARP 高速缓存只有本局域网内的映射。而主机 1 和主机 5 并不在同一局域网内(不同网段)。Worse still,ARP 请求广播并不能通过路由器!而主机 1 和主机 5 隔了好几个路由器呢!

解决办法就是先把数据帧传给最近的路由器或(默认)网关,路由器传给路由器,重复这一步骤,直到传到了目的 MAC 所在的局域网。

插播一个疑问:为什么不传给交换器呢?因为交换器没有 MAC 地址。

那它是怎么传给默认网关的呢?填写默认网关的 MAC 地址就好。通过 ARP 请求广播可以获取默认网关的 MAC 地址。

数据帧到达网关(路由器)后,会重复进行3)的步骤,即:查找 ARP 高速缓存,没找到则发送 ARP 请求广播,不同网段则转给下个路由。

相关例题

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值