路由原理及实现.ppt
Chapter 7路由原理及实现,课程提纲,路由原理RIP协议原理协议概述协议问题及解决常用配置指令典型案例,背景资料,在实现了公司网络以后,随着规模的扩大,各部门之间的计算机IP地址可能会在不同的网段,或者因为某些需求,需要把公司的网络划分不同的网段或者VLAN,这些网段之间不同的网络之间的主机需要互相通信的时候,需要合适的数据转发设备。一般在工程布置的时候我们使用专用的路由设置。路由设备通常是专用的硬件设备,造价比较昂贵,管理也很消耗管理员的精力。我们也可以考虑软件路由器来实现或者VLAN之间的路由。,关于路由基础概要说明,IP路由路由器路由器功能路由表静态路由动态路由,IP路由,IP 路由就是在所连网络之间转发数据包的过程。基于TCP/IP的网络,路由是部分网际协议(IP)基他网络协议服务结合提供在基于TCP/IP的大型网络中不同网段上的主机之间数据的互相转发。IP协议负责对IP数据进行分检和传递。每个传入或转出数据包叫做一个IP数据报。IP数据报包含两个IP地址,发送主机的源地址和接收主机的目标主机。路由是IP的主要功能。通过使用internet层的IP,IP数据报在每个主机上进行交换和处理。,路由器,路由器用于连接多个逻辑上分开的网络。所谓逻辑网络是代表一个单独的网络或者一个子网。当数据从一个子网传输到另一个子网时,可通过路由器来完成。因此路由器具有寻址和路径选择的功能。路由器的主要工作就是为经过路由器的每个数据帧寻找一条最佳传输路径,并将该数据有效地传送到目的地。选择最佳路径即路由算法是路由器的关键任务。为了完成这项工作,在路由器保存着各种传输路径的相关数据-路由表(routing table),供路由选择使用。,Routersr的功能,Router能识别3层地址隔离广播控制多播最佳路径选择流量管理逻辑划分网络连接广域网,路由-路由器必须选择出到达目的网络的最优路径路由器必须知道:目的地址可能的路径、最优路径维护、验证路径信息,什么是路由?,路由表,路由表中保存着子网的标志信息,网上路由器的个数和下一个路由器的名字等。路由表可以由系统管理员固定设置好的,也可以由系统动态修改,可以由路由器自动调整,也可以由主机控制。,应用案例二:静态路由,Internet,Fa0/1,学生机房VLAN 2,教师办公VLAN 3,三层交换机,默认路由,Ip route 0.0.0.0,IpIp,静态路由,Ip route 0.0.0.0,默认路由,什么是路由?,静态路由由网络管理员手工配置,动态路由由路由协议自动生成,并根据网络拓扑变化动态调整。,静态路由与动态路由,静态路由器,静态路由器:必须手工配置路由表,并且不与动态路由器交换信息静态路由器的定义:目标网络,目标网络的掩码,下一跳路由器的接口地址缺省静态路:0.0.0.0 0.0.0.0 下一跳路由器的地址,SO,静态路由,B,Network,A,手工配置非直连网络的静态路由,使得通讯得以进行。,B,Stub Network,定义到目的 IP 子网的路径,Router(config)#ip route network mask address|interfacedistance permanent,静态路由配置,Stub Network,ip route 172.16.1.0 255.255.255.0 172.16.2.1,SO,静态路由实例,B,Network,A,B,单向路由,必须在对方路由器上配置返回路径。,Stub Network,ip route 0.0.0.0 0.0.0.0 172.16.2.2,缺省路由,SO,B,Network,A,B,缺省路由配置在末端网络路由器上。所有的目的网络都从路由器A的s0端口发送。,应用案例一:默认路由,Internet,Fa0/0.1Fa0/0.2,Fa0/1,学生机房VLAN 2,教师办公VLAN 3,TRUNK,二层交换机,默认路由,Ip route 0.0.0.0,应用案例二:静态路由,Internet,Fa0/1,学生机房VLAN 2,教师办公VLAN 3,三层交换机,默认路由,Ip route 0.0.0.0,IpIp,静态路由,Ip route 0.0.0.0,默认路由,动态路由器,动态路由器可自动更新它的路由表并把更新的消息发给它知道的其他动态路由器减少网络管理员的管理工作路由协议RIP、OSPF、IGRP、EIGRP、BGP等,路由协议,路由协议,路由协议(Routing Protocol):是用于填充路由表的协议。如:RIP,IGRP 可路由协议(routed protocol):利用路由表转发数据包的协议。如:IP,IPX,NetworkProtocol,DestinationNetwork,ConnectedRIPIGRP,Exit Interface,E0S0S1,Routed Protocol:IPRouting protocol:RIP,IGRP,E0,S0,管理距离,IGRPAdministrative Distance=100,Router D,Router B,Router A,Router C,RIPAdministrative Distance=120,E,I need to send a packet to Network E.Both router B and C will get it there.Which route is best?,路由协议类型,Distance Vector,Hybrid Routing,Link State,C,B,A,D,C,D,B,A,距离向量协议,阶段性地向临近路由器传递完整的路由表并计算距离向量,C,D,B,A,C,B,A,D,RoutingTable,RoutingTable,RoutingTable,RoutingTable,DistanceHow farVectorIn which direction,问题一路由环路的产生,192.168.3.0网段出现故障B在周期性更新过程中将错误的路由条目通告给C,NET,VIA,HOPS,-,-,0,0,1,1,问题一路由环路的产生(续),目标网段是192.168.3.0的数据报文将被B和C循环转发,NET,VIA,HOPS,-,0,1,2,2,避免路由环路的方法水平分割,简单水平分割(Simple Split Horizon)规定不把从邻居路由器学到的路由条目再通告给该邻居,避免路由环路的方法水平分割(续),带毒性逆转的水平分割(Split Horizon with poisoned reverse)规定把从邻居路由器学到的路由条目标记成不可达后再通告给该邻居,NET,VIA,HOPS,-,0,1,NET,VIA,HOPS,-,0,1,infinite,-,infinite,infinite,-,infinite,问题二Counting to Infinity,水平分割只能解决邻居路由器间的路由环路问题,RouterC,RouterD,RouterB,RouterA,到192.168.5.0网段,可以走D(1跳),或者走A(3跳),问题二Counting to Infinity(续),RouterC,RouterD,RouterB,RouterA,infinite,NET,VIA,HOPS,2,A把到192.168.5.0网段的错误的路由条目通告给B,问题二Counting to Infinity(续),到192.168.5.0网段路由条目的跳记数进一步增大,RouterC,RouterD,RouterB,RouterA,问题二Counting to Infinity(续),Split Horizon无法解决Counting to Infinity的问题,RouterC,RouterD,RouterB,RouterA,NET,VIA,HOPS,4,解决Counting to Infinity的方法Defining Infinity,RIP协议规定了最大跳记数为15再次收敛的时间很漫长,RouterC,RouterD,RouterB,RouterA,NET,VIA,HOPS,infinite,NET,VIA,HOPS,15,解决Counting to Infinity的方法Triggered Updates,触发更新(Triggeres Updates/Flash Updates)规定路由器发现路由条目的跳记数发生变化,须立即发出路由信息更新触发更新可以极大地提高再次收敛的时间,解决Counting to Infinity的方法Holddown Timers,Holddown Timers减小了路由器学到错误路由条目的可能性Holddown Timers增长了再次收敛的时间,RouterC,RouterD,RouterB,RouterA,Holddown Timer时间段内我不会接受任何关于192.168.5.0网段的信息,Holddown Timer时间段内我不会接受任何关于192.168.5.0网段的信息,Holddown Timer时间段内我不会接受任何关于192.168.5.0网段的信息,Routers discover the best path to destinations from each neighbor,A,B,C,E0,S0,S0,S1,S0,E0,Routing Table,0,0,Routing Table,S0,0,E0,0,Routing Table,0,0,距离向量协议工作机制,Routers discover the best path to destinations from each neighbor,A,B,C,E0,S0,S0,S1,S0,E0,Routing Table,Routing Table,0,0,1,1,Routing Table,S0,0,E0,0,1,1,0,0,距离向量协议工作机制,距离向量协议工作机制,Routers discover the best path to destinations from each neighbor,A,B,C,E0,S0,S0,S1,S0,E0,Routing Table,Routing Table,0,0,1,1,Routing Table,S0,0,E0,0,S0,1,2,1,2,0,0,距离向量:用Metrics选择最优路径,Information used to select the best path for routing,56,T1,56,T1,Ticks,hop count,B,A,Hop count,IPX,RIP,IGRP,BandwidthDelayLoadReliabilityMTU,距离向量维护路由信息,Updates proceed step-by-step from router to router,A,Process to update this routingtable,距离向量维护路由信息,Updates proceed step-by-step from router to router,A,B,Process to update this routingtable,Process to update this routingtable,路由环路问题,Each node maintains the distance from itself to each possible destination network,A,B,C,E0,S0,S0,S1,S0,E0,Routing Table,S0,E0,S0,S0,1,2,0,0,Routing Table,E0,S0,S0,S0,1,2,0,0,Routing Table,S0,S1,S1,S0,1,1,0,0,路由环路问题,因为缓慢的汇聚产生了路由表的不一致,A,B,C,E0,S0,S0,S1,S0,E0,X,Routing Table,S0,E0,S0,S0,1,2,0,Down,Routing Table,E0,S0,S0,S0,1,2,0,0,Routing Table,S0,S1,S1,S0,1,1,0,0,Router C 认为通过 Router B,路由环路问题,A,B,C,E0,S0,S0,S1,S0,E0,X,Router A updates its table to reflect the new but erroneous hop count,路由环路问题,A,B,C,E0,S0,S0,S1,S0,E0,X,Routing Table,1,2,0,2,Routing Table,1,4,0,0,Routing Table,3,1,0,0,解决办法1:定义最大Hops,Define a limit on the number of hops to prevent infinite loops-16Hops,A,B,C,E0,S0,S0,S1,S0,E0,X,解决办法2:水平分割,如果RA从RB得到某一原始路由信息,则RA不会RB 发送此路由的更新信息。,A,B,C,E0,S0,S0,S1,S0,E0,X,X,X,解决办法3:路由毒疫(Router Poisoning),Router直接设置已经断掉的链路为一无限大Hops,A,B,C,E0,S0,S0,S1,S0,E0,X,解决办法4:毒化反转(Poison Reverse),Poison Reverse overrides split horizon,A,B,C,E0,S0,S0,S1,S0,E0,X,PoisonReverse,解决办法5:保持计数器(Hold-Down Timers),Router 保持一个记录-某个网络可能断开,为其它Routers留足够长的时间重新计算网络拓扑。,Network 10.4.0.0 is downthen back up then back down,Update afterhold-down Time,is unreachable,A,B,C,E0,S0,S0,S1,S0,E0,X,Update afterhold-down Time,解决办法6:触发更新,Router sends updates when a change in its routing table occurs,A,B,C,E0,S0,S0,S1,S0,E0,X,is unreachable,is unreachable,is unreachable,配置路由协议选择路由协议指定网络或接口,Network,IGRP,RIP,RIP,RIP,IGRP,路由协议的配置,RIP协议的产生背景,配置静态路由增加了网络管理员的成本静态路由无法及时反映网络状态的变化,RouterA,RouterB,RouterC,1.0,2.0,3.0,4.0,6.0,5.0,ipipip,ipipip,ipipip,RIP协议概述,RIP是Routing Information Protocol的简写RIP是最早的距离矢量路由协议RIP是动态路由协议RIP属于内部网关路由协议RIP协议存在两个版本,常用配置指令,Router(config)#router rip,启动RIP进程,进入RIP配置模式,Router(config-router)#network network-number,设置RIP进程活动的网络范围,Router(config-router)#version 12,设置RIP接收和发送版本号,Router(config-router)#neighbor ip-address,定义相邻路由器来交换路由信息,显示配置指令,Router#show ip rip database,显示RIP路由数据库,Router#show debugging rip,显示RIP的debug状态,Router#show ip route rip,显示路由表中关于rip协议的条目,Debug指令,Router#debug ip rip packet,Debug输出RIP数据报文信息,Router#debug ip rip events,Debug输出RIP事件信息,19.2 kbps,T1,T1,T1,依据跳数选择最优路径每 30 秒发送路由更新,RIP协议,RIP配置案例一(Version 1),E0/00.254,RT1,RT2,RT4,RT3,192.168.X.X/24,S1/01.1,S7/01.2,S7/12.1,S2/12.2,S0/14.1,E0/06.254,E0/03.2,E0/15.254,E1/03.1,S2/04.2,router rip,router rip,router rip,router rip,RIP配置案例二(Version 2),E0/00.254/24,RT1,RT2,RT4,RT3,192.168.X.X,S1/01.1/30,S7/01.2/30,S7/11.5/30,S2/11.6/30,S0/11.13/30,E0/06.254/24,E0/01.10/30,E0/15.254/24,E1/01.9/30,S2/01.14/30,router rip version 2,router rip version 2,router rip version 2,router rip version 2,RIP 配置实例三,S2,E0,S3,S2,S3,A,B,C,192.168.1.0,E0,RIP配置案例四有类路由 V1,E0/00.1,RT1,RT2,RT4,RT3,192.168.X.X/27,S1/01.1,S7/01.2,S7/10.33,S2/10.34,S0/10.65,E0/00.129,E0/03.2,E0/10.97,E1/00.1,S2/00.66,E0/00.2,172.16.X.X/24,主网边界,有类路由协议在主网边界上自动进行路由汇总,router rip,router rip,router rip,router rip,路由表更新过程,路由器把完整的路由表发送给邻居,RouterA,.1,.1,.2,.1,.2,.1,RouterB,RouterC,NET,VIA,HOPS,-,-,0,0,NET,VIA,HOPS,-,-,0,0,NET,VIA,HOPS,-,-,0,0,t0,NET,VIA,HOPS,-,-,0,0,1,NET,VIA,HOPS,-,-,0,0,1,NET,VIA,HOPS,-,-,0,0,1,1,t1,NET,VIA,HOPS,-,-,0,0,1,NET,VIA,HOPS,-,-,0,0,1,NET,VIA,HOPS,-,-,0,0,1,1,t2,2,2,验证RIP 配置,RouterA#sh ip protocolsRouting Protocol is rip Sending updates every 30 seconds,next due in 0 seconds Invalid after 180 seconds,hold down 180,flushed after 240 Outgoing update filter list for all interfaces is Incoming update filter list for all interfaces is Redistributing:rip Default version control:send version 1,receive any version Interface Send Recv Key-chain Ethernet0 1 1 2 Serial2 1 1 2 Routing for Networks:Routing Information Sources:Gateway Distance Last Update 10.1.1.2 120 00:00:10 Distance:(default is 120),S2,E0,S3,S2,S3,A,B,C,192.168.1.0,E0,显示路由表,RouterA#sh ip routeCodes:C-connected,S-static,I-IGRP,R-RIP,M-mobile,B-BGP D-EIGRP,EX-EIGRP external,O-OSPF,IA-OSPF inter area N1-OSPF NSSA external type 1,N2-OSPF NSSA external type 2 E1-OSPF external type 1,E2-OSPF external type 2,E-EGP i-IS-IS,L1-IS-IS level-1,L2-IS-IS level-2,*-candidate default U-per-user static route,o-ODR T-traffic engineered routeGateway of last resort is not set 172.16.0.0/24 is subnetted,1 subnetsC 172.16.1.0 is directly connected,Ethernet0subnetted,2 subnetsR 10.2.2.0 120/1 via 10.1.1.2,00:00:07,Serial2C 10.1.1.0 is directly connected,Serial2R 192.168.1.0/24 120/2 via 10.1.1.2,00:00:07,Serial2,S2,E0,S3,S2,S3,A,B,C,192.168.1.0,E0,debug ip rip 命令,RouterA#debug ip ripRIP protocol debugging is onRouterA#00:06:24:RIP:received v1 update from 10.1.1.2 on Serial200:06:24:10.2.2.0 in 1 hops00:06:24:192.168.1.0 in 2 hops00:06:33:RIP:sending v1 update to 255.255.255.255 via Ethernet0(172.16.1.1)00:06:34:network 10.0.0.0,metric 100:06:34:network 192.168.1.0,metric 300:06:34:RIP:sending v1 update to 255.255.255.255 via Serial2(10.1.1.1)00:06:34:network 172.16.0.0,metric 1,S2,E0,S3,S2,S3,A,B,C,192.168.1.0,E0,比 RIP 更好的扩展性更复杂的Metrics计算多条路径支持,IGRP协议,IGRP,BandwidthDelayReliabilityLoadingMTU,19.2 kbps,19.2 kbps,IGRP 复合 Metric,Source,Destination,配置 IGRP,Router(config-router)#network network-number,Selects participating attached networks,Router(config)#router igrp autonomous-system,Defines IGRP as the IP routing protocol,router igrp 100,配置 IGRP实例,router igrp 100,router igrp 100,Autonomous System=100,S2,E0,S3,S2,S3,A,B,C,192.168.1.0,E0,验证IGRP配置,RouterA#sh ip protocolsRouting Protocol is igrp 100 Sending updates every 90 seconds,next due in 21 seconds Invalid after 270 seconds,hold down 280,flushed after 630 Outgoing update filter list for all interfaces is Incoming update filter list for all interfaces is Default networks flagged in outgoing updates Default networks accepted from incoming updates IGRP metric weight K1=1,K2=0,K3=1,K4=0,K5=0 IGRP maximum hopcount 100 IGRP maximum metric variance 1 Redistributing:igrp 100 Routing for Networks:Routing Information Sources:Gateway Distance Last Update 10.1.1.2 100 00:01:01 Distance:(default is 100),S2,E0,S3,S2,S3,A,B,C,192.168.1.0,E0,显示路由表,RouterA#sh ip routeCodes:C-connected,S-static,I-IGRP,R-RIP,M-mobile,B-BGP D-EIGRP,EX-EIGRP external,O-OSPF,IA-OSPF inter area N1-OSPF NSSA external type 1,N2-OSPF NSSA external type 2 E1-OSPF external type 1,E2-OSPF external type 2,E-EGP i-IS-IS,L1-IS-IS level-1,L2-IS-IS level-2,*-candidate default U-per-user static route,o-ODR T-traffic engineered routeGateway of last resort is not set 172.16.0.0/24 is subnetted,1 subnetsC 172.16.1.0 is directly connected,Ethernet0subnetted,2 subnetsI 10.2.2.0 100/90956 via 10.1.1.2,00:00:23,Serial2C 10.1.1.0 is directly connected,Serial2I 192.168.1.0/24 100/91056 via 10.1.1.2,00:00:23,Serial2,S2,E0,S3,S2,S3,A,B,C,192.168.1.0,E0,debug ip igrp transaction命令,RouterA#debug ip igrp transactionsIGRP protocol debugging is onRouterA#00:21:06:IGRP:sending update to 255.255.255.255 via Ethernet0(172.16.1.1)00:21:06:network 10.0.0.0,metric=8895600:21:06:network 192.168.1.0,metric=9105600:21:07:IGRP:sending update to 255.255.255.255 via Serial2(10.1.1.1)00:21:07:network 172.16.0.0,metric=110000:21:16:IGRP:received update from 10.1.1.2 on Serial200:21:16:subnet 10.2.2.0,metric 90956(neighbor 88956)00:21:16:network 192.168.1.0,metric 91056(neighbor 89056),S2,E0,S3,S2,S3,A,B,C,192.168.1.0,E0,debug ip igrp events命令,RouterA#debug ip igrp eventsIGRP event debugging is onRouterA#00:23:44:IGRP:sending update to 255.255.255.255 via Ethernet0(172.16.1.1)00:23:44:IGRP:Update contains 0 interior,2 system,and 0 exterior routes.00:23:44:IGRP:Total routes in update:200:23:44:IGRP:sending update to 255.255.255.255 via Serial2(10.1.1.1)00:23:45:IGRP:Update contains 0 interior,1 system,and 0 exterior routes.00:23:45:IGRP:Total routes in update:100:23:48:IGRP:received update from 10.1.1.2 on Serial200:23:48:IGRP:Update contains 1 interior,1 system,and 0 exterior routes.00:23:48:IGRP:Total routes in update:2,S2,E0,S3,S2,S3,A,B,C,192.168.1.0,E0,