有类路由和无类路由
10.0.0
.0/16 is subnetted, 1 subnets
10.0.0
.0/16 is subnetted, 1 subnets
动态路由的路由协议包括有类路由协议和无类路由协议。
有类路由协议有
RIP V1 , IGRP
无类路由协议有
RIP V2,OSPF ,EIGRP,ISIS ,BGP
有类路由协议:
特性:
1
,路由更新时不包括子网掩码。
2
,网络的自动汇总默认是开启的。
3
,同一路由器的各个子网不在同一网段。
有类路由协议的原理。
1,
当路由协议收到路由后,如果该路由与路由器接受端口的
IP
地址,在同一主网,使用该端口的掩码作为路由掩码。
2
当路由协议收到路由后,如果该路由与路由器接受端口的
IP
地址,不在同一主网,按照“类”的连接作路由汇总。
2,
同一网络的各个子网不能被其他的网络分隔。
Router(config)#host R1
R1(config)#int lo0
R1(config-if)#ip addr
10.2.0
.1 255.255.0.0
R1(config-if)#int s1/0
R1(config-if)#ip addr 172.16.2.1 255.255.255.0
R1(config-if)#encap hdlc
R1(config-if)#clock rate 56000
R1(config-if)#no shut
R1(config-if)#exi
R1(config)#router rip
R1(config-router)#net
10.2.0
.0
R1(config-router)#net 172.16.2.0
Router(config)#host R2
R2(config)#int s1/0
R2(config-if)#ip addr 172.16.2.2 255.255.255.0
R2(config-if)#encap hdlc
R2(config-if)#no shut
R2(config)#int s1/1
R2(config-if)#ip addr 172.16.1.1 255.255.255.0
R2(config-if)#encap hd;c
R2(config-if)#encap hdlc
R2(config-if)#clock rate 56000
R2(config-if)#no shut
R2(config-if)#exit
R2(config)#router rip
R2(config-router)#net 172.16.2.0
R2(config-router)#net 172.16.1.0
R2(config-router)#exit
Router(config)#host R3
R3(config)#int lo0
R3(config-if)#ip addr
10.3.1
.1 255.255.0.0
R3(config-if)#int s1/1
R3(config-if)#ip addr 172.16.1.2 255.255.255.0
R3(config-if)#encap hdlc
R3(config-if)#no shut
R3(config-if)#exit
R3(config)#router rip
R3(config-router)#net
10.3.1
.0
R3(config-router)#net 172.16.1.0
R1#
R1#show ip ro
172.16.0.0/24 is subnetted, 2 subnets
R 172.16.1.0 [120/1] via 172.16.2.2, 00:00:15, Serial1/0
分析:
R1
学习
R2 172.16.1.1
路由时,由于它的主网是
172.16.0.0
,而自己接受端口的主网也是
172.16.0.0
,显然是同一主网,所以按照有类路由协议路由原理,使用接受端口的掩码即
172.16.2.1
的掩码作为路由掩码。所以
R1
路由表中有
172.16.0.0/24
的路由
。
C 172.16.2.0 is directly connected, Serial1/0
C
10.2.0
.0 is directly connected, Loopback0
两个直连路由就不做解释了。
疑问:
10.3.1
.0
???????????
R1
上为什么会学习不到呢?
这个问题要先从
R2
上分析,
R3
要将
10.3.1
.1
发送个
R2
,它的主网是
10.0.0.0
,而
R2
的接受端口的主网是
172.16.0.0
,
显然不在同一主网,按照“类”的连接做路由汇总,
10.3.1.1
是
A
类
ip
,而
R2
中没有
10
网段的路由,直接进行更新,
还有一种情况是,
R2
中存在
10
网段的路由,那样的
话就得比较路由的发送者,同一发送者,直接更新,不同发送者,按照路由度量大小,越小越好,好的留下,坏的丢弃
。这里
仅仅是
第一种情况,所以
R2
上会学到
10.0.0.0/8
的路由。同理,
R2
将
10.0.0.0/8
的路由发送给
R1,
主网是
10.0.0.0
,和
R1
上接受端口
172.16.2.1
的主网不是同一主网,按照“类”的连接做路由汇总,属于
A
类路由,不同上面的是这里属于第二种情况,
R1
中存在
10.0.0.0
的路由,显然不是同一发送者,本路由器的
10.2.0.1
的路由度量是
0
,而邻居发送来的
10.0.0.0
的路由度量是
2
,显然保留自己的
IP
,丢弃发送来的,所以
R1
上是学习不到
10.3.1.1
的路由的。
R2#
R2#show ip ro
172.16.0.0/24 is subnetted, 2 subnets
C 172.16.1.0 is directly connected, Serial1/1
C 172.16.2.0 is directly connected, Serial1/0
R
10.0.0
.0/8 [120/1] via 172.16.2.1, 00:00:09, Serial1/0
R3
要将
10.3.1
.1
发送个
R2
,它的主网是
10.0.0.0
,而
R2
的接受端口的主网是
172.16.0.0
,
显然不在同一主网,按照“类”的连接做路由汇总,
10.3.1.1
是
A
类
ip
,而
R2
中没有
10
网段的路由,直接进行更新,所以
R2
上会学到
10.0.0.0/8
的路由。
R3#show ip ro
172.16.0.0/24 is subnetted, 2 subnets
C 172.16.1.0 is directly connected, Serial1/1
R 172.16.2.0 [120/1] via 172.16.1.1, 00:00:12, Serial1/1
C
10.3.0
.0 is directly connected, Loopback0
RIP V1
特性:
1,
路由更新是广播更新
。
2,
自动汇总是开启的,且不能关闭。
3,
不支持变长掩码。
有类路由协议转发数据包的原理
;
1,
按照最长匹配原则。
2
,如果包的目的地对应地具体路由不存在,但存在默认路由,用默认路由转发该包,如果不存在默认路由,包被丢弃。
4,
如果包的目的地址的具体路由不存在,但路由表中存在与该目的地在同一主网的其他子网的路由:
A,
如果命令
IP classless
开启,且不存在默认路由,用默认路由转发该包。
A,
如果命令
IP classless
没开启,包被丢弃。
(config)# IP classless
// IP classless
默认开启的。
无类路由协议:
特性
;
1,
路由更新时包括子网掩码。
2,
支持变长掩码。
3
,组播更新路由。
4
,自动汇总是开启的,但可以关闭。
5,
支持手工路由汇总。
RIP V2
特性
;
1,
属于距离矢量路由协议。
2
,路由的度量是跳数。
3,
每隔
30
秒发送路由更新。
4,
支持默认
4
条最多
6
条等开销路径做负载均衡。
5,
发送路由更新时,累计距离
6,
最大有效跳数是
15
7,
属于无类路由协议
8,
支持变长掩码。
9,
组播更新路由信息。
10,
自动汇总是开启的,但可以关闭,支持手工汇总。
本文转自shenleigang 51CTO博客,原文链接:
http://blog.51cto.com/shenleigang/150685
,如需转载请自行联系原作者