BGP
边界网关协议(外部网关协议)BGP:采用路径向量路由选择协议,BGP发言人(一般为BGP边界路由器),两个BGP发言人交换路由信息时,要先建立TCP连接,再此连接上建立GBP会话,利用BGP会话交换路由信息。彼此为邻站和对等站。
不同自治域之间为什么不能使用内部网关协议?
- 互联网规模太大,使得自治系统之间路由选择非常困难。
- 自治系统之间的路由选择必须考虑相关的策略。
1 BGP:Border Gateway Protocol,边界网关协议,运行在自制系统间的路由协议,主要作用交换域间路由协议;
2 IBGP:Internel BGP,内部边界网关协议,如果两个交换BGP报文的对等实体属于同一个自治系统,那么这两个对等实体就是IBGP对等实体;
3 EBGP:Externel BGP,外部边界网关协议,如果两个交换BGP报文的对等实体属于不同的自治系统,那么这两个对等实体就是EBGP对等实体;
4 IGP: Interior Gateway Protocol内部网关协议,主要作用是发现和计算自治域内的路由信息,包括RIP,OSPF,IS-IS,IGRP等
5 EGP:Exterior Gateway Protocol外部网关协议,一种自治系统相邻两个网关之间交换路由信息的协议,BGP是最新的外部网关协议
BGP:BGP路由器之间基于TCP建立BGP会话,端口号为179,两个对等关系不需要是邻居关系,只要IP可达即可(即可跨路由器建立对等关系)。
BGP的路径矢量特征
AS-Path:表示去某AS网络的路径
作用:1. 可用来路由选择一个标准 2.可用来防止环路
BGP报文类型:
报文名称 | 作用 | 什么时候发 |
---|---|---|
OPEN | 协商BGP邻居的各项参数,建立邻居关系 | Open是TCP连接建立后发送的第一个报文 |
UPDATE | 用于在对等体之间交换路由信息 | 连接建立后,有路由需要发送或路由变化时,发送此通告对端路由信息。它既可以发布可达路由信息,也可以撤销不可达路由信息 |
NOTIFICATION | 当BGP检测到错误状态时,就向对等体发出此消息,之后BGP连接会立即中断 | 当BGP在运行中发现错误时,要发送此报文通告BGP对端 |
KEEPALIVE | 维持邻居关系 | 定时发送此报文以保持BGP邻居关系的有效性 |
Route-refresh | 此消息用来要求对等体重新发送指定地址族的路由信息 | 当路由策略发生变化时,触发请求邻居重新通告路由 |
BGP的邻居状态机
Peer状态名称 | 发什么包 | 在做什么 |
---|---|---|
Idle | 尝试建立TCP连接 | 开始准备TCP的连接并监视远程peer启动TCP连接,启动BGP时,要准备足够的资源 |
Connect | 发TCP包 | 正在进行TCP连接,等待完成中,认证都是在TCP建立期间完成的。如果TCP连接不上则进入Active状态,反复尝试连接 |
Active | 发TCP包 | TCP连接没建立成功,反复尝试TCP连接 |
OpenSent | 发Open包 | TCP连接建立已经成功,开始发送Open包,Open包携带参数协商对等体的建立 |
Open Confirm | 发Keepalive | 参数、能力特性协商成功,自己开始发送Keepalive包,等带对方的Keepalive包 |
Established | 发Update包 | 已经收到对方的Keepalive包,双方能力特性一致,开始用Update通告路由信息 |
BGP路由黑洞问题
- BGP同步规则:
- BGP同步规则指出,BGP路由器不应该使用通过IBGP对等体获悉的路由或将其通告给EBGP对等体,除非该路由器是本地的或者又通过IGP获悉。
- 华为设备默认关闭同步
- 将IGP-BGP路由重发布(BGP路由数量较大)
- 全网BGP
- MPLS(标签交换)
IBGP水平分割(在同一AS内防环问题)
定义:当一台路由器从一个IBGP的对等体收到一条路由的时候,它就不能把这条路由发给其他对等体。
IBGP水平分割可能会导致无法路由问题,用AS内邻居关系全互联解决,但是全互联的大量信息会导致路由器工作负荷大,用路由反射器和联邦可解决此问题。
BGP路由通告规则
BGP基本配置
首先需要先创建一个BGP进程(进程命名一般为AS号)
指定BGP路由器ID
配置一个BGP对等体(peer 对等体IP地址 as-number 对方AS号 ),双方都需要配置
向对等体通告路由
- network方式(区别于OSPF)
- import-route方式
三张表:1.peer table 2. BGP routing-table 3. RIB(routing information base,最优路由表)
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 2924854739@qq.com
文章标题:BGP
本文作者:DROBP
发布时间:2019-09-13, 17:20:23
最后更新:2019-09-20, 08:22:53
原始链接:https://DROBP.github.io/2019/09/13/BGP/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。