AS:自治系统  --逻辑管理域(例如移动、电信、联通),AS号范围:0-65535,其中,1-64511:公有AS,64512-65535:私有AS

  IGP:内部网关协议,在一个AS之内传递的路由协议(RIP、OSPF、ISIS) 

    追求:收敛速度快,选择路径佳,占用资源少,hop-by-hop

  EGP:外部网关协议,在AS之间传递的路由协议(BGP)

    追求:可控性、可靠性、AS-by-AS

可控性:BGP协议不是路由的产生者,仅为搬运者,且AS间正常应该存在大量的链路来保障稳定性;故BGP协议传递的路由条目很难默认最佳选路;--需要管理员对路由进行大量的策略来干涉选路

可靠性:BGP协议虽然像距离矢量协议一样仅传递路由条目,但更新量依然很大;

  为了避免对设备资源的占用选择了增量更新---仅触发、无周期

      故需要保障所有的路由传递到位—可靠    因此BGP协议基于TCP工作

       TCP的三次握手条件使得TCP只能基于单播工作,同时BGP需要非直连建邻;

        BGP基于IGP之上,先IGP使BGP设备间IP可达,然后BGP才能基于TCP建立非直连邻居关系

AS-BY-AS:以一个AS为一跳,将一个AS看成一个整体;

BGP协议为不同AS间共享路由,工作时隔离两个AS的内部网络,形成一个独立的交互空间;且同时可以实施强大的策略来干涉选路;

BGP:边界网关路由协议 ,手动建邻(因为是单播)

1、协议特点(算法):路径矢量型(仅传递路由条目),没有算法

2、协议是否传递网络掩码:传递掩码,支持VLSM CIDR

3、协议消息数据包封装:基于TCP 179端口封装

一、BGP特点:

1、BGP是一种无类别路径矢量型路由协议  --距离矢量的升级版--AS-by-AS

2、BGP协议版本:当前版本:V4,默认仅支持传递IPv4单播路由,传递其他方式路由时需要开启(激活)

3、更新地址:单播更新,单播地址:既可以成为源也可以成为目标地址

4、更新方式:触发更新、增量更新(EIGRP、BGP),无周期更新

5、使用单播更新来发送所有信息;基于TCP 179端口工作

6、具有丰富的属性来取代IGP中度量进行选路----多个参数控制协议

7、可以在进项和出项对流量实施强大的策略--可控性

8、默认不被用于负载均衡-----通过各种选路规则仅仅产生一条最佳路径

9、BGP支持认证和聚合(汇总)

10、BGP是一种非常消耗资源的路由协议(一个路由器之能运行一个BGP进程协议)

二、EGP设计特性:

1、可靠性—大量的路由共享,取消周期更新    TCP 179端口工作    TCP 仅基于单播通信          BGP协议需要单播建立邻居关系(手工指定邻居的ip地址)

BGP可以非直连建邻(peer),BGP承载于IGP之上

2、可控性 --- 建邻、路由宣告、选路控制(干涉选路)--及其容易进行

3、AS-BY-AS    以一个AS为一跳

三、BGP邻居关系:

1、IBGP:内部BGP邻居(在一个AS内部的设备的关系)

2、EBGP:外部BGP邻居(在两个不同AS之间的设备的关系)
四、BGP工作过程:

管理员定义邻居的ip地址,前提要求对邻居ip可达; --- IGP可达

启动BGP协议后,先目标端口为179进行TCP的三次握手来建立TCP的会话;

会话建立后,收发open报文来建立邻居关系,生成邻居表;

邻居关系建立后,邻居间使用update 共享路由条目,在收发了路由信息后,本地生成BGP表;

Bgp表中装载本地发出及接收到的所有路由条目;

之后路由器将BGP表中的最优路径(不一定是最佳选路,仅为BGP参数最佳)加载于路由表中;

收敛完成!仅keeplive周期保活即可

五、防环:

  IBGP邻居的防环机制:

  IBGP水平分割机制(IBGP只传递一跳规则,通过一个BGP邻居学习的路由不能传递给其他的IBGP邻居)

    可以使用联邦和路由反射器来解水平分割问题

  EBGP邻居的防环机制:

  AS-Path, AS 路径防环,不接收AS-Path中包含自身AS号的路由信息

  (AS-Path中,会记录所有经过的AS编号;接收到的路由条目中若as-path中存在本地的AS号,将拒绝接收)

六、BGP邻居状态机制:

1、Idle:初始化

2、connect:连接

3、active:活动

4、opensent:发送open报文

5、openconfirm:open报文确认

established:邻居状态

七、BGP消息数据包

1、open:建立BGP邻居关系,只发送一次

2、keepalive:保活,维持BGP邻居关系,周期性发送 周期时间默认为60s

       周期一分钟查询邻居关系是否存在(实际上保活的是TCP的会话)

hold时间:保持时间 默认为180s

3、undate:更新,携带路由条目,目标网络号+各种属性

      生成BGP表,然后从BGP表中生成路由表,然后保活

八、BGP路由黑洞:

由于bgp协议可以非直连建立邻居关系,故若两台BGP邻居间存在未运行BGP协议的路由时;可能出现路由条目可以在控制层面正常单播传递,但数据层面流量经过未运行BGP协议的设备时,无法通行;控制层面可达,数据层面不可达

解决方法:

1、 物理或逻辑链路全连

2、 全连的BGP邻居关系,所有设备运行bgp;

3、 将BGP路由条目重发布到IGP协议中(LAB)

4、 最佳方案---MPLS  多协议标签交换

HCIP --- BGP 总结的更多相关文章

  1. HCIP --- BGP属性

    传播范围                 默认值              大优或小优 1. Preference_Value     不传播                      0       ...

  2. HCIP --- BGP综合实验

    实验要求: 实验拓扑: 一.配置IP地址 L:代表环回地址(loop back 0) Y:代表业务网段的地址(loop back 1) 二.因为BGP基于IGP之上,给AS 2内配置OSPF 在R2上 ...

  3. HCIP --- BGP实验

    实验拓扑: 要求: R1.R2是EBGP关系,R2.R4是IBGP关系,R4.R5是EBGP邻居关系 R1与R5的环回可以通信 1.配置IP地址 2.BGP承载与IGP之上,所以给AS 2 启用IGP ...

  4. HCIP --- MPLS BGP 实验

    实验要求: 实验拓扑: 一.配置IP地址 二.给AS 2配置OSPF 1.R2-R7配置相同: 查看路由表: 可以看到,业务网段学的是32位的 修改:在R2-R7上都修改 [R2]int loo1[R ...

  5. ISP路由表分发中的AS与BGP

    ➠更多技术干货请戳:听云博客 摘要 本文面向,初级网络工程师,数据挖掘工程师,涉及EGP(外部网关协议; Exterior Gateway Protocol),IGP(内部网关协议; Interior ...

  6. bgp多线

    BGP(边界网关协议)主要用于互联网AS(自治系统)之间的互联,BGP的最主要功能在于控制路由的传播和选择最好的路由. 中国网通 .中国电信.中国铁通.教育网和一些大的民营IDC运营商都具有AS号,全 ...

  7. BGP路由协议详解(完整篇)

    原文链接:http://xuanbo.blog.51cto.com/499334/465596/ 2010-12-27 12:02:45 上个月我写一篇关于BGP协议的博文,曾许诺过要完善这个文档,但 ...

  8. 边界网关协议BGP

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

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

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

随机推荐

  1. 在Spring data中使用r2dbc

    目录 简介 依赖关系 数据库连接配置 数据库初始化 DAO操作 Service操作和Transaction controller 测试 简介 上篇文章我们讲到了怎么在Spring webFlux中使用 ...

  2. CentOS下搭建禅道Bug反馈系统

    禅道 下载集成版本(apache\php\mysql) wget http://sourceforge.net/projects/zentao/files/8.2.5/ZenTaoPMS.8.2.5. ...

  3. k8s+docker_part2

    docker+k8s 目录 docker+k8s 1 简介 1.1 docker是什么 1.2 为什么要用docker 1.2.1 docker容器虚拟化的好处 1.2.2 docker在开发和运维中 ...

  4. tomcat安装及环境变量配置

    java环境的配置应该都学过吧,这里简单的讲一下. 下载安装java JDK,注意安装的路径,我们需要进行环境变量的配置. 2 安装完成以后,配置环境变量 环境变量的配置这里就以win7为例:右击计算 ...

  5. Cys_Control(五) MMenu

    一.查看Menu原样式 1.通过Blend查看Menu原有样式 Menu的原有样式结构较为简单,由边框Border及集合控件 ItemsPresenter 组成,原有样式如下 <Style x: ...

  6. 学习笔记(1):零基础掌握 Python 入门到实战-列表与元祖到底该用哪个?(二)...

    立即学习:https://edu.csdn.net/course/play/26676/338778?utm_source=blogtoedu 列表不能通过增加索引增加元素 可以使用list中的app ...

  7. Struts2中的开启AsyncContext的方法

    //获取到requestHttpServletRequest req = ServletActionContext.getRequest();//设置属性org.apache.catalina.ASY ...

  8. Python中序列解包与函数的参数收集之间的关系

    在<第4.7节 Python特色的序列解包.链式赋值.链式比较>中老猿介绍了序列解包,<第5.2节 Python中带星号的函数参数实现参数收集>介绍了函数的参数收集,实际上函数 ...

  9. Python学习随笔:使用xlwings读取和操作Execl文件的数字需要注意的问题

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 在使用xlwings读取Excel文件中的数据时,所有的数字不论是整数.浮点数还是文本存放的数字,在 ...

  10. anaconda 配置虚拟环境

    工作时有时候会遇到不同版本的问题,比如深度学习tensorflow 1.14版本 和 2.0版本,或者cpu版本和gpu版本,那么这个时候建立虚拟环境就很方便了 anaconda命令行下 1) act ...