BGP协议详解

边界网关协议(BGP)是运行于 TCP 上的一种自治系统的路由协议。 BGP 是唯一一个用来处理像因特网大小的网络的协议,也是唯一能够妥善处理好不相关路由域间的多路连接的协议。 BGP 构建在 EGP 的经验之上。 BGP 系统的主要功能是和其他的 BGP 系统交换网络可达信息。网络可达信息包括列出的自治系统(AS)的信息。这些信息有效地构造了 AS 互联的拓朴图并由此清除了路由环路,同时在 AS 级别上可实施策略决策。

自治系统:autonomous system。在互联网中,一个自治系统(AS)是一个有权自主地决定在本系统中应采用何种路由协议的小型单位。这个网络单位可以是一个简单的网络也可以是一个由一个或多个普通的网络管理员来控制的网络群体,它是一个单独的可管理的网络单元(例如一所大学,一个企业或者一个公司个体)。一个自治系统有时也被称为是一个路由选择域(routing domain)。一个自治系统将会分配一个全局的唯一的16位号码,有时我们把这个号码叫做自治系统号(ASN)。-----------------SPTN 自治系统号10(传统域)  自治系统号20(SDN域)

一个自治系统就是处于一个管理机构控制之下的路由器和网络群组。它可以是一个路由器直接连接到一个LAN上,同时也连到Internet上;它可以是一个由企业骨干网互连的多个局域网。在一个自治系统中的所有路由器必须相互连接,运行相同的路由协议,同时分配同一个自治系统编号。自治系统之间的链接使用外部路由协议,例如BGP.。

多出口的自治系统

多出口的自治系统(Multihomed AS)是指与其它的自治系统具有多于一个连接的自治系统。一旦那些连接中的某一个完全失效,这个多出口的自治系统也仍然能保持和互联网络的联系。但是,这类自治系统不允许与自己所连接的其它任一个自治系统穿过自己来访问另一个自治系统。

如图1所示,AS1、AS2、AS3、AS4和AS5是五个自治系统,如果自治系统AS2和AS3的连接发生了故障,其他的自治系统之间的连接不受影响。而且如果自治系统AS4想通过AS2来连接AS1,这是不可能实现的。

末端自治系统

末端自治系统(stub AS)是指仅与一个其它自治系统相连的自治系统,如图2中的自治系统AS1它仅仅与自治系统AS2相连接。如果该AS的路由策略与其上游的AS完全相同,这说明该AS其实浪费了一个ASN。这种情况更常发生在互联网路由环境中:表面上的末端自治系统可能实际上与其它未被公共路由显示服务器反映出来的AS之间存在着对等互联关系。具体的例子如(美国)财政和交通部门的专用互联网络。

 

中转自治系统

中转自治系统是指一个自治系统通过自己来为几个隔离开的网络提供连通服务。即,网络A可通过作为中转AS的网络B来连接到网络C。比如图1中的自治系统AS1可以通过自治系统AS2连接到自治系统AS4。所有的ISP都是这类的中转自治系统,因为这原本是它们的根本业务目的。因为我们认为ISP是在向客户网络“贩售中转服务”,所以使用中转自治系统这个术语来表示。

BGP的结构和功能

BGP用于在不同的自治系统(AS)之间交换路由信息。当两个AS需要交换路由信息时,每个AS都必须指定一个运行BGP的节点,来代表AS与其他的AS交换路由信息。这个节点可以是一个主机。但通常是路由器来执行BGP。两个AS中利用BGP交换信息的路由器也被称为边界网关(Border Gateway)或边界路由器(Border Router)[1]  。

由于可能与不同的AS相连,在一个AS内部可能存在多个运行BGP的边界路由器。同一个自治系统(AS)中的两个或多个对等实体之间运行的BGP 被称为 IBGP(Internal/Interior BGP)。归属不同的AS的对等实体之间运行的BGP称为EBGP (External/Exterior BGP)。在AS边界上与其他AS交换信息的路由器被称作边界路由器(border/edge router)。在互联网操作系统(Cisco IOS)中,IBGP通告的路由的距离为200,优先级比EBGP和任何内部网关协议(IGP)通告的路由都低。其他的路由器实现中,优先级顺序也是EBGP高于IGP,而IGP又高于IBGP。

BGP属于外部网关路由协议,可以实现自治系统间无环路的域间路由。BGP是沟通Internet广域网的主用路由协议,例如不同省份、不同国家之间的路由大多要依靠BGP协议。BGP可分为IBGP(Internal BGP)和EBGP(External BGP)。BGP的邻居关系(或称通信对端/对等实体)是通过人工配置实现的,对等实体之间通过TCP(端口179)会话交互数据。BGP路由器会周期地发送19字节的保持存活keep-alive消息来维护连接(默认周期为30秒)。在路由协议中,只有BGP使用TCP作为传输层协议。

软件定义城域汇聚接入网中,使用传统路由器和单个主机控制器运行BGP协议,现成互通。

 

posted @ 2017-07-13 10:46  BlueMonds  阅读(31257)  评论(0编辑  收藏  举报