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 ...
随机推荐
- try-with-resources和multi-catch的使用
1.首先说一下以前开发中我们在处理异常时,我们会使用try-catch-finally来处理异常. //使用try-catch-finallypublic static void main(Strin ...
- python+selenium通过加载用户配置实现免登陆
1查看profile路径 在Chrome地址栏访问chrome://version,可以查看个人资料存储位置: 2 python代码如下: from selenium import webdriver ...
- Spring bean注册
DefaultListableBeanFactory中: DefaultListableBeanFactory实现了BeanDefinitionRegistry,这个接口的实现完成BeanDefini ...
- 【证书】curl 和 java 请求报证书错误
1. 说明: 以下:例子的域名因为工作环境的问题,被我拿自己的博客域名替代了,所以无法进行模拟测试,请珍重,哈哈! 2. 环境: centos:7.5 java jdk:1.8.0_74 3. cur ...
- Spring Boot 实现看门狗功能 (调用 Shell 脚本)
需要实现看门狗功能,定时检测另外一个程序是否在运行,使用 crontab 仅可以实现检测程序是否正在运行,无法做到扩展,如:手动重启.程序升级(如果只需要实现自动升级功能可以使用 inotify)等功 ...
- 20200416_Centos 7.2 在安装系统之前把数据备份出来
第一种方法: 起因: 服务器强制断电, 然后就再也启动不起来了, 进入救援模式, 一直卡死在 charoot /mnt/sysimages; 然后想在救援模式下的shell中挂载我的2T的移动硬盘, ...
- 第二十六章、containers容器类部件QToolBox工具箱详解
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.概述 容器部件就是可以在部件内放置其他部件的部件,在Qt Designer中可以使用的容器部件有 ...
- 第8.33节 Python中__getattr__以及__getattr__与__ getattribute__的关系深入剖析
一. 引言 前面几节分别介绍了Python中属性操作捕获的三剑客:__ getattribute__方法.__setattr__方法.__delattr__方法,为什么__ getattribute_ ...
- Android的intent
title: Android基础01 date: 2020-02-15 17:17:04 tags: 1.Intent Intent可以让活动进行跳转.使用方式有两种,一种是显式,另一种是隐式. 1. ...
- 建立SQL Server用户登录
第一步:右击服务器名,点击"属性",选择"安全性",选中"Sql server和Windows身份验证模式". 第二步:鼠标右键点击安全性中 ...