HCIP --- BGP 总结
AS:自治系统 --逻辑管理域(例如移动、电信、联通),AS号范围:0-65535,其中,1-64511:公有AS,64512-65535:私有AS
IGP:内部网关协议,在一个AS之内传递的路由协议(RIP、OSPF、ISIS)
追求:收敛速度快,选择路径佳,占用资源少,hop-by-hop
EGP:外部网关协议,在AS之间传递的路由协议(BGP)
追求:可控性、可靠性、AS-by-AS
可控性:BGP协议不是路由的产生者,仅为搬运者,且AS间正常应该存在大量的链路来保障稳定性;故BGP协议传递的路由条目很难默认最佳选路;--需要管理员对路由进行大量的策略来干涉选路
可靠性:BGP协议虽然像距离矢量协议一样仅传递路由条目,但更新量依然很大;
为了避免对设备资源的占用选择了增量更新---仅触发、无周期
故需要保障所有的路由传递到位—可靠 因此BGP协议基于TCP工作
TCP的三次握手条件使得TCP只能基于单播工作,同时BGP需要非直连建邻;
BGP基于IGP之上,先IGP使BGP设备间IP可达,然后BGP才能基于TCP建立非直连邻居关系
AS-BY-AS:以一个AS为一跳,将一个AS看成一个整体;
BGP协议为不同AS间共享路由,工作时隔离两个AS的内部网络,形成一个独立的交互空间;且同时可以实施强大的策略来干涉选路;
BGP:边界网关路由协议 ,手动建邻(因为是单播)
1、协议特点(算法):路径矢量型(仅传递路由条目),没有算法
2、协议是否传递网络掩码:传递掩码,支持VLSM CIDR
3、协议消息数据包封装:基于TCP 179端口封装
一、BGP特点:
1、BGP是一种无类别路径矢量型路由协议 --距离矢量的升级版--AS-by-AS
2、BGP协议版本:当前版本:V4,默认仅支持传递IPv4单播路由,传递其他方式路由时需要开启(激活)
3、更新地址:单播更新,单播地址:既可以成为源也可以成为目标地址
4、更新方式:触发更新、增量更新(EIGRP、BGP),无周期更新
5、使用单播更新来发送所有信息;基于TCP 179端口工作
6、具有丰富的属性来取代IGP中度量进行选路----多个参数控制协议
7、可以在进项和出项对流量实施强大的策略--可控性
8、默认不被用于负载均衡-----通过各种选路规则仅仅产生一条最佳路径
9、BGP支持认证和聚合(汇总)
10、BGP是一种非常消耗资源的路由协议(一个路由器之能运行一个BGP进程协议)
二、EGP设计特性:
1、可靠性—大量的路由共享,取消周期更新 TCP 179端口工作 TCP 仅基于单播通信 BGP协议需要单播建立邻居关系(手工指定邻居的ip地址)
BGP可以非直连建邻(peer),BGP承载于IGP之上
2、可控性 --- 建邻、路由宣告、选路控制(干涉选路)--及其容易进行
3、AS-BY-AS 以一个AS为一跳
三、BGP邻居关系:
1、IBGP:内部BGP邻居(在一个AS内部的设备的关系)
2、EBGP:外部BGP邻居(在两个不同AS之间的设备的关系)
四、BGP工作过程:
管理员定义邻居的ip地址,前提要求对邻居ip可达; --- IGP可达
启动BGP协议后,先目标端口为179进行TCP的三次握手来建立TCP的会话;
会话建立后,收发open报文来建立邻居关系,生成邻居表;
邻居关系建立后,邻居间使用update 共享路由条目,在收发了路由信息后,本地生成BGP表;
Bgp表中装载本地发出及接收到的所有路由条目;
之后路由器将BGP表中的最优路径(不一定是最佳选路,仅为BGP参数最佳)加载于路由表中;
收敛完成!仅keeplive周期保活即可
五、防环:
IBGP邻居的防环机制:
IBGP水平分割机制(IBGP只传递一跳规则,通过一个BGP邻居学习的路由不能传递给其他的IBGP邻居)
可以使用联邦和路由反射器来解水平分割问题
EBGP邻居的防环机制:
AS-Path, AS 路径防环,不接收AS-Path中包含自身AS号的路由信息
(AS-Path中,会记录所有经过的AS编号;接收到的路由条目中若as-path中存在本地的AS号,将拒绝接收)
六、BGP邻居状态机制:
1、Idle:初始化
2、connect:连接
3、active:活动
4、opensent:发送open报文
5、openconfirm:open报文确认
established:邻居状态
七、BGP消息数据包
1、open:建立BGP邻居关系,只发送一次
2、keepalive:保活,维持BGP邻居关系,周期性发送 周期时间默认为60s
周期一分钟查询邻居关系是否存在(实际上保活的是TCP的会话)
hold时间:保持时间 默认为180s
3、undate:更新,携带路由条目,目标网络号+各种属性
生成BGP表,然后从BGP表中生成路由表,然后保活
八、BGP路由黑洞:
由于bgp协议可以非直连建立邻居关系,故若两台BGP邻居间存在未运行BGP协议的路由时;可能出现路由条目可以在控制层面正常单播传递,但数据层面流量经过未运行BGP协议的设备时,无法通行;控制层面可达,数据层面不可达
解决方法:
1、 物理或逻辑链路全连
2、 全连的BGP邻居关系,所有设备运行bgp;
3、 将BGP路由条目重发布到IGP协议中(LAB)
4、 最佳方案---MPLS 多协议标签交换
HCIP --- BGP 总结的更多相关文章
- HCIP --- BGP属性
传播范围 默认值 大优或小优 1. Preference_Value 不传播 0 ...
- HCIP --- BGP综合实验
实验要求: 实验拓扑: 一.配置IP地址 L:代表环回地址(loop back 0) Y:代表业务网段的地址(loop back 1) 二.因为BGP基于IGP之上,给AS 2内配置OSPF 在R2上 ...
- HCIP --- BGP实验
实验拓扑: 要求: R1.R2是EBGP关系,R2.R4是IBGP关系,R4.R5是EBGP邻居关系 R1与R5的环回可以通信 1.配置IP地址 2.BGP承载与IGP之上,所以给AS 2 启用IGP ...
- HCIP --- MPLS BGP 实验
实验要求: 实验拓扑: 一.配置IP地址 二.给AS 2配置OSPF 1.R2-R7配置相同: 查看路由表: 可以看到,业务网段学的是32位的 修改:在R2-R7上都修改 [R2]int loo1[R ...
- ISP路由表分发中的AS与BGP
➠更多技术干货请戳:听云博客 摘要 本文面向,初级网络工程师,数据挖掘工程师,涉及EGP(外部网关协议; Exterior Gateway Protocol),IGP(内部网关协议; Interior ...
- bgp多线
BGP(边界网关协议)主要用于互联网AS(自治系统)之间的互联,BGP的最主要功能在于控制路由的传播和选择最好的路由. 中国网通 .中国电信.中国铁通.教育网和一些大的民营IDC运营商都具有AS号,全 ...
- BGP路由协议详解(完整篇)
原文链接:http://xuanbo.blog.51cto.com/499334/465596/ 2010-12-27 12:02:45 上个月我写一篇关于BGP协议的博文,曾许诺过要完善这个文档,但 ...
- 边界网关协议BGP
Border Gateway Protocol (BGP) is a standardized exterior gateway protocol designed to exchange routi ...
- 如何使用 Quagga BGP(边界网关协议)路由器来过滤 BGP 路由
在之前的文章中,我们介绍了如何使用 Quagga 将 CentOS 服务器变成一个 BGP 路由器,也介绍了 BGP 对等体和前缀交换设置.在本教程中,我们将重点放在如何使用前缀列表prefix-li ...
随机推荐
- 在Spring data中使用r2dbc
目录 简介 依赖关系 数据库连接配置 数据库初始化 DAO操作 Service操作和Transaction controller 测试 简介 上篇文章我们讲到了怎么在Spring webFlux中使用 ...
- CentOS下搭建禅道Bug反馈系统
禅道 下载集成版本(apache\php\mysql) wget http://sourceforge.net/projects/zentao/files/8.2.5/ZenTaoPMS.8.2.5. ...
- k8s+docker_part2
docker+k8s 目录 docker+k8s 1 简介 1.1 docker是什么 1.2 为什么要用docker 1.2.1 docker容器虚拟化的好处 1.2.2 docker在开发和运维中 ...
- tomcat安装及环境变量配置
java环境的配置应该都学过吧,这里简单的讲一下. 下载安装java JDK,注意安装的路径,我们需要进行环境变量的配置. 2 安装完成以后,配置环境变量 环境变量的配置这里就以win7为例:右击计算 ...
- Cys_Control(五) MMenu
一.查看Menu原样式 1.通过Blend查看Menu原有样式 Menu的原有样式结构较为简单,由边框Border及集合控件 ItemsPresenter 组成,原有样式如下 <Style x: ...
- 学习笔记(1):零基础掌握 Python 入门到实战-列表与元祖到底该用哪个?(二)...
立即学习:https://edu.csdn.net/course/play/26676/338778?utm_source=blogtoedu 列表不能通过增加索引增加元素 可以使用list中的app ...
- Struts2中的开启AsyncContext的方法
//获取到requestHttpServletRequest req = ServletActionContext.getRequest();//设置属性org.apache.catalina.ASY ...
- Python中序列解包与函数的参数收集之间的关系
在<第4.7节 Python特色的序列解包.链式赋值.链式比较>中老猿介绍了序列解包,<第5.2节 Python中带星号的函数参数实现参数收集>介绍了函数的参数收集,实际上函数 ...
- Python学习随笔:使用xlwings读取和操作Execl文件的数字需要注意的问题
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 在使用xlwings读取Excel文件中的数据时,所有的数字不论是整数.浮点数还是文本存放的数字,在 ...
- anaconda 配置虚拟环境
工作时有时候会遇到不同版本的问题,比如深度学习tensorflow 1.14版本 和 2.0版本,或者cpu版本和gpu版本,那么这个时候建立虚拟环境就很方便了 anaconda命令行下 1) act ...