静态路由指出接口和下一跳有什么区别
配置出接口:认为目标网络本地可达,请求的是目标网络的MAC P2P
配置下一跳:认为目标网络本地不可达,请求的是下一跳的地址 MA
[AR1-GigabitEthernet0/0/1] ip address 12.1.1.1 255.255.255.0
[AR1]ip route-static 2.2.2.2 32 GigabitEthernet 0/0/1
[AR2-GigabitEthernet0/0/0]ip ad 12.1.1.2 24
[AR2-GigabitEthernet0/0/0]int lo 0
[AR2-LoopBack0]ip ad 2.2.2.2 32
[AR1]ping 2.2.2.2
PING 2.2.2.2: 56 data bytes, press CTRL_C to break
Request time out
在g0/0/1口抓包的情况如下
[AR1]undo ip route-static 2.2.2.2 32 GigabitEthernet 0/0/1
[AR1]ip route-static 2.2.2.2 32 12.1.1.2
[AR1]ping -c 1 2.2.2.2
PING 2.2.2.2: 56 data bytes, press CTRL_C to break
Reply from 2.2.2.2: bytes=56 Sequence=1 ttl=255 time=30 ms
— 2.2.2.2 ping statistics —
1 packet(s) transmitted
1 packet(s) received
0.00% packet loss
round-trip min/avg/max = 30/30/30 ms
代理ARP(Proxy-arp)的原理就是当出现跨网段的ARP请求时,路由器将自己的MAC返回给发送ARP广播请求发送者,实现MAC地址代理(善意的欺骗),最终使得主机能够通信。
图中R1和R3处于不同的局域网,R1和R3在相互通信时,R1先发送了一个ARP广播数据包,请求R3的mac地址,但是由于R1是12.1.1.0网段,而R3是13.1.1.0网段,R1和R3之间是跨网段访问的,也就是说R1的ARP请求会被R2拦截到,然后R2会封装自己的mac地址为目的地址发送一个ARP回应数据报给R1(善意的欺骗),然后R2就会代替R1去访问R3。
整个过程R1以为自己访问的是R3,实际上真正去访问R3的是R2,R1却并不知道这个代理过程,这就是所谓的ARP代理,通常用于跨网段访问。
注意:如果R2关闭了arp的代理功能,那么R1再访问R3的时候,R2并不会把自己的mac地址给R1,那么R1和R3之间就无法通信。默认情况下,思科的设备是开启了arp代理功能,也就是说,R2会作为中间代理实现R1和R3之间跨网段通信。
代理ARP的使用场景为:1. 没有路由功能的主机,2. 有路由功能,目的地指向本地出口
注意:在点对点链路中不使用ARP,实际上在点对点网络中也不使用MAC地址,因为在此类网络中分别已经获取了对端的IP地址。
代理ARP是ARP协议的一个变种。 对于没有配置缺省网关的计算机要和其他网络中的计算机实现通信,网关收到源计算机的 ARP 请求会使用自己的 MAC 地址与目标计算机的 IP地址对源计算机进行应答。代理ARP就是将一个主机作为对另一个主机ARP进行应答。它能使得在不影响路由表的情况下添加一个新的Router,使得子网对该主机来说变得更透明化。同时也会带来巨大的风险,除了ARP欺骗,和某个网段内的ARP增加,最重要的就是无法对网络拓扑进行网络概括。代理ARP的使用一般是使用在没有配置默认网关和路由策略的网络上的
如下其它人的博客,本人实验未做通,后续… …
https://blog.csdn.net/mypanlong/article/details/49000285
在配置静态路由时,下一跳可以使用下一路由器的IP地址,也可以使用本路由器的出站接口。在点对点的网络中,两者可能没有什么差别,但在以太网中,两者有很大差别。
在以太网中,两个相邻接口之间的通信是依靠MAC地址。相邻接口通信时,需要知道对方的MAC地址,根据MAC地址,将通信数据转换成数据帧后交付给网络,进而到对方。而对方MAC地址的获得,是通过第二层数据帧广播,由ARP协议完成的。
当静态路由中使用出站接口做为下一跳时,路由器会认为目标网络和接口处在“直连网络”中。