BGP基础概述

BGP产生原因

为方便管理规模不断扩大的网络,网络被分成了不同的AS(Autonomous System,自治系统)。早期,EGP(Exterior Gateway Protocol,外部网关协议)被用于实现在AS之间动态交换路由信息。但是EGP设计得比较简单,只发布网络可达的路由信息,而不对路由信息进行优选,同时也没有考虑环路避免等问题,很快就无法满足网络管理的要求。 BGP是为取代最初的EGP而设计的另一种外部网关协议。不同于最初的EGP,BGP能够进行路由优选、避免路由环路、更高效率的传递路由和维护大量的路由信息。

BGP介绍

BGP特点:

1.BGP使用TCP作为其传输层协议(端口号为179),使用触发式路由更新,而不是周期性路由更新。

2.BGP能够承载大批量的路由信息,能够支撑大规模网络。

3.BGP提供了丰富的路由策略,能够灵活的进行路由选路,

4.并能指导对等体按策略发布路由。 BGP能够支撑MPLS/VPN的应用,传递客户VPN路由。

5.BGP提供了路由聚合和路由衰减功能用于防止路由振荡,通过这两项功能有效地提高了网络稳定性。

6.BGP使用TCP为传输层协议,TCP端口号179。路由器之间的BGP会话基于TCP连接而建立

7.BGP路由器只发送增量的BGP路由更新,或进行触发式更新(不会周期性更新)。

8.BGP能够承载大批量的路由前缀,可在大规模网络中应用。

BGP对等体关系

与ospf,isis的邻居关系类似,但是BGP的对等体是基于TCP建立的所以相互建立BGP对等体的两台设备之间不要求必须直连,能保证互通即可。

BGP的对等体关系分为两种:EBGP(与本设备建立对等体关系的设备不在同一个AS内)和IBGP(与本设备建立对等体的设备在同一个AS内)

BGP对等体的建立过程

1.先启动BGP协议的路由器向对端发起TCP连接建立,使用TCP的179端口

2.双方TCP连接建立成功后相互发送Open报文携带参数,建立对等体关系

        

3.参数协商正常后发送keepalive报文,当收到对端的keepalive报文时对等体建立成功,之后就再特定的时间间隔发送keepalive报文保持连接

4.BGP对等体关系建立之后,BGP路由器发送BGP Update(更新)报文通告路由到对等体,然后对等体发TCP的ack报文进行确认

我也做了相应的抓包,进行分析

BGP报文类型

报文类型作用发送时刻
Upen协商BGP对等体参数,建立对等体关系BGP TCP连接建立成功之后
Update发送BGP路由更新BGP对等体关系建立之后有路由需要发送或路由变化时向对等体发送Update报文
Notification报告错误信息,中止对等体关系当BGP在运行中发现错误时,发送Notification报文将错误通告给BGP对等体
Keepalive标志对等体建立,维持BGP对等体关系BGP路由器收到对端发送的Keepalive报文,将对等体状态置为已建立,同时后续定期发送keepalive报文用于保持连接
Route-refresh用于在改变路由策略后请求对等体重新发送路由信息。只有支持路由刷新能力的BGP设备会发送和响应此报文当路由策略发生变化时,触发请求对等体重新通告路由

 BGP状态机

 Idle:启用BGP后开始准备TCP连接

Connect:在建立TCP连接的过程中,如果失败进入Active状态重试,认证是在本状态完成的。

Active:TCP没有建立成功,反复尝试

OpenSent;TCP连接已经建立成功发送携带参数的Open报文协商对等体的建立

OpenConfirm;参数协商成功,发送keepalive报文,等待对方的keepalive报文

Establish:已经收到对方的keepalive报文,之后就发送update报文通告路由信息

BGP对等体表

Peer:对等体ip地址

V:版本

AS:对等体的AS号

Up/Down:这个邻居关系up/down的时间

state:邻居状态

PrefRcv:prefix received,从该对等体收到的路由前缀数目

BGP路由表

Network:目的网络/掩码

NextHop:下一跳

MED:开销

LocPrf:本地优先级

PrefVal:优先级(华为私有)

Path:经过的区域(出区域的时候会加上本区域的AS号,入区域时不会)

Ogn;路由起源 i:由IGP协议生成(network)   E:标识由EGP协议生成        ?:由其他方式引入生成(import)

与IGP路由协议不同BGP并不会发现路由只会将已经存在的路由注入到自己的BGP路由表中然后通告给自己的对等体。BGP可通过network和import两种方式注入路由

BGP通告原则

只发布有效且最优路由。

从EBGP对等体获取的路由,会发布给所有对等体。

IBGP水平分割:从IBGP对等体获取的路由,不会发送给IBGP对等体。

BGP同步规则指的是:当一台路由器从自己的IBGP对等体学习到一条BGP路由时(这类路由被称为IBGP路由),它将不能使用该条路由或把这条路由通告给自己的EBGP对等体,除非它又从IGP协议(例如OSPF等,此处也包含静态路由)学习到这条路由,也就是要求IBGP路由与IGP路由同步。同步规则主要用于规避BGP路由黑洞问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值