APP下载

基于SR 的IPv6 过渡技术设计与实现*

2020-06-08蒋元兵夏洪君雷文虎康宗绪颜浩洋

通信技术 2020年5期
关键词:子网报文路由器

蒋元兵,瞿 辉,夏洪君,雷文虎,康宗绪,颜浩洋

(重庆金美通信有限责任公司,重庆 400030)

0 引 言

随着IPv4 地址资源的枯竭,IPv6 技术上升为国家级战略,将逐步迎来全面部署。IPv4 向IPv6过渡需要一段时间,而隧道技术是IPv4 向IPv6 过渡的重要技术。基于MPLS IPv6(6PE)的隧道技术,可使多个IPv6 孤岛在同一个MPLS IPv4 核心网络上相互通信,并且只需要升级运营商边缘(Provider Edge,PE)设备,不需要改变核心网设备,不影响现有IPv4 和MPLS 服务,最大限度地降低成本和风险,成为一种最重要的隧道技术。6PE 隧道技术采用的MPLS 网络的控制平面协议非常复杂,大大增加了MPLS 的部署难度,导致很多专用网络不具备MPLS 能力,也不具备6PE 隧道的过渡能力。

分段路由(Segment Routin,SR)采用MPLS 标签作为Segment,可以直接使用MPLS 网络的数据平面,成为一种新型的MPLS 技术。软件定义网络(Software Defined Network,SDN)作为一种新型的网络技术,将网络的控制平面与数据平面分离,使得原本紧密结合的独立网络设备,变成了可访问、可编程的计算设备。伴随着SDN 的兴起,SR 技术可以与SDN 实现完美结合,从而更加方便且高效地解决网络问题[1]。SR 技术采用SDN 控制器集中计算路径的段列表,可以简化现有MPLS 网络的控制协议,并实现流量工程等机制[2]。随着IPv6 在基于SDN 和SR 的网络边缘部署,迫切需要研究对应的IPv6 过渡技术。

1 研究现状

1.1 6PE 隧道技术

6PE 隧道作为一种跨越IPv4/MPLS 网络的重要IPv6 过渡技术,通过MPLS 标签对IPv6 数据进行封装,在IPv4 网络中根据MPLS 标签进行数据转发。6PE 隧道的控制层和转发层相互分离,分别由BGP和MPLS 实现。

控制层的用户边缘设备(Custom Edge,CE)与PE 设备之间通过IGP 路由协议交互IPv6 路由。PE 之间基于MP-BGP 交互IPv6 路由和IPv6 前缀映射标签。骨干网的核心路由器不需要进行特殊处理。

转发层通过两层标签封装IPv6 报文,外层标签为PE之间的隧道标签用于骨干网内的标签转发,内层标签为IPv6 映射标签用于PE 节点识别IPv6 前缀。源PE 节点收到CE 发来的IPv6 报文后,完成两层标签封装,核心节点完成标签交换和转发,目的PE 节点弹出内层标签进行IPv6 路由转发。

1.2 软件定义网络

SDN 是一种新型的网络体系结构,通过将网络控制与网络转发解耦合构建开放可编程的网络体系结构。SDN 对网络进行抽象以屏蔽底层复杂度,为上层提供简单、高效的配置与管理。SDN 旨在实现网络互联和网络行为的定义和开放式的接口,从而支持未来各种新型网络体系结构和业务的创新。

SDN 采用控制与转发分离的思路,控制器具有全局视角,统一实现策略的制定、流表的下发等操作,而转发器接收来自控制器的请求,执行相关流表的操作[3]。

1.3 分段路由

SR是一种源路由机制,作为一种新型MPLS技术,用于优化IP、MPLS 的网络能力,可以使网络获得更佳的可扩展性。SR 和MPLS 网络类似,以标签交换为基础。但是,SR 不需要复杂的控制协议,只是对现有的IGP 协议进行简单的扩展来携带分段路由相关信息,就可以实现TE、FRR、MPLS VPN 等功能[4]。

SR 的segment 可以采用MPLS 标签,通过IGP路由协议对SR 的扩展实现标签分发和同步,也可以由控制器统一负责SR 标签的分配、下发和同步到设备。转发平面复用已有的MPLS 转发平面,网络设备可以不做改动。源节点在数据报头中插入带顺序的段列表(Segment List,SL),以指示收到这些数据包的节点怎么转发和处理这些数据包。

将SR 与SDN 结合,利用SDN 网络的集中控制特性,实时监控网络的流量传输状况,为业务流计算不同的段列表,从而主动引导业务沿着不同的路径进行转发,实现网络的流量工程。基于SR 的显式路径只在入口边界路由器中维护报文流的状态,从而提高了网络的可扩展性。因此,SR 对于下一代网络具有重要的研究意义。

2 设计实现

2.1 总体设计

SDN 控制器负责控制平面的IPv6 路由同步和SR 隧道建立等功能,边缘路由节点(Border Router,BR)完成SR 封装、解封装,SR 域内路由节点完成标签转发,系统架构如图1 所示。

图1 系统架构

IPv6 子网与直连的BR 节点通过IGP 路由协议(OSPFv3、RIPng、BGP4+ 等)交 互IPv6 路 由。BR 节点为学习的IPv6 路由前缀分配标签,并将IPv6 路由和IPv6 前缀映射标签通过SDN 控制器下发给策略指定的对端BR 节点。SDN 控制器依据SR域的网络拓扑和资源状态,为BR 节点计算SR 路径并下发,支持最短路径、指定路径等约束路径。SR 域内采用MPLS 标签转发。

2.1.1 IPv6 路由同步流程

SDN 控制器与BR 节点建立连接,作为控制通道使用。SDN 控制器根据配置信息将BR 节点相关的本端IPv6 前缀和关联的对端IPv6 前缀下发给BR节点。BR 节点为IPv6 前缀分配映射标签发送给SDN 控制器。BR 节点与直接连接的IPv6 网络之间采用IGP 路由协议或静态路由交互IPv6 路由表。BR 节点将学习的IPv6 路由与下发的IPv6 前缀进行比较。如果学习的IPv6 路由在下发路由范围内,则不用向SDN 控制器更新;如果超出范围,则向SDN 控制器更新IPv6 路由表和前缀映射标签。SDN控制器保存IPv6 前缀与BR 节点的映射关系,查询本地配置信息,通过控制通道将IPv6 路由和IPv6前缀映射标签下发到指定的对端BR 节点。对端BR节点更新本地IPv6 路由表和IPv6 前缀映射标签表,并且通过IGP 路由协议在直连的IPv6 子网内同步。

2.1.2 SR 路径计算和下发流程

SR 域内的路由节点之间运行链路状态路由协议,向SDN 控制器开放网络拓扑和链路状态等资源。SDN 控制器根据网络资源和本地策略计算带约束的SR 路径,包括最短路径、带宽约束路径以及指定节点路径等。

SDN 控制器接收到BR 节点更新的IPv6 路由后,根据IPv6 前缀匹配本地策略库,查找该路由前缀需要互通的IPv6 子网对应的BR 节点和路径约束信息。计算满足源BR 节点和目的BR 节点满足约束条件的SR 路径,形成SL 列表下发给源、目的BR 节点。

2.1.3 IPv6 数据转发处理流程

IPv6 子网通过IPv6 转发表将IPv6 数据转发到BR 节点。BR 节点根据报文的目的IPv6 地址匹配转发等价类表和下一跳标签转发入口表,获取SL和IPv6 前缀映射标签。BR 节点为IPv6 报文封装标签头,最里层标签为IPv6 前缀映射标签,用于目的BR 节点识别IPv6 报文,然后按照SL 依次封装标签,用于SR 域内的MPLS 转发。封装格式如图2 所示。

图2 报文封装格式

封装后的报文在SR域内通过SL进行标签转发。标签转发时,SR 头部标签为下一跳节点时,弹出标签后转发,否则直接通过出接口转发。目的BR节点接收到SR 报文后,通过报文头部的IPv6 映射标签查找入口标签映射表识别IPv6 报文,弹出标签,进行IPv6 路由转发。

2.2 SDN 控制器设计

SDN 控制器由南向接口、北向接口和核心控制层3 部分组成,功能模块如图3 所示。

图3 SDN 控制器功能模块

北向接口用于开放网络资源和输入策略,策略包括网络控制策略和IPv6 相关策略。

南向接口用于SR 域的策略控制、资源感知和状态上报。SDN 控制器与各路由节点建立逻辑连接,采用南向接口协议进行通信。

核心控制层完成SDN 控制器的核心控制功能,包括拓扑管理、路径计算、策略管理、资源管理以及标签管理等模块。针对IPv6 路由增加IPv6 路由管理,维护IPv6 路由、BR 节点、IPv6 前缀映射标签的关系。针对SR 增加标签管理,为网络分配标签,为SR 路径进行标签映射。

2.3 边缘路由器设计

SR 域内的节点按照部署位置分为域内路由器和边缘路由器。边缘路由器作为SR 域的一部分,具备域内路由器的全部能力,还需要具备IPv6 路由协议、IPv6 交换和SR 报文处理能力。功能模块组成如图4 所示。

图4 边缘路由器功能模块

边缘路由器由IP 交换、SR 报文处理、南向接口、IPv4 路由协议、IPv6 路由协议、路由管理、路径管理、策略管理和信息表(IP 转发表、转发等价类表FEC、标签转发信息表LFIB、下一跳标签转发入口表NHLFE)组成。

IP 交换模块对进入边缘路由器的IP 数据(包括IPv6 数据)进行IP 交换,根据IP 转发表进行二层交换、三层交换和送给SR 报文处理模块。

SR 报文处理模块首先根据目的IPv6 地址查找FEC 表和NHLFE 表,获取IPv6 前缀映射标签和SL,按照图2 的格式封装SR 报文,将生成的SR报文进行标签转发。接收的SR 报文根据分组头部的第一个SID 标签查找LFIB 表,获取下一跳SID标签和出接口,进行标签操作后,封装以太网帧头发送到出接口。标签操作时,当SR 报文头部第一个标签为下一跳标签时,执行标签弹出操作;当不是下一跳时,SR 报文头部标签不变;当标签为栈底时,识别IPv6 报文,送给IP 交换模块进行IP 数据转发。

南向接口模块负责与SDN 控制器通信,交互网络拓扑、资源信息、接口状态、流量统计和策略控制等。南向接口还用于边缘路由器与SDN 控制器交互IPv6 路由同步、SL 路径控制等消息。

IPv6 路由协议运行支持IPv6 的IGP 路由协议,如OSPFv3、BGP4+,与IPv6 子网交互IPv6 路由,形成IPv6 转发表下发给路由管理模块。

IPv4 路由协议运行支持IPv4 的IGP 路由协议,在SR 域内学习IPv4 路由,下发给路由管理模块。扩展IGP 协议后用于SR 域内的SID 标签同步,形成基于最短路径的LFIB 表。

设备管理模块完成设备的参数配置、静态路由配置、端口状态检测和端口流量统计等。

策略管理模块负责处理和维护SDN 控制器下发的转发策略,形成FEC 表和NHLFE 表。

路径管理模块负责处理和维护SDN 控制器下发的SR 路径。

FEC/NHLFE 用于源BR 节点将IP 报文引导进入SR 域,维护IP、标签和SL 之间的映射关系。

LFIB 是根据IPv4 转发表形成的标签转发表,用于SR 报文进行下一跳标签的查询和标签操作。

3 测试验证

3.1 测试网络拓扑

在服务器上通过软件路由器构建模拟测试网络,采用R1、R2、R3 构建SR 域的域内路由器。BR1、BR2、BR3 作为边缘路由器与域内路由器互联。边缘路由器支持IPv6 路由能力。SDN 控制器与边缘路由器建立逻辑连接,边缘路由器连接用户终端,构建如图5 所示的测试拓扑。

图5 测试网络拓扑

标签分别设置为2001 ~2006,网关接口地址为网段的第一个,计算机地址设置为网段的第二个,节点的IP 地址为2.0.0.1 ~2.0.0.6。

3.2 路由前缀及映射标签测试

SDN 控制器与BR 节点之间建立连接,下发IPv6 路由信息,测试BR 节点为对端节点分配的IPv6 前缀映射标签通过SDN 控制器的同步。测试要 求3001::1/64 与3002::1/64 和3003::1/64 互 通,3002::1/64 与3003::1/64 不通。

SDN 控制器与BR1 建立连接,SDN 控制器将本节点IPv6 网段、3002::1/64—2.0.0.5、3003::1/64—2.0.0.6 下 发 给BR1。BR1 为3001::1/64 分 配 标 签10000,返回给SDN 控制器。同理,SDN 控制器将3001::1/64—2.0.0.1 和本节点的IPv6 网段下发给BR2 和BR3。BR2 为3002::1/64 分配标签10000,BR3 为3003::1/64 分配标签10000。

同步后,BR1、BR2 和BR3 之间维护的IPv6前缀和标签如表1 ~表3 所示。

表1 BR1 维护的IPv6 路由及标签

表2 BR2 维护的IPv6 路由及标签

表3 BR3 维护的IPv6 路由及标签

3.3 SR 路径建立测试

在SDN 控制器建立BR1 与BR2、BR1 与BR3的SR 路径。假定控制策略为BR1 与BR2 采用最短路径,BR1 与BR3 必须经过节点R2。SR 域内的标签转发表由IPv4 路由协议提供标签分发和同步,如R1 的标签转发表如表4 所示。

表4 R1 的标签转发表

SDN 控制器为BR1 与BR2 计算SL,路径采用最短路径,SL 为2001、2005。SDN 控制器计算BR1到BR3 的SL,必 须 经 过R2,SL 为2001、2003、2006。SDN 控制器将两条SL 发送给BR1,同理也为BR2 和BR3 计算到BR1 的SL。SDN 控制器下发IPv6 前缀与SL 列表ID 的对应关系。BR1、BR2、BR3 形成IPv6 前缀与SL 及SL ID 之间的对应关系,如表5 ~表7 所示。

表5 BR1 维护的IPv6 路由及标签

表6 BR2 维护的IPv6 路由及标签

表7 BR3 维护的IPv6 路由及标签

3.4 数据通信测试

通过PC1、PC2、PC3 之间的ping 包测试,验证BR1 连接的IPv6 子网能够与BR2 和BR3 连接的IPv6 子网互通,BR2 和BR3 连接的IPv6 子网不能互通。PC1 与PC2 能够互通,结果见图6。PC2 与PC3 不通,路由不可达。

图6 ping 包结果

在BR1 抓包查看BR1 分别发送到BR2、BR3的报文封装,如图7 和图8 所示。

图7 BR1 转发到BR2 的报文封装

图8 BR1 转发到BR3 的报文封装

4 结 语

随着骨干网络由MPLS 技术向SDN 和SR 技术升级以及IPv6 的大规模部署,必然面临要改进基于MPLS 的6PE 隧道过渡技术的问题。本文设计的基于SDN 和SR 技术的IPv6 过渡技术,适用于IPv6子网跨越基于SDN 与SR 技术构建的骨干网络。通过将SR 技术与SDN 技术完美结合,方便且高效地实现了IPv6 子网跨SR 域的IPv6 路由同步和IPv6报文基于SR 标签转发,还能够实现IPv6 子网之间基于约束路径的通信。同时,基于网络的实际部署情况,后续还可以从约束路径策略、IPv6 路由同步策略降低骨干网流量等方面继续研究。

猜你喜欢

子网报文路由器
基于J1939 协议多包报文的时序研究及应用
买千兆路由器看接口参数
维持生命
路由器每天都要关
路由器每天都要关
低轨星座短报文通信中的扩频信号二维快捕优化与实现
CTCS-2级报文数据管理需求分析和实现
浅析反驳类报文要点
子网划分问题研究及应用
航天器多子网时间同步系统设计与验证