BGP邻居建立及特点

BGP特点:

  1. 有认证和GTSM机制,保障安全
  2. 有丰富的路由属性,更加灵活的选路
  3. 通过路由聚合,路由衰减防止震荡
  4. 增量式,触发式更新,路由条目太多了
  5. 基于TCP协议,179号端口,支持BFD等,提高可靠性
  6. 邻居多,对于有相同出口的场景,BGP会按组打包,提高打包,发包性能

BGP有两种角色

speaker 发送BGP报文的发送者
peer 相互发送BGP报文之间的关系叫对等体

BGP的邻居:

因为基于TCP协议,所以不需要直连,通过IGP(ospf等)协议,静态等来实现道路畅通,只要TCP可达,即路由也可达

BGP的邻居必须手动指定,不像ospf通过net一下就可以自动获取,
并且,一台BGP路由器只能在一个AS区域内,不能像ospf路由器那样,一台的多个接口属于不同的区域

所以,根据AS又可以分为:

IBGP:内部BGP,在相同AS内的BGP路由器
EBGP:外部BGP,在不同AS内的BGP路由器

这里有三台路由器,需求RT1和RT2建立邻居,RT2和RT3建立邻居
先看RT1和RT2之间的需求
配置:

[rt1-bgp]dis th
[V200R003C00]
#
bgp 12        //bgp进程号router-id 1.1.1.1//bgp的router-id,和ospf的一样,选举方式也一样    peer 10.1.1.2 as-number 12  //指定的邻居ip以及邻居所属的AS#ipv4-family unicastundo synchronizationpeer 10.1.1.2 enable
[rt2-bgp]dis th
[V200R003C00]
#
bgp 12  //bgp进程号router-id 2.2.2.2  //bgp的router-id,和ospf的一样,选举方式也一样  peer 10.1.1.1 as-number 12 //指定的邻居ip以及邻居所属的AS#ipv4-family unicastundo synchronizationpeer 10.1.1.1 enable
#

路由器在配置好邻居后,会自动配置enable,反之也说明邻居是可以关闭的
验证:
状态为establishe则代表邻居建立成功

peer 指向的邻居地址
V 表示版本号,这里是4
AS 表示区域号
MsgRcvd 表示接受的数据包的个数,是会随着时间不断更新的
MsgSent 表示发送的数据包的个数,也是会不断更新的
out 表示缓存区待发送的数据包
Up/Down 表示建立时长
state 表示状态
pre 表示从对方那里收到多少条路由更新

通过抓包可以看出,邻居建立之前显示TCP的三次握手,只要有一方发起,并且握手成功,peer就建立完成了

验证tcp的状态发现:bgp邻居建立成功的最后状态和tcp的状态一模一样(bgp是基于tcp建立邻居的),并且发起方是不定的(纯看运气),谁先发,谁的端口号就是随机的,发送到对方的179端口上面的listening是监听状态

RT1:
eg:我的179端口接收10.1.1.2从任意端口发来的请求
eg:10.1.1.2从50037端口向我的179发起请求,经过三次握手,最终邻居建立成功

在BGP的世界,一台路由器可能用多个端口连接多台设备,建立多个邻居,如果用物理端口,万一端口downl,邻居建立失败,里面这么多路由不就嗝了,所以,可以通过创建loopback口,来进行邻居的建立

配置完成后,发现等了60S多了还没有建立邻居(BGP默认60S发一次keepalive,更新机制比较慢)一抓包发现,只有arp请求,其他啥都没有,为什么呢?

bgp状态也不对,ping1.1.1.1发现,原来是路由没有通,BGP虽然不用直连就可以建立邻居,但是如果底层的IGP路由都没有通,BGP也无法建立邻居
配置ospf后发现:
邻居还是没有建立成功
首先分析一下,bgp邻居建立需要哪些条件:

  1. 邻居地址可达
  2. 本地配置的邻居AS=邻居声明的AS
  3. 源ip=邻居指定的IP地址

前面两条都满足了,但是源ip等于邻居指定的ip是什么意思呢?
通过抓包可以看出,发起方是10.1.1.2或者10.1.1.1(因为数据包发出时,目的地址是2.2.2.2,但是源地址默认是出接口地址),但是我们配置时的peer指定的是2.2.2.2和1.1.1.1,很明显BGP查看之后,不知道10.1.1.2或者10.1.1.1是谁,于是就RST重置,拒绝,再发起,也是重置拒绝
所以这里需要加一条命令:
手动指定源地址是哪个接口的地址

peer 1.1.1.1(邻居的回环地址) connect-interface lo1

60秒一过,邻居建立成功

RT1和RT2的需求基本上就完成了,RT3和RT2之间也要建立邻居:

ip route-sta 3.3.3.3 32 10.2.2.3  //保证路由时畅通的
[rt2-bgp]dis th
[V200R003C00]
#
bgp 12peer 1.1.1.1 as-number 12 peer 1.1.1.1 connect-interface LoopBack1peer 3.3.3.3 as-number 3 peer 3.3.3.3 connect-interface LoopBack1#
ip route-static 2.2.2.2 32 10.2.2.2 //保证路由是畅通的
[rt3-bgp]dis th
[V200R003C00]
#
bgp 3peer 2.2.2.2 as-number 12 peer 2.2.2.2 connect-interface LoopBack1

等了好久邻居也没有成功,抓包发现:
TCP建立成功后,双方又发送了notification报文,然后TCP就断开连接了???
点开报文发现,TTL的值变成了1,之前邻居建立成功的报文TTL的值都是255,通过点开notification,里面的FSM状态检测机制说有一个错误,然后标出了TTL值为1的问题:

当RT2发送到10.2.2.3时,会查看路由表3.3.3.3在哪里,这里算是一跳TTL的值会减一,所以这里需要将TTL的值进行修改,至少修改成2

peer 2.2.2.2 ebgp-max-hop 255 (后面数字不敲默认时255)

这里和前面不一样,双方都需要修改TTL值才可以邻居建立成功,否则会在成功,失败反复跳转
双方都配置后,邻居建立成功:

优化:

RT1和RT2之间可以采用loopback口配置,因为他们属于同一个AS区域内(IBGP),里面会跑动态路由来保证道路畅通;
然而RT2和RT3之间是属于不同的AS内(EBGP),他们之间不能通过跑ospf等建立邻居,否则就不需要BGP了,所以他们之间就需要跑静态,然后修改TTL,但是这样又有点麻烦,所以在不同的AS之间,可以直接通过物理口建立邻居,并且EBGP是默认直连,TTL默认为1,当然如果是非直连,可以通过修改TTL实现

BGP邻居建立及特点相关推荐

  1. bgp 建立邻居发送的报文_bgp邻居建立过程及报文详解.doc

    bgp邻居建立过程及报文详解.doc 还剩 4页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: 前缀长度和网络号8.当路由失效时,也发送 update ...

  2. BGP——基本概念1(自治系统、邻居建立)

    目录 基本概念 自治系统 BGP对等体概述 名词解释 基本概念 对等体类型 建立对等体关系的条件 对等体信息参数讲解 BGP邻居建立过程 基本概念 1.BGP 是路径矢量协议,是自治系统间的路由协议 ...

  3. 《CCIE路由和交换认证考试指南(第5版) (第2卷)》——1.2节构建BGP邻居关系...

    本节书摘来自异步社区<CCIE路由和交换认证考试指南(第5版) (第2卷)>一书中的第1章,第1.2节构建BGP邻居关系,作者 [美]那比克 科查理安(Narbik Kocharians) ...

  4. 【BGP基础】(建bgp邻居、邻居状态机、报文)

    一.BGP背景 之前学的ospf和isis都是igp都是用来计算路由,选一条最优路径 bgp只负责路由传递 二.BGP基本概念 1)bgp因为基于TCP,既可靠又快 2)bgp是距离矢量,只会传路由, ...

  5. BGP——邻居关系(IBGP+EBGP)的建立(讲解及配置命令)

    目录 一.BGP邻居分类: 二.BGP邻居的建立: --(1)IBGP邻居关系建立-环回接口: -注意点+要求: -配置命令: --(2)EBGP邻居关系建立-直连接口 : -注意点+要求: -配置命 ...

  6. 使用回环地址建立bgp邻居

    一.拓扑图: 二.详细说明与配置: 1.配置各接口IP地址,以及R1和R2运行RIP V2,并关闭自动汇总,保证链路的互通性: 2.我们先在R1上配置BGP,这次我们不用对端接口地址来建立bgp的邻居 ...

  7. BGP邻居特性及下一跳如何建立 学习笔记

    两台路由器运行bgp建立任何邻居之前,会先交互tcp的三个报文 ,三次握手做完之后建成一个基于tcp的 信道,基于信道就开始邻居关系建立,只用交互一个open报文 .主要包括路由信的身份标识 ,rou ...

  8. BGP协议原理(一)BGP协议基本概念:BGP作用与特点、BGP邻居关系建立与配置

    文章目录 前提概念 AS ASN IGP与EGP BGP的基本概述 基本作用 BGP协议特点 BGP邻居关系和配置 建立TCP连接 BGP邻居类型 BGP简单邻居关系配置 报文类型 邻居关系的建立 前 ...

  9. 锐捷BGP基础配置(邻居建立、路由重发布、路由聚合、认证)

    目录 配置IBGP邻居 配置EBGP邻居 配置BGP重发布OSPF BGP路由聚合 BGP其它配置 配置IBGP邻居 R2.R3.R4底层IGP互通,此处IGP互通配置不做介绍 R2与R4通过Loop ...

最新文章

  1. Java 程序员薪资这么高,取决于什么?
  2. ssh在dhcp自动获取地址的时候使用
  3. linux怎么调用静态库,Linux 静态库的创建和使用
  4. 最优化学习笔记(四)共轭梯度法
  5. 笨办法学 Python · 续 练习 19:改善性能
  6. jquery+easyui+datagrid 排序
  7. OpenShift 4 - DevSecOps - 视频
  8. L1-003 个位数统计 (15 分)—团体程序设计天梯赛
  9. Julia :关于函数返回类型::
  10. 一次完整的http请求过程是怎样的?
  11. 如何用excel做正交分析_利用Excel进行正交设计及分析
  12. eigen一维向量_Eigen中的矩阵及向量运算
  13. Windows2016 L2TP配置(证书模式)
  14. 网络故障排查流程及工具使用手册
  15. python if嵌套/while嵌套/竞技叠杯
  16. Linux音视频学习--常见的音视频传输协议及基本概念介绍
  17. 【Linux】Centos设置Python的软链接
  18. MyBatis中达到where a and (b or c)形式
  19. postgresql模糊查询不区分大小写
  20. 天池比赛notebook

热门文章

  1. debian11删除swap分区之后出现mdadm no arrays found in config file or automatically的的解决方法
  2. ESP32系列--第十篇 ADC电阻网络按键
  3. 博云:Kubernetes 近年影响最大版本发布,这几点值得关注
  4. 【对讲机的那点事】搭建无线电天馈系统如何使用热塑管和制作跳线?
  5. 【无标题】Java基础
  6. java调用微信红包接口_java调用微信现金红包接口的心得与体会
  7. 2021最强Android中高级大厂面试源码秘籍,为你备战2022金三银四,直通大厂
  8. mysql登录失败5次锁定300秒_django 实现登录时候输入密码错误5次锁定用户十分钟...
  9. 一家公司招聘你后,凭什么给你开高工资?
  10. HTML文檔中 垂直置中