OSPF学习笔记

更新时间:2023-10-26 14:15:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

OSPF

Router ID:

只用于标识路由器唯一性、通告路由器、确认主从关系、选举DR用等。RouteID可以随便定义,只要符合格式1.1.1.1(除了0.0.0.0都可以,全255也可以),但是这样不利于网络设计。RID仅仅是个名字,不可以被路由的。 什么时候更改RID必须清除OSPF进程? RID是在OSPF域中用于标识自己的身份ID,所以在邻居关系还没形成之前更改RID是不需要清除OSPF进程的。一旦邻居关系形成,为了稳定性,更改的RID将不立即生效,必须clear ip ospf process。 选用RID的顺序: 1,指定的RID

2,最大的(UP)Lookback的IP地址

3,处于工作(UP)状态的非管理性(administrator down)DOWN的物理接口

只要是接口是UP的情况下就能做RID,(不建议使用这种RID)不一定是要宣告的网段,一旦RID选出来后,就算那个IP地址没了,RID还是不会变,除非清了进程clear ip ospf process或重启路由器。非管理性down,如串口S0,在链路没设好时,虽然no shutdown,状态是down,但这时仍可以做为RID。

RID是在敲完router ospf 1后马上就选举的了。

DR和BDR的选举:(选举必须等到最小wait time时间过完才能选出来)

1, 在wait time时间之内,就考虑以下两点,如果在wait time时间过了之后还没有选出DR

那么就认为自己是DR。

2, 优先级高的优先,优先级为0表示放弃选举权力。 3, RID高的为DR,次的为BDR。

OSPF 影响邻居形成的几个条件:

1. Hello间隔 必须一致 2. 失效间隔必须一致 3. 区域ID必须一致

4. 身份验证密码必须一致 5. 末节Stub必须一致 6. OSPF的版本必须一致

7. RouterID如果相同,也会影响邻接形成

8. MTU必须匹配,否则将停在Exstart或Exchange

9. 两边匹配掩码(只在MA网络,如NBMA,broadcast),因为MA网络会有DR,有2

类LSA,必须通告掩码,所以掩码必须一致。 10. NBMA中neighbor指错对象将停留在ATTEMPT状态 (neighbor指两条,一条正确,

一条指错误,也会造成网络不正常)

接口状态机:

R1 Down R2 Hello(myid=R1,MyNeighbor=none) Hello(myid=R2,MyNeighbor=R1) Init Init Hello(myid=R1,MyNeighbor=R2) 2Way Communication DR=2 BDR=1 2Way已结束,开始进入Exchange First DBD(I’m master,I=1,MS=1,M=1) First DBD(I’m master,I=1,MS=1,M=1) 这时Exstart结束,已经确认了R2为主,R1为从,开始进入Exchange DBD(Seq=n+1,I=0,MS=1,M=1) DBD(Seq=n+1,I=0MS=0,M=1) DBD(Seq=n+2,I=0,MS=1,M=0) DBD(Seq=n+2,I=0,MS=0,M=0) 直到M=0,即最后一个数据库描述文件,Exchange结束,开始进入Loading LSRequest 请求DBD所描述的条目的具体信息 LSUpdate 回应request,发送完整LSA的具体条目信息 如果LSUpdate已没有要请求的条目,将进入FULL状态,邻接关系完全建立

1. Down的状态是会发包的。当R2收到一个Hello包,并且这个hello包没有标识自已时,在本路由器看到为Init状态。Init是一个one way 状态,当R1和R2都认识对方后就会进入Two Way状态。 2. 在Two Way时,将选举DB/BDR(MA网络)。进入Two way状态后(即从Exstart开始),表示这两个路由器已经建立了邻接关系了。(也就是符合了前面的6个条件,其中一种条件没有符合就不能建立two way)但最终能不能邻接关系要看最后是不是FULL。 3. Exstart:Exstart是firstDBD, 确认主从关系。

4. Exchange: Exchange是通过DBD交换LSA的头部信息。 DBD分为firstDBD和DBD。

firstDBD不携带Lsa头部信息。通过firstDBD确认主从关系。主的作用只是为了控制序列号的同步。RID高的将成为主。(好像试验时做成了R2是从....?) DBD只携带LAS的头部信息,没有携带LAS的具体信息。承载完整LAS是LASUpdate包。 DBD报文信息:

I(1为firstDBD)为1;MS(为主从位,1为主,0为从);M(1为没有结束,0为已经结束)

FirstDBB三个位都为1。

5.Loading:等待M位为0时,才进入loading。

LSRrequest:是不携带LAS头部的,只通过(公告ID,LSA 类形,linkID)来请求具体的条目。

LSRUpdate:含有真正LSA完整信息的,用来回应LSRrequest。 6.FULL:完成了邻接关系的完整建立。

LSRAck:用来确认的。并且携带LSA头部信息。确认DBD,Request,Update

OSPF 包类型:

Type 1 Hello 多播 发现邻居并在它们之间建立邻接关系。224.0.0.5

Type 2 DBD (Database Description) 单播 检查路由器的数据库之间是否同步** Type 3 LSRequest 单播请求 向另一台路由器请求特定的链路状态记录**

Type 4 LSUpdate LSU单播针对单播LSR请求回复/LSU多播在网络发生抖动时泛洪 发送请求的链路状态记录**

Type 5 LSAck 组播 对其他类型的分组进行确认

224.0.0.5和224.0.0.6是只针对LSUpdate和LSAck。

(关于LSAck的用组播,是因为有DR和BDR两个,所以DRother是用224.0.0.6去回DR和BDR;而DR和BDR回DRother,虽然会回给很多DRother,但是由于Ack校验不通过,其它DRother收到不是回给自己的Ack就会丢掉该包) DR和BDR之间的通信是224.0.0.5

**该类型包为可靠信息,必须回应LSAck

当收到比自己老的LSA,路由器会直接发LSU过去,不发ACK,这叫隐式确认。

只有源路由器才有权利删除自己产生的LSA,中介转发的路由器没权利,如5类LSA只有源路由器才有权利删除,其它转发的路由器没有权利。

OSPF 邻接关系:

路由器通过交换Hello分组来获悉协议特定的参数,如检查邻居是否位于同一个区域内,Hello间隔是否相等。 路由器使用Hello分组建立邻接关系后,它们通过交换LSA来同步LSDB,并确认已收到临界路由器的LSA。 DR的主要功能之一是确保同一个area中所有路由器的数据库都相同。 OSPF分组被直接封装到IP分组有效负载中,不使用TCP及UDP,使用LSAck来确认。

LSA的类型:(记住:同一个区域的数据库是一样的!根据1,2类就能画出一个区域内的拓扑。根据类型来画图,先看2类的stub network 或transit network,再看1类的other router。)

1类:每个路由器都会产生,在广播类型下,通告的是每个路由器自身所有加入进程的直连接口的IP地址。但在P-P的环境下, 通告的是邻居的ID及收到该ID的接口地址。还有收到直连的网段及掩码。因为P-P环境下没有2类LSA,所以P-P的LSA会带上其邻居的RID。 在广播下是Transit Network类型,而在P-P类型下是 Stub Network。所以P-P和P-M之间可形成邻接并且可以学到路由。BMA和NBMA之间可以形成邻接并且可以学到路由。(前提是hello和dead时间一致。) 而P-P(P-M)和MA网络之间只可以形成邻居,但是由一个是Transit Network类型,而在P-P类型下是 Stub Network,所以传不了路由信息。 Link ID 就是Advertise ID。 广播:

Link connected to: a Transit Network

(Link ID) Designated Router address: 192.1.24.2 自身加入区域进程的接口IP地址 (Link Data) Router Interface address: 192.1.24.2 自身加入区域进程的接口IP地址 Number of TOS metrics: 0 TOS 0 Metrics: 10 P-P:

Link connected to: another Router (point-to-point) (Link ID) Neighboring Router ID: 1.1.1.1

(Link Data) Router Interface address: 192.1.12.2 Number of TOS metrics: 0 TOS 0 Metrics: 64

Link connected to: a Stub Network

(Link ID) Network/subnet number: 192.1.12.0 (Link Data) Network Mask: 255.255.255.0 Number of TOS metrics: 0 TOS 0 Metrics: 64

描述一条串行链路、的信息,在Stub Network (192.1.12.0)该网络上连接了另一个邻居路由器1.1.1.1 (Router ID),该链路的cost为64(这个cost值可以是双方不同,因为cost有out

和in方向,这个metrics指的是收(是收,也就是in的方向)到这个1.1.1.1的是64), Link Count为2.

Link connected to: a Stub Network

(Link ID) Network/subnet number: 1.1.1.1

(Link Data) Network Mask: 255.255.255.255 (32位的主机路由) Number of TOS metrics: 0 TOS 0 Metrics: 1

描述自身loopback口的1类LSA。

2类:是由DR发出来的,所以在P-P的环境下没有2类LSA,只有在MA环境下才有2类LSA。2类通告的是与DR形成邻接关系的结点及这个MA网络的掩码信息。

Link ID是DR的物理接口地址(与BDR或DRother的连接的接口,lo口没有2类,只有1类),ADV ID是DR的RID。为什么LinkID是DR的物理接口地址而不是RID呢?答:因为DR可以是多个网段的DR,如果用RID做LinkID就分不清哪个网段了。 Routing Bit Set on this LSA LS age: 252

Options: (No TOS-capability, DC) LS Type: Network Links

Link State ID: 192.1.24.2 (address of Designated Router) Advertising Router: 2.2.2.2 LS Seq Number: 80000004 Checksum: 0x77C3 Length: 32

Network Mask: /24

Attached Router: 2.2.2.2

Attached Router: 4.4.4.4 这里是

3类:3类LSA是由ABR产生的,由本区域的ABR通告的。其它路由器没有这个能力。为什么需要3类LSA,因为1,2类只能在本区域泛洪,传不到其它区域,所以就必须有3类LSA把该区域的根据(1,2类)网段信息传给其它区域。为什么叫Summary?这个Summary不是指路由汇总,由于OSPF具有距离向量的特征,区域间是通过3类LSA去获得区域间的信息。

通告的是区域间的的网段信息(可以是手工汇总的网段)。Link ID就是就是通告的区域间的的网段信息,ADV ID就是本区域(看下面的注意试验)的ABR的RID。AdvID经过其它ABR时会改变AdvID

Summary Net Link States (Area 13)

LS age: 1491

Options: (No TOS-capability, DC, Upward) LS Type: Summary Links(Network)

Link State ID: 1.1.1.1 (summary Network Number) Advertising Router: 1.1.1.1 LS Seq Number: 80000001 Checksum: 0x47EC Length: 28

Network Mask: /32 (lo口为32位的主机路由,这是lo口的特性。)

本文来源:https://www.bwwdw.com/article/6qk2.html

Top