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 MVC系列-(5) AOP
5 AOP 5.1 什么是AOP AOP(Aspect-Oriented Programming,面向切面编程),可以说是OOP(Object-Oriented Programing,面向对象编程)的 ...
- LeetCode周赛#206
1583. 统计不开心的朋友 #模拟 #暴力 题目链接 题意 有n为朋友,对每位朋友i,preference[i]包含 按亲密度从大到小 的朋友编号. 朋友们会被分为若干对,配对情况由pairs数组给 ...
- zuul1.x和gateway的区别
阻塞与非阻塞: 1.实际上是Spring mvc与Spring webflux的区别 转载:https://www.cnblogs.com/lixinjie/p/a-brother-of-spring ...
- @Transactional自调用问题
- 推荐系统实践 0x09 基于图的模型
用户行为数据的二分图表示 用户的购买行为很容易可以用二分图(二部图)来表示.并且利用图的算法进行推荐.基于邻域的模型也可以成为基于图的模型,因为基于邻域的模型都是基于图的模型的简单情况.我们可以用二元 ...
- Razorpay支付对接,JAVA对接篇
Razorpay 作为印度本土的一家支付公司,类似中国的支付宝 微信,本篇记录一下对接印度第三方支付公司 准备工作: 注册公司 申请Razorpay账号 申请正式环境 Razorpay工作台: 获取k ...
- 【NOIP2015模拟11.4】JZOJ8月6日提高组T1 刷题计划
[NOIP2015模拟11.4]JZOJ8月6日提高组T1 刷题计划 题目 题解 题意 有\(n\)道题,编号为1~\(n\) 给出\(m\)次操作 每次操作有3种类型 1 \(x\) 表示交了\(A ...
- YoyoGo使用指南
YoyoGo是一个使用Golang编写的一个简单.轻量.快速.基于依赖注入的微服务框架,目前依然在研发阶段,欢迎Star以及一起参与到框架的研发 GitHub地址:https://github.com ...
- 极简Linux下安装极简桌面
sudo apt install -y xorg lxde-core vnc4server 设置密码:vncpasswd 然后先开启服务,然后再终止服务:(这是为了创建一个默认的配置文件)vncser ...
- lcm的和(莫比乌斯反演)
马上开学了,加一个操作系统和数据库标签 不玩了,求1-n和1-m的lcm(i,j)和 首先想到把lcm(i,j)转化为i * j / gcd(i, j) 然后gcd,要素察觉,开始枚举d使得gcd(i ...