BGP邻居建立及特点
BGP邻居建立及特点
BGP特点:
- 有认证和GTSM机制,保障安全
- 有丰富的路由属性,更加灵活的选路
- 通过路由聚合,路由衰减防止震荡
- 增量式,触发式更新,路由条目太多了
- 基于TCP协议,179号端口,支持BFD等,提高可靠性
- 邻居多,对于有相同出口的场景,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邻居建立需要哪些条件:
- 邻居地址可达
- 本地配置的邻居AS=邻居声明的AS
- 源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邻居建立及特点相关推荐
- bgp 建立邻居发送的报文_bgp邻居建立过程及报文详解.doc
bgp邻居建立过程及报文详解.doc 还剩 4页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: 前缀长度和网络号8.当路由失效时,也发送 update ...
- BGP——基本概念1(自治系统、邻居建立)
目录 基本概念 自治系统 BGP对等体概述 名词解释 基本概念 对等体类型 建立对等体关系的条件 对等体信息参数讲解 BGP邻居建立过程 基本概念 1.BGP 是路径矢量协议,是自治系统间的路由协议 ...
- 《CCIE路由和交换认证考试指南(第5版) (第2卷)》——1.2节构建BGP邻居关系...
本节书摘来自异步社区<CCIE路由和交换认证考试指南(第5版) (第2卷)>一书中的第1章,第1.2节构建BGP邻居关系,作者 [美]那比克 科查理安(Narbik Kocharians) ...
- 【BGP基础】(建bgp邻居、邻居状态机、报文)
一.BGP背景 之前学的ospf和isis都是igp都是用来计算路由,选一条最优路径 bgp只负责路由传递 二.BGP基本概念 1)bgp因为基于TCP,既可靠又快 2)bgp是距离矢量,只会传路由, ...
- BGP——邻居关系(IBGP+EBGP)的建立(讲解及配置命令)
目录 一.BGP邻居分类: 二.BGP邻居的建立: --(1)IBGP邻居关系建立-环回接口: -注意点+要求: -配置命令: --(2)EBGP邻居关系建立-直连接口 : -注意点+要求: -配置命 ...
- 使用回环地址建立bgp邻居
一.拓扑图: 二.详细说明与配置: 1.配置各接口IP地址,以及R1和R2运行RIP V2,并关闭自动汇总,保证链路的互通性: 2.我们先在R1上配置BGP,这次我们不用对端接口地址来建立bgp的邻居 ...
- BGP邻居特性及下一跳如何建立 学习笔记
两台路由器运行bgp建立任何邻居之前,会先交互tcp的三个报文 ,三次握手做完之后建成一个基于tcp的 信道,基于信道就开始邻居关系建立,只用交互一个open报文 .主要包括路由信的身份标识 ,rou ...
- BGP协议原理(一)BGP协议基本概念:BGP作用与特点、BGP邻居关系建立与配置
文章目录 前提概念 AS ASN IGP与EGP BGP的基本概述 基本作用 BGP协议特点 BGP邻居关系和配置 建立TCP连接 BGP邻居类型 BGP简单邻居关系配置 报文类型 邻居关系的建立 前 ...
- 锐捷BGP基础配置(邻居建立、路由重发布、路由聚合、认证)
目录 配置IBGP邻居 配置EBGP邻居 配置BGP重发布OSPF BGP路由聚合 BGP其它配置 配置IBGP邻居 R2.R3.R4底层IGP互通,此处IGP互通配置不做介绍 R2与R4通过Loop ...
最新文章
- Java 程序员薪资这么高,取决于什么?
- ssh在dhcp自动获取地址的时候使用
- linux怎么调用静态库,Linux 静态库的创建和使用
- 最优化学习笔记(四)共轭梯度法
- 笨办法学 Python · 续 练习 19:改善性能
- jquery+easyui+datagrid 排序
- OpenShift 4 - DevSecOps - 视频
- L1-003 个位数统计 (15 分)—团体程序设计天梯赛
- Julia :关于函数返回类型::
- 一次完整的http请求过程是怎样的?
- 如何用excel做正交分析_利用Excel进行正交设计及分析
- eigen一维向量_Eigen中的矩阵及向量运算
- Windows2016 L2TP配置(证书模式)
- 网络故障排查流程及工具使用手册
- python if嵌套/while嵌套/竞技叠杯
- Linux音视频学习--常见的音视频传输协议及基本概念介绍
- 【Linux】Centos设置Python的软链接
- MyBatis中达到where a and (b or c)形式
- postgresql模糊查询不区分大小写
- 天池比赛notebook
热门文章
- debian11删除swap分区之后出现mdadm no arrays found in config file or automatically的的解决方法
- ESP32系列--第十篇 ADC电阻网络按键
- 博云:Kubernetes 近年影响最大版本发布,这几点值得关注
- 【对讲机的那点事】搭建无线电天馈系统如何使用热塑管和制作跳线?
- 【无标题】Java基础
- java调用微信红包接口_java调用微信现金红包接口的心得与体会
- 2021最强Android中高级大厂面试源码秘籍,为你备战2022金三银四,直通大厂
- mysql登录失败5次锁定300秒_django 实现登录时候输入密码错误5次锁定用户十分钟...
- 一家公司招聘你后,凭什么给你开高工资?
- HTML文檔中 垂直置中