BGP协议

article/2025/9/12 22:26:10

BGP协议

  • 工作层
  • 工作原理
  • BGP简单配置———含密码认证配置
  • 个人图解BGP

工作层

BGP是工作在应用层的协议,但基于传输层的TCP协议

工作原理

路由协议通常分为内部网关协议(IGP: Interior Gateway Protocol)外部网关协议(EGP: Exterior Gateway Protocol)两大类。一般来讲,IGP 用于自治系统AS(Autonomous System)内部,EGP用于AS之间。最早的IGP是一种称为GGP(Gateway-to-Gateway Protocol)的路由协议,而最早的EGP 是一种称为EGP(Interior Gateway Protocol,注意,它与类别名EGP同名,现已被废除)的路由协议。

目前,常见的IGP包括RIP、OSPF、IS-IS 等,而常见的EGP只有BGP(Border Gateway Protocol)。

BGP是一种动态路由协议,但它并不产生路由、不发现路由、不计算路由,其主要功能是完成最佳路由的选择并在 BGP邻居之间进行最佳路由的传递。BGP选择了TCP作为其传输协议,端口号为179

BGP 支持无类域间路由CIDR(Classless Inter-Domain Routing)——理解为无类的路由汇总即可,采用触发增量更新方式,能大大地减少了BGP在传播路由信息时所占用的带宽,特别适用于在互联网上传播大量的路由信息。

BGP 的邻居关系分为IBGP(Internal BGP)和EBGP(External BGP)两种
配置上辨识IBGP和EBGP的方法:

  1. 当BGP路由器们位于同一AS时(AS编号相同),它们的邻居关系为IBGP邻居关系。
  2. 当BGP路由器们位于不同的AS时(AS-Number不一致),它们的邻居关系为EBGP邻居关系。BGP没有自动建立邻居关系的能力,邻居关系必须通过手动配置来建立。

BGP简单配置———含密码认证配置

在这里插入图片描述

[V200R003C00] 
#snmp-agent local-engineid 800007DB03000000000000snmp-agent 
#clock timezone China-Standard-Time minus 08:00:00
#
portal local-server load portalpage.zip
#drop illegal-mac alarm
#set cpu-usage threshold 80 restore 75
#
aaa authentication-scheme defaultauthorization-scheme defaultaccounting-scheme defaultdomain default domain default_admin local-user admin password cipher %$%$K8m.Nt84DZ}e#<0`8bmE3Uw}%$%$local-user admin service-type http
#
firewall zone Localpriority 15
#
interface GigabitEthernet0/0/0ip address 10.0.12.1 255.255.255.0 
#
interface GigabitEthernet0/0/1ip address 10.0.21.1 255.255.255.0 
#
interface GigabitEthernet0/0/2ip address 10.0.13.1 255.255.255.0 
#
interface NULL0
#
interface LoopBack0ip address 1.1.1.1 255.255.255.255   //根据环回接口IP配置可以知道这里是AR1路由
#
bgp 100peer 2.2.2.2 as-number 200 peer 2.2.2.2 ebgp-max-hop 2 peer 2.2.2.2 connect-interface LoopBack0peer 3.3.3.3 as-number 100 peer 3.3.3.3 connect-interface LoopBack0#ipv4-family unicastundo synchronizationpeer 2.2.2.2 enablepeer 3.3.3.3 enable
#
ip route-static 2.2.2.2 255.255.255.255 10.0.12.2
ip route-static 2.2.2.2 255.255.255.255 10.0.21.2
ip route-static 3.3.3.3 255.255.255.255 10.0.13.2
#
user-interface con 0authentication-mode password
user-interface vty 0 4
user-interface vty 16 20
#
wlan ac
#
Return[V200R003C00]
#snmp-agent local-engineid 800007DB03000000000000snmp-agent 
#clock timezone China-Standard-Time minus 08:00:00
#
portal local-server load portalpage.zip
#drop illegal-mac alarm
#set cpu-usage threshold 80 restore 75
#
aaa authentication-scheme defaultauthorization-scheme defaultaccounting-scheme defaultdomain default domain default_admin local-user admin password cipher %$%$K8m.Nt84DZ}e#<0`8bmE3Uw}%$%$local-user admin service-type http
#
firewall zone Localpriority 15
#
interface GigabitEthernet0/0/0ip address 10.0.13.2 255.255.255.0 
#
interface GigabitEthernet0/0/1
#
interface GigabitEthernet0/0/2
#
interface NULL0
#
interface LoopBack0 ip address 3.3.3.3 255.255.255.255  //根据环回接口IP配置可以知道这里是AR3路由
#
bgp 100peer 1.1.1.1 as-number 100 peer 1.1.1.1 connect-interface LoopBack0#ipv4-family unicastundo synchronizationpeer 1.1.1.1 enable
#
ip route-static 1.1.1.1 255.255.255.255 GigabitEthernet0/0/2
ip route-static 1.1.1.1 255.255.255.255 10.0.13.1
#
user-interface con 0authentication-mode password
user-interface vty 0 4
user-interface vty 16 20
#
wlan ac
#
return[V200R003C00]
#snmp-agent local-engineid 800007DB03000000000000snmp-agent 
#clock timezone China-Standard-Time minus 08:00:00
#
portal local-server load portalpage.zip
#drop illegal-mac alarm
#set cpu-usage threshold 80 restore 75
#
aaa authentication-scheme defaultauthorization-scheme defaultaccounting-scheme defaultdomain default domain default_admin local-user admin password cipher %$%$K8m.Nt84DZ}e#<0`8bmE3Uw}%$%$local-user admin service-type http
#
firewall zone Localpriority 15
#
interface GigabitEthernet0/0/0ip address 10.0.12.2 255.255.255.0   //根据环回接口IP配置可以知道这里是AR2路由
#
interface GigabitEthernet0/0/1ip address 10.0.21.2 255.255.255.0 
#
interface GigabitEthernet0/0/2
#
interface NULL0
#
interface LoopBack0ip address 2.2.2.2 255.255.255.255 
#
bgp 200peer 1.1.1.1 as-number 100 peer 1.1.1.1 ebgp-max-hop 2 peer 1.1.1.1 connect-interface LoopBack0#ipv4-family unicastundo synchronizationpeer 1.1.1.1 enable
#
ip route-static 1.1.1.1 255.255.255.255 10.0.12.1
ip route-static 1.1.1.1 255.255.255.255 10.0.21.1
#
user-interface con 0authentication-mode password
user-interface vty 0 4
user-interface vty 16 20
#
wlan ac
#
return

在这里插入图片描述

个人图解BGP

在这里插入图片描述
BGP邻居关系建立的前提条件是要能够建立起TCP会话。当BGP协议存在(进行路由择优)且物理线路正常运行,才能保证网络的联通,表现为ping的通。
若物理线路的一条出现了问题,但TCP传输能切换到同路的另一条线上,那么就能保证会话关系(传输)继续进行
维持BGP协议的两种方法:

  • 通过物理接口
  • 通过环回接口(减少物理接口的使用,提高网络稳定性)——由于bgp协议中源IP地址出接口变成了环回IP地址的出接口,需要通过指令变更。

需要注意的是:IBGP和EBGP不一定是直连的

在实际配置中,对IBGP常采用环回接口建立BGP关系,对于EBGP则采用物理接口来建立BGP关系。


http://chatgpt.dhexx.cn/article/uPe5xJKn.shtml

相关文章

IP协议介绍

文章目录 定义特点作用寻址和路由&#xff1a;分片与重组&#xff1a; ①TCP分段与IP分片的区别&#xff1f;TCP分段IP分片什么是MSS&#xff1f;滑动窗口与MSS的区别&#xff1f; 什么是MTU&#xff1f;MSS与MTU的关系疑问UDP是否会进行分段&#xff1f;TCP分段后会进行IP分片…

华为 协议归纳总结

青出于蓝而胜于蓝 文章目录 一、路由优先级二、路由协议三、常见的永久组地址四、常用的UDP协议及端口号五、常用的TCP协议及端口号六、协议七、报文头格式 一些常用的知识点&#xff0c;经常用到&#xff0c;也很容易忘记、混淆&#xff0c;所以有必要去整理一下这些常用知识点…

管理距离 动态协议端口号 协议号

管理距离(Administrative Distance&#xff0c;简称AD ) 路由器可以通过多种途径获知路由条目∶如静态手工配置、各种动态路由协议等等。当路由器从两种不用的途径获知去往同一个目的地的两条路由&#xff0c;那么路由器会比较这两条路由的AD值&#xff0c;也就是管理距离&…

各协议的协议号和端口号

协议号与端口号详解 IP是网络层协议&#xff0c;IP头中的协议号用来说明IP报文中承载的是哪种协议&#xff08;一般是传输层协议&#xff0c;比如6 TCP&#xff0c;17 UDP&#xff1b;但也可能是网络层协议&#xff0c;比如1 ICMP&#xff1b;也可能是应用层协议&#xff0c;比…

TCP/IP协议号

转自http://www.52rd.com/Blog/Detail_RD.Blog_liweikui_22903.html&#xff0c;作者&#xff1a;liweikui IP协议号&#xff1a;IP首部中有8位协议号&#xff0c;用于指明IP的上层协议&#xff0c;具体如下&#xff1a; 协议号 协议类型 说明 0 HOPOPT IPv6逐跳选项 1…

MATLAB APP全局变量的使用

切换到代码视图&#xff0c;左上角代码浏览器点击属性&#xff0c;有如下提示&#xff1a; 点击➕旁边&#xff0c;会出现提示&#xff1a; 按照提示所说&#xff0c;在这里就可以添加全局变量了。 点击➕&#xff0c;在代码中便会添加如下代码&#xff1a; properties (Acce…

MATLAB GUI 设全局变量的位置

如果要在控件之外定义全局变量&#xff0c; 则这个全局变量要设置在OutputFcn下面 如图&#xff1a;

matlab 全局变量(global)数据类型报错问题

今天我在做matlab的GUI界面时&#xff0c;其中涉及到定义一个全局的元胞变量(cell)。将其摘录下来如下&#xff1a; clc;clear all global a s11;s2123;s3a; a(1,1:3){s1,s2,s3}然后出现错误&#xff1a;从 cell 转换为 double 时出现以下错误:错误使用 double无法从 cell 转换…

matlab 全局符号变量,优化全局变量使用 - MATLAB Simulink Example - MathWorks 中国

示例模型 在模型 matlab:rtwdemo_optimize_global_ebf 中&#xff0c;Assignment 模块将来自 Inport 模块和 Constant 模块的值赋给输出信号。输出信号馈入 Gain 模块中。 model rtwdemo_optimize_global_ebf; load_system(rtwdemo_optimize_global_ebf) 生成代码但不进行优化…

20220117 matlab 全局变量调试

要在外部和里面都定义global才行貌似 global f1function parameter_inpu__() global f1 f11;endglobal f1 b1 f_temp test1__(); dynamic_e()function parameter_inpu__() global f1 f11;endfunction test1__() global f1 b1 b1f1;endfunction dynamic_e() global f_temp f_te…

matlab变量全局化,matlab全局变量global

matlab global定义全局变量的问题 我写了matlab的一个主函数,放在一个M文件中,然后在这个主函数中调用其可以,前提是两个函数共用变量均需用global声明 例子: 保存f.m内容如下: function f(a,b) global x y; x=a; y=b; 保存g.m内容如下: function [out]=g global x y; ou…

matlab 编程之全局变量(global)和永久变量(persistent)

一、global 官方解释&#xff1a; help globalglobal Define global variable.global X Y Z defines X, Y, and Z as global in scope.Ordinarily, each MATLAB function has itsown local variables, which are separate from those of other functions,and from those of th…

Matlab之全局变量

通过返回修改后的输入参数&#xff0c;可以实现函数内部对Matlab工作空间变量的修改。而另一种殊途同归的方法则是使用全局变量。 声明全局变量需要用到global关键词&#xff0c;语法格式为‘global variable’ 通过全局变量可以实现Matlab工作空间变量空间和多个函数的函数空间…

JavaScript 原型链和继承面试题

JavaScript 原型链和继承问题 JavaScript 中没有类的概念的&#xff0c;主要通过原型链来实现继承。通常情况下&#xff0c;继承意味着复制操作&#xff0c;然而 JavaScript默认并不会复制对象的属性&#xff0c;相反&#xff0c;JavaScript只是在两个对象之间创建一个关联&am…

11、原型链、原型继承和Class继承

11.1 原型 每个函数都有一个prototype&#xff08;原型&#xff09;属性&#xff0c;这个属性是一个指针&#xff0c;指向一个对象&#xff0c;这个对象&#xff08;函数.prototype&#xff09;的用途是包含可以由特定类型的所有实例共享的属性和方法 11.2 原型链 基本思想就是…

原型链和原型继承

什么是原型链&#xff1f; 每一个对象都有自己的原型对象&#xff0c;而原型对象也属于对象也会有自己的原型对象&#xff0c;依次类推就会形成链式结构&#xff0c;然后就构成了原型链&#xff0c;所有对象的原型链最终都会指向object.prototype&#xff0c;而最终object.pro…

关于原型、原型链和原型继承的理解

# 个人理解 原型&#xff1a; prototype首先是只作用于函数的属性&#xff0c;无法直接用于对象或变量。 每个函数中都自带一个__proto__属性(可以存储继承对象中的prototype属性--- p.__proto__ Person.prototype)。 在实例化对象(构造函数)时&#xff0c;寻找某个属性(如dem…

js原型和原型链以及原型继承

目录 一、原型 二、原型链 三、原型链继承 一、原型 原型是Javascript中的继承的基础&#xff0c;JavaScript的继承主要依靠原型链来实现的。 原型 ​ 在JavaScript中&#xff0c;我们创建一个函数A(就是声明一个函数), 就会为该函数创建一个prototype属性。而且也会在内存…

原型、原型链和原型继承

原型继承 编程中对象继承&#xff0c;有类继承和原型继承&#xff1a; 类继承形式上就是&#xff0c;extends 关键字&#xff0c;继承之后&#xff0c;子类就会拥有父类的属性和方法&#xff0c;如下&#xff1a; // 以下是 ES6 class 语法&#xff0c;语法上同类继承一样&a…