一,何为BGP
边界网关协议BGP(Border Gateway Protocol)是一种实现自治系统AS(Autonomous System)之间的路由协议。
1,特性
-
类型:BGP协议是一种外部网关协议。 -
路由算法:路径-矢量,避免了环路的发生 其路由信息携带了所经过的所有AS路径列表,接收路由信息的BGP路由器可以知道该信息是否源于自己的AS,若源于,则抛弃此条路由,这样就解决了环路问题。 -
传递协议:TCP(目的端口号179) -
支持CIDR和路由聚合 可以将一些连续的子网聚成较大的子网,从而控制路由表增长,降低路由查找复杂度 -
只发送增量路由更新 与邻居建立关系时,BGP路由器会将自己的全部路由信息告诉邻居,此后若路由表发生变化,则只将增量部分告诉邻居 -
路径选择:较好,非最佳 -
交换节点:和本结点相邻的路由器
2,常用术语
-
BGP发言者(BGP Speaker):接收、产生、发送BGP消息的路由器 -
RID(Router ID):32位比特无符号整数,用于在一个AS中唯一标识一台路由器。RID可以是手动配置或路由协议自动选择。 -
BGP对等体(BGP Peer):相互交换信息的BGP发言者。亦称BGP邻居。可分为IBGP对等体和EBGP对等体。 -
EBGP对等体 处于不同AS的BGP对等体称为EBGP对等体,通常情况EBGP对等体是物理上直连 BGP Speaker从EBGP Peer获得的路由会向其除了原EBGP Peer以外的BGP Peer发布(以防止环路) -
IBGP对等体 处于同一个AS下的BGP Peer,其间物理直连或TCP可达。 BGP Speaker从其IBGP Peer获得的路由不会想起IBGP Peer转发(以防止环路) 为防止路由黑洞,从IBGP Peer获得的路由是否发送给其EBGP Peer与BGP是否同步有关 -
IBGP全连接 直接没看懂
TCP的可靠传输机制和滑动窗口机制可以确保承载与TCP之上的BGP可以可靠传递大量路由。但是TCP链接是点到点的单播方式来进行报文传输的,因此BGP链接只能是基于点到点的链接。同时BGP是一种距离矢量路由协议,为了防止产生路由环路,协议规定BGP发言者从IBGP对等体获得的路由不能向其他的IBGP对等体发布。这样,在运行了BGP协议的AS内,为了确保所有BGP路由器的路由信息向,则需要使所有的IBGP路由器保持全连接。
3,BGP消息种类
- Open消息:TCP连接后的首条消息,用于建立BGP Peer之间的链接关系。
- Keepalive消息:周期性的向BGP Peer发出消息,以保持链接有效性。或用于对收到的Open消息作出回应。
- Update消息:BGP Peer间交换的关于路由增删的消息
- Notification消息:用于错误通知,发送之后会关闭链接回到idie状态
- Route-refresh消息:是要求对等体重新发送指定地址族的路有消息
4,BGP协议状态机的状态
状态间的转换描述的是BGP对等体关系的建立过程
- Idle状态(空闲状态):初始状态,不接受任何BGP连接,等待Start事件发生。若有Start事件发生则系统开启ConnectRetry定时器,向邻居发起TCP连接,状态转换为Connect
- Connect状态(连接状态):系统在该状态会等待TCP连接建立完成
TCP状态为Established,则拆除ConnectRetry定时器,并发送OPEN消息,将状态变为Opensent状态 TCP连接失败则重置ConnectRetry定时器,并发送OPEN消息,将状态变为Active ConnectRetry timer expired(重传定时器)超时,则重新连接,扔处于Connect状态 - Active状态(活跃状态):在Active状态系统会响应ConnectRetry timer expired事件,重新进行TCP连接,同时重置ConnectRetry定时器,变为Connect状态;
- Opensent状态(OPEN消息已发送):此状态表明系统已经发出Open消息,在等待BGP邻居发给自己的OPEN消息
如果收到BGP邻居发来的OPEN消息,并且没有错误的话,则转向Openconfirm状态,同时将HoldTime定时器的值置为协商值,发送Keepalive消息并置Keepalive定时器 如果有错误则发送Notification消息并断开链接 - Openconfirm状态(OPEN消息确认):状态表明系统已经发出Keepalive消息,并等待BGP邻居的Keepalive消息。
如果收到邻居的Keepalive消息则转向Established状态并重置HoldTime定时器; 如果KeepAlive定时器超时则重置并发送KeepAlive消息; 如果收到Notification消息,则断开链接。 - Established状态(链接建立)该状态下可以发送Update消息交换路由信息
如果KeepAlive定时器超时则重置KeepAlive定时器并发送KeepAlive消息 如果收到KeepAlive消息则重置HoldTime定时器: 如果检测到错误或者收到Notification消息则断开链接。
5,BGP路由属性
①分类
- 公认必遵属性:ORIGIN、AS-PATH、NEXT_HOP
- 公认可选属性:LOCAL_PREF、ATOMIC_AGGREGATE
- 可选传递属性:COMMUNITY、AGGREGATOR
- 可选费传递属性:MED、CLUSTER_LIST、ORIGINATOR_ID
②AS-PASH属性
用于选择路由 AS-PASH属性用于标识路由经过的AS路径 当一个路由器收到两条相同目的地的路由,它将选择AS路径最短的路由。 该属性用于防环,当一台路由器收到一条BGP路由,会查看路由的AS-path属性,如果发现有自己的AS号码,就会丢弃这条路由。
③NEXT_HOP属性
标识去往目的路由下一跳AS的路由器的IP地址 分四种情况:
- BGP发言者把自己产生的路由发给所有邻居时,将把该路由信息的下一跳属性设置为自己与对端链接的接口地址
- BGP发言者把从EGP邻居得到的路由发给IBGP邻居时,不改变该路由信息的下一跳属性
- BGP 发言者把接收到的路由发送给 EBGP 对等体时,将把该路由信息的下一跳属性设置为自己与对端连接的接口地址
- 对于可以多路访问的网络(如以太网或帧中继),如果通告路由器和源路由器的接口处于同一网段,则BGP会向邻居路由通告路由的实际的来源
④ORIGIN属性
用于选择路由
符号 | 意义 |
---|
i | 通过network生成的路由 | ? | 通过import-route生成的BGP路由 | e | 从EGP协议中引入到BGP协议中的路由 |
优先级:BGP发言者选用路由的顺序 优先级:i>e>?
⑤LOCAL_PREF属性
用于选择路由 用于在一个AS内有多个出口的情况下,IBGP邻居选择离开本AS时的最佳路由,它表明BGP路由器的优先级。 LOCAL_PREF 属性仅在IBGP 对等体之间交换,不通告给其他AS。 OCAL_PREF 的属性值仅仅会影响离开该AS的流量,不会影响进入该AS的流量。 当BGP的路由器通过不同的IBGP对等体得到目的地址相同但下一跳不同的多条路由时,将优先选择LOCAL_PREF属性值较高的路由。
⑥MED属性
MED也称为多出口鉴别器,它是一个4字节的整数,取值范围为0~4294967295.缺省情况下,MED的值为0,但通过命令 default med value 可对其进行修改。 值越小越优先。 MED只会影响相邻两个AS,收到MED属性的AS不会把此属性再继续传递给别的AS。
⑦BGP协议对路由的处理流程
BGP发言者从对等接收到BGP路由后,其基本的操作过程为: 接收路由过滤与属性设置——>路由聚合——>路由优选——>路由安装——>发布策略——>发布路由属性与属性设置
- 路由聚合:若需要,BGP Peer将对路由表进行聚合,一次减少路由表规模
- BGP将对接收到的路由进行优选,只选择最佳路由给自己使用,并将其安装到路由表
- 发布路由属性与属性设置之后,路由被发布给BGP对等体
⑧BGP的路由优选
一般来说,BGP计算路由优先级的规则如下: 丢弃下一跳不可达的路由。 优选Preference_Value值最高的路由(私有属性,仅本地有效)。 优选本地优先级(Local_Preference)最高的路由。 优选手动聚合>自动聚合>network>import>从对等体学到的。 优选AS_Path短的路由。 起源类型IGP>EGP>Incomplete。 对于来自同一AS的路由,优选MED值小的。 优选从EBGP学来的路由(EBGP>IBGP)。 优选AS内部IGP的Metric最小的路由。 优选Cluster_List最短的路由。 优选Orginator_ID最小的路由。 优选Router_ID最小的路由器发布的路由。 优选具有较小IP地址的邻居学来的路由。
二,何为AS
用于选择路由 自洽系统AS(autonomous system) 1,一组共享相似路由策略并在单一管理域(如一个组织机构)内运行的路由器的集合。 2,每个自洽系统有唯一的AS编号,由IANA分配 3,自治系统的编号范围是1-65535,1-65411是注册的Internet编号,65412-65535是专用网络编号 4,各自分配的IP地址被标清楚属于哪个AS号码,在全球互联网上,假如一封email从一个a IP地址发往另外一个b IP地址,这封email必须要知道a IP地址属于的AS号码A到b IP地址属于的AS号码 B如何走,然后就沿着这条路到达目的IP地址。
.这个编号是由因特网授权的管理机构IANA分配的。它的基本思想就是希望通过不同的编号来区分不同的自治系统。这样.当网络管理员不希望自己的通信数据通过某个自治系统时,这种编号方式就十分有用了。例如.该网络管理员的网络完全可以访问某个自治系统.但由于它可能是由竞争对手在管理,或是缺乏足够的安全机制,因此.可能要回避它。 通过采用路由协议和自治系统编号,路由器就可以确定彼此问的路径和路由信息的交换方法。
IANA:互联网数字分配机构
三,何为路由
-
路由:路由器从一个接口上接收数据包,并转发到另一个地址的过程。 包括决定最佳路径和数据交换(通过网络传输信息)两个过程。 路由发生在OSI网络参考模型的第三层即网络层。 -
路由方式:数据交换方式。即让数据包根据一定路径传输的方式。路由根据路由表——存储到各个目的地的最佳路径的表,来找到路径传输方式。 -
路由器:路由器用于将网络进行互联,是网络传输的交通枢纽,具备路由和转发功能。 在TCP/IP协议中称路由器位网关。 路由器通过转发数据包来实现网络互联。 通常插两张网卡 网卡一,连接广域网的WAN口,IP地址由上一级网络分配 另一张网卡LAN,连接局域网,IP地址可以自己配置 -
转发:在内部进行输入端的数据包转送到合适的输出端 -
路由协议: 路由协议 按照工作区域,将路由协议分为IGP(内部网关协议)和EGP(外部网关协议),EGP的一个应用实例是BGP -
路由前缀
四,网络拓扑
1,什么是拓扑
把实体抽象位点,连接实体的路抽象位线,从而以图的方式来表示点和线之间的关系 在计算机网络中,把计算机,终端、通信处理机等抽象为点,连接这些舌部的通信线路抽象为线,将这些点线构成的拓扑称为网络拓扑
2,常见网络拓扑结构
①总线型
特点:结构简单灵活,非常便于扩充;可靠性高,网络响应速度快;设备量少、价格低、安装使用方便;共享资源能力强,极便于广播式工作即一个结点发送所有结点都可接收。
②星型
星型拓扑常应用于局域网中。 特点::网络结构简单,便于管理、集中控制, 组网容易;网络延迟时间短,误码率低,网络共享能力较差,通信线路利用率不高,中央节点负担过重,可同时连双绞线、同轴电缆及光纤等多种媒介。
扩展星型拓扑:
③环型
特点:信息在网络中沿固定方向流动,两个结点间仅有唯一的通路,大大简化了路径选择的控制;某个结点发生故障时,可以自动旁路,可靠性较高;由于信息是串行穿过多个结点环路接口,当结点过多时,影响传输效率,使网络响应时间变长。但当网络确定时,其延时固定,实时性强;由于环路封闭故扩充不方便。
④网状
节点之间的连接是任意的,每个节点都有多条线路与其他节点相连,这样使得节点之间存在多条路径可选 网状拓扑可以充分、合理的使用网络资源,并且具有可靠性高的优点。这个优点是以高投资和高复杂的管理为代价
|