✅ 操作成功!

单播路由协议

发布时间:2023-06-16 作者:admin 来源:文学

单播路由协议

单播路由协议

-

2023年3月20日发(作者:蔬菜价格表今日价格)

OSPF小结之一

2007-09-1108:36

一、概述:

(openshortestpathfirst):是IETE组织建议使用的内部网关协议,

属于链路状态协议,使用Dijkstra的最短路径算法,目前使用ver2,协议号

89,最新说明是RFC2328。

是分层的是立体的,但扩展性差,因为每个区域必须直连到主干区域

“area0”

内的每台路由器都在本区域内以自己为根建立一颗树(即在本域内计算

出本域内的最优路径),去外部的化只计算出去ABR的最优路径。

需要ROUTERID来标示不同的路由器(只是标识示用,不在ospf域也

可):默认优先使用手工指定,然后lookback口的最高IP作为routerid,其

次是最高的物理接口ip;建议手工指定lookback口作为routerid。(也可随

意写,不一定要存在的配置)

5.链路状态数据结构:

a)Neighbortable:Alsoknownastheadjacencydatabase(listofrecognized

neighbors)

b)Topologytable:TypicallyreferredtoasLSDB(routersandlinksin

theareaornetwork)AllrouterswithinanareahaveanidenticalLSDB

c)Routingtable:Commonlynamedaforwardingdatabase

的LSA报文类型:

⑴HELLO(t=1):用于发现邻居,建立双向通讯,选取DR(指定路由器),

BDR

(备份指定路由器);除了NMMA网络和点到多点网络为30秒的hello

interval(hello

时间间隔);其余都默认为10秒;deadinterval为他的4倍。hello

报文包括:

routerid

areaid***

hello/deadintervase***

neighbor

routerpriority★只有当打“***”的相同建立邻

居关系(非邻接)

dripaddress

bdripaddress

stubareaflag(末节区域标识)***

authenticationpassword***

⑵DBD(t=2):数据库描述信息,用于描述数据库链路状态摘要的,

发送的是

LSA头信息而不是详细信息。

⑶LSR(t=3):链路状态请求报文(单播)

⑷LSU(t=4):链路状态更新报文(单播)

⑸LSACK(t=5):确认报文。(单播)

的区域:为了控制lsa泛洪范围降低cpu的消耗,加快收敛过程,我们

对ospf区域划分区域,其通过一个32位的区域id来识别不同区域,可以用十

进制也可以用点分十进制。区域0(0.0.0.0)是骨干区域的保留id号,一个AS

只能有一个area0,所有区域都要与area0直连,域间通信必须通过area0;

对于单域网络可不设置area0,多区域环境下一定要有area0。

8.通讯量类型:域间通讯量(intar),域内通信量(inter),外部通讯量

(external)

表示自主系统:可有多个区域组成,并且同时运行相同的协议。

的报头:(32位)

type:即t=1,t=2.........(见上)

AuType=0(没有认证);AuType=1(明文,最长64位);AuType=2(md5)

二、ospf支持的网络类型:0100.5E00.0005;0100.5E00.0006

(点对点):一旦成为邻居则总可成为毗邻关系,以组播224.0.0.5收发

LSA。

ast:是一个多路访问网络,利用MAC地址在网络上传输,所以有局限

性适用于局域网,比如以太网(一般以太接口的均为此网络);为了避免过大的

流量,需要选举出DR和BDR同时所有的本区域其它路由器与其形成邻接关系来

进行LSA的收发;在DR,BDR上监听224.0.0.6作为监听地址(224.0.0.6为DR

和BDR的组播地址);利用224.0.0.5发送,同样的,其它路由器(DRothers)

以224.0.0.5为目标发hello报文;利用224.0.0.6向DR,BDR发送更新。

(非广播多路访问):从名字就可以知道他与broadcast的区别就是没有

广播,他不存在ARP协议和MAC地址,以单播方式收发报文,比较适用于广域网,

一般以串口连接,非以太口相连的多路访问网络默认为NBMA网络类型,其余同

上!!!(没有ARP意味着要用手工进行二三层的映射)

(点对多点):是NBMA网络的特殊配置,可以看作是一群点到点的集合,

以单播方式收发报文,不选举DR和BDR;一般以串口连接(对于非广播的多路

访问网络建议此配置成此中网络类型)无ARP所以要用手工进行二三层的映像,

在ospf中会有一条32位的路由来标示自己(cost值为“0”)。

llink(虚链路):无编号的点到点网络的特殊配置(metric=1),

以单播方式收发报文;这是一种不是很好的配置其增加了网络的复杂性,一般用

于冗余线路的设置,要设置必须要有一个可穿过的传输区域!!可以认为是点对

点的。属于area0,必须和area0保持一致(包括验证等),其建立了一条DNA

(永不老化,不会在数据库中删除),主链路断开用此链路(尽量不用)。

★网络又可以分为:transitnetwork(目标和源都不在此网络)和stubnetwork

(没有和

其它路由器相连的网络,必有一个源或目标,进出数据为同一接口)

★NBMA和PTM的区别:实际中建议配置成PTM。

三、OSPF接口状态和邻居状态:

1.接口状态:down,ptp,wating(时间等于deadinterval),dr,bdr,drother,

loopback

2.邻居状态:down,attemp(NBMA独有,此时用hello代替poll★发包30S/

次,一旦收到一个包转入init状态)init,2-way,exstart,exchange,looding,

full

★pollinterval:在dead后没收到hello包则,每60秒向处于down的邻

居发hello包,

这是由于NBMA的非广播需要手工配置(在其余的网络里当在dead后没收

到hello

包则认为邻居失效)

四、收敛

★DR/BDR的选举过程(DR/BDR是针对路由器某一具体接口下的子网而言这

台路由

器是DR/BDR):选举先决条件:2-way状态;选举资格:接口上的优先级

不为“0”

(cisco默认为“1”范围0~255);在接口有效后,即没有选出DR/BDR

前,在hello

包里的DR/BDR地址都设为0.0.0.0,并且设接口状态waitingtime(等

待DR/BDR

的选举结果)=deadinterval(默认40秒或120秒);同时所有有资格

选举的都会在

hello包里宣称(不是宣告)自己是DR(将DR位置为“1”),当收到其

它的hello

包后首先会比较自己和邻居的接口优先级,如果高于自己,则在hello

包中将DR

位置为“0”,并去参与BDR的选举(同样宣称自己是BDR);如果优先

级相同则

看Routerid(高的担任);如果没有宣称DR的,则BDR成为DR;在waiting

time

的时间里如果只有你一台的邻居状态位2-way则自己成为DR,所以一般

最先到达

2-way状态具有选举资格的将会成为DR和BDR(可以没有BDR);当有更

高优先

级或routerid的加入将不会取代原有的DR和BDR;非DR/BDR叫做

DRother,

DRother间将处于2-way状态,通过hello来保持邻居关系;广播类型中

利用组播地

址224.0.0.5来维持邻居关系),利用224.0.0.6发更新给DR和BDR,

但是只有DR

利用224.0.0.5发送更新给ALLDRother。

★确认收到了更新的两种方法:explicitacknowledge(显示确认):发送

头信息;

implicitacknowedge(隐式确认):发收

到的LSA

五、收敛后的更新情况:

1.收敛后的更新在毗邻间进行,泛洪(Flooding)

2.泛洪的可靠性和保证LSA是最新的是利用:序列号(32位,更新一次加1)

→校验和(5min一次来保证LSA没有被破坏)→AGEtime(老化时间:大的为

最新的LSA,但如果他们之间的差别大于15min,那么拥有较小age的LSA为最

新的)

★上述的方法还是不能区别LSA,则认为是相同的。

3.老化时间:指明lsa生存时间的16位无符号整数,以秒为单位,范围从0~3600

秒即1小时,每当经过一个路由器都会增加,同时lsa驻留在数据库中也会增加;

“transmitdelyis1sec”表示每次增加的数值为1秒。

4.当每个路由器数据库中的lsa到达maxage(1小时)后,lsa会被重新

flodding并在随后清除自己数据库中的该条lsa;为了避免这种情况有一个csr

记时器(30分钟),即每30分钟由该条lsa的始发路由器发一个相同的lsa,

(延迟240秒)序列号加1,设max=0

5.为节省带宽,当有LSR到达时会有一个延迟时间,以使并且几个lsu一起发。

六、路由表:

的度量值的算法为:10^8/bandwidts(兆)(;)

2.以出端口代价为度量值计算出最优路径,只限于本区域的可发现的最优路径,

其它区域的只能发现到ABR的最优路径。

3.有网络条目(shiprou)和主机条目(为ABR和ASBR“shipospf

border-router”)

4.“i”区域内路径;“IA”区域间路径;“E1”从外部网段到到里面的的全部

代价;“E2”从外部到ASBR的代价。(查找优先级为从前至后)(为外部到内

部的cost值)

metric值:

10M=10;100M=1

T1=64;vir=1

tunnel=11111

点到多点=0

七、LSA的类型:

★只有1,2类参加路由算法,用于计算拓扑

★Linkid表示那里的链路状态情况;ADVrouter表示LSA是谁公告的;

★可通过“ipospfdatabase”查看链路状态数据库。

LSA:每一个路由器都会产生,通告自己路由器所有接口的状态;在

域内泛洪。Linkid(为routerid)一般等于ADVrouter,即产生并公告。

kLSA:由网络中的DR产生(DR为为路由器的接口特性),通告本域

内每个DR下所属的DRother的routerid(包括DR自己的),由DR公告,Link

id为DR路由器接口ip地址(即通告所有DR接口下的DRother的routerid);

在域内泛洪。

注意:一个区域可由多个DR,一个网段一个DR(路由器分隔网段)

kSummaryLSA:由本域内同时为area0的ABR路由器始发,学习其

它区域的LSA,只通告到已知网段的最优路径(是本域内路由器到ABR的最优路

径,到最终目的地的总的路径其不管,所以当有多个ABR时,容易引起次优路径

的问题,用设置cost值可解决:接口下“ipospfcost数值”),域内路由器

收到后直接加入路由表(RIP的方法)linkid为某一网段(表示某一网段的状

态);AS中泛洪。

mmaryLSA:本域内由ABR始发,公告(即到最后的ABR时被替换表

示要去ASBR就找ABR),通告ASBR的routerid主机路由,ASBR的routerid

为linkid。,AS中泛洪。有几个ASBR就有几个4类。

alLSA:ASBR公告,以linkid为外面AS域的子网号,通告ASBR外

面的子网,由ASBR公告(要去外网找ASBR),AS内泛

洪。

ternalLSA:同5,只是在区域为非纯末梢区域(notsostubbyarea)

内公告并泛洪,到达ABR时变为5类通告给其它区域。

:标记路由;如要从rip学到的只分配进

ripRIPospfospfEigrp

当分发进一个路由时对此路由条目加一个标记(如tag10),

然后重分发进RIP时做route-map→match

tagEigrpospfospfRIP

八、特殊区域

1.路由器类型:internalrouter内部路由器;ABR区域边界路由器(必须要

有一个接口处于area0);ASBR自主系统边界路由器(任何路由器都可以)

2.分段区域:一个区域由于链路时效而使这个区域的一部分和其它部分分隔开

的情况。当主干区域(area0)发生这种情况后可能会形成两个AS,所以在设

置ospf区域时要考虑冗余的问题(如虚链路)。

llink:虚链路,用于连接非骨干与骨干,骨干断开的情况下是一条

逻辑链路,属于骨干区域。在设置虚链路时要注意必要条件:必须在两台ABR

之间(即在两台ABR上设置);所经区域必须是Transitarea,其拥有全部的

路由信息;Transitarea不可以是stubarea。(对于此区域应该尽量避免,只

能作为一个临时的手段加以应用)

ea(末梢区域):域间通讯总要通过ABR,若区域内的数据要出AS

域,总要经过ABR才到达ASBR,同时该区域内没有ASBR,此时可配置该区域为

STUBArea;在此区域内4,5类的LSA将被ABR阻塞,同时会增加一条3类LSA

类型的缺省路由(destination=0.0.0.0)即不知到的路由交给ABR;(设E-bit

=0为末梢区域,表示不接受任何E-bit=1的hello报文)

★设为末梢区域后,如果区域内有多个ABR,则其就不知该去哪个ABR了,这

时可

以通过改变每个ABR接口的代价来解决(见后)

ystubarea(完全末梢区域):同上,但更为精简,在去掉了4,5

类的同时在去掉一个3类LSA,但是会存在一条3类LSA即那条默认路由。

(非纯末梢区域):存在1,2,3,7类LSA。是“末梢区域”的特殊情

况,用于本可成为“末梢“的区域中存在ASBR,此时就不能成为“末梢区域”

了。在此区域下他会通告从本区域ASBR上得到的外部路由,在ABR上变为5类

通告出去,但其它区域来得外部路由就倍ABR过滤掉了,同样会有一条3类的默

认路由。(P-bit=1;在ABR上设P-bit=0转为5类LSA)

7.完全NSSA:没有3类

九、OSPF的配置:★在回环口下建议使用ipospfnetworkpoint-to-point

来避免

1.基本配

置:主机路由。

routerospf进程号进程号随意(只在本路由器有效),一个路由器

最多启32个

router-idip地址指定routerid

network接口ip0.0.0.255area区域号宣告接口

(0.0.0.255为反码),

norouterospf进程号关闭某一进程的ospf宣告

link的配置:在每个ABR上配置如下:

area传输区域号virtual-link目的ABR的routerid

区域:ospf进程下(只有1,2,3类的LSA)

area号stub区域内所有路由器都设

ystub:ospf进程下(只有1,2的LSA)

area号stubno-summaryABR上★

area号stub区域其它路由器:

区域:ospf进程下(只有1,2,3,7)

area号nssa区域内所有路由器都设

area号nssadefault-information-originstABR上★

yNssa区域:ospf进程下(只有1,2,7和一条三类汇总路由)

area号nssa区域内所有路由器都设

area号nssano-summaryABR上★

7.如果NSSA中ASBR同时为ABR则在进行5的配置后外部路由仍然进入nssa

区域则在ABR上(其余要“area号nssa”):

area号nssano-redistributionno-summary

(只有1,2,7和一条三类汇总路由)

area号nssano-redistributiondefulat-information-originst

(有1,2,3,7)

的地址汇总:

ospf进程下

area号rangip地址掩码即汇总好在出去(自动在

路由表中产生NULL0)

ospf进程下:

summary-addressip地址掩码ASBR上,即进来后在汇总

9.非广播多路访问的ospf配置:(任选一种)

NO1:配为NBMA(默认)在hub-and-spoke结构上;

①在hub路由器的ospf进程下:neighborspoke路由器的接口ip地址

(如neigh192.168.0.12)有几个spoke路由器的接口就写几个。

②在spoke路由器的接口下:ipospfpriority0设优先级为“0”不选举

NO2:设为点到多点(推荐):在所有路由器的接口下:ipospfnetwork

point-to-m

NO3:broadcast:必须为全互联,在接口下设为“broadcast”

NO4:PTP:cisco私有

NO5:PTMnonbroadcast

值的修改,

ospf下:area《id》default-cost数值用来防止多ABR时次优路

径的产生(改

了到达ABR的cost)

接口下:ipospfcost数值(一条链路上两个接口都要相同,建

议)

ospf下:auto-costreference-bandwidth数值改所有接口的cost,

所有区域

内路由器上都要加

这一条

11.“default-interface-originst”命令的使用:★★★

现在不知道R2的地址,不知道其运行什么协议,则可以作条静态路由出

去(s1不

加入ospf),为了不至于去每个路由器配置,可向AS中通告一条默认

路由,指向

R1路由器:全局下:iproute0.0.0.0255.255.255.0serial1

ospf下:default-interface-originst[always]

always表示不加0.0.0.0也会有一条通告

s1

ospf

12.域名服务查询:

ipname-serverdns地址指定dns地址

ipospfname-lookup启动ospf的域名查找

13.查看命令:

shiproute

shipospfborder-route产看主机路由表(ABR,ASBR)

shipospfnei[routerid号de]查看邻居

shipospfdatabase查看链路状态数据路

shipospfdatabaseroute查看链路状态数据路中的route信息

shipospfinterface【接口号】查看宣告了ospf的接口

shipprotocol查看路由器启用的所有协议

shipospf可查看routerid

shipospf进程号

shipintbrief查看所有接口的状态

shipospfvirtual-link看虚链路(是否启用是看其邻居状态为full,

而不是这)

full/-点对点或点对多点

full/DR

BDR多路访问网络

DRother

14.其它命令

clearipospfprocess重至ospf进程(重新收敛)

mtu数值接口下

debugipospfadj其中Flagox7为I=1,M=1,MS=1(16

进制)

Flagox1为I=0,M=0,MS=1(主路由上

交换完毕)........

optox2表示正常区域;optox0表示末梢区域;optox8表示NSSA区域;

debugipospfpacket

十、ospf的排错

1.邻接关系未建立:是否可以ping通,接口是在同一子网吗?,接口是否是同

一种类型?建立邻接的hello相关的东西是否相同(如认证);是否存在错误的

ACL,

2.存在内部区域的信息但没有域间的,首先考虑ABR是否有问题,利用:ship

ospfbroad-routers来查看是否有ABR路由器,查看邻接关系(shipospfnei)

3.注意,net命令执行时是连续执行的,也就是说从第一条开始,下面的net

只执行与第一条不同的地方。

4.对于NBMA和PTM这两个不同类型的网络,如果在一个多点访问上均配置则可

建立邻接关系,但写不进路由表;

5.对于PTM和PTP这两个不同类型的网络,如果在一个多点访问上均配置则不

能建立邻接关系,但如果修改其hello时间使他们一致,则可建立邻接关系同时

可写进路由表并相通。

6.如果在如framerelay的环境中,此时B和C没有互指,但

可相互学到路由,但ping不通。

7.停在exstart状态时注意MTU值

8.停在init状态时,是收到的对方的hello,对方没有收到我的,注意本路由

器的排错。

👁️ 阅读量:0