HCIP网络笔记分享——IA回顾及OSPF协议
第一部分
- HCIA回顾
- 1、网络基础
- 2、动态路由协议
- 3、路由认证
- 4、路由控制(AD metric )
- 一、知识巩固
- 二、场景模拟
- 1、获取IP地址
- 1.1 DHCP --- 动态主机配置协议
- 1.1.1 DHCP客户端
- 1.1.2 DHCP服务器
- 1.1.3 DHCP客户端
- 1.1.4 DHCP服务器
- 2、打开浏览器
- 3、路由器进行路由
- 4、DNS服务器进行查找
- 5、TCP三次握手
- 6、HTTP请求
- 7、HTTP应答
- 三、OSPF基础
- 1、OSPF 特点
- 2、OSPF 区域
- 3、OSPF 消息数据包
- 4、OSPF 邻居状态机制
- 5、OSPF 基本配置
- 四、OSPF网络类型
- 1、P2P
- 2、BMA
- 3、NBMA
- 4、P2MP
- 5、OSPF 认证
- 6、OSPF 路由控制
- 五、OSPF LSA详解
- 1、1类LSA:
- 2、2类LSA
- 3、3类LSA
- 4、5类LSA
- 5、4类LSA
- 6、7类LSA
- 7、FA
- 8、OSPF 中的计时器
- 六、OSPF总结
- 1、OSPF区域划分的要求
- 2、OSPF的基本配置
- 3、结构突变
- 4、条件匹配
- 5、DR/BDR选举
- 6、OSPF的数据包
- 七、OSPF不规则区域问题
- 1、使用VPN隧道
- 2、使用OSPF虚链路来解决不规则区域
- 八、特殊区域
- 1、第一大类特殊区域
- 2、第二大类特殊区域
- 3、特殊区域的标记位
- 4、OSPF的拓展配置
- 4.1 手工认证
- 4.2 缺省路由
- 4.3 沉默接口
- 4.4 加速收敛
- 4.5 路由过滤
- 4.6 路由控制
- 4.7 OSPF的附录E
HCIA回顾
1、七层参考模型及IP讲解
2、TCP三次握手讲解
3、TCP四次挥手讲解及抓包分析
4、DHCP协议讲解及抓包分析
5、静态综合实验讲解
7、静态路由讲解
8、RIP路由信息协议讲解
9、动态路由协议讲解
10、抓包进行分析RIP以及OSPF的包
11、动态路由OSPF配置综合实验讲解
12、Vlan虚拟局域网技术讲解
13、ACL访问控制列表讲解
14、NAT技术讲解
15、网络综合实验讲解
1、网络基础
1、OSI模型 :七层参考模型及IP讲解
2、传输层: 区分不同的流量 ; 定义数据的传输方式
TCP:是一种面向连接的可靠的传输协议
UDP:是一种非面向连接的不可靠的传输协议
3、TCP :
序列号 32个二进制 ,发送数据的顺序
确认号 32个二进制 ,确认数据时使用的
4、TCP 三次握手 TCP三次握手讲解
5、TCP 四次挥手 TCP四次挥手讲解及抓包分析
6、UDP:没有ACK 号 没有序列号
7、TCP/IP模型:
应用层(应用 表示 会话)
端到端层(传输层)
互联网层(网络层)
网络接口层(数据链路 物理层)
8、OSI与TCP/IP模型区别:
1.封装 OSI 模型数据封装必须具有完整的封装; TCP/IP支持跨层封装
2.使用 OSI 一般理论 ; TCP/IP 一般用于工业生产
3.协议 OSI支持多种网络层协议;TCP/IP仅仅支持IP协议栈(IPV4 IPV6)
9、ARP : 地址解析协议
正向ARP
反向ARP
逆向ARP
无故ARP—免费ARP
代理ARP-proxy ARP
10、路由: 按照路由条目,逻辑选址。
- 控制层面: 路由条目的加表;
AD metric(华为中priority cost) - 数据层面: 按照路由条目转发数据包;1.与操作 2.最长匹配 3.递归查找
11、IPV4数据包结构:


12、静态路由:
- 1、出接口(一般建议在点对点的网络结构中使用)
- 2、下一跳地址(一般建议在非点对点(MA 多路访问网络结构中使用))
注意: 在思科中, 不同的网络类型中可以使用出接口或下一跳(以上的给出的只是建议);
在华为,若为MA网络结构,必须使用下一跳或出接口+下一跳
- 3.出接口+下一跳
- 4.浮动静态路由
13、思科做法:
- 1.定义SLA (定义发送数据包的类型以及频率,SLA的工作时间)
ip sla 1----#定义SLA的编号
icmp-echo 10.1.1.2 source-ip 10.1.1.1---#定义发送流量的类型
frequency 5---#定义频率
ip sla schedule 1 start-time now---#设置SLA的起始时间,没写终止代表发送3600s
- 2.定义
track跟踪

- 3.在静态路由中调用
track

14、测试:
华为浮动静态路由:
- 1.定义BFD会话
BFD----启动BFD功能
bfd 1 bind peer-ip 10.1.1.2 source-ip 10.1.1.1---#定义BFD会话信息
discriminator local 1----#定会一条会话的本地编号
discriminator remote 2
commit---#启动(提交)
- 2.在静态路由中通过
track调用BFD会话

查看BFD会话:

- 3.永久静态路由 (思科与华为完全一致)

- 4.缺省路由
2、动态路由协议
1、动态路由协议: RIP OSPF EIGRP ISIS BGP
2、动态路由协议的分类:
- 1.按照使用范围进行分类:
IGP BGP AS— 自治系统 - 2.按照协议的算法特点进行分类:距离矢量型 ;链路状态型
- 3.按照是否携带网络掩码进行类:有类别路由协议 ;无类别路由协议
3、RIP : 路由信息协议
-
1.适用范围:
IGP -
2.协议算法特点:距离矢量型(DV),贝尔曼福特算法
-
3.是否携带网络掩码:RIPV1不携带 RIPV2携带
-
4.协议数据包的封装:基于UDP封装,使用端口号 520
-
5.RIP协议描述:路由器通过周期性发送消息数据包来传递路由信息(
request请求response 响应),周期时间30s ,支持路由认证,支持路由手工汇总。 -
6.RIP 携带路由信息的报文:
response基于UDP封装。一条RIP更新报文最多包含25条路由信息,若启用路由认证,则最多传递24条路由信息。 -
7.RIP的防环机制
-
- 异步更新机制
-
- 水平分割机制
-
- 毒性逆转水平分割机制
-
8.RIP计时器机制:思科(update 更新 30s invalid 无效180s holddown 抑制180s flush 刷新240s);华为(更新 30s 无效 180s 垃圾回收 120s )
-
9.RIP支持触发更新,并且默认开启。(华为中默认开启了触发更新 ,思科中默认关闭)
-
10.修改接口的RIP协议版本:

-
11.RIP 协议部署:
-
- 1.RIP 协议支持多进程 ; 进程号只具有本地意义
-
- 2.手工汇总
-
- (1)目的:
-
-
- 1.减少路由条目数量,减小路由表大小,加快查表速度
-
-
-
- 2.增加网络稳定性
-
-
- (2)位置: 在路由传播的出方向接口实施,建议在明细路由所在路由器的出接口
-
- (3)cost计算: 汇总路由cost使用所有明细路由中cost最小的(思科华为一致)
-
- (4)存在条件: 至少存在一条明细路由
-
- (5)特性:
-
- 在思科中,仅仅支持
VLSM,不支持CIDR
- 在思科中,仅仅支持
-
- 在华为中,支持
VLSM和CIDR
- 在华为中,支持
-
- 在IGP中,发送了汇总会自动抑制明细路由的发送
不自动产生指向NULL0 的防环路由
- 在IGP中,发送了汇总会自动抑制明细路由的发送
VLSM—可变长子网掩码技术
CIDR—无类别域间路由技术,又称为super net 超网

- 12.查看:

3、路由认证
- 1、启用明文认证:

- 2、启用MD5认证: 需要部署 key - id

4、路由控制(AD metric )
-
1、修改优先级(AD值):

-
2、查看:

-
3、修改
cost(metric值):接口使用分为in out,in代表接口增加度量值为多少,out代表增加度量值到多少;in out都可以配合ACL或前缀列表控制针对部分;路由修改度量值。(metric值调整只能增加不能减少)

-
4、查看ACL :

-
5、**过滤路由:**过滤列表,类似于
cisco中的分发列表(过滤列表)自身不具备过滤功能,需要调用ACL或前缀列表;可以在import或export方向上实施。 -
- 1.设置
ACL

- 1.设置
-
- 2.使用
filter-policy

- 2.使用
-
6、被动接口(静默接口)
针对组播或广播的路由信息只收不发
设置接口为静默接口:

-
7、单播邻居: 发送RIP消息数据包使用单播方式发送,单播邻居技术并不影响组播的发送。
单播邻居+被动接口=单播被动 -
8、单播邻居:

-
9、被动接口:

-
10、单播被动测试:

-
11、更新源检测
适用于所有的IGP协议
关闭更新源检测:

-
12、缺省路由:
默认路由 -
- 1.
default-route

- 1.
-
- 2.汇总产生缺省

- 2.汇总产生缺省
一、知识巩固

抽象语言——电信号
抽象语言——编码
编码——二进制
二进制——电信号
处理电信号
OSI/RM——开放式系统互联参考模型——1979——ISO——国际标准化组织
1、核心思想——分层
- 应用层——提供各种应用程序, 抽象语言转换成编码, 人机交互的接口
- 表示层——编码转换成二进制
- 会话层——维持网络应用和网络服务器之间会话连接
- 传输层——实现端到端的传输——应用到应用*之间的传输——端口号——0-65535——0一般不作为传输层的端口号使用,所以,我们真实的端口号的取值范围为
1-65535。
1 - 1023知名端口号——SPORT, DPORT(来源端口以及目的端口) - 网络层——通过IP地址, 实现主机之间的逻辑寻址。 ——SIP, DIP
2、获取DIP的方法:
DIP是指动态IP,也称为动态IP地址。简单来说,动态IP是由互联网服务提供商(ISP)动态分配给用户使用的IP地址。每当用户重新连接到网络时,ISP就会分配一个新的IP地址,这个过程是自动完成的,无需用户手动干预。相对应的,静态IP是一个固定的IP地址,通常需要用户手动设置或花费更多的费用向ISP申请。
- 1, 直接知道服务器的IP地址
- 2, 通过域名访问服务器
- 3, 通过应用程序访问
- 4, 通过广播获取
3、数据链路层——将二进制转换成电信号。通过MAC地址进行物理寻址——在以太网协议中
MAC——48位二进制构成——1, 全球唯一; 2, 格式统一——SMAC, DMAC
4、获取目标MAC地址的方法:
(1)ARP——地址解析协议——通过一种地址获取另一种地址
(2)正向ARP——通过IP地址获取MAC地址
(3)工作过程——首先, 主机以广播的形式发送ARP请求报文。基于已知的IP地址获取 MAC地址。所有收到广播帧的设备都会先将数据包中的源IP地址和源MAC地址的对应关系记录在本地的ARP缓存表中。之后, 再看请求的IP地址。
- 如果请求的IP地址是本地的IP地址,则将
回复ARP应答报文。 - 如果请求的IP地址不是本地的IP地址,则将直接丢弃该数据包。
之后,再次发送信息时,将优先查看本地的ARP缓存表,
- 如果存在记录,则将按照记录转发;
- 如果没有记录,则再发送ARP请求。
(4)反向ARP——通过MAC地址获取IP地址
(5)免费ARP——利用的是正向ARP的工作原理, 只不过请求的IP地址是自己的。
1, 自我介绍; 2, 检测地址冲突
物理层 — 处理或传输电信号
5、TCP/IP模型——TCP/IP协议簇


TCP/IP标准模型 — 四层模型
TCP/IP对等模型 — 五层模型
6、封装和解封装
- 应用层
- 传输层——端口号——TCP, UDP
- 网络层——IP地址——IP协议
- 数据链路层——MAC地址——以太网协议
- 物理层

7、PDU——协议数据单元
- 应用层——报文
- 传输层——段
- 网络层——包
- 数据链路层——帧
- 物理层——比特流
TCP/IP模型中可以支持跨层封装, OSI中不行
8、跨层封装
- 跨层封装出现的情况较少——一般出现在直连的设备之间。
- 跨四层封装——一般出现在直连路由设备之间,比如,OSPF协议就是跨四层封装协议。——
89

- 跨三, 四层封装——直连交换机之间——stp

10、SOF——帧首定界符
SOF通常指代Start of Frame,指的是数据传输中的起始帧。
在串口通信等程序中,传输的数据需要有一个明确的起始标志,这个标志就是SOF。
SOF一般会作为串口通信协议的一部分,用于设定数据包的起始位置,通常由一个唯一字符、数字或其他标识符组成,不同协议中的SOF字符可能有所不同。
SOF的作用:
在接收端标志数据包的开始,使得接收端可以准确地解析数据。
SOF通常会在数据包中的开头作为起始标志,和结束帧的标志(EOF,End of Frame)一起构成了一个数据包的完整性,在数据传输的过程中起到了很重要的作用。
需要注意的是,SOF不是一种通用的协议,而是由具体的通信协议来定义的。在实际应用中,需要根据具体的分析来设定SOF的值,以确保数据的准确传输。
1,获取IP地址——1,手工获取; 2,通过DHCP自动获取
11、DHCP——动态主机配置协议
- DHCP客户端——广播包——DHCP-Discover
传输层——UDP——SPORT: 68 DPORT: 67
网络层——IP——SIP: 0.0.0.0 DIP: 255.255.255.255
数据链路层——以太网——SMAC: 自己的MAC地址 DMAC:全F
12、交换机的转发原理——交换机收到数据帧之后,首先先记录源MAC地址和进入接口的对应关系到MAC地址表中。之后看数据帧中的目标MAC地址,因为目标MAC 地址是全F,则将进行泛洪 — 除了数据进入的接口外,所有接口都将转发数据。
13、交换机泛洪的情况 ——1,广播帧; 2,组播帧;3,未知单播帧
二、场景模拟

1、获取IP地址
1,手工获取;2,通过DHCP自动获取
1.1 DHCP — 动态主机配置协议
1.1.1 DHCP客户端
DHCP客户端 — 广播包 — DHCP-Discover
传输层 — UDP — SPORT:68 DPORT:67
网络层 — IP — SIP:0.0.0.0 DIP:255.255.255.255
数据链路层 — 以太网 — SMAC:自己的MAC地址 DMAC:全F
交换机的转发原理 — 交换机收到数据帧之后,首先先记录源MAC地址和进入接口的对应关系到MAC地址表中。之后看数据帧中的目标MAC地址,因为目标MAC地址是全F,则将进行泛洪 — 除了数据进入的接口外,所有接口都将转发数据。
交换机泛洪的情况 — 1,广播帧;2,组播帧;3,未知单播帧
路由器收到广播包之后 — 路由器收到数据帧之后先看二层封装,(因为其目标MAC地址为广播地址,则路由器讲解二层封装)。则将根据数据帧中的类型字段将解封装后的数据包交给对应的IP模块进行处理。(因为三层头部中目标IP地址为受限广播地址),则路由器将解三层封装。(因为三层协议头部中协议字段为17),则路由器将把解封装后的数据段交给UDP模块进行处理。UDP根据目标端口号为67,则将解封装后的DHCP-DISCOVER报文交给对应的DHCP服务进行处理。
1.1.2 DHCP服务器
DHCP服务器 — DHCP客户端 ---- DHCP-OFFER(里面将携带一个可用的IP地址) — 单播/广播
传输层 — UDP — SPORT:67 DPORT:68
网络层 — IP — SIP:自己的IP DIP:255.255.255.255
数据链路层 — 以太网 — SMAC:自己的MAC地址 DMAC:全F ---- 注意,
华为设备以单播的形式来发送DHCP-offer包
1.1.3 DHCP客户端
DHCP客户端 — DHCP服务器 — DHCP - request (如果存在多个DHCP-OFFER包,则设备将选择第一个到达的OFFER包) — 广播
- 1,告诉请求IP地址的服务器,需要请求他的IP地址;
- 2,告诉没有选择的IP地址的服务器,自己已经有IP地址了,可以将他们的IP地址释放。
1.1.4 DHCP服务器
DHCP服务器 — DHCP客户端 — DHCP - ACK — 单播/广播
设备在通过DHCP协议获取一个IP地址的同时,还会获取到网关信息(68.85.2.1)以及DNS服务器的信息(68.87.71.226)
2、打开浏览器
在浏览器中的地址栏上输入需要访问的服务器的URL(资源定位符)
1、DNS — 域名解析协议
DNS协议存在两种查询方式 ---- 1,递归查询;2,迭代查询
设备将从输入的URL中提取到域名信息,根据域名信息通过DNS协议获取web服务器的IP地址
2、设备将发送DNS请求报文(本地设备会发送递归查询请求到本地DNS服务器)
传输层 — UDP — SPORT:随机值 DPORT:53
网络层 — IP — SIP:68.85.2.101 DIP:68.87.71.226
数据链路层 — 以太网 — SMAC:自己的MAC DMAC:???
3、ARP — 地址解析协议
- 工作过程
-
- 1、首先,主机以广播的形式发送ARP请求报文。
-
- 2、基于已知的IP地址获取MAC地址。所有收到广播帧的设备都会先将数据包中的源IP地址和源MAC地址的对应关系记录在本地的ARP缓存表中。
-
- 3、之后,再看请求的IP地址。
-
-
- 如果请求的IP地址是本地的IP地址,则将回复ARP应答报文。
-
-
-
- 如果请求的IP地址不是本地的IP地址,则将直接丢弃该数据包。
-
-
- 4、之后,再次发送信息时,将优先查看本地的ARP缓存表,
-
-
- 如果存在记录,则将按照记录转发;
-
-
-
- 如果没有记录,则再发送ARP请求。
-
传输层 — UDP — SPORT:随机值 DPORT:53
网络层 — IP — SIP:68.85.2.101 DIP:68.87.71.226
数据链路层 — 以太网 — SMAC:自己的MAC DMAC:网关的MAC地址
3、路由器进行路由
网关路由器收到DNS请求报文之后,将先查看数据帧的二层封装,确认该数据帧是给自己的,则将解二层封装看三层,根据目标IP地址查看本地的路由表。
- 直连路由 — 直连路由是默认生成的,生成条件 1,接口双UP;2,接口需要配置IP地址
- 静态路由 — 网络管理员手工添加的路由条目
- 动态路由 — 所有路由器运行相同的路由协议,之后,路由器之间沟通,交流最终计算
出到达未知网段的路由条目。
4、DNS服务器进行查找
本地的DNS服务器收到DNS请求信息,则将先查看本地缓存是否有记录,
- 有则直接返回DNS应答;
- 如果没有,则向DNS根服务器发送迭代查询(TCP 53)。最终将结果返回给设备。
5、TCP三次握手
本地设备将基于web服务器的IP地址,发起TCP三次握手,建立TCP会话。
(主要因为HTTP协议传输层使用的是TCP协议)— 建立本地到服务器之间双向的会话
6、HTTP请求
本地设备将基于TCP会话通道发送HTTP请求报文 — GET
传输层 — TCP — SPORT:随机值 DPORT:80
网络层 — IP — SIP:自己的IP DIP:baidu的IP
数据链路层 — 以太网 — SMAC:自己的MAC DMAC:网关的MAC
7、HTTP应答
baidu服务器收到HTTP请求报文,则服务器将解封装,
最终回复HTTP应答报文。
1、网络类型 — 根据数据链路层运行的协议进行划分的
P2P— 点到点MA— 多点接入网络BMA— 支持广播的多点接入网络NBMA— 非广播型多点接入网络
2、数据链路层运行的协议
2.1 以太网协议 — 需要在数据帧中封装MAC地址进行寻址。
2.2 原因 — 利用以太网协议组建的网络中可以包含两个或两个以上的接口,每个以太网接口之间都可以通过交互以太网帧的方式进行二层通讯。 — BMA
如果一个网络中只能有两台设备,则这样的网络不需要MAC地址进行区分标识,也可以正常通信,这样的网络,我们称为P2P网络。
- T1 – 1.544Mbps
- E1 – 2.048Mbps
以太网做到了一个技术 — 频分技术 — 所谓频分,就是一根铜丝上可以同时发送不同频段的电波而互不干扰,实现数据的并行发送。
- 1,HDLC
- 2,PPP
3、HDLC — 高级数据链路控制协议
- 标准的HDLC:ISO组织基于SDLC协议改进得到的
- 非标的HDLC:各大厂商在标准的HDLC基础上再进行改进而成
(思科设备组建串线网络默认使用的协议是HDLC协议,华为设备组建串线网络默认使用的协议是PPP协议。)
[r1]display interface Serial4/0/0 --- #查看接口的二层特征
[r1-Serial4/0/0]link-protocol hdlc --- #修改接口协议类型
4、PPP — 点到点协议
- 1,兼容性强 — 拥有统一的版本,并且串线种类比较多,只要支持全双工的工作模式,则可以支持PPP协议。
- 2,可移植性强 — PPPoE
- 3,PPP协议支持认证和授权
PPP和TCP协议类似,在正式传输数据之前,也需要经历建立会话的过程。
- 1,链路建立阶段 — LCP(链路控制协议)建立
- 2,认证阶段 — 可选项
- 3,网络层协议协商阶段 — NCP(网络控制协议)协商 — IPCP协议
PPP协议包含若干个附属协议

- F — FLAG — 01111110
- A — Address — 111111111
- C — Coltrol — 00000011

- 1,链路建立阶段 —
LCP(链路控制协议)建立
所谓链路建立,其实就是参数协商的过程
MRU— PPP帧中数据部分允许携带的最大长度(字节) — 默认1500字节

- 2,认证阶段
三、OSPF基础
OSPF : 开放式最短路径优先协议
- 1、使用范围: IGP
- 2、协议算法特点: 链路状态型路由协议,SPF算法
- 3、协议是否传递网络掩码: 传递网络掩码
- 4、协议封装: 基于IP协议封装,协议号为 89
1、OSPF 特点
- 1.OSPF 是一种典型的链路状态型路由协议
-
- 传递信息称作LSA ,**
LSA 链路状态通告,包含路由信息和拓扑信息。
- 传递信息称作LSA ,**
-
- 路由LSA:描述本路由器上接口的
路由信息
- 路由LSA:描述本路由器上接口的
-
- 拓扑LSA:描述路由器之间的
连接状态
- 拓扑LSA:描述路由器之间的
- 3.更新方式:触发更新
+30分钟的链路状态刷新 - 4.更新地址:组播和单播更新,
组播地址:224.0.0.5(ALL SPF router)224.0.0.6(ALL DR router) - 5.支持路由认证
- 6.支持手工汇总
- 7.支持区域划分
- 8.OSPF 比较消耗设备资源
2、OSPF 区域
1、区域划分的意义:
- 1.减少LSA的数量
- 2.减少LSA的传播范围
区域的划分是基于接口的(链路的)
2、区域的标记: 使用了32个二进制
- 1.十进制
- 2.类似于IP地址 A.B.C.D
3、区域的分类:
- 骨干区域: 区域标记为0或0.0.0.0
- 非骨干区域:区域标记不等于0或0.0.0.0
4、区域设计原则: 向日葵型网络结构
- 1.OSPF网络中必须存在并唯一的骨干区域(单区域除外)
- 2.若存在非骨干区域,非骨干区域必须与骨干区域直接相连
5、OSPF中路由器的角色:
- 骨干路由器
- 非骨干路由器
- ABR:区域边界路由器, 能够产生3类LSA的路由器
- ASBR:自治系统边界路由器, 能够产生5类或7类LSA的路由器
3、OSPF 消息数据包
Hello DBD LSR LSU LSACK
hello :周期性发送,周期时间10s或30s
(根据不同的网络类型默认 10s或30s)
目的: 建立并维持OSPF 邻居关系
(邻居关系建立之后充当保活包功能)

DBD: 数据库描述数据包;
- 1.主从选举DBD: 比较双方的
router-id,router-id大的一方为主 (master),小的一方为从(slave); 主用于控制LSA的交互

- 2.携带LSA头部信息的DBD

LSR : 链路状态请求,按照DBD中报文的未知LSA头部进行请求。

LSU:链路状态更新,携带LSA信息。

LSACK: 链路状态确认

4、OSPF 邻居状态机制
Down 、 init 、 attempt (尝试 过渡) 、 two-way 、 exstart 、 exchange 、loading 、full
Init —初始化状态,一旦开始发送hello报文, 进入初始化状态。
Two-way—双向通信状态(邻居状态),接收到包含自己router-id 的对方hello报文
1、邻居关系建立条件:
- 1.
router-id必须不同 - 2.
area ID相同 - 3.认证:
-
- 认证类型 (不认证=0 明文认证=1 MD5=2)
-
- 认证数据
- 4.
hello时间,dead时间必须一致 - 5.特殊区域标识一致
-
- (E(外部路由位) =1;N(NSSA外部路由 位)=0 P=0)
- 6.
MA网络中,网络掩码必须一致 - 7.必须同时使用单播或组播更新
- 8.更新源检测(双方的IP地址必须在同一网段)
邻居状态下(two-way): MA的网络中会选举DR (指定路由器) BDR (备份指定路由器)
2、DR选举:
- 1.==比较优先级 ==
(范围: 0-255,默认优先级为1 ,越大越优) - 2.比较各自的
router-id,越大越优
注意:
- 1.DR抢占是关闭的
- 2.DR是一个接口概念
- 3.优先级范围0-255,数字为0代表不参与选举
- 4.先选举BDR ,再升级为DR
3、主从选举:发生在exstart状态, 通过双方的router-id进行比较,router-id大的一方为主。 发送的主从选举DBD ,DBD中包含了MTU值(默认思科直接启用, 华为中默认不包含MTU,可以使用命令激活传递MTU值的功能,若双方的MTU值不值则卡在exstart 状态)。
4、Exstart—预启动状态
一旦开始发送主从DBD,则进入预启动状态。
5、Exchange —预交换,
- 主从选举完成,则发送携带LSA头部信息的DBD,
- 进入预交换状态,会发送LSR数据包。(但是没有LSU)
6、Loading —加载状态
一旦发送LSU数据包,进入了加载状态, 进行 大量LSA的学习。
7、Full —邻接状态。双方LSA同步(双方LSA全部学习)
5、OSPF 基本配置
启用OSPF并指定router-id

1、Router-id:路由器标识符,用于标识本路由器在OSPF网络中的唯一性
2、OSPF router-id 选举规则:
- 1.手工指定最优先
- 2.选举所有逻辑中IP地址最大的
- 3.选举所有物理接口IP地址最大的
3、华为中:
- 若以上三点都不满足,则可以创建router-id 为0.0.0.0;
- 在使用逻辑或物理接口IP地址时,接口可以是关闭状态;
- 若一台路由器启用了多个 OSPF进程,不同进程可以使用相同的router-id (不推荐);
4、思科中:
- 若以上三点都不满足, 则无法启用OSPF;
- 在使用逻辑或物理接口时,接口必须双 up,该接口可以不通告进入OSPF中
- 同一路由器上多个 OSPF进程必须router-id必须不同;
全局模式下可以选择针对所有的OSPF进程修改router-id ;(若同时在接口部署时,接口优先生效)

5、查看:

- 1、Network通告:

- 2、必须先创建OSPF 进程并开启需用使用的区域ID,再进入接口启用:

- 3、激活DBD中携带MTU值功能:

- 4、修改接口MTU值: (同时修改3层和2层的MTU值)

- 5、查看二层接口信息:

- 6、查看三层信息:

6、OSPF三张表:
- 1.OSPF 邻居表
查看OSPF邻居表

- 2.LSDB表(链路状态数据库)
查看LSBD的摘要信息:

- 3.OSPF 路由表:

7、LSA中存在3个参数用于LSA的新旧比较:3600s的LSA 都是最新的
- 1.序列号
- 2.校验和
(若以上都相同, LSA age 之差小于15分钟,越小越优,若大于15分钟,则无法比较 认为都是最新的。)
四、OSPF网络类型
loopback
- 1.
P2P - 2.
BMA—广播多路访问网络 - 3.
NBMA—非广播型多路访问网络 - 4.
P2MP - 5.
V-link
注意: loopback接口默认OSPF网络类型为P2P,但是生成路由的网络掩码默认为32位 还原真实网络掩码思科中修改类型为P2P,华为中修改为BMA类型,并且cost为 0(cost不会因为参考带宽或者接口带宽变化而变化)
1、P2P
1.1 物理接口: HDLC(高级数据链路控制协议) PPP (点对点协议) GRE MGRE FR 点对点子接口
1.2 hello时间: 10s
1.3 是否选丼DR: 不选丼
1.4 是否自动建立邻居: 自动建立
1.5 特性:

2、BMA
2.1 物理接口:以太网
2.2 hello时间:10 s
2.3 是否选丼DR:选丼
2.4 是否自动建立邻居:是
2.5 特性: 产生的1类LSA不完整,需要2类LSA补充

3、NBMA
3.1 物理接口:FR-帧中继(物理接口、多点子接口) ATM-异步传输网络 (Cisco中的MGRE)
3.2 hello时间: 30s
3.3 是否选丼DR: 选丼DR
3.4 是否自动建立邻居: 否(建立邻居需要手工指定peer ,思科中单边指定就可以,华为需要双方同时指定)
3.5 网络部署类型: 1.full-mesh 2.part-mesh 3.hub-spoke
==在hub-spoke网络中,若默认网络类型为NBMA : ==
-
- 1.手工指定peer
-
- 2.控制DR位置,不得出现BDR
-
- 3.spoke之间互指映射(PVC)

4、P2MP
4.1 物理接口: 无
4.2 hello时间: 30s
4.3 是否选丼DR: 不选丼
4.4 是否自动建立邻居: 自动
4.5 特点: 将物理接口IP地址以32位主机路由的形式传递进入OSPF
5、OSPF 认证
链路认证、区域认证、虚链路认证
- 1.链路认证

- 2.区域认证

查看 :

6、OSPF 路由控制
1、默认: 1 3 类LSA
AD值为10 , 5类 7类 LSA AD值为150
2、修改AD值:
- 1.OSPF 进程直接修改AD值,仅仅针对 1 3 类LSA。

- 2.修改5 7类LSA AD值

查看:

3.修改metric (cost)
- 1、修改参考带宽:

查看:

- 2、修改接口cost值

查看:

五、OSPF LSA详解
OSPFV2----LSA 1 2 3 4 5 7
描述一条LSA:
- 1.LSA 类型
- 2.link-ID 链路标识符
- 3.ADV router 产生路由器
1、1类LSA:
router -LSA
1.1 功能: 本路由器针对某个区域产生的路由信息和拓扑信息
**1.2 传播范围:**本区域内传输
1.3 Link ID : 产生者的router-id
1.4 ADV router: 产生者的router-id
1.5 特性: 在单个区域中分别产生一条1类LSA,若存在MA网络,1类LSA不完整,需要配合二类LSA生成路由信息以及拓扑信息。
1.6 1类LSA 内容类型:
- 1.
stubnet(末节网络) —路由信息 - 2.
transnet(传输网络 仅限于MA网络)—拓扑信息 - 3.
point-to-point—拓扑信息 - 4.
virtual link(虚链路)—拓扑信息
1.7 查看1类LSA :


2、2类LSA
network LSA ,网络LSA
2.1 功能: 用于在MA网络中,描述本网络路由器的数量以及本MA网络的网络掩码
2.2 传播范围: 只能在本区域之内传输,终止于ABR
2.3 Link ID:DR接口的IP地址
2.4 ADV router:DR所在路由器的router-ID
2.5 特性: 只会出现在MA网络,用于补充1类LSA(1.MA网络的掩码 2.MA网络路由器的数量)

3、3类LSA
summary LSA 汇总LSA
3.1 功能: 用于在区域之间传递路由信息
3.2 link-id : 传递路由的网络号
3.3 ADV router:默认为所在区域ABR的router-id
3.4 特性: 在穿越不同区域时,由其他的ABR重新产生(ADV router 是变化的)
3.5 查看:

4、5类LSA
外部LSA
4.1 功能: 用于在整个OSPF中传递外部路由(原本不属于OSPF域)
4.2 5类LSA有两种类型: 类型1 类型2
(区别:Link id :传递外部路由的网络号)
4.3 ADV router :产生该LSA的 router-id
(产生本LSA的ASBR的router-id )
4.4 传播范围:在整个OSPF域中传输
4.5 特点:

5、4类LSA
summary ASBR LS
5.1 功能: 除了ASBR所在区域外,用于通告ASBR位置
5.2 Link id: ASBR的router-id
5.3 ADV router: 默认ASBR所在区域的ABR的 router-id
5. 4 特点:在穿越不同区域时,由新的ABR重新产生。(与3类LSA一致)

6、7类LSA
NSSA LSA
6.1 功能: 在NSSA区域中,传递外部路由。
6.2 Link id : 传递路由网络号
6.3 ADV router:产生该LSA的 router-id
6.4 特性: 默认为类型2 ,度量值为1 。 携带了FA地址(转发地址)
7、FA
FA: 转发地址,当5类或7类LSA中携带了FA地址,则计算路径开销值时计算的是当前路由器到达FA地址的开销值之和+种子度量值。(若FA地址不可达,则路由不能加表)
FA 地址:
- 1.默认7类LSA 产生FA地址,5类LSA不产生的
(7转5 的5类LSA 携带FA地址 ) - 2.7类LSA 产生规则:
默认产生的FA地址为产生7类LSA 的ASBR 最大的环回接口地址;若连接其他协议的接口也运行了OSPF协议,网络类型为BMA,则产生的7类LSA中FA地址为连接其他接口对应的下一跳地址;若网络类型为P2P,则FA地址依然为环回接口中IP地址最大的 - 3.5类LSA FA地址规则:
**默认不产生,**若连接其他协议的接口运行了OSPF 协议并且网络类型为BMA,则FA地址为重发布之前路由的下一跳地址,若网络类型为P2P,则不会产生FA地址。
LSA中存在3个参数用于LSA的新旧比较: 3600s的LSA 都是最优的
- 1.序列号
- 2.校验和
- 3.LSA老化时间
(若以上都相同,LSA age 之差小于15分钟,越小越优,若大于15分钟,则无法比较认为都是最新的。)
Ls age : 1073
seq#: 80000006
chksum : 0x9dca
组步调计时器:默认5分钟。
8、OSPF 中的计时器
1.hello时间,默认为10s或30s。dead时间,默认为40s或120s;
修改hello时间,dead时间变化,修改dead时间,hello时间不变,hello时间或dead时间不同,都会影响邻居关系建立。
Waiting time:** 等待DR 或BDR的选举时间,永远保持与dead时间一致。**
修改hello时间:
ospf timer hello 5
修改dead 时间:
ospf timer dead 20
2.OSPF 默认重传时间5s
修改重传时间:

查看:

3.transmit delay 传输延时默认为1s
修改传输延时:

查看:

六、OSPF总结
OSPF — 无类别的路由协议
1、OSPF区域划分的要求
- 1,区域之间必须存在ABR设备
- 2,必须按照星型拓扑来划分 — 中间区域被称为骨干区域,骨干区域的区域ID(由32位二进制构成,可以使用点分十进制表示,也可以直接使用十进制表示)定义为0.
2、OSPF的基本配置
- 1,启动OSPF进程
[r1]ospf 1 router-id 1.1.1.1
- 2,创建区域
[r1-ospf-1]area 0
[r1-ospf-1-area-0.0.0.0]
- 3,宣告
宣告的目的 — 1,激活接口;2,发布路由
[r1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0 --- 反掩码 --- #由连续的0和连续的1组成,0代表不可变,1代表可变[r1]display ospf peer --- #查看邻居表
[r1]display ospf peer brief --- #查看邻居关系简表[r1]display ospf lsdb --- #查看链路状态数据库
[r1]display ospf lsdb router 2.2.2.2 --- #查看具体LSA信息
COST = 参考带宽/真实带宽 — 华为设备默认的参考带宽为100Mbps — [r1-ospf-1]
bandwidth-reference 1000 — 注意: 如果一台设备的参考带宽修改了,则所有设备的参考带宽必须改成相同的。
开销值计算,如果出现小数,如果是小于1的小数,则直接按照1来看;如果是大于1的小数,则直接取整数部分。
3、结构突变
- 1,突然新增一个网段 — 触发更新,直接发送LSU包,需要ACK确认
- 2,突然断开一个网段 — 触发更新,直接发送LSU包,需要ACK确认
- 3,无法沟通 ---- 死亡时间
4、条件匹配
- 指定路由器 — DR — 和MA网络中其他设备建立邻接关系。
- 备份指定路由 — BDR — 和MA网络中其他设备建立邻接关系。
一个MA网络当中,在DR和BDR都存在的情况下,至少需要4台设备才能见到邻居关系,因为只有DRother之间会保持邻居关系DR和BDR实际上是接口的概念。
条件匹配 — 在MA网络中,若所有设备均为邻接关系,将出现大量的重复更新,故需要进行DR/BDR的选举,所有DRother之间仅维持邻居关系即可。
5、DR/BDR选举
DR/BDR的选举规则:
- 1,先比优先级,优先级大的为DR,次大的为BDR
优先级的初始默认值为1。
[r1-GigabitEthernet0/0/0]ospf dr-priority ?
INTEGER<0-255> Router priority value
注意: 如果将一个接口的优先级改为0,则代表该接口放弃DR/BDR的选举。
- 2,优先级相同时,则比较RID,RID大的路由器对应的接口为DR,次大的为BDR。
DR/BDR的选举 — 非抢占模式的选举 — 一旦选举成功,则将不能被抢占 — 选举时间 — 和死亡时间相同。
<r2>reset ospf 1 process --- #重启OSPF进程的命令
6、OSPF的数据包
OSPF跨四层封装,IP头部使用89作为协议号标识OSPF。
HELLO包,DBD包,LSR包,LSU包,LSACK包
6.1 OSPF头部

版本 — OSPF版本 — 2
类型 — OSPF数据包的类型
HELLO --- 1
DBD --- 2
LSR --- 3
LSU --- 4
LSACK --- 5
长度 — 指的是整个OSPF报文的长度,单位 — 字节
路由器ID — 发送这个数据包的路由器的RID
区域ID — 数据包发出的接口所在的区域的区域ID
校验和 — 确保数据完整性
认证类型,认证数据 — 完成OSPF认证工作的
认证类型 — null — 空认证 — 0
simple — 明文认证 — 1
MD5 — 比对摘要值认证 — 2
HELLO — 周期性发现,建立,保活邻居关系。DR/BDR选举。

网络掩码 — 发出该数据包接口所配置的IP地址掩码信息。 — 华为体系中这个参数邻居双方所携带的值不一致将无法正常建立邻居关系。 — 这个限制条件仅针对MA网络,P2P网络不受限制。
hello时间,死亡时间 — 如果邻居双方这两时间参数不同,则将限制邻居关系的建立。
可选项 — 8位 — 每一位代表路由器遵从某个OSPF特性 — OSPF特殊区域的标记在其中,如果邻居双方特殊区域的标记不一致,则将限制邻居关系的建立。
路由器的优先级 — 发出hello包接口所配置的DR/BDR选举的优先级
DR/BDR — 网络中DR和BDR所对应接口的IP地址。在没有选出DR和BDR之前,将使用0.0.0.0进行填充。
Hello包中限制邻居关系建立的因素:
- 1,网络掩码
- 2,hello时间
- 3,dead time
- 4,OSPF特殊区域的标记
- 5,认证
DBD包 — 数据库描述报文
- 1,使用未携带数据的DBD包进行主从关系选举;
- 2,使用携带数据的DBD包进行目录共享;
DBD包还存在第三种形态,即仅完成确认的确认包状态。

MTU — 设备默认没有开启接口MTU值的检测,所以将携带0。
[r1-Serial4/0/0]ospf mtu-enable — 如果邻居双方都开启了MTU值的检测,但是,双方携带的MTU值不同,则邻居状态将停留在Exstart状态。
I — init — 如果这个标记位置1,则这个DBD包是进行主从关系选举的数据包。
M — MORE — 该位置1,则代表后面还有更多的DBD包。
MS — Master — 该位置1,则代表发送该数据包的路由器为主。 — 在主从关系选举出来之前,双方都将认为自己是主,所以,都会将字节的MS置1;当主从关系选举结束后,将只有主会置1,从置0。
DBD序列号 — 在DBD报文交互中,会逐次加1,用于确保DBD包传输的有序性及可靠性。
LSR — 链路状态请求报文 — 基于DBD包请求未知的LSA信息。

链路状态类型,链路状态ID,通告路由器 — LSA三元组 — 这三个参数可以唯一的标识出来一条LSA信息。
LSU包 — 链路状态更新报文 — 真正携带LSA信息的数据包

LSACK — 链路状态确认报文 — 确认包

OSPF的接口网络类型:
P2P
MA
BMA
NBMA
OSPF接口网络类型 — 指的是OSPF接口在不同的网络类型默认下的不同工作方式。

[r2]display ospf interface GigabitEthernet 0/0/0 — 查看OSPF接口工作方式
在华为体系中,将环回接口在OSPF中的开销值定义为0,不会受到外界变化的影响。(修改参考带宽不会影响该值。)
[r2-LoopBack0]ospf network-type broadcast — 修改OSPF接口网络类型
华为体系将tunnel接口的传输速率定义为64K,实际上虚拟接口不存在传输速率。这样设定的目的是为了让隧道接口的开销值变的很大,导致在存在其他路径时,尽可能的避免走隧道接口,因为隧道接口需要进行复杂的封装和解封装过程,导致效率降低。
全连的MGRE环境 — MESH — 所有节点即使中心,也是分支。
[r1-ospf-1]peer 12.0.0.2 — 指定单播邻居 — 一定需要双向指定。
Attempt — 尝试 — 过度状态,只有在需要手工指定邻居关系的状态下出现,在指定对方后等待对方指定时将处于该状态,一旦对方指定,则将进行后续状态。
七、OSPF不规则区域问题
OSPF的不规则区域
区域划分的要求:
- 1,必须存在
ABR设备 - 2,区域划分必须按照
星型拓扑结构划分
1,远离骨干的非骨干区域
2,不连续骨干

1、使用VPN隧道
思路: 在AR4和AR2之间构建一条隧道,之后,将这个隧道宣告到区域0中,相当于将AR4非法的ABR合法话,则AR4将正常传递区域2和区域0,1之间的路由信息。
在这个环境中,在没有隧道之前,AR4可以通过AR2转发的路由信息学习到达区域0的路由,而存在隧道之后,AR4可以直接通过隧道学习到区域0的拓扑信息。而AR4会优先选择自己通过拓扑信息学来的路由信息,就算是开销值巨大。
使用VPN隧道解决不规则区域的问题:
- 1,可能造成选路不佳;
- 2,可能造成重复更新;
- 3,因为虚拟链路的存在,AR2和AR4之间也需要建邻。导致他们之间维护的周期性数据将穿越中间区域区域1,导致中间区域的资源消耗。
2、使用OSPF虚链路来解决不规则区域
[r4-ospf-1-area-0.0.0.1]vlink-peer 2.2.2.2 — 虚链路的配置方法,后面跟需要创建虚链路设备的RID。
注意: 虚链路的建立是双向的。 — 虚链路永远属于骨干区域。
[r2-ospf-1-area-0.0.0.1]display ospf vlink — 查看虚链路详细信息

使用虚链路解决不规则区域的问题:
- 1,因为虚链路的存在,AR2和AR4之间也需要建邻。导致他们之间维护的周期性数据将穿越中间区域区域1,导致中间区域的资源消耗。
- 2,虚链路只能穿越1个区域
- 3,多进程双向重发布
不同的路由协议运行的机理各不相同,包括对路由的理解也不同,所以,不同的路由协议之间存在信息隔离。
重发布就是在运行不同协议的边界设备(ASBR — 自治系统边界路由器,协议边界路由器)上,将一种协议按照另一种协议的规则发布出去。 — ASBR设备要求必须存在重发布行为才行。
[r4-ospf-1]import-route ospf 2 — 将进程2的路由信息重发布到进程1中
O_ASE — 标志域外路由信息 — 因为域外的路由信息不可控性较强,所以,信任程度较低,我们将其优先级设置为150。
LSA — 链路状态通告 — OSPF协议在不同网络环境下产生的用于携带和传递不同的信息。
LSDB — 链路状态数据库
SPF — 最短路径优先算法
Type — LSA的类型,OSPFV2协议中,需要掌握的LSA类型一共有6种
LinkState ID — 链路状态标识符 — 主要用于标记一条LSA信息,可以理解为是LSA信息的名字。
AdvRouter — 通告路由器 — 通告LSA信息的设备的RID。
以上三个参数被称为LSA的三元组 — 这三个参数可以唯一的标识出来一条LSA信息。
LSA头部内容
Type : Router
Ls id : 4.4.4.4
Adv rtr : 4.4.4.4
LS AGE — LSA的老化时间 — 当LSA被始发路由器产生时置为0,之后,该LSA在网络中传
递,老化时间也将累加。 — 1800S — 为了防止老化时间无限制增长,我们设置了最大老化
时间 — MAXAGE – 3600S。如果一条LSA信息的老化时间达到3600S,则将判定其失效,将该LSA信息从本地的LSDB中删除。
SEQ — 序列号 — 32位二进制构成,用8位16进制表示 — 一台路由器每发送同一条LSA信息都会携带一个序列号,并且序列号逐次加1,用来标识LSA的新旧关系。
- 直线型序列空间 — 从最小到最大,逐次加1,其有点时新旧关系容易比较,而缺点是序列号空间有限,当序列号空间饱和后,将无法比较新旧关系。
- 循环型序列空间 — 序列号将循环使用,其问题在于一旦序列号差值过大,新旧关系将难以比较。
- 棒棒糖型序列空间 —
OSPF采用的就是这种序列空间,但是,为了避免循环部分出现循环型序列空间的问题,所以,OSPF的序列号将不进入循环部分,其取值范围为0X80000001 - 0X7FFFFFFE。
当一条LSA的序列号达到最大值时,则发出设备将会把该LSA的老化时间同时置为3600S(最大老化时间),之后,接受的设备将根据序列号判定为最新的LSA,刷新掉本地已有的同一条LSA信息,之后,由于其老化时间达到最大老化时间,则将该LSA信息从本地的LSDB中删除。同时,发出设备会再发送一遍该LSA信息,将其中序列号置为0X80000001,之后,接受设备将该LSA判定为最新的LSA信息进行接收。
Chksum — 校验和 — 确保数据完整性。校验和也将参与LSA的新旧比较,当两条LSA信息,三元组相同,且序列号相同时,则我们将通过校验和来进行新旧判定,校验和大的被认定为新。

TYPE-1 :网络中,所有设备都需要发送且只发送一条1类LSA。1类LSA的LS ID就是通告者的RID。
LINK— 用来描述接口的连接情况。一个接口可以使用一条或者多条LINK进行描述。

TYPE-2 LSA — 在MA网络中,仅靠1类LSA无法将所有信息描述完整,所以,需要使用二类LSA进行补充。二类LSA一个MA网络中只需要发送1条。
八、特殊区域
1、第一大类特殊区域
- 1,不能是骨干区域;
- 2,不能存在虚链路;
- 3,不能存在ASBR设备
满足以上条件的区域,我们称为末梢区域(STUB) — 如果将一个区域配置成为末梢区域,则其效果是这个区域将拒绝学习4类和5类LSA。并且,同时将自动生成一条指向骨干区域的三类缺省。
[r1-ospf-1]a 1
[r1-ospf-1-area-0.0.0.1]stub
注意: 一旦将一个区域配置成特殊区域,则区域内所有设备都必须做同样的配置,否则将影响邻居关系的建立。
完全末梢区域 — totally stub — 在普通的末梢区域的基础上,进一步拒绝三类LSA,仅保留三类缺省。
[r2-ospf-1-area-0.0.0.1]stub no-summary
注意: 这个命令只需要在ABR设备上执行即可
2、第二大类特殊区域
- 1,不能是骨干区域;
- 2,不能存在虚链路;
- 3,必须存在ASBR设备
满足以上条件的区域,我们称为非完全末梢区域(NSSA) — 如果将一个区域配置成为NSSA区域,则其效果是这个区域将拒绝学习4类和5类LSA。并且,同时将自动生成一条指向骨干区域的7类缺省。
因为NSSA区域拒绝学习5类LSA,但是,因为有ASBR设备的存在,他又必须将域外路由信息导入到OSPF网络当中,所以,他将使用7类LSA来携带域外路由信息。
注意,7类LSA只会在NSSA区域出现,在离开NSSA区域时,将由边界的ABR设备重现转换成5类LSA发布出去,则这个ABR设备完成了7转5的动作,其身份相当于是一个ASBR设备。
NSSA区域拒绝学习的主要是其他方向来的4类和5类LSA
[r5-ospf-1]a 2
[r5-ospf-1-area-0.0.0.2]nssa
注意: 一旦将一个区域配置成特殊区域,则区域内所有设备都必须做同样的配置,否则将影响邻居关系的建立。
| 类型 | LS ID | 通告路由器 | 传播范围 | 携带信息 |
|---|---|---|---|---|
| Type-1 LSARouter | 通告者的RID | 区域内所有运行OSPF协议的路由器的RID | 单区域 | 本地接口直连拓扑信息 |
| Type-2 LSANetwork | DR接口的IP地址 | 单个MA网络中的DR所在的路由器的RID | 单区域 | 单个MA网络的补充信息 |
| Type-3 LSASum-Net(summary) | 域间路由的目标网络号 | ABR,在通过下一个ABR时,将修改为新的ABR | ABR相邻的单区域 | 域间路由信息 |
| Type-5 LSAExternal(ase ) | 域外路由信息的目标网络号 | ASBR | 整个OSPF区域 | 域外路由信息 |
| Type-4 LSASum-Asbr(asbr) | ASBR的RID | ABR(ASBR所在区域的ABR设备),在通过下一个ABR时,将修改为新的ABR | 除了ASBR所在区域外的单区域 | ASBR的位置信息 |
| Type-7 LSANSSA | 域外路由信息的目标网络号 | ASBR(如果离开NSSA区域,则将转换成5类LSA) | 单个NSSA区域 | 域外路由信息 |
3、特殊区域的标记位
- E位:一般置1,代表支持5类LSA。要是做成特殊区域,则将拒绝学习5类LSA,则E位置0
- N位:一般置0,只有在NSSA区域中置1,代表支持7类LSA。
- P位 — P位置1,则代表该LSA支持7转5。
Forwarding Address — 转发地址
应对选路不佳的情况,如果存在选路不佳的情况,则通告者将会把最佳的下一跳放入转发地址当中,接收者看到转发地址中存在数据,则将不按照算法来计算下一跳,而直接使用转发地址作为下一跳。在5类LSA中,默认情况下,在不存在选路不佳时,将使用0.0.0.0进行填充。
而在7类LSA中,一般会使用通告者(ASBR)设备的环回接口地址作为转发地址。如果存在多个环回接口,则将使用最先宣告的地址作为转发地址;如果没有环回接口,则将使用物理接口的地址作为转发地址。
7类LSA生成路由信息的标记位, O_NSSA ,优先级为150。
完全的非完全末梢区域 — totally NSSA — 在普通的NSSA区域的基础上,进一步拒绝三类LSA,自动生成一条指向骨干区域的三类缺省。
[r4-ospf-1-area-0.0.0.2]nssa no-summary
#注意,这个命令只需要在ABR设备上执行即可
注意: 在配置完完全的NSSA区域后,因为之间普通的NSSA区域生成了一条7类缺省,完全的NSSA区域又生成了一条三类缺省,因为三类优于7类,所以,将选择三类缺省。
注意: 手工配置的缺省方向需要和自动生成的缺省方向一置,否则可能产生环路。
4、OSPF的拓展配置
4.1 手工认证
OSPF邻居双方,发送的所有的数据报中包含认证信息,两边口令相同,则代表认证成功;不同,则认证失败,将影响邻居关系建立。
- 1、接口认证
[r1-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher 123456
- 2、区域认证 — 本质还是接口认证,相当于,将一台设备在某个区域内所有激活的接口配置接口认证。
[r4-ospf-1-area-0.0.0.0]authentication-mode md5 1 cipher 123456
- 3、虚链路认证 — 其本质也是接口认证
[r5-ospf-1-area-0.0.0.2]vlink-peer 4.4.4.4 md5 1 cipher 123456
4.2 缺省路由
3类缺省,5类缺省,7类缺省
3类— 只能自动生成,在配置 — 末梢区域,完全的末梢区域,完全的非完全末梢区域
特征 —OSP,优先级默认为10;5类— 通过手工配置的方法生成
[r3-ospf-1]default-route-advertise— 这个命令相当于是将设备本身通过其他协议学习到的缺省路由重发布到OSPF网络当中,所以,生成的是5类缺省。
特征 —O_ASE,优先级默认150;
[r3-ospf-1]default-route-advertise always— 如果本地没有其他协议学到的缺省信息,在可以使用这个命令强制下发一条5类缺省。7类— 可以自动生成 — 普通的NSSA区
可以手工配置 —[r5-ospf-1-area-0.0.0.2]nssa default-route-advertise— 手工下发7类缺省
特征 —O_NSSA,优先级默认150;
4.3 沉默接口
将某个接口配置成沉默接口,则该接口将只接受,不发送OSPF数据包。
[r5-ospf-1]silent-interface GigabitEthernet 0/0/2
4.4 加速收敛
减少计时器的时间、
1、修改HELLO时间
[r1-GigabitEthernet0/0/0]ospf timer hello 5
注意: HELLO时间一旦更改,死亡时间将自动按照四倍关系进行匹配。
2、修改死亡时间
[r2-GigabitEthernet0/0/0]ospf timer dead 20
注意: 死亡时间变更,hello时间不会变化
3、等待计时器 — 时间长短等同于死亡时间,DR和BDR选举时的计时器。这个计时器无法直接修改时间,死亡时间更改,则这个计时器时间同时更改。
Poll — 轮询时间 — `120`` — 与状态为DOWN邻居发送hello包的周期时间。 — NBMA
在NBMA环境下,如果单方面指定邻居关系,则将对方状态置为ATTEMP状态,如果对方一直不指定本地为邻居(中间等待时间为一个等待计时器的时间),则将对方的状态置为DOWN状态。之后,将按照轮询时间为周期发送hello包。
[r1-GigabitEthernet0/0/0]ospf timer poll ? #修改轮询时间
INTEGER<1-3600> Second(s)
Retransmit — 5S — 重传时间 — 发送信息需要进行确认,如果对方重传时间内都没有发送确认,则将重传。
[r2-GigabitEthernet0/0/0]ospf timer retransmit ?
INTEGER<1-3600> Second(s)
Transmit Delay — 1S ---- 传输延迟 — 是附加在LSA老化时间上的一个值,因为传输过程中,数据包中老化时间没有办法更改,所以,在封装数据包时,将在原有的老化时间基础上,额外增加传输延迟时间,用来补偿传输过程中的时间消耗。
[r2-GigabitEthernet0/0/0]ospf trans-delay 2
4.5 路由过滤
主要是针对3类,5类,7类LSA进行过滤。
[r2-ospf-1-area-0.0.0.1]abr-summary 192.168.0.0 255.255.252.0 not-advertise — 在ABR设备上针对3类LSA进行过滤
[r5-ospf-1]asbr-summary 10.0.0.0 255.255.255.0 not-advertise — 在ASBR设备上针对5类/7类LSA进行过滤
4.6 路由控制
1、优先级
[r5-ospf-1]preference 50 — 修改协议字段为OSPF的路由的默认优先级 ---- 只影响本设备
[r5-ospf-1]preference ase 100 — 修改协议字段为O_ASE/O_NSSA的默认优先级
2、开销值
COST = 参考带宽 / 真实带宽
- 1、通过修改参考带宽实现修改开销值
[r5-ospf-1]bandwidth-reference ?
INTEGER<1-2147483648> The reference bandwidth (Mbits/s)
注意: 参考带宽一旦修改,则所有设备的参考带宽必须改成一样的,必须要统一标准。这样的修改只能应对因参考带宽过小而造成的选路不佳,不能实现选路效果。 - 2、通过修改真实带宽实现修改开销值
[r3-GigabitEthernet0/0/0]undo negotiation auto— 关闭自动协商
[r3-GigabitEthernet0/0/0]speed 10— 修改接口真实带宽
Info: Please undo negotiation first.
注意: 修改真实带宽,可以达到控制开销值选路的效果,但是,因为传输速率只能改小,所以,不建议使用这种方法,会影响传输效率。 - 3,直接修改开销值
[r3-GigabitEthernet0/0/0]ospf cost 1000
注意: 1,2两种方法,均无法影响环回接口的开销值,但是,第三种方法,可以直接修改环回接口开销值。
OSPF的开销值计算方法为 — 目标网段到达本地设备路由流量流入的接口的累加值。
4.7 OSPF的附录E
附录E主要描述的就是在以下场景中,因为3类,5类,7类LSA导致出现的特殊问题的解决方案。

附录E提出的解决方案是掩码较短的信息正常进入,掩码较长的信息将使用目标网段的直接广播地址作为LS ID。
相关文章:
HCIP网络笔记分享——IA回顾及OSPF协议
第一部分 HCIA回顾1、网络基础2、动态路由协议3、路由认证4、路由控制(AD metric ) 一、知识巩固二、场景模拟1、获取IP地址1.1 DHCP --- 动态主机配置协议1.1.1 DHCP客户端1.1.2 DHCP服务器1.1.3 DHCP客户端1.1.4 DHCP服务器 2、打开浏览器3、路由器进行…...
网络:IP地址、子网掩码、网络地址、广播地址、网段、网关
目录 一、IP地址 二、子网掩码 三、网络地址 四、广播地址 五、网段 六、网关 七、IP地址、子网掩码、网络地址、广指地址、网殷、网关的关系 参考链接 一、IP地址 IP地址是因特网协议(IP)中使用的一种数字标识符,用于唯一地标识网络…...
编程的未来 - 还有未来么?
缘起 唐门教主上个月某天深夜写了一篇博客 --《编程的未来》,要我谈谈感想。 这也是最近软件工程师们聊得比较多的问题,上周,在上海的 “关东小磨” 和十多位 CSDN 博主聚会的时候,大家也稍微谈了一下这个话题,但是谈…...
从零开始搭建群众权益平台(二)
这篇文章我们要建立的群众权益维护平台需要提供用户注册、登录、提交和查看问题或建议的功能,并且支持电话短信登录。在这个过程中,我们需要存储用户的登录信息。 我们将使用Node.js和Express.js作为后端框架,MongoDB作为数据库,并且使用Twilio服务发送短信验证码来实现手…...
Mysql之数据备份
一.日志 1.MySQL 的日志默认保存位置为 /usr/local/mysql/data2.修改日志配置文件 vim /etc/my.cnf [mysqld] ##错误日志,用来记录当MySQL启动、停止或运行时发生的错误信息,默认已开启 log-error/usr/local/mysql/data/mysql_error.log #指定日志的…...
【数据库数据恢复】SQL Server数据表结构损坏的数据恢复案例
数据库故障&分析: SQL server数据库数据无法读取。 经过初检,发现SQL server数据库文件无法被读取的原因是因为底层File Record被截断为0,无法找到文件开头,数据表结构损坏。镜像文件的前面几十M空间和中间一部分空间被覆盖掉…...
C语言/C++ 之 打飞机游戏
【项目简介】 1、设计思想:本项目主要是为了实现打飞机游戏,主要包括5个函数模块,和1个主函数框架。分别是chu_shi_hua();、you_cao_zuo;、wu_cao_zuo();、show();、main();等。项目完成过程中主要运用了C/C中的输入输…...
在 Docker 中部署 Mino 并挂载配置文件
创建本地目录 首先,在主机上创建一个目录,用于存放 Mino 的配置文件。例如,创建一个名为 mino 的目录,用于存放 Mino 的配置文件。 mkdir mino拉取 Mino 镜像 使用以下命令从 Docker Hub 上拉取 Mino 的最新镜像: …...
无限脉动:释放音乐和区块链在音乐领域的力量
音乐是一种永恒的通用语言,它将人们聚集在一起,超越了边界,在我们灵魂深处产生共鸣,创造联系。在当今数字时代,随着区块链技术和去中心化网络的出现,音乐世界正在经历一场深刻的变革。 我们在与艺术家合作&…...
读发布!设计与部署稳定的分布式系统(第2版)笔记09_一窝蜂和容量
1. 停电事故后电力恢复的方式 1.1. 停电后常见的情形是,送电几秒钟后又再次断电 1.2. 数百万台空调和冰箱的用电需求,使刚刚恢复的电力供应发生过载 1.3. 当电力供应不足时,增加的电流很快就到达满负荷,导致过载,触…...
详解java定时任务
在我们编程过程中如果需要执行一些简单的定时任务,无须做复杂的控制,我们可以考虑使用JDK中的Timer定时任务来实现。下面LZ就其原理、实例以及Timer缺陷三个方面来解析java Timer定时器。 一、简介 在java中一个完整定时任务需要由Timer、TimerTask两个…...
PCIe卡设计方案:单路12Gsps 3G 带宽模拟信号源PCIe卡
一、板卡概述 单路3G带宽模拟信号源卡由DA子卡和PCIe底板组成,二者通过标准FMC连接器互联,可以实现将PCIe总线数据转换为一路高速的模拟量输出。北京太速科技板可广泛用于雷达、通信、光电领域的噪声信号、毛刺、脉冲信号模拟产生等领域。 二、 …...
第1章 计算机网络和因特网
1、主机或端系统通过( )接入因特网。 A. ISPB. 调制解调器C. 交换机D. 路由器 P21:端系统(PC、智能手机、Web 服务器、电子邮件服务器等)经过一个接入 ISP 与因特网相连。 2、主机一般被划分为两类:客…...
QT入门基础知识
什么是QT QT是一个跨平台的C图像用户界面应用程序框架QT在1991年由奇趣科技开发QT的优点 跨平台,几乎支持所有平台接口简单,容易上手一定程度上简化了内存回收机制有很好的社区氛围可以进行嵌入式开发 QWidget QT注意事项 命名规范 类名 首字母大写,单…...
Leetcode---350周赛
题目列表 6901. 总行驶距离 6890. 找出分区值 6893. 特别的排列 6447. 给墙壁刷油漆 一、总行驶距离 很显然,这题单纯就是一道数学应用题,我们要明白最关键的一点 :只有当mainTank>5并且additionalTank>0时,才能发生副油…...
Django通过Nginx和uWSGI实现负载均衡
Django是一款非常流行的Web应用程序框架,它允许开发人员以快速、简单和灵活的方式构建可扩展和可维护的Web应用程序。当你的应用程序开始变得越来越受欢迎时,你可能会发现需要使用负载均衡来确保应用程序的可用性和性能。在本文中,我们将介绍…...
单元测试框架——Junit5
文章目录 Junit1. 注解2.断言3.测试用例执行顺序4.测试套件Suite1) 指定多个类2) 指定包 5. 参数化1) 单参数2) 多参数3) 文件注入 6.动态参数 Junit Junit是一个开源的用于Java语言的单元测试框架,也是Java方向使用最广泛的单元测试框架。 在pom.xml中引入Junit5…...
centos 系列添加 yum 源
nginx 首先,安装 EPEL (Extra Packages for Enterprise Linux) 仓库。这是一个由 Fedora 项目提供的免费扩展软件包仓库,其中包含许多有用的软件包。 sudo yum install epel-release 接下来,导入 Nginx 的官方 GPG 密钥,以便验证安…...
[Hive高级特性与 DDL和DML语法]
目录 🎇前言: 🎇 HiveQL语言的基本语法,包括DDL和DML两个方面。 🎇DDL(数据定义语言): 🎇DML(数据操作语言): 🎇 Hive高级特性 多种…...
Web服务器群集:Web基础与HTTP协议
目录 一、理论 1.Web基础 2.HTTP协议 二、实验 1.浏览本地HTML页面 三、总结 一、理论 1.Web基础 (1)域名和DNS ① 域名 网络是基于TCP/IP 协议进行通信和连接的,每一台主机都有一个唯一的标识(固定的IP地 址࿰…...
conda相比python好处
Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理:…...
uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖
在前面的练习中,每个页面需要使用ref,onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入,需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...
Spring Boot面试题精选汇总
🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...
unix/linux,sudo,其发展历程详细时间线、由来、历史背景
sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...
AI编程--插件对比分析:CodeRider、GitHub Copilot及其他
AI编程插件对比分析:CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展,AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者,分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...
SpringAI实战:ChatModel智能对话全解
一、引言:Spring AI 与 Chat Model 的核心价值 🚀 在 Java 生态中集成大模型能力,Spring AI 提供了高效的解决方案 🤖。其中 Chat Model 作为核心交互组件,通过标准化接口简化了与大语言模型(LLM࿰…...
数据结构:递归的种类(Types of Recursion)
目录 尾递归(Tail Recursion) 什么是 Loop(循环)? 复杂度分析 头递归(Head Recursion) 树形递归(Tree Recursion) 线性递归(Linear Recursion)…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现指南针功能
指南针功能是许多位置服务应用的基础功能之一。下面我将详细介绍如何在HarmonyOS 5中使用DevEco Studio实现指南针功能。 1. 开发环境准备 确保已安装DevEco Studio 3.1或更高版本确保项目使用的是HarmonyOS 5.0 SDK在项目的module.json5中配置必要的权限 2. 权限配置 在mo…...
C++--string的模拟实现
一,引言 string的模拟实现是只对string对象中给的主要功能经行模拟实现,其目的是加强对string的底层了解,以便于在以后的学习或者工作中更加熟练的使用string。本文中的代码仅供参考并不唯一。 二,默认成员函数 string主要有三个成员变量,…...
Linux操作系统共享Windows操作系统的文件
目录 一、共享文件 二、挂载 一、共享文件 点击虚拟机选项-设置 点击选项,设置文件夹共享为总是启用,点击添加,可添加需要共享的文件夹 查询是否共享成功 ls /mnt/hgfs 如果显示Download(这是我共享的文件夹)&…...
