72 lines
6.1 KiB
Markdown
72 lines
6.1 KiB
Markdown
|
# 2024.09.11_课后作业
|
|||
|
|
|||
|
|
|||
|
|
|||
|
### 1.简述OSPF的作用、工作原理以及使用的 OSPF 报文类型
|
|||
|
|
|||
|
> OSPF(开放最短路径优先)是一种用于互联网协议网络的链接状态路由协议。它是内部网关协议(IGP)的一种,用于在单一自治系统(AS)内部决策路由。
|
|||
|
|
|||
|
**OSPF的作用:**
|
|||
|
|
|||
|
1. 快速收敛:OSPF能够快速响应网络拓扑的变化,因为它使用链路状态而不是距离向量来进行路由决策。
|
|||
|
2. 支持大规模网络:通过将网络划分为多个区域(Area),OSPF可以支持非常大规模的网络。
|
|||
|
3. 路由选择灵活性:OSPF允许管理员对路由进行更细致的控制,比如定义不同的路径成本,实现多路径路由。
|
|||
|
4. 支持CIDR和VLSM:OSPF支持无类别域间路由(CIDR)和可变长子网掩码(VLSM),这使得地址分配更加灵活和高效。
|
|||
|
5. 安全性:OSPF支持多种认证方式,增加了网络的安全性。
|
|||
|
|
|||
|
**工作原理:**
|
|||
|
|
|||
|
1. 建立邻居关系:当OSPF路由器启动时,它首先会通过发送Hello报文来发现并建立与相邻路由器的直接连接。
|
|||
|
2. 交换链路状态信息:一旦邻居关系建立,路由器会交换链路状态通告(LSA),这些LSA包含了路由器的接口状态、连接类型和度量(成本)。
|
|||
|
3. 构建链路状态数据库:每个路由器都会收集所有邻居发送的LSA,构建一个完整的链路状态数据库。
|
|||
|
4. 运行SPF算法:路由器使用迪杰斯特拉算法(Dijkstra’s algorithm)对链路状态数据库中的信息进行处理,计算到达所有已知网络的最短路径。
|
|||
|
5. 更新路由表:根据SPF算法的结果,路由器更新自己的路由表以反映当前网络拓扑结构。
|
|||
|
|
|||
|
**OSPF报文类型:**
|
|||
|
|
|||
|
1. Hello报文:用于发现和维持邻居路由器,以及用于选举指定路由器(DR)和备份指定路由器(BDR)。
|
|||
|
2. Database Description (DBD) 报文:用于在两个邻居之间交换链路状态数据库的摘要信息。
|
|||
|
3. Link State Request (LSR) 报文:用于请求邻居的链路状态信息,当路由器发现邻居的链路状态数据库中有自己没有的信息时,会发送LSR报文。
|
|||
|
4. Link State Update (LSU) 报文:用于响应LSR报文,或者当链路状态发生变化时主动发送,包含完整的LSA。
|
|||
|
5. Link State Acknowledgment (LSAck) 报文:用于确认接收到的LSU报文,确保链路状态信息的可靠传输。
|
|||
|
|
|||
|
|
|||
|
|
|||
|
### 2.OSPF状态机
|
|||
|
|
|||
|
1. **Down**:这是OSPF邻居关系的初始状态。在这个状态下,路由器尚未发现任何邻居,或者邻居的Hello报文超时。
|
|||
|
2. **Attempt**:这是一个特殊的仅用于NBMA(非广播多点连接)网络的状态。在这个状态下,路由器尝试通过发送Hello报文来发现邻居,但是还没有收到任何邻居的Hello报文。
|
|||
|
3. **Init**:在这个状态下,路由器已经从邻居那里收到了一个Hello报文,但是自己的IP地址并没有出现在邻居的Hello报文中,因此邻居关系还没有完全建立。
|
|||
|
4. **Two-Way**:当路由器在自己的Hello报文中看到了邻居的IP地址,并且邻居的Hello报文中也包含了自己的IP地址时,邻居关系进入Two-Way状态。在这个状态下,双向通信已经建立,但是还没有选举出DR(指定路由器)和BDR(备份指定路由器)。
|
|||
|
5. **ExStart**:在这个状态下,邻居之间开始建立主备关系,并决定哪个路由器将首先发送DBD报文。同时,邻居之间会交换各自的初始序列号。
|
|||
|
6. **Exchange**:在这个状态下,邻居之间交换DBD报文,这些报文包含了链路状态数据库的摘要信息。路由器通过这些报文来确定需要从邻居那里请求哪些LSA。
|
|||
|
7. **Loading**:在这个状态下,路由器发送LSR报文来请求在Exchange状态下确定的缺失的LSA。邻居通过发送LSU报文来响应这些请求。
|
|||
|
8. **Full**:当路由器已经从邻居那里收到了所有缺失的LSA,并且自己的链路状态数据库与邻居的数据库同步时,邻居关系进入Full状态。在这个状态下,邻居之间可以交换所有的OSPF报文。
|
|||
|
|
|||
|
|
|||
|
|
|||
|
### 3.简述 OSPF 特殊区域的作用与类型
|
|||
|
|
|||
|
> OSPF特殊区域(Special Area)是为了优化大型网络中的路由计算和减少路由信息的传播而设计的。通过将一个大的自治系统(AS)划分为多个区域,并使某些区域具有特殊属性,可以减少路由器上的资源消耗,加快路由收敛,并限制路由更新在网络中的传播。
|
|||
|
|
|||
|
**OSPF特殊区域的作用:**
|
|||
|
|
|||
|
1. 减少路由信息的传输:在特殊区域中,路由器不需要保存整个AS的链路状态信息,从而减少了路由更新的大小和数量。
|
|||
|
2. 减少路由计算的复杂度:由于链路状态信息的减少,路由器进行最短路径优先(SPF)计算时所需的资源也相应减少。
|
|||
|
3. 加快路由收敛:减少了链路状态信息的传输和路由计算,有助于更快地收敛网络拓扑变化。
|
|||
|
4. 限制路由更新的影响:当网络发生变化时,特殊区域可以限制这些变化在网络中的传播,从而减少对整个网络的影响。
|
|||
|
|
|||
|
**OSPF特殊区域的类型:**
|
|||
|
|
|||
|
1. *Stub Area(末节区域):*
|
|||
|
- 作用:阻止外部路由(AS外部路由)进入该区域,减少路由表的大小。
|
|||
|
- 特点:区域中的路由器不会接收AS外部的路由信息,而是使用默认路由(0.0.0.0/0)指向区域边界路由器(ABR)。
|
|||
|
2. *Totally Stubby Area(完全末节区域):*
|
|||
|
- 作用:不仅阻止AS外部路由,还阻止类型5的LSA(外部LSA)。
|
|||
|
- 特点:区域内的路由器仅通过默认路由访问外部网络,减少了路由表项和链路状态信息的数量。
|
|||
|
3. *Not-So-Stubby Area (NSSA):*
|
|||
|
- 作用:允许将特定外部路由注入到区域内,同时仍然阻止其他外部路由。
|
|||
|
- 特点:使用类型7的LSA(NSSA外部LSA)来通告外部路由,并在ABR处转换为类型5的LSA。
|
|||
|
4. *Totally NSSA Area(完全NSSA区域):*
|
|||
|
- 作用:与NSSA类似,但是也阻止了类型5的LSA。
|
|||
|
- 特点:区域内的路由器通过默认路由和类型7的LSA访问外部网络,进一步减少了链路状态信息的传播。
|