AS自治系统
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AS自治系统相关的知识,希望对你有一定的参考价值。
参考技术A AS(autonomous system)自治系统
是互联网中的一个独立王国,多个AS组成了互联网。比如中国移动等ISP就是一个独立王国,这个独立王国会被分配一个ASN(自治系统号),每个互联网中的用户都置身于AS内。
如果用户访问的服务器位于AS内 ,则流量在AS内流转。
如果用户访问的服务器位于AS外 ,可以使用BGP协议来交换各自AS的ip路由表。ASN就是BGP协议用来识别王国的身份证,在交换路由表信息中会加入各自的ASN。当AS学习到其他AS的路由表后,会把用户的请求转发到其他AS的边界路由器并,服务器返回时也会检查来源并转发回用户自身所在的AS。
除了ISP以外还有一些大型企业也会拥有自己的AS号。
BGP(边界网关协议)
用于自治系统间的的路由信息交换,保证不同自治系统的路由可达。
同一AS内存在多个BGP speaker,负责接收和发送路由信息,AS内的一个BGP speaker接收到新的路由信息并进行比较更新后会发送给AS内所有的BGP speaker。相互交换信息的BGP之间互称对等体。当BGP运行与AS内,则为IBGP,当运行与不同AS之间的称为EBGP。
BGP基于TCP协议。
报文分为5种类型:
Open报文:用于建立BGP对等体连接。
Update报文:用于在对等体之间交换路由信息。
Notification报文:用于中断BGP连接。
Keepalive报文:用于保持BGP连接。
Route-refresh报文:用于在改变路由策略后请求对等体重新发送路由信息。只有支持路由刷新(Route-refresh)能力的BGP设备会发送和响应此报文。
对等体间交换路由信息原则:
从IBGP对等体获得的BGP路由,BGP设备只发布给它的EBGP对等体。
从EBGP对等体获得的BGP路由,BGP设备发布给它所有EBGP和IBGP对等体。
当存在多条到达同一目的地址的有效路由时,BGP设备只将最优路由发布给对等体。
路由更新时,BGP设备只发送更新的BGP路由。
所有对等体发送的路由,BGP设备都会接收。
BGP项目实验案例(基于华为设备)
一:BGP概述
1:自治系统
自治系统是由同一个技术管理机构管理、使用同一选录策略的一组路由器的集合。
2:动态路由的分类
(1)按自治系统分类
IGP:自治系统内部路由协议,包括RIP、OSPF、ISIS、EIGRP
EGP:自治系统之间的路由协议,包括BGP,BGP的作用是控制路由的传播和选择最优路由
(2)按协议类型分类
距离矢量路由协议
链路状态路由协议
3:BGP的概念
BGP是一种运行在AS和AS之间的动态路由协议,主要作用是在AS之间自动交换无环路信息、以此来构建AS的拓扑图,从而消除路由环路并实施用户配置的路由策略。
4:BGP的特性
使用TCP179端口
属于外部路由协议
是增强的路径矢量路由协议
可靠的路由更新机制
丰富的度量方法
五环路的设置
路由条目附带多种属性信息
支持CIDR
丰富的路由过滤和路由策略
无需周期更新
路由更新只发送增量路由
周期性发送keepalive报文,保持TCP连通性
二:BGP的工作原理
1:BGP邻居关系
(1)BGP报文
Open报文
Update报文
Notification报文
Route-Refresh报文
Keepalive报文
(2)BGP状态机
Idle状态
Connect状态
Active状态
OpenSent状态
OpenConfirm状态
Established状态
(3)BGP数据库
BGP数据库是BGP正常工作所需要的存储空间,分为如下几种
IP路由表:全局路由信息库
BGP路由表:BGP路由信息库,包括最优的IP路由信息
邻居表:对等体邻居清单列表
Adi-RIB-In:对等体宣告给本地Speaker的未处理的路由信息库
Adj-RIB-Out:本地Speaker宣告给指定对等体的路由信息库
(4)BGP邻居关系类型
IBGP邻居:同一个AS内部的BGP邻居关系
EBGP邻居:AS之间的BGP邻居关系
2:通告BGP路由的方法
(1)Network方式
将路由表的非BGP路由发布到BGP路由表中并通告给邻居
(2)Import方式
将所学的路由信息重分发到BGP路由表中,可以引入BGP的路由包括直连路由、静态路由及动态路由
三:BGP的配置
1:BGP对等体的配置
(1)EBGP多跳
默认BGP中EBGP邻居之间的TTL值为1,使用EBGP多条的命令来解决非直连邻居关系
(2)更新源建立邻居关系
使用环路接口建立BGP邻居关系
2:保证IBGP下一跳可达
3:BGP的属性
(1)BGP属性的分类
公有必遵
公认任意
可选过度
可选非过度
(2)BGP属性的介绍
Origin属性
AS-PATH属性
Next-Hop属性
Local-Pref属性
MED属性
4:BGP的选录原则
忽略不知道下一跳的路由。
忽略不同步的IBGP路由。只在同步规则被启用的情况下有此项。
优先选择Weight较大的路由(Cisco私有)。
优先选择local-preference较大的路由。
优先选择起始于本路由器的路由
优先选择AS-Path最短的路由。
优先选择Origin(起源)较低的路由
优先选择Metric(MED)较小的路由
优先选择EBGP路由>联盟EBGP>IBGP路由。
优先选择到BGP NEXT_HOP最近的路由
如果上述属性都相同且配置了maximum-paths(EBGP)或maximum-paths ibgp(IBGP)则可以将所有路由放进路由表。但BGP向外宣告只发最优那条。
优先选择来自较小RID的路由器。如果路由器为RR,则选择拥有较小ORIGINATOR_ID。
优先选择来自较小IP地址的邻居。
实验案例:
实验说明:
说明:
1:R1为运营商的路由器,R2、R3、R4为公司网络,所有路由器运行BGP路由协议
2:R1和R2之间、R1和R3之间都建立EBGP连接
3:R2、R3、R4之间建立IBGP全连接
4:运营商网络为AS100,公司网络为AS200
5:在AS200内,使用IGP协议来计算路由(IGB使用OSPF协议)
要求:
1:实现两个AS之间的互通
2:通过修改BGP属性实现业务需求的路径从R2切换到R3
实验拓扑
实验步骤:
一:基础配置
1:配置各个设备的ip地址
(1)R1
<Huawei>sys
[Huawei]sysname R1
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ip add 10.0.12.1 24
[R1-GigabitEthernet0/0/0]undo shut
[R1-GigabitEthernet0/0/0]int g0/0/1
[R1-GigabitEthernet0/0/1]ip add 10.0.13.1 24
[R1-GigabitEthernet0/0/1]undo shut
[R1-GigabitEthernet0/0/1]int loop0
[R1-LoopBack0]ip add 1.1.1.1 32
[R1-LoopBack0]quit
[R1]
(2)R2
<Huawei>sys
[Huawei]sysname R2
[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]ip add 10.0.12.2 24
[R2-GigabitEthernet0/0/0]int g0/0/1
[R2-GigabitEthernet0/0/1]ip add 10.0.24.2 24
[R2-GigabitEthernet0/0/1]int loop0
[R2-LoopBack0]ip add 2.2.2.2 32
[R2-LoopBack0]quit
[R2]
(3)R3
<Huawei>sys
[Huawei]sysname R3
[R3]int g0/0/0
[R3-GigabitEthernet0/0/0]ip add 10.0.13.3 24
[R3-GigabitEthernet0/0/0]int g0/0/1
[R3-GigabitEthernet0/0/1]ip add 10.0.34.3 24
[R3-GigabitEthernet0/0/1]int loop0
[R3-LoopBack0]ip add 3.3.3.3 32
[R3-LoopBack0]quit
[R3]
(4)R4
<Huawei>sys
[Huawei]sysname R4
[R4]int g0/0/0
[R4-GigabitEthernet0/0/0]ip add 10.0.24.4 24
[R4-GigabitEthernet0/0/0]undo shut
[R4-GigabitEthernet0/0/0]int g0/0/1
[R4-GigabitEthernet0/0/1]ip add 10.0.34.4 24
[R4-GigabitEthernet0/0/1]undo shut
[R4-GigabitEthernet0/0/1]int loop0
[R4-LoopBack0]ip add 4.4.4.4 32
[R4-LoopBack0]quit
[R4]
二:配置公司网络的OSPF协议,使公司内网可以互访
1:R2
[R2]ospf 1
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]network 10.0.24.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]network 2.2.2.2 0.0.0.0
[R2-ospf-1-area-0.0.0.0]quit
[R2-ospf-1]quit
2:R3
[R3]ospf 1
[R3-ospf-1]area 0
[R3-ospf-1-area-0.0.0.0]network 10.0.34.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0]network 3.3.3.3 0.0.0.0
[R3-ospf-1-area-0.0.0.0]quit
[R3-ospf-1]quit
3:R4
[R4]ospf 1
[R4-ospf-1]area 0
[R4-ospf-1-area-0.0.0.0]network 10.0.24.0 0.0.0.255
[R4-ospf-1-area-0.0.0.0]network 10.0.34.0 0.0.0.255
[R4-ospf-1-area-0.0.0.0]network 4.4.4.4 0.0.0.0
[R4-ospf-1-area-0.0.0.0]quit
[R4-ospf-1]quit
4:测试
R2、R3、R4互相ping以下他们的loopback地址,要能ping通
三:配置R1和R2、R1和R3之间的邻接关系,使他们之间能通过EBGP相互传递路由,在R2、R3和R4上配置IBGP邻接关系,使R2、R3、R4之间可以通过IBGP互相传递路由。
1:R1的配置
<R1>sys
[R1]bgp 100
[R1-bgp]router-id 1.1.1.1
[R1-bgp]peer 10.0.12.2 as-number 200
[R1-bgp]peer 10.0.13.3 as-number 200
[R1-bgp]network 1.1.1.1 32
2:R2的配置
[R2]bgp 200
[R2-bgp]router-id 2.2.2.2
[R2-bgp]peer 10.0.12.1 as-number 100
[R2-bgp]peer 10.0.24.4 as-number 200
[R2-bgp]peer 10.0.24.4 next-hop-local
[R3-bgp]import-route ospf 1
3:R3的配置
[R3]bgp 200
[R3-bgp]router-id 3.3.3.3
[R3-bgp]peer 10.0.13.1 as-number 100
[R3-bgp]peer 10.0.34.4 as-number 200
[R3-bgp]peer 10.0.34.4 next-hop-local
[R3-bgp]import-route ospf 1
4:R4的配置
<R4>sys
[R4]bgp 200
[R4-bgp]router-id 4.4.4.4
[R4-bgp]peer 10.0.24.2 as-number 200
[R4-bgp]peer 10.0.34.3 as-number 200
[R4-bgp]network 4.4.4.4 32
[R4-bgp]quit
[R4]
5:查看BGP路由
(1)R1的路由表
[R1]dis bgp routing-table
> 1.1.1.1/32 0.0.0.0 0 0 i
> 4.4.4.4/32 10.0.12.2 0 200i
- 10.0.13.3 0 200i
(2)R4的路由表
[R4]dis bgp routing-table
*>i 1.1.1.1/32 10.0.24.2 0 100 0 100i
- i 10.0.34.3 0 100 0 100i
*> 4.4.4.4/32 0.0.0.0 0 0 i
注释:
*:表示有效的路径
:表示最好的路径
从上述结果可以看出,R4到R1之间的通信是通过R2来传递的
四:使用BGP各种属性控制选路
方法1:修改优先级参数,使R4到R1的通信通过R3来传递
本地优先级(local-preference属性)的默认值为100,越大越有先,取值范围0-4294967295
想走谁,就将谁的local-preference值设置的大些
(1)在R3上修改优先级:
[R3]route-policy lop permit node 10
[R3-route-policy]apply local-preference 222
[R3-route-policy]quit
[R3]bgp 200
[R3-bgp]peer 10.0.34.4 route-policy lop export
[R3-bgp]quit
[R3]quit
<R3>reset bgp all
(2)在R4上查看路由表
R4的路由表
[R4]dis bgp routing-table
*>i 1.1.1.1/32 10.0.34.3 0 100 0 100i
- i 10.0.24.2 0 100 0 100i
*> 4.4.4.4/32 0.0.0.0 0 0 i
方法2:使用AS-path属性控制选路,使得R4到R1的通信是通过R2来传递的
不想走谁,就增加谁的as-path路径值
(1)先在R3上先删除前面配置的local-preference属性所对应的路由策略
<R3>sys
[R3]bgp 200
[R3-bgp]undo peer 10.0.34.4 route-policy lop export
[R3-bgp]quit
(2)在R2上修改AS-PATH属性,增加R2的路径,使得R4在选路的时候优先选择R3
<R2>sys
[R2]route-policy as permit node 10
[R2-route-policy]apply as-path 123 123 123 additive
[R2-route-policy]quit
[R2]bgp 200
[R2-bgp]peer 10.0.24.4 route-policy as export
[R2-bgp]quit
[R2]quit
<R2>reset bgp all
(3)在R4上查看路由表
<R4>dis bgp routing-table
Total Number of Routes: 13
Network NextHop MED LocPrf PrefVal Path/Ogn
*>i 1.1.1.1/32 10.0.34.3 0 100 0 100i
- i 10.0.24.2 0 100 0 123 123 123 100i
注意:方法1和方法2都是从R4到R1的通信,任选一个即可;方法3是从R1到R4的通信
方法3:通过MED属性控制选路,使得R1到R4的通信是通过R3来传递的
不想走谁,就把谁的MED设置的大些
(1)修改MED属性,增加R2路由器的MED值
[R2]route-policy med permit node 10
[R2-route-policy]apply cost + 500
[R2-route-policy]quit
[R2]bgp 200
[R2-bgp]peer 10.0.12.1 route-policy med export
[R2-bgp]quit
[R2]quit
<R2>reset bgp all
<R2>
(2)在R1上查看路由表
<R1>dis bgp routing-table
*> 4.4.4.4/32 10.0.13.3 1 0 200?
- 10.0.12.2 501 0 200?
以上是关于AS自治系统的主要内容,如果未能解决你的问题,请参考以下文章
计算机网络 王道考研2021 第四章:网络层 -- 路由算法及路由协议自治系统(AS)RIP协议及距离向量算法OSPF协议及链路状态算法BGP协议