您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 第6章 OSPF动态路由协议
第6章OSPF动态路由协议6.1OSPF概述6.1.1OSPF特点OSPF无路由自环问题。OSPF支持变长子网掩码VLSM。OSPF支持区域划分、适应大规模网络。OSPF支持等值路径负载分担(Cisco定义最大6条)。OSPF支持验证,防止对路由器、路由协议的攻击行为6.1.1OSPF特点(续)OSPF路由变化时收敛速度快,可适应大规模网络。OSPF并不周期性地广播路由表,因此节省了宝贵的带宽资源。OSPF被直接封装于IP协议之上(使用协议号89),它靠自身的传输机制保证可靠性。OSPF数据包的TTL值被设为1,即OSPF数据包只能被传送到一跳范围之内的邻居路由器。OSPF以组播地址发送协议报文(对所有DR/BDR路由器的组播地址:224.0.0.6;对所有的SPF路由器的组播地址:224.0.0.5)。6.1.2OSPF协议的基本术语1.路由器ID—RouterID2.邻居(Neighbors)3.邻接(Adjacency)4.指定路由器(DesignativeRouter,DR)5.备份指定路由器(BackupDesignativeRouter,BDR)6.DROTHER7.OSPF链路状态数据库6.2OSPF数据包类型6.2.1OSPF数据包结构1.OSPF数据包类型表6-2-1OSPF数据包类型编号类型用途1Hello发现邻居、维持邻居关系、选举DR/BDR2数据库描述交换链路状态数据库LSA头3链路状态请求请求一个指定的LSA数据细节4链路状态更新发送被请求的LSA数据包5链路状态确认对链路状态更新包的确认2.OSPF数据包头部结构图6-2-1OSPF数据包头部结构版本0001020304050607080910111213141516171819202122232425262728293031总长度路由器ID校验和认证类型区域ID身份认证身份认证类型Bit6.2.25种类型的OSPF数据包1.Hello数据包Hello数据包是编号为1的OSPF数据包。运行OSPF协议的路由器每隔一定的时间发送一次Hello数据包,用以发现、保持邻居(Neighbors)关系并可以选举DR/BDR。2.链路状态数据库描述数据包链路状态数据库描述数据包(DataBaseDescription,DBD)是编号为2的OSPF数据包。该数据包在链路状态数据库交换期间产生。它的主要作用有三个:选举交换链路状态数据库过程中的主/从关系。确定交换链路状态数据库过程中的初始序列号。交换所有的LSA数据包头部。3.链路状态请求数据包链路状态请求数据包(LSA-REQ)是编号为3的OSPF数据包。该数据包用于请求在DBD交换过程发现的本路由器中没有的或已过时的LSA包细节。4.链路状态更新数据包链路状态更新数据包(LSA-Update)是编号为4的OSPF数据包。该数据包用于将多个LSA泛洪,也用于对接收到的链路状态更新进行应答。如果一个泛洪LSA没有被确认,它将每隔一段时间(缺省是5秒)重传一次。5.链路状态确认数据包链路状态确认数据包(LSA-Acknowledgement)是编号为5的OSPF数据包。该数据包用于对接收到的LSA进行确认。该数据包会以组播的形式发送。如果发送确认的路由器的状态是DR或者BDR,确认数据包将被发送到OSPF路由器组播地址:224.0.0.5。如果发送确认的路由器的状态不是DR或者BDR,确认将被发送到OSPF路由器组播地址:224.0.0.6。6.2.3LSA数据包1.链路状态通告数据包(LSA)头部格式表6-2-2LSA数据包类型编号类型1路由器LSA2网络LSA3(ABR)汇总LSA4(ASBR)汇总LSA5AS-ExternalLSALSA头图6-2-6LSA头部选项0001020304050607080910111213141516171819202122232425262728293031LS年龄LS校验和长度链路状态ID通告路由器LS序列号LS类型Bit表6-2-3LSA类型及对应链路状态IDLSA类型链路状态ID1生成LSA的路由器ID2该网络中DR的路由器ID3目标网络的IP地址4ASBR路由器ID5目标网络的IP地址2.路由器LSA路由器LSA主要包括以下内容:该路由器是否是一个区域边界路由器(ABR,见6.5节)。该路由器是否是一个自治系统边界路由器(ASBR,见6.5节)。路由器链路的数量。链路类型、链路数据、链路ID:不同链路类型的这三个字段的内容及含义不同。度量:指定链路的OSPF代价。表6-2-4不同类型链路的对应链路状态ID和链路数据编号链路类型链路ID链路数据1点到点连接邻居路由器ID接口IP地址或标识2到传输网(Transit)的连接DR的IP地址接口IP地址3到端网络(Stub)的连接IP网络/子网号子网掩码4虚拟链路邻居路由器ID接口IP地址3.网络LSA网络LSA主要包括以下内容:网络掩码:与传输网相关的网络掩码。接入(Attached)路由器:接入到传输网的所有路由器的路由器ID列表。6.3OSPF网络介质分类RFC将网络介质类型分为:NBMA和点到多点类型。Cisco额外定义了三种网络介质:点到点、广播和点到多点非广播。6.3.1点到点(PointtoPoint,PTP)在点到点类型的介质中,OSPF数据包以多播地址发送不选举DR、BDROSPF路由器之间的hello数据包每10秒钟发送一次,邻居的死亡间隔时间为40秒图6-3-1点到点链路RouterBRouterAS0/0:192.168.1.1/24RID:20.0.0.1S0/0:192.168.1.2/24RID:10.0.0.16.3.2广播网络(Broadcast)需要选举DR/BDR。OSPF路由器之间的hello数据包每10秒钟发送一次,邻居的死亡间隔时间为40秒。图6-3-2广播网络RouterCRouterBRouterAF0/1:192.168.1.2/24Lo0:20.0.0.1/32以太网F0/1:192.168.1.3/24F0/1:192.168.1.1/24Lo0:30.0.0.1/32Lo0:10.0.0.1/32DRBDRDROther6.3.3非广播多路访问(NBMA)非广播多路访问(Non-BroadcastMulti-Access,NBMA)类型的介质包括运行帧中继、X.25、ATM等协议的网络。对于NBMA网络,需要手工指定DR/BDR。之后,其运行模式将同广播网络一样。OSPF路由器之间的hello数据包每30秒钟发送一次,邻居的死亡间隔时间为120秒。非广播多路访问(NBMA)6.3.4点到多点(PTMP)点到多点(PointtoMulti-Point,PTMP)类型的介质包括运行帧中继、X.25、ATM等协议的网络。在点到多点介质中,不选举DR/BDR。OSPF路由器之间的hello数据包每30秒钟发送一次,邻居的死亡间隔时间为120秒。点到多点6.3.5点到多点—非广播(P2MP-NonBroadcast)不选举DR/BDR。需要使用命令neighbor手工指定近邻。OSPF路由器之间的hello数据包每30秒钟发送一次,邻居的死亡间隔时间为120秒。表6-3-1介质特性表介质类型寻址DR/BDR手工设置邻居Hello时间(秒)死亡间隔时间(秒)广播组播是否1040点到点组播否否1040NBMA单播手工指定是30120点到多点组播否否30120点到点多非广播单播否是301206.4SPF过程6.4.1OSPF邻居状态机1.OSPF邻接建立过程OSPF邻接建立过程主要会经过以下一些阶段或状态:关闭(Down)状态:没有发送hello数据包,也没有收到hello数据包。尝试(Attempt)状态:不停地向对方发送hello数据包。初始(Init)状态:收到了对方的hello数据包。但对方没有收到自己的hello报文。双向(Two-Way)状态:双方均收到了对方的hello数据包。启动(ExStart)状态:发送DBD报文,选举主/从设备、设定初始序列号。交换(Exchange)状态:互相交换LSA报头信息。装入(Loading)状态:向对方请求自己没有的或过时的LSA信息,并在收到对方的更新LSA后添加到自己的链路状态数据库中。完成(Full)状态:双方的链路状态数据库完全相同。图6-4-1OSPF邻接建立过程RouterBRouterAS0/0:192.168.1.1/24S0/0:192.168.1.2/24关闭(Down)Hello,DR=0,SEEN=0关闭(Down)...尝试(Attempt)初始(Init)Hello,DR=RouterB,SEEN=RouterA双向(Two-way)启动(ExStart)DBD(SEQ=x,I=1,M=1,Master)DBD(SEQ=y,I=1,M=1,Master)DBD(SEQ=y,I=0,M=1,Slave)DBD(SEQ=y,I=0,M=1,Slave)DBD(SEQ=y+1,I=0,M=1,Master)DBD(SEQ=y+1,I=0,M=1,Slave)交换(Exchange)DBD(SEQ=y+n,I=0,M=1,Master)装入(Loading)LS更新LS请求DBD(SEQ=y+n,I=0,M=1,Slave)...DBD(SEQ=y+...,I=0,M=0,Slave)DBD(SEQ=y+...,I=0,M=0,Master)完成(Full)2.OSPF邻居状态机图6-4-2OSPF邻居状态机ExchangeInitDownAttemptExStartLoadingTwo-wayFull6.4.2SPF计算OSPF协议的核心是SPF,即最短路径优先算法。OSPF使用Dijkstra算法来产生最短生成树。OSPF协议中的SPF计算路由过程如下:各路由器发送自己的LSA,其中描述了自己的链路状态信息。各路由器汇总收到的所有LSA,生成LSDB。各路由器以自己为根节点计算出最小生成树,依据是链路的代价。各路由器按照自己的最小生成树得出路由条目并安装到路由表中。图6-4-3OSPF中路由表生成过程RouterCRouterBRouterARouterDRouterE10101010101010网络拓扑结构RouterE的链路状态RouterD的链路状态RouterC的链路状态RouterB的链路状态RouterA的链路状态RouterA的链路状态数据库RouterA的最短路径优先树RouterCRouterBRouterARouterDRouterE10101010RouterA的路由表SPF算法图6-4-4RouterB和RouterC的最短生成树RouterCRouterBRouterARouterDRouterE10101010RouterB的最短路径优先树RouterCRouterBRouterARouterDRouterE10101010RouterC的最短路径优先树图6-4-5RouterD和RouterE的最短生成树RouterCRouterBRouterARouterDRouterE10101010RouterCRouterBRouterARouterDRouterE10101010RouterE的最短路径优先树RouterD的最短路径优先树6.5OSPF区域图6-5-1多区域OSPF区域0自治系统区域1区域2RouterARouterBRouterCRouterDRouterFRouterXRouterE多区域OSPF中路由器的名称及用途区域内路由器(InterAreaRouter,IAR):该路由器负责维护本区域内部路由器之间的链路状态数据库。骨干(主干)路由器:可以是区域内路由器,也可以是区域边界路由器。区域边界路由器(AreaBorderRouter,ABR):该路由器拥有所连接的区域的所有链路状态数据库并负责在区域之间发送LSA更新消息。自治系统边界路由器(Auton
本文标题:第6章 OSPF动态路由协议
链接地址:https://www.777doc.com/doc-3203653 .html