对于ARP ,若不在同一个网段里,arp请求是如何进行的?有的说给网关就行了,有的要路由器做代理arp怎样的?

让网关接arp请求,与没有配置缺省网关,由路由器做代理有何不同?

楼上说“首先,你要理解ARP请求的原理。 ARP是通过广播发送请求的对吧 。那么 ,路由是上是传播ip地址的。路由代理是通过重新封装mac地址来转发数据的。 网关和路由做转换是同一个道理啦 ”
补充两句:
首先,ARP请求只会请求自己本网段的,不是本网段的所有报文都会发送到默认网关
(或者其他地址,要看路由表上怎么写的)
所谓ARP就是获取IP地址对应的mac地址(IP是网络层的,mac是链路层的)

实际上载不同网段里,你的PC机不会发送不同网段的ARP请求,而是将这个报文直接发给网关,由网关(网关很可能就是一台路由器)来处理。

网关会判断,如果这个地址是它直连的,那么他会发送ARP请求(但是这些操作,PC机已经不知道了,它也没必要知道。),如果不是,网关会将报文扔给它自己的网关(其实是要先查路由表的哦~~)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2023-03-09
你说的是两种情况:
一种是PC设置网关的情况。这种情况下PC Ping 同网段地址,如果未在ARP缓存表里找到对应MAC,则会发送ARP广播请求查询;如果PC ping 不同网段地址,则会默认把数据丢给网关,即源IP是PC自己的IP,目的IP还是那个不同网段地址,但是会把目的MAC封装为网关MAC
另一种是PC未设置网关的情况。Ping同网段就不说了,一样;Ping不同网段也分两种:
一种是PC连接的路由器未开启ARP代理功能,此时会丢包,无法实现通信。
另一种是路由器开启了ARP代理功能,则PCA Ping不同网段地址(PCB)时,也会发送ARP广播请求寻求B的MAC,此时路由器接口收到这个请求后,会代替B主机回复A(因为ARP广播请求无法跨网段),把自己的MAC地址(即路由器的接口地址)给A,让A把数据发给自己,路由器再进行数据转发,实现ARP代理通信。
第2个回答  2011-01-09
首先,你要理解ARP请求的原理。 ARP是通过广播发送请求的对吧 。那么 ,路由是上是传播ip地址的。路由代理是通过重新封装mac地址来转发数据的。 网关和路由做转换是同一个道理啦
相似回答