BGP 边界网关协议 属于外部或域间路由协议,距离矢量路由协议。
AS(自治系统),在一个自治系统内运行osfp,is-is,rip,vlan等,实现AS内网络互通。
BGP做什么,为处于不同自治系统(AS)中的路由器之间进行“路由信息通信”提供保障。
例如 AS 100 运行rip ,AS 200运行ospf. 要实现AS域的网络互通。
BGP 是唯一能够妥善处理好“不相关路由域间”的多路连接的协议。重点!!!!!!
1. BGP报文结构
EthernetII,IP(6),TCP(179),BGP 应用层协议,以TCP三次握手,具有安全性。
2.BGP路由器角色
3.BGP报文
open报文 version(BGP4),AS号,holdtime,router id.可选参数(建立邻居要参数相同)
update 撤销路由长度(掩码),撤销的路由
路径属性长度 路径属性 传递的路由
keepalive bgp的头部,默认60,holdtime为keepalive的三倍180s.
更新路由的方式
rip 16跳,表示不可达。
ospf 3600序列号,表示路由达到最大老化时间。
bgp withdraw routs lenths 撤销路由
通告方式
ospf、rip network:发布对应路由,使能对应接口ospf、rip功能;
bgp network:发布路由 (存在路由表,掩码和路由表的路由掩码相同)
4. 状态机
idle初始,(发出tcp包),conec连接,(tcp三次握手成功),oepnsent 打开发送
(发出open包),openconfirm 打开协商,(协商成功,发出保活包,),establish建立成功
停留在idle,(不发tcp包)=====没有路由
停留在active======tcp连接失败,错误的对等体地址(对等体设备未开启BGP(TCP-179端口处于关闭状态),更新原检测,策略限制
停留在connect=====tcp连接失败,错误的对等体地址,没有去往对等体的路由,策略限制 (中间设备过滤了本设备IP流量或者TCP流量或者TCP-179端口数据)
发Notification报文条件(再一个重置计时器后重新建立BGP的TCP连接,即重新发送用于BGP的TCP连接报文) 原因: 1----AS号错误- -- R-ID重复 --- 认证失败等
5.BGP发包规则
当BGP运行于同一AS内部时,被称为IBGP
当BGP运行于不同AS之间时,称为EBGP
1、从EBGP学习的路由可以传递给,EBGP,IBGP
R2(EBGP),学习到R1(EBGP)的路由,同时传递给R3(IBGP)
2、IBGP和IBGP不能传递路由信息
AS200内的 R2,R3.R4为IBGP,两两之间不能传递路由。
3.R2是AS200的IGP路由器,同时是外部网络的EBGP路由器。
BGP是唯一能够妥善处理好“不相关路由域间”的多路连接的协议。
BGP相当于行驶的卡车,装载 路由,跨过不同的AS域,单方向运输路由。
如果实现网路互通,要路由双向互通。去的路由和回来的路由
首先建立邻居关系
EBGP邻居 路由检测,更新源检测,直连检测。
IBGP邻居 路由检测,更新源检测。
路由检测(网络互通)
R1—R2,EBGP邻居通过直连的路由。
AS200内,要运行IGP协议(ospf、rip )实现网络互通。
更新源检测,(环回口建立邻居)peer 2.2.2.2 connect interface loop0
在TCP请求建立连接时,会使用收到请求的源地址和和本地所指的neighbor(环回口)地址匹配.如果不同,会直接重置TCP连接,造成邻居无法建立,发送请求的源地址通常为路由的出接口地址,所以需要手工指定更新源地址.
(TCP连接请求发起方更新源检测通过即可.更新源检测不通过邻居状态卡在Active等待
直连检测(环回口建立EBGP邻居)peer 2.2.2.2 ebgp-max-hop 2
默认ebgp跳数为1(直连),如果是环回口,修改最大跳数大于等于2
nexhop下一跳不可达
R3接收到R2传递EBGP(R1)的路由,下一跳为R1的接口地址,对于R3来说是不可达
1、在ebgp R1和R2之间网段,添加默认路由。
2、ospf宣告接口ebgp直连网段信息,然后静默接口.
ospf 1 视图 silient 递归寻找下一跳3、用路由策略 强制指向下一跳
apply ip-address next-hop 2.2.2.2.
4.、peer 2.2.2.2 nex-hop-local,
向2.2.2.2传递路由的下一跳时为建立邻居的地址
数据黑洞
如果R2和R4建立邻居,在R3不运行BGP协议,R3只起到转发路由的作用。
BGP,传递的路由在应用层,中间路由器转发包在网络层,所以中间路由器获取不到应用 层的路由信息。
导致 实际链路上,R3缺少外部网段的路由。
1. ospf引入bgp,路由
2.full-mesh
3.tunell. mpls 然后 peer 隧道建立邻居关系,记得加上next-hop local
4.路由反射器
full-mesh
两两之间建立邻居。配置量很大。
1.反射器,非非不传。非客服端不能传递非客服端。
指定客服端的路由器为RR
peer 2,2,2,2 reflet2.联邦