1.动态路由协议可以按照工作范围分为IGP和EGP。IGP工作在同一个AS内,主要用来发现和计算路由,为AS内提供路由信息的交换;而EGP工作在AS与AS之间,在AS间提供无环路的路由信息交换,BGP则是EGP的一种。
2.BGP是Border Gateway Protocol的简称。
3.BGP是一种增强的路径矢量路由协议,同时BGP是拥有丰富的策略控制技术的外部网关协议。
4.BGP多运行于AS于AS之间。
BGP是一种外部网关协议(EGP),与OSPF、RIP等内部网关协议不同,其着眼点不在于自动发现网络拓扑,而在于在AS之间选择最佳路由和控制路由的传播。
rip
:路由信息通过UDP传递
ospf
路由信息通过IP层传递
可通过telnet 到 route-server.ip.att.net 这台外网的路由器查看bgp的路由条目数
BGP使用TCP作为其传输层协议(监听端口号为179),提高了协议的高可靠性,且不需要专门的机制来确保连接的可控性。
BGP进行域间的路由选择,对协议的稳定性要求非常高,因此用TCP协议的高可靠性来保证BGP协议的稳定性。
BGP的对等体之间必须在逻辑上连通,并进行TCP连接。目的端口为179,本地端口号任意。
路由更新时,BGP只发送更新的路由,大大减少了BGP传播路由所占用的带宽,使用于在Internet上传播大量的路由信息。
BGP通过携带AS路径信息来标记途径的AS
AS之间
:BGP通过携带AS路径信息来标记途径的AS,带有本地AS号的路由将被丢弃,从而避免了域间发生环路。
AS内部
:BGP在AS内学到的路由将不再通告给AS内的BGP邻居,避免了AS内产生环路。
未扩展前
:只支持ipv4 单播路由扩展后
:新增支持ipv4组播、 v4 、 v6路由1.由同一个技术管理机构管理,使用统一选路策略的一些路由器的集合
2.每个自治系统都有唯一的自治系统编号,这个编号是由IANA分配的。
3.自治系统的编号范围是由1到65535(2字节-4字节
),其中1到84511是注册的因特网编号,64512到65535是私有网络编号(BGP网络中AS号码标识)
IBGP
: BGP运行于同一AS内部
EBGP
: BGP运行于不同AS之间
基本前提:因为要建立TCP连接,所以两端的路由器必须知道对方的IP地址,可以通过直连端口,静态路由或者IGP学习。(IBGP一般推荐使用路由器环回口loopback地址,EBGP用端口直连地址)
使用loopback地址时候要注意开启EBGP多跳功能,默认EBGP的TTL值为1
连接一建立,BGP Speaker 将把自己产生的所有BGP路由通告给对等体,多条路径时,BGP speaker只选最优的给自己使用
保证IBGP下一跳可达
AR1把BGP路由信息通告给AR2,默认情况下AR2再把同样的路由信息通告给AR3的时候,路由的下一跳地址仍旧是AR1的接口地址,这时候需要修改配置,让AR2向AR3通告AR1传过来的路由信息时候,把下一跳地址改成AR2的接口地址
(在AR2和AR3同属于一个AS内的情况下)
peer x.x.x.x next-hop-local
如要传递community属性
,需要手动配置如下指令
peer x.x.x.x advertise-community
否则会剥离团体属性后传递给对等体
可结合route-policy
进行手动的路径负载分担,值越大优先级越高,默认从BGP邻居通告过来的都是0,只是在路由器本地有效
在本AS内有效,值越大越优,默认值为100
default local-preference xxxx 只会在传递过来的路由信息中local-preferrence为空的时候才会修改成设定的值,如果不为空,就不修改,直接传递给下一个BGP邻居。
使用策略路由配置的指令为:apppy local-preferrence 200
AS path长度越短越优先
策略路由配合指令:apply as path 200 additive
,实现手工为某条路由前缀增加一个AS 号
指令bestroute as-path-ignore
可以让BGP协议忽略AS path这个选路规则
值越小越优先
手动设med值:apply cost 100
BGP在使用import 引入ospf路由时候,ospf的cost值会转化为 BGP 的med值
当以上全部相同时,可以在路由器上开启bgp等价路由模式
maximum load-balancing 2
,最大为8条负载均衡路径。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210218101225154.png
通过配置 undo reflect between-clients
使客户机之间的路由不再需要通过RR来传递,但是非客户机的路由信息RR仍会传递给各个客户机
配置过滤的三种方法:
ACL:peer x.x.x.x filter-policy xxx
ip-prefix: peer x.x.x.x ip-prefix xxx
route-policy : peer x.x.x.x route-policy
从那里收 | 发布给 |
---|---|
EBGP对等体 | RR的客户机与非客户机 |
非客户机 | RR的所有客户机 |
客户机 | RR的所有客户机和非客户机(自身的客户机除外) |
默认情况下,如果不特别指定,RR会自动选取路由器本身的router id
作为cluster_ID
可手动在BGP进程里通过reflector cluster-id x.x.x.x
修改
默认情况下没有开启,可手动开启,需要在路由引入的始发路由器开启才有用 summary automatic
开启后明细路由会被抑制,一般不推荐
1、手动聚合指令:aggregate x.x.x.x x(netmask)
2、开启明细路由抑制:aggregate x.x.x.x x(netmask) detail-suppressed
,不过此方法会造成明细路由所携带的community属性聚合后丢失的问题,且看不到路由传递的as_path
3、完整的开启明细路由抑制指令:aggregate x.x.x.x x(netmask) detail-suppressed as-set
聚合路由里的as_path会把所有明细路由的as_path包含进去
4、给聚合后的路由重新添加community属性,aggregate x.x.x.x x(netmask) detail-suppressed as-set attribute-policy abc
abc
为自己定义的路由策略
5、origin-policy
:只有包含策略里指定的路由明细条目才会生成聚合路由并抑制该明细路由
6、suppress-policy
:指定抑制相应的明细路由
peer x.x.x.x capability-advertise orf ip-prefix
: 发送和接受route-fresh信息的bgp 对等体都要配置该命令,开启orf使能
peer x.x.x.x ip-prefix xxxx import
:只在发送route-fresh的路由器上配置
bgp-rib-only
: BGP路由不会下发至本地路由器,但会通告给邻居路由器