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. NameServer 与zk

    1.nameServer 之间互不通信,故不存在强一致性,即不同的producer看到的视图可能时不一样的,(如何保证最终一致的?) 2.nameServer维护的boker信息 发生变化时,不会像z ...

  2. AgileConfig-轻量级配置中心 1.1.0 发布,支持应用间配置继承

    AgileConfig轻量级配置中心自第一个版本发布不知不觉已经半年了.在并未进行什么推广的情况下收到了250个star,对我有很大的鼓舞,并且也有不少同学试用,并且给出了宝贵的意见,非常感谢他们.其 ...

  3. python批量definition query

    import arcpy mxd = arcpy.mapping.MapDocument("current") for lyr in arcpy.mapping.ListLayer ...

  4. 记一次MySQL出现Waiting for table metadata lock的原因、排查过程与解决方法

    任务背景:将sql文件通过shell直接导入到mysql中执行(还原) bug表现:导入后java项目卡死 过程: 1.网上乱搜一通,无意间看到一篇文章,这篇文章说明了如何开启mysql的genera ...

  5. 第二十五章、containers容器类部件GroupBox分组框详解

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.概述 容器部件就是可以在部件内放置其他部件的部件,在Qt Designer中可以使用的容器部件有 ...

  6. bootstrap table 嵌入百分比进度条

  7. 【题解】CIRU - The area of the union of circles [SP8073] \ 圆的面积并 [Bzoj2178]

    [题解]CIRU - The area of the union of circles [SP8073] \ 圆的面积并 [Bzoj2178] 传送门: \(\text{CIRU - The area ...

  8. utc时间转换为太平洋时间

    方法一 from datetime import datetime from pytz import timezone cst_tz = timezone('Asia/Shanghai') utc_t ...

  9. 从面试角度分析ArrayList源码

    注:本系列文章中用到的jdk版本均为java8 ArrayList类图如下: ArrayList的底层是由数组实现的,数组的特点是固定大小,而ArrayList实现了动态扩容. ArrayList部分 ...

  10. 接口测试工具 Jmeter使用笔记(一:编写一个http请求)

    记录学习过程 一.安装Jmeter 1.JAVA环境 JDK下载地址http://java.sun.com/javase/downloads/index.jsp 配置系统变量: (1)JAVA_HOM ...