资源:基于BGP实现两个AS系统间通信
目录
1、自治系统(AS)
2、BGP
2.1 BGP定义
2.2 BGP发言人
2.3 BGP对等体
2.4 BGP基本配置
3、路由过滤
3.1 建立过滤规则
3.2 应用过滤规则
4、路由聚合
5、ensp基于BGP构建网络
5.1、AS100动态路由RIP配置
5.2、AS200 动态路由OSPF配置
5.3、BGP配置实现AS100与AS200间通信
5.3.1、查看R3、R4路由表
5.3.2、配置BGP路由协议
5.3.3、再次查看R3、R4路由表
5.3.4、Ping测结果
5.4、过滤BGP路由信息
5.4.1、查看R3、R4路由信息
5.4.2、配置和应用过滤规则
6、路由聚合
6.1、R3中路由聚合
6.2、R4中路由聚合
AS内部的路由器使用相同的路由选择协议和共同的度量,以确定分组在该AS内的路由。当前,路由选择协议分为两类:
1)内部网关协议IGP(Internet Gateway Protocol)。AS内部使用的路由选择协议,常用的由RIP和OSPF。
2)外部网关协议EGP(External Gateway Protocol)。源主机与目的主机在不同AS中,当数据包传到一个AS的边界时,就需要使用一种协议将路由信息传递到另一个AS中,即EGP协议。目前使用最多的BGP为版本4,即BGP-4。
BGP(Border Gateway Protocol)是用于AS间的动态路由协议,交换AS间的可达路由信息,防止路由环路。
BGP属于外部网关协议EGP,与IGP不同,其目的不在于发现和计算路由,而在于在AS之间选择最佳路由和控制路由的传播。
BGP使用TCP作为传输协议,提高协议可靠性。当路由更新时,BGP只发送更新的路由,减少占用带的宽。
每个AS选择至少一个路由器作为该AS的“BGP发言人”。BGP发言人代表所属AS与其他AS交换路由信息。
两个BGP发言人交换路由信息时,先建立TCP连接,端口号179;然后在该连接上建立BGP会话,利用BGP会话交换路由信息,包括路由信息的变化和报告出现差错情况等。
通过TCP连接交换路由信息的两个BGP发言人,彼此称为对方的邻居,又称对等体。
###进程id为管理员指定的BGP进程号
bgp 进程id
只有成功建立BGP对等体关系,设备之间才能交换BGP消息。
BGP对等体之间必须在逻辑上连通,并进行TCP连接,因此在配置时需要指定对等体的IP地址。属于同AS的设备间配置IBGP对等体,属于不同AS间的配置EBGP对等体。
###
bgp 进程id
###指定对等体的IP地址及其所属的AS编号
peer ip地址 as-number as编号
BGP协议本身不发现路由,只有引入其他协议的路由才能产生BGP路由。通过以下两种方式引入路由:
Import方式:按协议类型将RIP、OSPF、ISIS、静态路由和直连路由等协议的路由引入到BGP路由表中。
bgp 进程id
###进入BGP-ipv4单播地址族视图
ipv4-family unicast
import-route direct(isis 进程id 或 ospf 进程id 或 rip 进程id 或 static)
Network方式:将指定前缀的掩码的一条路由引入到BGP路由表中,该方式比Import更精确。
bgp 进程id
###进入BGP-ipv4单播地址族视图
ipv4-family unicast
network ip地址前缀 掩码
通过配置路由过滤,来限制路由器所发布或接收的路由信息。
例如:一个自治系统AS100的边界路由器R-A向自治系统AS200的边界路由器R-B发布自己的路由信息时,可以通过路由过滤,禁止某些路由信息发布出去,或者只发布指定的路由信息。
通过IP Prefix方法对路由信息过滤,IP Prefix针对路由目的地址做过滤,其依据时目的网络地址前缀。
(1)IP Prefix。通过IP IP-Prefix命令建立针对地址前缀的过滤规则列表,并使用名字(而不是编号)作为过滤规则列表的标识。每个过滤规则列表中可以建立多个过滤条目,每个过滤条目都被指定一个索引号(Index),Index越小优先级越高,在匹配过程中,按索引号升序依次匹配,只要有一个表项满足条件,就认为通过该过滤列表,不再去匹配其他表项。
注:IP Prefix过滤,缺省是deny all(禁止所有),所以在配置需要过滤的路由条目后,需要配置一条permit命令让其他路由通过。
(2)命令格式
ip ip-prefix 名称 索引号 permit/deny IP地址 greater-equal 值 less-equal 值
(3)解释说明
当待过滤的IPv4路由已匹配当前表项的IPv4地址前缀时,掩码长度可精确匹配或在一定范围内匹配:
1)过滤发布路由
filter-policy ip-prefix 名称 export
通过以上命令,对全局发布(例如向对等体发出)的路由信息进行过滤
2)过滤接收路由
filter-policy ip-prefix 名称 import
通过以上命令,对全局接收(例如从对等体接收)的路由信息进行过滤
在中大型BGP网络中,路由表会十分庞大。因此,使用路由聚合(Routes Aggregation)可以大大减小路由表的规模,而且还能隐藏一些具体的路由,减少路由震荡对网络带来的影响。
BGP支持两种聚合方式:
1)自动聚合
bgp as编号
ipv4-family unicast
summary automatic
“summary automatic”对network命令引入的路由无效。此外,配置该命令,BGP按照自然网段聚合路由。例如:
172.16.0.0/24和172.16.1.0/24聚合城172.16.0.0/16,而不是172.16.0.0/23。
2)手动聚合
bgp as编号
ipv4-family unicast
###发布全部聚合路由和明细路由
aggregate ip地址 掩码
###只发布全部聚合路由
aggregate ip地址 掩码 detail-suppressed
例:系统共分为两个自治系统AS,分别为AS100,采用RIP协议;AS200,采用OSPF协议。通过BGP协议实现两个AS间的主机通信。
端口配置参考第三章、三层交换机初认识及构建园区网以及第四章、路由初认识及构建园区网,本章节不再详述。
RS1~RS4配置相同:
rip 1
version 2
network 172.16.0.0
network 10.0.0.0
R1、R2、R3配置相同:
rip 1
version 2
network 10.0.0.0
Ping测结果:
PC1 Ping PC2、PC3、PC5、PC7
RS5配置:
ospf 1
area 0.0.0.1
network 192.168.64.0 0.0.0.255
network 192.168.65.0 0.0.0.255
network 10.1.1.0 0.0.0.3
RS6配置:
ospf 1
area 0.0.0.1
network 192.168.66.0 0.0.0.255
network 192.168.67.0 0.0.0.255
network 10.1.2.0 0.0.0.3
RS7配置:
ospf 1
area 0.0.0.2
network 192.168.68.0 0.0.0.255
network 192.168.69.0 0.0.0.255
network 10.1.3.0 0.0.0.3
RS8配置:
ospf 1
area 0.0.0.3
network 192.168.70.0 0.0.0.255
network 192.168.71.0 0.0.0.255
network 10.1.4.0 0.0.0.3
RS9配置:
ospf 1
area 0.0.0.3
network 192.168.72.0 0.0.0.255
network 192.168.73.0 0.0.0.255
network 10.1.5.0 0.0.0.3
R5配置:
ospf 1
area 0.0.0.0
network 10.1.0.0 0.0.0.3
network 10.1.0.4 0.0.0.3
area 0.0.0.1
network 10.1.2.0 0.0.0.3
network 10.1.1.0 0.0.0.3
R6配置:
ospf 1
area 0.0.0.0
network 10.1.0.8 0.0.0.3
network 10.1.0.12 0.0.0.3
network 10.1.0.4 0.0.0.3
area 0.0.0.2
network 10.1.3.0 0.0.0.3
R7配置:
ospf 1
area 0.0.0.0
network 10.1.0.16 0.0.0.3
network 10.1.0.12 0.0.0.3
area 0.0.0.3
network 10.1.4.0 0.0.0.3
network 10.1.5.0 0.0.0.3
R2配置:
ospf 1
area 0.0.0.0
network 10.1.0.0 0.0.0.3
network 10.1.0.8 0.0.0.3
network 10.1.0.16 0.0.0.3
可以看出,R3路由表只有AS100内部的路由信息,即直连路由和RIP协议路由,不包含AS200路由。同理,下图中R4的路由表仅包含AS200内部路由表,即直连路由和OSPF协议路由,不包含AS100路由。所以AS100与AS200是无法进行通信的。
在AS100的边界路由器R3上配置BGP路由协议
###使能BGP,AS号为100
bgp 100
###创建对等体,其AS编号为200,对等体接口ip为100.1.1.2
peer 100.1.1.2 as-number 200
###进入ipv4地址组视图
ipv4-family unicast
undo synchronization
###在BGP中引入RIP 1的路由信息
import-route rip 1
peer 100.1.1.2 enable
###将R3通过BGP协议获得的路由信息(来自AS200),引入到本AS(AS100)的RIP 1中,
###从而使得AS100中的路由器可以通过RIP协议获得这些路由信息
rip 1
import-route bgp
在AS200的边界路由器R4上配置BGP路由协议
bgp 200
peer 100.1.1.1 as-number 100
ipv4-family unicast
undo synchronization
import-route ospf 1
peer 100.1.1.1 enable
ospf 1
import-route bgp
可以看出,R3、R4路由表都包含了对方的路由信息,其中EBGP表示路由信息是从另一个AS系统获取的。
PC1 Ping PC9、PC11、PC13、PC15、PC17
对AS边界路由器通过BGP协议发向对等体的路由信息进行过滤,禁止指定的路由信息发往其他AS。
任务:对AS100的边界路由器R3配置,禁止将10.0.0.0/16网段的路由信息发往AS200
对AS200的边界路由器R4配置,禁止将10.1.0.0/16网段的路由信息发往AS200
1)R3配置
配置过滤规则,禁止10.0.0.0/16发往AS200
###禁止10.0.0.0/16的网段路由,允许0.0.0.0/0的网段路由
###过滤规则命名为prefix-r3,禁止规则索引号为10;允许规则索引号为12
ip ip-prefix prefix-r3 index 10 deny 10.0.0.0 16 greater-equal 16 less-equal 32
ip ip-prefix prefix-r3 index 12 permit 0.0.0.0 0 less-equal 32
应用过滤规则,在BGP视图中应用
bgp 100
###规则名称prefix-r3,export表示应用到发布出去的路由信息
filter-policy ip-prefix prefix-r3 export
此时,查看R4路由表,路由表中已不包含从AS100发过来的目的网络为10.0.0.0/16的路由信息,而172.16.64.0/24~172.16.71.0/24仍然存在。
2)R4配置
配置过滤规则,禁止10.1.0.0/16发往AS100
ip ip-prefix prefix-r4 index 10 deny 10.1.0.0 16 greater-equal 16 less-equal 32
ip ip-prefix prefix-r4 index 20 permit 0.0.0.0 0 less-equal 32
应用过滤规则,在BGP视图中应用
bgp 200
filter-policy ip-prefix prefix-r4 export
查看R3路由表
对AS边界路由器通过BGP协议发往对等体的路由信息进行聚合,简化路由表。
对172.16.64.0/24~172.16.71.0/24网段路由进行聚合
R3配置:
bgp 100
ipv4-family unicast
###聚合172.16.64.0/24~172.16.71.0/24网段,只发布聚合后的路由
aggregate 172.16.64.0 255.255.248.0 detail-suppressed
查看R4路由表
对192.168.64.0/24~192.168.71.0/24网段、192.168.72.0/24~192.168.73.0/24路由进行聚合
R4配置:
bgp 200
ipv4-family unicast
aggregate 192.168.64.0 255.255.248.0 detail-suppressed
aggregate 192.168.72.0 255.255.254.0 detail-suppressed
查看R3路由表
资源:基于BGP实现两个AS系统间通信