【要的转走,莫要客气!】BGP基础知识学习笔记(一)
一
BGP含义
Border Gateway Protocol,边界网关协议,协议优先级为255,目前所使用的版本为v4。
边界网关路由协议,EGP网关协议,适用于大型路由网络结构,以AS为一个节点,每个AS有唯一确定的AS-ID用于标识。
二
BGP版本
① 2006年定义单播IPV4网络MP-BGP
② MP-BGP在IPv6单播网络上的应用称为BGP4+
③ 在IPv4组播网络上的应用称为MBGP(Multicast BGP)
三
BGP分类
① IBGP:
Internal Border Gateway Protocol ,内部边界网关协议,用于在AS内部的BGP协议
② EBGP:
External Border Gateway Protocol,外部边界网关协议,用于在AS之间的BGP协议,默认数据包中的TTL值为1跳,邻居建立使用直连端口建立,通常两个AS之间是不存在IGP路由协议的,所以AS之间使用直连链路建立邻居
四
BGP特性
BGP路由具有以下特点:
① 可靠的路由更新机制
② 丰富的Metric度量方法
③ 从设计上避免了环路的发生
④ 为路由附带属性信息
⑤ 支持CIDR
⑥ 丰富的路由过滤和路由策略
⑦ 支持认证
⑧ 默认不使用附载分担
01
可靠的路由更新机制
BGP使用TCP进行路由更新,保证路由传递的可靠性,源端口号随机,目的端口号为179。
02
丰富的Metric度量方法
BGP使用TCP进行路由更新,保证路由传递的可靠性,源端口号随机,目的端口号为179。
03
从设计上避免了环路
IBGP使用水平分割,EBGP使用AS-Path属性。
04
为路由附带属性信息
路由信息携带不同的BGP路由属性,为BGP选路提供了多种多样的方式。
05
支持CIDR、手动聚合
BGP支持无类域间(CIDR)路由,支持手工汇总和自动汇总。
(1)
自动聚合
默认情况下,自动聚合时关闭的。自动汇总不会自动汇总BGP邻居发送的路由以及使用Network命令通告的路由,只能聚合自身import注入的路由条目。当开启自动聚合后,BGP路由默认会以主类路由进行聚合。此时聚合路由的属性为Aggregate属性
使用以下命令进行自动聚合:
[Huawei-bgp]summary automatic
R1:
Ø [Huawei-bgp]network 1.1.1.1 32
Ø 只引入loo2到loo4
Ø 启用路由聚合
(2)
手动汇总
BGP手动路由聚合时,可以手动控制聚合路由的掩码长度,修改聚合路由属性等,手动路由聚合又有 两种方式:
① network静态路由
② aggregate宣告
③ network静态路由:
首先创建静态路由将网段聚合并指向null0,BGP采用network方式通告出去,由于直连优先级高于静态,优先选择直连的下一跳接口,当直连网段出现问题,匹配静态送往Null0。
在R1上配置静态路由:[Huawei]ip route-static 172.16.0.0 255.255.0.0 NULL 0 preference 254
使用network宣告出去:[Huawei-bgp]network 172.16.0.0 16
④ aggregate宣告:
直接在BGP试图下进行汇总
使用以下命令进行aggregate汇总:
[Huawei-bgp]aggregate 172.16.0.0 255.255.0.0 detail-suppressed
注1: 默认聚合路由只继承Community属性和起源属性(如果明细都为i,则为i,有一个为?,则为?)
注2:默认聚合后的路由不会携带任何的AS-path属性,为了防止环路,如果想要携带AS-path
属性,后面增加命令as-set,此时汇总路由会继承所有明细路由的AS号,为无序的AS号,如果增加了AS-SET之后,聚合路由会将明细路由的AS-Path放入AS-SET属性中,如果明细路由消失或属性修改都会造成聚合路由的抖动增加;如果明细路由的AS-PATH id完全一致,此时聚合路由的AS-PATH类型为AS-Sequence
注3:如果不加detail-suppressed,会将明细路由和汇总路由全部发送出去,使用detail-suppressed命令只通告汇总路由,此时汇总路由的属性为ATOMIC_Aggregate,用于通告下游的路由器成员信息被抑制,此时的汇总路由不会携带Community属性
注4:为了让聚合后的路由继承明细路由的路由属性,聚合命令后面增加attribute-policy 1,此时在定义Route-policy,规划属性值
注5:origin-policy的作用,定义route-policy,当满足if条件中的路由条目时,聚合路由才会生效,如果定义的路由消失,则聚合路由为ATOMIC_Aggregate
注6:suppress-policy的作用是用于过滤掉某些明细路由,定义route-policy,当满足if条件中的路由条目,明细路由就会被过滤掉,如果只抑制了一部分明细路由,属性依旧为Aggregate;如过抑制了全部的明细路由,属性为ATOMIC_Aggregate
注7:同IGP路由手动聚合对比,BGP路由聚合,默认明细汇总都发布,IGP只发布汇总路
由;汇总之后IGP不会自动生成一条指向Null0的路由,而BGP路由汇总之后会自动
生成一条指向Null0的汇总路由
(3)
默认路由发布
在peer对等体的时候,可以使用命令发布默认路由给对端邻居:
[Huawei-bgp]peer 192.168.1.1 default-route-advertise
五
丰富的路由过滤和路由策略
BGP携带了大量的属性信息,并支持13种选路规则。
六
支持认证
BGP支持MD5认证方式,如果是MD5方式,路由器会根据BGP报文的某些字段和密钥计算出一个128bit的散列值,然后将BGP报文连同散列值发送给邻居。邻居路由器收到以后,会在本地基于收到的BGP报文和相同的密钥在进行一次HASH运算。如果计算出的散列值与接收到的散列值相同,则认证通过。
使用以下命令进行密码认证:
[Huawei-bgp]peer 192.168.1.1 password cipher huawei/huawei
七
默认不使用附载分担
BGP默认不使用附载分担,即使存在多条路径也会使用选路规则选出一条“最优路由”将其放入路由表中。
开启附载分担方式:
① 选路规则前9条一模一样(AS ID顺序也一样),可以使用命令maximum load-balancing bgp 进行附载分担,当比较到下一跳的IGP开销值一样时,会进行流量的负载分担
② 当BGP路由中的下一跳地址在IGP路由表中存在附载分担,此时流量会附载分担
③ 使用属性值对多个目标流量对半分流实现附载分担
八
EBGP特性
EBGP默认存在以下特性:
① 在通告给EBGP邻居时会将NEXT_Hop属性设置为自身的接口IP地址
② 将Local_PREF值清空
③ 将MED数值除0
③ 在AS_PATH属性中增加自己的AS-ID
九
扩展性强
BGP扩展性强,在承载多协议路由时,在MP NLRI中增加属性值(TLV)进行扩展。
为了方便广大网络爱好学习者一起学(聚)习(众)交(搞)流(基),特开设华为干货交流群,里面已经上传大量学习资料,欢迎广大网络工程师进群学习!
扫描下方二维码,进群充点儿电吧~
你的好友博妞拍了拍你
并请你帮她点一下“分享”