Examining a Classful Routing Table假设我们使用show ip route命令,产生如下输出:$ B. X |) z! n& i% R
J# show ip route
0 i8 u5 ^( ?. d% ?! P# K. l(略)
% A m& W- U3 U# S) @Gateway of last resort is 0.0.0.0 to network 0.0.0.0
2 i- s5 u# W2 P# W' S10.0.0.0/24 is subnetted, 3 subnets,
( g& s0 f0 \ |R 10.1.1.0/24 [120/1] via 10.1.2.2, 00:00:05, Ethernet0
* Z% P* c( @8 d% ~C 10.1.2.0/24 is directly connected, Ethernet0
8 Y$ T; K/ z) [" |R 10.1.3.0/24 [120/2] via 10.1.2.2, 00:00:05, Ethernet0
" g' _! n! J. J2 X' ^# i$ [R 192.168.24.0/24 [120/2] via 10.1.2.2, 00:00:16, Ethernet09 ^* z4 D& O- U$ A5 z7 V& Z
R 172.16.0.0/16 [120/3] via 10.1.2.2, 00:00:16, Ethernet05 M& f* x8 T4 s! v- a
R* 0.0.0.0/0 [120/3] via 10.1.2.2, 00:00:05, Ethernet08 S E+ i* }/ O% q, u
(略)
5 {6 s( B( b s! S如上,可以看出10.1.2.0/24是直接相连,其他的都是通过RIP学习到的.现在我们假设有以下几个目的地的包,它们对于上面的输出会如何进行匹配:
2 a) U+ @9 Q+ @( R7 }192.168.24.3
3 \( l: g J3 w( @1 G# ?172.16.5.13 \5 ]4 H) |$ x: }; T' r1 B+ ~+ E0 L
10.1.2.7
! y, X; G4 R A! s$ I) ?' o200.100.50.0
2 h# ?, M2 [9 c( Q5 \- F2 `10.2.2.26 G! v. A/ g+ Q, Z
根据show ip route的输出可以看出,到达192.168.24.3的包会跟第四条(92.168.24.0/24)相匹配,(虽然最后一条也可以,但是匹配原则是匹配掩码最长的那条);接下来,172.16.5.1和第五条(172.16.0.0/16)匹配;10.1.2.7和第二条(10.1.2.0)相互匹配;200.100.50.0和前五条都不匹配,和第六条默认路由(0.0.0.0/0)相互匹配;10.2.2.2虽然和前三条的第一个8位位组匹配,但是后面3个8位位组不匹配,所以它将被丢弃而不会采用默认路由
0 r' ?; O l- p4 E/ \- ]$ N如果你在全局模式下使用了ip classless命令的话,目的地是10.2.2.2的包就不会被丢弃,就会采用默认路由.ip classless命令在Cisco IOS版本12.0和12.0以后默认打开的,无须手动打开
; g" y( f( `; RClassless Routing Protocol Concepts
0 m# {& T% ~2 H$ `9 G3 f基于无类概念的路由协议可以说是第二代路由协议,相比基于类的路由协议,它可以解决地址空间过于浪费的问题.这类协议的例子有RIPv2,OSPF,EIGRP,IS-IS,BGPv4.使用无类的路由协议,拥有相同主网络号的不同子网就可以使用不同的子网掩码(VLSM).假如在路由表中到达目的网络的匹配条目不止一条,将会选择子网掩码长的那条进行匹配.比如假如有两条条目172.16.0.0/16和172.16.5.0/24,如果目的地是172.16.5.99的包将会和172.16.5.0/24进行匹配而不是和172.16.0.0/16进行匹配. h! t' D* F5 c7 }& s
还有一点是无类的路由协议的自动汇总可以手动关闭,这样的自动汇总会影响不连续的子网的使用而造成错误的汇总路由信息(这点和基于类的路由协议在不连续子网的情况下的自动汇总所带来的问题是一样的)
, r% k% Y$ H+ E( Q _ p, p. GAutomatic Network-Boundary Summarization Using RIPv2 and EIGRP
0 l8 r" C6 x4 F: }6 \4 G0 z: c基于无类的路由协议一般不会对所有的子网进行宣告(advertise).默认的,比如像EIGRP和RIPv2会像基于类的路由协议那样,在网络的边界进行自动汇总,这样就使得它们能和它们的之前的RIPv1和IGRP很好的兼容8 \: k+ [: @ e! c
但是和之前的RIPv1和IGRP不同的是,你可以手动关闭自动汇总.在配置相关路由的时候只需要输入no auto-summary就可以了.这个命令在配置OSPF和IS-IS的时候是不必输入的,因为默认OSPF和IS-IS不会进行自动汇总/ {6 c1 H; Z" S1 w5 R+ o. Z
如下图:
/ i' ?) K& L4 j% B0 U
- ?2 r3 r% ]- O) F9 Q& q" ]! {# V0 ?
/ [$ h* K6 w ?+ {) t+ S如果在不连续子网启用自动汇总会产生问题,比如上图的A和B都将宣告汇总路由172.16.0.0/16给C,因此C不能明确区分它相连的子网谁是谁.所以,要解决这个问题就必须关闭自动汇总.当然有的时候自动汇总能够带来好处 |