===================================================================================
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
================================================================================