网络技术
H3C网络技术
H3C 设备CLI(命令行)管理
H3C基础配置知识
H3C 设备型号概述
H3C网络端口基础信息与配置
H3C网络设备概述
HCL模拟器使用简介
H3C WX2540H 本地portal认证+本地用户认证实现web认证
网络的基本概念与定义
VLAN简介与配置
生成树配置
STP简介与配置
RSTP简介
MSTP基本概念
交换机FTP和TFTP操作
配置文件与升级
网络设备登录管理方式
网络设备文件系统操作
H3C MSR路由器出口双线负载均衡
策略路由配置
以太网链路聚合
DHCP中继
防火墙简单配置实验
华为_HCIP
认识设备-硬件架构与逻辑平面
路由基础-HCIP
OSPF路由基础概述
Router LSA详解
OSPF-Network LSA(二类LSA)与区域内路由计算
OSPF-区域间路由计算
计算机网络-OSPF防环机制
计算机网络-RIP动态路由协议简介
OSPF区域外部路由计算
OSPF特殊区域-Stub区域
计算机网络-NSSA区域与Totally NSSA区域
OSPF路由汇总
OSPF其它特性
IS-IS路由协议基础概念
IS-IS基础概念二
IS-IS邻接关系建立
IS-IS链路状态数据库同步
IS-IS路由计算
IPv6基础概念
IPv6缩写规范与地址分类
ICMPv6基础知识
ICMPv6之NDP协议
计算机网络-IPv6地址配置
DHCPv6基础概念
DHCPv6配置
IPv6路由配置
路由策略与路由工具
计算机网络-Filter-Policy过滤策略
Route-Policy路由策略
策略路由概念与应用
MQC策略简介与配置
流量过滤策略
BGP的背景与概述
BGP基本概念
BGP报文类型简介
BGP状态机制与对等体表项
BGP路由生成与路由表
BGP路由通告原则
BGP基础实验配置
BGP路由优选概述
BGP路由优选原则一Preferred-Value
BGP路由优选原则二-本地优先级
BGP路由优选原则三-路由类型
BGP路由优选原则四-AS_Path属性
BGP路由优选原则五-Origin属性优选
BGP路由优选原则六-优选MED属性值最小的路由
BGP路由优选原则七-EBGP优于IBGP
BGP路由优选原则八-优选IGP Cost值小的路由
BGP路由负载分担
BGP路由反射器与Cluster list选路原则
BGP路由优选原则九-优选Router ID小的设备通告的路由
计算机网络-IP组播基础
组播地址与组播网络组成
组播数据转发原理与RPF
组播分发树与组播协议
IGMP协议简介
IGMPv1工作原理
IGMPv2工作原理简介
IGMPv3的工作原理
IGMP Snooping特性
计算机网络-PIM协议基础概念
PIM-DM密集模式工作原理
基于PIM-DM+IGMP的组播实验配置
PIM-SM(ASM)基础
PIM-SM(SSM)基本原理
PIM-SM组播实验
BFD检测机制
BFD配置实验
VRRP基础概念
VRRP工作原理与选举过程
VRRP主备切换与主备回切
VRRP基础实验一
RSTP基础概念
RSTP工作原理与P/A机制
MSTP概述
MSTP基础概念
MSTP工作原理概述
MSTP基础实验一(单域多实例)
计算机网络-VPN虚拟专用网络概述
计算机网络-GRE(通用路由封装协议)简介
GRE-动态路由协议实验
IPSec VPN基本概念
IPSec VPN工作原理
IPSec VPN基础实验一(主模式)
GRE Over IPSec实验
计算机网络-L2TP VPN基础概念与原理
L2TP VPN基础实验配置
L2TP Over IPSec基础实验
SSH理论基础
VRF基本概念
MPLS基础概念
MPLS转发原理
MPLS静态标签实验
计算机网络-LDP标签分发协议
LDP工作原理-LDP会话建立
LDP标签发布与管理
LDP工作过程详解
VPN实例应用于交换机带外管理接口
H3C V7防火墙IPSECVPN配置(主模式配置)
网络设备拨号设置
网络地址分类与子网划分
防火墙区域以及安全策略配置(命令行版)
H3C V7 IPSEC_VPN配置(野蛮模式配置)
华为_HCIA
路由基础
以太网交换基础
VLAN的原理与配置
VLAN间通信
STP生成树简介
华为VRP系统简介
NAT网络地址转换
ACL访问控制列表
AAA的原理与配置
DHCP配置
链路聚合原理与配置
PPP与PPPoE协议
OSPF路由基础
无线通信基础原理
无线组网基本概念
无线网络配置原理与步骤
典型无线组网实验配置
网络设备防火墙是什么?
防火墙工作原理与安全策略
华为VRP系统基础命令配置
本文档使用 MrDoc 发布
-
+
首页
OSPF路由基础
## 一、静态路由与动态路由复习 前面已经大致了解了路由的概念以及静态路由和动态路由。 静态路由是由工程师手动配置和维护的路由条目,命令行简单明确,适用于小型或稳定的网络。静态路由有以下问题: - 无法适应规模较大的网络:随着设备数量增加,配置量急剧增加。 - 无法动态响应网络变化:网络发生变化,无法自动收敛网络,需要工程师手动修改。  简单说就是静态路由需要管理员确定目的地和下一站,如果中间链路故障则无法通信。因此出现了动态路由协议,动态路由协议是路由器之间用来交换路由信息并自动学习路由的协议。通过在路由器上运行动态路由协议,路由器可以学习路由信息并最终生成路由转发表。当网络拓扑结构发生变化时,动态路由协议可以自动更新路由表,并负责决定数据传输的最佳路径。 简单讲就是动态路由运行在路由器等三层设备上可以自动优选转发路径以及故障触发路径变化,不需要手动干预。 ### 1.1 动态路由协议分类 - 距离矢量路由协议 运行距离矢量路由协议的路由器周期性的泛洪自己的路由表。通过路由的交互,每台路由器都从相邻的路由器学习到路由,并且加载进自己的路由表中。对于网络中的所有路由器而言,路由器并不清楚网络的拓扑,只是简单的知道要去往某个目的方向在哪里,距离有多远。这即是距离矢量算法的本质。常见的就是RIP,现在已经用得比较少了,不会重点学习了。  - 链路状态路由协议 链路状态路由协议通告的的是链路状态而不是路由表。运行链路状态路由协议的路由器之间首先会建立一个协议的邻居关系,然后彼此之间开始交互LSA(Link State Advertisement,链路状态通告)。这类路由协议主要有OSPF和ISIS,今天就是学习的OSPF。  总结就是距离矢量路由只能从邻居路由器学习到目的地还有多少跳,链路状态路由是所有路由器组成一个组,成员公开自己的接口链路状态,每个需要的成员自己组装。 ## 二、OSPF概述 OSPF(Open Shortest Path First,开放式最短路径优先)是典型的链路状态路由协议,是目前业内使用非常广泛的IGP协议之一。目前针对IPv4协议使用的是OSPF Version 2(RFC2328);针对IPv6协议使用OSPF Version 3(RFC2740)。 简单总结如下: - 运行OSPF路由器之间交互的是LS(Link State,链路状态)信息,而不是直接交互路由。LS信息是OSPF能够正常进行拓扑及路由计算的关键信息。 - OSPF路由器将网络中的LS信息收集起来,存储在LSDB中。路由器都清楚区域内的网络拓扑结构,这有助于路由器计算无环路径。 - 每台OSPF路由器都采用SPF算法计算达到目的地的最短路径。路由器依据这些路径形成路由加载到路由表中。 - OSPF支持VLSM(Variable Length Subnet Mask,可变长子网掩码),支持手工路由汇总。 - 多区域的设计使得OSPF能够支持更大规模的网络。 ### 2.1 OSPF基础术语 **区域:**OSPF Area用于标识一个OSPF的区域。区域是从逻辑上将设备划分为不同的组,每个组用区域号(Area ID)来标识。  **Router-ID**:Router-ID(Router Identifier,路由器标识符),用于在一个OSPF域中唯一地标识一台路由器。Router-ID的设定可以通过手工配置的方式,或使用系统自动配置的方式。就是在一个OSPF网络中的唯一身份证。  **度量值**:OSPF使用Cost(开销)作为路由的度量值。概况地说,一条OSPF路由的Cost值可以理解为是从目的网段到本路由器沿途所有入接口的Cost值累加。  ### 2.2 OSPF协议报文类型 OSPF有五种类型的协议报文。这些报文在OSPF路由器之间交互中起不同的作用。 |报文名称| 报文功能| |---|---| |Hello |周期性发送,用来发现和维护OSPF邻居关系。| |Database Description (DD报文)| 描述本地LSDB的摘要信息,用于两台设备进行数据库同步。| |Link State Request (LSR报文)| 用于向对方请求所需要的LSA。设备只有在OSPF邻居双方成功交换DD报文后才会向对方发出LSR报文。| |Link State Update (LSU报文)| 用于向对方发送其所需要的LSA。| |Link State ACK (LS ACK)| 用来对收到的LSA进行确认。| Hello报文用来确定邻居存活,DD报文用来描述自己的数据库,LSR请求别人的数据,LSU发送端,LS ACK相当于回复"收到"。 ### 2.3 OSPF的三大表项 OSPF有三张重要的表项,OSPF邻居表、LSDB表和OSPF路由表。 1、OSPF邻居表 对于OSPF的邻居表,需要了解: - OSPF在传递链路状态信息之前,需先建立OSPF邻居关系。 - OSPF的邻居关系通过交互Hello报文建立。 - OSPF邻居表显示了OSPF路由器之间的邻居状态,使用display ospf peer查看。  OSPF首先要建立邻居才能进行链路状态信息的传递,就像谈恋爱先确定关系才能继续发展约会。 2、LSDB表项 存储LSA(Link State Advertisement,链路状态通告)信息。就是正式确定关系之后可以互相交互对方的信息了,姓名、年龄、家庭住址什么的了,这些存储在LSDB表项中。 - LSDB会保存自己产生的及从邻居收到的LSA信息,本例中R1的LSDB包含了三条LSA。 - Type标识LSA的类型,AdvRouter标识发送LSA的路由器。 - 使用命令行display ospf lsdb查看LSDB表。  3、OSPF路由表 对于OSPF的路由表,需要了解: - OSPF路由表和全局路由器路由表是两张不同的表项。OSPF是通过OSPF协议生成的表项,全局路由表是最优的路由表项。 - OSPF路由表包含Destination、Cost和NextHop等指导转发的信息。 - 使用命令display ospf routing查看OSPF路由表。  ## 三、OSPF工作原理 ### 3.1 链路状态路由协议的工作原理 LSA链路状态通告,可以简单的理解为每台路由器都产生一个描述自己直连接口状态(包括接口的开销、与邻居路由器之间的关系等)的通告。  每个OSPF路由接收LSA组成自己的LSDB数据库。  每台路由器基于LSDB,使用SPF(Shortest Path First,最短路径优先)算法进行计算。每台路由器都计算出一棵以自己为根的、无环的、拥有最短路径的“树”。有了这棵“树”,路由器就已经知道了到达网络各个角落的优选路径。  最后,路由器将计算出来的优选路径,加载进自己的路由表(Routing Table)。   ### 3.2 OSPF邻接关系与邻居关系 OSPF路由器之间的关系有两个重要的概念,邻居关系和邻接关系。先有邻居,然后在邻居关系上建立邻接关系,类似你搬到一个地方就有邻居了,然后你们互相走动熟悉了有接触关系了才是邻接关系。 双方互联接口上激活OSPF,路由器开始发送及侦听Hello报文。在通过Hello报文发现彼此后,这两台路由器便形成了邻居关系。邻居关系的建立只是一个开始,后续会进行一系列的报文交互,例如前文提到的DD、LSR、LSU和LS ACK等。当两台路由器LSDB同步完成,并开始独立计算路由时,这两台路由器形成了邻接关系。 邻接关系建立过程:      **OSPF邻接状态:** | 阶段 | 状态 | 含义 | | -------- | -------- | ------------------------------------------- | | 邻居阶段 | Down | OSPF进程没有开始 | | 邻居阶段 | init | 开始查找邻居 | | 邻居阶段 | two-way | 从邻居的邻居收到自己的ID,停留在two-way状态 | | 邻接阶段 | ex-start | 交互DD报文,确认主从,首先宣告自己是主 | | 邻接阶段 | exchang | 比较之后确定主从,变更DD序列号 | | 邻接阶段 | loading | 加载状态,请求LSA完整信息,互相交互 | | 邻接阶段 | full | 收到LSACK,LSDB同步完成,邻接状态完成 | 在下一个阶段还会继续深入了解OSPF,这个阶段先学习基础,完成单区域配置实现路由通信。 ### 3.3 OSPF网络类型 一般情况下双方接口网络类型需要一致,否则无法建立邻居关系。 OSPF网络类型有以下几种: - Broadcast:广播式多路访问 - NBMA:非广播式多路访问 - P2MP:点到多点 - P2P:点对点 一般情况下是Broadcast,如果发现地址、链路、ospf配置都正常但是无法建立邻居就有可能是网络类型不一致,以后会继续深入学习。 ### 3.4 DR与BDR 以太网(Ethernet)是一种典型的广播型多路访问网络。在MA网络中,如果每台OSPF路由器都与其他的所有路由器建立OSPF邻接关系,便会导致网络中存在过多的OSPF邻接关系,增加设备负担,也增加了网络中泛洪的OSPF报文数量。当拓扑出现变更,网络中的LSA泛洪可能会造成带宽的浪费和设备资源的损耗。  OSPF指定了三种OSPF路由器身份,DR(Designated Router,指定路由器)、BDR(Backup Designated Router,备用指定路由器)和DRother路由器。 - 只允许DR、BDR与其他OSPF路由器建立邻接关系。 - DRother之间不会建立全毗邻的OSPF邻接关系,双方停滞在2-way状态。 - BDR会监控DR的状态,并在当前DR发生故障时接替其角色。  就是如果10个人互相建立邻接关系太消耗资源了,指定了一个组长和副组长,只有两位组长可以和其它成员建立邻接关系,减少资源占用。 ### 3.5 OSPF区域 OSPF域(Domain):一系列使用相同策略的连续OSPF网络设备所构成的网络。 OSPF路由器在同一个区域(Area)内网络中泛洪LSA。为了确保每台路由器都拥有对网络拓扑的一致认知,LSDB需要在区域内进行同步。 如果OSPF域仅有一个区域,随着网络规模越来越大,OSPF路由器的数量越来越多,这将导致诸多问题: - LSDB越来越庞大,同时导致OSPF路由表规模增加。路由器资源消耗多,设备性能下降,影响数据转发。 - 基于庞大的LSDB进行路由计算变得困难。 - 当网络拓扑变更时,LSA全域泛洪和全网SPF重计算带来巨大负担。 因此出现了多区域概念。现在基础阶段只需要知道单区域配置即可。  ### 3.6 OSPF路由器角色 OSPF进行多区域划分之后相应的也产生了不同的路由器角色了。 OSPF路由器根据其位置或功能不同,有这样几种类型: - 区域内路由器(Internal Router) - 区域边界路由器ABR(Area Border Router) - 骨干路由器(Backbone Router) - 自治系统边界路由器ASBR(AS Boundary Router)  ## 四、OSPF基础配置 OSPF基础配置简介: 步骤概述: - 规划网络 - 启动OSPF进程并进入OSPF视图 - 配置区域,OSPF支持多区域,现在只使用单区域0 - 通告运行ospf的接口的网段,使用网段和反掩码 ```ssh # (系统视图)创建并运行OSPF进程,配置进程ID和Router-id,如果不知道路由器ID则系统自动生成,之前讲过路由器ID是OSPF中的唯一标识,建议提前规划,格式与IP地址一样:如1.1.1.1、12.1.1.1 [Huawei] ospf [ process-id | router-id router-id ] # 创建并进入OSPF区域,区域0是OSPF中最核心的区域,区域ID可以是数字也可以是点分十进制 [Huawei-ospf-1]area 0 # 指定运行OSPF的接口,通告自己运行OSPF协议的接口 # network命令用来指定运行OSPF协议的接口和接口所属的区域。network-address为接口所在的网段地址。 # wildcard-mask为IP地址的反码,相当于将IP地址的掩码反转(0变1,1变0),例如0.0.0.255表示掩码长度24 bit。 [Huawei-ospf-1-area-0.0.0.0] network network-address wildcard-mask # 配置OSPF接口开销(可选),cost取值范围是1~65535 [Huawei-GE1/0/1] ospf cost cost # 设置OSPF带宽参考值 [Huawei-ospf-1] bandwidth-reference value # 设置接口在选举DR时的优先级,priority值越大,优先级越高,取值范围是0~255。 [Huawei-GigabitEthernet0/0/0] ospf dr-priority priority ``` 今日总结: 路由有静态路由和动态路由,静态路由需要管理员手动配置不够灵活,动态路由有灵活自行择优选路等特点。动态路由有两类:距离矢量路由协议(RIP)和链路状态路由协议(OSPF、ISI)。OSPF是一种链路状态路由协议,通过在OSPF区域内交互LSA实现LSDB同步获取路由信息,需要先建立邻居关系,然后交互DD报文等然后形成邻接关系才能开始交互LSA,OSPF支持多区域,为了减少邻接关系大量占用资源产生了DR和BDR两个组长和其它成员建立关系,通过OSPF的多区域设计可以实现灵活、动态、大规模的网络架构,后面还会继续深入学习。 如果觉得文章感兴趣欢迎关注公众号:不喜欢热闹的孩子 
Chuck
2024年1月26日 17:46
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码