静态路由使用下一跳IP与出接口的区别

拓扑图:

210834964.png


以太网链路中:两个接口之间的通信是靠MAC地址,根据MAC地址,将数据封装成数据帧后传送到网络,进而通过物理线路传送给对方。而获取到对端的MAC地址,是通过ARP来完成的。


例:

1,当静态路由中下一跳使用出接口时,路由器会认为目标网络和接口处在“直连网络”中。

如:R1(config)#ip route 192.168.2.0 255.255.255.0f0/0

查看路由表:R1#show ip route

210834122.png


在以太网直连网络中设备间的通信是靠ARP广播来获取到目标主机的MAC地址。即当R1要访问192.168.2.2这个ip地址时,R1会认为目标网络是和自己直连的(虽然这时候实际是静态路由),于是R1就要在F0/0口向网络发出ARP请求广播,来寻找192.168.2.2所对应的MAC地址。


这时,如果R2启用了ARP代理,那么R2将代替R3应答此ARP请求,即R2告诉R1:192.168.2.2所对应的MAC地址是R2的F0/0接口的MAC。

如果R2的ARP代理功能关闭,那么R1将不能ping通192.168.2.2


使用出接口的弊端:

如果R3后面接了些pc机,当R1要访问这些pc机时,都会产生一条该pc机和MAC地址对应的ARP条目缓存,如果pc机的数量很大,此缓存也会很大,会导致R1耗费很大内存来维护。



2,当静态路由中下一跳使用ip地址时,路由表中显示的是下一跳地址。

如:R1(config)#ip route 192.168.2.0 255.255.255.0 192.168.1.2

查看路由表:R1#show ip route

210835833.png

这时去往192.168.2.2的网段只会维护一条ARP缓存,即192.168.1.2所对一个的是R2的F0/0接口地址。即使R3后面接了多台主机,也只需要维护这么一条ARP缓存记录。



二:点到点网络环境下:无论是指定下一跳地址还是出接口,都是一样的。因为这种环境下使用HDLC和PPP等协议来进行二层封装,不需要进行ARP的解析。




结论:

1、在点到点网络环境下,无论是指定下一跳地址还是出接口,都是一样的

2、在广播网络环境下,则不然。如果指定为出接口的话,那么不管数据包的目标地址是否有效,每次当数据包到达时都会触发一个ARP请求,又因为ARP代理功能在IOS环境下默认是打开的,这就意味着路由器需要配置大量的ARP高速缓存。而如果是指定为下一跳地址的话,仅当第一个去往目标网络的数据包到达时,才会触发ARP请求。


你可能感兴趣的:(Cisco,路由,下一跳,出接口)