===================================================================================
1、距离矢量路由协议 ----------------------------- 1)每台路由器启动后,生成自己的直连路由。每台路由器周期性地将自己的路由表广播或者组播给相邻路由器,并侦听相邻路由器发来的路由表,以此实现路由交换。 2)这样,经过层层交换,每个路由器会获取所有网络信息,并根据Distance-Vector算法得到到达每一个网络的最佳路径,生成路由表。 3)距离矢量路由协议的缺点:周期性地发布路由表,带来不必要的流量。路由器不清楚整个网络的拓扑,只知道和自己相连的网络情况,对网络变化收敛速度慢。存在路由环路的问题。(注:EIGRP和BGP算法作了改进,无以上问题) ----------------------------- 路由自环的解决方案 ----------------------------- 1)定义一个最大值(Defining a maximum):设置到达目标网络如果要经过多少个以个路由器,则认为目标不可达。如RIP设为16,即到目标网络最多经过15个路由器,如果要经过16个以上路由器,则认为目标网络不可达。这样就限制了死循环的次数。 2)水平分割(split horizon):从路由器某一个接口收到的信息不会再从这个接口传出来。 3)路由毒杀(route poisoning)与抑制时间(hold-down timers):当某个路由不可达后,路由器不会将这条路由从路由表中删除,而是将其设为不可达,保留在路由表中。并在一个特定时间内不接受对这条路由信息的任何改变。 4)反转毒杀(poison reverse):从路由器某一个接口收到的信息可以再从这个接口传出来,但传出来时,会将该路由的花费值设为无穷大,这样,即使对方路由器收到这条信息,也不会将此信息加入路由表中。 5)触发更新(triggered update):网络一发生变化,就马上把变化通知给相邻路由器。 ----------------------------- RIP路由协议 ----------------------------- 1)RIP用于中小型网络。 2)RIP使用Hop计算Metric,而且30秒周期性地广播或组播自己的路由表给相邻路由器。 3)RIP有两个版本:1和2。 RIP version 1:只支持广播路由表。不支持VLSM和验证。 RIP version 2:支持广播或者组播(组播地址:224.0.0.9)路由表。也支持VLSM。也支持验证. 4)RIP只保留到达目标的最佳一条路径。 ---------------------------- R1(config)#router rip --启用RIP路由协议 R1(config-router)#network 131.107.0.0 --启用要使用的接口的网络 R1(config-router)#network 192.168.0.0 R1(config-router)#version 2 --指定使用RIP version 2 R1(config-router)#version 1 --指定使用RIP version 1 R1(config-router)#no auto-summary --关闭路由聚合功能,该功能缺省是开启的 R1(config-router)#auto-summary --开启路由聚合功能
R1(config)#int e0
R1(config-if)#ip rip receive version 1 2 --指定在E0口同时接收RIP Version 1 2的包
R2#show ip route --显示路由表,看有没有以R开头的RIP路由
R2#show ip protocol --显示路由器中所配置的路由协议的信息 R2#terminal monitor --当在Telnet下监控流量时,需要加这个命令 R2#debug ip rip --启用对RIP流量的监视 R2#no debug all --关闭流量监视 R2#config t R2(config)#no router rip --停用RIP路由协议
R2#show ip route --配置路由协议前建议先看一下路由表,network时就只network以C开头的直连路由
Gateway of last resort is not set C 131.107.0.0/16 is directly connected, Serial0 C 202.38.160.0/24 is directly connected, Ethernet0 R2#config t R2(config)#router rip R2(config-router)#network 131.107.0.0 R2(config-router)#network 202.38.160.0 --------------------------------------------------------------------- RIP验证--注意:只有RIP Version 2才支持路由验证,RIP Version 1不支持 ----------------------------- R1(config)#int s0 R1(config-if)#ip rip authentication mode ? md5 Keyed message digest text Clear text authentication R1(config-if)#ip rip authentication mode md5 R1(config-if)#ip rip authentication key-chain abc R1(config-if)#shutdown R1(config-if)#no shutdown
R1(config)#key chain abc
R1(config-keychain)#key 1 R1(config-keychain-key)#key-string 123 ====================================================================== IGRP路由协议 ---------------------------- 1)相对于RIP,IGRP支持更大的网络,缺省100跳,最大可支持255跳。 2)IGRP可同时保留到达目标的多条路径,最多6条。 3)IGRP只能支持广播路由表,不支持VLSM和验证。 --------------------------- R1(config)#router igrp 1000 R1(config-router)#network 131.107.0.0 R1(config-router)#network 192.168.0.0
R2(config)#router igrp 1000
R2(config-router)#network 131.107.0.0 R2(config-router)#network 202.38.160.0
R2#show ip route
R2#show ip protocol R2#debug ip igrp ? events IGRP protocol events transactions IGRP protocol transactions ======================================================================== EIGRP路由协议 --------------------------- 1)IGRP只能支持广播,而且每隔90秒就广播一次路由表。 EIGRP使用组播,只在路由变化时才发路由信息,而且只发变化信息,流量小。 2)IGRP不支持VLSM和验证,而EIGRP支持VLSM和验证。 3)IGRP使用D-V算法,网络收敛慢,存在路由自环问题。 EIGRP使用DUAL算法,网络收敛快,无路由自环问题。 4)IGRP和EIGRP是CISCO的专用协议。 -------------------------- R1(config)#router eigrp 100 R1(config-router)#network 131.107.0.0 R1(config-router)#network 192.168.0.0
R2(config)#router eigrp 100
R2(config-router)#network 131.107.0.0 R2(config-router)#network 202.38.160.0
R2(config-router)#no eigrp log-neighbor-warnings --关闭EIGRP警告信息
R2(config-router)#distance eigrp 101 101 --修改eigrp路由级别 R2(config-router)#no auto-summary --关闭eigrp路由聚合功能
R2#show ip route
R2#show ip protocol -------------------------------- R1(config)#int s0 --配置EIGRP路由验证 R1(config-if)#ip authentication mode eigrp 100 md5 R1(config-if)#ip authentication key-chain eigrp 100 key1 R1(config-if)#exit
R1(config)#key chain key1
R1(config-keychain)#key 1 R1(config-keychain-key)#key-string 1234
R1(config)#int s0
R1(config-if)#shutdown R1(config-if)#no shutdown -------------------------------- R1(config)#int s0 --取消EIGRP路由验证 R1(config-if)#no ip authentication mode eigrp 100 md5 R1(config-if)#no ip authentication key-chain eigrp 100 R1(config-if)#exit
R1(config)#no key chain key1
============================================================================== 2、链路状态路由协议 ----------------------------- 1)每个路由器启动后,根据自己周围的网络拓扑的信息生成一条LSA(链路状态信息)。 2)每个路由器和其他路由器交换LSA,最终每个路由器会获取所有路由器的LSA,并放到一个LSDB(链路状态数据库)中。而且所有路由器的LSDB中的内容都是一样的。 3)路由器将LSDB转变为一张带权有向图,即是对整个网络拓扑的真实反映。每个路由器在图中以自己为根,使用SPF(最短路径优先)算法,得出自己到达图中每一个节点的最佳路径,生成路由表。 4)链路状态路由协议的优点:路由器不周期性发布路由表,只在网络变化时才发布路由表,而且只发布变化信息,网络流量小。路由器知道整个网络的拓扑结构,对网络变化收敛速度快。无路由自环的问题。 ==================================================================================== OSPF路由协议 --------------------------------- LAB1:将两个路由器都放到Area 0中 --------------------------------- R1(config)#interface loopback 1 --OSPF将LOOPBACK接口的IP地址作为自己的Router ID R1(config-if)#ip address 1.1.1.1 255.0.0.0 R1(config-if)#no shut
R1(config)#router ospf 1
R1(config-router)#network 192.168.0.0 0.0.0.255 area 0 R1(config-router)#network 131.107.0.0 0.0.255.255 area 0 R1(config-router)#exit R1(config)#exit R1#show ip route
R2(config)#router ospf 9
R2(config-router)#network 131.107.0.0 0.0.255.255 area 0 R2(config-router)#network 202.38.160.1 0.0.0.0 area 0 -------------------------- LAB2:将两个路由器配置为区间路由器,串口在区域0,以太口在其它区域 -------------------------- R1(config)#no router ospf 1 R1(config)#router ospf 3 R1(config-router)#network 192.168.0.0 0.0.0.255 area 1 R1(config-router)#network 131.107.0.0 0.0.255.255 area 0
R2(config)#no router ospf 9
R2(config)#router ospf 2 R2(config-router)#network 131.107.0.0 0.0.255.255 area 0 R2(config-router)#network 202.38.160.1 0.0.0.0 area 2 --------------------------- R1(config)#interface s 0 --OSPF验证的配置 R1(config-if)#ip ospf authentication message-digest R1(config-if)#ip ospf authentication-key abcd R1(config-if)#shutdown R1(config-if)#no shutdown ================================================================================ |