
7-SIGTRAN.ppt
68页通信网协议通信网协议-7SIGTRAN南京邮电大学南京邮电大学糜正琨糜正琨2010/12BackgroundoSIGTRAN: Signalling Transportationo解决:SS7 over IPo源于:H.323集成网关的局限性o标准化组织:n电信:ITU-T SG11;ETSI SPAN;ANSI T1研究SS7,但是均不研究IPnIETF:研究IP,但是缺乏SS7专业背景oIETF:发起此项研究n1998.8:IETF 42nd IETF全会 召开第1次BOFn1998.12: IETF 43rd IETF全会 召开第1次SIGTRAN WG会议,160余人参加,启动了SS7 over IP结构框架的研究集成网关的局限性o扩展性:运营商期望未来IP系统能支持数百万用户,但集成网关大多只能支持几千用户,其原因在于网关功能过于复杂o和PSTN的无缝综合:运营商希望IP系统能提供和PSTN系统相当的丰富的业务,但集成网关只相当于PSTN中的一个终端设备,只能提供基本呼叫业务,且需要二次拨号o可用性:运营商要求系统中断时间和PSTN相仿,但集成网关结构缺乏故障保护机制,难以达到电信级可靠性的要求。
o7号信令能力:这是提高系统业务能力和容量的重要要求,但由ISP提供的集成网关不支持7号信令网关分解功能模型分离网关网络结构典型IP通信网络结构SIGTRANo目标:解决PSTN信令(packet based)over IP network的传送问题o研究问题:n结构和性能需求n协议(公共传送层协议+适配层协议)o应用:nSG-MGC/MG:(准直联)信令传送nMGC-MG:(直联)信令传送nSG-其他IP节点:(应用)信令传送SIGTRAN主要标准oRFC2719:Architetcure Framework for Signalling Transport (Informational) oRFC2960: SCTPoRFC3057: IUAoRFC3331: SS7 M2UAoRFC3332: SS7 M3UAoRFC: SS7 SUAoRFC: SS7 M2PASIGTRAN:6种典型互通应用-1SG-MGC::LEX发出的ISUP消息经STP转接到达SG,再由SG转换后通过IP网络传送给MGC相当于7号信令网中的准直联传送方式此外,MGC还可通过此接口和SCP交互。
当触发传统智能网业务时,MGC通过IP网络将智能网应用部分(INAP)消息发送给SG,再由SG转换后在电路交换网上经由STP转接传送给SCP SIGTRAN:6种典型互通应用-2MG-MGC::LEX发出的ISUP消息通过TRK中某一时隙直接送至MG,再由MG中内置的SG功能部件转换后通过IP网络传送给MGC相当于7号信令网中的直联方式该结构也适用于ISDN的Q.931信令的传送,此时TRK为PRI接口 SIGTRAN:6种典型互通应用-3MG-SG::多个MG将由直联方式收到的ISUP消息送至独立设置的SG,再由后者汇接传送至MGC此时,SG相当于IP网络中的信令转接点 MG-SG应用场景SIGTRAN:6种典型互通应用-4MGC-MGC::会话控制信令消息(如SIP、H.323、BICC消息)利用SIGTRAN定义的传送协议在MGC之间可靠传送 SIGTRAN:6种典型互通应用-5MGC-IPSCP::MGC利用SIGTRAN定义的传送协议将INAP消息传送给IPSCP含MAP、CAP等) SIGTRAN:6种典型互通应用-6SG-SG::ISUP、INAP等7号信令高层消息利用SIGTRAN定义的相关协议在SG之间可靠传送,支持通过IP网络互联SG构成基于IP承载的7号信令网络。
协议组成部件o适配子层:支持特定原语(xUA)o公共信令传送协议:支持信令传送的共同的可靠传送功能(SCTP)o标准的、未做修改的IP传送协议(UDP/IP或IP)SIGTRAN协议结构 协议栈:SS7接入MGC(M3UA)协议栈:SS7接入MGC(M2UA)协议栈:SS7接入MGC(M2PA)协议栈:SS7接入IPSCP(SUA)UA协议功能o透明传送上层协议消息o支持IP网络中UA对等实体之间的协议操作o支持UA替代的SS7层的原语接口(例如: M2UA支持MTP-2支持的MTP2/MTP-3原语接口)o支持SCTP偶联管理o支持向层管理异步报告状态变化M2UA与M2PA的差别oM2UA:在SG-MGC应用场景中,相当于将MTP-2和MTP-3物理上分离,MTP-2位于SG中,MTP-3位于MGC中,M2UA支持MTP-2原语接口,使MTP-3感觉不到和MTP-2的分离oM2PA:执行所有的MTP-2功能,一对M2PA实体建立了一条IP网络中的SS7链路SCTP: Stream Control Transmission protocoloSCTP 是一个通用的传送协议(地位和TCP与UDP相同)oSCTP n不是一个信令协议n不是一个实时协议n不是一个多媒体流协议IPSCTPUDPTCPWhy SCTP?(TCP局限性)o可数据传送+严格的有序传送n队头阻塞,引起时延。
某些应用只要可靠传送,不要求有序,或只要求部分有序o面向“字节流”n不是面向消息的,应用必须加上自己的记录标记才能对消息进行定界n必须使用“push”机制才能实现报文的及时传送oTCP socket范围有限n要利用多穴主机实现高可用性数据传送很复杂o安全性n防范DOS攻击的能力薄弱:e.g. SYN攻击SCTP协议模块结构 偶联建立和断开o偶联建立:由SCTP用户请求发起(ASSOCIATE或SEND原语)ocookie机制:防DOS攻击n确保偶联建立后才分配资源o4次握手(后2次可带用户数据:“快速建立”)o支持graceful和ungraceful(异常)关闭ngraceful :SCTP用户发起nUngraceful: SCTP用户发起(ABORT);SCTP层检测到出错条件o不支持半打开状态(TCP支持:对方已关闭,本方仍可发送数据)n只要任一方关闭,每一方都停止接收来自对方的新数据(仅传送队列中的数据)按流有序传送oMulti-streamingostreaming(流):指的是需按需传送给高层协议的用户消息序列o在偶联建立时,SCTP用户可协商确定偶联支持的流的数目o每个用户消息:有一个流标识号(s),同时SCTP赋予一个流序号(n),有序传送是针对同一个流而言的(s-n)。
oSCTP还提供有序传送旁路服务机制(s-n不起作用)Multi-streamingEnd Point AEnd Point BStream 1Stream 2Stream 3Stream 4Trans. Seq. No. 7Stream ID = Stream 1Stream Seq No. 1A single SCTP session防止队头阻塞用户数据分段o用户数据:用户消息o用户数据封装:DATA chunko分段:确保符合底层path MTU要求接收时:可重装为消息证实和拥塞避免o证实:SCTP的可靠传送功能对SCTP连接而言,独立于按流有序传送o每个用户消息(未分段)或用户数据段(分段)均赋予一个TSN(传输序号),TSN独立于流序号(n),接收方对所有收到的TSN证实oSACK:选择性证实机制o分组重发:超时未收到证实即重发,重发速率由拥塞避免过程控制(类似TCP)数据块绑定o数据块:chunkn用户数据nSCTP控制消息o数据块绑定:多个chunk组装在一个SCTP packet中oDisabling bundlingnSCTP用户可请求,以加快消息的传送n但拥塞时,SCTP仍可执行绑定操作分组合法性检验o分组头部含有n一个verification tagn一个32bits的checksum字段oTag:偶联建立时,由每个端点自行选定oA在消息中置入V-Tag,B检验V-TagA= I-TagB?此过程双向独立进行。
o防止:n假冒攻击(blind masquerade)n前一偶联的失效SCTP分组oChecksum:由发端生成,进一步提供数据出错保护路径管理oMulti-homingo支持multi-homed host:SCTP分组可有多个目的地址,通常对应不同网络接口o路径管理:n根据用户指示和有效目的地址的当前可达状态选定目的传送地址n通过heartbeats监视可达性,当可达性变化时告知SCTP用户n在偶联建立时,向远端报告本地有效传送地址集,向本地用户报告远端返回的传送地址oPrimary path:SCTP分组正常发送的路径;偶联建立时,对每个端点定义Multi-homingIP network偶联(Association)建立流程构建临时TCB,cookie删除临时TCB验证cookie正确,构建TCB,进入Established状态偶联关闭:SHUTDOWN- SHUTDOWN ACK-SHUTDOWN COMPLETE流参数的处理o在INT或INT ACK数据块中,发送者应指明流配置信息:n输出流(OS)数n最大输入流(MIS)数o对端收到上述信息后,判断:若本端要求的OS>对端允许的MIS,则n本端调整(减小)OSn或ABORT该偶联o偶联建立后,每个端点的输出流ID合法范围为:0—min(本地OS,远端MIS)- 1地址参数处理o在偶联建立过程中,端点按下列规则导出对端的目的地运输层地址(DTSP):n如收到的INT/INT ACK块中未含地址参数,则DTSP= INT/INT ACK所在分组的源IP地址+分组公共头部中的SCTP源端口号n如INT/INT ACK块中含host name参数,则 解析host name一列IP地址DSTP=该列IP地址+SCTP源端口号n如INT/INT ACK中仅有IPv4/IPv6地址,则DTSP= INT/INT ACK源IP地址、 IPv4/IPv6地址参数+SCTP源端口号o按上述规则确定DTSPs后,端点应选择其中之一作为primary path(但,INIT ACK总是发往INT 的源IP地址)State cookie的生成oINIT ACK发送者需创建一个state cookie,将其作为一个参数发送给对端oCookie包含:nMAC(Msg Authen Code):MD5摘要,防止cookie回送时被篡改ncookie创建时间戳:支持密钥随时修改,返回时INIT ACK发送方可据此知道当时生成的MAC密钥ncookie的生命周期Cookie创建步骤o根据INT和INT ACK信息,创建一个偶联TCBo在TCB中,置创建时间=当前时间,生命期=协议参数’valid.cookie.life’o确定重建TCB必须的最小信息集,利用该信息集及秘密密钥生成MACo组合该信息集及MAC,生成state cookie(cookie应尽量小,以保证互操作性)State cookie处理o当端点处于COOKIE WAIT状态,收到INT ACK后,应立即回送COOKIE ECHOo返回收到的state cookie,同时启动T1-cookie定时器o若定时器超时,未收到COOKIE ACK,则重发COOKIE ECHO,达最大重发次数仍未收到COOKIE ACK,则判定对端不可达State cookie认证o端点收到COOKIE ECHO,且尚未和此对端建立偶联,则n用state cookie中所含的TCB数据及本地存储的密钥计算MACn比较MAC计算值和cookie中所含的MAC值,相同则cookie认证成功,不同则丢弃此SCTP分组n比较cookie中的创建时戳或当前本地时间,若时间差>cookie中的生命期,则丢弃该SCTP分组,切向对端发送ERROR块,出错原因为”stale cookie”n若cookie合法,则用其携带的TCB信息创建与对端的偶联,进入ESTABLISHED状态n发送COOKIE ACKn立即用SACK证实和COOKIE ECHO绑定在一起的DATA块,该SACK也可以与COOKIE ACK块绑定发送,但ACK必须是第一个块安全性能小结ocookie机制:仅在偶联建立成功后才分配资源,可防止blind DOS攻击ocookie的MAC认证机制:进一步降低虚假连接建立的概率oINIT ACK回送至INIT的发送源地址:防止攻击者在别的机器上假冒被攻击者的IP地址建立联系,使被攻击者以后建立不起偶联o分组合法性检验(数据传送阶段):防止blind攻击(SCTP和TCP都不能防止man-in-the-middle攻击)SCTP分组结构omulti-streaming,multi-homingo按流有序传送,或无序传送o选择性证实:SACK+TSNo选择性重发:超时机制o可分段(大消息);可绑定(小消息)o拥塞控制:类似TCPSCTP分组格式chunk类型型chunk标记chunk长度度chunk值(含填充字段)(含填充字段)公共公共头部部chunk #1…….chunk #n源端口号源端口号目的端口号目的端口号V-TagchecksumDATA Chunk格式Type==0Res((全全零)零)UBELengthTSN流流标识((s))流内序号(流内序号(n))Payload Protocol IDUser data((s-n))(含(含padding,使,使为4byte整数倍)整数倍)DATA chunk字段oU bit(Unordered bit):=1表示无序chunkoB bit(Beginning bit):=1表示是分段数据的第1段(E=0)oE bit(Ending bit):=1表示是分段数据的最后一段(B=0)o不分段数据:B=E=1;分段数据的中间段:B=E=1o分段用户数据:每段的s-n相同,TSN严格按顺序排列oLength:Data chunk字节数,不计paddingoPayload protocol ID:应用规定(3:M3UA)SACK chunk格式类型=型=3Chunk Flag(全零全零)chunk长度度累累计TSN证实a-rwnd间隔隔块数=数=N重复重复TSN数=数=X间隔隔块#1起始起始间隔隔块#1结束束………..间隔隔块#N起始起始间隔隔块#N结束束重复重复TSN 1………….重复重复TSN X累累计TSN证实==12a-rwnd = 4660间隔隔块数=数=2重复重复TSN数=数=0间隔隔块#1起始=起始=2间隔隔块#1结束=束=3间隔隔块#2起始=起始=5间隔隔块#2结束=束=5Heartbeat Request & ACK chunkType=4ChunkflagHB lengthHB Info. TLV((变长))Type=5ChunkflagHB ACK lengthHB Info. TLVM3UAo最常用应用:nSG-MGCnSG-IP数据库(如,IPSCP)o在SS7侧:终结MTP1-3o在IP侧:消息选路SG选路RK:Routing KeyoDPCoOPC/DPCoOPC/DPC/SIoOPC/DPC/CICoOPC/DPC/SSNSG/SGP—AS/ASPAS-ASPoAS(Application Server): 对应特定RK的逻辑实体,RK-AS一一对应关系。
例:n虚拟交换单元:处理某一个范围内的中继线的信令( SIO/DPC/OPC/CIC范围)n虚拟数据库单元:处理某个范围内的HLR事务( DPC/OPC/SCCP_SSN )oASP (Application Server Process)— AS的一个进程实体,可以是AS的主用进程或备用进程n例:MGC/IP SCP/IP HLR进程nASP包含一个SCTP端点nASP可以处理一个或多个AS的信令业务量oSPMC(Signalling Point Mngt Cluster):对应一个SPC(信令点编码)的所有APSG-SGPoSG:对于SS7网络来说,相当于是一个STPoSGP(Signaling Gateway Process):SG的一个进程实体,可以是主用进程、备用进程、负荷分担式进程、广播式进程SG选路示例:RKM3UA层功能o地址翻译或映射:RK—ASPoSCTP流映射o拥塞控制(本地和IP网络拥塞)nIP侧:经MTP-status原语告知位于ASP中的MTP3用户,后者按照SS7规定减少发送信令量nSS7侧:SG获知拥塞后,向源SS7信令点发送TFC消息o信令网管理互通nIP侧:将由SS7侧收到的SNM消息(TFC/TFP/TFA)转为MTP-3原语,告知ASP中的MTP3用户nSS7侧:将IP网络状态映射为SNM消息oMngt Inhibit/Uninhibit:停止/恢复某SCTP偶联上的信令业务量(进行测试维护)oActive Association Control:控制ASP的激活M3UA消息头部版本=版本=1保留保留消息消息类别((class))消息消息编号号((type))消息消息长度度Message type:oTransfer MsgsnPayload DataoSSNM(SS7 SNM) MsgsoASPSM(ASP State Maintanance) MsgsoASPTM(ASP Traffic Maintanance) MsgsoMGMT(Management) MsgsoRKM(RK Mngt) Msgs消息消息类别消息消息编号号功能功能传送消息(送消息(TransferTransfer))浄荷数据(浄荷数据(Payload DataPayload Data))传送送MTP3MTP3用用户部分消息部分消息SSNMSSNM((SS7SS7信令网管理)消信令网管理)消息息DUNADUNA(目的地不可达)(目的地不可达)传递IPIP网网络和和ASPASP的状的状态信息信息DAVADAVA(目的地可达)(目的地可达)DAUDDAUD(目的地状(目的地状态查核)核)SCONSCON((SS7SS7网网拥塞状塞状态))DUPUDUPU(目的地用(目的地用户部分不可用)部分不可用)ASPSMASPSM((ASPASP状状态维护)消息)消息ASPASP加加载传递ASPASP存活状存活状态信息(心跳消息一般不信息(心跳消息一般不用,因用,因为SCTPSCTP已有心跳机制)已有心跳机制)ASPASP卸卸载心跳消息心跳消息ASPASP加加载确确认ASPASP卸卸载确确认心跳确心跳确认ASPTMASPTM((ASPASP信令信令话务维护))消息消息ASPASP激活激活传递ASPASP激活状激活状态ASPASP去激活去激活ASPASP激活确激活确认ASPASP去激活确去激活确认RKMRKM(路由匹配域管理)消(路由匹配域管理)消息息登登记请求求传递ASPASP路由登路由登记信息信息登登记响响应去登去登记请求求去登去登记响响应MGMTMGMT(管理)消息(管理)消息出出错通知消息出通知消息出错和其他和其他M3UAM3UA事件事件通知通知Payload Data消息格式Payload Data消息参数o唯一必备参数:protocol data(UP消息)oRouting Context(RC):RK标识(4bits),仅在偶联对应多个RC时才需要(供ASP向高层进程分配消息)n静态配置nM3UA的RK管理过程动态登记oNetwork Appearance:指示信令点所属信令网oCorrelation ID:AS中标识protocol data中携带的MSU,用于广播模式时,新加入的ASP和原有ASP的同步Single ASP in Application Server ("1+0" sparing), Dynamic RegistrationASP UpASP Up AckASP Active(RCn)ASP Active Ack (RCn)NTFY(AS_Active)(RCn)Note:LRC: Local Routing ContextRK: Routing Key, including DPC of incoming SS7 trafficRC: Routing Context (Optional)REGISTER REQ(LRCn,RKn)REGISTER RESP(LRCn,RCn)ASP1SGPSingle ASP in Multiple Application Servers (each with "1+0" sparing), Dynamic Registration (Case 1 - Multiple Registration Requests)ASP UpASP Up AckASP Active(RC1)ASP Active Ack (RC1)NTFY(AS_Active)(RCn)Note:LRC: Local Routing ContextRK: Routing KeyRC: Routing Context (Optional)ASP1SGPREGISTER REQ(LRC1,RK1… LRCn,RKn)REGISTER RESP (LRC1,RK1… LRCn,RKn)…… ……ASP Active(RCn)ASP Active Ack (RCn)Two ASPs in Application Server ("1+1" sparing)ASP UpASP Up AckASP ActiveASP Active AckNote:ASP1 is ActiveASP2 is BackupASP2SGPASP1ASP UpASP Up AckTwo ASPs in an Application Server ("1+1" sparing, loadsharing case)ASP UpASP Up AckASP Active (Ldshr)ASP Active AckASP2SGPASP1ASP UpASP Up AckNOTIFY (AS-ACTIVE)ASP Active (Ldshr)ASP Active Ack。
