BGP协议解析(白话版)
之前一直没搞明白BGP有啥用,加了跟没加没啥区别,专门查资料写了这篇《BGP协议解析》。
下面使用eNSP模拟器演示!
IBGP与EBGP的区别
BGP分为两种:IBGP与EBGP。
两个路由器的BGP号相同,建立邻居关系叫IBGP,BGP号不相同就是EGBP,BGP的号就是自制区域号(AS)。
IBGP
IBGP之间一般使用逻辑接口建立邻居关系(比如各个分总司之前的路由器运行BGP,因为他们属于一个大公司,或者说属于一个自治区域AS)。
IBGP之间一般使用逻辑接口建立邻居关系的好处:IBGP一般是在同一个公司内部使用,公司网络往往有可靠性的规划,可能会有多种路径可以走,如果其中一条线路断了,只要能ping通,当前的邻居状态就不受影响。
EBGP
EBGP之间一般使用物理接口建立邻居关系(比如两家不同公司之间的路由器运行BGP,因为他们不属于同一个公司,之间一般是用一条专用线路通信,或者说他们不属于一个自治区域AS)。
EBGP有报文跳数的限制,默认为1跳,报文跳数可以更改。
BGP的邻居
BGP的主要目的不是发现邻居或者自动发现路由,BGP的邻居是手动指定的,它的邻居是可以跨网段的(前提条件是:得有路由才能建立邻居),也可以是不直接相连的(比如:两条路由器之间隔了好多路由器的情况)。
BGP一般不是用来发现底层路由的作用,而是用他来作为传递路由的载体(所以一般部署BGP之前会先部署OSPF)。
BGP往往是不发现底层路由和底层邻居的一个角色,往往是传递路由用的,比如用于:在复杂的要跨越多个公司,跨越多个区域的场景。
BGP大多配置下底层都会有IGP(如OSPF)的配置,,在此之上进行配置BGP的邻居关系。
BGP邻居表与BGP路由表
BGP路由表,当network自己的网段之后,就可以通过BGP路由表来查看被广播出来的网段是哪个BGP路由器的,最前面的符号:* 表示可以通,< 表示最优路径,什么也没有表示不通。
不通的情况,例如:
AR5广播出自己的网段(10.1.1.0)后,AR7可以收到广播出的网段,但是显示时不通的,因为AR5到AR7之间是通过AR6来进行传播的(AR5与AR6运行的EBGP,不是同一个自治区域的),AR广播出自己的网段,R7收到后,自身的BGP路由表还是记录的10.0.1.1 : 10.1.1.0。然而,R7并不知道10.0.1.1是谁,怎么走(因为不在同一个自治区域内)。这时候需要AR6进行转发BGP路由信息的时候,把10.0.1.1 : 10.1.1.0中的10.0.1.1改成自己的id(10.0.2.2)。
BGP邻居表
state下显示的是Idel是没有建立成功,显示的是Established是已经建立成功了。
配置好之后,建立的过程需要一分钟左右。
其它
N个运行IBGP之间相互建立邻居关系,需要设置N(N-1)/2个邻居关系(一个路由器要与另外N-1个路由器建立关系)。
华为路由器BGP常用配置代码:
bgp 100 #自身编号route-id 6.6.6.6 #id,一般为loopback 0的地址peer 1.1.1.1 as-number 100 #邻居的地址和AS号peer 1.1.1.1 connect-intface loopback 0 #邻居的loopback 0的地址network 192.168.10.0 24 #把这个网段广播到BGP中#运行IBGP与EBGP的路由器,向这个邻居转发BGP路由时下一条写自己的地址peer 1.1.1.1 next-hop-local dis bgp peer #查看bgp邻居表
dis bgp router-table #查看bgp路由表
BGP协议解析(白话版)相关推荐
- Modbus通信协议+Modbus串口调试工具+Java版协议解析源码
网络与串口二合一调试助手TCPCOM: https://download.csdn.net/download/liuyuan_java/87454762 Modbus调试工具,模拟串口调试工具 htt ...
- 基于FRR全面解析BGP协议(七):FRR编译
FRR编译 环境:centos 7.6.1810 版本:FRR 7.3 编译 下载FRR源代码包 wget https://github.com/FRRouting/frr/archive/frr-7 ...
- 基于FRR全面解析BGP协议(五):FRR的BGP路由策略
FRR的BGP路由策略 过滤器 FRR提供了基于IP,基于Community和基于AS-PATH的三种类型过滤器来匹配路由. IP Access List 基于IP的路由ACL规则,比较少使用,通常是 ...
- SGS 0.9.7 协议解析
SGS as客户端发送数据规则: sgs 是0.9.7版 协议规则: 包头3个字节: 包大小(2个字节),命令(1个字节) 数据包 注意:包大小=命令+ 数据包 的大小 登陆命令: 命令是: ...
- vue 数值 拼接字符串_【Vue原理】Compile - 白话版
写文章不容易,点个赞呗兄弟 专注 Vue 源码分享,文章分为白话版和 源码版,白话版助于理解工作原理,源码版助于了解内部详情,让我们一起学习吧 研究基于 Vue版本 [2.5.17] 如果你觉得排版难 ...
- v-model双向绑定原理_【Vue原理】VModel 白话版
↑点击上方 "神仙朱" 一起研究Vue源码吧 专注 Vue 源码分享,为了方便大家理解,分为了白话版和 源码版,白话版让大家可以轻松理解工作原理,源码版让大家更清楚内部操作和 Vu ...
- bgp协议 怎么知道相邻路由的ip地址_三级网络技术考前选择题1—BGP
一.视频讲解 二.知识点背诵 高频:出现 24 次(共有 29 套题) 1. BGP是边界网关协议,是外部而不是内部网关协议(是不同自治系统(AS)的路由器之间使用的协议).2. 一个BGP发言人 ...
- BGP协议测试套开发及使用指导书
1 协议介绍 1.1 协议概述 BGP(BorderGateway Protocol,边界网关协议)是一种实现AS(自治系统)之间路由的距离矢量性动态路由协议.使用TCP作为其传输层协议( ...
- Oracle(TNS)协议解析及C/C++代码解析
Oracle客户端和服务器使用TNS作为其数据交换协议. 它提供了一种对用户透明的层, 为不同的工业标准协议提供统一, 通用的接口. 基本上是TNS以这样的方式指定了端口1521上的会话是" ...
最新文章
- ELF 文件 动态链接 - 地址无关代码(GOT)
- sr锁存器 数电_数电课设其实也没那么难2.1
- mysql 帮助命令_一篇文章帮你搞定所有MySQL命令!
- 汇编---输出AX的地址值
- web前端【第十一篇】jQuery属性相关操作
- git submodule 子模块的管理和使用
- 设计模式的C语言应用-建造者模式-第七章
- SQL Server 2016/2014/2012/2008/2005/2000简体中文企业版下载地址
- windows 运行linux c++,Visual studio中使用C++的Linux 开发
- WPF 自定义IconButton
- repeater 的编辑功能
- PhoneGap + Dreamweaver 5.5 无法在模拟器中打开的问题
- clover写入efi_黑苹果安装核心文件-四叶草引导Clover EFI 配置文件结构讲解
- 011游移方位惯导系统的力学编排之指令角速度
- 常见的 NoSQL 数据库有哪些?一篇详尽(图表展示)
- 李彦宏:为理想找到归宿
- 为什么连接xshell报错Could not connect to 172.16.16.100 (port 22): Connection failed
- vue打包后华为手机自带浏览器访问空白
- html 图片 空白,HTML图片标签空白解决方法
- 网站域名被劫持、网站dns被劫持 域名跳转到别的网站的解决方法