本文主要针对HCIE考试对各种技术做一轮复习。
建议读者已经具备其他厂商IE认证,或者具备良好网络基础知识。
本文仅整理重点难点和容易踩坑
的知识,对于基础知识一概不整理。
一、大规模路由应用
1、路由聚合(Aggregation)
- 路由聚合
- 只向对等体发送聚合后的路由,从而缩小路由表规模
- 明细路由如果发生路由振荡,不会对网络造成影响
- 路由聚合分为自动聚合和手动聚合
- 对于IPv4路由,BGP支持
- 手工聚合
- 自动聚合
- 对于IPv6路由,BGP支持
- 手工聚合
1.1、自动聚合
- 对BGP引入的路由进行有类聚合,
按照A类B类C类地址直接汇总
; - 配置聚合后,成员明细路由将被抑制;
- 仅对import引入的路由进行聚合。
bgp 400
summary automatic
1.2、手动聚合
对BGP本地路由表中的路由进行聚合。手动聚合可以控制聚合路由的属性,以及决定是否发布明细路由。
[R3-bgp]aggregate 10.1.0.0 16 ?
as-set Generate the route with AS-SET path-attribute
attribute-policy Set aggregation attributes
detail-suppressed Filter more detail route from updates
origin-policy Filter the originate routes of the aggregate
suppress-policy Filter more detail route from updates through a Routing
policy
<cr>
2、对等体组(Peer Group)
2.1、对等体组(Peer Group)是一些具有某些相同策略的对等体的集合。
此功能可以简化BGP的配置,同时减少路由性能损耗。
2.2、按组打包
按组打包技术将所有拥有共同出口策略的BGP邻居当作是一个打包组
每条待发送路由只被打包一次然后发给组内的所有邻居
dis bgp update-peer-group
3、团体属性(Community )
团体属性用于标识具有相同特征的BGP 路由,该属性为可选过渡
团体属性分为:
- 自定义团体属性
- 公认团体属性
- Internet
- No_Advertise(不传递)
- No_Export(仅在AS内传递)
- No_Export_Subconfed(仅在联盟内传递)
注意,如果使用Community需要开启向邻居传递communiyt属性
peer 1.1.1.1 advertise-community
[R3]route-policy AAA per no 10
[R3-route-policy]apply community ?
INTEGER<0-4294967295> Specify community number
STRING<3-11> Specify aa<0-65535>:nn<0-65535>
internet Internet(well-known community attributes)
no-advertise Do not advertise to any peer (well-known community attributes)
no-export Do not export to external peers(well-known community attributes)
no-export-subconfed Do not send outside a sub-confederation(well-known community attributes)
none No community attribute
4、路由反射(Route Reflection )
路由反射器的防环机制
Originator_ID属性
- 该属性为可选非过渡;
- 用于集群内的防环;
- 由路由反射器(RR)产生,携带了本地AS内该路由发送者的Router ID。
Cluster_List属性
- 该属性为可选非过渡;
- 用于集群间的防环;
- 由每个路由反射器(RR)产生,记录反射路由经过的集群。
5、BGP联盟(Confederations )
基本用不到
联盟的防环机制
AS_CONFED_SEQUENCE
AS_CONFED_SET
二、扩展特性
1、安全特性
- MD5
- OPEN和Keelalive报文写到TCP认证字段
- GTSM
- 限制从对等体接收的路由数量
- AS_Path长度保护
2、路由衰减
• 路由衰减(Route Dampening)用来解决路由不稳定的问题。多数情况下,BGP协议都应用于复杂的网络环境中,路由变化十分频繁。为了防止持续的路由振荡带来的不利影响,BGP使用路由衰减来抑制不稳定的路由。
• BGP衰减使用惩罚值(Penalty Value)来衡量一条路由的稳定性,惩罚值越高则说明路由越不稳定。路由每发生一次振荡(路由从激活状态变为未激活状态,称为一次路由振荡),BGP便会给此路由增加一定的惩罚值(1000)。当惩罚值超过抑制阈值(Suppress Value)时,此路由被抑制,不加入到路由表中,也不再向其他BGP对等体发布更新报文。
• 当某条路由的惩罚值到达最大抑制值(Maximum Suppress Value),便不会再增加,这样就可以确保某路由在非常短的时间内翻动十几次之后,不会将惩罚值累加到一个很高的、使路由始终保持被抑制状态的值。
• 被抑制的路由每经过一段时间,惩罚值便会减少一半,这个时间称为半衰期(Half-life)。当惩罚值降到再使用阈值(Reuse Value)时,此路由变为可用并被加入到路由表中,同时向其他BGP对等体发布更新报文。上文提到的惩罚值、抑制阈值和半衰期都可以手动配置。
• 路由衰减只适用于EBGP路由。对于从IBGP收来的路由不能进行衰减,因为IBGP路由经常含有本AS的路由,内部网络路由要求转发表尽可能一致。如果衰减对IBGP路由起作用,不同设备的衰减参数不一致时,会导致转发表不一致。
3、ORF
BGP基于前缀的ORF( Outbound Route Filtering )功能:
- 基于本地的入口策略构建对端的出口策略,实现BGP按需发布路由;
- 包括基于前缀的ORF和VPN ORF。
4、Active-Route-Advertise
只有当BGP路由被成功的安装进IP或IPv6路由表,该路由才能被发送给邻居。
5、4字节AS号
- 4字节AS号
- 4字节AS号特性是将AS号的编码范围由2字节扩大为4字节。
- 协议扩展1
- 定义了一种新的Open能力码用于进行BGP连接的能力协商;
- 2种新的可选过渡属性,AS4_Path和AS4_Aggregator属性;
- 定义AS_TRANS(保留值为23456)用于衔接2字节AS和4字节AS。
- 协议扩展2
- 定义了2种新的可选过渡属性AS4_Path(属性码为0x11)和AS4_Aggregator属性(属性码为0x12)用于在Old Session上传递4字节AS信息。
- 如果New Speaker和Old Speaker建立连接,定义AS_TRANS(保留值为23456)用于衔接2字节AS和4字节AS。
- 新的AS号有三种写法:
- splain:就是一个十进制的数字
- asdot+:写成(2字节).(2字节)的形式,所以旧的2字节ASN123可以写成0.123,ASN65536是1.0;最大为65535.65535;
- asdot:旧的2字节写法照旧,新的4字节写成asdot+的形式;(1-65535;1.0-65535.65535)
- 华为支持asdot写法。
按照策略进行吓一跳迭代
如图,如果R2通告到达10.0.0.0/24网段下一跳为2.2.2.2。正常情况下R1会迭代查找2.2.2.2的IGP路由并作为10.0.0.0/24的最终下一跳地址。
但是:
如果R2故障,而且R1上又存在其他2.2.2.0/24的路由,会导致10.0.0.0/24的路由在BGP邻居中断之前会被错误迭代。
以下办法可以限制下一跳迭代,仅允许32位路由下一跳迭代
route-policy NH permit node 10
if-match ip-prefix H
ip ip-prefix H index 10 per 2.2.2.2 32 greater-equal 32 less-equal 32
bgp 100
nexthop recursive-lookup route-policy NH
BGP 通告缺省路由
方式一:直接通告缺省
要求本地路由表里存在缺省,例如static或者ospf有缺省路由
bgp 23456
#
ipv4-family unicast
default-route imported
import-route static
#
方式二:指定peer通告缺省
bgp 23456
peer 1.1.1.1 as-number 200
#
ipv4-family unicast
peer 1.1.1.1 enable
peer 1.1.1.1 default-route-advertise
#
方式三:指定peer通告缺省,并且前提条件本地存在某条指定的路由
bgp 23456
peer 3.3.3.3 as-number 200
#
ipv4-family unicast
peer 3.3.3.3 enable
peer 3.3.3.3 default-route-advertise conditional-route-match-all 1.1.1.0 255.255.255.0
#