更新时间:2022-08-25 17:51
默认路由(Default route),是对IP数据包中的目的地址找不到存在的其他路由时,路由器所选择的路由。目的地不在路由器的路由表里的所有数据包都会使用默认路由。这条路由一般会连去另一个路由器,而这个路由器也同样处理数据包: 如果知道应该怎么路由这个数据包,则数据包会被转发到已知的路由;否则,数据包会被转发到默认路由,从而到达另一个路由器。每次转发,路由都增加了一跳的距离。
(参考图1所示)
默认路由和静态路由的命令格式一样。只是把目的地ip和子网掩码改成0.0.0.0和0.0.0.0。由于默认路由只能存在末梢网络中,所以只有R1和R3可用,配置格式为:R1(config)#ip route 0.0.0.0 0.0.0.0 10.0.0.2
R3(config)#ip route 0.0.0.0 0.0.0.0 20.0.0.1
(Default route),是对IP数据包中的目的地址找不到存在的其他路由时,路由器所选择的路由。目的地不在路由器的路由表里的所有数据包都会使用默认路由。这条路由一般会连去另一个路由器,而这个路由器也同样处理数据包: 如果知道应该怎么路由这个数据包,则数据包会被转发到已知的路由;否则,数据包会被转发到默认路由,从而到达另一个路由器。每次转发,路由都增加了一跳的距离。
当到达了一个知道如何到达目的地址的路由器时,这个路由器就会根据最长前缀匹配来选择有效的路由。子网掩码匹配目的IP地址而且又最长的网络会被选择。用无类别域间路由标记表示的IPv4默认路由是0.0.0.0/0。因为子网掩码是/0,所以它是最短的可能匹配。 当查找不到匹配的路由时,自然而然就会转而使用这条路由。同样地,在IPv6中,默认路由的地址是::/0. 一些组织的路由器一般把默认路由设为一个连接到网络服务提供商的路由器。这样,目的地为该组织的局域网以外——一般是互联网、城域网或者VPN——的数据包都会被该路由器转发到该网络服务提供商。当那些数据包到了外网,如果该路由器不知道该如何路由它们,它就会把它们发到它自己的默认路由里,而这又会是另一个连接到更大的网络的路由器。同样地,如果仍然不知道该如何路由那些数据包,它们会去到互联网的主干线路上。这样,目的地址会被认为不存在,数据包就会被丢弃。
指定默认路由(last resort gateway)的命令:
ip route 0.0.0.0 0.0.0.0
ip default-network
ip default-gateway
default-information originate
当路由器上的ip routing无效时,使用它指定默认路由,用于RXBoot模式(no ip routing)下安装IOS等。或者关闭ip routing 让路由器当主机用,此时需要配置默认网关。另外此命令常用于二层交换机上,因为在二层交换机上没有第三层路由表项。
2、ip default-network和ip route 0.0.0.0 0.0.0.0
两者都用于ip routing有效的路由器上,区别主要在于路由协议是否传播这条路由信息。比如:IGRP无法识别0.0.0.0,因此传播默认路由时必须用ip default-network。
当用ip default-network指令设定多条默认路由时,administrative distance最短的成为最终的默认路由;如果有复数条路由distance值相等,那么在路由表(show ip route)中靠上的成为默认路由。
同时使用ip default-network和ip route 0.0.0.0 0.0.0.0双方设定默认路由时,如果ip default-network设定的网络是直连(静态、且已知)的,那么它就成为默认路由;如果ip default-network指定的网络是由交换路由信息得来的,则ip route 0.0.0.0 0.0.0.0指定的表项成为默认路由。
2513(config)# ip default−network 171.70.0.0
用ip default−network宣告网络时,如果宣告的不是主类网络,路由表就不会标记为*。而是多出一条静态路由(RUN里面也有),如果宣告的是主类网络就会标记为*号。(这是没有路由协议的情况)
在有路由协议的环境下:
IGRP/EIGRP:ip default-network 宣告的网络必须是被EIGRP或IGRP或重分布进来的路由
RIP:ip default-network 宣告的网络被标记为R*
IS-IS/OSPF:不支持
2.ip route 0.0.0.0 0.0.0.0
创建一条静态路由到网络0.0.0.0 0.0.0.0是做默认路由的另一个方法,与ip default-network一样,ip route
0.0.0.0 0.0.0.0 同样不用依赖任何路由协议,但是ip routing必须打开。
IGRP不能理解ip route 0.0.0.0 0.0.0.0这条命令,EIGRP可以用这条命令,但是这条命令如果来自一条静态路由,则必须将这条静态路由重发布进EIGRP中!在rip早期版本中,ip route 0.0.0.0 0.0.0.0会自动发布,但在CISCO IOS 12.0T之后,发布的路由必须是RIP所学到或重分布进来的,OSPF 、ISIS同样不支持,可以用default-information originate来进行发布
最后,如果使用多条ip route 0.0.0.0 0.0.0.0指令,则流量会自动在多条链路上负载均衡。