BGP协议初入门-程序员宅基地

技术标签: 网络  

1、什么是bgp?

    BGP称为:边界网关协议,主要是用于路由的传递与选择。BGP使用TCP作为传输层协议(端口号:179),因为使用TCP连接,所以网络的可靠性得到了巨大的保证。

 

2、拥有IGP后,为啥还需要BGP呢?

    首先,我们企业网中所用到IGP,比如:ISIS,ospf,RIP,都是能够通告网络可达性的协议,而与BGP比,他们的缺点却显而易见。

  (1)IGP适合于小型网络,而BGP适用于大型的网络(如网络运营商);

  (2)IGP主要用于:计算和发现路由,而BGP主要控制和选择路由;

  (3)BGP可以工作在非直连邻居之间,且使用TCP协议作为传输介质,提高其网络稳定性;

 

3、BGP邻居关系的建立

     BGP邻居关系分为2种:IBGP与EBGP。

  (1)IBGP:工作在同一个AS内部的BGP。

  (2)EBGP:工作在不同AS之间的BGP。

     那么什么是AS号,IBGP关系,EBGP关系呢?从下图分析:

 

 

 

   通过上图可知,AS号为Autonomous systems(自治系统),图中红框与黄框分别代表的2个不同的AS,且AS200中的R2与AS100的R1关系为EBGP,而AS200中,3台路由器的关系为IBGP。

 

 4、BGP的状态机与报文

  BGP的状态机共6种:idle,connect,active,opensent,openconfirm,established。

       报文共5种:open,update,keepalive,notification,refresh。

BGP报文类型
open报文 用于建立BGP连接
update报文 用于通告路由
keepalive报文 用于保持BGP连接
notification报文 用于处理BGP进程中的各种错误
refresh报文 用于动态的请求BGP路由发布者重新发布UPDATE报文,进行路由更新

  

 

 

5、BGP交互原则

 (1)从EBGP对等体收到的路由,会发送给所有BGP路由器。

 (2)从IBGP对等体收到的路由,只会发送给所有EBGP路由器。

 (3)BGP设备只会发送最优路由。

 (4)路由更新时,只会发送更新路由。

 

6、BGP路径属性

公认必遵(所有路由器都必须识别此属性,且必须存在与update报文中):origin,as-path,next-hop。

公认任意(所有路由器都必须识别此属性,根据需求存在与update报文中):local-preference,atomic-aggregate。

可选过度(所有路由器不需要识别此属性,但路由器可以转发此属性报文):aggregator,community。

可选非过度(所有路由器不需要识别此属性,且路由器不需要转发此属性报文):med。

 

7、BGP选路原则

(1)如果此路由的下一跳不可达,忽略此路由
(2)Preferred-Valnue值数值越高越优先,华为私有属性,仅本地有意义
(3)Local-Preference值最高的路由优先
(4)聚合路由优先于非聚合路由(手动聚合>自动聚合>network>从对等体学习到的)。可理解为:0.0.0.0>邻居
(5)本地手动聚合路由的优先级高于本地自动聚合的路由
(6)本地通过Network命令引入的路由的优先级高于本地通过Import-route命令引入的路由
(7)AS路径的长度最短的路径优先
(8)比较Origin属性,IGP优于EGP,EGP优于Incomplete
(9)选择MED较小的路由
(10)EBGP路由优于IBGP路由
(11)BGP优先选择到BGP下一跳的IGP度量值最低的路径
当以上全部相同,则为等价路由,可以负载分担(注意: AS_Path必须一致,当负载分担时,以下3条原则无效)
(12)比较Cluster_list长度,短者优先
(13)比较Originator_ID(如果没有Originator_ID,则用Router_ID比较),选择数值较小的路径。
(14)比较对等体的IP地址,选择IP地址数值最小的路径。

 

8、路由聚合

自动聚合 手动聚合

共同点:

1、他们都能够减少条目;

2、发送给EBGP时,不会携带AS-number;(在汇聚命令后面加入as-set,带上as-number)

3、都会发送明细路由给对端;(在汇聚命令后面加上detail-suppressed,抑制明细路由)

不共同点:

1、自动聚合只能用于import的方式,不能用于network;

2、手动聚合更能聚合出更精确的路由。

转载于:https://www.cnblogs.com/jyb0824/p/11534201.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/b158091053/article/details/101779429

智能推荐

mfc计算器源码_mfc科学计算器源码-程序员宅基地

#include #include "resource.h"INT_PTR CALLBACK backmassage(HWND hwnddlg, UINT uMsg, WPARAM wpamrm, LPARAM lparam)//消息回掉函数-> //用于获取用户鼠标点击各个空间的数据{ switch (uMsg) { case WM_COMMAND: if (_mfc科学计算器源码

随笔-程序员宅基地

沟通跨部门沟通,首先应确立沟通的目的是双方的有效配合和问题解决的方向、方法,去除程序员们自带的问题责任论,不能按照“不是我的问题,我这OK,跟我无关”这样的思路去讨论和解决问题。首要问题是协作和问题定位与解决。复盘工作任务安排、分配和执行要做好精细化管理,可量化,完成后要针对发生的问题和解决方法进行有效的复盘。运维开发先行,监控与测试随后。监控包括性能参数、QPS/TPS、接口响应时长...

Nordic nRF52832_nodic 52832-程序员宅基地

BLE开发 Nordic nRF52832 开发(一) 搭建开发环境BLE开发 Nordic nRF52832(二) BLE简介与虚拟串口传输实现_nodic 52832

org.zkoss.xel.XelException: Resource not found:-程序员宅基地

错误信息 严重: >>javax.servlet.jsp.JspException: javax.servlet.jsp.JspException: javax.servlet.jsp.JspException: javax.servlet.jsp.JspException: javax.servlet.jsp.JspException: javax.servlet.jsp....

javaScript-程序员宅基地

// 返回中文金钱数function AmountInWords(dValue, maxDec) { // 验证输入金额数值或数值字符串: dValue = dValue.toString().replace(/,/g, ""); dValue = dValue.replace(/^0+/, ""); // 金额数值转字符、移除逗号、移除前导零 if (dValue == "") { r...

提高企业内网安全的十大策略_有什么加强内网window的做法-程序员宅基地

  几乎所有企业对于网络安全的重视程度一下子提高了,纷纷采购防火墙等设备希望堵住来自Internet的不安全因素。然而,Intranet内部的攻击和入侵却依然猖狂。事实证明,公司内部的不安全因素远比外部的危害更恐怖。    大多企业重视提高企业网的边界安全,暂且不提它们在这方面的投资多少,但是大多数企业网络的核心内网还是非常脆弱的。企业也对内部网络实施了相应保护措施,如:安装动辄数万甚至数十万的网络防火墙、入侵检测软件等,并希望以此实现内网与Internet的安全隔离,然而,情况并非如此!企业中经常_有什么加强内网window的做法

随便推点

在Console打开网页复制和粘贴功能_浏览器的console 可复制-程序员宅基地

许多网站的口令录入框不允许粘贴,口令只能手工录入,麻烦吧。许多网站,比如知乎,如果文章打开禁止转载选项,右键复制是不行的,ctrl-c也不行,粘贴之后都是当前回答的标题。按F12键,把下面代码复制粘贴进console,回车执行,一切恢复原样,程序员就是这么吊,我们爱自由。只在chrome浏览器内测试过。var allowPaste = function(e){ e.stopImmediatePropagation(); return true; }; document.addEv_浏览器的console 可复制

Git 远程仓库——关联和push和clone_关联仓和克隆仓的区别-程序员宅基地

yunz@HP-Linux:~/Git_Space$ touch README.mdyunz@HP-Linux:~/Git_Space$ gedit README.md yunz@HP-Linux:~/Git_Space$ git add README.mdyunz@HP-Linux:~/Git_Space$ git commit -m "learn git push"[master_关联仓和克隆仓的区别

归并排序-就地排序-程序员宅基地

题目要求:对归并排序进行修改,要求合并过程的空间复杂度为O(1)解题思路:假设a[beg, mid]和b[mid+1,end]是两段有序的子段,分别记做A和B,现要对其进行合并1) 首先对A进行搜索,找到比B[0]大的第一个位置,记录为i,即A[0~i-1] < B[0],而A[i] > B[0];2) 对B进行搜索,找到大于A[i]的第一个位置,记录为j,则B[0~j..._就地归并排序

0725 模块_failed--compilation aborted at lib/mtr_report.pm-程序员宅基地

模块包—> module and package包:包是通过使用’.模块名’来组织python模块名称空间的方式。—> 具体而言,包就是一个包含 __init__.py文件的文件夹。目的:用文件夹将文件/模块组织起来。注意:py3,即使包中没有__init__.py也可以使用;​ py2,如果没有__init__.py肯定报错。创建包的目的不..._failed--compilation aborted at lib/mtr_report.pm

c语言计算一个三位数的个十百位之和_C语言的那些经典程序-程序员宅基地

戳“在看”一起来充电吧!C语言的那些经典程序 第十七期本期小C给大家带来三个用C语言解决实际问题的典例。如果全都理解,相信肯定能给大家带来收获!接下来让我们看看是哪些程序吧!1求数字组合题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?源程序: 运行结果:程序分析:关键是计算出每一项的值,利用tn=tn+a;a=a..._c语言计算一个三位数的个十百位之和

多分类/多标签的评价指标以及阈值调优_model.predict多分类阈值标准-程序员宅基地

图像分类多标签/多分类图像分割pacc,miou目标检测P/Rmap,实际过程中有哪些更加合理的评价指标aucmiou_model.predict多分类阈值标准