摘自: https://blog.csdn.net/weixin_43751619/article/details/84954755

一,BGP协议原理与配置

边界网关协议( Border Gateway Protocol,BGP)是个复杂而又庞大的距离矢量动态路由协议,里面涉及许多非常复杂的配置。当然它的功能也非常强大,主要用于互联网AS之间的互连,BGP最主要的功能在于控制路由的传播和选择最优的路由。目前移动、电信和一些大的民营DC运行商都具有AS号,全国各大网络运行商都是通过BGP与自身的AS号来实现多线互联的。本次将依次介绍BGP路由协议工作原理以及应用场景和基本配置。

1,BGP协议概述

边界网关协议BGP是一种实现自治系统之间的路由可达,并选择最佳路由、提供无环路的域间距离矢量路由协议。早期发布的3个版本分别是BGP-1(RFC1105)、BGP-2(RFC1163)和BGP-3(RFC1267),1994年开始使用BGP4(RFC1771),2006年之后单播|PV4网络使用的版本是BGP4(RFC4271),其他网络(如|Pv6等)使用的版本是MP-BGP(RFC4760)。MP-BGP是对BGP4进行了扩展,来达到在不同网络中应用的目的,BGP-4原有的消息机制和路由机制并没有改变。MP-BGP在|Pv6单播网络上的应用称为BGP4+,在PV4组播网络上的应用称为MBGP( Multicast BGP)。BGP从多方面保证了网络的安全性、灵活性、稳定性、可靠性和高效性,BGP特征如下

  1. BGP采用认证和GTSM的方式,保证了网络的安全性
  2. BGP提供了丰富的路由策略,能够灵活地进行路由选路,并且能指导邻居按策略发布路由
  3. BGP提供了路由聚合和路由衰减功能用于防止路由振荡,有效提高了网络的稳定性。
  4. BGP使用TCP作为其传输层协议(端口号为179),并且支持BGP与BFD联动、 BGP Tracking和 BGP GR和NSR,提高了网络的可靠性在邻居数目多、路由量大且大部分邻居具有相同出口策略的场景下,BGP使用按组打包技术极大地提高了BGP打包发包性能。

2.BGP协议工作原理

BGP通过报文的交互完成邻居建立、路由更新等操作,共有Open、 Update、 Notification、 Keepalive

和 Route-refresh等5种报文类型。

  1. open报文:是TCP连接建立后发送的第一个报文,用于建立BGP邻居之间的连接关系。BGP邻居在接收到Open报文并协商成功后,将发送 Keepalive报文确认并保持连接的有效性。确认后,BGP邻居间可以进行 Update、 Notification、 Keepalive和 Route-refresh报文的交换。
  2. Update报文:用于在BGP邻居之间交换路由信息。 Update报文可以发布多条属性相同的可达路

    由信息,也可以撤销多条不可达路由信息。
  3. Notification报文:当BGP路由器检测到错误状态时,就向邻居发出 Notification报文,之后BGP

    连接会立即中断。
  4. Keepalive报文:BGP路由器会周期性地向邻居发出 Keepalive报文,用来保持连接的有效性。
  5. Route-refresh报文: Route-refresh用于在改变路由策略后请求对等体重新发送路由信息。

二,BGP选路规则

当到达同一目的地存在多条路由时,BGP依次对比下列属性来选择路由。

  1. 优选协议首选值( Prefva)最高的路由。协议首选值( Prefval)是华为设备的特有属性,该属性仅在本地有效。
  2. 优选本地优先级( Local Pref))最高的路由。如果路由没有本地优先级,BGP选路时将该路由按缺省的本地优先级100来处理。
  3. 依次优选手动聚合路由、自动聚合路由、 network命令引入的路由、 Import-route命令引入的路由,从对等体学习的路由。
  4. 优选AS路径( AS Path)最短的路由。
  5. 依次优选ogn类型为Gp.EGP、 Incomplete的路由。
  6. 对于来自同一AS的路由,优选MED值最低的路由。
  7. 依次优选EBGP路由、|BGP路由、 Localcross路由、 Remote Cross路由。PE上某个VPN实例的vPN4路由的ERT匹配其他VPN实例的RT后复制到该VPN实例,称为 LocalCross:从远端PE学习到的vPNw4路由的ERT匹配某个VPN实例的RT后复制到该VPN实例,称为 RemoteCross
  8. 优选到BGP下一跳GP度量值( metric最小的路由
  9. 优选 Cluster List最短的路由
  10. 优选 Router ID最小的设备发布的路由。如果路由携带 Originator ID属性,选路过程中将比较Originator ID的大小(不再比较 Router ID),并且优选 Originator ID最小的路由
  11. 优选从具有最小 IP Address I的对等体学来的路由。当到达同一目的地址存在多条等价路由时,可以通过BGP等价负载分担实现均衡流量的目的。形成BGP等价负载分担的条件是"BGP选择路由的策略”的1~8条规则中需要比较的属性完全相同。

BGP( Border Gateway Protocol)---边界网关协议的更多相关文章

  1. BGP路由协议(Border Gateway Protocol)

    BGP路由协议(Border Gateway Protocol) 目录 BGP路由协议(Border Gateway Protocol) 一.BGP概述 1.自治系统(AS,autonomous sy ...

  2. RIP、OSPF、BGP、动态路由选路协议、自治域AS

    相关学习资料 tcp-ip详解卷1:协议.pdf http://www.rfc-editor.org/rfc/rfc1058.txt http://www.rfc-editor.org/rfc/rfc ...

  3. 边界网关协议BGP

    Border Gateway Protocol (BGP) is a standardized exterior gateway protocol designed to exchange routi ...

  4. BGP(边界网关协议)简述

    BGP的起源 不同自治系统(路由域)间路由交换与管理的需求推动了EGP的发展,但是EGP的算法简单,无法选路,从而被BGP取代. 自治系统:(AS) IGP:自治系统内部协议,ospf,rip,is- ...

  5. protocol(协议) 和 delegate(委托)也叫(代理)---辨析

    protocol和delegate完全不是一回事. 协议(protocol),(名词)要求.就是使用了这个协议后就要按照这个协议来办事,协议要求实现的方法就一定要实现. 委托(delegate),(动 ...

  6. OC语言的Block与Protocol(协议)

    Block ● Block封装了一段代码,可以在任何时候执⾏行 ● Block可以作为函数参数或者函数的返回值,⽽而其本⾝身又可以带输⼊入参数或返回值. ● 苹果官⽅方建议尽量多⽤用block.在多线 ...

  7. loadrunner 脚本录制-Protocol Advisor协议分析器的使用

    脚本录制-Protocol Advisor协议分析器的使用 by:授客 QQ:1033553122 1.启动Protocol Advisor File > Protocol Advisor &g ...

  8. Protocol(协议)

    Protocol(协议) (一) (1)简介 1.Protocol:就一个用途,用来声明一大堆的方法(不能声明成员变量),不能写实现.看起来类似于一个类的接口, 不同的是协议没有父类,也不能定义实例变 ...

  9. 如何使用 Quagga BGP(边界网关协议)路由器来过滤 BGP 路由

    在之前的文章中,我们介绍了如何使用 Quagga 将 CentOS 服务器变成一个 BGP 路由器,也介绍了 BGP 对等体和前缀交换设置.在本教程中,我们将重点放在如何使用前缀列表prefix-li ...

随机推荐

  1. Buffer的重要属性 position/limit/capacity

    1 package nio; 2 3 import java.nio.IntBuffer; 4 5 /** 6 * Buffer的重要属性 position/limit/capacity 7 * po ...

  2. 茅坑杀手与Alias Method离散采样

    说起Alias,你可能第一个联想到的是Linux中的Alias命令,就像中世纪那些躲在茅坑下面(是真的,起码日本有粪坑忍者,没有马桶的年代就是社会的噩梦)进行刺杀的杀手一样,让人防不胜防,对于那些被这 ...

  3. TurtleBot3 Waffle (tx2版华夫)(13)RC100遥控杆控制

    13.1.遥控器说明 使用ROBOTIS RC100的设置已经在ROS的OpenCR固件中,因此不需要安装必需软件包, 安装号即可使用. 13.2.遥控器的安装 1接线口穿过后壳的过孔. 2接线口连接 ...

  4. 小米11和iPhone11 哪个好

    小米11:搭载最新一代三星的AMOLED屏幕,120Hz屏幕刷新iPhone11采用6.1英寸的分辨率1792828的LCD屏幕小米手机爆降800 优惠力度空前机会不容错过https://www.xi ...

  5. Solon rpc 之 SocketD 协议 - RPC调用模式

    Solon rpc 之 SocketD 协议系列 Solon rpc 之 SocketD 协议 - 概述 Solon rpc 之 SocketD 协议 - 消息上报模式 Solon rpc 之 Soc ...

  6. JAVA原生mvc实现用户信息的增删查改

    笔者最近学完jsp和servlet,于是心血来潮的打算写个简单的用户案例 环境准备: 开发工具eclipse jdk-1.8.0_72 tomcat-9.0.5 前端部分: 1.自己手写了一套样式 2 ...

  7. tf.argmax(vector,axis)函数的使用

    1.返回值 vector为向量,返回行或列的最大值的索引号: vector为矩阵,返回值是向量,返回每行或每列的最大值的索引号. 2.参数 vector为向量或者矩阵 axis = 0 或1 0:返回 ...

  8. 【Java基础】枚举类与注解

    枚举类与注解 枚举类的使用 当需要定义一组常量时,强烈建议使用枚举类. 枚举类的理解:类的对象只有有限个,确定的. 若枚举只有一个对象, 则可以作为一种单例模式的实现方式. 枚举类的属性: 枚举类对象 ...

  9. scp传文件夹

    scp -r /root/backupdb/2014-08-15(文件夹)    root@192.168.1.98:/root(目录)

  10. 在项目中应该使用Boolean还是使用boolean?

    起因 在公司看代码时,看到了使用Boolean对象来完成业务逻辑判断的操作.和我的习惯不一致,于是引起了一些反思. boolean和Boolean的差别咱就不说了,我们仅探讨使用boolean与Boo ...