HCIP理论笔记整理

之前学习数通时候老师总结的笔记,清理U盘时顺便全部清出来了,一年多了,虽然已经忘记差不多,但是总结的笔记一键回收站了未免也太可惜了,放此希望能够对屏幕的你学习数通有所帮助,并且希望到时候对我有所帮助时能拿出来看看


路由迭代:当匹配的路由下一跳为非直连时,根据下一跳地址再次查找路由表,直到匹配到路由下一跳和出接口均为直连
出现场景:静态路由和BGP路由
路由器数据转发流程:收到数据,检查DMAC是否为接口MAC地址,如果是则接收,否则丢弃。根据Type字段上送三层处理
Type0x0800,说明IP,上送路由表进行查找,根据DIP地址,以最长掩码匹配原则找到一条路由,根据该路由的出接口和下一跳重新封装二层转发给下一设备。

1.OSPF基础

开放式最短路径优先
v2—IPv4
v3—IPv6

一、协议分类
工作区域:AS内,IGP协议
算法:链路状态,传递路由时也携带拓扑信息
有类/无类:是否携带掩码,OSPF属于无类携带掩码

二、协议特点
基于SPF算法,以“累计链路开销”作为选路参考值
采用组播形式收发部分协议报文
支持区域划分
支持对等价路由进行负载分担
支持报文认证
无环路:
1、区域内:SPF得出SPT树天然无环
2、区域间:防环规则
支持汇总(ABR、ASBR)

三、工作流程
1、互相发送Hello报文建立邻居关系
2、泛洪LSA,形成LSDB数据库
3、运行SPF算法,得出SPT树
4、进行路由计算放入路由到路由表内

四、基本概念
1、router id:用于标识一台运行了OSPF的路由器
全局配置:系统视图下 router id 1.1.1.1 (多个协议同时使用)
进程配置:创建OSPF时 ospf 1 router-id 1.1.1.1 (该协议使用)
进程优于全局,使用相同方式配置Router ID需要重启进程生效
reset ospf process
Warning: The OSPF process will be reset. Continue? [Y/N]:y

多区域配置
ospf 1 router-id 2.2.2.2
area 0.0.0.0
network 10.1.2.254 0.0.0.0 精确宣告
network 10.1.12.0 0.0.0.255 范围宣告
area 0.0.0.1
network 10.1.23.2 0.0.0.0

检查命令
display ospf error 错误信息,后面可以添加接口查看指定接口的错误信息
display ospf peer brief 邻居信息
display ospf lsdb LSDB库,包含本地LSA
display ospf routing OSPF路由表
display ip routing-table protocol ospf 装入全局路由表的OSPF路由
display ospf interface 宣告了OSPF的接口,网络类型、DR、BDR等内容

2、区域ID
骨干区域:Area 0、传递所有区域路由,数据中转,必须配置
非骨干区域:非Area 0,其他

3、度量值
每个接口维护一个开销值,计算公式:参考带宽(默认100M)/实际带宽
开销计算:路由入方向,数据出方向(推荐)
修改开销:
a、接口下ospf cost 100
b、进程下bandwidth-reference 1000(Mbps为单位)

五、邻居关系建立(报文、过程)
邻居:只交互Hello报文

报文组成:OSPF报文头部+OSPF包

OSPF报文头部:
Version版本:v2、v3,必须一致
Type:说明OSPF包属于的类型
包长度:包括OSPF报文头部+OSPF包
Router ID、Area ID:标识哪个设备哪个区域发送,Router ID必须不一致,Area ID必须一致
校验和
认证类型:无、明文、密文,必须一致
认证数据:携带密钥等内容,必须一致

Hello报文:发现、建立、维护邻居关系
发现:组播发送,自动加入组播组224.0.0.5
建立:协商参数,包括报头以及包数据
维护:邻居建立之后,周期发送Hello报文,一段时间后没有收到邻居Hello报文认为邻居故障

Hello报文的内容:
Network Mask:接口掩码,如果MA网段需要一致,如果P2P可以不一致
HelloInterval:发送Hello报文的时间间隔。通常为10s。
接口内 ospf timer hello 5 //修改Hello间隔,老化时间自动*4,比如前面修改5s,老化时间为20s
RouterDeadInterval:失效时间。如果在此时间内未收到邻居发来的Hello报文,则认为邻居失效。通常为40s。
以上两个时间必须一致。
接口内 ospf timer dead 40 //只修改老化时间,不修改Hello间隔
Neighbor:邻居,以Router ID标识。
Option字段:
E:是否支持外部路由,骨干区域或者非骨干区域,都会置为1,必须一致
MC:是否支持转发组播数据包
N/P:是否为NSSA区域,骨干区域或者非骨干区域,都会置为0,必须一致

普通或骨干区域,E=1,N=0

DR优先级(接口的DR优先级)、DR、BDR字段(网络中选举获胜的接口地址)用于MA网络中选举DR和BDR

邻居状态机:
Down:关闭,此时还没有收到任何OSPF报文
Init:初始化,收到邻居的Hello报文,邻居列表内不包含本身Router ID
2-Way:收到邻居的Hello报文,邻居列表内包含本身Router ID,邻居的最终状态

六、邻接关系建立(报文、过程)
邻接:邻居基础上,交互其他报文进行数据库同步
DD报文:用来携带数据库摘要信息,携带LSA头部
LSR报文:请求感兴趣的LSA,携带LSA头部
LSU报文:携带完整LSA回复LSR
LSAck报文:确认LSU,标识收到LSU报文

ExStart:邻居状态变成此状态以后,路由器开始向邻居发送DD报文。在此状态下发送的DD报文不包含链路状态描述。
用于选举主从设备,保证后续DD报文能够有序交互。
三个Flag位:I(Init)置为1表示为第一个DD报文
M (More):如果这是最后一个DD报文,则置为0。否则置为1,表示后面还有其他的DD报文。
MS (Master/Slave):Router ID大的一方会成为Master。当值为1时表示发送方为Master。
DD sequence number:DD报文序列号。主从双方利用序列号来保证DD报文传输的可靠性和完整性。
序列号随机产生,主从选举完成后,以主序列号为准

发送完第一个DD报文后,收到对方I=0的DD报文跳转到下一状态,由从设备首先发出
Interface MTU:指示在不分片的情况下,此接口最大可发出的IP报文长度。默认不开启检查,开启之后会在该字段内携带接口MTU值,如果不一致,会停留在exstart状态	

Exchange:在此状态下,路由器与邻居之间相互发送包含链路状态信息摘要的DD报文。
收到对方M=0的DD报文后,进入下一状态。

Loading:在此状态下,路由器与邻居之间相互发送LSR报文、LSU报文、LSAck报文。
如果没有任何需要请求LSA会直接进入Full状态
LSR请求列表为空时,进入下一个Full状态

Full:路由器已完成了与邻居的LSDB同步

七、网络类型
根据不同链路层协议,自动选举不同网络类型,更好的支持不同的网络拓扑

1、P2P
链路层协议:PPP、HDLC
是否选举DR:不选举DR
Hello时间:hello时间10s,老化40s

2、MA(Broadcast):
链路层协议:以太网
是否选举DR:选举DR
Hello时间:hello时间10s,老化40s

3、NBMA:
链路层协议:FR、ATM
是否选举DR:选举DR
Hello时间:hello时间30s,老化120s
不支持组播广播,必须手工指定邻居 进程内 peer 1.1.1.1

4、P2MP:
链路层协议:没有一种链路层协议默认为P2MP,必须手工修改
是否选举DR:选举DR
Hello时间:hello时间30s,老化120s

Q:不同的网络类型,能否正常建立邻居关系
一边MA、另一边是P2P,可以建立,路由不能正常计算的
主要看Hello时间和老化时间,如果hello时间一致可以建立邻接关系,路由能否计算和是否选举DR有关。
PS:修改网络类型时,两个接口都必须修改

八、DR和BDR的选举
1、MA网络的问题:大量邻接关系,重复LSA泛洪
2、解决方式:选举DR(Designated Router,指定路由器)和BDR(Backup Designated Router,备份指定路由器)
其余设备为DROther,MA网络内只和DR、BDR建立邻接关系,DRother建立邻居关系
3、DR的作用:
维护邻接关系和同步数据库
充当伪节点标识
4、特点
BDR防止DR出现故障,用于冗余备份
MA网络中必须要有DR,可以没有BDR
DR不支持抢占,选举完成后新接入设备,优先级更高Router ID更优,也不会抢占角色
5、选举
比较优先级0-255,越大越优先,为0表示放弃选举、优先级一致Router ID,越大越优
默认选举时间40s,默认hello时间*4,计时过程内接入则参与选举,计时结束则结束选举
标准机制:2-Way建立后,选举DR和BDR
华为机制:hello报文发送之后就开始选举

是否抢占的特殊情况:
开机时间不同,选举结果不正常,重新同时开关接口或重启交换机
两个MA网络连接时,DR和DR比较,BDR和BDR比较,竞选失败的设备全部成为DRother

2.域内路由

OSPF路由分类以及LSA的类型
1 Router-LSA
2 Network-LSA 1、2类区域内部路由
3 Network-Summary-LSA 3类区域间路由
4 ASBR-Summary-LSA
5 AS External LSA
7 NSSA LSA 4、5、7类外部路由

一、LSA概念以及组成
LSA的组成:LSA头部+载荷

LSA头部的内容
1、链路状态类型(LS Type)、链路状态ID(LS ID)、通告路由器(Adv)三元组唯一地标识了一个LSA。
2、链路状态老化时间 (LS Age、0~3600s、1800s周期更新)、链路状态序列号 (Seq)、校验和(Checksum)用于判断LSA的新旧
a、序列号越大越优
b、序列号一致,比较校验和,越大越优
c、校验和一致,比较Age,3600s最优表示要删除LSA,比较差值,如果差值大于900s,替换Age更小的LSA到数据库内,差值小于900s,两个LSA都装入LSDB库内

域内路由通过1、2类进行描述,每台设备会同步LSDB后(1、2类)通过1、2类LSA进行SPF计算,得出拓扑

二、Router-LSA
产生者:每台OSPF路由器都会产生
描述内容:路由的直连接口信息,本身角色(路由和拓扑信息)
泛洪范围:所属区域内进行泛洪

LS ID和Adv一致,产生一类LSA的Router ID
用于SPT树计算
角色位:E(ASBR)B(ABR)V(Vlink)
ASBR:AS边界路由器,引入了路由就是ASBR
ABR:区域边界路由器,同时连接骨干区域和非骨干区域
V:表示本身作为虚链路的一个端点
link:一类LSA通过携带多条link来描述路由和拓扑信息,每条link由 link ID、link Data、link Type、Metric组成

display ospf abr-asbr 查看邻居的路由器角色

[R1]display ospf lsdb router self-originate

 OSPF Process 1 with Router ID 1.1.1.1
	         Area: 0.0.0.0
	 Link State Database 

Type : Router
Ls id : 1.1.1.1
Adv rtr : 1.1.1.1
Ls age : 26
Len : 60
Options : ASBR E
seq# : 8000001c
chksum : 0xc606
Link count: 3

  • Link ID: 10.1.12.1 DR的接口IP地址
    Data : 10.1.12.1 连接DR的接口IP地址
    Link Type: TransNet
    Metric : 1

  • Link ID: 10.1.1.0 网段前缀
    Data : 255.255.255.0 掩码
    Link Type: StubNet
    Metric : 1
    Priority : Low

  • Link ID: 1.1.1.1
    Data : 255.255.255.255
    Link Type: StubNet
    Metric : 0
    Priority : Medium

            Area: 0.0.0.1
    Link State Database 
    

Type : Router
Ls id : 2.2.2.2
Adv rtr : 2.2.2.2
Ls age : 30
Len : 48
Options : ABR E
seq# : 80000009
chksum : 0x6019
Link count: 2

  • Link ID: 3.3.3.3 邻居的Router ID
    Data : 10.1.23.2 连接邻居的接口IP地址
    Link Type: P-2-P
    Metric : 48
  • Link ID: 10.1.23.0
    Data : 255.255.255.0
    Link Type: StubNet
    Metric : 48
    Priority : Low

P2P网络类型,通过Link Type为P2P以及StubNet就能够描述拓扑和路由信息
MA网络类型,通过Link Type为Transit描述缺少网络的掩码,以及还有哪些设备连接到该MA网段的拓扑信息,
通过2类LSA描述

三、network-LSA
产生者:由DR为每一个MA网段产生一条
描述内容:MA网段的掩码和前缀,拓扑信息
泛洪范围:区域内

LS ID为DR的接口IP地址
Network Mask:掩码,掩码和LS ID进行域与运算可以得出MA网段。
Attach Router:表示还有哪些路由器连接到MA网络内

去往DR的开销正常计算,DR去往其他设备的开销为0,防止重复累计

3.域间路由

课前题目:
1、思考:如果同个区域内的两台路由器router id是一致的会出现什么问题?
如果是直连两台设备router id一致邻居无法建立
如果是非直连两台设备router id一致,邻居能够建立,两台设备中间其他设备路由会频繁震荡
华为特有解决机制:一段时间之后自动重新选举Router ID,自动选举的规则

2、邻居状态在什么情况下会停留在某一种状态下?
停留init状态:单通故障,接口下存在过滤
停留2-way状态:MA网络中所有设备DR优先级为0,DRother之间正常状态
停留在Exstart状态下:开启了MTU检查并且MTU值不一致、DD报文单播发送被过滤
停留在Exchange状态:没有开启MTU值检查但是MTU值不一致
停留在Loading状态:没有开启MTU值检查但是MTU值不一致、交互LSA数量比较多,等待一段时间

一、区域划分好处
1、减少LSA数量
2、每个区域SPT树会独立计算,每台设备只需要维护本区域的拓扑,减轻设备负担
3、方便进行过滤和汇总(ABR、ASBR)

二、区域划分和路由器的角色
1、ABR: 同时连接骨干区域和非骨干区域(华为标准)
同时连接两个区域(标准机制)
2、ASBR:引入了外部路由的设备

三、summary-network-LSA
产生者:ABR产生,区域每有一个网段产生一条3类LSA
描述内容:其他区域路由前缀和掩码,以及ABR去往目的网段开销
泛洪范围:产生的区域内泛洪,传递到其他区域时,ABR会修改Adv通告者,并且累计开销

Q1:R3此时收到的3类LSA开销是多少,路由表的开销是多少?R5呢?
LSA开销为1、累计区域内的开销为2
LSA开销为1、累计区域内的开销为3

*总结:3类开销计算,传递LSA时,3类LSA内的开销不变,计算进入路由表时,根据区域内的SPT树累计到达ABR的开销

Q2:R6此时收到的3类LSA开销是多少,路由表的开销是多少?
3、4

四、区域间路由防环机制
1、区域设计时,所有非骨干区域必须围绕骨干区域放置,形成类似星型拓扑的结构
2、从非骨干区域接收3类LSA执行接收不计算

Q:为什么是接收不计算,而不是直接进行丢弃?
如果直接丢弃,和骨干区域链路出现故障时,R4此时不满足ABR的条件,但是需要等待1800s的周期更新
和骨干区域链路出现故障时,能够通过3类LSA进行访问,需要进行数据库同步

五、虚链路vlink
出现场景:由于防环规则不能正常接收3类LSA
a、非骨干区域和骨干区域没有直接相连
b、骨干区域不连续

配置
ospf 1 router-id 2.2.2.2
area 0.0.0.1
vlink-peer 4.4.4.4 配置邻居的Router ID

[AR4-ospf-1]display ospf vlink

 OSPF Process 1 with Router ID 4.4.4.4
	 Virtual Links 

Virtual-link Neighbor-id -> 2.2.2.2, Neighbor-State: Full 表示建立完成

Interface: 34.1.1.4 (GigabitEthernet0/0/0)
Cost: 49 State: P-2-P Type: Virtual
Transit Area: 0.0.0.1
Timers: Hello 10 , Dead 40 , Retransmit 5 , Transmit Delay 1
GR State: Normal

特点:
1、虚链路属于区域0
2、配置时必须在两个ABR连接的非骨干区域内(不能在特殊区域)配置,需要指定Router ID
3、建立Vlink可以跨跳建立,但是必须在同一区域内

display ospf lsdb router self-originate

 OSPF Process 1 with Router ID 2.2.2.2
	         Area: 0.0.0.0
	 Link State Database 

Type : Router
Ls id : 2.2.2.2
Adv rtr : 2.2.2.2
Ls age : 347
Len : 60
Options : ABR E
seq# : 8000000a
chksum : 0x291
Link count: 3

  • Link ID: 4.4.4.4 邻居的Router ID
    Data : 23.1.1.2 建立虚链路连接邻居的接口,选择去往虚链路邻居开销最小的接口
    Link Type: Virtual
    Metric : 49

虚链路在实际场景中不推荐使用,只能作为临时的解决方案
虚链路配置不当可能导致环路问题、增加非骨干区域设备压力

4.ospf域外路由

一、路由引入的基本概念
路由引入的定义:将一个协议的路由信息发布到另一个路由协议的操作
OSPF域外路由:当进程内进行路由引入操作,通过5lsa进行描述

引入直连路由
ospf 1 router-id 1.1.1.1
import-route direct 或其他协议

不同进程之间互相引入
ospf 1 router-id 6.6.6.6
import-route ospf 2
ospf 2 router-id 6.6.6.6
import-route ospf 1

二、AS-external-LSA (LSA5)
产生者:引入路由的ASBR,一条5LSA只能描述一条网段
描述内容:OSPF区域外前缀和掩码,度量值等
泛洪范围:所有OSPF区域内,传递过程中不会改变通告者和开销

display ospf lsdb ase 7.7.7.7

 OSPF Process 1 with Router ID 5.5.5.5
	 Link State Database

Type : External
Ls id : 7.7.7.7 前缀
Adv rtr : 6.6.6.6
Ls age : 150
Len : 36
Options : E
seq# : 80000001
chksum : 0x795
Net mask : 255.255.255.255 掩码和LS ID与运算得出网段
TOS 0 Metric: 1 开销,ASBR去往外部路由所需要花费的开销
E type : 2 开销类型,E1、E2
Forwarding Address : 0.0.0.0 转发地址,防止次优
Tag : 1 标记,方便做路由控制
Priority : Medium

开销类型:
E1:内部开销和外部开销之和
E2:只累计外部开销,默认使用

ospf 1 router-id 1.1.1.1
import-route direct type 1 修改开销类型,会覆盖开销
import-route direct cost 1000 修改外部开销
import-route direct type 1 cost 1000 同时修改同时配置

开销类型比较规则(收到去往目的多条5类LSA)
1、E1>E2(无视开销值)
2、双方都是E1,比较总开销,越小越优,一致负载
3、双方都是E2,先比较外部开销,越小越优,一致比较内部开销,越小越优,一致负载

内部开销:本设备到达ASBR的开销值
外部开销:引入路由时手工指定的开销值

FA地址:指导转发,用于防止次优路径
1、FA地址为0的情况,根据Adv通告者的Router ID访问5类LSA
2、FA地址为非0的情况,直接把FA作为下一跳访问目的网段

FA触发:引入路由的出接口和学习该路由的入接口的接口地址是相同网段,把路由下一跳地址作为FA地址
FA产生条件:
1、引入外部路由的出接口宣告到OSPF
2、引入外部路由的出接口属于MA类型
3、引入外部路由的出接口没有被静默(Silent-interface)

静默接口配置,进程配置Silent-interface GigabitEthernet 0/0/0 不发不收hello报文

路由计算:
相同区域可以通过SPT树找到ASBR Router ID
不同区域需要通过4类LSA获得ASBR Router ID

三、ASBR-summary-LSA(LSA4)
产生者:ABR产生,有多少个ASBR有多少条4LSA
描述内容:ASBR的Router ID,ABR到达ASBR的开销值
泛洪范围:除了ASBR所在的区域外,传递其他区域会修改Adv以及度量值

display ospf lsdb asbr 1.1.1.1

 OSPF Process 1 with Router ID 2.2.2.2
	         Area: 0.0.0.0
	 Link State Database 

Type : Sum-Asbr
Ls id : 1.1.1.1 ASBR的Router ID
Adv rtr : 2.2.2.2
Ls age : 59
Len : 28
Options : E
seq# : 80000002
chksum : 0xfa53
Tos 0 metric: 1 ABR去往ASBR的开销值

类型1的计算开销:累计5类外部开销、4类ABR去往ASBR的开销值、累计本身去往ABR(SPT树)

Q1:有4类LSA就一定存在5类LSA
不一定,特殊场景引入操作但是并没有成功引入路由,引入静态没有配置静态

Q2:有5类LSA就一定存在4类LSA
不一定,只有一个区域情况下不需要

Q3、思考:如果不同个区域内的两台路由器router id是一致的会出现什么问题?
如果接口是宣告进OSPF情况,产生1类LSA,传递过程中ABR进行1转3,修改Adv通告者,此时R3能够正常计算不会出现问题
如果接口是引入进OSPF情况,产生5类LSA,传递过程中ABR不会修改直接透传,R3收到后发送Age3600s 5LSA,R1重新生成Sequence+1的5LSA,中间设备网络震荡

无机制自动解决

区域内路由>区域间路由>Metric-Type-1外部路由>Metric-Type-2外部路由

5.特殊区域

一、特殊区域的作用
背景:末梢区域不需要中转流量,不需要去保存对应的LSA
作用:通过OSPF的特殊区域特性可以进一步减少LSA数量和路由表规模。

二、特殊区域分类
1、Stub
a、过滤4、5LSA
b、产生一条3类默认LSA,用于访问其他区域的外部路由
c、不能引入外部路由

配置
ospf
area 1
stub 区域内所有路由器都需要配置

设备如何判断对方是否处于Stub特殊区域呢?
Option位中E为0、N为0说明Stub

2、Totally Stub
a、过滤3、4、5LSA
b、产生一条3类默认LSA,用于访问其他区域的外部路由
c、不能引入外部路由

配置Stub时注意问题:
骨干区域不能被配置为Stub区域。
Stub区域中的所有路由器都必须将该区域配置为Stub。
Stub区域内不能引入也不接收AS外部路由。
虚连接不能穿越Stub区域

配置
ospf 1
area 0.0.0.1
stub no-summary ABR上增加 no-summary

3、NSSA
a、过滤4、5LSA
b、产生一条7类默认LSA,用于访问其他区域的外部路由
c、可以引入外部路由,引入外部路由以7类LSA形式存在

NSSA LSA
产生者:ASBR产生,有多少个网段产生多少条7类LSA
描述内容:外部路由信息+开销值
泛洪范围:在NSSA区域内泛洪,在ABR上会进行7转5操作,使其他区域能够访问NSSA区域的外部路由
如果有多台设备作为ABR,由Router ID较大的一台设备进行7转5

 OSPF Process 1 with Router ID 6.6.6.6
	         Area: 0.0.0.2
	 Link State Database 

Type : NSSA 除类型字段为NSSA,其他字段均和5LSA相同
Ls id : 7.7.7.7
Adv rtr : 6.6.6.6
Ls age : 171
Len : 36
Options : NP
seq# : 80000001
chksum : 0xbdbe
Net mask : 255.255.255.255
TOS 0 Metric: 1
E type : 2
Forwarding Address : 6.6.6.6 永不为0,自动选举,激活OSPF接口上,优选loop地址大的,物理接口地址大,防止次优路径
Tag : 1
Priority : Low

NSSA区域和其他外部路由如何互访?
1、其他区域访问NSSA的外部路由通过Router ID的ABR进行7转5的5类访问
2、NSSA区域访问其他区域的外部路由,通过ABR下发7类默认路由

4、Totally NSSA
a、过滤3、4、5LSA
b、产生一条7类默认LSA,用于访问其他区域的外部路由
c、可以引入外部路由,引入外部路由以7类LSA形式存在

配置
ospf 1
area 0.0.0.2
nssa no-summary 多台ABR都需要进行配置

设备如何判断对方是否处于NSSA特殊区域呢?
Option位中E为0、N为1说明NSSA

Option位:E=1,N=0 普通区域、E=0,N=0 Stub区域、E=0,N=1 NSSA区域

6.路由汇总

一、路由汇总作用
1、减少路由表规模
2、明细路由对应的网段如果产生翻动(Up/Down),该拓扑变更造成的影响将被限制在区域内。只有所有明细路由都撤销汇总才撤销。

二、区域间路由汇总
1、ABR上配置汇总
2、产生明细路由1类、2类LSA的区域下汇总
3、汇总的路由不能再次汇总

配置
ospf 1
area 0.0.0.1
abr-summary 172.16.0.0 255.255.252.0

三、外部路由汇总
1、ASBR上配置汇总
2、汇总5、7LSA
3、ASBR引入时、NSSA ASBR引入时、NSSA ABR在7转5也是ASBR也能够汇总

配置
ospf 2 router-id 7.7.7.7
asbr-summary 192.16.0.0 255.255.252.0

7.OSPF认证

一、认证的作用
1、防止非法设备接入网络内获取拓扑和路由信息

二、OSPF认证类型:
1、无 报头认证类型为0
2、明文:报文里密钥是否加密 报头认证类型为1
3、密文 报头认证类型为2
携带三个字段
Key ID 区分密钥,必须一致
加密序列号 防重放
接口会序列号随着时间增加而增加,接口每收到一个OSPF报文会记录序列号,
如果收到报文序列号比接口记录的序列号小或者等于,认为重放攻击,丢弃数据包
密钥 hash值

三、OSPF认证方式(配置):
1、区域认证方式:
ospf 1 router-id 2.2.2.2
area 0.0.0.1
abr-summary 172.16.0.0 255.255.252.0
authentication-mode simple plain 123 配置该区域所有接口

2、接口认证方式:
interface Ethernet0/0/0
ip address 10.1.12.1 255.255.255.0
ospf authentication-mode simple plain 123

注意问题:
不同的配置方式只要类型和密码相同不会影响邻居建立
虚链路属于区域0,区域0下配置认证,虚链路也要配置认证

8.ISIS 中间系统-中间系统

一、协议分类
工作范围:IGP
算法:链路状态
是否携带掩码:无类

二、发展历史
ISIS早期应用于OSI模型,后续扩展支持TCP/IP模型,称为集成ISIS
可以在两种模型都去使用
ISIS基于数据链路层,OSPF基于IP层
IS=路由器、ES=终端设备

三、场景应用
OSPF:园区网(企业网络)
1、层次化架构:设备性能差异较大,网络拓扑较为复杂
2、收敛快

ISIS:运营商网络(骨干网)
1、扁平化架构:设备性能差异较小,网络拓扑较为简单
2、收敛极快(域内路由收敛速度更快)

四、ISIS工作流程
1、建立邻居关系
2、交互LSP(包含路由和拓扑信息),形成LSDB数据库
OSPF不同网络类型也可以建立邻居,ISIS不行,不同网络类型同步数据库方式不同
3、执行SPF算法

五、基本概念
1、地址结构
NSAP组成:IDP(AFI、IDI)、DSP(High Order DSP、SysID、SEL)两部分

NET地址,特殊的NSAP地址,使用TCP/IP协议
从后往前,每两个十六进制是一个字节
AreaID可变长,SysID 6字节,SEL1字节

两个地址长度和数值完全一致才视为同一区域
IP地址嵌入NET地址的SySID

2、区域划分
L2骨干区域
a、连接非骨干区域,存在所有区域路由
b、L1-2或者L2路由器组成,L2路由器的Area ID不一致也能够组成L2区域

L1非骨干区域(类似OSPF的完全NSSA区域)
a、只存在区域内路由,访问其他区域需要通过骨干
b、L1-2或者L1路由器组成,L1路由器的Area ID必须一致

3、路由器类型
L1路由器
a、所有接口都处于L1区域
b、只维护L1数据库,包含L1区域的路由
c、只能和同区域L1和L1-2设备形成邻居关系

L1/2
a、有接口都处于L1区域,也有接口都处于L2区域
b、同时维护L1、L2数据库
c、所有路由器类型都可以建立邻居关系
d、默认的路由器;

L2
a、所有接口都处于L2区域
b、只维护L2数据库,包含L1、L2区域的路由
c、只能和不同、相同区域L2、L1-2路由器形成邻居关系
d、需要保证L2区域的连续性

isis 1
is-level level-1
network-entity 49.0001.0000.0000.0002.00
int g 0/0/0
isis enable

display isis peer 检查邻居关系
display isis error 查看错误信息
display isis lsdb 查看数据库

ISIS和OSPF对比
1、OSPF骨干和非骨干区域存在所有区域的路由,ISIS只有骨干区域存在所有区域的路由
2、OSPF划分区域基于接口,ISIS基于路由器
3、ISIS非骨干区域通过L1-2下发默认访问骨干区域

4、网络类型
MA:底层协议为以太网,选举DIS
P2P:底层协议为PPP、HDLC,不选举DIS

5、计算开销的方式
a、默认接口开销为10
b、累计开销,路由入方向数据出方向
c、开销修改:
接口修改
interface GigabitEthernet0/0/0
isis cost 50
全局修改
isis
circuit-cost 50
基于带宽(与OSPF相同)
isis
bandwidth-reference value,配置计算带宽的参考值
auto-cost enable

接口<全局<带宽

六、邻居建立过程
1、报文类型(对比OSPF)
通用报头+其他报文

支持同时配置三个Area ID,用于实现平滑抢占
配置多个NET地址,再删除不需要的

IIH(P2P、L1 LAN、L2 LAN)
L1 01-80-c2-00-00-14
L2 01-80-c2-00-00-15

LSP类似LSU报文

CSNP(完整序列号报文)类似DD报文
PSNP(部分序列后报文)类似LSR、LSAck

2、邻居建立
Hello:用于发现、建立、维护邻居关系
MA网段携带Pri、LANID
P2P网段携带Local Circuit ID

Hello报文协商内容
路由器类型需要匹配
System ID不一致
老化时间,不影响邻居关系,默认30s,hello间隔10s
DIS的老化时间为9s,hello间隔3s
接口MTU必须一致,通过Padding字段
填充padding字段直到接口MTU值,P2P邻居up后不再填充,MA网段一直填充
区域ID,L1区域ID必须一致,L2可以不一致
接口网段,根据本身接口掩码和对方IP地址进行与运算,对比网络号判断
默认开启,P2P可以忽略检查
网络类型,不同网络类型无法建立
认证

a、两次握手:收到对端Hello报文,邻居up,不可靠
b、三次握手:交互三个Hello报文,需要hello报文内携带sysid或者mac地址,可靠

P2P网络类型,可以使用两次握手或三次握手,默认使用三次握手
MA网络类型,只能使用三次握手

邻居状态机:
down:还没有收到报文
init:收到报文,不包含本身sysid或mac地址
up:收到报文,包含本身sysid或mac地址

int S 1/0/0
isis ppp-negotiation 2-way 修改为2-way

默认接口使用两次三次握手兼容,一边为2-way,另一边是3-way不影响邻居关系建立
如果一边配置3-way only,一边为2-way,邻居关系无法建立,不能协商
int S 1/0/0
isis ppp-negotiation 3-way only

七、数据库同步过程
LSP
传递范围分类:L1 LSP、L2 LSP
按照作用分类:
实节点LSP(类似1类LSA)每台设备产生,描述路由和拓扑信息
伪节点LSP(类似2类LSA)DIS产生,用来描述MA拓扑信息(不携带网络信息)
组成:
LSP新旧(校验和、生存时间life time、序列号)
序列号:0x00000001~0xffffffff,越大越优先
生存时间life time:0~1200s,0s表示删除,倒计时,剩余300s时周期更新

比较新旧:1、序列号越大越优  2、比较生存时间0s最优,非0则同等优  3、校验和越大越优

标识唯一LSP(LSP ID:System ID+伪节点ID+分片标识)
	伪节点ID:全0表示实节点LSP,非0为伪节点LSP
	分片标识:表示LSP有没有被分片或者引入外部路由

功能位(类似OSPF Option)
P:区域修复位,华为固定为0,无意义
ATT:用于L1设备生成默认路由
OL:过载位,用于减少路由器开销
IS Type:表示路由器类型

CSNP:携带LSP摘要,表示本地数据库内所有LSP
PSNP:携带LSP摘要,用于请求或确认

P2P同步类似OSPF
1、双方邻居up之后,互相发送CSNP报文携带LSDB摘要信息
2、互相发送PSNP向对方请求LSP
3、当收到PSNP,回应LSP,携带完整LSP
4、当收到LSP,再发送PSNP,确认LSP

华为补充机制:P2P网络,邻居up后,立刻进行LSP泛洪,网络正常情况下就直接同步完成,CSNP起到间接确认。
如果CSNP内缺少LSP,按照标准机制再进行请求

MA网络同步需要先选举DIS
1、DIS的作用:同步数据库,充当伪节点
2、DIS的选举:选举优先级越大越优(默认64,可调0~127)
比较MAC地址,越大越优
dis isis peer circuit id表示DIS
int g 0/0/0
isis dis-priority 100 修改DIS的优先级

DR和DIS一些区别
1、DIS支持抢占,DR不支持
2、DIS无备份
3、优先级0参与选举
4、DR选举时间40s,DIS选举时间20s

选举DIS后
1、每台设备邻居up后会泛洪本身LSP(网络正常情况下已经同步)
2、DIS会周期(10s)发送CSNP报文(携带LSP摘要信息)
3、其他路由器收到CSNP报文,对比本身数据库
缺少CSNP内的LSP,则发送PSNP报文进行请求
本身有的LSP,CSNP报文内没有,则发送本身LSP
4、所有路由器都会收到PSNP报文,只有DIS收到PSNP报文后,会进行回复LSP
5、DIS继续周期发送CSNP

Q:如果丢失CSNP报文,是否会影响数据库同步?
不影响,下一个CSNP报文周期发送时再进行更新。

MA网络中没有PSNP报文确认,周期发送保证数据库完整

若收到的LSP比本地LSP的更优,或者本地没有收到的LSP:
MA网络直接加入数据库,并且组播发送
P2P网络直接加入数据库,回复PSNP确认,并且组播发送

八、ISIS路由计算
L1区域数据库内不包含L2区域路由信息,如果需要访问L2,通过L1-2路由器下发ATT置位 LSP生成默认路由
L1-2设备ATT置位的条件:
1、本路由器必须L1-2路由器
2、存在L1和L2的邻居关系
3、L1和L2邻居的Area ID必须不同

L1收到ATT置位的LSP,指向L1-2设备
收到多条会比较开销,选择开销较小一端,如果开销一致则负载

通过默认路由访问可能出现次优路径问题,无L2明细路由,只能通过区域内SPT树判断哪个选择L1-2
解决方式——路由渗透,L1-2设备下将L2区域明细路由发送L1内
isis
import-route isis level-2 into level-1

多个设备都需要配置渗透,实际配置时,通常过滤路由时会关联策略防止无用路由全部发送给L1区域

渗透可能引发环路以及次优问题,内部优先级

先比较外部优先级,内部优先级,开销
R2同时收到两条路由去往R5,分别为L1和L2路由(L1路由优于L2)选择L1,下一跳为R3走L1区域访问R5,R2作为L1-2设备,默认把L1区域路由引入L2数据库(进程内隐含import-route isis level-1 into level-2 ),引回L2区域,R5重复接收到192.168.1.0/24路由,下一跳R2,出现环路问题

解决次优和环路:up/down位
默认情况下,路由置为up位,当渗透引入的路由,自动置为down位,当设备收到down的路由,
执行优先级降为最低(同时up/down路由优先使用up路由),并且不再渗透回L2区域

Q:为什么不直接接收不计算?
当R2和R1的链路故障(收不到up的路由),可以通过down的路由进行访问

九、外部路由引入
引入时默认只在L2区域下产生,后面添加参数level-1
如果R3上引入静态并且添加Level-1关键字后,R1如何去访问R3的。

ISIS和OSPF本身为链路状态协议,外部路由的传递都是距离矢量的方式

十、认证
作用:提高网络安全性,防止非法用户接入网络
分为三种认证方式,可以对不同报文进行认证,同时配置多种认证不冲突(认证报文不同)
接口认证:在接口视图下配置,对Level-1和Level-2的Hello报文进行认证。
interface g 0/0/0
isis authentication-mode md5 cipher 123
区域认证:在IS-IS进程视图下配置,对Level-1的CSNP、PSNP和LSP报文进行认证。
isis 1
area-authentication-mode md5 cipher 123
路由域认证:在IS-IS进程视图下配置,对Level-2的CSNP、PSNP和LSP报文进行认证。
isis 1
domain-authentication-mode md5 cipher 123
通过TLV 10携带认证的字段

对比OSPF和ISIS的认证
1、ISIS可以对不同报文做认证,OSPF每个报文认证
2、OSPF只支持双向认证,ISIS可以通过配置实现单向认证

9.路由控制

一、作用
1、通过对路由信息或者数据包进行过滤,实现控制网络流量的可达性。
2、通过对路由信息或者数据包转发路径进行修改,调整网络流量路径,提高链路带宽利用率。

二、路由策略和策略路由区别?
1、路由策略(控制平面):对路由信息进行匹配,进行过滤或修改,使得路由表发生改变,从而影响数据转发路径
2、策略路由(转发平面):对数据包进行匹配,对特定数据包进行策略制定,数据包就按照策略进行转发,优于路由表,从而影响数据转发路径

三、路由选择工具

1、ACL访问控制列表
作用:用来匹配数据包或者路由信息,能使用在策略路由或路由策略
缺点:ACL只能匹配路由前缀,不能匹配网络掩码

一条ACL匹配1.1.1.0/24、1.1.1.0/25、1.1.1.0/26怎么写,单独匹配其中一条呢?
1.1.1.0 0.0.0.255

通配符掩码(反掩码):
“0”表示“匹配”;“1”表示“无需匹配”
0.0.0.0:表示32位严格匹配,用于精确匹配某个IP地址
255.255.255.255,表示匹配所有IP地址

ACL分类
1、基本ACL:2000~2999,匹配源IP地址
2、高级ACL:3000~3999,匹配五元组等
3、二层ACL:4000~4999,匹配源目MAC地址

匹配机制
1、精确匹配:深度优先,越精确越优先,匹配IP,反掩码的0位数越长越优
2、顺序匹配:按照序列号由小到大进行匹配,一旦匹配到一条规则后就不再匹配,如果没有命中,默认放行

路由策略默认拒绝,策略路由默认允许

[AR5]acl 2000 match-order ?
auto Auto order 精确匹配
config Config order 顺序匹配

*举例1:
允许10.1.1.0/24网段通过,除了10.1.1.1/24。

顺序匹配
acl 2000
rule 5 deny source 10.1.1.1 0
rule 10 permit source 10.1.1.0 0.0.0.255

精确匹配
acl 2000 match-order auto
rule 10 permit source 10.1.1.0 0.0.0.255
rule 15 deny source 10.1.1.1 0

*举例2:
192.168.1.0/24 00000 001
192.168.2.0/24 00000 010
192.168.3.0/24 00000 011
192.168.4.0/24 00000 100
00000 111 0.0.7.0

Q:只允许192.168.2.0通过
方法一:
acl number 2001
rule 5 permit source 192.168.2.0 0.0.0.255
rule 10 deny

方法二:
acl number 2002
rule 5 permit source 192.168.2.0 0.0.0.255
rule 10 deny source 192.168.0.0 0.0.7.0

*举例3:
per s 192.168.123.11 0.0.5.0 匹配到了哪些IP地址?

192.168.122.11
192.168.123.11
192.168.126.11
192.168.127.11

*举例4:
192.168.1.1/24 0000000 1
192.168.2.1/24 00000 01 0
192.168.3.1/24 0000001 1
192.168.4.1/24 00000 10 0
192.168.5.1/24 0000010 1
192.168.6.1/24 00000 11 0
192.168.7.1/24 0000011 1

Q1:使用ACL分别匹配奇数和偶数?
奇数:192.168.1.1 0.0.6.0
偶数:192.168.0.1 0.0.6.0

Q2:如果是匹配1-255中的奇数和偶数呢?
奇数:192.168.1.1 0.0.254.0
偶数:192.168.0.1 0.0.254.0

2、ip-prefix list 前缀列表
作用:同时匹配前缀和掩码
只能匹配路由信息,只能应用在路由策略

ip ip-prefix test index 10 permit 192.168.1.0 22 greater-equal 24 less-equal 26

名称  序号	       动作     匹配项		掩码

greater-equal大于等于
less-equal小于等于

permit 192.168.1.0 22 22表示前22位必须一致,以及掩码长度
greater-equal 24 less-equal 26相当于 24<=掩码<=26
greater-equal 24必须比前一个数值大,否则报错

*举例1:使用一条前缀列表匹配下面路由
192.168.1.0/24 00000 001
192.168.2.0/25 00000 010
192.168.3.0/26 00000 011
192.168.4.0/27 00000 100

ip ip-prefix test index 10 permit 192.168.0.0 21 greater-equal 24 less-equal 27

特殊地址:
默认路由:ip ip-prefix huawei permit 0.0.0.0 0
所有路由:ip ip-prefix huawei permit 0.0.0.0 0 less 32
所有主机路由(掩码为32位)ip ip-prefix huawei permit 0.0.0.0 0 greater 32

四、路由策略工具
1、filter-policy:能够对接收、发布、引入的路由进行过滤,可应用于IS-IS、OSPF、BGP等协议。
import方向:路由的接收
export方向:路由的发布或引入

Filter-Policy在距离矢量路由协议中的应用

举例1:在R8上只存在偶数路由,通过配置filter-policy过滤奇数路由
匹配路由
acl number 2000
rule 5 deny source 172.16.1.0 0.0.2.0
rule 10 permit

R7的出方向调用
bgp 100
filter-policy 2000 export //对所有邻居生效
peer 78.1.1.8 filter-policy 2000 export //对某个邻居生效

R8的入方向调用
bgp 100
filter-policy 2000 import

举例2:在R8上只存在奇数路由,通过配置filter-policy过滤偶数路由
匹配路由
acl number 2000
rule 5 deny source 172.16.0.0 0.0.2.0
rule 10 permit

Filter-Policy在链路状态路由协议中的应用
import方向:路由无法进入路由表,LSA能够正常传递给邻居
export方向:应用在引入外部路由时过滤

举例3:R1针对R5发过来50.1.1.1(ospf内部传递)执行过滤
acl number 2000
rule 5 deny source 50.1.1.1 0
rule 10 permit
ospf 1 router-id 1.1.1.1
filter-policy 2000 export

举例4:R5引入直连时过滤50.1.1.1(使用前缀列表)
ip ip-prefix 50 index 10 deny 50.1.1.1 32
ip ip-prefix 50 index 20 permit 0.0.0.0 0 less-equal 32
ospf 1
filter-policy ip-prefix 50 export
import-route direct //也可以是其他协议如静态,OSPF等

2、route-policy 路由策略工具

  1. 由多个node节点构成,需要手工配置,每个节点内多个条件语句(if-match),多个执行语句(apply)构成
  2. 每个节点内的条件语句、执行语句都是与关系,多条必须同时匹配,同时匹配后同时修改
  3. 节点之间的关系为“或”根据节点编号大小从小到大顺序执行,匹配中一个节点将不会继续向下匹配。默认拒绝

示例:
(1)route-policy huawei permit node 10
if-match acl 2000 //同意ACL 2000的规则制定,不做任何修改

(2)route-policy test permit node 10
apply cost 10 //所有的路由cost都为10

(3)route-policy huawei permit node 10
if-match acl 2000
apply cost 10 //针对ACL 2000的路由改开销值为10

(4)route-policy huawei permit node 20 (空语句,表示允许所有通过)

举例5:R1访问R4的40.1.1.1下一跳是R2(原本是负载)
修改外部开销值
ip ip-prefix 40 index 10 permit 40.1.1.1 32
route-policy 40 permit node 10
if-match ip-prefix 40
apply cost 10
ospf 1 router-id 3.3.3.3
import-route isis 1 route-policy 40

修改开销类型
ip ip-prefix 40 index 10 permit 40.1.1.1 32
route-policy 40 permit node 10
if-match ip-prefix 40
apply cost-type type-1
ospf 1 router-id 2.2.2.2
import-route isis 1 route-policy 40

五、策略路由工具(针对数据包进行过滤或者修改)
背景:传统路由方式,无法实现灵活选路
策略路由:根据一些元素(源目IP、源目MAC等)匹配数据包,制定策略,收到数据包按照策略转发
策略优于路由表

特点

  1. 由多个node节点构成,需要手工配置,每个节点内多个条件语句(if-match),多个执行语句(apply)构成
  2. 每个节点内的条件语句、执行语句都是与关系,多条必须同时匹配,同时匹配后同时修改
  3. 节点之间的关系为“或”根据节点编号大小从小到大顺序执行,匹配中一个节点将不会继续向下匹配。默认拒绝

分类
1、接口PBR:针对转发流量生效,对于本地始发流量无效,接口上配置
2、本地PBR:仅对于本地始发流量
3、智能策略路由:通过关联NQA(网络质量检测,检测网络参数,比如丢包率、联通性、时延等),当某个参数满足切换条件,智能切换路径。

应用场景:
1、引流实现安全检查等功能
2、在出口设备的内网接口配置PBR,匹配来自内网的流量,为其指定不同的下一跳公网地址。实现负载分担。

1、本地策略路由PBR(policy-base-route)

举例6:R1配置策略路由实现R1的lo0访问R4的lo0、lo40时,分别走R2、R3(原本是负载)
acl number 3000
rule 5 permit ip source 1.1.1.1 0 destination 4.4.4.4 0
acl number 3001
rule 5 permit ip source 1.1.1.1 0 destination 40.1.1.1 0
policy-based-route 1 permit node 10
if-match acl 3000
apply output-interface GigabitEthernet0/0/0
policy-based-route 1 permit node 20
if-match acl 3001
ip local policy-based-route 1 调用本地策略路由

2、MQC介绍
模块化的QoS命令行
分为三部分:流分类、流行为、流策略
流分类:抓取感兴趣的流量
流行为:定义流量的动作,常用于接口PBR,制定下一跳或出接口
流策略:流分类和流行为绑定,应用在接口、VLAN、全局

举例7:R1配置策略路由实现R5的lo50、lo51访问R4的lo0、lo40分别走R2、R3(原本是负载)
acl name lo51-lo40 3998
rule 5 permit ip source 51.1.1.1 0 destination 40.1.1.1 0
acl name lo50-lo0 3999
rule 5 permit ip source 50.1.1.1 0 destination 4.4.4.4 0

traffic classifier lo51-lo40 operator or //默认匹配语句为or或,可修改为and与
if-match acl lo51-lo40
traffic classifier lo50-lo0 operator or
if-match acl lo50-lo0
traffic behavior lo51-lo40
redirect ip-nexthop 13.1.1.3
traffic behavior lo50-lo0
redirect ip-nexthop 12.1.1.2

traffic policy test
classifier lo50-lo0 behavior lo50-lo0
classifier lo51-lo40 behavior lo51-lo40

interface GigabitEthernet0/0/2
traffic-policy test inbound

3、流量过滤
部署:来回路径的出入接口均可配置

举例8:配置流量过滤(traffic-filter、MQC)R5的lo0无法访问R4的lo0
Traffic-Filter配置
acl name lo50-lo0 3999
rule 10 deny ip source 50.1.1.1 0 destination 4.4.4.4 0 //策略路由内deny表示拒绝
int G 0/0/2
traffic-filter inbound acl name lo50-lo0

MQC配置
acl name lo50-lo0 3999
rule 15 permit ip source 50.1.1.1 0 destination 4.4.4.4 0
traffic classifier lo50-lo0 operator or
if-match acl lo50-lo0
traffic behavior lo50-lo0
deny
traffic policy test2
classifier lo50-lo0 behavior lo50-lo0
interface GigabitEthernet0/0/2
traffic-policy test2 inbound

display traffic-filter applied-record
display traffic-policy applied-record

举例9:双点双向

⦁ 协议优先级小的路由协议向优先级大的路由协议引入路由不会产生环路问题(如果R5 Network宣告则不会出现环路)
⦁ R4从ISIS和OSPF都收到R3 loop的路由,选择优先级小的ISIS

⦁ 协议优先级大的向优先级小的路由引入会产生次优和环路问题
次优路径:a、经过设备多处理时延更长 b、经过链路数量多开销更大 c、跨越了不同的协议
⦁ R5引入loop,同时修改cost为2,R1传给R2和R4,为了让R3访问R5的loop,R2将OSPF引入ISIS,R4又从R3收到R5 loop的路由
⦁ R4收到两条R5 loop的路由,一条从ISIS学习,一条从OSPF学习,选择开销小的ISIS,出现次优路径,R4=>R3=>R2=>R1=>R5
⦁ 同时为了R1/R5能访问R3,R4将ISIS的路由引入OSPF,cost默认为1。
⦁ R1收到两条描述R5 loop的外部路由,开销类型相同,比较开销值选择R4做为下一跳,出现环路:R1=>R4=>R3=>R2=>R1

⦁ 通过路由策略修改协议优先级解决环路和次优(或过滤路由)
⦁ 在R2和R4上修改R1发来外部路由的优先级,修改为14,R4同时从R1和R3收到路由,选择优先级更小的OSPF,R4也不会再将路由引回OSPF(路由表没有表项不会引回),网络稳定时次优和环路解决。
方式1——过滤路由解决环路问题(以R4为例)
acl number 2000
rule 10 deny source 5.5.5.5 0
rule 15 permit
route-policy 5 permit node 10
if-match acl 2000
ospf 1
filter-policy route-policy 5 import

方式2——修改优先级解决环路问题(以R4为例)
ospf 1
import-route direct cost 2 tag 1000 //在R5上引入时打上Tag
route-policy pre permit node 10
if-match tag 1000
ospf 1 router-id 3.3.3.3
import-route isis 1
preference ase route-policy pre 14

⦁ 网络收敛速度不能保证稳定,有可能出现环路问题。
⦁ R5撤销loop,将Age置为3600s发送给R1,R1删除路由,将撤销路由路由发给R2和R4,R4收到后撤销路由条目,同时使用
从ISIS收到的路由,并传递给R1,R1访问loop下一跳为R4。
⦁ 由于某些原因,比如拥塞、丢包。R2没有收到撤销路由或者收晚了,R2依然为访问loop下一跳为R1。
⦁ 当R4访问loop时,R4=>R3=>R2=>R1=>R4,环路产生。

⦁ 顺时针方向和逆时针方向各2个tag一共4个tag防止路由回灌。
⦁ R2将OSPF引入ISIS时,deny tag 200、per tag 100,当R4将ISIS引入OSPF时,deny tag 100、per tag 200
这样R1不会从R4收到R5的loop路由条目。R4不会将OSPF路由从ISIS回灌,R2也不会将ISIS路由从OSPF回灌。
⦁ 同理逆时针方向也使用两个tag,R2将ISIS引入OSPF时,deny tag 400、per tag 300,当R4将OSPF引入ISIS时deny tag 300、per tag 400。
R2的配置-OSPF引入到ISIS
Route-policy o2i deny node 10
If-match tag 200
Route-policy o2i permit node 10
Apply tag 100
isis
import-route ospf 1 route-policy o2i
ISIS引入到OSPF
Route-policy i2o deny node 10
If-match tag 400
Route-policy i2o permit node 10
Apply tag 300

R3的配置-OSPF引入到ISIS
Route-policy i2o deny node 10
If-match tag 100
Route-policy i2o permit node 10
Apply tag 200
ospf 1
import-route isis 1 route-policy i2o
ISIS引入到OSPF
Route-policy o2i deny node 10
If-match tag 300
Route-policy o2i permit node 10
Apply tag 400
isis
import-route ospf 1 route-policy o2i

BGP 边界网关协议

一、协议概述
1、协议分类
工作范围:EGP,AS之间
算法:距离矢量
是否携带掩码:无类

2、AS号
两字节AS:165535,公有164511,私有64512~65535
四字节AS:2^32
每台设备只能有一个AS号,创建BGP时设置bgp 400

3、IGP和EGP之间区别
IGP:主要用于AS内部发现和计算路由
BGP:主要用于AS之间传递和控制路由

4、BGP应用场景
企业分部之间通过BGP互联、企业和运营商之间对接

二、BGP的特点
1、BGP使用TCP作为其传输层协议(端口号为179)
2、使用触发式路由更新,而不是周期性路由更新。
BGP能够承载大批量的路由信息,能够支撑大规模网络。
3、BGP提供了丰富的路由策略,能够灵活的进行路由选路,并能指导对等体按策略发布路由。
4、BGP能够支撑MPLS/VPN的应用,传递客户VPN路由。
5、BGP提供了路由聚合和路由衰减功能用于防止路由振荡,通过这两项功能有效地提高了网络稳定性。
6、支持认证
7、支持跨跳建立BGP邻居,本身没有发现能力需要手工peer

三、BGP的邻居建立
EBGP:所属AS号不同
1、使用直连接口建立(通常情况)
bgp 400
router id 7.7.7.7 //选举规则同OSPF、ISIS
peer 17.1.1.1 as-number 200 //指定对方AS号
bgp 200
peer 17.1.1.7 as-number 400

display bgp peer //检查邻居关系,显示Established表示邻居建立完成
display bgp routing-table //协议路由表

2、使用loopback接口建立邻居(冗余链路)

双方loopback必须可达,通常通过静态路由实现
ip route-static 6.6.6.6 255.255.255.255 46.1.1.6
ip route-static 6.6.6.6 255.255.255.255 46.10.10.6

bgp 200
peer 6.6.6.6 as-number 300
peer 6.6.6.6 ebgp-max-hop 255 //指定EBGP发包TTL值,默认为1
peer 6.6.6.6 connect-interface LoopBack0 //指定发包源地址,没有指定使用最近的物理接口,对方收到后对 比peer地址不同,则丢包

IBGP:所属AS号相同
其他不同:路由传递,防环规则,选路等
1、使用loopback接口建立邻居(常用方式):链路发生故障,当IGP收敛完成后可以重新互访,保证冗余
双方loopback必须可达,通常通过IGP实现

双方peer对方的loop接口,并且指定更新源
bgp 200
peer 1.1.1.1 as-number 200
peer 1.1.1.1 connect-interface LoopBack0
不需要修改TTL值,IBGP邻居默认255
2、IBGP也可以使用直连接口建立

四、BGP报文
通用报头+报文内容

通用报头
Marker:16Byte,用于标明BGP报文边界,所有bit均为“1”,Keychain认证会携带密钥
Length:2Byte,BGP报文总长度(包括报文头在内),以Byte为单位。
Type:1Byte,BGP报文的类型。其取值从1到5,分别表示Open、Update、Notification、Keepalive和Route-refresh 报文。

1、Open:用于协商对等体参数(无发现和维护的功能)
Version:BGP的版本号。对于BGP 4来说,其值为4。
My AS(autonomous system):本地AS号。通过比较两端的AS号可以判断对端是否和本端处于相同AS。
对比收到Open报文内和本身peer配置的相同
Hold Time:保持时间。在建立对等体关系时两端要协商Hold Time,并保持一致。如果在这个时间内未收到对端发来的 Keepalive报文或Update报文,则认为BGP连接中断。
如果老化时间为0s表示不需要维护,保留Keepalive确认机制,无维护机制
BGP Identifier:BGP标识符,以IP地址的形式表示,用来识别BGP路由器。
必须不一致
可选能力:
多协议扩展:AFI和SAFI用来表示支持的地址簇,如IPv4单播等 要求一致
路由刷新:能否处理路由刷新报文 不要求一致
4字节AS号:支持4AS,对于不支持设备也有兼容方式 不要求一致
PS:华为设备默认IPv4单播、路由刷新、4字节AS开启,其他可选能力需要协商

2、Update:携带路由信息,更新或者撤销路由
更新路由时携带NLRI(前缀和掩码)、PA(路径属性)
撤销路由时携带Withdrawn Routes(前缀和掩码)、无路径属性(误删除)
PS:一个Update报文可以通告具有相同路径属性的多条路由,路径属性不同则分多个update报文携带

3、Notification:差错报文,通告差错原因,收到后立刻断开邻居关系
4、Keepalive:维护报文,邻居建立时确认Open,邻居建立后保持连接周期发送(60s,老化180s)
5、Route-refresh:手工触发,触发后向邻居发送路由刷新报文,邻居收到后重新发送update报文携带路由信息,让路由策略生效。
refresh bgp all import 向邻居发送路由刷新报文,邻居收到后重新发送update报文携带路由信息使入方向策略生效
refresh bgp all export 直接发送update报文给邻居,出方向策略生效

五、BGP邻居状态机
idle空闲:拒绝邻居发来的TCP连接请求,start事件后进行TCP连接处理
start事件:peer某个邻居,管理员重置BGP进程
收到start事件后,查找路由,向邻居发送TCP连接请求,并且跳转connect状态

停留idle状态:缺少邻居路由,任意状态下收到差错报文都会跳转回idle状态,双方都只有默认路由无法发送TCP连接

connect连接:启动定时器,等待TCP完成连接,认证也是在该状态下进行
1、如果TCP连接成功,那么BGP向对等体发送Open报文,并转至OpenSent状态。
2、如果TCP连接失败,收到TCP RST置位,那么BGP转至Active状态。
3、如果连接重传定时器超时,BGP仍没有收到BGP对等体的响应,那么BGP继续尝试和其它BGP对等体进行TCP连接,停留在Connect状态。
停留connect状态:过滤,单通故障(对方没有任何应答),认证

Active活跃:TCP连接没建立成功,反复尝试TCP连接
1、如果TCP连接成功,那么BGP向对等体发送Open报文,关闭连接重传定时器,并转至OpenSent状态。
2、如果TCP连接失败,那么BGP停留在Active状态。
3、如果连接重传定时器超时,BGP仍没有收到BGP对等体的响应,那么BGP转至Connect状态。
停留Active状态:通常配置错误,使用环回接口建立邻居,没有指定更新源
peer的地址错误,邻居没有配置peer

OpenSent:已发送open,协商收到的open报文
1、如果收到的Open报文正确,那么BGP发送Keepalive报文,并转至OpenConfirm状态。
2、如果发现收到的Open报文有错误,那么BGP发送Notification报文给对等体,并转至Idle状态。

OpenConfirm:协商通过并且已经发送keepalive报文确认对方合法,等待对方发送keepalive报文
1、如果收到Keepalive报文,则转至Established状态
2、如果收到Notification报文,则转至Idle状态。
3、超时等待5s,发送Notification报文,则转至Idle状态。

Established:邻居建立完成,开始交互update报文更新路由信息。

六、BGP路由生成方式
1、network:精确引入,优于import
注意:宣告路由必须路由表中存在、并且前缀和掩码必须一致
显示为“i”表示是network产生

2、import:范围引入,引入路由协议路由(OSPF,直连,静态等)
显示为“?”表示是import产生

network路由经过网络管理员筛选,可信度较高,同时network和import优选network传递给邻居

七、通告原则
1、只发布最优且有效路由。
有效(*):下一跳必须可达
路由前缀和下一跳一致,下一跳会变为不可达(已经通过IGP学习,BGP的该路由无效)
最优(>):根据选路原则选出的路由

2、从EBGP对等体获取的路由,会发布给所有对等体。
如果传递给EBGP邻居,下一跳会修改为更新源地址
如果传递给IBGP邻居,下一跳不会改变。

Q1:为什么发送IBGP邻居下一跳不改变?发给EBGP邻居下一跳改变?
防止次优路径,防止下一跳不可达

Q2:发送IBGP邻居,路由下一跳不改变,导致路由无效(下一跳不可达)怎么解决?
通过IGP协议(接口激活OSPF、引入直连)或者静态路由使下一跳可达
R1上配置
route-policy 15 permit node 10
if-match ip-prefix 15
ip ip-prefix 15 index 10 permit 15.1.1.0 24
ospf 1 router-id 1.1.1.1
import-route direct route-policy 15

[R3]ip route-static 15.1.1.0 255.255.255.0 GigabitEthernet0/0/1 13.1.1.1
修改下一跳使下一跳可达

特殊情况下发送EBGP邻居下一跳也不修改:如果发送给EBGP修改的下一跳和原本路由处于同一网段则不修改

3、IBGP水平分割:从IBGP对等体获取的最优路由,不会发送给其他IBGP对等体。AS内防环
没有水平分割造成的问题:存在环路隐患或者环路、路由误删除

IBGP水平分割会造成路由无法正常传递
全互联——BGP会话增加
反射器——打破水平分割传递路由,增加两个路径属性用来防止环路(起源者ID、簇列表)
联盟——打破水平分割传递路由,内部划分子AS,IBGP邻居变为EBGP邻居关系(增加AS-Path类型防环)
R2的配置
bgp 200
peer 1.1.1.1 reflect-client
peer 4.4.4.4 reflect-client

4、开启了同步必须满足同步的条件
BGP同步规则指的是:当一台路由器从自己的IBGP对等体学习到一条BGP路由时(这类路由被称为IBGP路由),它将不能使用该条路由或把这条路由通告给自己的EBGP对等体,除非它又从IGP协议(例如OSPF等,此处也包含静态路由)学习到这条路由,也就是要求IBGP路由与IGP路由同步。同步规则主要用于规避BGP路由黑洞问题。

路由黑洞:由于中间设备没有开启BGP,收到DIP是BGP的路由时,查路由表无表项丢包

同步可以防止路由黑洞产生,但是无法解决根本问题

解决路由黑洞:
1、数据经过的所有路径上开启BGP(全互联——BGP会话增加)
2、引入BGP路由到IGP内
R1配置(AS边界设备)
ip prefix 5 permit 5.5.5.5 32
route-policy 5 permit node 10
if-match ip-prefix 5
route-policy 5 deny node 20
ospf
import bgp route-policy 5 //引入BGP路由时关联策略防止全部引入导致设备压力过大

同步现华为设备均无法开启

10.路径属性

1、作用:用于选路、防环等

2、分类:
公认必遵:每个BGP路由器都能识别,并且传递路由时必须携带Update报文内
origin:起源,说明路由的生成,选路
as-path:AS路径,记录BGP路由经过AS,AS间防环,选路
next-hop:下一跳,用于指导BGP路由转发,提供方向,具体访问可能需要迭代

公认任意:每个BGP路由器都能识别,传递路由可以不携带Update报文内
Local_Preference:本地优先级,选路
Atomic_aggregate:原子聚合,BGP路由聚合时产生,用于管理员提醒

可选过渡:每个BGP路由器可以识别或者不识别,如果不识别也传递给邻居
Aggregator:聚合者,标识聚合发生AS号以及Router ID
Community:团体属性,基本团体(公有-限制路由传递范围、私有-tag(自定义))、扩展团体(RT、SoO)

可选非过渡:每个BGP路由器可以识别或者不识别,如果不识别不传递给邻居
MED:多出口鉴别器,选路
Cluster-List:簇列表,反射器簇间防环
Originator-ID:起源者ID,反射器簇内防环

Q:设备如何判断属性属于哪一类呢?
通过属性内的Flag位
O位(可选)、T位(传输)
O=0(公认)、T=1(不识别也要传递给邻居) 公认必遵
O=0(公认)、T=0 公认任意
O=1、T=0 可选非过渡
O=1、T=1 可选过渡

3、AS-Path(AS路径)
记录BGP路由经过AS:每发送EBGP邻居时,将本地AS号添加AS-Path属性内,最左侧
AS间防环:收到路由检查AS-Path,如果包含本身AS号则丢弃路由
选路:优选经过AS号(AS-Path)更短的路由
AS-Path分为4种类型:AS_SEQENCE有序
AS-SET无序(用于汇总路由防环){ }携带明细路由的子AS号,选路时{ }多少个AS号统一算作一个
Confederation-AS_SEQENCE有序
Confederation-AS-SET无序
4、Origin(起源)
标识了BGP路由的起源:network(i)、import(?)
选路:IGP(i) > EGP(e) > Incomplete(?)

5、Next-hop(下一跳)
下一跳信任检查:收到update报文,首先检查路由下一跳是否可达,如果不可达直接置为无效路由。

本身产生BGP路由下一跳是0.0.0.0、汇总路由127.0.0.1
本身产生路由传递给IBGP、EBGP都会修改下一跳为更新源地址
路由器将BGP路由通告给自己的EBGP对等体时,将该路由的Next_Hop设置为自己的更新源IP地址。
路由器在收到EBGP对等体所通告的BGP路由后,在将路由传递给自己的IBGP对等体时,会保持路由的Next_Hop属性值不变。
如果路由器收到某条BGP路由,该路由的Next_Hop属性值与EBGP对等体(更新对象)同属一个网段,那么该条路由的Next_Hop地址将保持不变并传递给它的BGP对等体。

6、Local_Preference(本地优先级)
作用:用于控制离开本AS的最优路径
特点:
a、默认100,越大越优
b、只能在AS内传递,传递给EBGP邻居时会剥离
c、配置路由策略时如果配置EBGP传递路由的入方向,影响范围为整个AS(包括本设备)
配置路由策略时如果配置传递路由给IBGP邻居的出方向,影响范围为整个AS(除了本设备)

路由策略修改
BGP进程下default local-preference //默认打上的LP值

7、Community(团体属性)
作用:用于标记路由(私有)、限制路由传递范围(公有)
传递给邻居时,需要配置 peer 1.1.1.1 advertise-community
格式:AA:NN(AA是AS号、NN是自定义值)、十进制(使用较少)

公有:
Internet:无限制,缺省
No_Advertise:不通告给其他BGP邻居
No_Export:不通告给EBGP邻居,IBGP邻居正常传递
No_Export_Subconfed:不通告给普通EBGP邻居、子AS的EBGP邻居

8、MED(多出口鉴别器)
作用:用于控制进入本AS的最优路径
特点:类似IGP Cost,路由发出时添加,默认为0,越小越优先
在两个AS之间传递,传递给第三个AS时剥离
缺省情况下只比较来自同一相邻AS的BGP路由的MED值(根据AS-Path,最左侧的AS号相同)
compare-different-as-med //强制比较来自不同AS号BGP路由的MED值
通过IGP学习路由(宣告或者引入),传递给EBGP邻居时,会继承路由表内的IGP Cost
通过直连或静态学习MED为0
default med //修改缺省MED值,仅对本身引入或者聚合路由生效

9、Atomic_Aggregate及Aggregator(原子聚合、聚合者)
当配置聚合路由并且抑制明细时携带,Atomic_Aggregate,用于通知管理员该聚合路由丢失路径属性
Aggregator,携带聚合设备Router ID以及AS号,告知聚合设备具体位置

10、Preferred-Value(协议首选值)
作用:控制选路,仅本地有效
范围:0~65535;该值越大,则路由越优先。
传递给其他BGP对等体,不携带该属性,所以修改时只能import生效。

11、反射器
中转AS中的IBGP问题:全互联解决水平分割造成路由不能正常传递的问题,全互联本身存在缺陷(维护大量TCP连接、扩展性差)
角色:
RR(Route Reflector):路由反射器
Client:RR客户端
对于RR客户端来说,不知道RR的存在
RR在接收BGP路由时:
如果路由反射器从自己的非客户对等体学习到一条IBGP路由,则它会将该路由反射给所有客户
如果路由反射器从自己的客户学习到一条IBGP路由,则它会将该路由反射给所有非客户,以及除了该客户之外的其他所有客户
如果路由学习自EBGP对等体,则发送给所有客户、非客户IBGP对等体。
*记忆:非非不传,非客户机之间路由不反射给其他非客户机

发送:路由正常传递
反射:添加两个特殊路径属性用于防止AS内部环路

路由反射簇 (Cluster):客户机和RR的集合,一个AS内允许多个簇存在
Cluster_ID默认为RR的Router ID

两个特殊路径属性:
起源ID:簇内防环
RR将一条BGP路由进行反射时会在反射出去的路由中增加Originator_ID,其值为本地AS中通告该路由的BGP路由器Router ID。
若AS内存在多个RR,则Originator_ID属性由第一个RR创建,并且不被后续的RR(若有)所更改
当BGP路由器收到一条携带Originator_ID属性的IBGP路由,并且Originator_ID属性值与自身的Router ID相同,丢弃路由

簇列表:簇间防环
当一条路由被反射器反射后,该RR(该簇)的Cluster_ID就会被添加至路由的Cluster_list属性中。
当RR收到一条携带Cluster_list属性的BGP路由,且该属性值中包含该簇的Cluster_ID时,RR认为该条路由存在环路,丢弃路由

九、选路原则
丢弃下一跳不可达的路由
1、(P)优选Preferred-Value属性值最大的路由。
2、(L)优选Local_Preference属性值最大的路由。
3、(L)本地始发的BGP路由优于从其他对等体学习到的路由,本地始发的路由优先级:优选手动聚合>自动聚合>network>import>从对等体学到的。
4、(A)优选AS_Path属性值最短的路由。
5、(O)优选Origin属性最优的路由。Origin属性值按优先级从高到低的排列是:IGP、EGP及Incomplete。
6、(M)优选MED属性值最小的路由。
7、(E)优选从EBGP对等体学来的路由(EBGP路由优先级(20)高于IBGP路由(200))。
8、(N)优选到Next_Hop的IGP度量值最小的路由。
前8条一致检查负载分担、多条不同下一跳路由、AS-Path必须一致(经过AS号)
9、优选Cluster_List最短的路由。(经过反射的次数更少)
10、优选Router ID(Orginator_ID)最小的设备通告的路由。
11、优选具有最小IP地址的对等体通告的路由。

前8条:PL LAO MEN 漂亮老男孩

1、进程下修改邻居所有路由的首选值:peer 10.0.3.3 preferred-value 100
策略修改:仅修改邻居部分时使用
ip ip-prefix 45 index 10 permit 10.0.45.0 24 //匹配路由
route-policy PV permit node 10 //创建策略并且关联前缀列表
if-match ip-prefix 45
apply preferred-value 1000 //匹配的路由修改PV值
bgp 200
peer 10.0.3.3 route-policy PV import //对邻居使用,只能入方向使用

2、修改LP
R3的配置
ip ip-prefix local_pref index 10 permit 10.0.45.0 24
route-policy local_pref permit node 10
if-match ip-prefix local_pref
apply local-preference 200
route-policy local_pref permit node 20
bgp 200
peer 10.0.1.1 route-policy local_pref export //可以对R1的出方向或R5的入方向使用

进程下:default local-preference 1000 //所有路由都打上LP值

3、优选本地始发路由(0.0.0.0)

4、修改AS-Path
route-policy AS_Path permit node 10
if-match ip-prefix 45
apply as-path 100 additive //添加AS和本地AS一致 防止环路
bgp 200
peer 10.0.4.4 route-policy AS_Path import

5、修改起源
route-policy ori permit node 10
if-match ip-prefix 45
apply origin egp 100 //修改为EGP(e)
bgp 200
peer 10.0.2.2 route-policy ori import

6、修改MED
[R1]bgp 200
compare-different-as-med //开启比较不同AS的MED值
R2的配置
route-policy med permit node 10
if-match ip-prefix 45
apply cost 20
route-policy med permit node 20
bgp 200
peer 10.0.4.4 route-policy med import

7、模拟验证,R1上引入后比较
ip route-static 10.0.45.0 255.255.255.0 null0
ip ip-prefix ebgp index 10 permit 10.0.45.0 24

route-policy ebgp permit node 10
if-match ip-prefix ebgp
apply as-path 500 additive //增加一个AS号保证第四条选路原则比较失败
route-policy ebgp permit node 20

bgp 200
import-route static
peer 10.0.3.3 route-policy ebgp export

8、修改接口开销影响选路
interface GigabitEthernet0/0/0
ospf cost 10

9、负载分担
bgp 200
maximum load-balancing ibgp 2 //没有添加ibgp/ebgp关键字,则都生效,最多8条负载

⦁ 路由聚合
一、聚合的作用
⦁ 只向对等体发送聚合后的路由,从而缩小路由表规模
⦁ 明细路由如果发生路由振荡,不会对网络造成影响
二、聚合分类:自动聚合和手动聚合
IPv4路由:支持手动/自动聚合
IPv6路由:只支持手动聚合
(自动聚合是聚合为主类网络,IPv6没有主类网段,所以不支持自动聚合)
⦁ 自动聚合:
⦁ 对BGP引入的路由进行有类聚合(按照默认掩码)
⦁ 只向邻居发送聚合路由,抑制明细路由
⦁ 仅对import (?) 的路由进行聚合
Bgp进程内:summary automatic //开启自动聚合

  1. 手动聚合:
    ⦁ 对BGP本地路由表中的路由进行聚合(network或import都能够聚合)
    ⦁ 可以多次聚合(再次聚合汇总路由)
    ⦁ 手动聚合可以控制聚合路由的属性,以及决定是否发布明细路由。
    ⦁ 抑制所有明细路由或根据策略抑制部分路由
    ⦁ 聚合路由不会携带成员明细路由的AS_PATH属性,通过AS_SET属性来携带AS号,以避免环路。
    [R2-bgp]aggregate 192.168.1.0 255.255.255.248 ?
    ⦁ detail-suppressed:将所有明细路由抑制,默认不抑制
    ⦁ as-set:继承明细路由的AS属性防止环路,BGP路由表用{ }存放明细路由AS号,AS号排序无意
    ⦁ attribute-policy:修改聚合路由的路径属性,配合route-policy修改
    ⦁ origin-policy:根据条件的产生聚合路由,配合route-policy(匹配明细路由,只有匹配的明细路由存在时才会进行产生聚合路由)希望进行汇总的明细路由
    ⦁ suppress-policy:将匹配(permit)中的明细路由抑制,与detail-suppressed互斥,配合route-policy修改

默认情况下手动聚合会丢失明细路由的AS_Path属性,如果聚合路由再次被聚合并传回会导致环路产生
Origin继承最差、Community继承、LP,MED,next-hop不继承、as-path不继承
解决:aggregate 100.100.0.0 255.255.252.0 as-set detail-suppressed
携带AS_SET,聚合路由会记录明细路由所经过的AS号,选路规则计算时只按一个长度计算

1、AS30汇总了24位路由到AS10、AS40发送4条明细给AS10
2、AS10将24位汇总路由和4条明细再次汇总会16位路由 发给AS20会丢弃明细路由的AS号,16位汇总路由只携带AS10
3、AS30从AS20收到16的汇总路由,其中AS号包含10、20,AS30能够正常接收并且下一跳AS 20
4、AS30访问10.1.1.9,没有明细路由匹配到16位汇总路由,发送给AS20,AS20在发送给AS10,AS10也没有明细路由,匹配到AS30发来的24位汇总,出现环路
5、汇总时带上AS-Set参数,AS10的汇总的路由无序的携带AS30,40。AS20传递给AS30时,AS30检查无序的AS号内包含本身的AS号则不接收该路由防止环路出现

AS内防环,自动生成黑洞路由

⦁ R1汇总为24位发给R2,R2给R3汇总22位,同时会将汇总也发给R1
⦁ R2访问10.1.1.5时,匹配到24位路由发给R1,R1匹配到22位发给R2,出现环路。
解决:汇总在路由表内产生一条指向Null0的路由,当R2发给R1访问10.1.1.5,R1匹配到null0丢弃数据。

指向Null0的路由在某些场景下会导致无法正常访问——解决:关联策略通告部分明细路由
如果10.1.1.5真实存在,比如R2再连接一个R3,此时汇总时没有发送该明细给R1
R1访问10.1.1.5时,无32位明细,匹配到24位的null0路由,丢弃数据包
解决:R2配置汇总时,关联策略放行10.1.1.5,当R1访问时直接匹配到明细路由。

三、聚合路由添加的属性

  1. 聚合者:用于标示聚合路由产生的AS以及产生者的router id

⦁ 原子聚合属性:手动聚合并且抑制明细之后才会产生,主要用于表示聚合路由丢失了路径属性,用于给管理员提示

猜你喜欢

转载自blog.csdn.net/cy6661/article/details/128605306