爱的网站歌曲,搜索引擎网站建设公司,做网站需要什么手续,phpcms v9 实现网站搜索之前在讨论MAC地址和IP地址时#xff0c;顺便对ARP协议做了初步的总结
#xff08;计网第三章#xff08;数据链路层#xff09;#xff08;四#xff09;#xff08;MAC地址和IP地址、ARP协议、集线器和交换机#xff09;#xff09;#xff0c;但是当时对ARP请求的…之前在讨论MAC地址和IP地址时顺便对ARP协议做了初步的总结
计网第三章数据链路层四MAC地址和IP地址、ARP协议、集线器和交换机但是当时对ARP请求的间接交付没有进行详细探讨。
一、间接交付
简单来说直接交付就是在同一个网络里面而间接交付不在同一个网络里。也就是必须要跨网络进行。
在前面有提到ARP协议是不能够跨网络进行的每个ARP缓存表只有本地局域网内的相关MAC地址。当一个主机要给另一个主机发送数据包中间肯定是进行了多次ARP协议的。
二、间接交付具体过程
假设主机A和主机B之间只隔了一个路由器。现在主机A想要给主机B发送数据A在自己的ARP缓存表中没有找到主机的IP地址和MAC地址的映射在经过将B的IP地址和自己的子网掩码相与后主机A发现主机B并不和自己在一个网络里面。
于是主机A就会先给默认网关发送一个广播ARP请求源IP地址是自己的IP地址目的IP地址是默认网关的IP地址源MAC地址是自己的MAC地址目的MAC地址是FF-FF-FF-FF-FF-FF。
默认网关收到后给主机A发送一个ARP单播响应报文目的地址字段为主机A的目的地址字段报文中有网关自己的IP地址和MAC地址。
这样主机A就会将默认网关的MAC地址和IP地址的映射关系存入自己的ARP缓存表中。
随后当主机A给主机B发送数据的时候就会将报文封装发送给默认网关。其中源IP地址是主机A的IP地址目的IP地址应该属主机B的IP地址源MAC地址是主机自己的MAC地址目的MAC地址是默认网关的MAC地址。
默认网关收到后便会先在自己的ARP表里查找是否有B的MAC地址如果没有就发送ARP广播请求如果有就直接转发给主机B。
我们可以看到间接交付主机A并不知道主机B的MAC地址它只知道默认网关的MAC地址出现间接交付的情况时就要将报文交付给默认网关而默认网关进行后续操作。从这也可以得到路由器也是有ARP缓存表的。
总结
1、博主起初对主机发送广播帧给默认网关比较迷惑路由器不是隔离广播域的吗那么主机发送广播ARP请求帧路由器收到后不应该就抛弃了吗
事实上路由器对于广播帧进行的接收不转发操作比如下图 对于R1路由器很明显它连接的两个接口分别连接一个网络也就是说它有两个广播域我们不能直接说路由器属于哪个广播域只能从接口进行说明。路由器的接口0和N1属于一个广播域接口1和N2属于一个广播域。接口实际上就是在广播域的边界上。
所以对于收到ARP请求广播帧后路由器并不是进行转发操作接收后向主机返回ARP响应单播帧是没有问题的。
2、上面的间接交付只是一种比较简单的情况事实上可能还会有多个路由相连而路由器与路由器之间一般都会用点对点PPP协议所以在它们之间的链路上并不会用ARP协议直接就把报文转发给下一个路由器了。