3.CCNP路由交换复习(2-1)
OSPF介绍
OSPF(Open Shortest Path First,开放最短路径优先)OSPF直接工作在IP层之上,IP协议号89,OSPF以组播方式发送协议包!
组播地址:224.0.0.5 / 224.0.0.6
链路状态数据库结构
-
邻居表:
- 也被称为邻接数据库
- 包含邻居列表
-
拓扑表:
- 通常被称为链路状态数据库(LSDB)
- 包含该区域或网络中的所有路由器及其连接链路
- 区域内的所有路由器有相同的LSDB
-
路由表:
- 通常称为转发数据库(forwarding database)
- 包含到目的地的最佳路径
链路状态数据库结构:网络结构
- 链路状态路由协议通过OSPF协议执行具有层次网络结构。
- 两层的层次结构由以下部分组成:
- 中转区域 (骨干区域 0)
- 常规区域 (非骨干区域)
- 两层的层次结构由以下部分组成:
OSPF 区域特点:
- 最大限度地减少路由表条目
- 本地区域内拓扑变化的影响
- 在区域边界阻止LSA的泛洪
- 需要分层网络设计
- 路由器A和B都是骨干路由器
- 骨干路由器属于区域0
- 路由器C,D和E被称为区域边界路由器
- ABR连接着骨干区域和非骨干区域
OSPF的邻接
- 路由器通过交互Hello报文发现邻居。
- 路由器在检查Hello包中的某些参数或选项后邻居建立成功。
OSPF邻接建立
-
点对点WAN链路:
- 建立全互联的邻接关系.
-
LAN链路:
- 只会与DR和BDR建立全互联的邻接关系
- DRother保持two-way状态
-
一旦建立邻接关系, 通过交互LSA开始同步LSDB
-
LSA将以可靠的方式在区域(或网络)中泛洪
OSPF Calculation(算法)
- 路由器通过将Dijkstra的SPF算法应用于链路状态数据库,找到目的地的最佳路径,如下所示:
- 同一区域的路由器拥有相同的 LSDB
- 在区域中的每个路由器将自己作为根
- 到特定目的地的链接总成本最低的路径优选
- 最佳路由放入转发数据库(路由表)中。
OSPF报文类型
- Hello 报文
- Database Description 报文
- Link-State Request 报文
- Link-State Update 报文
- Link-State Acknowledgment 报文
1、OSPF分组封装在IP分组的有效负载中,不使用TCP,利用LSAck来实现自己的确认机制。
2、IP报头中,协议标示符89表示OSPF分组。
OSPF建立邻接关系的过程详细描述
流程描述如下 |
---|
1、OSPF路由器接口up,发送Hello包,(NBMA模式时将进入Attempt状态)。 |
2、OSPF路由器接口收到Hello包,进入Init状态;并将该Hello包的发送者的Router ID,添加到Hello包(自己将要从该接口发送出去的Hello包)的邻居列表中。 |
3、OSPF路由器接口收到邻居列表中含有自己Router ID的Hello包,进入Two-way状态,形成OSPF邻居关系,并把该路由器的Router ID添加到自己的OSPF邻居表中。 |
4、在进入Two-way状态后,广播、非广播网络类型的链路,在DR选举等待时间内进行DR选举。点对点没有这个过程。 |
5、在DR选举完成或跳过DR选举后,建立OSPF邻接关系,进入exstart(准启动)状态;并选举DBD交换主从路由器,以及由主路由器定义DBD序列号,Router ID大的为主路由器。目的是为了解决DBD自身的可靠性。 |
6、主从路由器选举完成后,进入Exchange(交换)状态,交换DBD信息。 |
7、DBD交换完成后,进入Loading状态,对链路状态数据库和收到的DBD的LSA头部进行比较,发现自己数据库中没有的LSA就发送LSR,向邻居请求该LSA;邻居收到LSR后,回应LSU;收到邻居发来的LSU,存储这些LSA到自己的链路状态数据库,并发送LSAck确认。 |
8、LSA交换完成后,进入FULL状态,所有形成邻居的OSPF路由器都拥有相同链路状态数据库。 |
9、定期发送Hello包,维护邻居关系。 |
如下图:
OSPF状态机
OSPF的邻居状态机 | |
---|---|
1、Down | 本地一旦发出hello包,进入下一状态; |
2、Init(初始化) | 本地接收到的hello包中若存在本地的RID,进入下一个状态; |
3、2-way(双向通信) | 邻居关系建立标志,条件匹配:点到点网络直接进入下一状态;MA网将进行DR/BDR选举(40s),非DR/BDR间不能进入下一状态; |
4、Exstart(预启动) | 使用类hello的DBD包进行主从关系选举,RID数值大为主,主优先进入下一状态机; |
5、Exchange(准交换) | 使用真正的DBD包进行主从关系选举,RID数值大为主,主优先进入下一状态; |
6、Loading(加载) | 使用LSR/LSU/LSack来获取未知LSA信息; |
7、Full(转发) | 邻接关系建立的标志; |
卡在各个状态的原因 | |
卡在Down状态 | OSPF没有运行; |
卡在Init状态 | 没有收到对方的hello包; |
卡在2-way状态 | MA网络没法选举; |
卡在Exstart状态 | MTU不匹配; |
卡在exchange状态 | 包交互有问题,发出DBD后没有收到ACK; |
卡在Loading状态 | LSA加载不完全,包交互有问题; |
OSPF Router ID
- 在OSPF网络内通过OSPF router ID标识路由器。
- LSDBs 使用OSPF的 Router ID 区分不同的路由器。
- 使用Loopback接口或手动配置Router-id保持Router-ID稳定。
Router ID选举顺序 |
---|
1、手动设置的Router ID |
2、活跃的Loopback接口中IP地址较大的 |
3、活跃的物理接口中IP地址较大的 |
OSPF网络类型
OSPF网络类型包括以下几种: | |
---|---|
1、loopback 环回口 | 1、环回口在OSPF中式一类单独的网络类型2、环回口下配置的IP,不管掩码配置为多少,发出路由时都会当做/32的主机路由 |
2、point-to-point 串口、帧中继的点到点子接口 | 1、如果二层的协议为PPP、HDLC等,则OSPF网络类型为P2P 2、如果帧中继子接口类型为P2P的,则OSPF网络类型也为P2P 3、不选举DR、BDR 4、使用组播地址224.0.0.5 5、OSPF能够根据二层封装自动检测到P2P网络类型 |
3、broadcast 以太网口/快速以太口 | 1、通常出现在以太网 2、选举DR、BDR 3、所有路由器均与DR及BDR建立邻接关系. 4、使用组播地址224.0.0.5及224.0.0.6 |
4、NBMA 帧中继 | 1、使用物理接口默认为NBMA 2、使用子接口默认为点对点 3、使用NBMA需要使用neighbor命令指定邻居 |
5、point-to-multipoint | 1、物理接口:无2、自动建立3、hello:30s /Dead时间120s 4、不选举DR/BDR5、特点:学习对方的主机路由 |
6、point-to-multipoint no-broadcast | 1、物理接口:无 2、hello时间:30s /Dead时间:120s 3、无DR不能自动建立 4、手工指定单播邻居 5、特点:学习对方主机路由 |
OSPF LSA(链路状态通告)
类别 | 名称 | 描述 |
---|---|---|
1 | 路由器LSA(Router LSA) | 区域内Router产生,描述了路由器所有接口、链路和Cost值。只能在本区域内泛洪。 |
2 | 网络LSA(Network LSA) | 由DR产生,报文包括了其连接的所有Router的routerID,其中包含自己的routerID。 |
3 | 网络汇总LSA(Summary LSA) | 可以通知本区域内的路由器通往区域外的路由信息。默认路由也被通告。 Link ID为目标网段的ID。 |
4 | ASBR汇总LSA (ASBR summary LSA) | 也是由ABR产生,但是它是一条主机LSA,指向ASBR路由器。 |
5 | 自治系统外部汇总LSA | 由ASBR产生,告诉本自治区的路由器通往外部自治区的路径。 |
7 | NSSA外部LSA | 由ASBR产生,几乎和LSA5通告是相同的,但NSSA外部LSA通告仅仅在始发这个NSSA外部LSA通告的非纯末梢区域内部进行泛洪。 |
OSPF LSA类型
-
类型1 :路由器LSA Router LSA
- 每个路由器针对它所在的区域产生LSA1,描述区域内部与路由器直连的链路的信息(包括链路类型,Cost等) ;
- LSA1只允许在本区域内洪泛,不允许跨越ABR;
- LSA中会标识路由器是否是ABR(B比特置位),ASBR(E比特置位)或者是Virtual-link(V比特置位)的端点的身份信息;
-
类型2:网络LSA Network LSA
- 描述TransNet(包括Broadcast和NBMA网络)网络信息;
- 由DR生成,描述其在该网络上连接的所有路由器以及网段掩码信息,以及这个MA所属的路由器;
- LSA类型2只在本区域Area内洪泛,不允许跨越ABR;
- Network LSA ID是DR进行宣告的那个接口的IP地址
- Network LSA 中没有COST字段
-
类型1、2 总结
- 通过LSA1,LSA2在区域内洪泛,使区域内每个路由器的LSDB达到同步,计算生成标识为“O”的路由,解决区域内部的通信问题;
-
类型3: 网络汇总LSA Network Summary LSA
- 由ABR生成,实际上就是将区域内部的Type1 Type2的信息收集起来以路由子网的形式扩散出去, 这就是Summay LSA中Summay的含义(注意这里的summary与路由汇总没有关系);
- Type 3 的链路状态ID是目的网络地址。
- 如果—台ABR路由器在与它本身相连的区域内有多条路由可以到达目的地,那么它将只会始发单一的一条网络汇总LSA到骨干区域,而且这条网络汇总LSA是上述多条路由中代价最低的。
- ABR收到来自同区域其它ABR传来的Type 3 LSA后重新生成新的Type3 LSA(Advertising Router改为自己)然后继续在整个OSPF系统内扩散
-
类型4: ASBR Summary LSA
- ASBR Summary LSA由ABR生成,用于描述ABR能够到达的ASBR它的链路状态ID为目的ASBR的RID。
-
类型5: 自治系统外LSA AS External LSA
- Autonomous System External LSA由ASBR生成用于描述OSPF自治域系统外的目标网段信息链路状态ID是目的地址的IP网络号。
- 外部路由通过重发布,引入OSPF路由域,相应信息(路由条目)由ASBR以LSA5的形式生成然后进入OSPF路由域;
- 缺省情况下,LSA5生成路由用OE2表示,可强行指定为OE1;
- OE2 开销 = 外部开销;
- OE1 开销 = 外部开销 + 内部开销;
- LSA5不允许进入特殊区域 —— stub存根区& NSSA区;
-
类型5: 自治系统外LSA AS External LSA
- OE1、OE2的区别
-
类型7: NSSA中的外部LSA NSSA External LSA
- 在NSSA(非完全存根区域)not-so-stubby area中ASBR针对外部网络产生类似于LSA5的LSA类型7,
- LSA类型7只能在NSSA区域中洪泛,到达NSSA区域ABR后,NSSA ABR将其转换成LSA类型5外部路由,传播到Area 0,从而传播到整个OSPF路由域
- 生成路由缺省用ON2表示,也可指定为ON1;
-
OSPF LSDB和路由表
- 查看LSDB:show ip ospf database
- 查看路由表:show ip route ospf
OSPF LSDB和路由表
查看路由表:show ip route ospf
O > O IA > O E1 > O E2
路由指示符 | 路由类型 |
---|---|
O | OSPF 区域内路由 |
O IA | OSPF 区域间路由 |
O E1 | 1 类外部路由 |
O E2 | 2 类外部路由 |