WO2012116628A2 - 互联网协议多媒体子系统网络、数据传输方法和装置 - Google Patents

互联网协议多媒体子系统网络、数据传输方法和装置 Download PDF

Info

Publication number
WO2012116628A2
WO2012116628A2 PCT/CN2012/071722 CN2012071722W WO2012116628A2 WO 2012116628 A2 WO2012116628 A2 WO 2012116628A2 CN 2012071722 W CN2012071722 W CN 2012071722W WO 2012116628 A2 WO2012116628 A2 WO 2012116628A2
Authority
WO
WIPO (PCT)
Prior art keywords
tunnel
packet
ssl
header
module
Prior art date
Application number
PCT/CN2012/071722
Other languages
English (en)
French (fr)
Other versions
WO2012116628A3 (zh
Inventor
陈爱平
张战兵
Original Assignee
成都市华为赛门铁克科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 成都市华为赛门铁克科技有限公司 filed Critical 成都市华为赛门铁克科技有限公司
Priority to EP12752434.6A priority Critical patent/EP2584744B1/en
Publication of WO2012116628A2 publication Critical patent/WO2012116628A2/zh
Publication of WO2012116628A3 publication Critical patent/WO2012116628A3/zh
Priority to US13/786,230 priority patent/US9338189B2/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/1016IP multimedia subsystem [IMS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling

Definitions

  • the present invention relates to the field of communications technologies, and in particular, to an internet protocol multimedia subsystem network, a data transmission method, and an apparatus.
  • IMS Internet Protocol Media Subsystem, IP Protocol
  • NTN Next Generation Network
  • IMS supports various fixed access and mobile access based on SIP (Session Initiation Protocol) protocol.
  • SIP Session Initiation Protocol
  • ALL-IP Mobile and fixed network convergence based on ALL-IP is an important way to realize multimedia full-service convergence such as voice, data and video.
  • the IMS supports rich access terminals and access networks.
  • the IMS terminal and the IMS core network may have very complicated access paths.
  • the intermediate network elements such as firewall (FW) and network address translation (NAT)
  • the device, the application proxy (Proxy) server, and the service monitoring gateway process and control the packets carrying the IMS service (SIP/RTP (Real-time Transport Protocol) packets), which may result in the IMS terminal. Unable to access or communicate properly.
  • IMS service SIP/RTP (Real-time Transport Protocol) packets
  • the tunnel encapsulation-based mechanism is mainly used to implement secure access of IMS services.
  • an STG Security Tunnel Gateway
  • an SSL tunnel client is integrated at the IMS terminal.
  • the SSL tunnel client establishes an SSL tunnel with the STG, and the SIP/RTP packet is encapsulated in the SSL tunnel according to the procedure shown in Figure 2.
  • the encapsulated result (which can be called an SSL tunnel packet) passes through the SSL tunnel. Transfer to STG.
  • the STG follows the reverse process of Figure 2 (that is, tunnel decapsulation) from the SSL tunnel.
  • the SIP/RTP packet is restored in the packet and forwarded to the media server. Conversely, the message returned by the media server is also sent to the IMS terminal through the same process, and is restored by the IMS terminal. Therefore, the tens of thousands of ports of the IMS service are uniformly aggregated to a standard HTTPS (443) port through the SSL tunnel encapsulation, and the intermediate network element devices such as the FW, the NAT, and the proxy are easily traversed, and the SIP/RTP packet encryption is supported. Port aggregation, data encryption, and information integrity protection for communication data.
  • the SIP/RTP packet can be encapsulated based on an HTTP (Hyper Text Transfer Protocol) tunnel or a UDP (User Datagram Protocol) tunnel.
  • volume data (such as voice, video, etc.) is collected and encoded;
  • Step S204 Encapsulate the media data into an RTP packet by using a virtual protocol stack.
  • Step S206 Add a tunneling protocol header (Encapsulate Header, which is abbreviated as Enc Hdr in FIG. 2, and may also be abbreviated as Enc Header) in the header of the RTP packet;
  • Encapsulate Header which is abbreviated as Enc Hdr in FIG. 2, and may also be abbreviated as Enc Header
  • Step S208 adding summary information and packet length completion information (the summary information and the packet length compensation information are represented by HMAC-Tail in FIG. 2), and performing SSL encryption on the entire packet, and then, in the encrypted packet.
  • the header adds an SSL header (SSL Header, abbreviated as SSL Hdr in Figure 2) to form an SSL Record (SSL record or SSL record unit);
  • Step S210 In order to transmit in the network, the SSL Record is finally encapsulated into a TCP (Transmission Control Protocol) packet (that is, the above SSL tunnel packet), and transmitted to the STG through the network.
  • TCP Transmission Control Protocol
  • each RTP packet forms an SSL record
  • a large amount of additional information is added in addition to each RTP packet, resulting in the length of the finally transmitted SSL tunnel packet being longer than the length of the RTP packet. It is much larger, resulting in a sharp increase in the bandwidth of a single packet.
  • the calculation formula of the RTP packet length is:
  • HMAC summary information
  • Tail packet length completion information
  • the bandwidth of a single packet is increased by 35.6 kbps (that is, the additional bandwidth is 35.6 kbps), which is equivalent to an increase of 148% of the bandwidth.
  • the sharp increase in bandwidth puts higher demands on the bandwidth of user access, which reduces the user experience and service access capability to a certain extent.
  • the embodiments of the present invention provide an Internet Protocol multimedia subsystem network, a data transmission method, and a device, which can at least solve the problem that the prior art reduces the user experience and service access capability.
  • a data transmission method for the IMS, including: tunnel encapsulating the RTP packet, and obtaining a tunnel packet, where the tunnel packet includes a recording unit, and each recording unit is encapsulated with multiple RTPs.
  • the packet is sent to the peer end through the tunnel between the peer and the peer end, where the peer end is an STG or an IMS terminal.
  • a data transmission apparatus for the IMS, including: an encapsulating module, configured to perform tunnel encapsulation on the RTP packet, and obtain a tunnel packet, where the tunnel packet includes a recording unit, and each recording unit
  • the packet is encapsulated with a plurality of RTP packets
  • the sending module is configured to send the tunnel packet to the peer end through a tunnel between the peer end and the peer end, where the peer end is an STG or an IMS terminal.
  • an IMS network including an IMS terminal and an STG, wherein the IMS terminal and the STG are the data transmission devices described above.
  • the embodiment of the present invention forms a plurality of RTP messages into a Record, that is, multiple RTP messages share a Record additional information, thereby sacrificing the IMS by sacrificing less real-time performance.
  • the additional information of multiple RTP packets is integrated in the tunnel encapsulation process of the service, which reduces the additional bandwidth brought by the tunnel encapsulation, thereby reducing the bandwidth of the single packet, and avoids the prior art because the additional bandwidth of the single packet is large.
  • User access bandwidth puts higher requirements, to a certain extent Reduce the user experience and business access capabilities.
  • FIG. 1 is a schematic structural diagram of an IMS system according to the prior art
  • FIG. 2 is a schematic diagram of an SSL tunnel encapsulation process of an IMS service packet according to the prior art
  • FIG. 3 is a flowchart of a data transmission method of an IMS system according to Embodiment 1 of the present invention
  • FIG. 5 is a schematic diagram of an SSL tunnel encapsulation process of an IMS service packet according to Embodiment 2 of the present invention
  • FIG. 6 is a schematic diagram showing a frame structure of an SSL Record according to the second embodiment of the present invention.
  • FIG. 7 is a schematic structural diagram of a data transmission apparatus in an IMS according to Embodiment 1 of the present invention
  • FIG. 8 is a schematic structural diagram of a data transmission apparatus in an IMS according to Embodiment 2 of the present invention
  • FIG. 9 is a schematic diagram of a data transmission apparatus according to Embodiment 3 of the present invention
  • FIG. 10 is a schematic structural diagram of a data transmission apparatus in an IMS according to Embodiment 4 of the present invention
  • FIG. 11 is an IMS terminal, STG, and SIP/ in an IMS according to Embodiment 5 of the present invention
  • a hierarchical diagram of the media server is a schematic structural diagram of a data transmission apparatus in an IMS according to Embodiment 1 of the present invention
  • FIG. 8 is a schematic structural diagram of a data transmission apparatus in an IMS according to Embodiment 2 of the present invention
  • FIG. 9 is a schematic diagram of a data transmission apparatus according to Embodiment 3 of the present invention
  • a tunnel is established between the IMS terminal and the STG at the entrance of the IMS core network, such as an SSL tunnel, an HTTP tunnel, or a UDP tunnel, and data is transmitted between the two through the tunnel to implement IMS. Secure access and transmission of services.
  • the data transmission method of the IMS terminal or the STG according to the first embodiment of the present invention is as shown in FIG. 3, and includes the following steps:
  • Step S302 The RTP packet is encapsulated in a tunnel to obtain a tunnel packet, where the tunnel packet includes a recording unit, and each recording unit is encapsulated with multiple RTP packets.
  • the IMS terminal or the STG tunnels the RTP packets, that is, encapsulates multiple RTP packets in an SSL tunnel to form an SSL Record, and then SSL.
  • the Record is encapsulated into a tunnel message.
  • Step S304 The tunnel packet obtained in step S302 is sent to the peer end through a tunnel between the peer end and the peer end, where the peer end is an STG or an IMS terminal.
  • the opposite end is the STG; when the STG is executed in the step S302-S304, the opposite end is the IMS terminal.
  • the IMS terminal and the STG can transmit data through a tunnel established between the two.
  • the embodiment of the present invention forms a plurality of RTP files, that is, multiple RTP files share a Record additional information, thereby sacrificing less real-time performance.
  • the additional information of multiple RTP packets in the tunnel encapsulation process is integrated, which reduces the additional bandwidth brought by the tunnel encapsulation, thereby reducing the bandwidth of the single packet, and avoids the prior art because the additional bandwidth of the single packet is large, and the user is The bandwidth of the access has raised a higher The demand is reduced to a certain extent to the user's experience and business access capabilities.
  • the tunnel may be an SSL tunnel, an HTTP tunnel or a UDP tunnel, or the like.
  • the data transmission method of the IMS terminal or the STG according to the embodiment of the present invention includes the following steps:
  • Step S312 tunneling the RTP packet to obtain a tunnel packet, where the tunnel packet includes at least one recording unit, and each recording unit is encapsulated with at least one RTP packet.
  • Step S314 The tunnel packet obtained in step S312 is sent to the peer end through a tunnel between the peer end and the peer end, where the peer end is an STG or an IMS terminal.
  • step S312 when the SSL record is encapsulated by the SSL, in order to further reduce the additional bandwidth, multiple SSL records may be encapsulated into one TCP packet (that is, an SSL tunnel packet), thereby finally transmitting the SSL tunnel packet. It can include one or more SSL records, and each SSL Record is encapsulated with multiple RTP files.
  • the IMS terminal sends a tunnel to the STG as an example for explanation.
  • the data transmission method of the IMS terminal according to the second embodiment of the present invention includes the following steps:
  • Step S402 generating in the pre-created linked list (the specific generating step is the same as steps S202-S204 in FIG. 1) and buffering the RTP packet;
  • the linked list can be a FIFO (First In First Out) linked list, and a FIFO linked list can be created in advance, and the media data of the IMS service is continuously written into the memory space where the FIFO linked list is located, and the media data is encapsulated.
  • the RTP packets are sent one by one, and the RTP packets generated (that is, encapsulated) are cached.
  • Step S404 determining whether the predetermined encapsulation time interval T is reached, if yes, proceeding to step S406, and if not, returning to step S404;
  • a timer can be set, which has a period of T.
  • Step S406 tunnel encapsulating a plurality of RTP packets (the number of RTP packets) collected in the T in the linked list, so that the multiple RTP packets form a Record, and the Record is encapsulated into a final tunnel.
  • the SSL tunnel is used as an example.
  • the process of performing SSL tunnel encapsulation on multiple RTP packets (recorded as N) collected in T includes the following steps:
  • Steps S502-S504 which are the same as steps S202-S204 in FIG. 2; these two steps are steps of generating media data into RTP messages;
  • Step S506 the N RTP packets in the linked list (that is, the N RTP packets collected in the T, each of which is generated according to steps S502-S504 in FIG. 5) are taken out and copied to a segment.
  • a tunnel protocol header (Enc Header) is added to the head of the memory space;
  • Step S508 Perform a digest calculation on the content (or data) of the memory space after the Enc Header is added according to a certain digest algorithm, obtain digest information (HMAC), and append the digest information to the end of the memory space, and then The packet length complement information (Tail) is added after the digest information (the digest information and the packet length complement information are represented by HMAC-Tail in FIG. 5), and then the entire packet is SSL-encrypted, and then, after the encrypted report. Add the SSL header (SSL Header) to the header of the text to form an SSL Record.
  • HMAC digest information
  • Tail packet length complement information
  • the data length of the entire packet can be an integer multiple of 16 bytes, 32 bytes, 64 bytes, and 128 bytes. In practical applications, it is usually an integer multiple of 16 bytes.
  • the frame structure of the SSL Record is shown in Figure 6. It consists of two main parts: the header and the encrypted data.
  • the header includes the content type, version number and data length.
  • the header is the SSL header in Figure 5.
  • the encrypted data includes Enc Header, N RTP messages (only two RTP messages are shown in Figure 6), and HMAC (Summary Information) and Tail (Packet Length Completion Information).
  • Step S510 is the same as step S210 in FIG.
  • SSL Record as content, add TCP headers and IP headers to the header to complete TCP encapsulation. It is worth noting in this step that in the TCP encapsulation of the SSL Record, in order to further reduce the additional bandwidth, multiple SSL records can also be encapsulated into one TCP packet (ie, SSL tunnel message), thereby finally transmitting
  • the SSL tunnel packet may include one or more SSL records, and each SSL Record encapsulates multiple RTP packets.
  • the audio encoding format of the media data is G.729.
  • T 100ms
  • the packet length of the RTP packet is 20ms.
  • the bandwidth of the SSL tunnel message after the embodiment of the present invention is 31.12 kbps compared with the bandwidth of the SSL tunnel message of 59.6 kbps in the prior art.
  • the bandwidth is reduced by 28.48 kbps, and the additional bandwidth is reduced from 35.6 kbps to 7.12 kbps, a fivefold reduction.
  • the bandwidth of the SSL tunnel packet after the embodiment of the present invention is 27.56 kbps, and the bandwidth of the SSL tunnel packet is 59.6 kbps, the bandwidth is reduced by 32.04 kbps.
  • the additional bandwidth has also been reduced from 35.6 kbps to 3.56 kbps, a 10x reduction.
  • the packet transmission feature of the tunnel packet according to the embodiment of the present invention is changed compared with the unencapsulated RTP packet, and the packet transmission interval is extended by an integer multiple (the packet transmission interval is T), and the packet is sent.
  • the length is also increased in proportion to the same proportion, but the additional bandwidth is also reduced by the same proportion, and the bandwidth of the tunnel message is significantly saved.
  • the audio encoding format of the media data is different, and the length of the RTP packet changes. However, it does not affect the reduction of the additional bandwidth of the final tunnel packet.
  • Step S408 the obtained tunnel is sent to the STG through a tunnel between the STG and the STG.
  • the STG After receiving the tunnel packet, the STG can decapsulate the tunnel packet according to the reverse process shown in Figure 5 and restore multiple RTP packets.
  • the process for the STG to send the tunnel message to the IMS terminal is the same as the above steps S402-S408, and details are not described herein again.
  • the IMS terminal tunnels the received tunnel packet to obtain an RTP packet, where the tunnel packet includes a recording unit, and each recording unit is encapsulated. There are multiple RTP messages.
  • the specific processing procedure of the HTTP tunnel encapsulation by the IMS terminal or the STG is similar to that of FIG. 4-5, except that the packet length supplement information is added in step S508, and the packet is not encrypted, but directly in the packet.
  • the HTTP header is added to the header to form an HTTP message body.
  • the IMS terminal or the STG performs UDP tunnel encapsulation processing.
  • the flow is similar to that of FIG. 4-5, except that in step S508, a UDP header (UDP Header) is added to the header of the packet after encryption (encryption is not necessarily SSL encryption) to form a UDP packet body.
  • FIG. 7 is a schematic structural diagram of a data transmission apparatus in an IMS according to Embodiment 1 of the present invention, and the data transmission apparatus may be an IMS terminal or an STG.
  • the apparatus includes: a packaging module 10, configured to perform tunnel encapsulation on an RTP packet, to obtain a tunnel packet, where the tunnel packet includes a recording unit, and each recording unit encapsulates multiple RTP packets.
  • the sending module 20 is configured to send the tunnel packet obtained by the encapsulating module 10 to the peer end through a tunnel between the peer end, where the peer end is an STG or an IMS terminal.
  • multiple RTP messages are formed into one Record according to the characteristics of the packet transmission timing of the RTP message, that is, multiple RTP messages share a Record additional information, thereby tunneling the tunnel by sacrificing less real-time performance.
  • the additional information of multiple RTP packets is integrated in the encapsulation process, which reduces the additional bandwidth brought by the tunnel encapsulation, thereby reducing the bandwidth of the single packet, and avoids the prior art, because the additional bandwidth of the single packet is large, and the user access is
  • the bandwidth proposes higher requirements, which reduces the user experience and service accessibility to a certain extent. Therefore, the tunnel message can meet the requirements of real-time performance and meet the bandwidth requirement.
  • the above tunnel may be an SSL tunnel or an HTTP tunnel or a UDP tunnel.
  • the encapsulating module 10 includes: a package caching module 102, configured to generate and cache an RTP message in a pre-created linked list; a timer 104, configured to perform timing; and a determining module 106, configured to determine a timer 104, whether the predetermined encapsulation time interval T is reached, wherein the value of the predetermined encapsulation time interval T should be less than or equal to 200 ms (within the range allowed by the IMS voice delay); the processing module 108, configured to determine in the determination module 106 Upon arrival, the plurality of RTP packets (the number of RTP packets) generated in the predetermined encapsulation time interval T in the foregoing linked list are tunnel encapsulated to obtain a tunnel packet.
  • a package caching module 102 configured to generate and cache an RTP message in a pre-created linked list
  • a timer 104 configured to perform timing
  • a determining module 106 configured to determine a timer 104, whether the predetermined en
  • the processing module 108 may include the following modules, as follows:
  • the copy module 1081 is configured to take out multiple RTP messages from the linked list and copy them into a contiguous memory space.
  • a tunneling protocol header adding module 1082 configured to add a tunnel protocol header (Enc Header) to a header of the memory space;
  • the summary information calculation adding module 1083 is configured to add the tunneling protocol header adding module 1082.
  • the data in the memory space after the Enc Header is digested, and the calculated summary information (HMAC) is appended to the end of the memory space after the Enc Header is added;
  • the completion information adding module 1084 is configured to add a packet length supplement information (Tail) after the HMAC attached by the summary information calculation adding module 1083;
  • the cryptographic module 1085 is configured to: when the tunnel is an SSL tunnel or a UDP tunnel, encrypt the data in the memory space after the Tail is added by the patch information adding module 1084;
  • the protocol header adding module 1086 is configured to add an SSL protocol header to the head of the memory space encrypted by the encryption module 1085 to form an SSL recording unit when the tunnel is an SSL tunnel; and when the tunnel is a UDP tunnel, the encrypted module 1085 The UDP header is added to the header of the encrypted memory space to form a UDP packet body.
  • an HTTP protocol header is added to the header of the memory space after the Tail is added to the patched information adding module 1084.
  • the TCP encapsulation module 1087 is configured to perform TCP encapsulation on the recording unit formed by the protocol header adding module 1086 to obtain a tunnel packet, where the recording unit is one of the following: an SSL recording unit, a UDP packet body, and an HTTP message body. That is, when the tunnel is an HTTP tunnel, the SSL packet is encapsulated by the SSL packet to obtain an SSL tunnel packet. When the tunnel is a UDP tunnel, the UDP packet is encapsulated by the TCP packet to obtain a UDP tunnel packet. When the tunnel is an HTTP tunnel, the tunnel is an HTTP tunnel. HTTP encapsulation of the HTTP message body to obtain an HTTP tunnel message.
  • the apparatus may further include: a receiving module 30, configured to receive a tunnel message sent by the peer end through the tunnel; and an unloading module 40, configured to perform tunnel decapsulation on the tunnel packet received by the receiving module 30, An RTP packet is obtained, where the tunnel packet includes a recording unit, and each recording unit is encapsulated with multiple RTP packets. It is obvious that the specific processing procedure of the above-mentioned unloading module 40 in tunnel decapsulation of the tunnel packet is the inverse process shown in FIG. 5 above, and details are not described herein again.
  • an SSL tunnel client is integrated in the IMS terminal, and the IMS terminal establishes an SSL tunnel with the STG through the SSL tunnel client.
  • the IMS terminal and the SIP/media server handle the processing of the service/media layer and the SIP/RTP message.
  • the SIP/Media Server has a TCP/IP protocol stack for communicating with the TCP/IP virtual protocol stack of the SSL tunnel client.
  • the SSL tunnel client includes: a TCP/IP virtual protocol stack, a tunnel encapsulation/unloading module, an SSL protocol stack, and a TCP/IP protocol stack module.
  • the STG includes: a tunnel encapsulation/unloading module, an SSL protocol stack, and a TCP/IP protocol stack module.
  • the IMS client in practical applications, it can be implemented by the TCP/IP virtual protocol stack, the tunnel encapsulation/unloading module, the SSL protocol stack, and the TCP/IP protocol stack in the SSL tunnel client.
  • the functions of the encapsulation module 10 and the unloading module 40 in FIG. 10 can be implemented by the tunnel encapsulation/unloading module, the SSL protocol stack, and the TCP/IP protocol stack.
  • the TCP/IP virtual protocol stack is used for SIP/RTP message construction IP layer information (corresponding to step S504 in Fig. 5).
  • the tunnel encapsulation/unloading module is used for tunnel encapsulation and unloading of RTP packets.
  • the tunnel header (Enc Header) is added to the packet to identify the tunnel bearer format and type (corresponding to step S506 in FIG. 5).
  • the tunnel content type is identified and the tunnel protocol header is unloaded to extract the RTP message.
  • the SSL protocol stack is used for SSL encapsulation, encryption, and data transceiving, resulting in an SSL Record (corresponding to step S508 in Figure 5).
  • the TCP/IP protocol stack is used to encapsulate and unload the SSL Record at the transport layer and the network layer to obtain an SSL tunnel (corresponding to step S510 in FIG. 5).
  • the functions of the tunnel encapsulation/unloading module, the SSL protocol stack, and the TCP/IP protocol stack in the STG are the same as those of the tunnel encapsulation/unloading module, the SSL protocol stack, and the TCP/IP protocol stack in the SSL tunnel client, respectively. No longer.
  • Step 1 The TCP/IP protocol stack encapsulates the media data to be sent by the IMS terminal into an RTP packet;
  • the tunnel encapsulation/unloading module collects multiple RTP packets in T (the number is T divided by the packetization duration of RTP packets). When the timer expires, the tunnel header encapsulation is performed. Step S506); and then outputting to the SSL protocol stack;
  • Step 3 The SSL protocol stack continues to encrypt, encapsulate, and send the packet (specifically, step S508 in FIG. 5). Therefore, the plurality of RTP messages in the step 2 form an SSL record, that is, the RTP message that originally needs to be encapsulated by multiple SSL records is changed to only one SSL Record encapsulation;
  • Step 4 The TCP/IP protocol stack encapsulates the SSL record formed in step 3, and obtains the final SSL tunnel packet, and sends the packet to the STG.
  • Step 1 The TCP/IP protocol stack parses the SSL Record from the SSL tunnel packet;
  • Step 2 The SSL protocol stack performs SSL offloading on the SSL Record.
  • Step 3 The tunnel encapsulation/unloading module restores the RTP packet and sends it to the media server at a short interval or according to the packetization time of the RTP packet. Specifically, it can be sent to the TCP/IP protocol stack in the SIP/media server for decapsulation to obtain the media data therein.
  • the IMS terminal and the STG are included, wherein the IMS terminal and the STG are devices as shown in FIG. 7-10.
  • the IMS terminal and the STG can use the data transmission method shown in Figure 3-5 to send data to the peer end and receive data sent by the processing peer.
  • the above embodiment of the present invention encapsulates multiple RTP messages in a Record, so that multiple RTP messages carried can share the additional information of a Record. Therefore, the additional bandwidth is greatly saved, and the single packet bandwidth of the tunnel message finally transmitted is effectively reduced, the bandwidth requirement for the user is reduced, and the use of the user is improved to some extent.
  • the predetermined encapsulation interval is 100ms. For some RTP packets, a delay of up to 80ms is generated, but the additional bandwidth is reduced by 5 times.
  • the bandwidth performance of the IMS service security traversal can be satisfied in the proxy environment (that is, the IMS terminal accesses the Internet through the proxy server), so that the SSL VPN (Virtual Private Network) solution is in the IMS. Safety is more competitive in the field.
  • the storage medium may be a magnetic disk, an optical disk, a read-only memory (ROM), or a random access memory (RAM).
  • the program may be stored in a computer readable storage medium, and the storage medium may include: Read-only memory, random access memory, disk or optical disk, etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

互联网协议多媒体子系统网络、 数据传输方法和装置 本申请要求于 2011 年 2 月 28 日提交中国专利局、 申请号为 201110047670.5、 发明名称为"互联网协议多媒体子系统网络、 数据传输方 法和装置"的中国专利申请的优先权, 其全部内容通过引用结合在本申请中。 技术领域 本发明涉及通信技术领域, 尤其涉及一种互联网协议多媒体子系统网络、 数据传输方法和装置。
背景技术
IMS ( Internet Protocol Media Subsystem, IP ( Internet Protocol, 互联网协 议)多媒体子系统)是一种全新的多媒体业务形式, 已被公认为是下一代网络 ( Next Generation Network, NGN )的核心技术。 IMS基于 SIP ( Session Initiation Protocol, 会话初始化协议)协议支持各种固定接入和移动接入, 基于 ALL-IP 实现移动与固网融合,是实现语音、数据和视频等多媒体全业务融合的重要方 式。 IMS支持丰富的接入终端和接入网络, IMS终端与 IMS核心网之间可能会 历经非常复杂的接入路径, 中间网元如防火墙(Firewall, FW )、 网络地址转 换(Network Address Translation, NAT )设备、 应用代理(Proxy )服务器和业 务监控网关等设备会对承载 IMS业务的报文( SIP/RTP ( Real-time Transport Protocol, 实时传输协议)报文)进行处理和控制, 可能导致 IMS终端无法正 常接入或通信。
目前, 主要采用基于隧道封装的机制, 实现 IMS业务的安全接入。 如图 1 所示, 在 IMS核心网的入口处部署 STG ( Security Tunnel Gateway, 安全隧道网 关), 在 IMS终端集成 SSL隧道客户端。 IMS终端启动时, 通过 SSL隧道客户端 与 STG建立 SSL隧道,将 SIP/RTP报文按照图 2所示的过程进行 SSL隧道封装后, 将封装结果 (可称为 SSL隧道报文 )通过 SSL隧道传输到 STG。 上述 SSL隧道报 文通过网络发送到 STG后, STG按照图 2的逆过程 (即隧道解封装)从 SSL隧道 报文中还原出 SIP/RTP报文, 并转发给媒体服务器。 反过来, 媒体服务器返回 的才艮文也经过同样的过程发送给 IMS终端, 由 IMS终端进行还原。 从而, 通过 SSL隧道封装将 IMS业务的上万个端口统一聚合到一个标准的 HTTPS ( 443 )端 口, 轻松穿越 FW、 NAT及 Proxy等中间网元设备, 并支持 SIP/RTP报文的加密, 实现通信数据的端口聚合、 数据加密、 信息完整性保护等功能。 SIP/RTP报文 除了可基于 SSL隧道封装外, 也可基于 HTTP ( Hyper Text Transfer Protocol, 超 文本传输协议)隧道或 UDP ( User Datagram Protocol, 用户数据才艮协议) 隧道 封装。
具体地, 如图 2所示, 对 RTP"¾文进行 SSL隧道封装的过程如下: 体数据(如语音、 视频等数据)进行采集、 编码;
步骤 S204: 将媒体数据通过虚拟协议栈封装为 RTP报文;
步骤 S206: 在 RTP报文的头部加入隧道协议头 ( Encapsulate Header, 图 2 中缩写为 Enc Hdr, 还可缩写为 Enc Header );
步骤 S208: 添加摘要信息和分组长度补齐信息 (摘要信息和分组长度补齐 信息在图 2中用 HMAC-Tail表示), 并对整个报文进行 SSL加密, 然后, 在加密 后的报文的头部增加 SSL协议头(SSL Header, 图 2中缩写为 SSL Hdr ), 形成一 个 SSL Record ( SSL记录或 SSL记录单元);
步骤 S210: 为了在网络中传输, 最终还需要将 SSL Record封装成 TCP ( Transfer Control Protocol, 传输控制协议 )报文(即上述的 SSL隧道报文), 通过网络传输到 STG。
在上述的 SSL隧道封装过程中, 由于每个 RTP报文形成一个 SSL Record, 在每个 RTP报文之外增加了大量附加信息, 导致最终发送的 SSL隧道报文的长 度比 RTP报文的长度大得多, 从而使得单包的带宽急剧增加。
以媒体数据的音频编码格式为 G.729为例, RTP报文长度的计算公式是:
IP(20) + UDP(8) + RTP(12) + Payload(20) = 60个字节, 其中, IP表示 IP头, UDP 表示 UDP头, RTP表示 RTP头, Payload表示负载(即 IMS业务的媒体数据)。 从 而, 在每秒 50个报文(即 RTP报文的打包时长为 20ms ) 时, 计算得到带宽为 60 * 8 * ( 1 s/20ms)=24kbps。
经过 SSL隧道封装之后, 最终发送的 SSL隧道报文的长度计算公式是: IP(20) + TCP(20) + SSL Header(5) + Enc Header(16) + RTP报文 (60) + HMAC-Tail(28) = 149个字节, 其中, IP表示 IP头, TCP表示 TCP头, SSL Header 表示 S SL协议头, Enc Header表示隧道协议头, HMAC-Tail表示摘要信息 ( HMAC )和分组长度补齐信息 (Tail ) 的组合。 从而, 在每秒 50个报文时, 计算得到带宽为 149*8*(ls/20ms)=59.6kbps。
通过比较 SSL隧道封装前后的报文长度, 可推算出单包的带宽增加了 35.6kbps (即附加带宽为 35.6kbps ), 相当于增加了 148%的带宽。 带宽的急剧增 加,对用户接入的带宽提出了更高的要求,在一定程度上降低了用户的使用体 验和业务接入能力。
发明内容 本发明实施例提供了一种互联网协议多媒体子系统网络、数据传输方法和 装置, 可至少解决上述现有技术降低了用户的使用体验和业务接入能力的问 题。
一方面, 提供了一种数据传输方法, 用于 IMS, 包括: 对 RTP报文进行隧 道封装, 得到隧道报文, 其中, 隧道报文中包括记录单元, 每个记录单元中封 装有多个 RTP报文; 将隧道报文通过与对端之间的隧道发送到对端, 其中, 对 端为 STG或者 IMS终端。
另一方面, 提供了一种数据传输装置, 用于 IMS, 包括: 封装模块, 用于 对 RTP报文进行隧道封装, 得到隧道报文, 其中, 隧道报文中包括记录单元, 每个记录单元中封装有多个 RTP报文; 发送模块, 用于将隧道报文通过与对端 之间的隧道发送到对端, 其中, 对端为 STG或者 IMS终端。
又一方面, 提供了一种 IMS网络, 包括 IMS终端和 STG, 其中, IMS终端 和 STG为上述的数据传输装置。
本发明实施例根据 RTP报文的小包定时发送的特点, 将多个 RTP报文形成 一个 Record, 即, 多个 RTP报文共享一个 Record的附加信息, 从而通过牺牲较 小的实时性,将 IMS业务的隧道封装过程中多个 RTP报文的附加信息进行整合, 减少了隧道封装带来的附加带宽, 进而降低了单包的带宽,避免了现有技术由 于单包的附加带宽较大,对用户接入的带宽提出了更高的要求,在一定程度上 降低了用户的使用体验和业务接入能力的问题。 附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施 例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地, 下面描述 中的附图仅仅是本发明的一些实施例, 对于本领域普通技术人员来讲,在不付 出创造性劳动性的前提下, 还可以根据这些附图获得其他的附图。
图 1是根据现有技术的 IMS系统的架构示意图;
图 2是根据现有技术的 IMS业务报文的 SSL隧道封装过程的示意图; 图 3是根据本发明实施例一的 IMS系统的数据传输方法的流程图; 图 4是根据本发明实施例二的 IMS终端的数据传输方法的流程图; 图 5是根据本发明实施例二的 IMS业务报文的 SSL隧道封装过程的示意 图;
图 6是根据本发明是实例二的 SSL Record的帧结构示意图;
图 7是根据本发明实施例一的 IMS中的数据传输装置的结构示意图; 图 8是根据本发明实施例二的 IMS中的数据传输装置的结构示意图; 图 9是根据本发明实施例三的 IMS中的数据传输装置的结构示意图; 图 10是根据本发明实施例四的 IMS中的数据传输装置的结构示意图; 图 11是根据本发明实施例五的 IMS中的 IMS终端、 STG和 SIP/媒体服 务器的层次结构示意图。 具体实施方式 为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施 例中的附图, 对本发明实施例中的技术方案进行清楚、 完整地描述, 显然, 所 描述的实施例仅仅是本发明一部分的实施例, 而不是全部的实施例。基于本发 明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所 有其他实施例, 都应当属于本发明保护的范围。
在如图 1所示的 IMS系统中 , IMS终端与 IMS核心网入口处的 STG之间建立 隧道, 例如 SSL隧道、 HTTP隧道或 UDP隧道, 两者之间通过该隧道进行数据 传输, 以实现 IMS业务的安全接入和传输。
实施例一
在上述的 IMS系统中, 根据本发明实施例一的 IMS终端或 STG的数据传输 方法如图 3所示, 包括以下步骤:
步骤 S302, 对 RTP报文进行隧道封装, 得到隧道报文, 其中, 隧道报文中 包括记录单元, 每个记录单元中封装有多个 RTP报文;
例如, 当 IMS终端和 STG之间建立的是 SSL隧道时, IMS终端或 STG对 RTP 报文进行隧道封装, 即, 将多个 RTP报文进行 SSL隧道封装, 形成一个 SSL Record, 然后再将 SSL Record封装成隧道报文。 此处将多个 RTP报文进行 SSL 隧道封装形成一个 SSL Record的具体处理过程, 将在下面的如图 4-5所示的实 施例二中进行详细描述, 这里不再贅述。
步骤 S304, 将步骤 S302中得到的隧道报文通过与对端之间的隧道发送到 对端, 其中, 对端为 STG或者 IMS终端。
显然, 当执行步骤 S302-步骤 S304的是 IMS终端时, 对端即为 STG; 当执 行步骤 S302-步骤 S304的是 STG时, 对端即为 IMS终端。 IMS终端和 STG可以通 过两者之间建立的隧道进行数据传输。
在 IMS业务中, 最主要的网络流量来自 RTP报文, 而 RTP报文存在定时发 送大量小包的特点, 发包时间间隔一般在 10ms ~ 100ms之间, 每个 RTP报文的 字节长度一般都不会超过 200字节。 本发明实施例根据 RTP报文的小包定时发 送的特点,将多个 RTP^艮文形成一个 Record, 即, 多个 RTP^艮文共享一个 Record 的附加信息, 从而通过牺牲较小的实时性, 将隧道封装过程中多个 RTP报文的 附加信息进行整合,减少了隧道封装带来的附加带宽,进而降低了单包的带宽, 避免了现有技术由于单包的附加带宽较大,对用户接入的带宽提出了更高的要 求, 在一定程度上降低了用户的使用体验和业务接入能力的问题。
在上述实施例一中, 隧道可以是 SSL隧道, 也可以是 HTTP隧道或 UDP隧 道等。
在上述的 IMS系统中, 根据本发明实施例中的 IMS终端或 STG的数据传输 方法, 包括以下步骤:
步骤 S312, 对 RTP报文进行隧道封装, 得到隧道报文, 其中, 隧道 4艮文中 包括至少一个记录单元, 每个记录单元中封装有至少一个 RTP报文;
步骤 S314, 将步骤 S312中得到的隧道报文通过与对端之间的隧道发送到 对端, 其中, 对端为 STG或者 IMS终端。
步骤 S312中, 对 SSL Record进行 TCP封装时, 为了进一步减少附加带宽, 也可以将多个 SSL Record封装到一个 TCP报文(即 SSL隧道报文) 中, 从而, 在最终发送的 SSL隧道报文中可以包括一个或多个 SSL Record , 每个 SSL Record中封装有多个 RTP^艮文。
实施例二
以 IMS终端向 STG发送隧道 ^艮文为例, 进行说明。 如图 4所示, 根据本发 明实施例二的 IMS终端的数据传输方法包括以下步骤:
步骤 S402, 在预先创建的链表中, 生成 (具体生成步骤同图 1中的步骤 S202-S204 ) 并緩存 RTP报文;
例如, 该链表可以为一个 FIFO ( First In First Out, 先入先出)链表, 可以 预先创建一个 FIFO链表,不断地将 IMS业务的媒体数据写入该 FIFO链表所在的 内存空间中,将媒体数据封装成一个个的 RTP报文,并緩存生成(即封装得到) 的 RTP报文。
步骤 S404, 判断是否达到预定封装时间间隔 T, 若是, 则进入步骤 S406, 若否, 则返回步骤 S404;
例如, 可以通过设置定时器, 该定时器的周期为 T。 为了确保 IMS业务的 服务质量,上述预定封装时间间隔 T的具体取值应该在语音时延允许的范围内, 即 T 200ms, 例如, T=100ms。
步骤 S406, 对链表中的在 T内收集到的多个 RTP报文(RTP报文的个数 ) 进行隧道封装, 使得这多个 RTP报文形成一个 Record, 并将该 Record封装成最 终的隧道报文; 如图 5所示, 以 SSL隧道为例, 对 T内收集到的多个 RTP^艮文(记为 N个 ) 进行 SSL隧道封装的过程, 包括以下步骤:
步骤 S502- S504, 同图 2中的步骤 S202-S204; 这两个步骤是将媒体数据生 成 RTP报文的步骤;
步骤 S506, 将链表中的 N个 RTP报文(即在 T内收集的 N个 RTP报文, 其中 的每个 RTP报文均按照图 5中的步骤 S502-S504生成)取出, 并拷贝到一段连续 的内存空间中, 在这段内存空间的头部加入隧道协议头 (Enc Header );
步骤 S508: 按照一定的摘要算法对加入了 Enc Header后的内存空间的内容 (或数据)进行摘要计算, 得到摘要信息 (HMAC ), 并将该摘要信息附加在 内存空间的尾部, 然后再在该摘要信息的后面添加分组长度补齐信息 (Tail ) (摘要信息和分组长度补齐信息在图 5中用 HMAC-Tail表示), 之后, 对整个报 文进行 SSL加密, 然后,在加密后的报文的头部添加 SSL协议头( SSL Header ), 形成一个 SSL Record;
添加了 Tail之后, 此时, 整个报文的数据长度可以为 16 bytes、 32 bytes、 64 bytes, 128 bytes等的整数倍, 在实际应用中, 一般是 16 bytes的整数倍。
SSL Record的帧结构示意图如图 6所示, 主要由两大部分构成: 头部和加 密数据, 其中, 头部包括内容类型、 版本号和数据长度, 头部即为图 5中的 SSL Header; 加密数据包括 Enc Header, N个 RTP报文(图 6中仅示出了 2个 RTP报文 的情况) 以及 HMAC (摘要信息)和 Tail (分组长度补齐信息)。
步骤 S510, 同图 2中的步骤 S210。将 SSL Record作为内容,在头部添加 TCP 头和 IP头,以完成 TCP封装。在该步骤中值得注意的是在对 SSL Record进行 TCP 封装时, 为了进一步减少附加带宽, 也可以将多个 SSL Record封装到一个 TCP 报文(即 SSL隧道报文) 中, 从而, 在最终发送的 SSL隧道报文中可以包括一 个或多个 SSL Record, 每个 SSL Record中封装有多个 RTP报文。
通过上述的过程, 可以将原本需要多个 Record封装的 RTP报文变为只需一 个 Record封装即可。
同样以媒体数据的音频编码格式为 G.729为例,假设 T=100ms, RTP报文的 打包时长为 20ms,此时 SSL隧道报文的带宽计算公式变更为: {IP(20) + TCP(20) + SSL Header(5) + Enc Header(16) + RTP报文 ((100/20) * 60)+ HMAC-Tail(28)} * 8 * (ls/100ms) = 389 * 8* 10 = 31.12 kbps„ 与 RTP报文的带宽 24 kbps相比, 附 加带宽为 31.12-24=7.12 kbps。
从上述实际数据中可以看出, 当预定封装时间间隔 T=100ms时, 采用本发 明实施例后的 SSL隧道报文的带宽 31.12 kbps与现有技术中 SSL隧道报文的带 宽 59.6 kbps相比, 带宽减少了 28.48 kbps, 附加带宽也从 35.6 kbps减少到了 7.12 kbps, 减少了 5倍。
假设 T=200ms, RTP报文的打包时长为 20ms, 此时 SSL隧道报文的带宽计 算公式变更为: {IP(20) + TCP(20) + SSL Header(5) + Enc Header(16) + RTP报文 ((200/20) * 60)+ HMAC-Tail(28) }* 8 * (ls/200ms) = 689 * 8* 5 = 27.56 kbps。 与 RTP报文的带宽 24 kbps相比, 附加带宽为 27.56-24=3.56 kbps。
可以看出, 当预定封装时间间隔 T=200ms时, 采用本发明实施例后的 SSL 隧道报文的带宽 27.56 kbps与现有技术中 SSL隧道报文的带宽 59.6 kbps相比,带 宽减少了 32.04 kbps, 附加带宽也从 35.6kbps减少到了 3.56kbps, 减少了 10倍。
从上述两组实例中可以得出: 预定封装时间间隔 T越长, 最终发送的隧道 报文与 RTP报文相比的附加带宽减少得越多, 从而隧道报文的单包带宽也就越 小。 对于特定的媒体编码类型, 根据本发明实施例的隧道报文与未封装的 RTP 报文相比的发包特征发生了变化,表现为发包间隔加长了整数倍(发包间隔即 为 T ),报文长度也基本按等比例增加,但是附加带宽却也得到了相同比例的减 少, 隧道报文的带宽得到了显著的节约。 媒体数据的音频编码格式不同, RTP 报文的长度会发生变化, 但是, 不会影响最终的隧道报文的附加带宽的减少。
步骤 S408, 将得到的隧道 ^艮文通过与 STG之间的隧道发送到 STG。
STG接收到隧道报文之后, 就可以按照如图 5所示的逆过程对隧道报文进 行隧道解封装, 还原得到其中的多个 RTP报文。
同样, STG向 IMS终端发送隧道报文的流程同上述步骤 S402-S408, 这里 不再贅述。 此时, IMS终端在接收 STG通过隧道发来的隧道报文之后, 会对接 收的隧道报文进行隧道解封装,得到 RTP报文,其中, 隧道报文包括记录单元, 每个记录单元中封装有多个 RTP报文。
此外, 当隧道为 HTTP隧道时, IMS终端或 STG进行 HTTP隧道封装的具体 处理流程与图 4-5类似, 只是在步骤 S508中添加了分组长度补齐信息后不进行 加密, 而直接在报文的头部添加 HTTP协议头( HTTP Header ), 形成一个 HTTP 消息体; 当隧道为 UDP隧道时, IMS终端或 STG进行 UDP隧道封装的具体处理 流程也与图 4-5类似, 只是在步骤 S508中在加密(加密不一定是 SSL加密)后的 报文的头部添加 UDP协议头 ( UDP Header ), 形成一个 UDP报文体。
图 7是根据本发明实施例一的 IMS中的数据传输装置的结构示意图, 该数 据传输装置可以为 IMS终端或 STG。 如图 7所示, 该装置包括: 封装模块 10, 用于对 RTP报文进行隧道封装, 得到隧道报文, 其中, 隧道报文中包括记录单 元, 每个记录单元中封装有多个 RTP报文; 发送模块 20, 用于将封装模块 10得 到的隧道报文通过与对端之间的隧道发送到对端, 其中, 对端为 STG或者 IMS 终端。
本发明实施例根据 RTP报文的小包定时发送的特点, 将多个 RTP报文形成 一个 Record, 即, 多个 RTP报文共享一个 Record的附加信息, 从而通过牺牲较 小的实时性, 将隧道封装过程中多个 RTP报文的附加信息进行整合, 减少了隧 道封装带来的附加带宽, 进而降低了单包的带宽,避免了现有技术由于单包的 附加带宽较大,对用户接入的带宽提出了更高的要求,在一定程度上降低了用 户的使用体验和业务接入能力的问题。 从而使隧道报文既能满足实时性的要 求, 又能够满足带宽要求。
在实际应用中, 上述的隧道可以是 SSL隧道, 也可以是 HTTP隧道或 UDP 隧道。
如图 8所示, 封装模块 10包括: 封装緩存模块 102, 用于在预先创建的链表 中, 生成并緩存 RTP报文; 定时器 104, 用于进行计时; 判断模块 106, 用于判 断定时器 104是否到达预定封装时间间隔 T, 其中, 预定封装时间间隔 T的值应 该小于或等于 200ms (在 IMS的语音时延允许的范围内); 处理模块 108, 用于 在判断模块 106的判断结果为到达时,对上述链表中的在这预定封装时间间隔 T 内生成的多个 RTP报文(RTP报文的个数 )进行隧道封装, 得到隧道报文。
如图 9所示, 为了对链表中的多个 RTP报文进行隧道封装, 处理模块 108可 以包括以下几个模块, 分别如下:
拷贝模块 1081 , 用于从链表中取出多个 RTP报文, 并拷贝到一段连续的内 存空间中;
隧道协议头添加模块 1082,用于在该内存空间的头部加入隧道协议头( Enc Header );
摘要信息计算添加模块 1083 , 用于对经隧道协议头添加模块 1082加入了 Enc Header后的内存空间中的数据进行摘要计算, 并将计算得到的摘要信息 ( HMAC ) 附加在加入了 Enc Header后的内存空间的尾部;
补齐信息添加模块 1084,用于在摘要信息计算添加模块 1083附加的 HMAC 的后面附加分组长度补齐信息 (Tail );
加密模块 1085, 用于当隧道为 SSL隧道或 UDP隧道时, 对经补齐信息添加 模块 1084附加了 Tail后的内存空间中的数据进行加密;
协议头添加模块 1086, 用于当隧道为 SSL隧道时, 在经加密模块 1085加密 后的内存空间的头部添加 SSL协议头, 形成 SSL记录单元; 当隧道为 UDP隧道 时, 在经加密模块 1085加密后的内存空间的头部添加 UDP协议头, 形成 UDP 报文体; 当隧道为 HTTP隧道时,在将经补齐信息添加模块 1084附加了 Tail后的 内存空间的头部添加 HTTP协议头, 形成 HTTP消息体;
TCP封装模块 1087, 用于对协议头添加模块 1086形成的记录单元进行 TCP 封装, 得到隧道报文, 其中, 记录单元为以下之一: SSL记录单元、 UDP报文 体、 HTTP消息体。 即, 当隧道为 SSL隧道时, 对 SSL记录单元进行 TCP封装, 得到 SSL隧道报文, 当隧道是 UDP隧道时, 对 UDP报文体进行 TCP封装, 得到 UDP隧道报文, 当隧道是 HTTP隧道时, 对 HTTP消息体进行 TCP封装, 得到 HTTP隧道报文。
如图 10所示, 该装置还可以包括: 接收模块 30, 用于接收对端通过隧道发 来的隧道报文; 卸载模块 40, 用于对接收模块 30接收的隧道报文进行隧道解封 装, 得到 RTP报文, 其中, 隧道报文包括记录单元, 每个记录单元中封装有多 个 RTP报文。 显然, 上述的卸载模块 40在对隧道报文进行隧道解封装时的具体 处理过程是上述图 5所示的逆过程, 这里不再贅述。
在实际应用中, 隧道为 SSL隧道时, 如图 11所示, IMS终端中集成有 SSL 隧道客户端, IMS终端通过 SSL隧道客户端与 STG建立 SSL隧道。 IMS终端和 SIP/媒体服务器承担业务 /媒体层处理和 SIP/RTP报文的处理。 SIP/媒体服务器 具备 TCP/IP协议栈, 用于与 SSL隧道客户端的 TCP/IP虚拟协议栈通信。 其中, SSL隧道客户端包括: TCP/IP虚拟协议栈、 隧道封装 /卸载模块、 SSL协议栈和 TCP/IP协议栈模块。 STG包括: 隧道封装 /卸载模块、 SSL协议栈和 TCP/IP协议 栈模块。 在实际应用中, 在 IMS客户端中, 可以由 SSL隧道客户端中的 TCP/IP 虚拟协议栈、 隧道封装 /卸载模块、 SSL协议栈和 TCP/IP协议栈来实现如图 10 中的封装模块 10和卸载模块 40的功能。 在 STG中, 可以由隧道封装 /卸载模块、 SSL协议栈和 TCP/IP协议栈来实现如图 10中的封装模块 10和卸载模块 40的功
•6匕
匕。
具体地,在 SSL隧道客户端中, TCP/IP虚拟协议栈用于 SIP/RTP报文构造 IP 层信息(对应于图 5中的步骤 S504 )。隧道封装 /卸载模块用于 RTP报文的隧道封 装和卸载, 发送时, 将隧道协议头 (Enc Header )加入到报文中, 用于标识隧 道承载格式和类型(对应于图 5中的步骤 S506 ), 接收时, 识别隧道内容类型并 将隧道协议头进行卸载, 提取 RTP报文。 SSL协议栈用于 SSL封装、 加密和数 据收发,得到 SSL Record (对应于图 5中的步骤 S508 )。 TCP/IP协议栈用于将 SSL Record进行传输层和网络层的封装和卸载,得到 SSL隧道 ·艮文 (对应于图 5中的 步骤 S510 )。
同样, STG中的隧道封装 /卸载模块、 SSL协议栈和 TCP/IP协议栈的功能分 别与 SSL隧道客户端中的隧道封装 /卸载模块、 SSL协议栈和 TCP/IP协议栈的功 能相同, 这里不再贅述。
当 IMS终端通过 SSL隧道客户端向 STG发送数据时, 具体处理流程如下: 步骤 1, TCP/IP协议栈将 IMS终端所要发送的媒体数据封装为 RTP报文; 步骤 2, 在隧道封装 /卸载模块中设置一个定时器, 该定时器的周期(即上 述的预定封装时间间隔) 为 T, 并设置 T的值在语音时延允许的范围内 (T 200ms, 如 T=100ms)。 隧道封装 /卸载模块在 T内收集多个 RTP报文(个数为 T 除以 RTP报文的打包时长后取整), 当定时器到期时, 才进行隧道头封装(具 体处理如图 5中的步骤 S506 ); 然后, 输出给 SSL协议栈;
步骤 3 , SSL协议栈继续对报文进行 SSL加密、 封装和发送(具体处理如图 5中的步骤 S508 )。 从而, 使得在步骤 2中的多个 RTP报文形成一个 SSL Record, 即, 将原本需要多个 SSL Record封装的 RTP报文变为只需一个 SSL Record封装 即可;
步骤 4, TCP/IP协议栈将步骤 3中形成的 SSL Record进行 TCP封装, 得到最 终发送的 SSL隧道报文, 并发送给 STG。
STG接收到 IMS终端发送来的 SSL隧道报文之后,其具体的处理流程如下: 步骤 1 , TCP/IP协议栈从 SSL隧道报文中解析出 SSL Record;
步骤 2, SSL协议栈对 SSL Record进行 SSL卸载; 步骤 3 , 隧道封装 /卸载模块进行 RTP报文的还原, 并以较短的时间间隔或 按 RTP报文的打包时长发送到媒体服务器上。 具体地, 可以发送给 SIP/媒体服 务器中的 TCP/IP协议栈进行解封装, 得到其中的媒体数据。
同样, STG接收到媒体服务器返回的报文并向 IMS终端发送数据时的具体 处理流程,以及 IMS终端接收到 STG发送来的 SSL隧道报文时的具体处理流程, 与上述步骤相同, 这里不再贅述。
在 IMS网络中, 包括 IMS终端和 STG, 其中, IMS终端和 STG为如图 7-10 所示的装置。 IMS终端和 STG可以采用如图 3-5所示的数据传输方法向对端发送 数据并接收处理对端发来的数据。
与现有技术相比, 本发明以上实施例在使用隧道承载 IMS业务报文时, 通 过将多个 RTP报文封装在一个 Record中, 使得承载的多个 RTP报文可共享一个 Record的附加信息, 从而使得附加带宽得到了极大的节约, 也有效地减小了最 终传输的隧道报文的单包带宽, 降低了对用户接入的带宽的要求, 并在一定程 度上提升了用户的使用体验和业务接入能力。 以预定封装时间间隔为 100ms为 例, 对于部分 RTP报文产生了最大为 80ms的时延, 但是附加带宽却减少了 5倍。
由于附加带宽得到了有效地减少, 从而能够满足代理环境下(即 IMS终端 通过代理服务器进行上网 )进行 IMS业务安全穿越的带宽性能, 使 SSL VPN ( Virtual Private Network, 虚拟专用网 )解决方案在 IMS安全穿越领域中更具 竟争力。
需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全 部或部分流程,是可以通过计算机程序来指令相关的硬件来完成, 所述的程序 可存储于一计算机可读取存储介质中, 该程序在执行时, 可包括如上述各方法 的实施例的流程。 其中, 所述的存储介质可为磁碟、 光盘、 只读存储记忆体 ( Read-Only Memory, ROM )或随机存储记忆体 ( Random Access Memory, RAM )等。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步 骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读 存储介质中, 存储介质可以包括: 只读存储器、 随机存储器、 磁盘或光盘等。
以上对本发明实施例所提供的云系统分布式拒绝服务攻击防护方法以及 式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思 想; 同时, 对于本领域的一般技术人员, 依据本发明的思想, 在具体实施方式 及应用范围上均会有改变之处, 综上, 本说明书内容不应理解为对本发明的限 制。

Claims

权 利 要 求
1、 一种数据传输方法, 用于互联网协议多媒体子系统 IMS, 其特征在于, 包括:
对实时传输协议 RTP报文进行隧道封装, 得到隧道报文, 其中, 所述隧道 报文中包括记录单元, 每个记录单元中封装有多个 RTP报文;
将所述隧道报文通过与对端之间的隧道发送到所述对端, 其中, 所述对端 为安全隧道网关 STG或者 IMS终端。
2、 如权利要求 1所述的方法, 其特征在于, 对实时传输协议 RTP报文进行 隧道封装, 得到隧道报文包括:
在预先创建的链表中, 生成并緩存 RTP报文;
判断是否到达预定封装时间间隔;
若到达, 则对所述链表中的在所述预定封装时间间隔内生成的多个 RTP报 文进行隧道封装, 得到隧道报文。
3、 如权利要求 1所述的方法, 其特征在于, 对实时传输协议 RTP报文进行 隧道封装, 得到隧道报文包括:
在预先创建的链表中, 生成并緩存 RTP报文;
判断是否到达预定封装时间间隔, 其中, 所述预定封装时间间隔的值小于 或等于 200ms;
若到达, 则对所述链表中的在所述预定封装时间间隔内生成的多个 RTP报 文进行隧道封装, 得到隧道报文。
4、 如权利要求 2所述的方法, 其特征在于, 所述隧道为安全套接字层 SSL 隧道, 对所述链表中的在所述预定封装时间间隔内生成的多个 RTP报文进行隧 道封装, 得到隧道报文包括:
从所述链表中取出所述多个 RTP报文, 并拷贝到一段连续的内存空间中; 在所述内存空间的头部加入隧道协议头 Enc Header;
对加入了 Enc Header后的内存空间中的数据进行摘要计算, 并将计算得到 的摘要信息 HMAC附加在所述加入了 Enc Header后的内存空间的尾部;
在所述 HMAC的后面附加分组长度补齐信息 Tail;
对所述附加了 Tail后的内存空间中的数据进行加密; 在加密后的内存空间的头部添加 SSL协议头, 形成 SSL记录单元; 对形成的 SSL记录单元进行 TCP封装, 得到 SSL隧道报文。
5、 如权利要求 1所述的方法, 其特征在于, 还包括:
接收所述对端通过所述隧道发来的隧道报文;
对接收的隧道报文进行隧道解封装, 得到 RTP报文, 其中, 所述隧道报文 包括记录单元, 每个记录单元中封装有多个 RTP报文。
6、 如权利要求 1至 5中任一项所述的方法, 其特征在于, 所述隧道为以下 之一: SSL隧道、 超文本传输协议 HTTP隧道、 用户数据报协议 UDP隧道。
7、 一种数据传输装置, 用于互联网协议多媒体子系统 IMS, 其特征在于, 包括:
封装模块, 用于对实时传输协议 RTP报文进行隧道封装, 得到隧道报文, 其中, 所述隧道报文中包括记录单元, 每个记录单元中封装有多个 RTP报文; 发送模块, 用于将所述隧道报文通过与对端之间的隧道发送到所述对端, 其中, 所述对端为安全隧道网关 STG或者 IMS终端。
8、 如权利要求 7所述的装置, 其特征在于, 所述封装模块包括:
封装緩存模块, 用于在预先创建的链表中, 生成并緩存 RTP报文; 定时器, 用于进行计时;
判断模块, 用于判断所述定时器是否到达预定封装时间间隔;
处理模块, 用于在所述判断模块的判断结果为到达时,对所述链表中的在 所述预定封装时间间隔内生成的多个 RTP报文进行隧道封装, 得到隧道报文。
9、 如权利要求 7所述的装置, 其特征在于, 所述封装模块包括:
封装緩存模块, 用于在预先创建的链表中, 生成并緩存 RTP报文; 定时器, 用于进行计时;
判断模块, 用于判断所述定时器是否到达预定封装时间间隔, 其中, 所述 预定封装时间间隔的值小于或等于 200ms;
处理模块, 用于在所述判断模块的判断结果为到达时,对所述链表中的在 所述预定封装时间间隔内生成的多个 RTP报文进行隧道封装, 得到隧道报文。
10、 如权利要求 8所述的装置, 其特征在于, 所述处理模块包括: 拷贝模块, 用于从所述链表中取出所述多个 RTP报文, 并拷贝到一段连续 的内存空间中; 隧道协议头添加模块, 用于在所述内存空间的头部加入隧道协议头 Enc Header;
摘要信息计算添加模块, 用于对经所述隧道协议头添加模块加入了 Enc Header后的内存空间中的数据进行摘要计算,并将计算得到的摘要信息 HMAC 附加在所述加入了 Enc Header后的内存空间的尾部;
补齐信息添加模块,用于在所述摘要信息计算添加模块附加的 HMAC的后 面附加分组长度补齐信息 Tail;
加密单元, 用于当所述隧道为安全套接字层 SSL隧道或用户数据报协议 UDP隧道时, 对经所述补齐信息添加模块附加了 Tail后的内存空间中的数据进 行加密;
协议头添加模块, 用于当所述隧道为 SSL隧道时, 在经所述加密模块加密 后的内存空间的头部添加 SSL协议头, 形成 SSL记录单元; 当所述隧道为 UDP 隧道时, 在经所述加密模块加密后的内存空间的头部添加 UDP协议头, 形成 UDP>¾文体; 当所述隧道为超文本传输协议 HTTP隧道时, 在将经所述补齐信 息添加模块附加了 Tail后的内存空间的头部添加 HTTP协议头, 形成 HTTP消息 体;
TCP封装模块, 用于对所述协议头添加模块形成的记录单元进行 TCP封 装, 得到隧道报文, 其中, 所述记录单元为以下之一: SSL记录单元、 UDP报 文体、 HTTP消息体。
11、 如权利要求 7所述的装置, 其特征在于, 还包括:
接收模块, 用于接收所述对端通过所述隧道发来的隧道报文;
卸载模块, 用于对所述接收模块接收的隧道报文进行隧道解封装, 得到
RTP报文,其中,所述隧道报文包括记录单元,每个记录单元中封装有多个 RTP 报文。
12、 一种互联网协议多媒体子系统 IMS网络, 其特征在于, 包括 IMS终端 和安全隧道网关 STG, 其中, 所述 IMS终端和 STG为如权利要求 7至 11中任一项 所述的装置。
PCT/CN2012/071722 2011-02-28 2012-02-28 互联网协议多媒体子系统网络、数据传输方法和装置 WO2012116628A2 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP12752434.6A EP2584744B1 (en) 2011-02-28 2012-02-28 Ims network, and data transmission method and device
US13/786,230 US9338189B2 (en) 2011-02-28 2013-03-05 Internet protocol multimedia subsystem network, and data transmission method and apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201110047670.5 2011-02-28
CN2011100476705A CN102118292B (zh) 2011-02-28 2011-02-28 互联网协议多媒体子系统网络、数据传输方法和装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/786,230 Continuation US9338189B2 (en) 2011-02-28 2013-03-05 Internet protocol multimedia subsystem network, and data transmission method and apparatus

Publications (2)

Publication Number Publication Date
WO2012116628A2 true WO2012116628A2 (zh) 2012-09-07
WO2012116628A3 WO2012116628A3 (zh) 2012-11-01

Family

ID=44216896

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2012/071722 WO2012116628A2 (zh) 2011-02-28 2012-02-28 互联网协议多媒体子系统网络、数据传输方法和装置

Country Status (4)

Country Link
US (1) US9338189B2 (zh)
EP (1) EP2584744B1 (zh)
CN (1) CN102118292B (zh)
WO (1) WO2012116628A2 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102118292B (zh) 2011-02-28 2013-07-10 华为数字技术(成都)有限公司 互联网协议多媒体子系统网络、数据传输方法和装置
CN102932359B (zh) * 2012-11-08 2015-07-29 华为软件技术有限公司 流媒体服务请求方法、装置和系统
US10063590B1 (en) * 2015-04-23 2018-08-28 Amazon Technologies, Inc. Secure message protocol
US10341311B2 (en) * 2015-07-20 2019-07-02 Schweitzer Engineering Laboratories, Inc. Communication device for implementing selective encryption in a software defined network
US10425450B2 (en) * 2016-02-27 2019-09-24 Ofinno, Llc Mission critical communications
CN109417515A (zh) * 2016-07-04 2019-03-01 瑞典爱立信有限公司 用于处理互联网协议分组的方法、装置和系统
CN107222793B (zh) * 2017-05-05 2019-11-19 浙江大华技术股份有限公司 一种数据传输的方法及装置
CN108881114B (zh) * 2017-05-10 2020-12-29 上海交通大学 一种用于stl/sfn传输的rtp协议封装方法
CN109802928B (zh) * 2017-11-17 2021-09-17 中兴通讯股份有限公司 一种ssl/tls代理方法、装置、设备及存储介质
CN108173863B (zh) * 2017-12-29 2021-08-17 深圳市泛海三江科技发展有限公司 建立适用于物联网设备的轻量级WebRTC系统的方法和系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1404058A2 (en) 2002-09-30 2004-03-31 NEC Infrontia Corporation Reduction of the packet header overhead of real-time data in a wireless LAN by encapsulation of multiple RTP packets into one single packet
US20080285463A1 (en) 2007-05-14 2008-11-20 Cisco Technology, Inc. Tunneling reports for real-time internet protocol media streams

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100279620B1 (ko) * 1998-10-13 2001-02-01 구자홍 멀티 채널 음성 데이터 제어 방법 및 장치
US7002993B1 (en) * 2000-08-18 2006-02-21 Juniper Networks, Inc. Method and apparatus providing media aggregation in a packet-switched network
US6618397B1 (en) * 2000-10-05 2003-09-09 Provisionpoint Communications, Llc. Group packet encapsulation and compression system and method
IL149165A (en) * 2002-04-15 2006-12-10 Veraz Networks Ltd Method and device for efficient transfer of VOIP traffic
US7609723B2 (en) * 2003-05-23 2009-10-27 Intel Corporation Packet combining on PCI express
JP2006261935A (ja) * 2005-03-16 2006-09-28 Nec Corp パケット伝送方法および装置
US8160000B2 (en) * 2006-06-08 2012-04-17 Qualcomm Incorporated Achieving power savings through packet grouping
CN101022405B (zh) * 2006-06-23 2010-08-25 华为技术有限公司 一种通用成帧规程封装方法
CN101127731A (zh) * 2006-08-18 2008-02-20 华为技术有限公司 Ip多媒体业务子系统中传递短消息的方法、设备及系统
CN101388825B (zh) * 2007-09-12 2012-02-01 华为技术有限公司 一种传输gprs隧道协议数据包的方法和设备
CN101420369A (zh) * 2007-10-24 2009-04-29 华为技术有限公司 通用分组无线业务隧道协议报文传输方法、系统及设备
US8544080B2 (en) * 2008-06-12 2013-09-24 Telefonaktiebolaget L M Ericsson (Publ) Mobile virtual private networks
FR2939993B1 (fr) * 2008-12-12 2010-12-17 Canon Kk Procede de transmission d'un flux de donnees multi-canal sur un tunnel multi-transport, produit programme d'ordinateur, moyen de stockage et tetes de tunnel correspondantes
US8484331B2 (en) * 2010-11-01 2013-07-09 Cisco Technology, Inc. Real time protocol packet tunneling
CN102118292B (zh) * 2011-02-28 2013-07-10 华为数字技术(成都)有限公司 互联网协议多媒体子系统网络、数据传输方法和装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1404058A2 (en) 2002-09-30 2004-03-31 NEC Infrontia Corporation Reduction of the packet header overhead of real-time data in a wireless LAN by encapsulation of multiple RTP packets into one single packet
US20080285463A1 (en) 2007-05-14 2008-11-20 Cisco Technology, Inc. Tunneling reports for real-time internet protocol media streams

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2584744A4

Also Published As

Publication number Publication date
US9338189B2 (en) 2016-05-10
EP2584744B1 (en) 2015-09-23
EP2584744A4 (en) 2013-09-25
WO2012116628A3 (zh) 2012-11-01
EP2584744A2 (en) 2013-04-24
CN102118292B (zh) 2013-07-10
CN102118292A (zh) 2011-07-06
US20130188644A1 (en) 2013-07-25

Similar Documents

Publication Publication Date Title
WO2012116628A2 (zh) 互联网协议多媒体子系统网络、数据传输方法和装置
US11671868B2 (en) Methods and apparatus for optimizing tunneled traffic
JP5969689B2 (ja) リアルタイム通信のための冗長性
US10021594B2 (en) Methods and apparatus for optimizing tunneled traffic
US10911413B2 (en) Encapsulating and tunneling WebRTC traffic
US20090013078A1 (en) Optimized Signaling Protocol, Including Session Initiation Protocol (SIP), in a Communications Environment
US9609035B2 (en) Compressed headers for encapsulated real-time communications
US10630656B2 (en) System and method of encrypted media encapsulation
JP4044845B2 (ja) 無線データ通信のための圧縮方法、送信機及び受信機
WO2009109128A1 (zh) 一种完全头部信息报文配置的方法和装置
JP2010226688A (ja) 無線通信システム、送信側装置、受信側装置、及び通信方法
US9762412B2 (en) Redundant traffic encoding of encapsulated real time communications
WO2014100973A1 (zh) 视频处理方法、设备及系统
TW201408043A (zh) 串流操作系統及串流傳輸方法
WO2012057703A1 (en) Reduced size real time protocol header
WO2010075794A1 (zh) 一种压缩复用报文处理方法及装置
Menon et al. Fast connect procedure for Session Initiation Protocol using cached credentials
CN116233275A (zh) 一种网上巡查系统的大数据安全传输的分包重组方法
Li et al. Improved IPsec performance utilizing transport‐layer‐aware compression architecture
CN116032689A (zh) 基于隧道的报文传输方法、客户端网关设备
Ciubotaru et al. Network communications protocols and services
JP2018160780A (ja) ノード装置、転送方法及び転送プログラム
Chong et al. Performance Evaluation of VOIP Multi-Frame Packing with RObust Header Compression (ROHC) for WiMAX Network

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12752434

Country of ref document: EP

Kind code of ref document: A2

WWE Wipo information: entry into national phase

Ref document number: 2012752434

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE