分析BGP协议(EBGP/IBGP)
一、基本概念
AS:自治系统
BGP 主要用于AS之间路由传递的.
AS号码范围:1-65535 私有AS号码范围:64512-65535
BGP与IGP的区别:a、IGP比较灵活,如ospf可以根据接口来设置不同的进程,但一个路由只能属于一个AS只能配置一个BGP,IGP选择AS内最佳路由,BGP选择AS间最佳路由。详细区别可以参考百科https://wenku.baidu.com/view/7ac228da33d4b14e85246856.html
以下场合适合使用BGP
- 多个IGP(或一个区域较大的IGP)域构造的一个大型网络,通过 BGP互联这些域.
- 需要复杂的路由策略进行控制域之间的路由传递.
- ISP之间互联时,需要在不同的AS之间传递庞大的路由. - 当域内同时运行了多种IGP时,多种IGP的相互重分发的难度远大 于配置BGP
BGP状态
建立BGP会话时,BGP拥有以下的状态:
1. Idle:查找路由表,该过程BGP对它的资源进行初始化,复位一个连接重试计 时器,发起一条TCP 连接,并开始倾听远程对等体所发起的连接.
2. Connect:找到路由表后进行TCP三次握手,TCP 连接成功,则转到 OpenSent状态,TCP连接失败,则转到active 状态,将尝试再次连接.
3. Open sent:三次握手成功后发送Open message消息,等待其对等体发送打 开消息,如果出错,则发送一条出错消息并退回空闲状态,如果无错,则开 始发送Keepalive 并复位keepalive 计时器.
4. Open confirm:收到对方发来的Open消息,如果收到keepalive 消息, BGP 就进入established状态,邻居关系协商完成;如果系统收到一条更新 或keepalive 消息,它将重新启动保持计时器;如果收到Notification消息, BGP 就退回到空闲状态. o另外,如果没有对Open消息的回应,则路由器进入active状态.
5. Established:会话建立,邻居关系协商过程最终状态;这时BGP将开始与它 的对等体交换路由更新数据包.
下图为BGP debug出来的相应建立关系状态
IBGP(内部BGP)
当BGP邻居是运行在同一个AS里面的,它们的BGP关系就叫做IBGP、IBGP无需是直连的网络邻居设备就可以通过TCP建立起IBGP邻接关系,当然中间建立的TCP关系,一般是IGP协议承载的,如OSPF、ISIS等。
neighbor命令用于激活BGP邻居关系,邻居IP地址是eBGP时为与邻居BGP路由器直连链路的接口IP地址,邻居IP地址是iBGP时为邻居BGP路由器的Loopback接口IP地址。
总结:
BGP 是一个路径矢量路由协议,即增强型的距离矢量路由协议:
1.可靠地更新信息:通过TCP 179端口发送.
2.BGP使用单播传递路由信息
3.路由信息第一次是整表发送,以后只进行增量触发更新
4.通过周期性发送keepalive消息(相当于Hello包)来维护BGP
5.对等体之间的TCP邻接关系 (每60s发送一次,Holddown时间为180s)
BGP的三个表:
BGP邻居表(Neighbor table):存放邻居信息。
BGP转发表(Forwarding database):
1. 存放所有从邻居学到的网络信息
2. 可存放多条到达同一目的网络的路径
3. 每条路径都包含BGP属性
BGP路由表(IP routing table):存放到达目的网络的最佳路由
EBGP在ping的时候,下一跳没有宣告的话是无法Ping通的,所以要指定source来ping
分析BGP协议(EBGP/IBGP)相关推荐
- 【FRR 】【BGP协议分析】 1 - BGP 初始化
FRR支持BGP-4,BGP-4+协议,BGP协议本身的知识点,可以参考很多资料,TCP/IP路由技术是一本不错的书,建议多看几次,还有红茶哥的博客和视频 http://blog.sina.com.c ...
- BGP协议基础配置—学习
BGP重要概念 IGP是运行在AS内部的路由协议,主要有RIP.OSPF及IS-IS,着重于发现和计算路由. EGP是运行在AS之间的路由协议,通常是BGP,它是实现路由控制和选择最好的路由协议. 这 ...
- BGP协议测试套开发及使用指导书
1 协议介绍 1.1 协议概述 BGP(BorderGateway Protocol,边界网关协议)是一种实现AS(自治系统)之间路由的距离矢量性动态路由协议.使用TCP作为其传输层协议( ...
- 计算机网络-网络层篇-BGP协议
目录 概述 简单说为什么 基本概念 BGP报文有5种消息类型 大致过程 概述 BGP(Border Gateway Protocol:边际网关协议) BGP协议是运行在AS之间的一种协议 属于EGP, ...
- 什么是BGP协议,以及其工作原理
BGP是一种实现自治系统AS(Autonomous System)之间的路由可达,并选择最佳路由的距离矢量路由协议. 一.动态路由的分类 (1)自治系统 IGP:内部网关路由协议,运行在AS内部的路由 ...
- BGP协议学习笔记——BGP基础
BGP协议学习笔记--BGP基础(BGP概念.BGP报文.BGP状态机.BGP关系建立.BGP路由通告) 说明:本文学习笔记整理自网络.华为公开产品文档.华为公开PPT及部分的自我理解 一.BGP简介 ...
- 华为 BGP协议基础配置与总结
良药苦口利于病,忠言逆耳利于行. 文章目录 一.BGP概述 二.拓扑 三.基础配置 四.BGP与IGP比较 五.BGP的数据包 六.BGP的邻居状态机 七.BGP计时器 八.BGP的更新源 九.BGP ...
- BGP协议详解(一)
当有多条到Internet连接时应该使用边界网关协议BGP来控制路径选择 自治系统 自治系统:一组被统一管理的路由器,他们使用相同的内部网关协议和统一的度量值来决定如何在自治系统内部来分组,并使用自治 ...
- BGP协议解析(白话版)
之前一直没搞明白BGP有啥用,加了跟没加没啥区别,专门查资料写了这篇<BGP协议解析>. 下面使用eNSP模拟器演示! IBGP与EBGP的区别 BGP分为两种:IBGP与EBGP. 两个 ...
最新文章
- 使用Stanford CoreNLP进行句法分析实战
- video 微信 标签层级过高_基于大数据的用户标签体系建设思路和应用
- 【十大经典排序算法】java实现--选择排序(2)
- 机器学习的一些很好的博客
- shiro的内部体系结构
- JS和安卓 IOS的交互 例子式记录
- MapReduce之RecordWriter理解
- java hibernate 多对多_hibernate 多对多映射配置详解
- jQuery事件绑定函数:on()与bind()的差别
- 如何以管理员身份运行电脑
- 关于java加壳和代码混淆
- C语言字符串函数(strcpy,strlen,strcat,stsstr,strchr,strcmp,memcpy,memmove)
- 如何使用C#编写用友U8软件相关功能,适用于插件和二次开发
- 谷歌离线地图开发API
- 几分钟就可做出的酷炫PPT动画效果
- 如何美化CheckBox
- Lua - 从指定时区提供的时间戳、时区的 UTC 时差,转换为对应当前本地 UTC 时差后的时间
- oracle远程导入数据库
- 在Windows 7中使用AppLocker限制对程序的访问
- canvas 画图移动端出现锯齿毛边的解决方法