前言:
现时小伙伴们对“基于距离向量算法的路由协议的模拟实现”都比较关心,我们都想要学习一些“基于距离向量算法的路由协议的模拟实现”的相关内容。那么小编也在网上汇集了一些有关“基于距离向量算法的路由协议的模拟实现””的相关知识,希望兄弟们能喜欢,姐妹们一起来了解一下吧!概述
通过实践验证理论的方式,往往可快速的学习、积累和应用知识。接下来,我将通过实践课的方式向各位小伙伴总结分享边界网关协议BGP。
基础BGP组网案例组网拓扑图
组网拓扑如下图所示,利用BGP协议实现SW_1设备接口loopback0的IP和SW_4设备接口loopback0的IP之间的互联、互通。
备注:模拟器采用HCL 5.5.0
组网地址规划
组网地址规划如下图所示,互联地址采用30位的掩码,采用BGP技术,最终实现10.10.0.1和10.30.0.1之间的互联、互通。
组网设备基础配置
组网设备基础配置主要涉及设备命名和接口IP地址配置
# SW_1基础配置
[H3C] sysname SW_1
[SW_1]interface LoopBack0
[SW_1-LoopBack0] ip address 10.10.0.1 255.255.255.255
[SW_1-LoopBack0]quit
[SW_1]interface GigabitEthernet1/0/2
[SW_1-GigabitEthernet1/0/2] port link-mode route
[SW_1-GigabitEthernet1/0/2] ip address 10.10.2.1 255.255.255.252
[SW_1-GigabitEthernet1/0/2]quit
[SW_1]ip ttl-expires enable
[SW_1]ip unreachables enable
# SW_2基础配置
[H3C] sysname SW_2
[SW_2]interface LoopBack0
[SW_2-LoopBack0] ip address 10.20.0.2 255.255.255.255
[SW_2-LoopBack0]quit
[SW_2]interface GigabitEthernet1/0/2
[SW_2-GigabitEthernet1/0/2] port link-mode route
[SW_2-GigabitEthernet1/0/2] ip address 10.10.2.2 255.255.255.252
[SW_2-GigabitEthernet1/0/2]quit
[SW_2]interface GigabitEthernet1/0/3
[SW_2-GigabitEthernet1/0/3] port link-mode route
[SW_2-GigabitEthernet1/0/3] ip address 10.20.3.1 255.255.255.252
[SW_2-GigabitEthernet1/0/3]quit
[SW_2]ip ttl-expires enable
[SW_2]ip unreachables enable
# SW_3基础配置
[H3C] sysname SW_3
[SW_3]interface LoopBack0
[SW_3-LoopBack0] ip address 10.20.0.3 255.255.255.255
[SW_3-LoopBack0]quit
[SW_3]interface GigabitEthernet1/0/3
[SW_3-GigabitEthernet1/0/3] port link-mode route
[SW_3-GigabitEthernet1/0/3] ip address 10.20.3.2 255.255.255.252
[SW_3-GigabitEthernet1/0/3]quit
[SW_3]interface GigabitEthernet1/0/4
[SW_3-GigabitEthernet1/0/4] port link-mode route
[SW_3-GigabitEthernet1/0/4] ip address 10.20.4.1 255.255.255.252
[SW_3-GigabitEthernet1/0/4]quit
[SW_3]ip ttl-expires enable
[SW_3]ip unreachables enable
#SW_4基础配置
[H3C] sysname SW_4
[SW_4]interface LoopBack0
[SW_4-LoopBack0] ip address 10.30.0.1 255.255.255.255
[SW_4-LoopBack0]quit
[SW_4]interface GigabitEthernet1/0/4
[SW_4-GigabitEthernet1/0/4] port link-mode route
[SW_4-GigabitEthernet1/0/4] ip address 10.20.4.2 255.255.255.252
[SW_4-GigabitEthernet1/0/4]quit
[SW_4]ip ttl-expires enable
[SW_4]ip unreachables enable
组网设备BGP配置
#SW_1设备BGP配置
[SW_1]bgp 10
[SW_1-bgp-default] router-id 10.10.0.1
[SW_1-bgp-default] peer 10.10.2.2 as-number 20
[SW_1-bgp-default] address-family ipv4 unicast
[SW_1-bgp-default-ipv4] network 10.10.0.1 255.255.255.255
[SW_1-bgp-default-ipv4] peer 10.10.2.2 enable
[SW_1-bgp-default-ipv4]quit
[SW_1-bgp-default]quit
[SW_1]
#SW_2设备BGP配置
[SW_2]bgp 20
[SW_2-bgp-default] router-id 10.20.0.2
[SW_2-bgp-default] peer 10.10.2.1 as-number 10
[SW_2-bgp-default] peer 10.20.3.2 as-number 20
[SW_2-bgp-default] address-family ipv4 unicast
[SW_2-bgp-default-ipv4] peer 10.10.2.1 enable
[SW_2-bgp-default-ipv4] peer 10.20.3.2 enable
[SW_2-bgp-default-ipv4] peer 10.20.3.2 next-hop-local
[SW_2-bgp-default-ipv4]quit
[SW_2-bgp-default]quit
[SW_2]
#SW_3设备BGP配置
[SW_3]bgp 20
[SW_3-bgp-default] router-id 10.20.0.3
[SW_3-bgp-default] peer 10.20.3.1 as-number 20
[SW_3-bgp-default] peer 10.20.4.2 as-number 30
[SW_3-bgp-default] address-family ipv4 unicast
[SW_3-bgp-default-ipv4] peer 10.20.3.1 enable
[SW_3-bgp-default-ipv4] peer 10.20.3.1 next-hop-local
[SW_3-bgp-default-ipv4] peer 10.20.4.2 enable
[SW_3-bgp-default-ipv4]quit
[SW_3-bgp-default]quit
[SW_3]
#SW_4设备BGP配置
[SW_4]bgp 30
[SW_4-bgp-default] router-id 10.30.0.1
[SW_4-bgp-default] peer 10.20.4.1 as-number 20
[SW_4-bgp-default] address-family ipv4 unicast
[SW_4-bgp-default-ipv4] network 10.30.0.1 255.255.255.255
[SW_4-bgp-default-ipv4] peer 10.20.4.1 enable
[SW_4-bgp-default-ipv4]quit
[SW_4-bgp-default]quit
[SW_4]
组网目标验证
查看SW_1设备的BGP路由表并进行路由跟踪,如下图所示;
#查看SW_1设备的BGP路由表
[SW_1]display bgp routing-table ipv4
#带源地址的路由跟踪
[SW_1]tracert -a 10.10.0.1 10.30.0.
查看SW_4设备的BGP路由表并进行路由跟踪,如下图所示;
通过上述验证,实现了本次组网的目标。
BGP理论基础
组网实验本身比较基础,根据上述描述便可模拟验证,那么接下来让我们结合实验总结一下BGP相关理论知识。
BGP的含义
边界网关协议BGP(Border Gateway Protocol)是一种实现自治系统AS(Autonomous System)之间的路由可达,并选择最佳路由的距离矢量路由协议。
BGP也可以理解成一种应用层的协议,传输层采用TCP,工作端口179。如下图所示,在SW_1设备G1/0/2接口抓取的SW_1向SW_2发送的BGP Update报文。
自治系统AS(Autonomous System)
AS是指在一个实体管辖下的拥有相同选路策略的IP网络。BGP网络中的每个AS都被分配一个唯一的AS号,用于区分不同的AS。其中,RFC1771定义AS号是2字节,即1至65535;RFC4893定义AS号是4字节,即1至4294967295。支持4字节AS号的设备能够与支持2字节AS号的设备兼容。
就如,本组网拓扑中的AS 10、AS 20和AS 30。以SW_1设备举例来说,对应的命令是:[SW_1]bgp 10。
BGP分类
如图组网拓扑所示,BGP按照运行方式分为EBGP(External/Exterior BGP)和IBGP(Internal/Interior BGP)。
EBGP:运行于不同AS之间的BGP称为EBGP。为了防止AS间产生环路,当BGP设备接收EBGP对等体发送的路由时,会将带有本地AS号的路由丢弃。
IBGP:运行于同一AS内部的BGP称为IBGP。为了防止AS内产生环路,BGP设备不将从IBGP对等体学到的路由通告给其他IBGP对等体,并与所有IBGP对等体建立全连接。为了解决IBGP对等体的连接数量太多的问题,BGP设计了路由反射器和BGP联盟。
BGP报文交互中的角色
BGP报文交互中分为Speaker和Peer两种角色。
Speaker:发送BGP报文的设备称为BGP发言者(Speaker),它接收或产生新的报文信息,并发布(Advertise)给其它BGP Speaker。
Peer:相互交换报文的Speaker之间互称对等体(Peer)。若干相关的对等体可以构成对等体组(Peer Group)。
以SW_1设备举例来说,配置对等体并使能的配置命令如下所示;
[SW_1-bgp-default] peer 10.10.2.2 as-number 20
[SW_1-bgp-default] address-family ipv4 unicast
[SW_1-bgp-default-ipv4] peer 10.10.2.2 enable
BGP的路由器号(Router ID)
BGP的Router ID是一个用于标识BGP设备的32位值,通常是IPv4地址的形式,在BGP会话建立时发送的Open报文中携带。对等体之间建立BGP会话时,每个BGP设备都必须有唯一的Router ID,否则对等体之间不能建立BGP连接。
以SW_1设备举例来说,配置SW_1设备的路由号命令如下所示;
[SW_1-bgp-default] router-id 10.10.0.1
如下图所示,在SW_1设备G1/0/2接口抓取的SW_1向SW_2发送的BGP Open报文中,SW_1设备的Router ID是10.10.0.1。
BGP的报文及状态机
BGP对等体间通过以下5种报文进行交互,其中Keepalive报文为周期性发送,其余报文为触发式发送:
Open报文:用于建立BGP对等体连接。
Update报文:用于在对等体之间交换路由信息。
Notification报文:用于中断BGP连接。
Keepalive报文:用于保持BGP连接。
Route-refresh报文:用于在改变路由策略后请求对等体重新发送路由信息。只有支持路由刷新(Route-refresh)能力的BGP设备会发送和响应此报文。
BGP对等体的交互过程中存在6种状态机:空闲(Idle)、连接(Connect)、活跃(Active)、Open报文已发送(OpenSent)、Open报文已确认(OpenConfirm)和连接已建立(Established)。
如下图所示,在SW_1设备G1/0/2接口抓取它与SW_2设备设备之间建立BGP连接、保持连接以及相互通告路由更新的过程报文;
标识1:Idle—>Connect状态 ——在Connect状态,SW_1设备向SW_2设备的TCP 179端口发起TCP连接并完成TCP连接;
标识2:Open报文已发送(OpenSent)——>Open报文已确认(OpenConfirm)——SW_1设备与SW_2设备相互发送Open报文并相互确认报文;
标识3: SW_1设备和SW_2设备相互收到对方的Keepalive报文和确认报文,BGP对等体间进入Established状态;
标识4:SW_1设备和SW_2设备间相互发送Update报文通告各自的路由。
标签: #基于距离向量算法的路由协议的模拟实现