1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > OSPF详解(三):OSPF中的网络类型

OSPF详解(三):OSPF中的网络类型

时间:2020-12-03 10:10:56

相关推荐

OSPF详解(三):OSPF中的网络类型

并不是ospf网络上一定存在DR和BDR,ospf根据链路层媒体不同可以划分为四种网络类型(或者叫接口工作模式)。 1、 如果路由器接口连接的是ethernet网络,那么默认ospf网络类型是Broadcast。该类型的网络支持DR和BDR。不需要手动设置邻居关系,自动选举DR和BDR。这种网络以组播地址(224.0.0.5网络上的所以路由器,224.0.0.6网络上的DR和BDR)发送协议报文。 2、 如果路由器接口连接的是X.25、Frame Relay网络,那么默认ospf网络类型是NBMA。该类型的网络选举DR和BDR。但是需要手动设置邻居关系,自动选举DR和BDR。这种网络以单播方式发送协议报文。 需要说明一下的是,NBMA网络必须是全连通的。 3、 如果X.25、Frame Relay网络不是全连通的,可以设置ospf接口的网络类型为point-to-multipoint。该类型的网络不选举DR和BDR,以组播地址(224.0.0.5)发送协议报文。 如果X.25、Frame Relay网络不是全连通的,但是某个路由器与其他设备全连通,我们也可以使用默认的NBMA网络类型,但是我们必须手动设置该路由器为DR,并手动在该DR上配置邻居关系。并不是非全互联网络上就一定没有DR。 4、 当链路层协议是PPP,HDLC,LAPB时,OSPF缺省认为网络类型是Point-to-Point。在这种类型网络中, 以组播地址(224.0.0.5)发送协议报文,不支持选举DR,BDR。 5、 网络类型是可以在路由器接口上进行设置的。 不同的网络类型所形成的Router LSA条目(一个LSA包含多个条目)中包含的内容略有不同。。。。 下面我们就来看看他们之间有什么不同:) 首先说明,Router LSA中有一个LINK TYPE字,指明链路类型:1=点到点、2=广播或者NBMA、3=末梢网络、4=虚连接 1、对于ppp网络,RTA生成的Router LSA内容如下: 本地信息:

Link ID = 20.0.0.0 ;本网段的地址 Link Data = 0xff000000 ;本网段的掩码

Type = 3 ;连接的是 stub network 对端信息: Link ID = 20.0.0.2 ;邻接点RTB的路由器标识(router id)

Link Data = 20.0.0.2 ;邻接点RTB的IP地址

Type = 1 ;连接的是 point-to-point network

metric = 9 ;从该接口发送报文的花费值 这样就可以无歧义的生成路由。 2、对于X.25网络,RTA生成的Router LSA内容如下(BroadCast网络和NBMA网络的LSA内容相同): Link ID = 30.0.0.2 ;本网段中DR的IP地址

Link Data = 30.0.0.1 ;RTA连接到本网段的接口的IP地址

Type = 2 ;连接的是 NBMA network

metric = 9 ;从该接口发送报文的花费值 路由计算时,如果查找的type=2的Route LSA,需要根据DR生成的Network LSA来计算路由。(我猜的) 3、对于Frame Relay网络,RTA生成的Router LSA内容如下: 本地信息: Link ID = 40.0.0.1 ;本接口的IP地址

Link Data = 0xffffffff ;本网段的掩码

Type = 3 ;连接的是 stub network

metric =2 ;从该接口发送报文的花费值 对端信息: Link ID = 40.0.0.2 ;邻接点RTF的路由器标识(router id)

Link Data = 40.0.0.2 ;邻接点RTF的IP地址

Type = 1 ;连接的是 point-to-point network

metric = 9 ;从该接口发送报文的花费值 Link ID = 40.0.0.3 ;邻接点RTE的路由器标识(router id)

Link Data = 40.0.0.3 ;邻接点RTE的IP地址

Type = 1 ;连接的是 point-to-point network

metric = 9 ;从该接口发送报文的花费值 这样就可以无歧义的计算路由。 4、上图中RTA的10.0.0.0网段没有连接任何RT(或者连接的RT的接口都没有运行ospf),这种网络叫做STUB,RTA为STUB网络产生的router LSA内容如下: Link ID = 10.0.0.0 ;本网段的地址

Link Data = 0xff000000 ;本网段的掩码

Type = 3 ;连接的是 stub network

metric =2 ;从该接口发送报文的花费值 在路由器向其他设备通告LSA的时候还需要加上一个头(head)。以下是Head的结构。 Type: Router /LSA的类型,可以看出此例是异地中情况的LSA/

Ls ID:1.1.1.1 /LSA的标示/

Adv rtr: 1.1.1.1 /生成LSA的路由器/

Ls Age: 40 /本条LSA的老化时间/

Length: 108 /LSA的长度/

Seq# 70000001 /LSA的序号/

Cksum: 0x3543 /校验和/

Link Count:7 /本条LSA中包含的连接个数/ 从上面的描述我们可以发现,不同的网络类型生成的Router LSA内容不同。我们还可以发现,所有的Router LSA中都有一个Type字段,该字段对计算路由很有用,那么路由到底如何计算呢?Type字段又起到什么作用呢?下面我们简单说说: 当路由器初始化后,会根据邻居信息以及本地配置信息生成Router LSA发送出去,路由器根据LSA形成LSDB。当区域中所有路由器的LSDB同步后,会根据spf算法计算路由。 每一台路由器都已自己为根节点来使用SPF算来计算路由。拿上图来举例说明:RTA收到每台路由器传来的LSA后形成LSDB,然后打开LSDB进行每一段的搜寻。当检索到Type字段为StubNet(Type=3)的时候,RTA知道描述的是一条路由,于是将这条路由添加到自己的路由表中(实际上,这些路由是RTA的本地接口路由)。当检索的LSA中Type字段为Router(Type=1)的时候,RTA知道它是与一台路由器相连(从这条LSA中可以获知相连路由器的接口地址和Router ID以及到达相连路由器的花费)。这个时候,路由计算会停止,RTA会根据Link ID寻找与其相连路由器生成的LSA。因为在LSA的Head中有Router ID,所以,RTA会以Router ID为关键字进行检索从而计算出到RTB的路由,并添加到路由表中。假设RTB还与RTC相连,那么RTA在查找由RTB生成的LSA时,会发现RTB生成的LSA中Type字段也为Router,这个时候RTA停止计算,重新以RTC的Router ID为关键字在LSDB中检索,然后将RTC的路由添加到自己的路由表中,同时RTA得知通过RTB可以到达RTC,在添加路由Metric值时就将RTC到RTB,RTB到RTA的Metric值相加,得到RTA到达RTC的Metric。 根据上面的描述,我们发现,路由计算的过程中,遇到Type=3的LSA会生成一条路由;遇到Type=1的情况,会根据Link ID寻找与其相连的路由器的LSDB,进行路由计算。这大概就是Type字段的作用吧。只有遇到Type=2的LSA条目如何处理,个人觉得可能需要查找DR生成的Network LSA来生成路由。 对于point-to-point、point-to-multipoint、stub网络,路由器都会生成一条Type=3的LSA,用于路由计算时生成到该网段的路由。至于BroadCast和NBMA网络的路由如何生成,还有待学习。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。