《OSPF基础概念.pdf》由会员分享,可在线阅读,更多相关《OSPF基础概念.pdf(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-OSPFOSPF根底概念根底概念OSPF特点:支持无类域间路由CIDR无路由自环区域无环,域间和外部路由还可能存在环路收敛速度快使用IP组播收发协议数据支持多条等值路由ECMP支持协议报文的认证同时支持明文和密文认证OSPF最显著的特点是使用链路状态算法,区别于早先的路由协议使用的距离矢量算法,因此,本文首先介绍链路状态算法的路由计算根本过程。每个路由器通过泛洪链路状态通告LSA向外发布本地链路状态信息例如使能OSPF的端口,可到达的邻居以及相邻的网段等等。每一个路由器通过收集其它路由器发布的链路状态通告以及自身生成的本地链路状态通告,形成一个链路状态数据库LSDB。LSDB描述了路由域详细
2、的网络拓扑构造。所有路由器上的链路状态数据库是一样的。通过LSDB,每台路由器计算一个以自己为根,以网络中其它节点为叶的最短路径树。通过每台路由器计算的最短路径树得出了到网络中其它节点的路由表。Router-id(路由器标识):用一个32位地址表示,在OSPF中router-id用于唯一标识一台设备。OSPF中router-id指定有两种方式:手动指定、自动选举1、手动指定:为每一个进程手工指定一个 ROUTER-ID。手工指定优先于自动选举。2、自动选举:1优先选举本地逻辑接口IP地址大的一个2如果没有逻辑接口,会选择本地活动的物理接口IP地址大的一个。OSPF的区域划分1、骨干区域:区域0
3、为骨干区域2、非骨干区域:普通区域和特殊区域stub、totally stub、nssa、totally nssaOSPF的多区域场景下,所有的非骨干区域都必须和骨干区域相连,非骨干区域之间不能互联。主要目的是为了防止OSPF环路。ABR:区域边界路由器什么设备会成为ABR.1、设备连接多个区域2、有一个接口被宣告进了区域03、在区域0骨干区域有一个活动的邻接关系如果只满足前2个条件只能说明是一个假ABR功能缺陷,同时满足三个条件是真的ABRASBR:自治系统边界路由器,连接OSPF的同时也连接了其它的协议,需要在该设备上配置双向重分发实现互通。部路由器Internal Router:部路由器
4、是指所有所连接的网段都在一个区域的路由器。属于同一个区域的IR维护一样的LSDB。区域边界路由器Area Border Router:区域边界路由器是指连接到多个区域的路由器。ABR为每一个所连接的区域维护一个LSDB。.z.-骨干路由器Backbone Router:骨干路由器是指至少有一个端口或者虚连接连接到骨干区域的路由器。包括所有的ABR和所有端口都在骨干区域的路由器。AS边界路由器AS Boundary Router:AS边界路由器是指和其他AS中的路由器交换路由信息的路由器,这种路由器向整个AS通告AS外部路由信息。AS边界路由器可以是部路由器IR,或者是ABR,可以属于骨干区域也
5、可以不属于骨干区域。华为路由协议优先级列表:(华为支持修改路由协议的外部优先级,但是部优先级为系统默认无法修改,优先级越小越优)OSPF根本配置:ospf 1area 0.0.0.0network 12.1.1.0 0.0.0.255AR1dis curr se ospfV200R003C00*ospf 1area 0.0.0.0network 12.1.1.0 0.0.0.255AR1dis ospf 1 interInterfacesArea:0.0.0.0(MPLS TE not enabled)IP AddressTypeStateCostPriDRBDROSPF的接口下宣告:inte
6、rface GigabitEthernet0/0/0ip address 12.1.1.2 255.255.255.0OSPF查看邻居状态:AR2dis ospf peer briefPeer Statistic Information-Area IdInterfaceNeighbor idState0.0.0.0GigabitEthernet0/0/011.1.1.1Full-注:单区域的OSPF不需要配置区域0,多区域需要配置区域0,并且所有的非骨干区域都必须和骨干区域相连。OSPF协议报文通过IP承载,协议ID=89.OSPF头部构造:Version:(2=ospfv2 3=ospfv3
7、)Type:携带的报文类型packet length:报文长度.z.-Router ID:携带报文通告者的 Router-idArea ID:携带报文发送接口所在的area idchecksum:效验OSPF报文完整性Auth Type:0=不认证1=明文认证 2=密文认证Auth Data:认证数据OSPF报文类型:OSPF报文可以通过组播和单播的方式发送,如果用组播发送,会用到两个组播地址ALLSPFRoutersALLDRoutersHELLO:发现、建立和维护邻居关系。DBD:数据库描述报文,通告本地LSDB(链路状态数据库)中所有LSA链路状态通告,就是所谓的链路信息的摘要信息LSA
8、的头部容进展通告LSR:收到DBD报文后需要将DBD报文中的LSA的摘要信息和本地的LSDB做比照,将本地不存在的LSA存放到链路状态请求列表中,通过LSR报文请求这些不存在的LSA.LSU:收到LSR后,通过LSU回复具体的LSA。LSACK:收到LSU后通过LSACK确认接收到的LSA。OSPF支持的网络类型:1、点到点2、播送网3、非播送网4、点到多点5、虚链路OSPFOSPF如何判断一个接口所属的网络类型如何判断一个接口所属的网络类型.通过接口的二层封装协议判断,如下表所示:接口封装协议接口封装协议网络类型网络类型IEEE802.3EthernetIIBroadcastATMFream
9、 relayNon BroadcastPoint-to-MultiPoint手动P2PHDLCPoint-to-PointVirtual-LinkVirtual-link不同网络类型中报文的发送方式不同网络类型中报文的发送方式网络类型网络类型HELLOHELLODBDDBDLSRLSRLSULSULSACKLSACK播送网组播单播单播单播/组播单播/组播非播送网单播单播单播单播单播点到点组播组播组播组播组播点到多点组播单播单播单播单播虚链路单播单播单播单播单播不同网络类型中报文通告间隔不同网络类型中报文通告间隔网络类型网络类型HELLOHELLODead IntervalDead Interv
10、alPoll IntervalPoll IntervalRetransmitRetransmitIntervalIntervalTimerTimer播送网10秒40秒无5秒.z.-非播送网点到点点到多点虚链路30秒10秒30秒120秒40秒120秒120秒无无5秒5秒5秒10 秒 友 商40秒无5秒NoneHELLO报文构造:重要字段解释:Network Mask:发送Hello报文的接口的网络掩码。HelloInterval:发送Hello报文的时间间隔。单位为秒。Options:标识发送此报文的OSPF路由器所支持的可选功能。具体的可选功能不在本课程的讨论围之列。DC:如果置1标识按需电路
11、DNDownBit:如果置1,用于LSA的防环。E:如果置1,表示可以接收外部路由,如果为0,不能接收外部路由。N/P:如果在HELLO或者DBD报文中置位,说明该报文来自于NSSA区域。如果在LSA中置1,说明LSA需要进展7转5.Rtr Pri:发送Hello报文的接口的Router Priority,用于选举DR和BDR。RouterDeadInterval:宣告邻居路由器不继续在该网段上运行OSPF的时间间隔,单位为秒,通常为四倍HelloInterval。Designated Router:发送Hello报文的路由器所选举出的DR的IP地址。如果设置为,表示未选举DR路由器。Back
12、up Designated Router:发送Hello报文的路由器所选举出的BDR的IP地址。如果设置为,表示未选举BDR路由器。Neighbor:邻居路由器的Router ID列表。表示本路由器已经从该邻居收到合法的Hello报文。OSPF邻居和邻接的关系邻居:普通朋友邻接:好闺蜜OSPF中邻居状态机有8种:1、Down2、Attempt(只存在于NBMA非播送网)3、Init4、2way上面的4个状态主要用于邻居建立5、E*start6、E*change7、loading8、FULL上面的4个状态主要用于邻接的建立注:在注:在OSPFOSPF中所有路由器之间都可以建立邻居关系,但是只有满
13、足条件的设备才能建立邻接关系。中所有路由器之间都可以建立邻居关系,但是只有满足条件的设备才能建立邻接关系。DownDown这是第一个 OSPF 邻居状态,在这个状态下路由器没有从邻居那收到任何信息 包括 hello 包,不过在这个状态下,.z.路由器可以主动发出 hello 包给自己的邻居。当路由器之间是 Full 状态的时候,如果在RouterDeadInterval 时间段4 倍的默认 HelloInterval没有从邻居收到任何 hello 包,或者手工配置的邻居信息被移除,则邻居状态会从Full 变为 Down.-AttemptAttemptAttempt 状态仅仅存在与 NBMA(N
14、on-Broadcast Multiple Access非播送多路访问)网络中手工配置邻居的情况下。在这个状态下,路由器发送单播的hello 包给邻居,而且在 dead interval 超时之前没有收到邻居发过来的hello 包。InitInitInit 状态说明了路由器已经收到了来自邻居发送的hello 包,但是 hello 包中没有包含发送者的RID。当路由器从邻居承受 hello 包时,封包里面应该包含发送的RID 信息,以确保这是一个可认知的hello 包。2-Way2-Way2-Way 状态说明了两台路由器之间已经建立了双向的,每一个路由器都已经收到了对方的hello 包。这个状态
15、发生在路由器收到了一个包含自己Router ID 的 hello 包。在这个状态下,路由器决定是否要去跟邻居建立邻接关系。在播送和 NBMA 网络类型中,一个路由器仅与designated router(DR)和 backup designated router(BDR)建立 Full 状态关系,而和其他路由器最终停留在2-way 状态。在点对点和点对多点网络类型中,路由器和所有相连接的路由器最终都到达 Full 状态。在 2-Way 状态的完毕之前,播送网络和NBMA 网络类型中的 DR 和 BDR 选举出来。注意:在 init 状态下承受到邻居发来的Database Descriptor(
16、DBD)包也会导致路由器转变成2-way 状态。E*startE*start一旦 DR 和 BDR 选举出来,真正的链路状态信息交换才会发生在路由器和DR,BDR 之间。在 E*start 状态下,路由器和它的DR,BDR 建立了一种 master-slave 的关系并且选择一个初始的sequence number 来形成临接。拥有更高的 Router ID 的路由器将会成为 master 并且开场交换信息,同时 master 也是唯一一个可以增加sequence number 的路由器。需要注意的是,逻辑上可以认为DR/BDR 中拥有更高的 Router ID 的一个可以成为 master。
17、但是请记住,DR/BDR 的选举可能会因为手工配置了priority 而不一样,不仅仅依赖与Router ID。因此有可能DR 会在这个状态下充当 slave 状态。E*changeE*change在 E*change 状态下,OSPF 路由器交换 database descriptor(DBD)包。DBD 包含了链路状态通告(LSA)头部文件,并且描述了整个链路状态数据库的容。每一个DBD 报文都含有一个 sequence number,并且这个会每一次被master 增加。在 E*change 状态下,路由器同时会发送链路状态请求报文 LSR和链路状态更新报文 LSU。接收到的DBD 报文
18、会和路由器链路状态数据库进展比较以确保是否有任何新的或者更多的链路状态信息是可用的。LoadingLoading在 Loading 状态下,发生的是真正的链路状态信息交换。基于DBD 报文所提供的信息,路由器会发送链路状态请求报文。邻居会在链路状态更新报文中提供相应的链路状态信息。在临接关系下,如果一个路由器收到了一个过期或者丧失了 LSA,它会发送一个 LSR 请求相应的 LSA。所有链路状态更新数据包都会在这个状态下到达同步。FullFull在 Full 状态下,路由器和其邻居会到达完全临接状态。所有路由器和网络LSA 都会交换并且路由器数据库到达同步。Full 状态是 OSPF 路由器的一个最常见的状态。如果一个路由器停留在另外一个状态,则就说明了在路由器建立临接关系的过程中是存在问题的。唯一的例外是2-way 状态,是在播送网络中常见的。在播送网络中,邻居之间除了和DR,BDR 之外会最终处于 2-way 状态。.z.