路由器原理与应用一、路由的基本概念路由器的网络层的设备,负责IP数据包的路由选择和转发。1、路由类型路由的类型有:直连路由、静态路由、默认路由和动态路由。直连路由是与路由器直接相联网络的路由,路由器有对直连网络有转发能力。静态路由是管理员人为设置的路由,网络开支小,可以有效的改善网络状况。默认路由是静态路由的一个特例,将路由表不能匹配的数据包送默认路由。一般在最后。动态路由是路由协议自动建立和管理的路由,常见动态路由协议有:RIP(RoutingInformationProtocol)、IGRP(InteriorGatewayRoutingProtocol)、EIGRP(EnhanceInteriorGatewayRoutingProtocol)、OSPF(OpenShortestPathFirst)、BGP(BackboneGetwayProtocol)上述路由协议称为routingprotocol,而IP、IPX称为可路由的协议routedprotocol。也有一些协议是不可路由的,如NetBEUI协议。2、路由算法路由算法常见的有三种类型:距离矢量D-V(Distance-Vector)算法,如:RIP、IGRP、BGP;链路状态L-S(LinkState)算法,如:OSPF、IS-IS;混合算法,如:Cisco的EIGRP。3、路由交换范围路由器通过交换信息建立路由表,当网络结构变化时,路由表能自动维护。路由表跟随网络结构变化过程称为收俭。为了减少收俭过程引起的网络动荡,要考滤路由交换范围。RIP协议通过network命令指定,例如:设置10.0.0.0网络的接口参与路由信息交换router(config-router)network10.0.0.0ospf协议通过network命令指定,例如:设置10.65.1.1接口参与路由交换router(config-router)network10.65.1.10.0.0.0area0area是网络管理员在自治系统(国际机构分配)AS(AutonomousSystem)内部划分的区域。0.0.0.0是匹配码,0表示要求匹配,1表示不关心。4、路由表路由表(RoutingTable)是路由器中路由项的集合,是路由器进行路径选择的依据,每条路由项包括:目的网络和下一跳,还有优先级,花费等。路由优先匹配原则:(1)直接路由:直连的网络优先级最高。(2)静态路由:优先级可设,一般高于动态路由。(3)动态路由:相同花费时,长掩码的子网优先。(4)默认路由:最后有一条默认路由,否则数据包丢弃。二、RIP路由协议1、RIP协议的认识RIP(RoutingInformationProtocol)协议是采用D-V(Distance-Vector)算法的距离矢量协议;根据跳数(HopCount)来决定最佳路径。最大跳数为16,限制了网络的范围。单独以跳数作为距离或花费,在有些情况下是不合理的,因为跳数少不一定是最佳路径;实际上带宽和可靠性也是重要的因素。有时需要管理员修改花费值。RIP有两个版本,RIP-1和RIP-2。RIP-1:采用广播方式发送报文。不支持子网路由。RIP-2:支持多播方式、子网路由和路由的聚合。2、路由表的维护通过UDP协议每隔30秒发送路由交换信息,从而确定邻居的存在。若180秒还没有收到某相邻结点路由信息,标记为此路不可达。若再120秒后还没有收到路由信息,则删除该条路由。当网络结构变化时,要更新路由表,这个过程称为收敛(Convergence)。RIP标记一条路由不可达要经过3分钟,收敛过程较慢。路由表是在内存当中的,路由器上电时初始化路由表,对每个直接网络生成一条路由。同时复制相邻路由器的路由表,复制过程中跳数加1,且下一跳指向该路由器。若去往某网络的下一跳是RouteA,若RouteA去该网络的路由没有了,则删除这一路由。跳数是到达目的网络所经过的路由器数目,直接网络的跳数是0,且有最高的优先级。3、路由环路:矢量路由的一个弱点就是可能产生路由环路,产生路由环路的原因有两种,一是静态路由设置的不合理,再一是动态路由定时广播产生的误会。先看静态路由设置不合理的情况:设两个路由器RouterA和RouterB,其路由表中各有一条去往相同目的网络的静态路由,但下一跳彼此指向对方,形成环路。再看动态路由造成的情况:假设某路由器RouterA通过RouterB至网络neta,但RouteB到neta不可达了,且RouterB的广播路由比RouterA先来到,RouterB去neta不可达,但RouterA中有去往neta路由,且下一跳是RouterB,这时RouteB就会从RouterA那里学习该路由,将去往neta的指向RouterA,跳数加1。去neta的路由原本是RouterB传给RouterA的,现RouterB却从RouterA学习该路由,显然是不对的,但这一现象还会继续,RouterA去neta网络的下一路是RouterB,当RouterB的跳数加1的时候,RouterA将再加1。周而复反形成环路,直至路由达到最大值16。4、解决路由环路的办法(1)规定最大跳数RIP规定了最大跳数为16,跳数等于16时视为不可达,从而阻止环跳进行。(2)水平分割水平分割是过滤掉发送给原发者的路由信息。具体路由信息单向传送。(3)毒性逆转水平分割的改进,收到原是自己发出的路由信息时,将这条信息跳数置成16,即毒化。(4)触发方式一旦发现网络变化,不等呼叫,立即发送更新信息,迅速通知相邻路由器,防止误传。(5)抑制时间在收到路由变化信息后,启动抑制时间,此时间内变化项被冻结,防止被错误地覆盖。三、OSPF路由协议1、OSPF的特点OSPF(OpenShortestPathFirst)开放式最短路径优先协议,使用L-S(LinkState)算法的链路状态路由协议,路由算法复杂,适合大型网络,网络拓扑结构变化时,采用触发方式,组播更新,收敛快,要求更高的内存和CPU资源。LSA(LinkStateAdvertisement)链路状态通告是以本路由器为根的最小路径优先树。LSDB(LinkStateDataBase)链路状态数据库,这是各个路由器的LSA的集合。每个路由器的LSA是不同的,但他们的集合LSDB是相同的。D-V算法只考虑下一跳,没有全局的概念,交给下一跳就完成任务,所以容易产生环路。L-S算法每个路由器可以根据网络整体结构决定路径,所以不会产生环。2、指定路由器与路由器标识指定路由器DR(DezignatedRouter)是ospf路由交换的中心,数据通过DR进行交换。在路由器群组中优先级(RouterPriority)值最高的为DR,次高的为备份指定路由器BDR。管理员可以通过设置优先级指定DB和BDR。优先级相同时,比较routerid。如果没有设置Routerid,则以回环接口loopbackip值高的为DR,如果loopbackip没有设置,取接口的IP地址中最高的为DR。3、建立路由表(1)Hello报文Hello报文用于发现新邻居问候老邻居,选举指定路由器DR和BDR。(2)DD报文(DatabaseDescriptionPacket)DD报文用LSA头head信息表示LSA的变化情况,将其发送给DR,DR再发给其它路由器。(3)LSR报文(LinkStateRequestPacket)LSR是请求更新包,当LSDB需要更新时,将其发送给DR,点对点连接时直接同步LSDB。(4)LSU报文(LinkStateUpdatePacket)DR用多播Multicast地址224.0.0.6收,224.0.0.5发,同步整个区域的LSDB。(5)确认后计算路由:LSDB同步后,计算cost花费,考虑跳数、带宽、可靠性等综合因素求解最佳路径。4、单区域OSPF配置单区域OSPF配置是指运行OSPF协议的路由器在同一个区域arean,对于只有一个区域的网络,区域号是任意的,一般设置为0。单区域OSPF有三种连接情况:点对点的连接(Pointtopoint)、广播方式的连接(BroadcastMultiAccessNetwork)、非广播方式多点连接(NonMultiAccessNetwork)。点对点连接结构最简单,可靠性高,工作稳定;以太网连接是典型的广播方式的连接;帧中继连接是属于的非广播方式多点连接类型。5、多区域OSPF的设置多区域中要求有一个是骨干区域area0,边界路由器跨接两个区域。多区域的区域内部按单区域设置,多区域间通过边界路由器的连接。stub是末节区域,末节区域不接收ospf以外的路由信息,如果路由器想去往区域以外网络,要使用默认路由。只有多区域中才存在末节区域。末节区域要设置在边界路由器上。作为企业可以将分支区域设置为末节区域,分支区域不需要知道总部网络的细节,却能够通过缺省路由到达那里。四、访问控制列表1、访问控制列表类型与作用访问控制列表是对通过路由器的数据包进行过滤。过滤是根据IP数据包的5个要素:源IP地址、目的IP地址、协议号、源端口、目的进行的。访问控制列表有两类,标准访问控制例表和扩展的访问控制列表。标准访问列表:标准访问列表的列表号为1~99,只对源IP地址进行访问控制。扩展访问列表:扩展访问列表的列表号为100~199,可以对源和目的地址、协议、端口号进行访问控制。2、访问控制列表的结构分三步:定义一个ACL:access-listnumberpermit|denysourceIPwild|any进入指定接口:interfaceinterface绑定指定ACL:ipaccess-groupnumber[in|out]3、访问控制列表匹配原则访问控制列表默认的是denyany。一般是逐行匹配,也可以设置深度匹配。所以写访问控制列表一般是从小的范围向大的范围,成为梯形结构。一般在访问控制表的最后一行要写permitany。4、命名方式的访问控制列表命名方式是用名称代替列表号,便于记忆,扩展了条目数量,可以是基本型或扩展型。命令方式ACL语法有些变化,支持删除一个列表中的某个语句。命名语法格式:router(config)#ipaccess-list{standard|extended}namerouter(configstdnacl)#{deny|permit}]S_ipS_Wildrouter(configextnacl)#{deny|permit}[protocol]S_ipS_WildD_ipD_Wild[op]第一行是定义命名方式访问控制列表类型:标准或扩展。第二行是标准命名方式的访问控制列表的语法格式。第三行是扩展命令方式的访问控制列表的语法格式。五、地址转换NAT1、NAT的认识NAT(NetworkAddressTranslate)是地址转换操作。NAT可以将局网中的私有IP转换成公有IP,解决了内部网络访问internet的问题。NAT可以做负载均衡,将内部多个服务器对外映射成一台服务器。定义:Insidelocaladdress:内部网的私有IP。Insideglobaladdress:内部网的公有IP。Outsideglobaladdress:互联网中的公有IP。Outsidelocaladdress:互联网中的公有IP对应的私有IP。NAT可分为原地址变换SNAT和目的地址变换DNAT。按工作方式划分,可分为静态NAT和动态NAT。SNAT命令中使用source参数,DNAT命令中使用destination参数。(对已连接的返回包可自动对应)2、静态NAT静态NAT是在指定接口上,对数据包的原IP或目的IP进行一对一的转换。常用于将某个私有IP固定的映射成为一个公有IP。语法:Router(config)#ipnatinsidesourcestaticipaipb在指定接口inside中对数据包的原地址进行变换,一般ipa是私网IP,ipb是公网