1、路由概念,路由过程是将数据报文从一个逻辑网段转发到其它网段的过程 路由器可以完成这种逻辑网段间流量转发工作 路由器主要完成以下两种功能 路由:学习和维护路由表 交换:完成从路由器入端口到出端口的数据报文的转发,实现路由功能的条件,在路由设备上激活被路由协议栈 该路由设备需要知道如何到达目标网络 路由表中存在该路由条目 该路由条目处于激活的状态 选择出接口最佳路径的原则 优先选取度量值最低的路由条目 若度量值最低的路由条目不止一条,将进行负载均衡,Map Table (WAN),基本交换功能,Check framing and buffer packet,Associate destinatio
2、n logical address with next-hop logical device and outbound interface,Associate next-hop logical device with physical addressto create frame header,Encapsulate packet and forward frame,Inbound Interface,Routing Table,ARP Cache (LAN),Outbound Interface,由路由协议维护,由ARP和RARP 协议维护,1,2,3,4,基本交换功能举例,E0:10.1.
3、1.1/16,E1:10.2.1.1/16,HostA 10.1.1.2/16,HostB 10.2.1.2/16,ping 10.2.1.2,第一步,HostA 10.1.1.2/16,ping 10.2.1.2,生成 packet,Transport Layer,Data Link,Network Layer,Physical,第二步,HostA,ping 10.2.1.2,10.1.1.2/16,10.2.1.216,Transport Layer,Data Link,Network Layer,Physical,比较,E0:10.1.1.1/16,10.1.1.2/16,第三步,Hos
4、tA 10.1.1.2/16,ping 10.2.1.2,Transport Layer,Data Link,Network Layer,Physical,E0:10.1.1.1/16,查看ARP表,是否有10.1.1.1的MAC,第四步,HostA 10.1.1.2/16,ping 10.2.1.2,Transport Layer,Data Link,Network Layer,Physical,E0:10.1.1.1/16,ARP广播 IP:10.1.1.1=MAC:?,第五步,E0:10.1.1.1/16,HostA 10.1.1.2/16,ARP reply:我的物理地址是MACE0,
5、第六步,HostA 10.1.1.2/16,ping 10.2.1.2,Transport Layer,Data Link,Network Layer,Physical,E0:10.1.1.1/16,Dest. MAC,Souce MAC,Type,Data,Fcs,Generate Frame,第七步,E0:10.1.1.1/16,HostA 10.1.1.2/16,数字信号,第八步,E0:10.1.1.1/16,E1:10.2.1.1/16,HostA 10.1.1.2/16,HostB 10.2.1.2,ping 10.2.1.2,重组帧, CRC校验,第九步,E0:10.1.1.1/1
6、6,E1:10.2.1.1/16,HostA 10.1.1.2/16,HostB 10.2.1.2,ping 10.2.1.2,弃帧 Packet贮主内存,第十步,E0:10.1.1.1/16,E1:10.2.1.1/16,HostA 10.1.1.2/16,HostB 10.2.1.2,ping 10.2.1.2,查看路由表,第十一步,E0:10.1.1.1/16,E1:10.2.1.1/16,HostA 10.1.1.2/16,HostB 10.2.1.2,ping 10.2.1.2,Packet贮E1缓存 执行第三、四、五、六类似步骤,第十二步,E0:10.1.1.1/16,E1:10.
7、2.1.1/16,HostA 10.1.1.2/16,HostB 10.2.1.2,ping 10.2.1.2,确定所收数 据包的目的,第十三步,E0:10.1.1.1/16,E1:10.2.1.1/16,HostA 10.1.1.2/16,HostB 10.2.1.2,ping 10.2.1.2,ICMP-echo reply,路由表项,路由器中包含着必要的路由选择信息,I 172.16.8.0 100/118654 via 172.16.7.9, 00:00:23, Serial0,I - 路由条目的来源 (IGRP) 172.16.8.0 - 目标网段或子网 100 - 管理距离 (可信
8、度) /118654 - 度量值 (可达性) via 172.16.7.9 - 下一跳的地址 00:00:23 - 路由条目的存在时间 Serial0 - 学得本路由条目的接口和数据报文离开的接口,路由表的路由信息的来源,直连路由 直接连接的可达网段 静态路由 手工配置的可达网段 动态路由 路由协议生成的可达网段,静态路由,增加一条静态路由 ip route 删除一条静态路由 no ip route 增加缺省路由 ip route 0.0.0.0/0 ,S0,S0,S0,S0,e0,e0,e0,e0,动态路由,动态路由 可路由协议 路由协议 路由协议 路由器之间路由信息共享的一种机制 相互传递
9、路由信息 计算出最好的路径添加到路由表,常见路由算法和路由协议,距离矢量算法,D-V (Distance Vector) RIP IGRP EIGRP BGP 链路状态算法,L-S (Link State) OSPF IS-IS,D-V算法的基本概念,概念 路由度量值:Metric 距离矢量 RIP协议为例 原理 周期性地在相邻路由器之间传递路由表 对Metric进行矢量叠加 只在相邻路由器之间传递信息,D-V算法的工作过程,30. 0. 0. 0 S0 1,40. 0. 0. 0 S0 2,10. 0. 0. 0 S1 1,40. 0. 0. 0 S0 1,20. 0. 0. 0 S0 1,
10、10. 0. 0. 0 S0 2,D-V算法的收敛,收敛:从局部的路由发生变化,到网络内全部路由器的路由信息达到一致的过程。 收敛时间:一般指在全网内实现收敛所需的时间。 N个路由器串联,至少需要N-1次传递才能完成收敛。,D-V算法的更新原则,对于未知的路由项,添加 对于已有的路由项,当next hop相同时,无论度量值增大或减少,都更新 对于已有的路由项,当next hop不同时,只在度量值减少时,更新,D-V算法的经典问题,只在相邻路由器之间传递路由表 计算到无穷 收敛过程长 路由浮动,30. 0. 0. 0 S0 1,40. 0. 0. 0 S0 2,10. 0. 0. 0 S1 1,
11、40. 0. 0. 0 S0 1,20. 0. 0. 0 S0 1,10. 0. 0. 0 S0 2,40. 0. 0. 0 S1 2,40. 0. 0. 0 S0 3,40. 0. 0. 0 S0 4,40. 0. 0. 0 S0 , , , ,40. 0. 0. 0 S0 ,40. 0. 0. 0 S0 ,D-V算法经典问题的解决方法,最大路由权: 定义一个最大值,作为“不可达”的判据。 水平分割: 从某个接口接收到的路由信息不再从这个接口发送回去。 毒性路由和毒性逆转: 将达到最大路由权的路由标志为“不可达”,并将不可达信息发送出去,不受水平分割的限制。 路由保持: 将路由的不可达状态保
12、持一段时间,直到这条路由的不可达状态被尽可能的扩散出去。 抑制时间:在抑制时间内保持路由信息。 触发更新: 立即将不可达路由传递出去,不待更新时间到。,Link-State算法,与D-V算法不同: 根据链路状态计算路由 向网段内的各个路由器广播或组播路由信息,L-S算法原理图,LSDB,RTA的LSA,RTB的LSA,RTD的LSA,RTC的LSA,RTA,RTB,RTC,RTD,A,B,1,2,5,3,D,C,1,2,3,C,B,1,2,3,C,B,A,D,1,2,3,C,1,2,3,D,A,B,A,(一)网络的拓扑,结构,(二)每台路由器的链路,状态数据库,(三)由链路状态数据库,得到的带
13、权有向图,(四)每台路由器分别以自己为根节点计算最小生成树,A,D-V算法 vs. L-S算法,更新方式:周期更新 vs. 触发更新 更新内容:路由表 vs. LSA 网络开销:相对较大 vs. 相对较小 收敛时间:长 vs. 短 可靠性:较低 vs. 较高 对路由器硬件的要求:较低 vs. 较高 CPU RAM,管理距离,管理距离是IP路由协议中选择路径的方法 管理距离越小表示路由信息源的可信度越高 手工输入的路由条目优于动态学习的 度量值算法复杂的路由选择协议优于度量值算法简单的路由选择协议,管理距离比较,路由决定,路由协议负责维护一个无环路的拓朴结构,并找出到达每个目标网络的最佳路径 宣
14、告路由条目时会携带度量值表示可达性 到达目标网络的路径用相关链路度量值之和来表示 路由器根据度量值来选择到达目标网络的路径,具有相同最小度量值的多条路径将做负载均衡,RIP路由协议度量值,RIP协议采用跳记数做为度量值 多条度量值相同的最优路径会做负载均衡,TR,10.0,5.1,5.2,5.3,5.4,C 4.0 dir conn Ser0,C 5.0 dir conn Eth0,R 10.0 120/4 via 5.2, Eth0,R 10.0 120/4 via 5.3, Eth0,R 10.0 120/4 via 5.4, Eth0,4.0,FDDI,IGRP路由协议度量值,IGRP路
15、由协议采用复合的度量值算法 Bandwidth, delay, reliability, load, MTU 相同的“最快”路径进行负载均衡,C 4.0 dir conn Ser0,C 5.0 dir conn Eth0,I 10.0 100/327684 via 5.4, Eth0,TR,10.0,5.1,5.2,5.3,5.4,4.0,FDDI,相邻关系,路由协议与直连的路由器共同维护邻居关系 相邻的路由器和路由协议交换彼此的信息 Hello包 路由更新信息包 路由表中包含着从相邻路由器那里学到的路由条目 路由器将发往目标网络的报文转发到下一跳设备,有类路由协议概述,有类路由协议采用距离矢
16、量的算法来进行路由运算 RIPv1 IGRP 在周期性的路由更新中不包含掩码信息,有类路由,子网的路由条目由接口的掩码来确定 主网间交换汇总路由 汇总路由在A、B、C类网络的边缘进行自动汇总,10.1.0.0,172.16.2.0,10.2.0.0,10.1.0.0 10.2.0.0 172.16.0.0,10.0.0.0 172.16.1.0 172.16.2.0,10.1.0.0 10.2.0.0 172.16.1.0 172.16.2.0,172.16.1.0,有类路由协议子网需求,同一主网络中所有路由器的接口必须采用相同的子网掩码 无法充分利用主机的地址,192.168.5.129 /
17、27,192.168.5.98 /27,192.168.5.33 /27,192.168.5.65 /27,192.168.5.97 /27,S1,S0,E1,E0,E0,只需要两个主机地址却不得不占用了30个主机地址,无类路由协议概述,无类路由协议在路由更新中包含路由掩码 OSPF EIGRP RIPv2 IS-IS BGP 主网间的汇总路由可以人为地控制,无类路由协议子网需求,相同主网内的路由器接口可以使用不同的子网掩码 支持可变长子网掩码 (VLSM) 可以充分利用主机地址,192.168.5.129 /27,192.168.5.209 /30,192.168.5.33 /27,192.
18、168.5.65 /27,192.168.5.210 /30,S1,S0,E1,E0,E0,只需要两个主机地址 由VLSM来实现,Single Entry,路由信息更新,Routing Table,Routing Table,Full Table,距离收敛路由协议,链路状态路由协议,不同协议发送路由信息更新的方式,距离矢量路由信息更新,距离矢量路由协议将完整的路由表发送给直连的路由器邻居,路由表,All Routes,距离矢量路由协议,港湾NetHammer路由器支持的距离矢量路由协议包括 RIP IGRP 路由协议承载在IP包中传递,UDP Header,Port No.,Segment P
19、ayload,IP Header,Protocol Number,Frame Header,C R C,Packet Payload,Frame Payload,9 - IGRP 6 - TCP 17 - UDP,520 - RIP 69 - TFTP 53 - DNS,链路状态路由协议信息更新,链路状态协议将链路状态发送给域中所有的设备 层次化的设计可以避免将信息发送给所有的设备,Routing Table,One Route,172.16.2.0/24,172.16.1.0/24,172.16.2.0,RIPv1 network,A,B,有类路由和无类路由信息更新,192.168.5.0/
20、24,C,172.16.0.0,Routing table 172.16.0.0/16,172.16.1.0/24,172.16.2.0,RIPv1 network,A,B,172.16.2.0/24,有类路由和无类路由信息更新(续),172.16.2.0/24,172.16.2.0/24,172.16.1.0/24,172.16.2.0/24,OSPF network,A,B,192.168.5.0/24,C,172.16.0.0,Routing table 172.16.0.0/16,172.16.1.0/24,172.16.2.0,RIPv1 network,A,B,有类路由和无类路由信
21、息更新(续),192.168.5.0/24,A,B,C,172.16.2.0/24,Routing Table 172.16.2.0/24 172.16.1.0/24,172.16.1.0/24,172.16.2.0/24,172.16.1.0/24,172.16.2.0/24,OSPF Network,A,B,172.16.2.0/24,192.168.5.0/24,C,172.16.0.0,Routing Table 172.16.0.0/16,172.16.1.0/24,172.16.2.0,RIPv1 Network,A,B,有类路由和无类路由信息更新(续),路由收敛,收敛时间是网络中
22、所有路由器对当前拓扑结构的认知达到一致所需的时间 下列情况下发生路由收敛 增加了新的路由条目 网络拓朴发生了变化 下列因素影响收敛时间: 更新机制 (例如hold-down timers) 拓扑表的大小 路由算法 链路类型,RIP协议收敛,收敛时间 = 检测时间的总和 + 抑制时间 + 更新时间从路由器F的角度看收敛时间可能会超过210秒,IGRP协议收敛,收敛时间 = 检测时间的总和 + 抑制时间 + 更新时间从路由器F的角度看收敛时间可能会超过499秒,OSPF协议收敛,收敛时间 = 检测时间的总和 + LSA扩散时间 + 5秒钟从路由器F的角度看收敛时间为6秒钟,路由协议比较,比较内容 RIPv1 RIPv2 IGRP EIGRP OSPF距离矢量路由协议 X X X X 链路状态路由协议 X有类路由 (自动路由汇总) X X X X 无类路由 (支持VLSM) X X X可扩展性 Small Small Med. Large Large 收敛速度 Slow Slow Slow Fast Fast,