zoukankan      html  css  js  c++  java
  • HCNP Routing&Switching之BGP基础

      前文我们了解了路由注入带来的问题以及解决方案相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15362604.html;今天我们来学习下新的路由协议BGP;

      BGP简介

      BGP的前身EGP设计非常简单,只能在AS之间简单的传递路由信息,不会对路由进行任何优选,也没有考虑如何在AS之间避免路由环路等问题,因而EGP最终被BGP取代;相比于EGP,BGP更具有路由协议的特征,比如邻居的发现和邻居关系的建立;路由的获取,优选和通告;提供路由环路避免机制,并能够高效传递路由,维护大量的路由信息;在不完全信任的AS之间提供丰富的路由控制能力;

      AS简介

      在EGP(exterior gateway protocol,外部网关协议)协议中,引入了AS(autonomous system,自治系统)的概念;所谓AS就是指有同一个技术管理机构管理,使用统一选路策略的一些路由器的集合;ASN(as number,AS编号),主要用来区分不同AS,除了能标识不同自治系统外,它在BGP中还有关键性作用,比如最佳路由的选举、环路避免、路由过滤;;AS的内部使用IGP(interior gateway protocol,内部网关协议)来计算和发现路由,比如ospf,RIP,IS-IS等;同一个AS内部的路由器之间是相互信任的,因此IGP的路由计算和信息泛洪完全处于开放状态,人工干预很少;即IGP建立邻居,发送hello包,计算路由,发现路由都是自动的,只要配置好对应的动态路由协议以后,建立邻居,发送hello包,计算路由等一系列操作都是自动的;对于不同AS之间的连接需求推动了外部网关协议的发展,BGP作为一种外部网关协议,用于在AS之间进行路由控制和优选;使用BGP作为传递路由的协议,则用户的路由域被作为一个整体和其他路由与进行路由交换,这个路由域就是AS;AS的概念是若干台路由器以及这些路由器组成的网络集合,这些路由器均属于同一管理机构,并执行统一的路由策略;运行BGP协议需要一个统一的自治系统号来标识路由域,即AS编号;每个自治系统都有一个唯一的编号,这个编号由IANA(The Internet Assigned Numbers Authority,互联网数字分配机构)分配;2009年1月之前,只能使用最多2字节长度的AS编号,即AS编号范围为0-65535,0和65535是保留;其中1-64511为公有AS,64512-65534为私有AS;在2009年1月以后,IANA决定使用4直接长度AS,范围是65536-4294967295;

      常见AS号及查询网站

      中国电信163(4134)、中国电信CN2(4809)、中国网通(9929);AS信息查询网站:https://whois.cnnic.cn/WhoisServlethttps://ip.sb/iana-asn/;查看自己属于哪个AS:https://ip.sb/

      BGP的基础作用

      提示:如上图所示,BGP主要用于多个AS之间传递和控制路由信息;AS内部使用IGP来计算和发现路由,如ospf,IS-IS,RIP等;

      BGP协议特点

      提示:如上图所示,BGP可以可以跨越多跳路由器建立邻居关系;因为BGP是在AS之间传递路由,为保证数据的可靠性,BGP使用TCP作为其承载协议建立连接(主要是TCP可靠),因此与IGP逐跳路由器建立邻居不同,BGP可以跨越多跳路由器建立邻居关系;AS之间的路由器是不完全相互信任的,为实现路由按需求进行控制和优选,BGP设计了诸多属性;BGP是路径矢量协议,工作在TCP的179端口;仅支持增量式、触发式更新,它没有周期更新,提供定期存活消息验证TCP连接,即心跳包(keepalived)来检测邻居的存活,默认心跳包是每60秒发送一次,如果在3个周期都没有收到对方的心跳,此时对应BGP路由器就会认为对方挂了,即邻居断开;丰富的度量标准,即路径矢量或属性;专为大型互联网而设计,优于距离矢量协议;

      为什么要使用BGP呢?

      1、大量路由需要承载,IGP只能容纳千跳,而BGP可以容纳上万条路由;

      2、支撑MPLS/VPN的应用,传递客户VPN路由;

      3、策略能力强,可以很好的实现路由决策与数据控制;

      BGP邻居概述

      BGP Speakers:指运行BGP协议的路由器;

      BGP Peers:指BGP邻居或者BGP对等体;

      邻居关系建立在TCP连接的基础上,因此邻居不一定需要直连,可以通过IGP或静态路由来提供TCP连接的可达性;BGP建立邻居和IGP不同,IGP需要邻居直连(P2P除外,它可以不直连,但一般不推荐),使用组播,单播建立邻居,而BGP只能单播建立邻居;邻居必须手动指定,而非自动建立;建立邻居和IGP也不同,IGP协议只要配置好,对应邻居会自动发现,自动建立,而BGP必须手动指定,怎么建立邻居,和谁建立邻居;一台BGP路由器只能运行在一个AS内;这个AS我们可以类比ospf里的区域,对于BGP路由器来说,它只能属于一个AS,不像ospf一台路由器可以同时属于多个区域;

      BGP邻居类型

      提示:如上图所示,运行在相同AS内的BGP路由器建立的邻居关系为IBGP(Internal BGP)邻居;运行在不同AS之间的BGP路由器建立的邻居关系为EBGP(External BGP)邻居;

       BGP基础配置

      实验:如下拓扑,配置BGP邻居

      分析:R1和R2在同一个AS内部,所以R1和R2他们建立IBGP邻居,而R2和R3他们处于不同AS,所以R2和R3只能建立EBGP邻居;

      配置好各路由器的接口ip地址

      R1的配置

      R2的配置

      R3的配置

      在R1上配置BGP,指定R2为R1的邻居

      提示:bgp 12后面的数字是指对应bgp所在as的编号,这个和IGP里面配置不同,IGP后面的数字是指对应进程号;其次手动指定邻居需要指定对应邻居的ip地址,以及邻居所属as编号;这样配置以后,R1就会向R2的12.0.0.2的179端口发起TCP三次握手,握手成功以后,开始建立邻居;

      在R1上抓包

      提示:可以看到R1向R2的179端口发送请求连接,但对方一直不搭理R1,所以导致R1的请求连接包一直被重置;其原因是R2上没有运行bgp,当然179端口也没有处于监听,所以R1一直不能建立连接;

      在R2上配置BGP,并指定邻居为R1

      查看R1上的抓包

      提示:可以看到当R2配置好bgp,并指定邻居以后,对应R1TCP三次握手就成功了,对应成功以后,R1向R2发送open包,R2回复R1确认包;对应R2也会向R1发送tcp三次握手,握手成功以后,R2向R1发送open包,R1向R2发送open包,然后R1向R2发送心跳包,R2向R1发送心跳包,R1回复R2确认包;通过上述抓包过程可以看到,双方都需要建立TCP三次握手,并且建立成功以后,对应发送open包和心跳包;对应邻居建立成功;

      验证:在R1查看bgp邻居

      提示:可以看到在R1上能够查看到和R2建立起邻居关系,对应状态为established;这个状态就表示连接准备就绪,建立起TCP连接;

      验证:在R2上查看bgp邻居

      配置router id

      提示:router id和ospf里的router id一样,用于标识bgp路由器;在配置过程中,如果我们没有配置,它也会自动选举,选举规则同ospf一样;这里还需要注意一点,bgp里更改router id会导致邻居宕掉,所以建议在规划好网络前配置好router id ;

      配置R2和R3建立邻居

      配置R3的邻居为R2

      提示:上述命令表示指定邻居为23.0.0.3,对应邻居所在as编号为3;

      在R3上配置邻居为R2

      验证:R2和R3的邻居

      提示:可以看到R2和R3也正常建立好邻居;后续我们就可以在对应bgp路由器里宣告网络;

    作者:Linux-1874
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
  • 相关阅读:
    DevOps Workshop 研发运维一体化(北京第二场) 2016.04.27
    DevOps Workshop 研发运维一体化(成都站) 2016.05.08
    TFS 2015 生成不输出任何结果
    挂起的更改中的“解析”是什么意思?原来是微软错误的翻译
    微软研发流程(ALM)管理培训会议(比亚迪汽车)
    TFS实战培训
    【实战TFS】【QQ群】了解别人是如何使用TFS的
    DevOps Workshop 研发运维一体化(广州站)
    制作Visual Studio 2017 (VS 2017) 离线安装包
    在每页(分页)报表中重复显示标题
  • 原文地址:https://www.cnblogs.com/qiuhom-1874/p/15370838.html
Copyright © 2011-2022 走看看