BGP

网络社会的模型就是图,图中每个节点 都是路由器。而一个路由器想和另一台路由器通讯,选择最短的路径是成本最小的。基于这种考虑,OSPF(最短)路径优先选择算法考虑让每个路由器的数据库中都存在整个网络拓扑图。

这里的整个网络是指整个自治系统,一个自治系统假如比喻成北京的网络拓扑这样的规模。这样,整个世界的互联网由许多自治系统组成,而所有的自治系统都连接着一个骨干自治区,网络区域间形成星型的拓扑结构。

每个自治区域(简称AS)内运行IBGP协议(OSPF协议属于IBGP协议的一种),而自治区域之间运行的是EBGP类(BGP协议是EBGP的一种)协议。当网络中渐趋稳定时,也就是每个路由都维持了一个完整的自治系统拓扑,那么可以使用单源最短路径(Dijkstra)来选择路由。

下面放大(zoom in):

OSPF

自治系统中图不存在孤岛,区域为连通区域。路由行为为双工,因此图为无向图。
每个路由器都有邻居,与其邻居间的通信行为有以下几种:

1.保持联系

整个自治系统中,每个路由器都有唯一标识RouterID(32-bit).
与其每个邻居间隔30s,发送一次Hello 报文,意思就是你还活着吗?

不如假设一个网络拓扑:
这里写图片描述

R1和R6进行通信,R1和R6相互发送Hello,并收到对方回应Hello.
双方会周期性将自己的路由数据摘要发送给对方,一般30min,平时,
双方只是联系感情,直到对方没有挂。

2. 路由信息交换

R1会周期性地将自己的路由摘要发送给所有邻居。比如对R6路由器,R1会发送
称为DD报文的包,里面会说自己认识R6,R2,R4,R5,R6对比自己的信息库发现
除了自己R1的朋友它一个都不认识,于是就发送请求报文,请求告知这些不认识的
路由详情。这个请求报文称为LSR(链路状态请求报文)报文。
R1收到之后,直到R6还不认识自己另外三个朋友,于是发送LSU报文(链路状态更新)告知R6详情。R6收到之后,给R1个确认-LSAck报文。两个人现在认识的路由器一样多了,此时两个人是好基友了-全毗邻关系。

LSU数据结构的数据项主要是通信成本方面-时延,带宽等,用于路径权值的计算。

BGP

BGP用于不同AS间交换路由信息。不同AS间由路由器连接,比邻的路由器间称为对等体(peer)。

route reflector

简称RR,用于解决full-mesh问题。

full-mesh问题:

域内的每个路由器负责一部分子网,对等体之间需要交换信息,就需要维持会话,通常每个对等体路由器需要连接域内所有路由器 ,BGP对等连接会随着路由器数量增长暴增,这种N*N连接问题称为full-mesh问题。

RR引入解决了full-mesh问题,RR之间交换路由信息,RR保存完整的网络拓扑,非RR路由器连接RR路由器就可以了。

如下图所示:第一张是full-mesh,然后是第二张是域内有一个RR,连接所有非RR路由。
第三章是两个RR,两个RR分别负责一般非RR路由器通信,并互相通信。
在这里插入图片描述

BGP路由交换

如下图所示,分为3个AS, AS 300发布了一条路由10.0.0.0/24,这条路由会通过R4更新给其他两个AS的路由R5和R3.
每次路由更新时,路由器会把自己的AS域ID放进去以防止环路。

比如R4->R5 的更新路径中:

R4->R5: AS_Path=300
R5->R1: AS_Path = 400,300
R5->R1: AS_Path = 400,300 // AS内路由
R3->R4: AS_Path = 100,400,300 // R4属于AS 300,所以会拒绝这条更新。

在这里插入图片描述

BGP路由启动

BGP协议是基于TCP的,其报文类型分成五种。

  • Open报文: 协商BGP参数
  • Update报文: 用于路由更新
  • Keepalive报文: 用于保活
  • Notification: 差错通知
  • Route-Refresh: 用于策略修改后,重新拉取对等体路由。

一个新的路由器加入AS,首先处于Idle状态,启动之后跟对等体建立TCP连接,如果连接成功,则发出Open报文交换路由的元信息,进入Connect状态。当收到对等路由的Open报文响应,则进入Open Confirm阶段。然后继续发送keepalive报文,用于维持双方的联系。
在这里插入图片描述

reference list

  1. RFC 4271 : A Border Gateway Protocol 4 (BGP-4)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值