The present application claims priority from Japanese patent application JP2012-137381 filed on Jun. 19, 2012, the content of which is hereby incorporated by reference into this application.
The present invention relates to a gateway device and a communication method, and more particularly, to a packet communication technology for reducing packet loss when a mobile node switches the network connection to a different wireless network system.
Because of the rapid increase of the number of users of smart phones and tablet devices as well as the expansion of video content, the communication traffic in the mobile communication network has explosively increased. It is expected to be difficult to catch up with the rapid increase in the communication traffic only by stand-alone wireless network systems such as 3rd Generation (3G) or Long Term Evolution (LTE).
Under such circumstances, standard bodies such as the 3rd Generation Partnership Project (3GPP) and the Internet Engineering Task Force (IETF) have discussed the development of a packet communication system to accommodate the mobile communication traffic, by an integrated approach of using other wireless network systems such as wireless LAN (WLAN: Wireless Local Access Network) and mobile WiMAX (Worldwide Interoperability for Microwave Access), in addition to 3G and LTE. In the packet communication system, the mobile node can connect to a plurality of wireless network systems and can switch the network connection according to the situation. In this way, it is possible to transfer the communication traffic not only a single wireless network system but also other wireless network systems. This technology is called traffic offload.
In such packet communication systems, it is preferable that the mobile node switches the connection between wireless network systems seamlessly. There are two requirements for the seamless switching. One requirement is that when the mobile node switches the wireless network system to be connected, it is possible to continue the communication without disconnecting any of the existing packet communication sessions. In order to achieve this, the mechanism has been standardized as the architecture. Another requirement is to minimize the error control in the Transport Control Protocol (TCP), which is the protocol typically used for the packet communication. This has not been discussed by the standards bodies.
In TCP, the throughput and the round trip time of the communication with the correspondent node that is the communication target are calculated or estimated and used as parameters for control. When the mobile node switches the wireless network system to be connected, the values of the bandwidth and the delay time vary greatly. However, the TCP may not quickly follow such variations, so that packet loss and packet retransmission occur due to error control. As a result, there is a problem that the throughput is reduced. For example, when the mobile node switches from WLAN to 3G, the bandwidth is reduced and the delay time is increased. The TCP control of the correspondent node assumes that the mobile node is still connected to WLAN and thus transmits too many packets to be processed by 3G. As a result, before the packets arrive at the mobile node, significant packet loss occurs in the 3G network. On the other hand, when the mobile node switches from 3G to WLAN, the bandwidth is increased and the delay time is reduced. The TCP control of the correspondent node is affected by the parameters in the 3G connection and thus transmits too small amount of packets for WLAN. As a result, there is a problem that the original bandwidth of the WLAN system is not completely used.
To solve this problem, Japanese Patent Application Laid-Open No. 2009-188666 discloses a technology for reducing the amount of data transfer during heterogeneous network handover processing in the mobile network. When heterogeneous network handover, namely, switching of the wireless network system to be connected is expected to be performed or has been performed, the mobile node sets the receive window size, which is one of the control parameters of TCP, based on the ability of the wireless interface. Further, Japanese Patent Application Laid-Open No. 2010-213013 discloses a technology for selecting the optimal TCP parameters in communication through a cognitive base station. Upon switching the wireless network system to be connected, the mobile node calculates the optimal TCP control parameter for the switched wireless interface, and transmits the control signal to the transmission server which is the correspondent node. Then, the transmission server determines the amount of TCP packets to be transmitted, by using the calculated control parameter.
In the method described in JP-A No. 2009-188666, it is necessary to convert the mobile node to the TCP stack. Thus, this method may not be applied to all mobile nodes. In addition, the mobile node does not find the appropriate receive window size unless it actually performs communication for a while. For this reason, it is difficult to properly control TCP immediately after the mobile node switches the wireless network system to be connected. Another method can be considered in which the mobile node measures the window size of each wireless network system in advance. However, the load on the wireless network system is too large when all the mobile nodes perform the measurement. Further, the method described in JP-A No. 2010-213013 requires cooperation between the transmission server and the cognitive base station, so that it is necessary to convert the transmission server to the TCP stack. Thus, also this method may not be applied to all transmission servers.
Accordingly, it is desirable to reduce the packet loss due to error control for the existing communication such as TCP with respect to a mobile node, when the mobile node switches the network connection to a different wireless network system, without converting the mobile node and the correspondent node.
An object of the present invention is to solve the above problem, and provide a gateway device and a packet communication method that can reduce the packet loss due to error control when a mobile node switches the network connection to a different communication system.
In order to achieve the above object, according to the present invention, there is provided a gateway device including a processing unit for mediating the exchange of communication packets between a mobile node capable of wireless communication by connecting to a first wireless network system or a second wireless network system and a correspondent node capable of communication through the IP service network. When the mobile node, which is communicating with the correspondent node by connecting to the first wireless network system, switches the connection to the second wireless network system, the processing unit rewrites a received parameter in an ACK packet of the communication transmitted from the mobile node after switching from the first wireless network system to the second wireless network system. Then, the processing unit transfers the rewritten parameter to the correspondent node, in order to control the amount of communication packets to be transmitted from the correspondent node.
Further, in order to achieve the above object, according to the present invention, there is provided a packet communication method of a gate way device. The packet communication method mediates the exchange of communication packets between a mobile node capable of wireless communication by connecting a first wireless network system or a second wireless network system and a correspondent node capable of communicating through the IP service network. When the mobile node, which is communicating with the correspondent node by connecting to the first wireless network system, switches the connection to the second wireless network system, the packet communication method rewrites a received parameter in an ACK packet of the communication transmitted from the mobile node after switching from the first wireless network system to the second wireless network system. Then, the packet communication method transfers the rewritten parameter to the correspondent node, in order to control the amount of communication packets to be transmitted from the correspondent node.
According to the present invention, it is possible to reduce the packet loss due to error control for the existing communication with respect to a mobile node and to stabilize the communication, when the mobile node switches the network connection to a different wireless network system, without converting the mobile node and the correspondent node.
Hereinafter an embodiment of the present invention will be described with reference to the accompanying drawings. Note that the following description focuses on the use of TCP as the protocol of the packet communication, but the present invention is not limited to the TCP communication.
As a first embodiment, a gateway device and a packet communication method for a packet communication system will be described, beginning with the system and then the process.
An example of the configuration of a packet communication system according to the present embodiment will be described with reference to
The LTE wireless network system 103a performs packet communication with an external device through an LTE access gateway 104a. Similarly, the 3G wireless network system 103b performs packet communication with an external device through a 3G access gateway 104b. The WiMAX wireless network system 103c performs packet communication with an external device through a WiMAX access gateway 104c. The WLAN wireless network system 103d performs packet communication with an external device through a WLAN access gateway 104d. Each of the access gateways 104a to 104d performs packet communication with a service-network gateway 105.
The service-network gateway 105 transfers communication packets transmitted from the mobile node 100a or 100b, and the measurement node 101 to an appropriate IP service network 106. Further, the service-network gateway 105 transfers communication packets addressed to the mobile node 100a or 100b, and the measurement node 101 to the access gateway of the appropriate wireless network system. Mobile IP or General Packet Radio Service (GPRS) Tunneling Protocol (GTP) is used as the connection protocol between the service-network gateway 105 and each of the access gateways 104a to 104d.
The IP service network 106 is a network such as the Internet or an enterprise network. The correspondent node 107 is connected to the IP service network 106 to communicate with the mobile node 100a or 100b, end to end, through the packet communication system described above. Finally, a management server 108 performs packet communication with the service-network gateway 105 to configure the service-network gateway 105. Further, the management server 108 communicates with the measurement node 101, end to end, through the packet communication system described above.
Next, a configuration of the service-network gateway of the present embodiment will be described with reference to
The CPU 200, which is the processing unit, sequentially reads the software program developed in the memory 201 and executes the program. The wired I/F 203a is connected to each of the access gateways 104a to 104d of the respective wireless network systems, to transmit and receive communication packets to and from each access gateway. The wired I/F 203b is connected to the IP service network 106 to transmit and receive communication packets to and from the other device connected to the IP service network. The wired I/F 203c is connected to the management server 108 to transmit and receive communication packets to and from the management server.
The program area 300 includes different functional blocks including a packet transfer unit 301, an optimal parameter setting unit 302, a TCP packet rewriting unit 303, and a shaping unit 304. Each of the functional blocks is performed by the CPU 200 shown in
The packet transfer unit 301 transfers a communication packet addressed to the mobile node to the access system of the appropriate wireless network system. Then, the packet transfer unit 301 receives a communication packet transmitted from the mobile node, from the access gateway of each wireless network system. Then, the packet transfer unit 301 transfers the received communication packet to the appropriate IP service network. The optimal parameter setting unit 302 determines the optimal receive window size for the TCP communication performed between the mobile node and the correspondent node, as well as the optimal transmission rate of the communication packet addressed to the mobile node. The TCP packet rewriting unit 303 rewrites the receive window size of the ACK packet in the TCP communication transmitted from the mobile node, to the optimal parameter. The shaping unit 304 adjusts the transmission interval of the communication packet, when the transmission rate of the communication packet addressed to the mobile node exceeds the optimal transmission rate, by temporarily buffering the communication packet to obtain the optimal transmission rate.
The table area 310 includes various tables, including a statistical information table 311, a mobile node information table 312, a new flow table, and a rewrite flow table 314. The statistical information table 311 stores the statistical information on the bandwidth and the round trip time with respect to each of the wireless network systems. The mobile node information table 312 stores the connection information on the wireless network system to which the mobile node connects. The new flow table 313 stores the information of the TCP communication that is newly started after the mobile node switches the network connection to a different wireless network system. The rewrite flow table 314 stores the information of the TCP communication that has been performed before the mobile node switches the network connection to a different wireless network system, as well as the information of the TCP communication to store the optimal receive window size for the TCP communication. Note that the data structure of the individual tables will be described in detail below in the description of <Process (sequence)>.
The above is an example of the overall configuration of the packet communication system according to the present embodiment.
The service-network gateway of the present embodiment functions as the gateway device for relaying the communication packet by the operation of the CPU 200 included in the service-network gateway. In this case, the service-network gateway temporarily rewrites the receive window size parameter of the acquisition (ACK) packet of the TCP communication, to control the amount of transmission from the correspondent node. This process includes the following five steps: (A) a step of updating the statistical information table stored in the service-network gateway; (B) a step of starting new TCP communication after the mobile node switches the network connection to a different wireless network system; (C) a step of continuing the existing TCP communication after the mobile node switches the network connection of the wireless network system from WLAN to 3G; (D) a step of completing the existing TCP communication after the mobile node switches the network connection of the wireless network system from WLAN to 3G; and (E) a step of continuing the existing TCP communication after the mobile node switches the network connection of the wireless network system from 3G to WLAN.
(A) Step of Updating the Statistical Information Table Held by the Service-Network Gateway
For example, with respect to the WLAN wireless network system, the measurement node 101 is connected to the WLAN base station 102d to perform measurement with the management server 108 through the WLAN access gate way 104d and the service-network gateway 105 (Steps 400 to 403). Further, for example, with respect to the 3G wireless network system, the measurement node 101 is connected to the 3G base station 102b to perform measurement with the management server 108 through the 3G access gateway 104b and the service-network gateway 105 (Steps 404 to 407). The measurement is performed in the same way for the other wireless network systems.
When a certain amount of measurements has been done, the measurement node 101 reports the measurement result to the management server 108 (Step 408). The report can be done online through one of the wireless network system, or off line by separately establishing the Ethernet (registered trademark) connection. The management server 108 generates statistical information by combining the preset previously set by the system administrator as the initial value, the reported measurement result, and the communication log in the measurement (Step 409). Then, the management server 108 transmits the generated statistical information to the service-network gateway, in order to update the statistical information table 311 held by the service-network gateway 105 (Step 410).
In the packet communication system according to the present embodiment, the procedure for updating the statistical information shown in
(B) Step of Starting New TCP Communication after the Mobile Node Switches the Network Connection to a Different Wireless Network System
Returning to
For example, it is assumed that the identifier of the first mobile node 100a is 1111. In this case, the method of updating the entry upon receiving the path update notification message will be described. With respect to the first entry, the mobile node IP address 801 stores the IP address 703 of the mobile node of the path update notification message. The current wireless network system type 811 stores the wireless network system type 705 to which the mobile node of the path update notification message connects. Alternatively, it stores the wireless network system type that is determined by the IP address 701 of the access gateway of the source. The current access gateway IP address 812 stores the IP address 701 of the access gateway of the source. The current base station identifier 813 stores the base station identifier 706 to which the mobile node of the path update notification message connects. The current elapsed time 814 is the time from when the path update notification message is received, which is updated for every reference. The current throughput expectation 815 and the currents RTT expectation 816 store information obtained by referring to the statistical information table 311 based on the current wireless network system type 811, the current time, and the current base station identifier 813.
For example, when the wireless network system type is 3G, the current time is 1200, and the current base station is NB101, the information matches the third entry (default data) with reference to the statistical information table 311 shown in
Returning to
The parameter of the shaping function is the predetermined transmission rate described above. The service-network gateway 105 sets the current throughput expectation 815 of the mobile node information table 312 as the parameter. In this way, it is possible to select the parameter of the optimal shaping function according to the wireless network system to which the mobile node connects, and thus prevent the packet loss. Then, the mobile node 1 disconnects WLAN (Step 605).
Next, the mobile node 1 transmits an SYN packet, which is addressed to the correspondent node 107, to the 3G base station to start new TCP communication with the correspondent node 107 (Step 610). The SYN packet is the communication packet that means a TCP communication start request with the SYN flag set in the TCP header. The SYN packet arrives at the service-network gateway 105 through the 3G base station and the 3G access gateway (Steps 611, 612). Upon receiving the SYN packet, the service-network gateway 105 extracts the IP address and port number of the mobile node 100a as well as the IP address and port number of the correspondent node 107, which are described in the SYN packet. Then, the service-network gateway 105 adds an entry to the new flow table 313.
Returning to
Then, the correspondent node 107 transmits a data packet to the mobile node 100a by the established TCP session (Step 630). The data packet arrives at the mobile node 100a through the service-network gateway, the 3G access gateway, and the 3G base station (Steps 631 to 633). The mobile node 100a receives the data packet, and returns the ACK packet (Step 634). The ACK packet arrives at the service-network gateway 105 through the 3G base station and the 3G access gate way (Steps 635, 636). Upon receiving the ACK packet, the service-network gateway 105 extracts the IP address and port number of the mobile node 100a as well as the IP address and port number of the correspondent node 107, which are described in the ACK packet. Then, the service-network gateway 105 refers to the new flow table 313 shown in
By the procedure described above, in the packet communication system according to the present embodiment, the service-network gateway avoids rewriting the parameters of the ACK packet in the TCP communication from the mobile node, when the TCP communication is newly started after the mobile node switches the network connection to a different wireless network system.
(C) Step of Continuing the Existing TCP Communication after the Mobile Node Switches the Network Connection of the Wireless Network System from WLAN to 3G
Steps 1000 to 1005 are the same as Steps 600 to 605 of
The correspondent node 107 transmits data packets by using the TCP session established before the mobile node 100a switches the network connection of the wireless network system to 3G (Step 1010). At this time, the correspondent node 107 may not know the fact that the mobile node 100a switches the network connection of the wireless network system from WLAN to 3G. Thus, the correspondent node 107 is still transmitting a large amount of data packets for the 3G wireless network system, although it is the normal amount for the WLAN wireless network system. Upon receiving the data packets, the service network getaway 105 transfers the received data packets by adjusting the transmission interval to the shaping parameter set in Step 1004, namely, adjusting the transmission interval to meet the throughput expectation of the 3G wireless network system, by the shaping function of the shaping execution unit 304 (Step 1011). The data packets arrive at the mobile node 100a through the 3G access gateway and the 3G base station (Steps 1012, 1013). In this way, it is possible to reduce the possibility of the packet loss in the wireless network system, when a large amount of packets are instantaneously transmitted in the packet communication system according to the present embodiment.
The mobile node 100a receives the data packets, and transmits an ACK packet as a response (Step 1014). The receive window size (rwnd) that indicates the maximum number of packet bytes that the mobile node 1 wants to receive at a time is described as a parameter in the TCP header of the ACK packet.
The mobile node 100a can notify the correspondent node 107 of the receive window size, as a parameter, by using the ACK packet. The correspondent node 107 can transmit data packets of the TCP communication only for the particular receive window size until the next ACK packet is received from the mobile node. In other words, the receive window size serves as the upper limit of the number of data bytes that can be transmitted from the correspondent node at a time. In theory, in the TCP communication, when the receive window size is set to the bandwidth-delay product that is obtained by multiplying the throughput and RTT between the mobile node and the correspondent node, the packet loss can be reduced to the smallest value and the communication band can be effectively used.
Thus, when the mobile node performs communication by connecting to WLAN, the receive window size is relatively large. On the other hand, when the mobile node performs communication by connecting to 3G, the receive window size is relatively small. The TCP stack of some operating systems (OS) has the function of automatically adjusting the receive window size. However, it is necessary to continue the communication for a while to measure the throughput and the RTT. For this reason, it is difficult for the mobile node to set the appropriate receive window size quickly, even when the mobile node switches the network connection to a different wireless network system.
As shown in
The optimal rwnd change rate 1105 is obtained from the equation “(the current throughput expectation 815×the current RTT expectation 816)/(the past throughput expectation 821×the past RTT expectation 822)”, with reference to the entry for the target mobile node in the mobile node information table 312 shown in
As described above, the entry is generated in the rewrite flow table 314. For example, the first entry indicates the TCP communication flow for the mobile node 100a, in which the mobile node identifier is 1111, the mobile node IP address is 110.1.1.1, the mobile node port number is 31000, the correspondent node IP address is 1.2.3.4, the correspondent node port number is 80, the optimal rwnd change rate is 0.43 times, and the rwnd rewrite value is 0x4E20 (hexadecimal number).
Returning to
The data packet transmitted from the correspondent node 107 arrives at the mobile node 100a through the service-network gateway, the 3G access gateway, and the 3G base station (Steps 1020 to 1022). The mobile node 100a receives the data packet, and transmits again the ACK packet addressed to the correspondent node 107 (Step 1023). At this time, the receive window size, which is slightly reduced by the automatic adjustment to 44 K bytes. The ACK packet arrives at the service-network gateway 105 through the 3G base station and the 3G access gateway 105 (Steps 1024, 1025). The CPU 200 of the service-network gateway 105 executes the TCP packet rewriting unit 303 to extract the IP address port umber of the mobile node 100a as well as the IP address number of the correspondent node 107, which are described in the ACK packet. Then, the CPU 200 refers to the rwnd rewrite value 1106 by referring to the entry of the rewrite flow table 314 shown in
Then, the data packet addressed to the mobile node 100a is transmitted from the correspondent node 107 in the same way as Steps 1019 to 1022 (Steps 1030 to 1033). Upon receiving the data packet, the mobile node 100a transmits again the ACK packet addressed to the correspondent node 107 (Step 1034). At this time, the receive window size is adjusted to 20 K bytes by automatic adjustment. The ACK packet arrives at the service-network gateway 105 through the 3G base station and the 3G access gateway (Steps 1035, 1036). The service-network gateway 105 extracts the IP address and port number of the mobile node 1 as well as the IP address and port number of the correspondent node 107, which are described in the ACK packet. Then, the service-network gateway 105 refers to the rwnd rewrite value 1106 by referring to the entry of the rewrite flow table 314 shown in
In the procedure described above, it is assumed that the TCP stack of the mobile node 100a automatically adjusts the receive window size. However, as described above, the receive window size is not automatically adjusted by the OS. In this case, the service-network gateway 105 refers to the current elapsed time 814 of the mobile node information table 312 in the rewriting process of the receive window size of the ACK packet. If a predetermined time has passed since the network connection has been switched, the service-network gateway 105 may delete all the entries in the TCP communication flow of the mobile node 100a from the new flow table 312 and the rewrite flow table 314, and end the rewriting process of the receive window size parameter. For example, the predetermined time is determined by adding twice the standard deviation to the average continuous time of the TCP communication. In this way, the effect of the packet communication system according to the present embodiment can be expected for the TCP communication of 95% or more.
By the procedure described above, in the packet communication system according to the present embodiment, it is possible to prevent the degradation of the performance due to error control for the existing TCP communication with respect to the mobile node, when the mobile node switches the network connection to a different wireless network system, without converting the mobile node and the correspondent node. As a result, the TCP communication can be stabilized. In addition, the service-network gateway rewrites the receive window size parameter of the ACK packet in the TCP communication from the mobile node not constantly but temporarily, so that it is possible to prevent the service-network gateway from constantly wasting resources.
(D) Step of Completing the Existing TCP Communication after the Mobile Node Switches the Network Connection of the Wireless Network System from WLAN to 3G
Steps 1200 to 1227 are the same as Steps 1000 to 1027 shown in
After the TCP communication is continued for a while, the correspondent node transmits an FIN packet addressed to the mobile node 100a in order to complete the TCP communication (Step 1230). The FIN packet is the communication packet that means a TCP communication end request with the FIN and ACK flags set in the TCP header. The service-network gateway 105 extracts the IP address and port number of the mobile node 100a as well as the IP address and port number of the correspondent node 107, which are described in the FIN packet. Then, the service-network gateway 105 refers to the entry of the rewrite flow table 314 shown in
By the procedure described above, in the packet communication system according to the present embodiment, it is possible to prevent the degradation of the performance due to error control for the existing TCP communication with respect to the mobile node when the mobile node switches the network connection to a different wireless network system without converting the mobile node and the correspondent node. As a result, the TCP communication can be stabilized and completed. In addition, the service-network gateway rewrites the receive window size parameter of the ACK packet in the TCP communication from the mobile node not constantly but temporarily, so that it is possible to prevent the service-network gateway from constantly wasting resources.
(E) Step of Continuing the Existing TCP Communication after the Mobile Node Switches the Network Connection of the Wireless Network System from 3G to WLAN
The mobile node 100b performs a connection process for the WLAN base station 102d (Step 1300). At the same time, the control signal of the connection process for the mobile node 100b is communicated between the WLAN base station and the WLAN access gateway 104d (Step 1301). After the completion of the connection process, the WLAN access gateway transmits a path update notification message to the service-network gateway 105 (Step 1302). Upon receiving the path update notification message, the service-network gateway 105 updates the connection information by referring to the mobile node information table 312 with the mobile node identifier 704 in the message being used as the index.
The second entry of the mobile node information table 312 shown in
Returning to
The correspondent node 107 transmits data packets by using the TCP session established before the mobile node 100b switches the network connection of the wireless network system to WLAN (Step 1310). At this time, the correspondent node 107 may not know the fact that the mobile node 100b switches the network connection of the wireless network system from 3G to WLAN. Thus, the correspondent node 107 is still transmitting a small amount of data packets for the WLAN wireless network system, although it is the normal amount for the 3G wireless network system. At this time, the service-network gateway has no need to perform the shaping function because the amount of data packets is small. The data packets arrive at the mobile node 100b through the service-network gateway, the WLAN access gateway, and the WLAN base station (Steps 1311 to 1313).
The mobile node 100b receives the data packets, and transmits an ACK packet as a response (Step 1314). The receive window size (rwnd) described in the ACK packet is 20 K bytes. This is the receive window size used when the mobile node 100b connects to the 3G wireless network system. The ACK packet transmitted from the mobile node 100b arrives at the service-network gateway 105 through the WLAN base station 102d and the WLAN access gateway 104d (Steps 1315, 1316). Upon receiving the ACK packet, the service-network gateway 105 extracts the IP address and port number of the mobile node 100b as well as the IP address and port number of the correspondent node 107, which are described in the ACK packet. Then, the service-network gateway 105 adds an entry to the rewrite flow table 314.
The second entry of the rewrite flow table 314 shown in
Returning to
The data packets transmitted from the correspondent node 107 arrive at the mobile node 100b through the service-network gateway 105, the WLAN access gateway 104d, and the WLAN base station 102d (Steps 1320 to 1322). The mobile node 100b receives the data packets, and transmits again the ACK packet addressed to the correspondent node 107 (Step 1323). At this time, the receive window size is slightly increased by the automatic adjustment to 21 K bytes. The ACK packet arrives at the service-network gateway 105 through the WLAN base station 102d and the WLAN access gateway 104d (Steps 1324, 1325). The service-network gateway 105 extracts the IP address and port number of the mobile node 100b as well as the IP address and port number of the correspondent node 107, which are described in the ACK packet. Then, the service-network gateway 105 refers to the rwnd rewrite value 1106 by referring to the entry of the rewrite flow table 314. Then, the service-network gateway 105 rewrites the receive window size parameter of the ACK by the rwnd rewrite value (Step 1326). The service-network gateway 105 transfers the rewritten ACK packet to the correspondent node 107 (Step 1327). Then, the same procedure as the procedure of Steps 1319 to 1327 is executed for a while.
Then, the correspondent node 107 transmits data packets addressed to the mobile node 100b in the same way as in Steps 1319 to 1322 (Steps 1330 to 1333). The mobile node 100b receives the data packets, and transmits again the ACK packet addressed to the correspondent node (Step 1334). At this time, the receive window size is adjusted to 40 K bytes by the automatic adjustment. The ACK packet arrives at the service-network gateway 105 through the WLAN base station 102d and the WLAN access gateway 104d (Steps 1335, 1336). The service-network gateway 105 extracts the IP address and port number of the mobile node 100b as well as the IP address and port number of the correspondent node 107, which are described in the ACK packet. Then, the service-network gateway 105 refers to the rwnd rewrite value 1106 by referring to the entry of the rewrite flow table 314 shown in
In the above procedure, it is assumed that the TCP stack of the mobile node 100b automatically adjusts the receive window size. However, as described above, the receive window size is not automatically adjusted by the OS. In this case, the service-network gateway 105 refers to the current elapsed time 814 of the mobile node information table 312 in the rewriting process of the receive window size of the ACK packet. If a predetermined time has passed since the network connection has been switched, the service-network gateway 105 may delete all the entries of the TCP communication flow for the mobile node 100a from the new flow table and from the rewrite flow table, and end the rewriting process of the receive window size parameter. For example, the predetermined time is determined by adding twice the standard deviation to the average continuous time of the TCP communication. In this case, the effect of the packet communication system according to the present embodiment can be expected for the TCP communication of 95% or more.
By the procedure described above, in the packet communication system according to the present embodiment, it is possible to prevent the degradation of the performance due to error control for the existing TCP communication with respect to the mobile node, when the mobile node switches the network connection to a different wireless network system, without converting the mobile node and the correspondent node. As a result, the efficiency of the TCP communication can be increased. In addition, the service-network gateway rewrites the receive window size parameter of the ACK packet in the TCP communication from the mobile node not constantly but temporarily, so that it is possible to prevent the service-network gateway from constantly wasting resources.
The process operation performed by the service-network gateway of the packet communication system according to the present embodiment includes three operations. More specifically, an operation in which the service-network gateway receives and processes the path update notification message, an operation in which the service-network gateway receives and processes the TCP communication packet, and an operation in which the service-network gateway rewrites the receive window size parameter (rwnd) of the ACK packet in the TCP communication. Hereinafter, the process flow of the operations of the service-network gateway will be described with reference to
Returning to Step 1502, if the elapsed time is not more than the predetermined time, the service-network gateway 105 examines the flag parameter in the TCP header of the communication packet (Step 1503). If the ACK flag is set, namely, if it is the ACK packet, the service-network gateway 105 checks if the source is the mobile node (Step 1504). If the source is not the mobile node, the service-network gateway 105 transfers the communication packet to the appropriate network or the appropriate device, as the normal process of the service-network gateway (Step 1511), and ends the process operation (Step 1512).
Returning to Step 1504, if the source is the mobile node, the service-network gateway 105 checks if the entry of the target TCP communication flow is present in the new flow table 313 (Step 1505). If the entry is present in the new flow table, the ACK packet of the target TCP communication is not subject to the process for rewriting the receive window size parameter. Thus, the service-network gateway 105 transfers the communication packet to the appropriate network or the appropriate device, as the normal process of the service-network gateway (Step 1511), and ends the process operation (Step 1512).
Returning to Step 1505, if there is no entry in the new flow table, the ACK packet of the target TCP communication is subject to the process for rewriting the receive window size parameter. Thus, the service-network gateway 105 proceeds to the receive window size (rwnd) rewriting process (Step 1506). The details of the process operation will be described below with reference to
Returning to Step 1503, if the SYN flag is set, namely, if it is the SYN packet, the service-network gateway 105 adds an entry of the target TCP communication flow to the new flow table 313 (Step 1507). Then, the service-network gateway 105 transfers the communication packet to the appropriate network or the appropriate device, as the normal process of the service-network gateway (Step 1511), and ends the process operation (Step 1512).
Returning to Step 1503, if the FIN flag is set, namely, if it is the FIN packet, the service-network gateway 105 checks if the entry of the target TCP communication flow is present in the new flow table 313 (Step 1508). If the entry is present in the new flow table 313, the service-network gateway 105 deletes the particular entry from the table (Step 1510). Then, the service-network gateway 105 transfers the communication packet to the appropriate network or the appropriate device, as the normal process of the service-network gateway (Step 1511), and ends the process operation (Step 1512).
Returning to Step 1508, if there is no entry in the new flow table 313, the service-network gateway 105 also checks if the entry of the target TCP communication flow is present in the rewrite flow table 314 (Step 1509). If the entry is present in the rewrite flow table 314, the service-network gateway 105 deletes the particular entry from the table (Step 1510). Then, the service-network gateway 105 transfers the communication packet to the appropriate network or the appropriate device, as the normal process of the service-network gateway (Step 1511), and ends the process operation (Step 1512).
Returning to Step 1509, if there is no entry in the rewrite flow table 314, the service-network gateway 105 transfers the communication packet to the appropriate network or the appropriate device, as the normal process of the service-network gateway, without performing a specific process (Step 1511), and ends the process operation (Step 1512).
Returning to Step 1600, if the entry is present in the rewrite flow table 314, the service-network gateway 105 checks the optimal rwnd change rate 1105 (Step 1605). If the change rate is one or more times, the service-network gateway 105 checks if the value of the receive window size parameter of the ACK packet is not less than the rwnd rewrite value 1106 (Step 1607). If the value is smaller than the rwnd rewrite value, the service-network gateway 105 rewrites the receive window size parameter of the ACK packet by the rwnd rewrite value (Step 1610). Then, the service-network gateway 105 transfers the communication packet to the appropriate network or the appropriate device, as the normal process of the service-network gateway (Step 1611), and ends the process operation (Step 1612).
Returning to Step 1607, if the value is not less than the rwnd rewrite value, the service-network gateway 105 deletes the particular entry from the rewrite flow table 314 (Step 1608). Then, the service-network gateway 105 transfers the communication packet to the appropriate network or the appropriate device, as the normal process of the service-network gateway (Step 1611), and ends the process operation (Step 1612).
Returning to Step 1605, if the change rate is less than one time, the service-network gateway 105 checks if the value of the receive window size parameter of the ACK packet is not more than the rwnd rewrite value 1106 (Step 1609). If the value is greater than the rwnd rewrite value, the service-network gateway 105 rewrites the receive window size parameter of the ACK packet by the rwnd rewrite value (Step 1610). Then, the service-network gateway 105 transfers the communication packet to the appropriate network or the appropriate device, as the normal process of the service-network gateway 105 (Step 1611), and ends the process operation (Step 1612).
Returning to Step 1609, if the value is less than the rwnd rewrite value, the service-network gateway 105 deletes the particular entry from the rewrite flow table (Step 1608). Then, the service-network gateway 105 transfers the communication packet to the appropriate network or the appropriate device, as the normal process of the service-network gateway (Step 1611), and end the process operation (Step 1612).
By the procedure described above, in the packet communication system according to the present embodiment, it is possible to prevent the degradation of the performance due to error control for the existing TCP communication with respect to the mobile node, when the mobile node switches the network connection to a different wireless network system, without converting the mobile node and the correspondent node. As a result, the TCP communication can be stabilized with high efficiency. In addition, the service-network gateway rewrites the receive window size parameter of the ACK packet in the TCP communication from the mobile node not constantly but temporarily, so that it is possible to prevent the service-network gateway from constantly wasting resources.
It is to be understood that the present invention is not limited to the embodiment as described above and may include numerous variations. For example, the above embodiment has been described in detail for better understanding of the present invention, and the present invention is not limited to the one that includes all the configurations described above. In the above description, the configurations, functions, and processing units of the system are partially or wholly realized by the software process by the CPU executing programs. However, it goes without saying that some or all of the configurations, functions, and processing units of the system described above may be realized by the hardware, for example, by designing it with an integrated circuit.
Number | Date | Country | Kind |
---|---|---|---|
2012-137381 | Jun 2012 | JP | national |