静态路由中使用下一跳和出接口的区别
发布网友
发布时间:2022-04-29 01:27
我来回答
共2个回答
热心网友
时间:2022-06-27 13:42
在以太网中,两个接口之间的通信需要使用MAC地址,根据MAC地址,将数据封装成数据帧后传送到网络,进而通过物理线路传送给对方。而获得对方的MAC地址,是通过ARP的过程完成的。
当静态路由中使用出接口时,路由器会认为目标网络和接口处在“直连网络”中。 R1(config)#ip route 23.23.23.0 255.255.255.252 f0/0
查看:这时R1认为23.23.23.0/30这个网段是和自己直连的,
在以太网直连网络中设备间的通信是通过ARP广播来获取到到达目标主机的MAC地址的。即当R1要访问23.23.23.3这个IP地址时, R1认为目标网络是自己的直连网络(这时候还是属于静态路由),于是R1就要在F0/0口向网络发出ARP请求广播,来寻找23.23.23.3所对应的MAC地址。
这时,如果R2启用了ARP代理,那么R2将R3应答此ARP请求,即R2告诉R1:23.23.23.3所对应的MAC地址是R2的F0/0接口的MAC。如果R2的ARP代理功能关闭,那么R1将不能ping通23.23.23.3。假设R3后面接了些的PC机,当R1要访问这些PC机时,都会产生一条该PC机和MAC地址对应的ARP条目缓存,如果PC机的数量很大,该缓存也很大,有可能导致R1耗尽内存来维护。
在静态路由中使用下一跳,路由表中显示的是下一跳的IP。
R1(config)#ip route 23.23.23.0 255.255.255.252 12.12.12.2
查看:
这时去往23.23.23.0/30的网段只会维护一条ARP缓存,即12.12.12.2所对应的是R2的F0/0接口地址。即使R3后面接了多台主机,也只需要维护这么一条ARP缓存记录。
如果在点到点网络环境下,无论是指定下一跳地址还是出接口,其效果都是一样的。使用如 HDLC 和 PPP 之类协议来进行二层的封装,不需要进行ARP的解析。
结论:
在配置静态路由时,既可指定出接口,也可指定位下一跳,到底采用哪种方法,需要根据实际情况而定。
在点到点网络环境下,无论是指定下一跳地址还是出接口,其效果都是一样的。
但是在广播网络环境下,指定下一跳地址和指定出接口将会达到不同的效果。如果指定为出接口的话,那么不管数据包的目标地址是否有效,每次当数据包到达时都会触发一个ARP请求,又因为ARP代理功能在IOS环境下默认是打开的,这就意味着路由器需要配备大量的ARP高速缓存。而如果是指定为下一跳地址的话,仅当第一个去往目标网络的数据包到达时,才会触发ARP请求。
热心网友
时间:2022-06-27 13:43
你可以你可以分别写下一跳和出站接口的静态路由。然后分别showiproute查看路由表。你会发现出站接口的静态路由相当于直连的路由,AD值可以说是0,但是下一跳的静态路由AD值为1。所以同时存在的时候还是选择出接口的静态路由