The present application is a US National Stage of International Application No. PCT/CN2010/072187, filed 26 Apr. 2010, designating the United States, and claiming priority to Chinese Patent Application No. 200910082982.2 filed 27 Apr. 2009.
FIELD OF THE INVENTION
The present invention relates to the field of mobile communications and particularly to a PMIPv6 (Proxy Mobile Internet Protocol) based data transmission technology.
BACKGROUND OF THE INVENTION
Along with evolvement of a network from the IPv4 (Internet Protocol version 4) to the IPv6, the Internet Engineering Task Force (IETF) has established the Mobile Internet Protocol (MIP) in order to support a mobility IPv6 access of a terminal. The MIPv6 relates to three entities, i.e., a Mobile Node (MN), a Home Agent (HA) and a Correspondent Node (CN). When the MN is located in the home network, the MN communicates with the CN by using a Home of Address (HoA). When the MN moves to a foreign network, the MN has the HoA in the home network unchanged and is also provided with a temporary IP address allocated in the foreign network, i.e., a Care of Address (CoA). The MN registers with the HA in a Binding Update (BU) process and notifies the HA of a mapping relationship between the HoA and the CoA, and the HA maintains a binding list between the HoA and the CoA. After the HA accepts registration of the MN, data packet transmitted from the CN to the MN is encapsulated by the HA without changing an inner-layer address of an encapsulated data packet, that is, the inner-layer source address is the address of the CN and the inner-layer destination address is the HoA, and the outer-layer source address is the address of the HA and the outer-layer destination address is the CoA, and the HA forwards the encapsulated data packet to the MN through a tunnel; and the MN transmits a data packet to the CN with the outer-layer source address being the CoA and the outer-layer destination address being the address of the HA, and the inner-layer source address being the HoA and the inner-layer destination address being the address of the CN, and the HA de-encapsulates the data packet upon reception of the data packet transmitted through a reverse tunnel from the MN and forwards the de-encapsulated data packet to the CN. The HA forwards the data packet of the MN in a communication mode referred to as a bidirectional tunnel model.
The Proxy Mobile IPv6 (PMIPv6) refers to an extension to the MIPv6 and differs from the MIPv6 in that a Mobile Access Gateway (MAG) emulates the home network by notifying the hosted MN of the prefix of the home network so that the MN believes that it is located in the home network all the time; and the MAG registers with a Local Mobility Anchor (LMA) capable of functioning as the home agent, on behalf of the MN in a Proxy Binding Update (PBU) process, and finally a bidirectional tunnel between the MAG and the LMA is established for transmitting a data packet of the MN with the interface address of the MAG being the CoA.
In an existing PMIPv6-based data transmission flow as illustrated in FIG. 1, the MN transmits a Router Solicitation message to the hosting MAG after accessing the PMIPv6 domain in an attachment process; the MAG registers with the LMA on behalf of the MN by transmitting a Proxy Binding Update (PBU) message to the LMA and notifies the LMA of a mapping relationship between the interface address of the MAG and address information of the MN; the LMA accepts registration of the MAG on behalf of the MN, stores in a Binding Cache Entry (BCE) the mapping relationship between the address information of the MN and the interface address of the MAG and returns a Proxy Binding Ack (PBA) message to the MAG; the MAG returns a Router Advertisement message to the MN upon reception of the PBA message, which indicates successful establishment of a bidirectional tunnel between the MAG and the LMA; and subsequently a data packet of the MN is transmitted over the bidirectional tunnel established between the MAG and the LMA.
The inventors have identified that in the existing 3GPP Long-Term Evolvement (LTE) system, a separate GTP-U tunnel may be created for each PDP Context/EPS Bearer of the terminal and a Service Data Flow (SDF) may be bound to the GTP-U tunnel corresponding to the PDP Context/EPS Bearer to thereby enable distinguishing and charging control based upon the service data flow. In a MIPv6-based multi-connection (Monami) scenario, the HoA of the MN is allowed to be bound with a plurality of CoAs, and then one or more flows are bounded onto one of the CoAs to thereby forward the different flows onto different network interfaces. However, data packets of the MN cannot be distinguished and controlled based on the service flow in the existing PMIPv6-based data transmission solution.
SUMMARY OF THE INVENTION
Embodiments of the invention provide a PMIPv6-based data transmission method and system to address the problem that data packets of an MN cannot be distinguished and controlled based on a service flow in the existing PMIPv6-based data transmission solution.
Accordingly the embodiments of the invention provide a Mobile Access Gateway, MAG, and a Local Mobility Anchor, LMA.
A PMIPv6-based data transmission method according to an embodiment of the invention includes:
establishing, by a Mobile Access Gateway, MAG, and a Local Mobility Anchor, LMA, a bidirectional tunnel based upon binding of a service flow through interaction of messages after a Mobile Node, MN, initiates the service flow, wherein a downlink Generic Routing Encapsulation, GRE, key and an uplink GRE key are allocated to the service flow and the LMA adds a binding relationship between a service flow identifier (ID) of the service flow and address information of the MN during establishment of the bidirectional tunnel; and
transmitting, by the MAG and the LMA, a data packet of the service flow initiated by the MN over the bidirectional tunnel according to the service flow identifier, the binding relationship, and the uplink and downlink GRE keys.
A PMIPv6-based data transmission system according to an embodiment of the invention includes a Mobile Access Gateway, MAG, and a Local Mobility Anchor, LMA, wherein:
the MAG and the LMA are configured to establish a bidirectional tunnel based upon binding of a service flow through interaction of messages after a Mobile Node, MN, initiates the service flow, wherein a downlink Generic Routing Encapsulation, GRE, key and an uplink GRE key are allocated to the service flow and the LMA is further configured to add a binding relationship between a service flow identifier of the service flow and address information of the MN during establishment of the bidirectional tunnel; and
the MAG and the LMA are further configured to transmit a data packet of the service flow initiated by the MN over the bidirectional tunnel according to the service flow identifier, the binding relationship and the uplink and downlink GRE keys.
A Mobile Access Gateway, MAG, according to an embodiment of the invention includes:
a sending unit configured to transmit to a Local Mobility Anchor, LMA, a first proxy binding update message instructing to add binding of a service flow upon reception of a first data packet of the service flow initiated by a Mobile Node, MN, wherein the first proxy binding update message includes a service flow identifier generated for the service flow and a downlink Generic Routing Encapsulation, GRE, key allocated to the service flow;
a reception unit configured to receive a first proxy binding ack message returned from the LMA in response to the first proxy binding update message, wherein the first proxy binding ack message includes the service flow identifier and an uplink GRE key allocated to the service flow; and
a transmission unit configured to transmit a data packet of the service flow over a bidirectional tunnel established, based upon binding of the service flow, with the LMA, according to the service flow identifier and the uplink and downlink GRE keys.
A Local Mobility Anchor, LMA, according to an embodiment of the invention includes:
a reception unit configured to receive a first proxy binding update message transmitted from a Mobile Access Gateway, MAG, to instruct to add binding of a service flow, wherein the first proxy binding update message includes a service flow identifier generated for the service flow and a downlink Generic Routing Encapsulation, GRE, key allocated to the service flow;
a binding processing unit configured to add a binding relationship between the service flow identifier and address information of an MN according to the received first proxy binding update message and return to the MAG a first proxy binding ack message including the service flow identifier and an uplink GRE key allocated to the service flow; and
a transmission unit configured to transmit a data packet of the service flow over a bidirectional tunnel established, based upon binding of the service flow, with the MAG, according to the service flow identifier, the binding relationship, and the uplink and downlink GRE keys.
In the PMIPv6-based data transmission method, system and related network devices according to the embodiments of the invention, the MAG and the LMA establish a bidirectional tunnel based upon binding of a service flow through interaction of messages after an MN initiates the service flow, where a downlink GRE key and an uplink GRE key are allocated to the service flow and the LMA adds a binding relationship between a service flow identifier of the service flow and address information of the MN during establishment of the bidirectional tunnel, and then the bidirectional tunnel has been established successfully between the MAG and the LMA, and the service flow is bound with the address information of the MN through an operation of adding binding of the service flow; and the MAG and the LMA transmit a data packet of the service flow initiated by the MN over the bidirectional tunnel between the MAG and the LMA according to the service flow identifier, the binding relationship, and the uplink and downlink GRE keys to thereby distinguish and control data packets based on a service flow.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a flow chart of PMIPv6-based data transmission in the prior art;
FIG. 2 is a schematic diagram of a format of a PBU message in the prior art;
FIG. 3 is a schematic diagram of a format of a service flow identification option according to an embodiment of the invention;
FIG. 4 is a schematic diagram of a format of a transport level description according to an embodiment of the invention;
FIG. 5 is a flow chart of a PMIPv6-based data transmission method according to an embodiment of the invention;
FIG. 6 is a block diagram of a PMIPv6-based data transmission system according to an embodiment of the invention;
FIG. 7 is a block diagram of a possible structure of an MAG according to an embodiment of the invention; and
FIG. 8 is a block diagram of a possible structure of an LMA according to an embodiment of the invention.
DETAILED DESCRIPTION OF THE EMBODIMENTS
In view of the problem that data packets of an MN cannot be distinguished and controlled based on a service flow in the existing PMIPv6-based data transmission solution, an improved PMIPv6-based data transmission flow is adapted in embodiments of the invention by defining a new service flow identification option and adding the new service flow identification option into a PBU message and a PBA message to distinguish and control data packets of an MN based on a service flow.
Referring to FIG. 2, a format of an existing PBU message includes fields (domains) of Sequence#, Lifetime, and Mobility Options, where the name, length and means of each of the fields (domains) included in the PBU message are as illustrated in Table.1. A PBA message also includes the field of Mobility Options, and a specific format of the message is not repeated here.
TABLE 1 |
|
Field (domain) |
Length (bit) |
Meaning |
|
|
Sequence # |
16 |
Sequence number with a logically |
|
|
monotonously incremented value |
A |
|
1 |
It is set as 1 to indicate that |
|
|
returning a PBA message is required |
H |
1 |
Require a receiving node to function |
|
|
as a home agent of the mobile node |
L |
|
1 |
Compatibility of a local address of a link |
K |
|
1 |
Key management mobility |
M |
|
1 |
It is set as 1 to indicate that the binding |
|
|
update relates to MAP registration |
R |
|
1 |
It is set as 1 to indicate that the binding |
|
|
update originates from a mobile router |
P |
|
1 |
It is set as 1 to indicate that the binding |
|
|
update relates to proxy registration |
Lifetime |
16 |
Lifetime |
Mobility |
Variable |
Include zero or several mobility options in |
Options |
length |
the TLV format |
|
A new service flow identification option is added into the PBU message and the PBA message as one of the options included in the Mobility Options. The service flow identification option defines a Service Flow ID of an MN and also may define either or both of a transport level description and an application level description of the service flow so that a message receiver can know the ID of the service flow and further know related attributes of the service flow.
Referring to FIG. 3, a format of the service flow identification option includes fields (domains) of Service Flow ID, Status, Operation Instruction (PRO), Option Type, Option Length (Option Len), and Reserved.
The field of Service Flow ID represents a unique identifier of the service flow.
The field of Status is enabled in the PBA message to represent a successful or failing operation of binding the service flow.
The field of Operation Instruction (PRO) represents various operations to be performed on binding of the service flow, e.g., an operation of adding binding of a service flow, an operation of deleting binding of a service flow, or an operation of modifying binding of a service flow.
Optionally, the service flow identification option may further include an application level description option for describing application level attributes of the service flow, e.g., a service ID, and an application level protocol in use.
Optionally, the service flow identification option may further include a transport level description option for describing a packet filter attribute of the service flow, and referring to FIG. 4, a format of the transport level description option includes the fields (domains) of Option Type, Option Length (Option Len), Reserved, Type, and Transport Level Description. Different values of the field of Type may represent different combinations of the packet filter attributes. By way of an example, three valid combinations of the packet filter attributes, each of which corresponds to a value of the field of Type, are presented in Table 2. In a specific implementation, a combination of the packet filter attributes may include one or any combination of the attributes of Destination IP Address, Port Range, Flow Label, IPSec Security Parameter Index, Protocol ID of the protocol above IP, and Type of Service/Traffic class and Mask.
Both the transport level description option and the application level description option are variable in length.
TABLE 2 |
|
The field |
|
of Type |
The field of Transport level description |
|
0 |
Destination IP Address; Source Port Range; Destination |
|
Port Range; Protocol ID of the protocol above IP; Type |
|
of Service (TOS) (IPv4)/Traffic class (IPv6) and Mask |
1 |
Destination IP Address; Protocol ID of the protocol |
|
above IP; Type of Service (TOS) (IPv4)/Traffic class |
|
(IPv6) and Mask; IPSec Security Parameter Index (SPI) |
2 |
Destination IP Address; Type of Service (TOS) (IPv4)/ |
|
Traffic class (IPv6) and Mask; Flow Label (IPv6) |
|
Based upon the new service flow identification option, an embodiment of the invention provides a PMIPv6-based data transmission method including: an MAG and an LMA establish a bidirectional tunnel based upon binding of a service flow through interaction of messages after an MN initiates the service flow, where a downlink GRE Key and an uplink GRE Key are allocated to the service flow and the LMA adds a binding relationship between a service flow ID of the service flow and address information of the MN during establishment of the bidirectional tunnel; and the MAG and the LMA transmit a data packet of the service flow initiated by the MN over the established bidirectional tunnel according to the service flow ID, the binding relationship, and the uplink and downlink GRE Keys.
The foregoing method may be particularly illustrated in FIG. 5 and include the following steps.
S501. An MAG transmits to an LMA a PBU message instructing to add binding of a service flow (referred to as a first PBU message for the sake of distinguishing) upon reception of a first data packet of the service flow initiated by an MN, where the first PBU message includes a service flow ID generated for the service flow and a downlink Generic Routing Encapsulation (GRE) Key allocated to the service flow.
In a specific implementation, the service flow identification option included in the first PBU message includes: Service Flow ID and PRO field, where the Service Flow ID represents the sequence number of the service flow and is logically monotonously incremented for each service flow initiated by the MN, and the Service Flow ID takes the value of 0 for a first service flow initiated by the MN, 1 for a second service flow initiated by the MN, and so on, and the PRO field may take the value of 0 to represent addition of binding of a service flow. The first PBU message may further include either or both a transport level description option and an application level description option to describe related attributes of the service flow.
S502: The LMA adds a binding relationship between the service flow ID and address information of the MN according to the received first PBU message and returns to the MAG a PBA message (referred to as a first PBA message for the sake of distinguishing), which includes the service flow ID and an uplink GRE Key allocated to the service flow.
Like the prior art, the MAG registers with the LMA on behalf of the MN by transmitting the PBU message to the LMA and notifies the LMA of a mapping relationship between the interface address of the MAG and the address information of the MN. Since the PBU message is extended and the service flow identification option is added, the LMA adds corresponding binding information of the service flow, i.e., the binding relationship between the service flow ID and the address information of the MN, according to the first PBU message, and the binding relationship between the service flow ID and the address information of the MN may be buffered in a local binding cache entry, where the address information of the MN may be an IP address or prefix of the MN. Like the PBU message, the PBA message may also include either or both of a transport level description option and an application level description option to describe related attributes of the service flow. The Generic Routing Encapsulation (GRE) refers to tunneling adopted for the mobility IP to allow a data packet in one protocol to be encapsulated in a payload of a data packet in another protocol.
Then a bidirectional tunnel has been established successfully between the MAG and the LMA, and the service flow has been bound to the address information of the MN through an operation of adding binding of the service flow to thereby facilitate distinguishing and control of data packets based on a service flow.
S503. The MAG and the LMA transmit a data packet of the service flow over the bidirectional tunnel established, based upon binding of the service flow, between the MAG and the LMA, according to the service flow ID and the uplink and downlink GRE Keys.
In a specific implementation, assumed that communication is conducted between the MN and the CN, the process may include the following steps:
the MAG encapsulates an uplink data packet of the service flow (i.e., a data packet transmitted from the MN to the CN) according to the service flow ID and the uplink GRE Key and forwards the encapsulated uplink data packet to the LMA over the bidirectional tunnel, and the LMA de-encapsulates the encapsulated uplink data packet forwarded from the MAG according to the service flow ID and the uplink GRE Key and forwards the de-encapsulated uplink data packet to the CN; and
the LMA encapsulates a downlink data packet of the service flow (i.e., a data packet transmitted from the CN to the MN) according to the service flow ID and the downlink GRE Key and forwards the encapsulated downlink data packet to the MAG over the bidirectional tunnel, and the MAG de-encapsulates the encapsulated downlink data packet forwarded from the LMA according to the service flow ID and the downlink GRE Key and forwards the de-encapsulated downlink data packet to the MN.
Subsequently the following steps may further be included if the MN terminates the service flow.
In the step A, the MAG transmits to the LMA a PBU message instructing to delete binding of the service flow (referred to as a second PBU message for the sake of distinguishing) upon determining that the MN terminates the service flow, where the second PBU message includes the service flow ID.
Correspondingly, the service flow identification option included in the second PBU message includes Service Flow ID (the value of which is the same as that in the first PBU message, the Service Flow ID takes the value of 0 for a first service flow initiated by the MN) and PRO field which may take the value of 1 to represent deletion of binding of the service flow.
In the step B, the LMA deletes the locally buffered binding relationship between the service flow ID and the address information of the MN according to the received second PBU message and returns to the MAG a PBA message (referred to as a second PBA message for the sake of distinguishing) including the service flow ID.
In the second PBU message and the second PBA message, related attributes of the service flow may also be described in either or both of a transport level description option and an application level description option.
Then the bidirectional tunnel between the MAG and the LMA has been removed, and binding between the service flow and the address information of the MN has been canceled through an operation of deleting binding of the service flow.
The PMIPv6-based data transmission method according to the embodiment of the invention can address effectively the problem that data packets of the MN cannot be distinguished and controlled based on a service flow, and distinguish and further correspondingly control data packets of a service flow or a type of service flows of the MN; and also the related attributes of the service flow can be described formally in the embodiment of the invention.
The PMIPv6-based data transmission method according to the embodiment of the invention is applicable to a scenario where the MN is a terminal with a single interface and a scenario where the MN is a terminal with a plurality of interfaces. For the scenario where the MN is a terminal with a single interface, a service flow initiated by the MN may be forwarded to a corresponding MAG, which in turn triggers a PBU flow and generates a unique service flow ID for the service flow to bind the service flow with the address information of the MN, so that the data packets of the MN can be distinguished and controlled based on a service flow. For the scenario where the MN is a terminal with a plurality of interfaces, a service flow initiated via one of the interfaces of the MN may be forwarded to a corresponding MAG, which in turn triggers a PBU flow and generates a unique service flow ID for the service flow to bind the service flow with address information of the interface of the MN, so that data packets via the interfaces of the MN can be distinguished and controlled based on a service flow.
Based upon the same technical concept, an embodiment of the invention provides a PMIPv6-based data transmission system, and since the principle for the system to address the problem is consistent with the PMIPv6-based data transmission method, reference can be made to the implementation of the method for details of an implementation of the system, and a repeated description thereof is omitted here. As illustrated in FIG. 6, the system includes a Mobile Access Gateway (MAG) 601 and a Local Mobility Anchor (LMA) 602.
The MAG 601 and the LMA 602 are configured to establish a bidirectional tunnel based upon binding of a service flow through interaction of messages after an MN initiates the service flow, where a downlink GRE Key and an uplink GRE Key are allocated to the service flow and the LMA 602 is further configured to add a binding relationship between a service flow ID of the service flow and address information of the MN during establishment of the bidirectional tunnel.
The MAG 601 and the LMA 602 are further configured to transmit a data packet of the service flow initiated by the MN over the established bidirectional tunnel according to the service flow ID, the binding relationship and the uplink and downlink GRE Keys.
In a specific implementation, the MAG 601 is further configured to transmit to the LMA 602 a first PBU message instructing to add binding of the service flow upon reception of a first data packet of the service flow initiated by the MN, where the first PBU message includes the service flow ID generated for the service flow and the downlink GRE Key allocated to the service flow; and to receive a first PBA message returned from the LMA 602 in response to the first PBU message, where the first PBA message includes the service flow ID and the uplink GRE Key allocated to the service flow.
The LMA 602 is further configured to add the binding relationship between the service flow ID and the address information of the MN according to the received first PBU message and return the first PBA message to the MAG 601.
In a specific implementation, the MAG 601 is further configured to encapsulate an uplink data packet of the service flow from the MN according to the service flow ID and the uplink GRE Key and forward the encapsulated uplink data packet to the LMA 602 over the bidirectional tunnel, and to de-encapsulate an encapsulated downlink data packet according to the service flow ID and the downlink GRE Key and forward the de-encapsulated downlink data packet to the MN.
The LMA 602 is further configured to encapsulate a downlink data packet of the service flow from a CN according to the service flow ID and the downlink GRE Key and forward the encapsulated downlink data packet to the MAG 601 over the bidirectional tunnel, and to de-encapsulate an encapsulated uplink data packet according to the service flow ID and the uplink GRE Key and forward the de-encapsulated uplink data packet to the CN.
Preferably, the MAG 601 is further configured to transmit to the LMA a second PBU message instructing to delete binding of the service flow upon determining that the MN terminates the service flow, where the second PBU message includes the service flow ID.
The LMA 602 is further configured to delete the locally buffered binding relationship between the service flow ID and the address information of the MN according to the received second PBU message and return to the MAG a second PBA message including the service flow ID.
A possible structure of the MAG 601 as illustrated in FIG. 7 includes:
a sending unit 701 configured to transmit to an LMA a first PBU message instructing to add binding of a service flow upon reception of a first data packet of the service flow initiated by an MN, where the first PBU message includes a service flow ID generated for the service flow and a downlink GRE Key allocated to the service flow;
a reception unit 702 configured to receive a first PBA message returned from the LMA in response to the first PBU message, where the first PBA message includes the service flow ID and an uplink GRE Key allocated to the service flow; and
a transmission unit 703 configured to transmit a data packet of the service flow over a bidirectional tunnel established, based upon binding of the service flow, with the LMA, according to the service flow ID and the uplink and downlink GRE Keys.
Preferably, the sending unit 701 is further configured to transmit to the LMA a second PBU message instructing to delete binding of the service flow upon determining that the MN terminates the service flow, where the second PBU message includes the service flow ID.
As illustrated in FIG. 8, a possible structure of the LMA 602 includes:
a reception unit 801 configured to receive a first PBU message transmitted from an MAG to instruct to add binding of a service flow, where the first PBU message includes a service flow ID generated for the service flow and a downlink GRE Key allocated to the service flow;
a binding processing unit 802 configured to add a binding relationship between the service flow ID and address information of an MN according to the received first PBU message and return to the MAG a first PBA message including the service flow ID and an uplink GRE Key allocated to the service flow; and
a transmission unit 803 configured to transmit a data packet of the service flow over a bidirectional tunnel established, based upon binding of the service flow, with the MAG, according to the service flow ID, the binding relationship and the uplink and downlink GRE Keys.
Preferably, the binding processing unit 802 is further configured to delete the locally buffered binding relationship between the service flow ID and the address information of the MN according to a received second PBU message and return to the MAG a second PBA message including the service flow ID.
It will be appreciated that one skilled in the art may make various modifications and alterations to the present invention without departing from the scope of the present invention. Accordingly, if these modifications and alterations to the present invention fall within the scope of the claims of the present invention and their equivalents, the present invention intends to include all these modifications and alterations.