RIP协议是内部网关路由协议(IGP),适用于小型网络,典型的距离矢量路由协议,最多支持的跳数为15 ,跳数16表示不可达,跳数最小即为最优路由,跳数相同则为等代价路由,周期性更新,路由更新为完整的路由表,使用UDP 520端口交换路由信息,路由信息每经过一个路由器,跳数加1,使用多个时钟以保证路由的有效性与及时性 。
RIP计时器
更新计时器
30s(为了防止同时更新,叠加一个随机变量,一般为5s之内)
每30s发送更新报文
无效计时器
180s,6倍更新时间内未收到更新,该路由被标记为16跳(不可达)转为无效路由
刷新计时器
水平分割
路由器记住每一条路由信息的来源,并且不在收到这条信息的端口上将它发送出去
该功能在锐捷路由器上默认启用
触发更新
在改变一条路由度量时立即广播一条更新消息,而不管30秒的更新计时器还剩多少时间
毒性逆转
当路由器学习到一条毒化路由(度量值为16)时,对这条路由忽略水平分割的规则,并通告毒化的路由
RIPv1和RIPv2的区别
RIPv1和RIPv2的兼容
RIP-1——只有RIPv1的消息传送
RIP-1兼容性——RIPv2使用广播方式代替组播方式来通告消息,以便RIPv1可以接收它们。
RIP-2——RIPv2使用组播方式通告消息到目的地址224.0.0.9。
None——不发送更新
OSPF是一种内部网关协议(IGP, Interior Gateway Protocol),它工作在一个自治系统中。
OSPF的三张表
邻居表(neighbor table):
也叫adjacency database,存储了邻居路由器的信息。如果一个OSPF路由器和它的邻居路由器失去联系,在几秒钟的时间内,它会标记所有到达那条路由均为无效并且重新计算到达目标网络的路径。
拓扑表(topology table):
一般叫做LSDB,OSPF路由器通过LSA学习到其他的路由器和网络状况。LSA存储在LSDB中。
路由表(routing table):
也就是我们所说的路由表了,也叫forwarding database,包含了到达目标网络的最佳路径的信息。
OSPF的特点
对网络发生的变化能够快速响应。
当网络发生变化的时候进行触发式更新(triggered update)。
发送周期性更新(链路状态刷新),间隔时间为30分钟。
OSPF的邻居关系和邻接关系
邻居路由器(Neighbor):有端口连接到同一个网段的两个路由器就是邻居路由器。邻居关系由OSPF的Hello协议维护。
邻接(Adjacency):从邻居关系中选出的为了交换路由信息而形成的关系。
OSPF区域
OSPF的网络设计要求是双层层次化(2-layer hierarchy),包括如下2层:
中转区域(又称骨干区域,Transit Area, Area 0),负责IP包的快速、有效传输。主要是将常规区域互连,不接入用户。
常规区域(Regular Area),负责接入用户。它只跟中转区域互连。
OSPF区域特征
1.减少了路由选择表条目。
2.将区域内拓扑变化的影响限制在本地。
3.将LSA扩散限制在区域内。
4.要求采取层次网络设计。
OSPF路由器类型
1.内部路由器
内部路由器,是指一个区域内部的路由器,它只维护所在区域的LSDB
区域边界路由器(ABR),指同时连接多个区域的路由器,它维护多区域的LSDB,它至少要连接到骨干区域和一个常规区域
3.骨干路由器
骨干路由器,指在骨干区域(Area 0)内的路由器,它只维护骨干区域的LSDB
4.自治系统边界路由器
自治系统边界路由器(ASBR),指跟其它自治系统区域连接的路由器。它可能会运行多种路由协议,它将其它路由引入到OSPF中,也会将OSPF的发布到其它自治系统的区域中
OSPF报文
①Hello,用于发现邻居并在它们之间建立邻居关系
②数据库描述(DBD, Database Description),用于检查路由器之间的数据库是否同步
③链路状态请求(LSR, Link-State Request),用于向另一台路由器请求特定的链路状态信息
④链路状态更新(LSU, Link-State Update),用于响应请求的链路状态信息
⑤链路状态确认(LSAck, Link-State Acknowledgment),用于对其它报文进行确认
OSPF网络类型
1.广播多路访问网络
广播多路访问网络(支持Ethernet、Token Ring、FDDI),一个节点只要发一个广播包,其他节点都可以收到
2.点到点网络
点到点网络(支持PPP、HDLC),只有收、发两个节点
3.非广播多路访问网络
非广播多路访问网络(支持Frame Relay、X.25、SMDS),网络必须是全连通的,要同时将数据包发给分部1和分部2,必须要发两次
4.点到多点网络
点到多点网络,网络不一定是全连通的,要同时将数据包发给分部1和分部2,必须要发两次
OSPF的路由类型
路由指示符 | 路由类型 | 描述 |
---|---|---|
O | OSPF区域内路由 | 路由器所在区域内的网络,以路由器LSA和网络LSA的方式通告 |
O IA | OSPF区域间路由 | 位于路由器所在区域之外,但在OSPF自主系统内的网络,以汇总LSA的方式通告 |
O E1 | 1类外部路由 | 位于当前自主系统之外的网络,以外部LSA的方式被通告 |
O E2 | 2类外部路由 |
1.在路由器上配置IP路由选择和IP地址
RA#configure terminal
RA(config)#interface gigabitEthernet 0/0
RA(config-if-GigabitEthernet 0/0)#ip address 192.168.20.1 255.255.255.0
RA(config-if-GigabitEthernet 0/0)#exit
RA(config)#int loopback 0
RA(config-if-Loopback 0)#ip address 192.168.10.1 255.255.255.0
RA(config-if-Loopback 0)#exit
RA(config)#int loopback 1
RA(config-if-Loopback 1)#ip address 172.16.1.1 255.255.255.0
RA(config-if-Loopback 1)#exit
RA(config)#int loopback 2
RA(config-if-Loopback 2)#ip address 172.16.2.1 255.255.255.0
RA(config-if-Loopback 2)#exit
RA(config)#int loopback 3
RA(config-if-Loopback 3)#ip address 172.16.3.1 255.255.255.0
RA(config-if-Loopback 3)#exit
RA(config)#int loopback 4
RA(config-if-Loopback 4)#ip address 172.16.4.1 255.255.255.0
RA(config-if-Loopback 4)#exit
RA(config)#int loopback 5
RA(config-if-Loopback 5)#ip address 172.16.5.1 255.255.255.0
RA(config-if-Loopback 5)#exit
RA(config)#int loopback 6
RA(config-if-Loopback 6)#ip address 172.16.6.1 255.255.255.0
RA(config-if-Loopback 6)#exit
RA(config)#int loopback 7
RA(config-if-Loopback 7)#ip address 172.16.7.1 255.255.255.0
RA(config-if-Loopback 7)#exit
RB#configure terminal
RB(config)#interface gigabitEthernet 0/0
RB(config-if-GigabitEthernet 0/0)#ip address 192.168.20.2 255.255.255.0
RB(config-if-GigabitEthernet 0/0)#exit
RB(config)#interface gigabitEthernet 0/1
RB(config-if-GigabitEthernet 0/1)#ip address 192.168.30.1 255.255.255.0
RB(config-if-GigabitEthernet 0/1)#exit
RC#configure terminal
RC(config)#interface gigabitEthernet 0/0
RC(config-if-GigabitEthernet 0/0)#ip address 192.168.30.2 255.255.255.0
RC(config-if-GigabitEthernet 0/0)#exit
RC(config)#interface Loopback 0
RC(config-if-Loopback 0)#ip address 192.168.40.2 255.255.255.0
RC(config-if-Loopback 0)#exit
2.配置RIP版本
RA(config)#router rip
RA(config-router)#version 2
RA(config-router)#network 172.16.0.0
RA(config-router)#network 192.168.10.0
RA(config-router)#network 192.168.20.0
RA(config-router)#no auto-summary
RA(config-router)#exit
RB(config)#router rip
RB(config-router)#version 2
RB(config-router)#network 192.168.20.0
RB(config-router)#network 192.168.30.0
RB(config-router)#no auto-summary
RB(config-router)#exit
RC(config)#router rip
RC(config-router)#version 2
RC(config-router)#network 192.168.30.0
RC(config-router)#network 192.168.40.0
RC(config-router)#exit
3.配置汇总
RA(config)#int gigabitEthernet 0/0
RA(config-if-GigabitEthernet 0/0)#ip summary-address rip 172.16.0.0 255.255.0.0
RA(config-if-GigabitEthernet 0/0)#exit
4.配置定时器
RB(config)#router rip
RB(config-router)#timers basic 20 120 80
RC(config)#router rip
RC(config-router)#timers basic 20 120 80
1.在路由器上配置IP地址
RA#configure terminal
RA(config)#int gigabitEthernet 0/0
RA(config-if-GigabitEthernet 0/0)#ip address 192.168.20.1 255.255.255.252
RA(config-if-GigabitEthernet 0/0)#exit
RA(config)#int loopback 0
RA(config-if-Loopback 0)#ip address 192.168.10.9 255.255.255.248
RA(config-if-Loopback 0)#exit
RB#configure terminal
RB(config)#interface gigabitEthernet 0/0
RB(config-if-GigabitEthernet 0/0)#ip address 192.168.20.2 255.255.255.252
RB(config-if-GigabitEthernet 0/0)#exit
RB(config)#interface gigabitEthernet 0/1
RB(config-if-GigabitEthernet 0/1)# ip address 192.168.10.1 255.255.255.224
RB(config-if-GigabitEthernet 0/1)#exit
RC#configure terminal
RC(config)#interface gigabitEthernet 0/0
RC(config-if-GigabitEthernet 0/0)#ip address 192.168.20.2 255.255.255.224
RC(config-if-GigabitEthernet 0/0)#exit
RC(config)#interface Loopback 0
RC(config-if-Loopback 0)#ip address 192.168.10.33 255.255.255.240
RC(config-if-Loopback 0)#exit
RC(config)#interface Loopback 1
RC(config-if-Loopback 1)#ip address 192.168.10.65 255.255.255.192
RC(config-if-Loopback 1)#exit
2.配置OSPF
RA(config)#router ospf 10
RA(config-router)#network 192.168.10.8 0.0.0.7 area 0
RA(config-router)#network 192.168.20.0 0.0.0.3 area 0
RA(config-router)#exit
RB(config)#router ospf 10
RB(config-router)#network 192.168.10.0 0.0.0.31 area 0
RB(config-router)#network 192.168.20.0 0.0.0.3 area 0
RB(config-router)#exit
RC(config)#router ospf 10
RC(config-router)#network 192.168.10.0 0.0.0.31 area 0
RC(config-router)#network 192.168.10.32 0.0.0.15 area 0
RC(config-router)#network 192.168.10.64 0.0.0.63 area 0
RC(config-router)#exit
1.在路由器上配置IP地址
RA#configure terminal
RA(config)#int gigabitEthernet 0/0
RA(config-if-GigabitEthernet 0/0)#ip address 192.168.1.2 255.255.255.0
RA(config-if-GigabitEthernet 0/0)#exit
RA(config)#int loopback 0
RA(config-if-Loopback 0)#ip address 172.16.0.1 255.255.255.0
RA(config-if-Loopback 0)#exit
RA(config)#int loopback 1
RA(config-if-Loopback 1)#ip address 172.16.1.1 255.255.255.0
RA(config-if-Loopback 1)#exit
RA(config)#int loopback 2
RA(config-if-Loopback 2)#ip address 172.16.2.1 255.255.255.0
RA(config-if-Loopback 2)#eixt
RA(config)#int loopback 3
RA(config-if-Loopback 3)#ip address 172.16.3.1 255.255.255.0
RA(config-if-Loopback 3)#exit
RA(config)#int loopback 4
RA(config-if-Loopback 4)#ip address 172.16.4.1 255.255.255.0
RA(config-if-Loopback 4)#exit
RB#configure terminal
RB(config)#interface gigabitEthernet 0/0
RB(config-if-GigabitEthernet 0/0)#ip address 192.168.1.1 255.255.255.0
RB(config-if-GigabitEthernet 0/0)#exit
RB(config)#interface gigabitEthernet 0/1
RB(config-if-GigabitEthernet 0/1)#ip address 192.168.2.1 255.255.255.0
RB(config-if-GigabitEthernet 0/1)#exit
RB(config)#interface loopback 0
RB(config-if-Loopback 0)#ip address 172.24.1.1 255.255.255.0
RB(config-if-Loopback 0)#exit
RB(config)#interface loopback 1
RB(config-if-Loopback 1)#ip address 192.168.3.1 255.255.255.0
RB(config-if-Loopback 1)#exit
RC#configure terminal
RC(config)#interface gigabitEthernet 0/0
RC(config-if-GigabitEthernet 0/0)#ip address 192.168.2.2 255.255.255.0
RC(config-if-GigabitEthernet 0/0)#exit
RC(config)#interface Loopback 0
RC(config-if-Loopback 0)#ip address 172.24.2.1 255.255.255.0
RC(config-if-Loopback 0)#exit
RC(config)#interface Loopback 1
RC(config-if-Loopback 1)#ip address 199.0.0.10 255.255.255.240
RC(config-if-Loopback 1)#exit
2.配置OSPF
RA(config)#router ospf 10
RA(config-router)#network 172.16.0.0 0.0.0.255 area 1
RA(config-router)#network 172.16.1.0 0.0.0.255 area 1
RA(config-router)#network 172.16.2.0 0.0.0.255 area 1
RA(config-router)#network 172.16.3.0 0.0.0.255 area 1
RA(config-router)#network 172.16.4.0 0.0.0.255 area 1
RA(config-router)#network 192.168.1.0 0.0.0.255 area 0
RB(config)#router ospf 10
RB(config-router)#network 172.24.1.0 0.0.0.255 area 0
RB(config-router)#network 192.168.1.0 0.0.0.255 area 0
RB(config-router)#network 192.168.2.0 0.0.0.255 area 30
RB(config-router)#network 192.168.3.0 0.0.0.255 area 0
RC(config)#router ospf 10
RC(config-router)#network 172.24.2.0 0.0.0.255 area 30
RC(config-router)#network 192.168.2.0 0.0.0.255 area 30