三大运营商中国电信,移动,联通之间是如何用BGP来解决不同AS间通信的?
一,什么是BGP?
BGP是域间路由协议,简单地说就是不同单位不同机构负责的网络之间通信的路由协议,
比如说联通与电信,电信与移动之间就属于不同的自治域,而要实现他们之间的通信,则就要
用到BGP协议。
二,什么是自治系统?
-
基本定义:
自治系统(autonomous system),在互联网中,一个自治系统(AS)是一个有权自主地决定在本系统中 应采用何种路由协议的小型单位。这个网络单位可以是一个简单的网络也可以是一个由一个或多个普通 的网络管理员来控制的网络群体,它是一个单独的可管理的网络单元。
-
三大特点
1,同一个技术管理结构
2,统一选路策略
3,路由器的集合
三,动态路由的分类
动态路由协议分为IGP与EGP
IGP: OSPF , ISIS
EBG:BGP
四,关于BGP
特征 :
- 1, 传输协议:TCP, 端口号179
- 2, BGP是外部协议路由,用来在AS之间传递路由信息
- 3, 是一种增强的路径矢量路由协议
- 4, 拥有可靠的路由更新机制
- 5, 具备丰富的Metric度量方法
- 6, 无环路协议设计
- 7, 为路由条目附带多种属性信息
- 8, 支持CIDR(无类别御间选路
- 9, 丰富的路由过滤和路由策略
- 10, 无需周期更新
- 11, 路由更新时只发送增量路由
- 12, 周期性发送KeepAlive报文以保证TCP连通性
邻居关系:
1,BGP报文:
Open报文:发hello包,用来建邻居
Update报文:更新BGP
Notification报文:用来报错
Route-refresh: 路由刷新
KEEPAlive :维持发HELLO包,维持邻居关系
** 2,BGP状态机: **
Idle状态:为启动之前 (ospf为down)
Connect状态:启动之后,连接,发hello包与opensent尝试建立
Active状态: connect失败后,处在此状态,相当于半边是开的,半边是闭起来的,
尝试次数超过12,有可能进入下一个状态。
Opensent状态:确认
Established状态:相当于OSPF的FULL
3,BGP数据库
-
IP路由表(IP-RIB) (ibgp):(属于同一个对等体,也就是AS在一个区域,不受物理位置限制,
不是直连也可以进行学习路由表。) -
BGP路由表(LOC-RIB)/ebgp:对等体外的,也就是AS不属于同一个域
-
邻居表
ADJ-RIB-IN-----IBGP
ADJ-RIB-OUT----EBGP
4, 建立邻居关系
如图,下图由三个AS区域,分别为AS100,200, 300,AS200 里面的路由器之间都属于IBGP邻居关系,而,R1与R2都属于EBGP,R4与R5都属于EBGP关系。
例如:R2和R1建立EBGP关系,R2和r4建立ibgp关系,要保证R2和R4的可达性
R2
bgp 200
Router-id 2.2.2.2
Peer 12.1.1.1 as-number 100
Peer 34.1.1.4 as-number 200
R5 和 R4 建立EBGP邻居关系
Bgp 300
router-id 5,5,5,5
peer 45.1.1.4 as-number 200
五, 通告BGP路由的方法
-
1, ** network 方式 ** (BGP通告的是路由而不是接口)
注意:此方式通告在这里子网掩码不做改变写原码。
- ** 2, import 通告方式 **
建立邻居有两种方法:
1,直连网段建邻居:直接能通,一跳
2,换回口建邻居:经过物理口之后,规定是两跳
环回口建邻居的好处:
只要路由器是UP的状态,环回口就是UP的状态,状态相对稳定,
直连因为线路接口问题可能会断掉。环回口有一个问题就是只能跳一跳,
所以要改环回口的跳数。静态路由来连接另外一个区域。
五,实验
用环回口宣告BGP来实现全网互通
-
实验拓扑
-
实验步骤
- 1,.配 IP 地址
- 2,在同一个AS区域的宣告OSPF,是它们在同一区域间能相互学习路由,命令如下
在R1上面:
[R1]ospf 1 router-id 1.1.1.1 /给路由器命名并进入OSPF
[R1-ospf-1]area 0 /进入骨干区
[R1-ospf-1-area-0.0.0.0]net 1.1.1.1 0.0.0.0 /宣告自身
[R1-ospf-1-area-0.0.0.0]net 12.1.1.0 0.0.0.255 /宣告直连网段
[R1-ospf-1-area-0.0.0.0]net 2.2.2.2 0.0.0.0 / 宣告要学的路由
在R2上面
[R2]ospf 1 router-id 2.2.2.2
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]net 2.2.2.2 0.0.0.0
[R2-ospf-1-area-0.0.0.0]net 12.1.1.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]net 23.1.1.0 0.0.0.255
- 3,查看路由表:
dis ip routing-table
R1:
R2:
- 4,BGP 宣告邻居
R1:
命令如下:
[R1]bgp 100
[R1-bgp]peer 2.2.2.2 as-number 100
[R1-bgp]peer 2.2.2.2 connect-interface loop 0
宣告直连:
[R1-bgp]net 12.1.1.0 24
[R1-bgp]net 2.2.2.2 32
R2:
bgp 100
[R2-bgp] peer 1.1.1.1 as-number 100
[R2-bgp] peer 1.1.1.1 connect-interface LoopBack0
[R2-bgp] peer 1.1.1.1 next-hop-local / 边界路由向自己区域路由设置下一跳为本地
[R2-bgp] peer 3.3.3.3 as-number 200
[R2-bgp] peer 3.3.3.3 ebgp-max-hop 255 / 因为是边界路由,所有下一跳至少为两跳才能到达
[R2-bgp] peer 3.3.3.3 connect-interface LoopBack0
宣告直连:
[R2-bgp]net 1.1.1.1 32 /
[R2-bgp]net 12.1.1.0 24
[R2-bgp]net 3.3.3.3 32
R3 :
宣告邻居:
[R3]bgp 200
[R3-bgp]peer 2.2.2.2 as-number 100
[R3-bgp]peer 2.2.2.2 connect-interface loop 0
[R3-bgp]peer 2.2.2.2 Ebgp-max-hop 255
宣告直连:
[R3-bgp]net 3.3.3.3 32
[R3-bgp]net 23.1.1.0 24
[R3-bgp]net 2.2.2.2 32
因为R2与R3之间属于不同域,所以各自加一条静态路由:
R2: ip route-static 3.3.3.3 255.255.255.255 23.1.1.3
R3: ip route-static 2.2.2.2 255.255.255.255 23.1.1.2
最后进行ping测试:
实验到此结束
研究司马懿: 明天用用你的方式试试,需要安装所有的openssl吗,需要关闭防火墙啥的吗,还是说需要用到防火墙做端口转发
yj567891011: 对是对的,就是说的太简介了
希望有个过程
m0_70184343: 请问,我另外查到了以下这则内容: "127.255.255.255,这是定向广播地址,在实际条件下被禁用,因为它可能导致网络拥塞,导致拒绝服务.” 这与原文中的"127.0.0.0到127.255.255.255为系统环回地址。"是否冲突?
托云述: 有没有详细代码呀
ShawnBear: 好评,直接解决问题