基于IMS的SDN技术方案探讨
2020-06-30
1 引言
SDN技术是2006年美国斯坦福大学一个研究课题,主要解决IP网络路由表集中控制和配置,创建数据流最优路径问题。2009年,McKeown教授正式提出了SDN(Software Defined Network)概念,核心是网络设备的控制平面和转发平面分离、控制集中;通过标准的控制接口实现对转发设备的流表下发,实现端到端数据流的最优连接;第三方业务的基于控制面API的开放性可编程,实现对业务连接方式的软件定义。
SDN在传统的无连接的IP网上,通过集中控制、下发流表,建立一个端到端的可编程的有连接网络,这种新的网络组织技术,得到了业界的认同。思科、IBM、HP、NEC和国内的华为、中兴、华三也积极加入SDN技术的研究。2011年,开放网络基金会ONF成立,主要致力于推动SDN架构、技术规范的标准化工作。2012年4月,ONF发布了SDN白皮书(Software Defined Networking:The New Norm for Networks),其中的SDN三层模型获得了业界广泛认同,Open flow 成为SDN的控制技术,主流运营商例如AT&T开始关注SDN技术在网络组织的应用。2013年4月,思科和IBM联合微软、Big Switch、博科、思杰等发起成立了Open Daylight,与Linux基金会合作开发开源的SDN控制器,使SDN技术得到迅速的发展。随着通用服务器性能提升,白盒设备、云技术应用、SDN技术得到运营商的重视。SDN技术也从原来的校园、企业网进入到了运营商的IDC、云和专线业务,成为网络智能化的主要技术手段。
2 SDN技术特点
SDN的核心理念有3个:(1)控制与转发分离;(2)集中控制下发流表;(3)可编程的开放API接口。
技术架构如图1所示。
图1 SDN技术架构
南向的控制协议Open flow 是整个技术的关键。转发层的交换机支持Open flow流表、Secure Channel(安全通道)和Open flow protocol(协议)。Flowtable流表由头域、计数器和操作组成;其中头域是个十元组,是流表项的标识;计数器用来计算流表项的统计数据;操作标明了与该流表项匹配的数据包应该执行的操作。十元组包括“输入端口、MAC源地址、MAC目的地址、以太网类型、VLANID、IP源地址、IP目的地址、IP端口、TCP源端口、TCP目的端口”在内的10个关键字(十元组)。Flow table中的每个关键字都可以通配,应用层可根据需要,通过软件控制、通配这些关键字段,形成各种转发连接组合流表,由交换机按流表实施转发。Open flow信息定义如图2所示。
图2 Open flow信息流定义
一个端到端的SDN网络涉及很多网段,有接入段、城域段和骨干段、IDC或云,要实现端到端的网络连接,必须对所有这些网段的内部连接都能软件定义和控制。在实际的运营中一般有两种模式,一种是Overlay模式,一种是Underlay模式,如图3所示。Overlay模式是一种叠加模式,就是在现有的网络上叠加一层SDN网络,主要是针对现有网络的交换机无法支撑Open flow协议,改造成本大,特别广域网跨自治域或跨运营商的场景,对每台路由器和交换机支持Open flow是不可能的。Overlay方式一般只在两端的设备支持Open flow就可以了,中间通过隧道技术连接。其控制和编排简单主要针对两个端的设备,成本低、响应市场快,在SD-WAN领域有所应用,但问题是网络的质量和安全可靠性没有保障;Underlay方式是底层交换机支持Open flow协议,控制器在建立网络连接时对每个节点进行地址、端口、标签等参数的配置,实现端到端的软件定义。Underlay方式的优点是网络质量、安全和可靠性较高;缺点是需要对所有的设备节点进行操作,控制、编排、适配的难度较大,一般在小的自治域、云资源池、校园网或者跨界节点少的场景较为适合。目前虽然很多交换机厂家号称支持Open flow,但一些协议的理解、配置方式还是各不相同,导致统一控制有难度。尽管也有一些协议转化设备将各厂家的协议转化为标准的Open flow协议,但在操作控制方面,还是需要随厂家的设备升级不断调整,尤其是跨厂家的编排,也需要不断完善。
图3 Overlay与Underlay连接示意
SDN的设计理念,将传统的路由协议建立的转发方式,变成了集中控制的、可定制的转发方式,将无连接的尽力而为的网络,变成了有连接的质量保证网络,是一次网络IP网络技术的突破。在实际网络中,SDN在局域网络中应用较好。例如在IDC、云架构的中交换机,企业的接入类网络定制。但SDN也存在厂家众多、涉及承载面跨管理域较多、控制节点多和编排复杂度大等问题,加上开发跨厂家的编排器较难协同,发展并不是十分顺利,Underlay方案没有达到其技术预设的目标。
3 IMS 技术特点
SDN的控制与承载分离、集中控制下发和可编程的理念、实现端到端网络连接,在现有的网络技术中还有其他的技术解决方案,如IMS技术,也能实现控制与承载分离、集中控制的创建端到端的网络连接,并且有用户自己发起的、可随时建立和随时拆除的连接。IMS(IP Mutimedia Subsystem)是3GPP (Release 5)、ITU-T(FGNGN)和ETSI(TISPAN)都定义的IP多媒体子系统的技术规范,其目标是在IP网络中,构建一个控制与承载分离、集中控制的有连接的多媒体子网络,为需要“有连接”服务诸如语音、视频、会议、数据等提供高质量的网络连接。IMS的技术规范在2004年完成Release5,2006年进行了相关的优化形成了Release6版本,目前中国电信固网语音业务、移动语音VoLTE都采用IMS,未来的5G语音VoNR也用IMS技术。IMS的功能架构如图4所示。
图4 IMS简单功能架构
IMS的主要功能构件是 P/I/S-CSCE、HSS、ENUMDNS、UE(User Equipment)等功能实体。IMS源于NGN技术(软交换),主要的控制协议是SIP(Session Initiation Protocol)协议,借鉴电话网的呼叫控制方式,建立端到端的网络连接。IMS 功能构件中,CSCF(Call Session Control Function)是核心功能,根据各自不同的主要功能分为“代理呼叫会话控制功能”P-CSCF(Proxy CSCF)、“查询会话控制功能”I-CSCF(Interrogation CSCF)、“服务呼叫会话控制功能”S-CSCF(Serving CSCF),3个功能在物理上可以在一个实体(小的网络),在大型网络就要独立设置。
P-CSCF:用户接入代理。IMS用户端的边缘网关,用于代理终端的注册、NAT、信令和媒体网关、安全策略、计费等。其根据SIP信令的快速寻址,建立的两端媒体转发流表,建立端到端的连接。如果两个终端的媒体编码不同,P-CSCF还完成媒体编码的转化,如固网语音的G.711 与VoLTE的ARM-WB编码。BAC(Broad Access Control)/ SBC(Session Board Control)具有 P-CSCF的相同功能,只是名字分别来源于软交换的中国版本和国外版本。在固网IMS中BAC就是P-CFCF。
I-CSCF:查询会话控制功能。此功能是用于运营商组大网时用户归属地查询的。当一个运营商有上亿的用户,就涉及多个IMS组网,有多个S-CSCF,每个S-CSCF又有多个P-CSCF,在用户注册和业务寻址时,需要I-CSCF负责查询用户归属于哪个S-CSCF、哪个P-CSCF。用户漫游到异地,也是由I-CSCF将漫游用户的新的位置(P-CSCF)通知到归属地的用户的HSS,及时更新用户的位置,以便寻址找到最新的用户地址。
S-CSCF:服务呼叫会话控制功能。负责用户业务签约数据的管理,寻址和呼叫控制,以及P-CSCF的管理。
HSS:归属用户服务器。负责本归属用户的业务信息、用户信息、网络信息的管理。
ENUMDNS:负责电话号码或用域名做用户寻址名称时,查询其IP地址。
IMS的一个用户UE A呼叫用户UE B的过程如图5所示。
图5 UE A呼叫UE B的IMS过程
(1)新用户注册:UE A是一个新用户,已经连接到A 网络的P-CSCF-A上,并拥有P-CSCF-A分配的地址。UE A通过SIP协议发起了一个REGISTER请求在IMS网络进行注册。P-CSCF-A 是IMS的用户网关,收到REGISTER请求后,把REGISTER 请求发给S-CSCF-A;S-CSCF-A检查REGISTER请求,网络A的HSS进行用户认证。由于此时用户未注册,S-CSCF向UE-A发401(认证未通过)信息,但将UE A的地址、P-CSCF-A的地址、S-CSCF-A的地址信息存入HSS。再次发起REGISTER请求,同样的流程,HSS认证通过,并且UE-A 的用户信息下发到S-CSCF-A。在HSS-A中的UE A用户包含了S-CSCF-A、P-CSCF-A的地址和UE A的地址,所有注册的IMS用户都在HSS中有归属地的位置。同理,UE B在HSS-B中也有同样的信息。
(2)呼叫建立:UE A用户呼叫UE B用户时,P-CS CF-A检查到INVITE请求后,把请求发给S-CSCF-A,S-CSCF-A检查被叫地址,发现不在自己负责的网络内,根据定义的寻址规则,把INVITE发给UE B归属网络的I-CSCF,I-CSCF查询B网络的HSS-B,找到UE-B用户对应的S-CSCF-B,返回S-CSCF-B的地址,S-CSCF-A把INVITE 请求发给S-CSCF-B,S-CSCF-B检查被叫用户地址,知道P-CSCF-B是UE-B的代理,将INVITE请求转发给P-CSCF-B,再转发给UE B,完成了寻址。流程①到⑦是寻址流程。
(3)媒体连接:UE B空闲,发180信号,同时振铃和向主叫送回铃音;被叫应答,被叫向主叫发200(INVITE)应答信令,主叫收到应答,向被叫发出ACK确认收到应答,此时转入媒体连接;在整个呼叫建立过程中,SIP信令都携带了发端和收端UE的IP地址、P-CSCF的IP地址和端口号、S-CSCF的地址,一旦UE B的ACK发出,P-CSCF内部的信令代理会把整个呼叫获取各节点的地址和端口、通过内部的网关控制协议(MGCP或H.248),生成本次呼叫“关联”(Context)和“临时终结点”(Termination),并且通过修改“终结点”的本地(LOCAL)和远端(REMOTE)的IP地址和端口,完成媒体流的转发,整个修改在P-CSCF-A和P-CSCF-B媒体连接时同时发生,实现双向媒体流的连接。需要说明的是,SIP协议的会话描述协议(SDP),允许UE A和UE B在媒体建立之前协商媒体的格式、资源预留、接受方式等,便于保障不同的编解码进行适配;如果适配不了,P-CSCF还要完成转码的功能。
(4)连接拆除:UE A和UE B任何一方如果终止了媒体连接,都会在UE 端向P-CSCF发出BYE命令,P-CSCS按照呼叫建立时的路径向S-CSCF和对端的P-CSCF发出BYE指令,对端UE接受BYE指令,按原路径发回应答指令200,两端的P-CSCF内部用网关控制协议的Subtract命令拆除关联的临时终结点(Terminationn),媒体连接删除,生成一个Dialog记录,可用作计费和用户通话查询。
4 基于IMS 的SDN技术构想
既然IMS能建立两个终端之间的语音连接,是否也能建立两个终端之间的数据连接,建立SDN呢?IMS 的控制部分(SIP信令)和转发部分(媒体交换机)是分离的,IMS可以在全网寻找已经注册的P-CSCF和UE,通过SIP的寻址信息确定媒体路径信息。并通过P-CSCF之间的媒体连接,建立UE之间的VPN专线。这个跟SDN的Overlay方案一样,与SDN不同的是,UE间的最佳路径策略在网络规划时确定,已经根据时延、丢包设计好了,所以整个IMS SDN无需人员介入,IMS可以通过拨号自动建立。网络建设和运维部门只需根据业务发展情况,在带宽规划(支持VPN的连接数量)、P-CSCF节点规划(用户分布和数量)和UE功能优化做好业务匹配就行。这个方式有点像早期B-ISDN的概念。
目前在运营的IMS系统基本都是为实时业务的语音、视频和会议而开发的,而基于数据专线连接的IMS目前尚未开发,那么要实现IMS SDN需要解决那些技术问题呢?
4.1 SIP终端技术问题
IMS终端目前主要是语音终端,包括SIP硬终端和软终端,要实现IMS SDN,终端首先要支持数据通信的连接,也就是要在SIP协议的寻址下建立端到端的数据连接。终端的功能架构也需要改变,在传统的语音/视频的终端架构上增加数据的功能模块,如图6所示。
图6 SIP数据终端的架构示意
其次,由于SIP数据通信的终端没有自动应答过程,所以数据类的SIP终端,还需要做一个功能的定制,比如自动应答,也就是被叫终端收到呼叫信令和本终端空闲时,在回复应答信号时能自动摘机的功能,此时数据媒体流建立。在主叫拆线后,能自动地拆线恢复空闲。
SIP数据终端之间的心跳保持功能,由于数据连接有时没有数据流传递(比如静默),IMS统计建立连接的数据流量,如果没有流量,IMS会认为默认通信的一方已经挂机,而主动将连接拆除。所以在数据连接建立后,连接的两个终端要定期发心跳信号和流量,保持连接的可靠性。
SIP数据终端支持多路拨号接入,类似小总机,支持多路数据拨入和自动应答,支持企业的组网。
4.2 P-CSCF的功能升级
P-CSCF在IMS架构中的一个重要网元,是IMS终端的边缘代理,其在网络中采用B2BUA的架构,对UA(User Agent)的连接进行安全隔离、媒体代理和运营管理(计费、统计、资源预留等)。P-CSCF功能逻辑如图7所示。
图7 IMS P-CSCF功能逻辑
P-CSCF是由SIP信令代理和媒体代理组成。IMS的用户呼叫由两部分组成,一个是SIP信令的寻址过程(找到被叫用户的IP地址的过程),另一个是媒体的路由过程(媒体信息流的连接过程),而P-CSCF则是这两个过程中的重要节点。如图7的功能结构,P-CSCF 在主叫UE发出“INVITE”命令建立呼叫到被叫UE回应“200”用户空闲时,在SIP命令中携带了寻址过程的所有地址,包括主叫UE、被叫UE的地址、P-CSCF-A地址、P-CSCF-B地址、IMS地址等。在媒体连接时,P-CSCF采用B2BUAs的方式连接,即在SIP代理的控制下,媒体代理建立一个关联(Context),将接入终端与一个临时终结点(Termination)进行连接,然后对临时“终结点”的本地和远端IP地址和端口号进行了更改,变成远端P-CSCF地址和本地的UE地址,然后发送给路由器进行路由。也就是说,媒体数据包在经过P-CSCF之后,IP包的目的地址被替换了。这种媒体连接的方式,对IMS的网元进行了安全隔离,屏蔽了网络架构,同时能对媒体进行加密、对呼叫计费、对媒体资源进行预留等,具有安全可靠和可运营的特点,如图8所示。反向的UE B到UE A的媒体连接也是一样的。当一方挂机,P-CSCF也在SIP PROXY 的控制下,删除关联的Termination、释放关联、上报计费和统计信息,完成了一次呼叫过程。
为了防止UE在呼叫成功之后,滥用IP网资源随意增加带宽,P-CSCF在规范中有限制每次呼叫的带宽和资源预留的功能。一个固网G.711编码的语音呼叫,带宽设置大约是96 k,如果是AMR的编码(VoLTE),带宽大约是80 k。P-CSCF将为每一个呼叫的媒体建立一个临时进程和缓存,在进程中完成媒体数据包“目的地址端口”变换、媒体格式变化(如果需要)、媒体加密等工作。在缓存中通过设定读取缓存数据的时间间隔,控制媒体的速率。
图8 P-CSCF媒体连接示意
P-CSCF要实现对数据连接的支持,需要做以下的优化。
(1)建立基于数据连接的临时“终结点”的定义,定义对数据流的具体操作,包括数据流本地/远端IP地址和端口设置、媒体加密、资源的预留、带宽配置等。
(2)简化数据连接的进程,不用检查媒体的格式,缓存可根据业务需要定义不同的速率。比如2 M、10 M、100 M、1 G的带宽定义。
(3)建立数据连接的统计和资源查询方式,便于计费、资源预留和后续网络规划。
4.3 SIP协议的优化
SIP协议包含请求和响应指令,在整个通信过程中串联所有网元,协同和控制关键网元的重要动作。其寻址包括主叫和被叫地址、路径各节点的地址和路径信息。消息体主要是SDP协议,定义通信双方需要协商的会话参数,提供给UE或P-CSCF的控制输入。在进行数据和语音通信的建立过程中,SIP协议寻址过程是一样的,但要实现数据流的连接,SIP协议还需要做一下优化。
(1)SIP协议在传输参数上默认是UDP,媒体流传送默认是RTP,UE和P-CSCF根据SIP的传输参数设置相关的媒体连接和UE的应用对接。SIP协议优化可以增加TCP的定义,即在包头的传输参数增加TCP的选项,UE和P-CSCF在识别TCP的连接时,能对应形成“数据连接”的临时终结点(Termination)和关联(Context)。
(2)在TCP 的传输参数下,消息体的SDP协议也可以做一些简化定义。SDP包含“会话描述”,“时间描述”和“媒体描述”;在“媒体描述”中,对于数据连接没有媒体的类型,无需确定编码的类型,但要关注“媒体描述信息”(M参数)“带宽”(B参数)、加密(K参数)、连接(C参数)的优化。
4.4 开源以及虚拟化
现有的IMS体系的终端有许多开源技术,使得SIP终端的开发更为便利,从便利性出发,可用软SIP数据终端、白盒数据终端以及虚拟化P-CSCF,可以大大降低开发的成本和部署的成本。
5 IMS SDN建设方案和建立流程
IMS SDN是一个层叠网,跟SDN中的Overlay 方案是一致的,无需对现有的IP承载网进行改造。由于固网的P-CSCF(BAC)建设较早,与SIP UE之间不支持IPSec,SIP协议用的明文指令可能被探知,对网络安全有影响,升级原有的固网IMS的成本比较大。对IMS SDN 的部署建议还是新建,可以采用云化架构的部署,全国一套,P-CSCF与现有的固网P-CSCF可以同部署在一起,重点为需要高质量有保证的专线提供端到端、安全、价格合理的服务。基于IMS的SDN网络的主要特点有。
(1)可实现宽带用户的SDN的业务。所有的宽带用户,都能使用IMS SDN业务。用户与用户之间,用户和企业之间都可以建立SDN。跟电话放号一样,用户一个号码(软终端或SIP UE),企业端加一个网关,配一个号码;业务可以跨运营商,甚至可以全球组网,固定和移动网络都适合。
(2)操作简单,与打电话一样操作,随建随拆。支持用户漫游,支持企业临时的扩容和缩容。
(3)运维简单,跟传统的电话网运维类似。
(4)建网简单,配置SDN的P-CSCF,独立号段,可在业务属性中配置带宽。支持云化部署,支持虚拟化网元,建网成本低,可以利用现有的IMS网络快速部署。
(5)同时支持Web业务和流媒体业务,对VR、高清、游戏、实时控制、远程医疗有独特优势。
(6)商业模式多元,支持企业自建,支持运营商建设。可支持不同速率、不同时延、不同连接时长的收费模式,也可以支持自动应答,定时连接、单向广播网等多种网络组织方式。
(7)安全,全程信息加密,不同用户相互隔离。
IMS固定网络的SDN的网络组织,如图9所示。
图9 IMS SDN结构示意
在固定网上构架SDN的网络,跟电话网一样,给每个UE终端配置一个电话号码,每个UE终端都在HSS进行注册。在HSS中有所有UE终端和电话终端的地址、所属P-CSCF的地址,以及终端的类型和业务权限。UE1(333)呼叫UE2(666)的SDN建立过程如下。
(1)UE1(333)发起呼叫UE2(666)的SIP信令Invite(666),附带上UE1的IP地址;P-CSCF-1接到INVITE666的请求后,把这个信令转发给所属的S-CSCF,在信令中添加上P-CSCF-1的IP地址;S-CSCF向HSS查询666号码的地址和归属P-CSCF-2,HSS查询后返回S-CSCF号码666归属于P-CSCF-2,同时告诉P-CSCF-2-2和666号码对应的IP地址。
(2)S-CSCF转发Invite 666的信令到P-CSCF-2,此时添加了S-CSCF地址和被叫IP地址,P-CSCF-2收到Invite 666后,找到666号码对应的UE2的IP地址,把Invite666的信令发给UE2,同时在信令中添加BAC-2的地址。定义了媒体路由地址P-CSCF-1,P-CSCF-2;
(3)UE2收到Invite666后,用户空闲,发180振铃信令给主叫333,路径按照Invite666标注的各节点地址。(UE2→P-CSCF-2→S-CSCF→P-CSCF-1-UE1)
(4)UE2(666)自动应答,UE2发出200指令给UB1,告诉主叫被叫应答。
(5)主叫收到200信令后,P-CSCF-1和P-CSCF-2开始建立临时终结点,收到ACK信令确认后,建立数据连接。
(6)UE启动软件相应进程,数据应用启动HTTP,传输层采用TCP;这样完成媒体连接SDN的建立。整个连接会话(Dialog),从ACK信令发出等到任意UE发出BYE的指令才能结束,在此期间,媒体连接一直保持,S-CSCF一直维持对这个连接的管理。
(7)基于IMS的SDN,与电话的连接基本一致,只是在最后处理应用和选择传输方式的时候,UE的进程有点不同。这些都可以通过SIP的SDP协议进行协商,告知本次通信的类型、应用层的端口、传输层的协议匹配,资源预留情况等。
6 IMS SDN的应用场景
IMS SDN主要应用广域网SD-WAN的场景,跨网跨运营商的场景是它的独特优势。但不适合接入端、IDC 或云内的SDN的场景。IMS SDN有以下应用场景。
(1)跨运营商、跨国的SDN互联。这种应用主要利用层叠网特点,如图10所示。
图10 IMS 跨国家运营商的SDN建立示意
在图中,其他网络的数据用户(如888)可以通过P-CSCF-2注册到IMS系统,成为IMS的用户,当888用户呼叫333用户时,连接方式跟333呼叫666时一样的。
(2)企业网的SDN组网,IMS SDN支持企业跨地区的组网,如图11所示。
图11 IMS SDN企业互联的示意图
企业互联SDN的连接方式跟端到端的拨号方式时一样,只是这时的UE是一个支持SIP协议的交换机或路由器。
(3)云接入的SDN方案。企业的云接入方案类似于企业的互联,只是有一端为公用云或私有云接入,如图12所示。
图12 IMS云接入SDN
(4)客户的SDN专线方案。用户可以通过拨号的方式连接应用服务器。如图13所示。
图13 SDN专线的连接示意图
7 需要讨论的问题
(1)IMS SDN与ONF定义的SDN有什么区别?如何应用?
理念是一致的,都是控制与转发分离,用户自己定义的实现端到端的VPN连接。不同是,IMS SDN是Overlay模式,而ONF定义的SDN除了Overlay模式,还有Underlay模式。IMS SDN方式全局性好点,适合跨域、跨界的SDN,业务用户发起操作简单,运维和业务发展跟运营商的能力匹配,更易规模化推广。ONF的SDN在局域SDN和广域SDN都能应用,局域SDN的能力更强;由专业人员运营管理,对SDN的配置能更细致一点。
(2)存在哪些困难和难点?
IMS SDN有点跨界,由核心网的理念构建的IMS SDN,跟IP数据网络角度的ONF SDN,技术视角有差异,需要同时了解核心网和数据网的技术,否则在理念上有冲突。其次应用场景的如何区分是关键,大型企业,固定连接的VPN业务,ONF的SDN更适合;灵活组网的,跨域跨运营商,操作简单的,IMS SDN也许更适合。运营商要有差异化的竞争优势,就必须有差异化的业务实现手段。
(3)IMS SDN业务如何运营?
可以拿出固定电话的一个号段作为IMS SDN的业务号码,并对号码进行分类,普通用户、中小企业客户和政企大客户对应的SDN的连接带宽不同。如果是企业互联,只需了解互联地点和带宽要求,分别发两个企业级的UE,配两个号码就行;如果企业自己组网,可以配给企业一个企业级UE,一批用户号码,用户可用软SIP UE配置号码。连接时采用拨号连接就可以了。运维跟电话网运维一样。
8 小结
IMS SDN技术构想,从多媒体子系统核心网应用层的视角,像打电话发传真一样建立SDN网络,与数据网视角ONF定义SDN的实现方式不同,但都实现了控制与转发分离,集中控制和可编程的技术要求,最关键的是在无连接的IP网上构建了端到端的有连接的VPN,为VPN业务开创了新的实现方式。整个方案在建设、运营和维护更加符合运营商的运营能力,同时将空闲的固网资源充分利用起来,是一种创新的、差异化的SDN实现技术解决方案。