BGP距离矢量动态路由协议
BGP(边界网关协议)
文章目录
- BGP(边界网关协议)
- 一、BGP特征
- 1、主要作用
- 2、相关特点
- 二、BGP的6种状态
- 1、空闲(Idle)
- 2、连接(Connect)
- 3、行动(Active)
- 4、OPEN发送(Open sent)
- 5、OPEN证实(Open confirm)
- 6、已建立(Established)
- 三、BGP的5个报文
- 1、Open
- 2、Keepalive
- 3、Update
- 4、Notification
- 5、route-refresh
- 四、BGP的2个对等体类
- 五、BGP的5大原则
- 六、BGP的属性
- 1、公认属性:
- 【1】公认必遵(Well-Known Mandatory)
- 【2】公认自决(Well-Known Discretionary)
- 2、可选属性:
- 【1】可选过渡(Optional Transitive)
- 【2】可选非过渡(Optional Nontransitive)
- 七、配置命令
- 七、配置实验
- 1、实验拓扑
- 2、路由器1的配置信息
- 3、路由器2的配置信息
- 4、路由器3的配置信息
- 5、路由器4的配置信息
- 6、测试连通性
一、BGP特征
边界网关协议( 英文:Border Gateway Protocol,BGP)是互联网上一个核心的去中心化自治路由协议。它通过维护IP路由表或前缀表来实现自治系统(AS)之间的可达性,属于矢量路由协议。 BGP 是唯一一个用来处理像因特网大小的网络的协议,也是唯一能够妥善处理好不相关路由域间的多路连接的协议。BGP构建在 EGP 的经验之上,其系统的主要功能是和其他的BGP系统交换网络可达信息。网络可达信息包括列出的自治系统(AS)的信息。这些信息有效地构造了 AS 互联的拓朴图并由此清除了路由环路,同时在 AS 级别上可实施策略决策。BGP不使用传统的内部网关协议(IGP)的指标,而使用基于路径、网络策略或规则集来决定路由。因此,它更适合被称为矢量性协议,而不是路由协议。
1、主要作用
在AS之间自动交换无环路的路由信息从而消除路由环路并实施用户配置的路由策略。其中EBGP在不同的AS之间传输数据,IBGP在同一个AS之内传输数据。
2、相关特点
BGP属于外部或域间路由协议。BGP的主要目标是为处于不同AS中的路由器之间进行路由信息通信提供保障。BGP既不是纯粹的矢量距离协议,也不是纯粹的链路状态协议,通常被称为通路向量路由协议。这是因为BGP在发布到一个目的网络的可达性的同时,包含了在IP分组到达目的网络过程中所必须经过的AS的列表。通路向量信息时十分有用的,因为只要简单地查找一下BGP路由更新的AS编号就能有效地避免环路的出现。BGP对网络拓扑结构没有限制。特点有:
【1】传输协议:TCP,端口号:179;
【2】路由更新只发送增量路由;
【3】周期性发送keepalive报文以确保TCP连通性;
【4】支持无类别域间选路;
【5】实现自治系统间通信,传播网络的可达信息。BGP 是一个外部网关协议,允许一个AS与另一个AS进行通信。BGP允许一个AS向其他AS通告其内部的网络的可达性信息,或者是通过该AS可达的其他网络的路由信息。同时,AS也能够从另一个AS中了解这些信息。与距离向量选路协议类似,BGP为每个目的网络提供的是下一跳(next-hop)结点的信息。
【6】多个BGP路由器之间的协调。如果在一个自治系统内部有多个路由器分别使用BGP与其他自治系统中对等路由器进行通信,BGP可以协调者一系列路由器,使这些路由器保持路由信息的一致性。
【7】BGP支持基于策略的选路(policy-base routing)。一般的距离向量选路协议确切通告本地选路中的路由。而BGP则可以实现由本地管理员选择的策略。BGP路由器可以为域内和域间的网络可达性配置不同的策略。
【8】可靠的传输。BGP路由信息的传输采用了可靠地TCP协议。
【9】路径信息。在BGP通告目的网络的可达性信息时,处理指定目的网络的下一跳信息之外,通告中还包括了通路向量(path vector),即去往该目的网络时需要经过的AS的列表,使接受者能够了解去往目的网络的通路信息。
【10】增量更新。BGP不需要再所有路由更新报文中传送完整的路由数据库信息,只需要在启动时交换一次完整信息。后续的路由更新报文只通告网络的变化信息。这种网络变化的信息称为增量(delta)。
【11】BGP支持无类型编制(CIDR)及VLSM方式。通告的所有网络都以网络前缀加子网掩码的方式表示。
【12】路由聚集。BGP允许发送方把路由信息聚集在一起,用一个条目来表示多个相关的目的网络,以节约网络带宽。
【13】BGP还允许接收方对报文进行鉴别和认证,以验证发送方的身份。
二、BGP的6种状态
1、空闲(Idle)
为初始状态,当协议激活后开始初始化,复位计时器,并发起第一个TCP连接,并开始倾听远程对等体所发起的连接,同时转向Connect状态。。
2、连接(Connect)
开始TCP连接并等待TCP连接成功的消息。如果TCP连接成功,则进入OpenSent状态;如果TCP连接失败,进入Active状态。
3、行动(Active)
BGP总是试图建立TCP连接,若连接计时器超时,则退回到Connect状态,TCP连接成功就转为Open sent状态。
4、OPEN发送(Open sent)
TCP连接已建立,自己已发送第一个OPEN报文,等待接收对方的Open报文,并对报文进行检查,若发现错误则发送Notification消息报文并退回到Idle状态。若检查无误则发送Keepalive消息报文,Keepalive计时器开始计时,并转为Open confirm状态。
5、OPEN证实(Open confirm)
BGP等待Keepalive报文,同时复位保持计时器。如果收到了Keepalive报文,就转为Established状态,邻居关系协商完成。如果系统收到一条更新或Keepalive消息,它将重新启动保持计时器;如果收到Notification消息,BGP就退回到空闲状态。
6、已建立(Established)
即建立了邻居(对等体)关系,路由器将和邻居交换Update报文,同时复位保持计时器。
三、BGP的5个报文
1、Open
Open消息是TCP连接建立后发送的第一个消息,用于建立BGP对等体之间的连接关系。
2、Keepalive
BGP会周期性地向对等体发出Keepalive消息,用来保持连接的有效性。
3、Update
Update消息用于在对等体之间交换路由信息。它既可以发布可达路由信息,也可以撤销不可达路由信息。
4、Notification
当BGP检测到错误状态时,就向对等体发出Notification消息,之后BGP连接会立即中断。
5、route-refresh
告知对等体所支持的路由刷新能力
四、BGP的2个对等体类
由于可能与不同的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。
1、IBGP
AS内部的BGP邻居关系,运行在BGP协议对等体在同一个AS域内。
2、EBGP
AS之间的BGP邻居关系,运行在BGP协议对等体不在同一一个AS域内。
BGP属于外部网关路由协议,可以实现自治系统间无环路的域间路由。BGP是沟通Internet广域网的主用路由协议,例如不同省份、不同国家之间的路由大多要依靠BGP协议。BGP可分为IBGP(Internal BGP)和EBGP(External BGP)。BGP的邻居关系(或称通信对端/对等实体)是通过人工配置实现的,对等实体之间通过TCP(端口179)会话交互数据。BGP路由器会周期地发送19字节的保持存活keep-alive消息来维护连接(默认周期为30秒)。在路由协议中,只有BGP使用TCP作为传输层协议。
五、BGP的5大原则
1)连接建立时,BGP Speaker只把本身用的最优路由通告给对等体。
2)多条路径时,BGP Speraker只选择最优的路由放入路由表。
3)BGP Speraker从EBGP获得路由会向它所有的BGP对等体通告(包括EBGP和IBGP)。通告给EBGP时,下一跳为自己。(注:如果通告路由的EBGP邻居需要接收的的EBGP邻居在同一网段,则通告时不修改下一跳。)通告给IBGP时,不更改下一跳。防止次优路径。
4)BGP Speraker从IBGP获得的路由不会通告给其他的IBGP邻居。
5)EBGP与IBGP同步。BGP不将从IBGP对等体获得的路由通告给它的EBGP对等体,除非该路由信息也能通过IBGP过得。所有厂商同步功能默认关闭。华为不支持开启,思科可以开启。
六、BGP的属性
路由器发送关于目标网络的BGP更新消息,更新的度量值被称为路径属性。属性可以是公认的或可选的、强制的或自由决定的、传递的或非传递的。属性也可以是部分的。并非组织的和有组合的都是合法的,路径属性分为4类:公认必遵、公认自决、可选过渡、可选非过渡。
1、公认属性:
是公认所有BGP实现都必须识别的属性,这些属性被传递给BGP邻居。公认强制属性必须出现在路由描述中,公认自由决定属性可以不出现在路由描述中。
【1】公认必遵(Well-Known Mandatory)
ORIGIN(起源):这个属性说明了源路由是怎样放到BGP表中的。有三个可能的源IGP,EGP,以及INCOMPLETE.路由器在多个路由选择的处理中使用这个信息。路由器选择具有最低ORIGIN类型的路径。
AS_PATH(AS路径):指出包含在UPDATE报文中的路由信息所经过的自治系统的序列。
Next_HOP(下一跳)声明路由器所获得的BGP路由的下一跳,对EBGP会话来说,下一跳就是通告该路由的邻居路由器的源地址。
【2】公认自决(Well-Known Discretionary)
LOCAL_PREF(本地优先级):本地优先级属性是用于告诉自治系统内的路由器在有多条路径的时候,怎样离开自治系统。本地优先级越高,路由优先级越高。
ATOMIC_AGGREGATE(原子聚合):原子聚合属性指出已被丢失了的信息。
2、可选属性:
非公认属性被称为可选的,可选属性可以是传递的或非传递的。可选属性不要求所有的BGP实现都支持。对于不支持的可选传递属性,路由器将其原封不动的传递给其他BGP路由器,在这种情况下,属性被标记为部分的。对于可选非传递属性,路由器必须将其删除,而不将其传递给其他BGP路由器。
【1】可选过渡(Optional Transitive)
AGGREGATOR(聚合者):此属性标明了实施路由聚合的BGP路由器ID和聚合路由的路由器的AS号。
COMMUNITY(团体):此属性指共享一个公共属性的一组路由器。
【2】可选非过渡(Optional Nontransitive)
MED(多出口区分):该属性通知AS以外的路由器采用哪一条路径到达AS,它也被认为是路由的外部度量,低MED值表示高的优先级。
ORIGINATOR_ID(起源ID):路由反射器会附加到这个属性上,它携带本AS路由器的路由器ID,用以防止环路。
CLUSTER_LIST(簇列表):此属性显示了采用的反射路径。
七、配置命令
假设一个对等体路由器的loop0IP地址是1.1.1.1 32,属于AS100。另一个为2.2.2.2 32,属于AS200。对等体属于 ebgp类别。
router id 1.1.1.1
bgp 100(AS区域号)
peer 2.2.2.2 as-number 200(建立邻居关系)
peer 2.2.2.2 connect-interface loopback 0(连接对等体接口是loo0)
peer 2.2.2.2 ebgp max-hop 2(到对等体环回口最大条数)
network 1.1.1.1 32(引入路由信息)
在其对等体路由器上配置
router id 2.2.2.2
bgp 200(AS区域号)
peer 1.1.1.1 as-number 100(建立邻居关系)
peer 1.1.1.1 connect-interface loopback 0(连接对等体接口是loo0)
*在IBGP类上面配置是没有最大跳数的。
peer 1.1.1.1 ebgp max-hop 2(到对等体环回口最大条数)
network 2.2.2.2 32(引入路由信息)
七、配置实验
1、实验拓扑
2、路由器1的配置信息
路由表信息
3、路由器2的配置信息
路由表信息
4、路由器3的配置信息
路由表信息
5、路由器4的配置信息
路由表信息
6、测试连通性
BGP距离矢量动态路由协议相关推荐
- OSPF动态路由协议(了解ospf,RIP协议,外部网关协议内部网关协议,ospf工作过程,选举过程,ospf邻居关系7个状态)
文章目录 OSPF动态路由协议 常见的路由协议 RIP距离矢量型路由协议 RIP的度量值与更新时间 RIP v1和RIP v2的区别 内部网关协议和外部网关协议 OSPF的基本概念和工作过程 AS(a ...
- HCNP——动态路由协议及分类和最长前缀匹配
基于协议算法的不同,可以将动态路由协议分为两类:一类是距离矢量路由协议:另一类是链路状态路由协议. 一.距离矢量路由协议(RIP) 距离矢量路由协议指的是基于距离矢量的路由协议,RIP是最具代表性的距 ...
- 动态路由-距离矢量协议(DV之BGP、EIGRP、RIP)20210821
BGP(边界网关协议)是很重要的路由协议,由于其路径属性我将其与RIP(路由信息协议)一起归类在DV协议大类. ps.由于是XMIND转DOC复制到CSDN...图片全部上传失败..服了(ˉ▽ˉ:). ...
- 管理距离 路由与交换_动态路由选择原理(距离矢量路由协议RIP)
一.动态路由协议的基本介绍: 路由协议的分类: 静态路由与动态路由 动态路由分类: 动态路由协议 tips:既然分为内部网关协议和外部网关协议?那们这个内与外相对的是什么呢? 1.在因特网中,会将互联 ...
- 多路径路由算法选择(2)——回顾传统的动态路由协议(RIP、OSPF、BGP、IGRP、EIGRP、IS-IS)
路由协议:用于路由器动态寻找网络最佳路径,保证所有路由器拥有相同的路由表,一般路由协议决定数据包在网络上的行走路径. 路由协议简单分为静态路由协议和动态路由协议. 静态路由协议简单说就是手工配置路由选 ...
- 距离矢量路由算法_简单聊聊路由协议
帅天今天难得一次写两篇文章,希望兄弟们给点力,点个赞.码字不易啊. 这篇文章简单的聊聊路由协议,注意这里是简单,路由协议太复杂,了解一下即可. 我们在大学里面学习计算机网络与数据结构的时候,知道求最短 ...
- 华为BGP动态路由协议理论
文章目录 华为BGP动态路由协议理论 自治系统AS BGP的特征 BGP报文 BGP状态机 BGP 数据库 BGP对等体设置 直连建邻居要注意的 用环回口建邻居要注意的 关于为什么要用环回口建邻居 B ...
- 动态路由选择协议(二)距离矢量路由选择协议
大多数的路由选择协议属于下面二者之一: 距离矢量(distance vector)和链路状态(link state). 本篇学习的是距离矢量路由选择协议的基础. 大多数的距离矢量算法是R.E.Bell ...
- 移动Ad Hoc下按需距离矢量路由协议AODV实验报告
移动Ad Hoc下按需距离矢量路由协议AODV实验报告 一.实验内容 通过分析AODV路由帧类型及作用,并仿真网络建立.节点间通信.节点加入.节点退出,进一步分析各帧在其中工作流程,通过Python仿 ...
最新文章
- 记录一次mysql不能启动的解决方案
- 前端获取浏览器标识_浏览器缓存机制
- 为什么用c语言程序中的if语句实现从1加到100最后的结果是负数,用C语言程式计算从1加到100的程式是怎样的?...
- 实用window2008之七 :路由器配置应用实例
- Chronicle 已死,凶手是谷歌!
- MS CRM 2011的自定义与开发(2)——预备知识
- JavaScript调用Linux系统命令
- Ubuntu18.04安装PX4并与ROS联合实验
- python汇率兑换_汇率兑换—python第一课
- android 文字倾斜,TextView中文本倾斜
- Keil MDK又来了一个小升级
- 小白也能看懂的华为防火墙配置教程
- 【DB宝14】在Docker中只需2步即可拥有Oracle 11g企业版环境(11.2.0.4)
- TSC 打印机开发TSPL黑底白字的打印以及一些问题
- CentOS 8 安装视频网站与流媒体直播Nginx-http-flv-module模块
- 经济的寒冬,数据的春天
- 删除微软office正版验证补丁
- RAID 0 1 5 10特点以及工作原理
- CSS让5个20%div排成一行
- 【异构图神经网络】HGraph || 附:AI研究生时间规划 建议(研一、研二、研三)
热门文章
- android+屏幕色彩度,对比度/色阶/色彩 屏幕显示对比_索尼 Xperia Z2_手机Android频道-中关村在线...
- 【TUG 话题探讨003】TUG 专家们如何做 TiDB 性能调优
- jQuery+PHP实现的砸金蛋中奖程序
- 《R语言入门与实践》学习笔记四
- CorelDRAW 条形码改不了字体如何解决?
- 数据分析师的日常工作是什么?
- api windows 线程加锁_Windows 进程与线程管理
- 日有所思(7)——电拖疑问
- 在vscode中查看当前项目的工作环境
- 笛卡尔生平及其成就介绍