BGP基本原理

BGP(边界网关协议)是自治系统(AS)之间交换路由信息的协议,用于互联网服务提供商之间的路由选择。本文介绍了BGP的基本概念,包括消息类型、路由属性、选路规则、IBGP与IGP同步,以及解决大规模网络问题的策略,如路由聚合、路由衰减、对等体组和联盟。此外,还探讨了BGP的GR特性以及MP-BGP对多协议的支持。
摘要由CSDN通过智能技术生成

目录

BGP

BGP概述

BGP的消息类型

BGP的路由属性

BGP的选路规则

IBGP和IGP同步

大规模BGP网络所遇到的问题

BGP GR

MP-BGP


BGP

BGP概述

BGP(Border Gateway Protocol,边界网关协议)是一种用于AS(Autonomous System,自治系统)之间的动态路由协议。AS是拥有同一选路策略,在同一技术管理部门下运行的一组路由器。

早期发布的三个版本分别是BGP-1(RFC 1105)、BGP-2(RFC 1163)和BGP-3(RFC 1267),当前使用的版本是BGP-4(RFC 1771,已更新至RFC 4271)。BGP-4作为事实上的Internet外部路由协议标准,被广泛应用于ISP(Internet Service Provider,因特网服务提供商)之间。

&  说明:

下文中若不做特殊说明,所指的BGP均为BGP-4。

 

BGP特性描述如下:

             BGP是一种外部网关协议(Exterior Gateway Protocol,EGP),与OSPF、RIP等内部网关协议(Interior Gateway Protocol,IGP)不同,其着眼点不在于发现和计算路由,而在于控制路由的传播和选择最佳路由。

             BGP使用TCP作为其传输层协议(端口号179),提高了协议的可靠性。

             BGP支持CIDR(Classless Inter-Domain Routing,无类别域间路由)。

            路由更新时,BGP只发送更新的路由,大大减少了BGP传播路由所占用的带宽,适用于在Internet上传播大量的路由信息。

              BGP路由通过携带AS路径信息彻底解决路由环路问题。

              BGP提供了丰富的路由策略,能够对路由实现灵活的过滤和选择。

              BGP易于扩展,能够适应网络新的发展。

发送BGP消息的路由器称为BGP发言者(BGP Speaker),它接收或产生新的路由信息,并发布(Advertise)给其它BGP发言者。当BGP发言者收到来自其它自治系统的新路由时,如果该路由比当前已知路由更优、或者当前还没有该路由,它就把这条路由发布给自治系统内所有其它BGP发言者。

相互交换消息的BGP发言者之间互称对等体(Peer),若干相关的对等体可以构成对等体组(Peer group)。

BGP在路由器上以下列两种方式运行:

              IBGP(Internal BGP):当BGP运行于同一自治系统内部时,被称为IBGP;

              EBGP(External BGP):当BGP运行于不同自治系统之间时,称为EBGP。

BGP的消息类型

1. 消息头格式

BGP有5种消息类型:Open、Update、Notification、Keepalive和Route-refresh。这些消息有相同的报文头,其格式如图1所示。

图1 BGP消息的报文头格式

主要字段的解释如下:

              Marker:16字节,用于标明BGP报文边界,所有比特均为“1”。

             Length:2字节,BGP消息总长度(包括报文头在内),以字节为单位。

             Type:1字节,BGP消息的类型。其取值从1到5,分别表示Open、Update、Notification、Keepalive和Route-refresh消息。其中,前四种消息是在RFC 1771中定义,而Type为5的消息则是在RFC 2918中定义的。

2. Open

Open消息是TCP连接建立后发送的第一个消息,用于建立BGP对等体之间的连接关系。其消息格式如图2所示。

图2 BGP Open消息格式

主要字段的解释如下:

              Version:BGP的版本号。对于BGP-4来说,其值为4。

              My autonomous system:本地AS号。通过比较两端的AS号可以确定是EBGP连接还是IBGP连接。

              Hold time:保持时间。在建立对等体关系时两端要协商Hold Time,并保持一致。如果在这个时间内未收到对端发来的Keepalive消息或Update消息,则认为BGP连接中断。

              BGP identifier:BGP标识符。以IP地址的形式表示,用来识别BGP路由器。

              Opt Parm Len(Optional Parameters Length):可选参数的长度。如果为0则没有可选参数。

              Optional parameters:可选参数。用于多协议扩展(Multiprotocol Extensions)等功能。

3. Update

Update消息用于在对等体之间交换路由信息。它既可以发布可达路由信息,也可以撤销不可达路由信息。其消息格式如图3所示。

图3 BGP Update消息格式

一条Update报文可以通告一类具有相同路径属性的可达路由,这些路由放在NLRI(Network Layer Reachable Information,网络层可达信息)字段中,Path Attributes字段携带了这些路由的属性,BGP根据这些属性进行路由的选择;同时Update报文还可以携带多条不可达路由,被撤销的路由放在Withdrawn Routes字段中。

主要字段的解释如下:

             Unfeasible routes length:不可达路由字段的长度,以字节为单位。如果为0则说明没有Withdrawn Routes字段。

             Withdrawn routes:不可达路由的列表。

              Total path attribute length:路径属性字段的长度,以字节为单位。如果为0则说明没有Path Attributes字段。

              Path atributes:与NLRI相关的所有路径属性列表,每个路径属性由一个TLV(Type-Length-Value)三元组构成。BGP正是根据这些属性值来避免环路,进行选路,协议扩展等。

             NL

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值