The present disclosure relates to the communication field, and in particular, to a method and apparatus for transferring an IP transmission session.
With the rapid development of the Internet, the Internet Protocol version 4 (IPv4) suffers from the shortage of address length. Therefore, the Internet Protocol version 6 (IPv6) attracts more and more attention and is put into the spotlight. The IPv6 is a 2nd generation standard protocol of the network-layer protocol, and is also known as IP next generation (IPng). It is a set of specifications designed by the Internet Engineering Task Force (IETF), and is an upgrade from the IPv4. The length of an IP address in IPv6 is upgraded from 32 bits to 128 bits, thus overcoming the shortage of IPv4 addresses. The IPv6 makes many other improvements other than the enormous address space as against IPv4.
The transfer from an IPv4 network to an IPv6 network is a gigantic project, and will not be accomplished in a short term. Therefore, both IPv4 and IPv6 networks may coexist in the long term.
Currently, there are numerous network-based applications. For such applications, being adaptive to a new network communication protocol is a massive project which cannot be accomplished in a short term. Therefore, running old unreconstructed network applications on the new IPv6 network becomes an enormous potential requirement in practice.
A method for transferring an IP transmission session disclosed in an embodiment of the present disclosure includes:
creating a transmission session based on a single IP protocol between a first node and a second node;
obtaining, by the first node and second node, a transferable address pair by exchanging session transfer management signaling;
detecting bidirectional reachability for the transferable address pair, and obtaining an available transferable address pair; and
transferring the transmission session by using the available transferable address pair.
An apparatus for transferring an IP transmission session disclosed in an embodiment of the present disclosure includes:
a transport-layer unit, configured to receive a packet from the application layer, encapsulate the packet on the transport layer, and transmit the packet to the IP endpoint sub-layer unit;
an IP endpoint sub-layer unit, configured to receive the packet from the transport-layer unit, perform endpoint function processing for the packet, and transmit the packet to the IP session transfer sub-layer unit;
an IP session transfer sub-layer unit, configured to receive the packet from the IP endpoint sub-layer unit, perform session transfer processing for the packet, and transmit the packet to the IP route sub-layer unit; and
an IP route sub-layer unit, configured to receive the packet from the IP session transfer sub-layer unit, perform route processing for the packet, and transmit the packet to the link layer.
An apparatus for transferring an IP transmission session disclosed in another embodiment of the present disclosure includes:
an IP route sub-layer unit, configured to receive a packet from the link layer, perform route processing for the packet, and transmit the packet to the IP session transfer sub-layer unit;
an IP session transfer sub-layer unit, configured to receive the packet from the IP route sub-layer unit, perform session transfer processing for the packet, and transmit the packet to the IP endpoint sub-layer unit; and
an IP endpoint sub-layer unit, configured to receive the packet from the IP session transfer sub-layer unit, perform endpoint function processing for the packet, and transmit the packet to the transport-layer unit; and
a transport-layer unit, configured to receive the packet from the IP endpoint sub-layer unit, decapsulate the packet on the transport layer, and transmit the packet to the application layer.
An apparatus for transferring an IP transmission session disclosed in another embodiment of the present disclosure includes:
a transport-layer unit, configured to receive a packet from the application layer, encapsulate the packet on the transport layer, decapsulate the received packet on the transport layer, and transmit the packet to the application layer;
an IP endpoint sub-layer unit, configured to receive the encapsulated packet from the transport-layer unit, perform endpoint function processing for the received packet, and transmit the packet to the transport-layer unit;
an IP session transfer sub-layer unit, configured to receive the packet which has undergone the endpoint function processing from the IP endpoint sub-layer unit, perform session transfer processing for the received packet, and transmit the packet to the IP endpoint sub-layer unit; and
an IP route sub-layer unit, configured to receive the packet which has undergone the session transfer processing from the IP session transfer sub-layer unit, perform route processing for the packet and transmit the packet to the link layer, receive the packet from the link layer, perform route processing for the received packet, and transmit the packet to the IP session transfer sub-layer unit.
The embodiments of the present disclosure enable a transmission session to be transferred between different types of IP networks. Even if the transport layer does not support IPv6, the end-to-end IPv6 communication may also be enabled, thus satisfying the requirements raised in the evolution from IPv4 to IPv6. The embodiments of the present disclosure support traffic engineering between IPv4 and IPv6. The technical solution under the present disclosure enables backup of a link between dual-stack nodes, thus enhancing communication reliability.
The present disclosure is hereinafter described in detail with reference to embodiments and accompanying drawings.
A method for transferring a session in a hybrid IP network, namely, a network where IPv4 coexists with IPv6, is provided in an embodiment of the present disclosure to enable transfer of an end-to-end transmission session between different IP networks without affecting continuity of the session.
(A) A transmission session is created between node 1 and node 2 based on a single IP protocol such as IPv4 or IPv6 by exchanging the transmission signaling, where the session may also be connected through a TCP or UDP protocol.
(B) Node 1 exchanges the session transfer management signaling with node 2 to obtain the transferable address pair, and the corresponding transfer method and priority.
(C) Reachability detection signaling is applied to check whether the foregoing transferable address pair is reachable in both directions. The transferable address pair is available if reachable in both directions, and is not available if unreachable in either direction. As a result, an available transferable address pair is obtained. In this process, the speed and bandwidth may be detected, and the detection results (for example, availability, priority information which is set based on speed and bandwidth) are marked in the corresponding transferable address pair.
(D) The session is transferred by using the available transferable address pair. Generally, as implied by some factors such as traffic engineering or link failure, the IP session transfer sub-layer takes effect, and an available transferable address pair with higher priority is selected to transfer the session.
The session transfer management signaling is exchanged in order to obtain a transferable address pair. Supposing two communication nodes A and B, node A has an IPv4 address “A4”, and has IPv6 addresses “A6′” and “A6″”B; accordingly, node B has an IPv4 address “B4”, and has IPv6 addresses “B6′” and “B6″”. A transmission session is created between node A and node B through A4 and B4. The session transfer management signaling may be designed to enable both parties to discover the peer's IPv6 address mutually. The transferable address pairs (A6′, B6′), (A6′, B6″), (A6″, B6′), and (A6″, B6″) are created, and the corresponding address pair attributes (for example, transfer method, priority, speed, and bandwidth of the transferable address pair) are created for each transferable address pair. The priority may be determined according to the speed and bandwidth, or specified by the user.
In practice, the session transfer management signaling may be managed manually or automatically. If the signaling is managed manually, the candidate address pairs for communicating with the peer on the two dual-stack nodes manually configured. The information such as priority, transfer method, speed and bandwidth may be marked in the candidate address pairs.
(B1) Node 1 sends an initialization Probe message to node 2 to check whether node 2 supports session transfer. If node 2 does not respond in a within a predetermine time period, node 2 may not support transfer in a hybrid network. This message may include the original address pair of the transmission session, namely, the address pair of the transmission session created between node 1 and node 2, and a local label which marks the state and environment of the session transfer.
(B2) After receiving the initialization Probe message, node 2 sends an initialization Response message to node 1, where the message carries the original address pair of the transmission session.
(B3) After receiving the initialization Response message, node 1 sends an address exchange message to node 2, where the message carries a candidate address list of node 1, and may also carry other information such as priority, supported session transfer method, and a local label which marks the state and environment of the session transfer.
(B4) After receiving the address exchange message, node 2 returns an address exchange message to node 1, where the returned message carries a candidate address list of node 2, and may also carry other information such as priority, supported session transfer method, and a local label which marks the state and environment of the session transfer.
Upon completion of message exchange in the foregoing four steps, the transferable address pairs of node 1 and node 2 are obtained.
Because the session transfer works on the IP sub-layer, the session transfer management signaling also works on the IP sub-layer. The session transfer management signaling may be carried over the Internet Control Message Protocol (ICMP), as shown in Table 1.
In the bearer format shown in Table 1, the Type value may be assigned by the Internet Assigned Number Authority (IANA), and the Code value may be defined according to different signaling messages. The message options include the content carried by the signaling.
The session transfer management signaling may also be carried by defining a new IP protocol number such as an extension header. Taking the IPv6 bearer header of the transfer signaling as an example, the format of the extension header is shown in Table 2.
In the format of the IPv6 bearer header of the transfer signaling shown in Table 2, “Next Header” indicates the protocol number of the header next to this header; “Hdr Ext Len” indicates the length of the header; “P” is a flag which identifies whether the packet is a load packet or a signaling control packet; “Type” indicates the message type; and “Type-specific format” includes the message-specific content. When the value of P is 1, the information subsequent to P is a conversion label and its relevant information, and does not include “Type”, “Type-specific” and “Checksum” any more. The signaling bearer header format of the IPv4 is similar to that of IPv6, and is not repeated here any further.
The transferable address pair is obtained through the session transfer management signaling so that the address pair is available for selecting at the time of session transfer. However, the transferable address pair may be further checked for bidirectional reachability. Therefore, a reachability detection protocol, such as Internet Control Message Protocol (ICMP) may be used for detecting the bidirectional reachability of the transferable address pair.
Session transfer may be performed through tunnel transfer or label transfer.
after receiving a packet from the application layer, the transport layer encapsulates the packet, and transmits the packet downstream to the IP endpoint sub-layer;
after receiving the packet from the transport layer, the IP endpoint sub-layer performs endpoint function processing, for example, fragmentation, security encryption and original IP encryption, and then transmits the processed packet to the IP session transfer sub-layer;
after receiving the packet from the IP endpoint sub-layer, the IP session transfer sub-layer performs tunnel encapsulation for the packet according to the preferred session transfer address pair, and then transmits the packet to the IP route sub-layer. In this step, the tunnel encapsulation may be performed through IP over IP, or Generic Routing Encapsulation (GRE); and
after receiving the packet, the IP route sub-layer performs normal route processing for the tunnel header, and then transmits it to the link layer.
The foregoing process is a session transfer process in the packet transmitting direction; the session transfer process in the packet receiving direction is the inverse of the foregoing process, including:
after receiving the packet from the link layer, the IP route sub-layer performs normal route processing for the tunnel header of the packet, and then transmits the packet to the IP session transfer sub-layer;
after receiving the packet from the IP route sub-layer unit, the IP session transfer sub-layer performs tunnel decapsulation for the packet, and then transmits the packet to the IP endpoint sub-layer;
after receiving the packet from the IP session transfer sub-layer, the IP endpoint sub-layer performs endpoint function processing for the packet such as defragmentation, decryption, and decapsulation, and then transmits the packet to the transport layer;
after receiving the packet from the IP endpoint sub-layer, the transport layer decapsulates the packet, and transmits the packet to the application layer.
after receiving a packet from the application layer, the transport layer encapsulates the packet, and transmits the packet downstream to the IP endpoint sub-layer;
after receiving the packet from the transport layer, the IP endpoint sub-layer performs endpoint function processing for the packet such as fragmentation, security encryption, and original IP encapsulation, and then transmits the packet to the IP session transfer sub-layer;
after receiving the packet from the IP endpoint sub-layer, the IP session transfer sub-layer applies the preferred session transfer address pair to replace the original IPv4/IPv6 header with IPv6/IPv4 header, inserts a new extension header after the converted IP header, and then transmits the packet to the IP route sub-layer. In this step, the extension header may be in the format shown in Table 2, and includes a conversion label and some transmitter-side original information which is lost in this conversion but needs to be authenticated at the receiver; and
after receiving the packet from the IP session transfer sub-layer, the IP route sub-layer performs normal route processing for the substituted IPv6/IPv4 header, and then transmits the packet to the link layer.
The foregoing process is a session transfer process in the packet transmitting direction. The session transfer process in the packet receiving direction is the inverse of the foregoing process. That is, after receiving the packet from the IP route sub-layer, the IP session transfer sub-layer applies the label and conversion information carried in the packet to restore the original IP header, and transmits the packet to the IP endpoint sub-layer.
a transport-layer unit 701, configured to receive a packet from the application layer, encapsulate the packet on the transport layer, and transmit the packet to the IP endpoint sub-layer unit 702;
an IP endpoint sub-layer unit 702, configured to receive the packet from the transport layer unit 701, perform endpoint function processing for the packet such as fragmentation, security encryption, and original IP encapsulation, and then transmit the processed packet to the IP session transfer sub-layer unit 703;
an IP session transfer sub-layer unit 703, configured to receive the packet from the IP endpoint sub-layer unit 702, perform session transfer processing for the packet, and transmit the packet to the IP route sub-layer unit 704; and
an IP route sub-layer unit 704, configured to receive the packet from the IP session transfer sub-layer unit 703, perform route processing for the packet, and transmit the packet to the link layer.
Alternatively, The apparatus includes:
an IP route sub-layer unit 704, configured to receive a packet from the link layer, and perform route processing for the packet; or receive a packet from the link layer, perform route processing for the packet, and then transmit the packet to the IP session transfer sub-layer unit 703;
an IP session transfer sub-layer unit 703, configured to receive the packet from the IP route sub-layer unit 704, perform session transfer processing for the packet, and transmit the packet to the IP endpoint sub-layer unit 702;
an IP endpoint sub-layer unit 702, configured to receive the packet from the IP session transfer sub-layer unit 703, perform endpoint function processing for the packet such as defragmentation, decryption, and decapsulation, and then transmit the processed packet to the transport-layer unit 701; and
a transport-layer unit 701, configured to receive the packet from the IP endpoint sub-layer unit 702, decapsulate the packet on the transport layer, and transmit the packet to the application layer.
As shown in
a packet processing module of IP session transfer sub-layer 7031, configured to: receive a packet from the IP endpoint sub-layer unit 702, and search the transfer environment state table according to the source address and destination address of the packet; submit the packet to the network layer route processing module directly if no corresponding state table entry is found; or perform tunnel encapsulation or packet header processing if the corresponding state table entry is found;
alternatively, the packet processing module of IP session transfer sub-layer 7031 is configured to: receive a packet from the IP route sub-layer unit 704, search the transfer environment state table according to the source address and destination address; perform tunnel decapsulation or restore the packet header if the corresponding table entry is found; or transmit the packet to the IP endpoint sub-layer processing unit 702 directly if no corresponding table entry is found;
a signaling module of IP session transfer sub-layer 7032, configured to obtain a transferable address pair;
an reachability detecting module of IP session transfer sub-layer 7033, configured to detect bidirectional reachability for the obtained transferable address pair; and
an environment state maintaining module of IP session transfer sub-layer 7034, configured to maintain the transfer environment state table according to the bidirectional reachability detection result and the transferable address pair.
The embodiments of the present disclosure enable a transmission session to be transferred between different types of IP networks. Even if the transport layer does not support IPv6, the end-to-end IPv6 communication is also enabled, thus satisfying the requirements raised in the evolution from IPv4 to IPv6. The embodiments of the present disclosure support traffic engineering between IPv4 and IPv6, and can be used for link backup of the dual-stack node, thus enhancing reliability of communication.
Although the disclosure has been described through several exemplary embodiments, the disclosure is not limited to such embodiments. It is apparent that those skilled in the art can make various modifications and variations to the disclosure without departing from the spirit and scope of the disclosure. The disclosure is intended to cover the modifications and variations provided that they fall in the scope of protection of the present disclosure.
Number | Date | Country | Kind |
---|---|---|---|
200710072911.5 | Jan 2007 | CN | national |
This application is a continuation of international application number PCT/CN2007/071223, filed on Dec. 12, 2007, which claims priority to the Chinese Patent Application No. 200710072911.5, filed with the Chinese Patent Office on Jan. 4, 2007, and entitled “Method and Apparatus for Transferring IP Transmission Session”, the contents of both of which are incorporated herein by reference in their entirety.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/CN2007/071223 | Dec 2007 | US |
Child | 12421041 | US |