IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> HCIP学习日志(十四)MPLS VPN实验 -> 正文阅读

[网络协议]HCIP学习日志(十四)MPLS VPN实验

MPLS基础介绍

MPLS:多协议标签交换
多协议:可以基于多种不同的3层协议来生成2.5层的标签信息;

包交换—包为网络层的PDU,故包交换是基于IP地址进行数据转发;就是路由器的路由行为;
原始的包交换:数据包进入路由器后,路由器需要查询本地的路由表(RIB-路由信息数据库),再基于下一跳或者目标ip查询本地的ARP表,才能进行数据的转发;
快速的包交换:一次路由多次交换;每个数据流中的第一个包将被基于原始包交换规则转发;过程中生成缓存列表,记录整个通讯过程,该数据流量剩余数据包仅查询缓存记录即可;
特快的包交换:无需路由,直接交换; CEF-cisco特快交换,为cisco私有技术;非cisco厂商设备均存在和cef转发机制相同的技术;
路由表、ARP –转换为 FIB(转发信息数据库)表 流量转发过程中仅查询FIB表即可;
FIB的特点:在将路由器表转换过程中,存储递归查询结果;同时将新封装的二层地址进行绑定;

MPLS的主要作用:

1、解决BGP的路由黑洞
MPLS协议并不会为通过BGP协议学习的路由条目分配标签号;
而是在访问这些BGP路由目标网段时,在流量中压入到达这些网段的BGP下一跳设备地址的标签号;
例:R2从BGP邻居5.5.5.5 学习到6.6.6.0 网段的路由;R2在访问6.6.6.0 时,将在数据包中压入到达5.5.5.5ip地址的标签号,来穿越中间没有运行BGP协议的设备;实现打破路由黑洞;
注:华为设备默认不为BGP协议执行下一跳标签机制,cisco默认执行;
华为设备需要开启 route recursive-lookup tunnel 路由基于隧道进行递归查找

MPLS工作过程

一、工作过程
控制层面:路由协议工作,生成RIB,流量的方向即为控制流量;
数据层面:设备基于路由表访问目标,产生数据流量;与控制层面方向相反;

控制层面:

1)在没有MPLS时控制层面仅生成RIB(路由表)和FIB(转发信息数据库);FIB是基于RIB生成;
2)MPLS协议会启动TDP(cisco私有)或LDP(公有),直连设备间将建立邻居关系;
LDP-- 基于UDP和TCP的646端口工作;先使用udp发送组播hello包发现邻居,获取邻居ip地址,再和该直连邻居建立TCP的会话;邻居关系建立后;为了邻居关系间的稳定,一般使用设备的环回地址来建立tcp会话;建议设置环回地址为mpls协议的route-id,该id值将携带在组播收发的hello报文中,之后自动进行tcp会话建立;
总结:MPLS协议需要在直连邻居间使用router-id地址来进行TCP的会话;故前提条件为,route-id必须为设备真实使用的ip地址,建议为环回地址—稳定; 组播hello包在直连的物理接口上收发,来获取对端的router-id,自然也要求router-id值间路由可达;
因此正常在建立LDP的邻居关系间,路由协议已经收敛完成,RIB和FIB表已经生成;
3)MPLS在建立邻居关系后,生成邻居表;LDP协议再基于FIB表中学习到的路由条目生成标签号;
cisco设备默认基于FIB表中所有学习到的路由条目生成标签号,华为设备默认仅基于FIB表中32位掩码的主机路由生成标签号;原因在于正常32位主机路由为ospf学习的环回接口,正常工程中只有BGP和MPLS VPN才会基于环回通讯,使用标签转发;其他普通流量还是基于特快包交换来进行;反观cisco在启动mpls以后,所有流量将基于标签转发,降低了转发效率(前提为默认)
4)标签号生成后,将存储于本地的LIB表-标签信息数据库;LIB表将在邻居间共享;
LIB表中装载本地及邻居为每条路由分发的标签号;
5)运行MPLS协议的设备,将LIB和FIB进行结合,将标签号和最佳路径的关系映射生成LFIB表(标签转发信息数据库)
注:控制层面生成的表格
RIB—》FIB—》LIB—》LFIB 前两张表为路由协议工作后生成,后两张表为MPLS的LDP协议生成;

数据层面:

1)没有MPLS协议,基于FIB表正常转发即可
2)名词:MPLS domain – MPLS的工作半径
edge LSR(PE)–边界标签交换路由器 工作mpls域的边缘,连接域外设备
LSR (P) – 标签交换路由器 整体工作MPLS域内

3)当流量进入到第一台pe设备时, 在没有特快交换之前,路由器基于目标IP地址查询本地的RIB;
之后还要在LIB表中对应才能确定流量是否应该压入标签,需要两张表的查询;
在存在特快交换时,流量进入第一pe时,直接查询FIB表,表中关联标签号,将直接确定是否压入标签;
流量再到P路由器,接收到流量中若存在标签基于LFIB表转发,若没有标签基于FIB表即可;
流量从最后一台边界离开MPLS 域时将弹出标签;

存在标签号的流量,进入路由器时,入标签表应该为本地路由器分配的编号,出标签为本地的下游(下一跳)设备分配的标签号; 上下游的概念基于数据层面进行标定;

名词:标签号(标签被压入在2层与3层之间,称为2.5层)

在这里插入图片描述
标签的格式—32位,4个字节
在这里插入图片描述

前20位为标签号,2^20个标签号;其中1-15号保留,作为特殊编号;
第21-23位exp,3位8个数,为优先级,用于QOS策略使用;
第24位为栈底位,该位为1标识该标签为最后一层标签;MPLS最大可以在一个数据包中封装3次标签;
普通的MPLS 一层标签 MPLS VPN 两层 MPLS TE 3层
TTL 生存时间 在第一次压入标签时,将当前数据包中的3层TTL复制到标签中;之后查询一次标签TTL减一,在最后一跳设备弹出标签时将2.5层的TTL复制到3层报头中;

MPLS的次末跳 – 倒数第二跳 默认执行

边界LSR将本地的直连网段传递给MPLS域内邻居后,LDP分配标签号为3,告知倒数第二跳设备它的身份;导致倒数第二跳设备在查询LFIB表后,已知转发路径的前提下提前弹出标签,使得最后一跳路由器均只需要查询FIB表; 否则最后一跳路由器在查询LFIB表后,弹出标签还需要查询FIB;

实验内容与题干:

在这里插入图片描述

实验拓扑图搭建和IP地址配置

在这里插入图片描述
注:R2的e0/0/0和g0/0/0接口与R4的e0/0/1和g0/0/1接口不要进行IP配置

实验步骤:

1.OSPF搭建

R2:
[r2]ospf 1 router-id 2.2.2.2
[r2-ospf-1]a 0
[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]network 23.1.1.2 0.0.0.0
R3 R4 R7同理即可
查看建邻状况:
在这里插入图片描述

2.在R2和R4上搭建BGP

r2:
[r2]bgp 1
[r2-bgp]router-id 2.2.2.2
[r2-bgp]peer 4.4.4.4 as-number 1
[r2-bgp]peer 4.4.4.4 connect-interface LoopBack 0
[r2-bgp]peer 4.4.4.4 next-hop-local
r4同理即可
查看BGP邻居状况:
在这里插入图片描述

3.MPLS搭建:

R2:
[r2]mpls lsr-id 2.2.2.2
[r2]mpls
Info: Mpls starting, please wait… OK!
[r2-mpls]
[r2-mpls]mpls ldp
[r2-mpls-ldp]q
[r2]interface e0/0/1
[r2-Ethernet0/0/1]mpls
[r2-Ethernet0/0/1]mpls ldp
R3:
[r3]mpls lsr-id 3.3.3.3
[r3]mpls
Info: Mpls starting, please wait… OK!
[r3-mpls]mpls ldp
[r3-mpls-ldp]q
[r3-Ethernet0/0/0]mpls
[r3-Ethernet0/0/0]mpls ldp
[r3-Ethernet0/0/0]int e0/0/1
[r3-Ethernet0/0/1]mpls ld
[r3-Ethernet0/0/1]mpls ldp
R4:
[r4]mpls lsr-id 4.4.4.4
[r4]mpls
Info: Mpls starting, please wait… OK!
[r4-mpls]mpls ld
[r4-mpls-ldp]q
[r4-Ethernet0/0/0]mpls ldp
[r4-Ethernet0/0/0]q

4.MPLS VPN搭建

r2:
[r2]ip vpn-instance
[r2]ip vpn-instance a
[r2-vpn-instance-a]ipv
[r2-vpn-instance-a]ipv4-family
[r2-vpn-instance-a-af-ipv4]route-distinguisher 1
[r2-vpn-instance-a-af-ipv4]route-distinguisher 1:1
[r2-vpn-instance-a-af-ipv4]vp
[r2-vpn-instance-a-af-ipv4]vpn-target 1:1
IVT Assignment result:
Info: VPN-Target assignment is successful.
EVT Assignment result:
Info: VPN-Target assignment is successful.
[r2-vpn-instance-a-af-ipv4]
[r2-vpn-instance-a-af-ipv4]
[r2-vpn-instance-a-af-ipv4]int e0/0/0
[r2-Ethernet0/0/0]
[r2-Ethernet0/0/0]
[r2-Ethernet0/0/0]ip b
[r2-Ethernet0/0/0]ip binding v
[r2-Ethernet0/0/0]ip binding vpn-instance a
Info: All IPv4 related configurations on this interface are removed!
Info: All IPv6 related configurations on this interface are removed!
[r2-Ethernet0/0/0]ip address 192.168.2.2 24
[r2-Ethernet0/0/0]
[r2-Ethernet0/0/0]
[r2-Ethernet0/0/0]q
[r2]bgp 1
[r2-bgp]ipv
[r2-bgp]ipv4-family vpnv4
[r2-bgp-af-vpnv4]peer 4.4.4.4 e
[r2-bgp-af-vpnv4]peer 4.4.4.4 enable
[r2-bgp-af-vpnv4]q

[r2]ip vpn
[r2]ip vpn-instance b
[r2-vpn-instance-b]ipv
[r2-vpn-instance-b]ipv4-family
[r2-vpn-instance-b-af-ipv4]route-distinguisher 2:1
[r2-vpn-instance-b-af-ipv4]vpn-target 2:1
IVT Assignment result:
Info: VPN-Target assignment is successful.
EVT Assignment result:
Info: VPN-Target assignment is successful.
[r2-vpn-instance-b-af-ipv4]int g0/0/0
[r2-GigabitEthernet0/0/0]
[r2-GigabitEthernet0/0/0]ip binding vpn-instance b
Info: All IPv4 related configurations on this interface are removed!
Info: All IPv6 related configurations on this interface are removed!
[r2-GigabitEthernet0/0/0]ip da
[r2-GigabitEthernet0/0/0]ip ad
[r2-GigabitEthernet0/0/0]ip address 192.168.2.2 24

[r2]ip rout
[r2]ip route
[r2]ip route-static vpn
[r2]ip route-static vpn-instance a 192.168.1.0 24 192.168.2.1
[r2]bgp 1
[r2-bgp]ipv4 vpn-instance a
[r2-bgp-a]import-route direct
[r2-bgp-a]import-route static
r4同理即可

5.配置静态路由

R1:
[r1]ip route-static 192.168.3.0 24 192.168.2.2
[r1]ip route-static 192.168.4.0 24 192.168.2.2
R5:
[r5]ip route-static 192.168.1.0 24 192.168.3.1
[r5]ip route-static 192.168.2.0 24 192.168.3.1
对A vpn区域进行连通性测试即可

6,r6进行rip配置 r7进行OSPF配置

r6
[r6-rip-1]version 2
[r6-rip-1]undo summary
[r6-rip-1]network 192.168.1.0
[r6-rip-1]network 192.168.2.0

R4:
[r4]ospf 2 vpn-instance b
[r4-ospf-2]a 0
[r4-ospf-2-area-0.0.0.0]network 192.168.3.1 0.0.0.0

[r4]bgp 1
[r4-bgp]ipv4-family vpn-instance b
[r4-bgp-b]import-route ospf 2
[r4-bgp]q
[r4]ospf 2 vpn-instance b
[r4-ospf-2]import-route bgp

[r7]ospf 2 router-id 7.7.7.7
[r7-ospf-2]area 0
[r7-ospf-2-area-0.0.0.0]network 192.168.4.2 0.0.0.0
[r7-ospf-2-area-0.0.0.0]network 192.168.3.2 0.0.0.0

实验完成

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-07-31 16:59:17  更:2021-07-31 16:59:19 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 18:55:48-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码