通信网协议-7SIGTRAN南京邮电大学糜正琨2010/12BackgroundSIGTRAN:SignallingTransportation解决:SS7overIP源于:H.323集成网关的局限性标准化组织:电信:ITU-TSG11;ETSISPAN;ANSIT1研究SS7,但是均不研究IPIETF:研究IP,但是缺乏SS7专业背景IETF:发起此项研究1998.8:IETF42ndIETF全会召开第1次BOF1998.12:IETF43rdIETF全会召开第1次SIGTRANWG会议,160余人参加,启动了SS7overIP结构框架的研究集成网关的局限性扩展性:运营商期望未来IP电话系统能支持数百万用户,但集成网关大多只能支持几千用户,其原因在于网关功能过于复杂。和PSTN的无缝综合:运营商希望IP电话系统能提供和PSTN系统相当的丰富的业务,但集成网关只相当于PSTN中的一个终端设备,只能提供基本呼叫业务,且需要二次拨号。可用性:运营商要求系统中断时间和PSTN相仿,但集成网关结构缺乏故障保护机制,难以达到电信级可靠性的要求。7号信令能力:这是提高系统业务能力和容量的重要要求,但由ISP提供的集成网关不支持7号信令。网关分解功能模型GWGKH.323终端SGWMGCMG信令E.b语音E.aJCNB控制媒体至GK至H.323终端PSTN/ISDNIPPSTN/ISDN分离网关网络结构PSTNBICC呼叫代理呼叫代理SIP-TTCAP/IP信令网关ISUP/IPTCAP/SS7ISUP/SS7SCPTGWInternetRGWRGWH.248H.248H.248ISUPINAPSTP典型IP通信网络结构SIGTRAN目标:解决PSTN信令(packetbased)overIPnetwork的传送问题研究问题:结构和性能需求协议(公共传送层协议+适配层协议)应用:SG-MGC/MG:(准直联)信令传送MGC-MG:(直联)信令传送SG-其他IP节点:(应用)信令传送SIGTRAN主要标准RFC2719:ArchitetcureFrameworkforSignallingTransport(Informational)RFC2960:SCTPRFC3057:IUARFC3331:SS7M2UARFC3332:SS7M3UARFC:SS7SUARFC:SS7M2PASIGTRAN:6种典型互通应用-1LEXSGMGCMGSGMGCMGLEXSTPSTPIPSCP①②③④⑤⑥SG-MGC:LEX发出的ISUP消息经STP转接到达SG,再由SG转换后通过IP网络传送给MGC。相当于7号信令网中的准直联传送方式。此外,MGC还可通过此接口和SCP交互。当触发传统智能网业务时,MGC通过IP网络将智能网应用部分(INAP)消息发送给SG,再由SG转换后在电路交换网上经由STP转接传送给SCP。SIGTRAN:6种典型互通应用-2LEXSGMGCMGSGMGCMGLEXSTPSTPIPSCP①②③④⑤⑥MG-MGC:LEX发出的ISUP消息通过TRK中某一时隙直接送至MG,再由MG中内置的SG功能部件转换后通过IP网络传送给MGC。相当于7号信令网中的直联方式。该结构也适用于ISDN的Q.931信令的传送,此时TRK为PRI接口。SIGTRAN:6种典型互通应用-3LEXSGMGCMGSGMGCMGLEXSTPSTPIPSCP①②③④⑤⑥MG-SG:多个MG将由直联方式收到的ISUP消息送至独立设置的SG,再由后者汇接传送至MGC。此时,SG相当于IP网络中的信令转接点。MG-SG应用场景[SG2][MGC][SG1][MG][SG1][MG]SS7Media[SS7Media(MGU)(MGU)(SGU)(MGCU)SIGTRAN:6种典型互通应用-4LEXSGMGCMGSGMGCMGLEXSTPSTPIPSCP①②③④⑤⑥MGC-MGC:会话控制信令消息(如SIP、H.323、BICC消息)利用SIGTRAN定义的传送协议在MGC之间可靠传送。SIGTRAN:6种典型互通应用-5LEXSGMGCMGSGMGCMGLEXSTPSTPIPSCP①②③④⑤⑥MGC-IPSCP:MGC利用SIGTRAN定义的传送协议将INAP消息传送给IPSCP。(含MAP、CAP等)SIGTRAN:6种典型互通应用-6LEXSGMGCMGSGMGCMGLEXSTPSTPIPSCP①②③④⑤⑥SG-SG:ISUP、INAP等7号信令高层消息利用SIGTRAN定义的相关协议在SG之间可靠传送,支持通过IP网络互联SG构成基于IP承载的7号信令网络。协议组成部件SCN适配模块公共信令传送标准IP传送层SIG适配子层:支持特定原语(xUA)公共信令传送协议:支持信令传送的共同的可靠传送功能(SCTP)标准的、未做修改的IP传送协议(UDP/IP或IP)SIGTRAN协议结构IPSCTPIUAQ931/QSIGM3UASCCPTCAPISUPTUPSUATCAPM2UA/M2PAMTP3IP传送适配应用协议栈:SS7接入MGC(M3UA)协议栈:SS7接入MGC(M2UA)协议栈:SS7接入MGC(M2PA)协议栈:SS7接入IPSCP(SUA)UA协议功能透明传送上层协议消息支持IP网络中UA对等实体之间的协议操作支持UA替代的SS7层的原语接口(例如:M2UA支持MTP-2支持的MTP2/MTP-3原语接口)支持SCTP偶联管理支持向层管理异步报告状态变化M2UA与M2PA的差别M2UA:在SG-MGC应用场景中,相当于将MTP-2和MTP-3物理上分离,MTP-2位于SG中,MTP-3位于MGC中,M2UA支持MTP-2原语接口,使MTP-3感觉不到和MTP-2的分离。M2PA:执行所有的MTP-2功能,一对M2PA实体建立了一条IP网络中的SS7链路。SCTP:StreamControlTransmissionprotocolSCTP是一个通用的传送协议(地位和TCP与UDP相同)SCTP不是一个信令协议不是一个实时协议不是一个多媒体流协议IPSCTPUDPTCPWhySCTP?(TCP局限性)可数据传送+严格的有序传送队头阻塞,引起时延。某些应用只要可靠传送,不要求有序,或只要求部分有序面向“字节流”不是面向消息的,应用必须加上自己的记录标记才能对消息进行定界必须使用“push”机制才能实现报文的及时传送TCPsocket范围有限要利用多穴主机实现高可用性数据传送很复杂安全性防范DOS攻击的能力薄弱:e.g.SYN攻击SCTP协议模块结构偶联建立和关闭(Association)按流有序传送用户数据分段证实和拥塞避免数据块绑定分组合法性验证路径管理偶联建立和断开偶联建立:由SCTP用户请求发起(ASSOCIATE或SEND原语)cookie机制:防DOS攻击确保偶联建立后才分配资源4次握手(后2次可带用户数据:“快速建立”)支持graceful和ungraceful(异常)关闭graceful:SCTP用户发起Ungraceful:SCTP用户发起(ABORT);SCTP层检测到出错条件不支持半打开状态(TCP支持:对方已关闭,本方仍可发送数据)只要任一方关闭,每一方都停止接收来自对方的新数据(仅传送队列中的数据)按流有序传送Multi-streamingstreaming(流):指的是需按需传送给高层协议的用户消息序列在偶联建立时,SCTP用户可协商确定偶联支持的流的数目每个用户消息:有一个流标识号(s),同时SCTP赋予一个流序号(n),有序传送是针对同一个流而言的(s-n)。SCTP还提供有序传送旁路服务机制(s-n不起作用)Multi-streamingEndPointAEndPointBStream1Stream2Stream3Stream4Trans.Seq.No.7StreamID=Stream1StreamSeqNo.1AsingleSCTPsession防止队头阻塞用户数据分段用户数据:用户消息用户数据封装:DATAchunk分段:确保符合底层pathMTU要求接收时:可重装为消息证实和拥塞避免证实:SCTP的可靠传送功能。对SCTP连接而言,独立于按流有序传送每个用户消息(未分段)或用户数据段(分段)均赋予一个TSN(传输序号),TSN独立于流序号(n),接收方对所有收到的TSN证实。SACK:选择性证实机制分组重发:超时未收到证实即重发,重发速率由拥塞避免过程控制(类似TCP)数据块绑定数据块:chunk用户数据SCTP控制消息数据块绑定:多个chunk组装在一个SCTPpacket中DisablingbundlingSCTP用户可请求,以加快消息的传送但拥塞时,SCTP仍可执行绑定操作分组合法性检验分组头部含有一个verificationtag一个32bits的checksum字段Tag:偶联建立时,由每个端点自行选定A在消息中置入V-Tag,B检验V-TagA=I-TagB?此过程双向独立进行。防止:假冒攻击(blindmasquerade)前一偶联的失效SCTP分组Checksum:由发端生成,进一步提供数据出错保护路径管理Multi-homing支持multi-homedhost:SCTP分组可有多个目的地址,通常对应不同网络接口路径管理:根据用户指示和有效目的地址的当前可达状态选定目的传送地址通过heartbeats监视可达性,当可达性变化时告知SCTP用户在偶联建立时,向远端报告本地有效传送地址集,向本地用户报告远端返回的传送地址Primarypath:SCTP分组正常发送的路径;偶联建立时,对每个端点定义Multi-homingIPnetwork偶联(Association)建立流程ABINIT(I_Tag=Tag_A)INITACK(I_Tag=Tag_B,V_Tag=Tag_A,cookie_B)COOKIEECHO(COOKIE_B)COOKIESACK构建临时TCB,cookie删除临时TCB验证cookie正确,构建TCB,进入Established状态偶联关闭:SHUTDOWN-SHUTDOWNACK-SHUTDOWNCOMPLETE流参数的处理在INT或INTACK数据块中,发送者应指明流配置信息:输出流(OS)数最大输入流(MIS)数对端收到上述信息后,判断:若本端要求的OS对端允许的MIS,则本端调整(减小)OS或ABORT该偶联偶联建立后,每个端点的输出流ID合法范围为:0—min(本地OS,远端MIS)-1地址参数处理在偶联建立过程中,端点按下列规则导出对端的目的地运输层地址(DTSP):如收到的INT/INTACK块中未含地址参数,则DTSP=INT/INTACK所在分组的源IP地址+分组公共头部中的SCTP源端口号如INT/INTACK块中含hostname参数,则解析hostname一列IP地址DSTP=该列IP地址+SCTP源端口号如INT/INTACK中仅有IPv4/IPv6地址,则DTSP=INT/INTACK源IP地址、IPv4/IPv6地址参数+SCTP源端口号按上述规则确定DTSPs后,端点应选择其中之一作为primarypath(但,INITACK总是发往INT的源IP地址)Statecookie的生成INITACK发送者需创建一个statecookie,将其作为一个参数发送给对端Cookie包含:MAC(MsgAuthenCode):MD5摘要,防止cookie回送时被篡改cookie创建时间戳:支持密钥随时修改,返回时INITACK发送方可据此知道当时生成的MAC密钥cookie的生命周期Cookie创建步骤根据INT和INTACK