TWI554057B - Communication devices and communication methods and program products - Google Patents

Communication devices and communication methods and program products Download PDF

Info

Publication number
TWI554057B
TWI554057B TW103121506A TW103121506A TWI554057B TW I554057 B TWI554057 B TW I554057B TW 103121506 A TW103121506 A TW 103121506A TW 103121506 A TW103121506 A TW 103121506A TW I554057 B TWI554057 B TW I554057B
Authority
TW
Taiwan
Prior art keywords
packet
communication
target device
ttl value
communication target
Prior art date
Application number
TW103121506A
Other languages
Chinese (zh)
Other versions
TW201545509A (en
Inventor
Yoshitsugu Kawamura
Takayuki Tamura
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of TW201545509A publication Critical patent/TW201545509A/en
Application granted granted Critical
Publication of TWI554057B publication Critical patent/TWI554057B/en

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

通訊裝置與通訊方法以及程式產品 Communication device and communication method and program product

本發明係關於一種封包(packet)通訊的技術。 The present invention relates to a technique for packet communication.

通常,在客戶端伺服器系統(client server system)中,複數個客戶端裝置係連接於1個伺服器裝置,而客戶端裝置係傳送要求(request),而伺服器裝置則傳回對於要求的回應(response)。 Generally, in a client server system, a plurality of client devices are connected to one server device, and a client device transmits a request, and the server device returns a request for the request. Response (response).

然而,近年來,已要求一種實時對話應用程式(realtime chat application)或M2M(Machine To Machine,機器對機器)等,不僅從客戶端裝置傳送要求給伺服器裝置,而且從伺服器裝置傳送要求給客戶端裝置的系統。 However, in recent years, a real-time chat application or M2M (Machine To Machine) has been required, not only to transmit a request from a client device to a server device, but also to transmit a request from a server device. The system of the client device.

因此,一直使用一種在從客戶端裝置傳送要求給伺服器裝置之後,將自伺服器裝置傳給客戶端裝置的回應在伺服器裝置保留一定時間,且藉由將要求載入於所保留的回應中而從伺服器裝置傳送要求給客戶端裝置的方法(例如專利文獻1、專利文獻2)。 Therefore, a response to transfer the self-server device to the client device after the request is transmitted from the client device to the client device has been used for a certain period of time on the server device, and by loading the request in the reserved response A method of transmitting a request to the client device from the server device (for example, Patent Document 1 and Patent Document 2).

[先前技術文獻] [Previous Technical Literature] [專利文獻] [Patent Literature]

專利文獻1:日本特開2006-134108號公報 Patent Document 1: Japanese Laid-Open Patent Publication No. 2006-134108

專利文獻2:日本2009-65349號公報 Patent Document 2: Japanese Patent Publication No. 2009-65349

在專利文獻1及專利文獻2中,揭示有關於將自伺服器裝置傳給客戶端裝置的回應保留一定時間之方法、及調整保留時間之方法的記載。 Patent Document 1 and Patent Document 2 disclose a description of a method of retaining a response from a server device to a client device for a predetermined period of time and a method of adjusting a retention time.

然而,當長時間保留回應時,伺服器裝置與客戶端裝置之間的連接就有可能會被伺服器裝置與客戶端裝置之間的機器強制切斷(逾時中斷)(timeout))。 However, when the response is retained for a long time, the connection between the server device and the client device may be forcibly cut off (timeout) by the machine between the server device and the client device.

伺服器裝置與客戶端裝置之間的機器係例如為NAT(Network Address Translation,網路位址轉譯)路由器(router)。 The machine between the server device and the client device is, for example, a NAT (Network Address Translation) router.

NAT路由器雖在記憶體上保持有為了中繼通訊所需的資訊,但一般而言在伺服器裝置與客戶端裝置之間沒有通訊一定時間的情形下,NAT路由器會將該資訊抹除。 Although the NAT router maintains the information required for relay communication on the memory, in general, the NAT router erases the information when there is no communication time between the server device and the client device.

因此,在伺服器裝置與客戶端裝置之間之後就無法再進行使用相同連接的通訊。 Therefore, communication using the same connection cannot be performed after the server device and the client device.

因此,必須要藉由以下的處理來防止逾時中斷,亦即不管是否有從伺服器裝置傳給客戶端裝置的要求,經過前述一定時間之前,伺服器裝置都傳回回應給客戶端裝置,且再度接收來自客戶端裝置的要求,並保留對於客戶端裝置的回應的處理。 Therefore, it is necessary to prevent the timeout interruption by the following processing, that is, regardless of whether there is a request from the server device to the client device, the server device returns a response to the client device before the predetermined time. And the request from the client device is received again, and the processing of the response to the client device is retained.

如此,在專利文獻1及專利文獻2的技術中,為了維持伺服器裝置與客戶端裝置之間的連接,伺服器裝置必須要周期性地進行回應給客戶端裝置,而會有對於伺服器裝置造成負荷的課題。 As such, in the techniques of Patent Document 1 and Patent Document 2, in order to maintain the connection between the server device and the client device, the server device must periodically respond to the client device, and there may be a server device. The problem that causes the load.

本發明之主要目的在解決此課題,其主要目的為不對通訊對象裝置(例如伺服器裝置)造成負荷,而維持通訊裝置(例如客戶端裝置)與通訊對象裝置之間的連接。 SUMMARY OF THE INVENTION The main object of the present invention is to solve the problem, and a main object thereof is to maintain a connection between a communication device (for example, a client device) and a communication target device without causing a load on a communication target device (for example, a server device).

本發明之通訊裝置之特徵在於具有:通訊部,用以確立與通訊對象裝置的連接;及維持封包傳送部,除傳送給前述通訊對象裝置的要求封包之外,另又傳送用以維持與經由前述通訊部所確立之與前述通訊對象裝置之連接的維持封包。 The communication device of the present invention is characterized in that: a communication unit for establishing a connection with the communication target device; and a maintenance packet transmission unit for transmitting and maintaining the transmission packet to be transmitted to the communication target device. A maintenance packet that is connected to the communication target device established by the communication unit.

依據本發明,由於通訊裝置係除要求封包之外,另又傳送用以維持與通訊對象裝置之連接的維持封包,因此通訊對象裝置不需進行用以維持連接的處理,不會對通訊對象裝置造成負荷,而可維持通訊裝置與通訊對象裝置的連接。 According to the present invention, since the communication device transmits a maintenance packet for maintaining the connection with the communication target device in addition to the request packet, the communication target device does not need to perform the process for maintaining the connection, and does not operate the communication device. The load is generated, and the connection between the communication device and the communication target device can be maintained.

101‧‧‧伺服器裝置 101‧‧‧Server device

102‧‧‧NAT路由器 102‧‧‧NAT router

103‧‧‧客戶端裝置 103‧‧‧Client device

111‧‧‧通訊部 111‧‧‧Communication Department

112‧‧‧通訊控制部 112‧‧‧Communication Control Department

121‧‧‧連接管理部 121‧‧‧ Connection Management Department

122‧‧‧維持封包傳送部 122‧‧‧Maintenance of the packet transfer department

123‧‧‧連接資訊保管部 123‧‧‧Connected to the Information Storage Department

124‧‧‧維持封包TTL調整部 124‧‧‧Maintenance packet TTL adjustment

401‧‧‧TTL值 401‧‧‧TTL value

402‧‧‧傳送來源IP位址 402‧‧‧Transmission source IP address

403‧‧‧傳送對象IP位址 403‧‧‧Transfer object IP address

404‧‧‧傳送來源埠口編號 404‧‧‧Transport source port number

405‧‧‧傳送對象埠口編號 405‧‧‧Transfer target number

901‧‧‧運算裝置 901‧‧‧ arithmetic device

902‧‧‧外部記憶裝置 902‧‧‧External memory device

903‧‧‧主記憶裝置 903‧‧‧Main memory device

904‧‧‧通訊裝置 904‧‧‧Communication device

905‧‧‧輸出入裝置 905‧‧‧Input and output device

ID‧‧‧維持封包傳送執行緒 ID‧‧‧ Maintain packet delivery thread

第1圖係顯示實施形態1及實施形態2之整體系統構成例的圖。 Fig. 1 is a view showing an example of the overall system configuration of the first embodiment and the second embodiment.

第2圖係顯示實施形態1中之通訊控制部之構成例的圖。 Fig. 2 is a view showing an example of the configuration of a communication control unit in the first embodiment.

第3圖係顯示實施形態1中之連接管理部之處理例的流程圖。 Fig. 3 is a flow chart showing an example of processing of the connection management unit in the first embodiment.

第4圖係顯示實施形態1中之維持封包傳送部之處理例的流程圖。 Fig. 4 is a flow chart showing an example of processing of the maintenance packet transfer unit in the first embodiment.

第5圖係顯示實施形態1中之維持封包中所含資訊之例的 圖。 Fig. 5 is a view showing an example of the information contained in the maintenance packet in the first embodiment. Figure.

第6圖係顯示實施形態2中之通訊控制部之構成例的圖。 Fig. 6 is a view showing an example of the configuration of a communication control unit in the second embodiment.

第7圖係顯示實施形態2中之維持封包傳送部之處理例的流程圖。 Fig. 7 is a flow chart showing an example of processing of the maintenance packet transfer unit in the second embodiment.

第8圖係顯示實施形態2中之維持封包TTL調整部之處理例的流程圖。 Fig. 8 is a flow chart showing an example of processing for maintaining the packet TTL adjustment unit in the second embodiment.

第9圖係顯示實施形態1及實施形態2中之客戶端裝置之硬體構成例的圖。 Fig. 9 is a view showing an example of the hardware configuration of the client device in the first embodiment and the second embodiment.

(實施形態1) (Embodiment 1)

在本實施形態中,係說明不會對伺服器裝置造成負荷,而可使伺服器裝置與客戶端裝置之間的連接維持長時間的方式。 In the present embodiment, a description will be given of a method in which the connection between the server device and the client device is maintained for a long period of time without causing a load on the server device.

此外,在專利文獻1及專利文獻2的技術中,會有自傳回回應給客戶端裝置至接收來自客戶端裝置之要求的時間,伺服器裝置無法傳送要求給客戶端裝置的問題。 Further, in the techniques of Patent Document 1 and Patent Document 2, there is a problem that the server device cannot transmit the request to the client device from the time when the response is returned to the client device to receive the request from the client device.

在本實施形態中,係說明解決此種問題,而將自伺服器裝置無法傳送要求至客戶端裝置的時間消除的方式。 In the present embodiment, a description will be given of a method for solving such a problem and eliminating the time required for the server device to transmit the request to the client device.

第1圖係顯示實施形態1中之整體系統之構成例的圖。 Fig. 1 is a view showing a configuration example of the entire system in the first embodiment.

伺服器裝置101係接收來自客戶端裝置103的要求封包,且將對於要求封包的回應封包傳送至客戶端裝置103。 The server device 101 receives the request packet from the client device 103 and transmits a response packet for the requested packet to the client device 103.

本實施形態之伺服器裝置101係可為任何的伺服器裝置,不需要為了本實施形態而對於既有的伺服器裝置進行處理的追加、變更、刪除。 The server device 101 of the present embodiment can be any server device, and it is not necessary to add, change, or delete the processing for the existing server device in the present embodiment.

在伺服器裝置101中,雖可列舉出例如Apache HTTP(Hypertext Transfer Protocol,超文字傳輸通訊協定)伺服器裝置等之HTTP伺服器裝置,但亦可為HTTP伺服器裝置以外的裝置。 The server device 101 may be an HTTP server device such as an Apache HTTP (Hypertext Transfer Protocol) server device, but may be a device other than the HTTP server device.

另外,伺服器裝置101係相當於通訊對象裝置之例。 Further, the server device 101 corresponds to an example of a communication target device.

NAT路由器102係進行IP(Internet Protocol,網際網路通訊協定)位址之轉換的路由器。 The NAT router 102 is a router that performs IP (Internet Protocol) address translation.

一般而言,NAT路由器係轉換在家庭內或企業內所利用之私有(private)IP位址與在網際網路中所利用之外部(global)IP位址,藉此使複數台客戶端可用1個外部IP位址而連接於網際網路。 In general, a NAT router translates the private IP address used in the home or enterprise with the global IP address used in the Internet, thereby making multiple clients available. An external IP address is connected to the Internet.

當在伺服器裝置101與客戶端裝置103之間確立連接時,顯示IP位址之轉換關係的轉換關係資訊即被保存於NAT路由器102的記憶體上。 When the connection is established between the server device 101 and the client device 103, the conversion relationship information indicating the conversion relationship of the IP address is stored in the memory of the NAT router 102.

然而,在伺服器裝置101與客戶端裝置103之間若無通訊一定時間時,轉換關係資訊就會被抹除,之後即無法再進行使用相同連接的通訊。 However, if there is no communication for a certain period of time between the server device 101 and the client device 103, the conversion relationship information is erased, and then communication using the same connection cannot be performed.

一般而言,相對於1台伺服器裝置101,存在有複數台的NAT路由器102。 Generally, there are a plurality of NAT routers 102 with respect to one server device 101.

另外,NAT路由器102係相當於中繼裝置之例。 Further, the NAT router 102 is equivalent to an example of a relay device.

客戶端裝置103係傳送要求封包至伺服器裝置101,且自伺服器裝置101接收回應封包。 The client device 103 transmits a request packet to the server device 101 and receives a response packet from the server device 101.

此外,客戶端裝置103除要求封包之外,另又傳送用以維持與伺服器裝置101之連接的維持封包。 In addition, the client device 103 transmits a maintenance packet to maintain the connection with the server device 101 in addition to the request packet.

一般而言,相對於1台NAT路由器102,連接有複數台的客戶端裝置103。 In general, a plurality of client devices 103 are connected to one NAT router 102.

另外,客戶端裝置103係相當於通訊裝置之例。 Further, the client device 103 is equivalent to an example of a communication device.

接著說明客戶端裝置103之內部構成例。 Next, an example of the internal configuration of the client device 103 will be described.

通訊部111係確立與伺服器裝置101之間的連接,此外,切斷與伺服器裝置101之間的連接。 The communication unit 111 establishes a connection with the server device 101 and disconnects the connection with the server device 101.

如第1圖所示,通訊部111係透過NAT路由器102而在與伺服器裝置101之間確立連接。 As shown in FIG. 1, the communication unit 111 establishes a connection with the server device 101 via the NAT router 102.

通訊部111亦可透過複數個NAT路由器102而確立與伺服器裝置101的連接。 The communication unit 111 can also establish a connection with the server device 101 via a plurality of NAT routers 102.

此外,通訊部111係在確立了與伺服器裝置101的連接之期間,傳送要求封包給伺服器裝置101,且自伺服器裝置101接收回應封包。 Further, the communication unit 111 transmits a request packet to the server device 101 while receiving the connection with the server device 101, and receives the response packet from the server device 101.

例如,伺服器裝置101為HTTP伺服器裝置時,通訊部111係傳送HTTP要求封包,且自伺服器裝置101接收HTTP回應封包。 For example, when the server device 101 is an HTTP server device, the communication unit 111 transmits an HTTP request packet and receives an HTTP response packet from the server device 101.

通訊控制部112係自通訊部111接受連接開始事件(event)或連接結束事件,且為了維持伺服器裝置101與客戶端裝置103之間的連接而傳送維持封包。 The communication control unit 112 receives a connection start event or a connection end event from the communication unit 111, and transmits a maintenance packet in order to maintain the connection between the server device 101 and the client device 103.

連接開始事件係為通知通訊部111已確立了與伺服器裝置101之間之連接的事件。 The connection start event is an event that notifies the communication unit 111 that the connection with the server device 101 has been established.

連接結束事件係為通知通訊部111已切斷了與伺服器裝置101之間之連接的事件。 The connection end event is an event that notifies the communication unit 111 that the connection with the server device 101 has been cut.

在連接開始事件及連接結束事件中,係包含有傳送來源IP 位址、傳送來源埠口(port)編號、傳送對象IP位址、及傳送對象埠口編號。 In the connection start event and the connection end event, the transmission source IP is included. Address, transmission source port number, transfer destination IP address, and transfer destination port number.

第2圖係顯示第1圖所示之通訊控制部112的構成例。 Fig. 2 is a view showing an example of the configuration of the communication control unit 112 shown in Fig. 1.

連接管理部121係自通訊部111接受連接開始事件,且進行維持封包傳送部122的啟動。 The connection management unit 121 receives the connection start event from the communication unit 111 and starts the maintenance of the packet transfer unit 122.

此外,連接管理部121係自通訊部111接受連接結束事件,且進行維持封包傳送部122的停止。 Further, the connection management unit 121 receives the connection completion event from the communication unit 111 and stops the maintenance of the packet transfer unit 122.

此外,連接管理部121係在維持封包傳送部122啟動時,將用於維持封包傳送部122之啟動的連接資訊,追加於連接資訊保管部123。 Further, when the maintenance packet transfer unit 122 is activated, the connection management unit 121 adds the connection information for maintaining the activation of the packet transfer unit 122 to the connection information storage unit 123.

再者,在維持封包傳送部122停止時,自連接資訊保管部123刪除連接資訊。 Further, when the maintenance packet transfer unit 122 is stopped, the connection information is deleted from the connection information storage unit 123.

維持封包傳送部122係傳送維持封包。 The maintenance packet transfer unit 122 transmits the maintenance packet.

維持封包係包含第5圖所示的資訊。 The maintenance package contains the information shown in Figure 5.

第5圖所示之各項目將於後陳述。 The items shown in Figure 5 will be stated later.

連接資訊保管部123係保持連接資訊。 The connection information storage unit 123 holds the connection information.

連接資訊中,係記述有傳送來源IP位址、傳送來源埠口編號、傳送對象IP位址、傳送對象埠口編號與維持封包傳送執行緒(thread)ID。 In the connection information, the transmission source IP address, the transmission source port number, the transmission destination IP address, the transmission target port number, and the maintenance packet transmission thread (thread) ID are described.

所謂維持封包傳送執行緒ID係供維持封包傳送部122動作的識別符。 The maintenance packet transmission thread ID is an identifier for maintaining the operation of the packet transmission unit 122.

第3圖係顯示實施形態1中之連接管理部121之處理例的流程圖。 Fig. 3 is a flowchart showing a processing example of the connection management unit 121 in the first embodiment.

在處理301中,連接管理部121係自通訊部111接受連接開始事件或連接結束事件。 In the process 301, the connection management unit 121 receives a connection start event or a connection end event from the communication unit 111.

在連接開始事件及連接結束事件之各者中,係包含有傳送來源IP位址、傳送來源埠口編號、傳送對象IP位址、傳送對象埠口編號。 Each of the connection start event and the connection end event includes a transmission source IP address, a transmission source port number, a transmission target IP address, and a transmission target port number.

在處理302中,連接管理部121係判斷自通訊部111所接受之事件的類別。 In the process 302, the connection management unit 121 determines the type of the event accepted by the communication unit 111.

所接受之事件為連接開始事件時,連接管理部121係前進至處理303。 When the accepted event is a connection start event, the connection management unit 121 proceeds to process 303.

所接受之事件為連接結束事件時,連接管理部121係前進至處理305。 When the accepted event is the connection end event, the connection management unit 121 proceeds to process 305.

在處理303中,連接管理部121係以另外的執行緒啟動維持封包傳送部122。 In the process 303, the connection management unit 121 starts the maintenance packet transfer unit 122 with another thread.

此時,連接管理部121係將連接開始事件中所含的資訊交付至維持封包傳送部122。 At this time, the connection management unit 121 delivers the information included in the connection start event to the maintenance packet transfer unit 122.

此外,連接管理部121係先取得屬於已啟動了維持封包傳送部122之執行緒之執行緒ID的維持封包傳送執行緒ID。 Further, the connection management unit 121 first acquires the maintenance packet transmission thread ID belonging to the thread ID of the thread that has started the maintenance packet transmission unit 122.

在處理304中,連接管理部121係保管連接資訊於連接資訊保管部123。 In the process 304, the connection management unit 121 stores the connection information in the connection information storage unit 123.

在保管於連接資訊保管部123的連接資訊中,係包含有傳送來源IP位址、傳送來源埠口編號、傳送對象IP位址、傳送對象埠口編號、及維持封包傳送執行緒ID。 The connection information stored in the connection information storage unit 123 includes a transmission source IP address, a transmission source port number, a transmission destination IP address, a transmission destination port number, and a maintenance packet transmission thread ID.

在處理304結束後,返回處理301。 After the process 304 ends, the process 301 is returned.

在處理305中,連接管理部121係自連接資訊保 管部123取得連接資訊中所含之維持封包傳送執行緒ID。 In the process 305, the connection management unit 121 is self-connected information protection. The pipe unit 123 acquires the maintenance packet transmission thread ID included in the connection information.

此外,連接管理部121係自連接資訊保管部123將包含維持封包傳送執行緒ID的連接資訊刪除。 Further, the connection management unit 121 deletes the connection information including the maintenance packet transmission thread ID from the connection information storage unit 123.

在處理306中,連接管理部121係傳送執行緒停止命令至維持封包傳送部122。 In the process 306, the connection management unit 121 transmits a thread stop command to the maintenance packet transfer unit 122.

藉此,維持封包傳送部122即停止動作。 Thereby, the operation of stopping the packet transfer unit 122 is stopped.

另外,停止對象的執行緒,係為與在處理305中所取得之維持封包傳送執行緒ID對應的執行緒。 Further, the thread of the stop object is a thread corresponding to the maintenance packet transfer thread ID acquired in the process 305.

在處理306結束之後,返回處理301。 After the end of the process 306, the process 301 is returned.

第4圖係顯示實施形態1之維持封包傳送部122之處理例的流程圖。 Fig. 4 is a flow chart showing an example of processing of the maintenance packet transfer unit 122 of the first embodiment.

在處理311中,維持封包傳送部122係自連接管理部121接受連接開始事件中所含的資訊,且作為另外的執行緒開始處理。 In the process 311, the maintenance packet transfer unit 122 receives the information included in the connection start event from the connection management unit 121, and starts the process as another thread.

在處理312中,維持封包傳送部122係待機一定時間。 In the process 312, the packet transfer unit 122 is maintained for a predetermined period of time.

待機時間係依每一客戶端裝置103而決定的固定值,且藉由自設定檔案讀取或由使用者輸入來設定。 The standby time is a fixed value determined by each client device 103, and is set by reading from a setting file or input by a user.

在處理313中,維持封包傳送部122係判斷是否已自連接管理部121接收了執行緒停止命令。 In the process 313, the maintenance packet transfer unit 122 determines whether or not the thread stop command has been received from the connection management unit 121.

已接收了執行緒停止命令時,維持封包傳送部122即結束處理。 When the thread stop command has been received, the maintenance packet transfer unit 122 ends the processing.

未接收執行緒停止命令時,維持封包傳送部122則前進至處理314。 When the thread stop command is not received, the maintenance packet transfer unit 122 proceeds to process 314.

在處理314中,維持封包傳送部122係指定TTL(Time To Live,存留時間)值,且產生以伺服器裝置101為傳送對象的維持封包,並傳送維持封包。 In the process 314, the maintenance packet transfer unit 122 specifies a TTL (Time To Live) value, and generates a maintenance packet to be transmitted by the server device 101, and transmits a maintenance packet.

在此,TTL值係依每一客戶端裝置103而決定的固定值,且藉由自認定檔案讀取或由使用者輸入來設定。 Here, the TTL value is a fixed value determined by each client device 103, and is set by self-identification file reading or user input.

此時,TTL值係設為維持封包不足以到達伺服器裝置101的值(例如1至10左右)。 At this time, the TTL value is set to a value (for example, about 1 to 10) that maintains the packet insufficient to reach the server device 101.

換言之,維持封包傳送部122係將維持封包未到達伺服器裝置101,而維持封包會在任一個NAT路由器102中被廢棄的TTL值設定於維持封包。 In other words, the maintenance packet transfer unit 122 maintains that the packet does not reach the server device 101, and maintains that the TTL value that the packet is discarded in any of the NAT routers 102 is set to the maintenance packet.

另外,維持封包傳送部122係當在處理314的時點已產生有維持封包時,不需重新產生維持封包,而傳送已經產生的維持封包。 Further, the maintenance packet transfer unit 122 does not need to regenerate the maintenance packet when the maintenance packet has been generated at the time of the process 314, but transmits the maintenance packet that has been generated.

在處理314結束之後,返回處理312。 After the end of process 314, processing 312 is returned.

第5圖係顯示實施形態1之維持封包中所含的資訊。 Fig. 5 is a view showing information contained in the maintenance packet of the first embodiment.

維持封包係TCP(Transmission Control Protocol,傳輸控制協定)封包或UDP(User Datagram Protocol,用戶資料報協定)封包或以該等為依據的封包,且包含有第5圖所示之資訊。 The packet is a TCP (Transmission Control Protocol) packet or a UDP (User Datagram Protocol) packet or a packet based on the packet, and includes the information shown in FIG.

TTL值401係表示IPv4封包之標頭(header)中所含之封包之生存時間的值,且在0至255的範圍內指定。 The TTL value 401 indicates the value of the lifetime of the packet contained in the header of the IPv4 packet, and is specified in the range of 0 to 255.

TTL值係每逢封包被路由器轉送就各減少1。 The TTL value is reduced by 1 each time the packet is forwarded by the router.

TTL值成為0的封包被廢棄。 A packet with a TTL value of 0 is discarded.

在IPv6封包的標頭中,係有具有相同意義及功能的Hop Limit(跳躍限制)。 In the header of an IPv6 packet, there is a Hop Limit with the same meaning and function.

在通訊部111中,為了使要求封包確實地到達伺服器裝置101,係將TTL值設定為128等充分大的值。 In the communication unit 111, in order to surely request the packet to reach the server device 101, the TTL value is set to a sufficiently large value such as 128.

另一方面,維持封包傳送部122為了使維持封包不會到達伺服器裝置101,係將TTL值設定為不足以使維持封包到達伺服器裝置101的值。 On the other hand, in order to prevent the maintenance packet from reaching the server device 101, the maintenance packet transfer unit 122 sets the TTL value to be insufficient to maintain the value of the packet reaching the server device 101.

傳送來源IP位址402係客戶端裝置103的IP位址。 The transmission source IP address 402 is the IP address of the client device 103.

傳送來源IP位址402係為與通訊部111所傳送之要求封包、及維持封包傳送部122所傳送之維持封包均皆相同的值。 The transmission source IP address 402 is the same value as the request packet transmitted by the communication unit 111 and the maintenance packet transmitted by the maintenance packet transfer unit 122.

傳送對象IP位址403係通訊對象之伺服器裝置101的IP位址。 The transfer destination IP address 403 is the IP address of the server device 101 of the communication object.

傳送對象IP位址403係為與通訊部111所傳送之要求封包、及維持封包傳送部122所傳送之維持封包均皆相同的值。 The transfer destination IP address 403 is the same value as the request packet transmitted by the communication unit 111 and the maintenance packet transmitted by the hold packet transfer unit 122.

傳送來源埠口編號404係客戶端裝置103使用於封包傳送的埠口編號。 The transmission source port number 404 is the port number used by the client device 103 for packet transmission.

傳送來源埠口編號404係為與通訊部111所傳送之要求封包、及維持封包傳送部122所傳送之維持封包均皆相同的值。 The transmission source port number 404 is the same value as the request packet transmitted by the communication unit 111 and the maintenance packet transmitted by the maintenance packet transfer unit 122.

傳送對象埠口編號405係伺服器裝置101使用於封包接收的埠口編號。 The transfer destination port number 405 is a port number used by the server device 101 for packet reception.

傳送對象埠口編號405係為與通訊部111所傳送之要求封包、及維持封包傳送部122所傳送之維持封包均皆相同的值。 The transfer destination port number 405 is the same value as the request packet transmitted by the communication unit 111 and the maintenance packet transmitted by the maintenance packet transfer unit 122.

具有第5圖之內容的維持封包,係從客戶端裝置103傳送至與客戶端裝置103直接連結的NAT路由器102,之 後,雖朝向伺服器裝置101而轉送於NAT路由器102間,但在到達伺服器裝置101之前,TTL值成為0,而在任一個NAT路由器102被廢棄。 The maintenance packet having the content of FIG. 5 is transmitted from the client device 103 to the NAT router 102 directly connected to the client device 103. Thereafter, although it is transferred to the NAT device 102 toward the server device 101, the TTL value becomes 0 before reaching the server device 101, and any of the NAT routers 102 is discarded.

在各NAT路由器102中,由於定期地接收維持封包,因此用以中繼伺服器裝置101與客戶端裝置103之間之封包的轉換關係資訊不會被抹除,因此,伺服器裝置101與客戶端裝置103之間的連接會被維持。 In each of the NAT routers 102, since the maintenance packet is periodically received, the conversion relationship information for relaying the packet between the server device 101 and the client device 103 is not erased, and therefore, the server device 101 and the client The connection between the end devices 103 will be maintained.

如此,在本實施形態中,伺服器裝置101不需要以維持連接為目的而定期地將回應封包傳送至客戶端裝置103。 As described above, in the present embodiment, the server device 101 does not need to periodically transmit the response packet to the client device 103 for the purpose of maintaining the connection.

因此,依據本實施形態,可獲得在沒有自伺服器裝置101傳送給客戶端裝置103的要求時,伺服器裝置101可保留回應封包的傳送,而減輕伺服器裝置101之負荷的效果。 Therefore, according to the present embodiment, it is possible to obtain the effect that the server device 101 can retain the transmission of the response packet without reducing the load of the server device 101 when there is no request from the server device 101 to the client device 103.

此外,由於伺服器裝置101不需要以維持連接為目的而定期地將回應封包傳送至客戶端裝置103,因此可在傳送給客戶端裝置103的要求產生時傳送回應封包。 Moreover, since the server device 101 does not need to periodically transmit the response packet to the client device 103 for the purpose of maintaining the connection, the response packet can be transmitted when the request transmitted to the client device 103 is generated.

因此,依據本實施形態,可獲得無法自伺服器裝置101傳送要求給客戶端裝置103的時間成為0的效果。 Therefore, according to the present embodiment, it is possible to obtain an effect that the time required to transmit the request to the client device 103 from the server device 101 becomes zero.

此外,在本實施形態中,係調整維持封包的TTL值,藉此使維持封包不到達伺服器裝置101,因此可獲得伺服器裝置101不需處理維持封包,而不會對於伺服器裝置101造成負荷的效果。 Further, in the present embodiment, the TTL value of the maintenance packet is adjusted, whereby the maintenance packet does not reach the server device 101, so that the server device 101 can be obtained without processing the maintenance packet without causing the server device 101 to be caused. The effect of the load.

(實施形態2) (Embodiment 2)

茲使用第1圖、第5圖、第6圖至第8圖來說明實施形態2。 The second embodiment will be described with reference to Figs. 1, 5, and 6 to 8.

在本實施形態中,系統構成亦如第1圖所示。 In the present embodiment, the system configuration is also as shown in Fig. 1.

此外,維持封包中所含的資訊,亦如第5圖所示。 In addition, maintaining the information contained in the package is also shown in Figure 5.

以下說明與實施形態1的不同點。 Differences from the first embodiment will be described below.

第6圖係顯示實施形態2中之通訊控制部112的構成例。 Fig. 6 is a view showing an example of the configuration of the communication control unit 112 in the second embodiment.

在第6圖中,相較於第2圖所示之構成,係追加了維持封包TTL調整部124。 In Fig. 6, the maintenance packet TTL adjustment unit 124 is added as compared with the configuration shown in Fig. 2 .

維持封包TTL調整部124係執行第8圖所示之處理,且特別指定設定於維持封包的TTL值。 The maintenance packet TTL adjustment unit 124 performs the processing shown in FIG. 8 and specifies the TTL value set to the maintenance packet.

維持封包TTL調整部124係相當於TTL值特別指定部之例。 The maintenance packet TTL adjustment unit 124 corresponds to an example of a TTL value specifying unit.

此外,在本實施形態中,維持封包傳送部122係自連接管理部121接受連接資訊,且自維持封包TTL調整部124接受TTL值,並將第5圖所示之包含資訊的維持封包對伺服器裝置101進行傳送。 Further, in the present embodiment, the maintenance packet transfer unit 122 receives the connection information from the connection management unit 121, and receives the TTL value from the maintenance packet TTL adjustment unit 124, and maintains the packet containing the information shown in FIG. The device 101 transmits.

連接管理部121、連接資訊保管部123係與在實施形態1中所說明者相同,故說明從略。 The connection management unit 121 and the connection information storage unit 123 are the same as those described in the first embodiment, and thus the description thereof will be omitted.

第7圖係顯示實施形態2中之維持封包傳送部122之處理例的流程圖。 Fig. 7 is a flowchart showing an example of processing of the maintenance packet transfer unit 122 in the second embodiment.

在處理321中,維持封包傳送部122係自連接管理部121接受連接開始事件,且作為另外的執行緒而開始動作。 In the process 321, the maintenance packet transfer unit 122 receives the connection start event from the connection management unit 121, and starts the operation as another thread.

在處理322中,維持封包傳送部122係自維持封包TTL調整部124取得TTL值。 In the process 322, the maintenance packet transfer unit 122 acquires the TTL value from the maintenance packet TTL adjustment unit 124.

在處理323中,維持封包傳送部122係待機一定 時間。 In the process 323, the packet transfer unit 122 is maintained in standby. time.

待機時間係依每一客戶端裝置103而決定的固定值,且藉由自設定檔案讀取或由使用者的輸入來設定。 The standby time is a fixed value determined by each client device 103, and is set by self-setting file reading or input by the user.

在處理324中,維持封包傳送部122係判斷是否已自連接管理部121接收了執行緒停止命令。 In the process 324, the maintenance packet transfer unit 122 determines whether or not the thread stop command has been received from the connection management unit 121.

已接收了執行緒停止命令時,維持封包傳送部122即結束處理。 When the thread stop command has been received, the maintenance packet transfer unit 122 ends the processing.

未接收執行緒停止命令時,維持封包傳送部122則前進至處理325。 When the thread stop command is not received, the maintenance packet transfer unit 122 proceeds to process 325.

在處理325中,維持封包傳送部122係特別指定TTL值,且產生以伺服器裝置101為傳送對象的維持封包,並傳送維持封包。 In the process 325, the maintenance packet transfer unit 122 specifies a TTL value, and generates a maintenance packet to be transmitted by the server device 101, and transmits a maintenance packet.

在此,TTL值係在處理322中所取得的TTL值。 Here, the TTL value is the TTL value obtained in process 322.

另外,維持封包傳送部122係當在處理325的時點已產生了維持封包時,不需重新產生維持封包,而傳送已經產生的維持封包。 In addition, the maintenance packet transfer unit 122 does not need to regenerate the maintenance packet when the maintenance packet has been generated at the time of the process 325, but transmits the maintenance packet that has been generated.

處理325結束之後,返回處理323。 After the process 325 ends, the process 323 is returned.

第8圖係顯示實施形態2中之維持封包TTL調整部124之處理例的流程圖。 Fig. 8 is a flowchart showing an example of processing of the maintenance packet TTL adjustment unit 124 in the second embodiment.

在處理701中,維持封包TTL調整部124係藉由維持封包TTL調整部124中所含的TTL值取得功能而試行取得從客戶端裝置103至伺服器裝置101的TTL值。 In the process 701, the maintenance packet TTL adjustment unit 124 tries to acquire the TTL value from the client device 103 to the server device 101 by maintaining the TTL value acquisition function included in the packet TTL adjustment unit 124.

以TTL值取得功能而言,可考慮例如Linux(註冊商標)之traceroute指令或Windows(註冊商標)的tracert指令或其 他同等的功能。 For the TTL value acquisition function, for example, a traceroute instruction of Linux (registered trademark) or a tracert instruction of Windows (registered trademark) or He has the same function.

在traceroute指令中,由於在協定中使用UDP或ICMP(Internet Control Message Protocol,網際網路控制訊息協定),因此會有與通訊部111所使用之協定不同的情形。 In the traceroute command, since UDP or ICMP (Internet Control Message Protocol) is used in the protocol, there is a case where the protocol used by the communication unit 111 is different.

因此,會有traceroute指令失敗而無法取得TTL值的情形。 Therefore, there is a case where the traceroute command fails and the TTL value cannot be obtained.

在處理702中,維持封包TTL調整部124係判斷是否已可藉由處理701取得了TTL值。 In the process 702, the maintenance packet TTL adjustment unit 124 determines whether the TTL value has been acquired by the process 701.

已可取得了TTL值時,維持封包TTL調整部124即前進至處理707。 When the TTL value is already available, the hold packet TTL adjustment unit 124 proceeds to process 707.

無法取得TTL值時,維持封包TTL調整部124則前進至處理703。 When the TTL value cannot be obtained, the maintenance packet TTL adjustment unit 124 proceeds to process 703.

從處理703至處理706,係TTL值取得功能在處理701中無法取得TTL值時用以取得TTL值的處理。 From process 703 to process 706, the TTL value acquisition function is used to obtain the TTL value when the TTL value cannot be obtained in the process 701.

在處理703中,維持封包TTL調整部124係設定1作為在處理704中所傳送之維持封包的初期TTL值。 In the process 703, the maintenance packet TTL adjustment unit 124 sets 1 as the initial TTL value of the maintenance packet transmitted in the process 704.

在處理704中,維持封包TTL調整部124係將已指定了在處理703或處理706中所設定之TTL值的維持封包傳送給伺服器裝置101。 In process 704, the maintenance packet TTL adjustment unit 124 transmits the maintenance packet specifying the TTL value set in the process 703 or the process 706 to the server device 101.

在此,在要傳送的維持封包中,係使用與通訊部111所使用的協定相同的協定。 Here, in the maintenance packet to be transmitted, the same protocol as that used by the communication unit 111 is used.

在處理705中,維持封包TTL調整部124係判斷是否已從伺服器裝置101接收了對於維持封包的回應封包。 In the process 705, the maintenance packet TTL adjustment unit 124 determines whether a response packet for the maintenance packet has been received from the server device 101.

在接收了回應封包時,維持封包TTL調整部124即前進至處理707。 Upon receiving the response packet, the maintenance packet TTL adjustment unit 124 proceeds to process 707.

在未接收到回應封包時,維持封包TTL調整部124則前進至處理706。 When the response packet is not received, the maintenance packet TTL adjustment unit 124 proceeds to process 706.

在處理706中,維持封包TTL調整部124係將在處理704中所傳送之封包的TTL值增加1。 In process 706, the hold packet TTL adjustment unit 124 increments the TTL value of the packet transmitted in process 704 by one.

在處理707中,係使在處理702或從處理703至處理706中所取得的TTL值減少1。 In process 707, the TTL value obtained in process 702 or from process 703 to process 706 is decreased by one.

此係由於將TTL值設為維持封包會到達直到伺服器裝置101為止之路徑上的NAT路由器102但不會到達伺服器裝置101的值之故。 This is because the TTL value is set to a value that maintains the NAT router 102 on the path up to the server device 101 but does not reach the value of the server device 101.

換言之,維持封包TTL調整部124係藉由進行處理701至處理707,特別指定可使維持封包到達伺服器裝置101之前一個NAT路由器102為止的TTL值。 In other words, the maintenance packet TTL adjustment unit 124 specifies the TTL value that can be used to maintain the packet before reaching the NAT router 102 before the server device 101 by performing the process 701 to the process 707.

如此,藉由將TTL值設為維持封包不會到達伺服器裝置101的值,不會對伺服器裝置101造成負荷,而可防止伺服器裝置101與客戶端裝置103之間的連接逾時中斷。 Thus, by setting the TTL value to a value that does not reach the server device 101, the server device 101 is not burdened, and the connection between the server device 101 and the client device 103 is prevented from being interrupted. .

以上雖已說明了本發明之實施形態,但該等實施形態亦可組合實施。 Although the embodiments of the present invention have been described above, the embodiments may be combined.

或者,該等實施形態中,亦可局部實施1個。 Alternatively, in the embodiments, one may be partially implemented.

或者,該等實施形態亦可局部組合實施。 Alternatively, the embodiments may be implemented in a partial combination.

另外,本發明並不限定於該等實施形態,亦可視需要作各種變更。 Further, the present invention is not limited to the embodiments, and various modifications may be made as needed.

最後,參照第9圖來說明實施形態1及實施形態2所示之客戶端裝置103之硬體構成例。 Finally, a hardware configuration example of the client device 103 shown in the first embodiment and the second embodiment will be described with reference to FIG.

客戶端裝置103係電腦,可藉由程式來實現客戶端裝置 103的各要素。 The client device 103 is a computer, and the client device can be implemented by a program Each element of 103.

以客戶端裝置103的硬體構成而言,係在匯流排(bus)連接有運算裝置901、外部記憶裝置902、主記憶裝置903、通訊裝置904、及輸出入裝置905。 In the hardware configuration of the client device 103, the arithmetic unit 901, the external memory device 902, the main memory device 903, the communication device 904, and the input/output device 905 are connected to a bus.

運算裝置901係執行程式的CPU(Central Processing Unit,中央處理單元)。 The arithmetic unit 901 is a CPU (Central Processing Unit) that executes a program.

外部記憶裝置902係例如為ROM(Reada Only Memory,唯讀記憶體)或快閃記憶體(Flash Memory)、硬碟(Harddisk)裝置。 The external memory device 902 is, for example, a ROM (Reada Only Memory), a flash memory (Flash Memory), or a hard disk (Harddisk) device.

主記憶裝置903係RAM(Random Access Memory,隨機存取記憶體)。 The main memory device 903 is a RAM (Random Access Memory).

通訊裝置904係與通訊部111的實體層對應。 The communication device 904 corresponds to the physical layer of the communication unit 111.

輸出入裝置905係例如為滑鼠(mouse)、鍵盤(keyboard)、顯示器(display)裝置等。 The input/output device 905 is, for example, a mouse, a keyboard, a display device, or the like.

程式通常記憶於外部記憶裝置902,且在載入於主記憶裝置903的狀態下,依序被讀入於運算裝置901且予以執行。 The program is usually stored in the external memory device 902, and is loaded in the main memory device 903, and sequentially read into the arithmetic device 901 and executed.

程式係實現第1圖、第2圖及第6圖所示之說明作為「~部」之功能的程式。 The program realizes the functions shown in the first, second, and sixth figures as functions of the "~ part".

再者,在外部記憶裝置902中亦記憶有操作系統(Operating System,OS),而OS的至少一部分係被載入於主記憶裝置903,運算裝置901係一面執行OS,一面執行第1圖、第2圖及第6圖所示之「~部」之功能的程式。 Further, an external operating device 902 also stores an operating system (OS), and at least a part of the OS is loaded in the main memory device 903. The computing device 901 executes the first image while executing the OS. The program of the function of "~ part" shown in Fig. 2 and Fig. 6.

此外,在實施形態1及實施形態2之說明中,顯示說明作 為「~判斷」、「~之判定」、「~之特別指定」、「~之設定」、「~之指定」、「~之選擇」、「~之產生」、「~之接收」等之處理結果的資訊或資料或訊號值或變數值係被作為檔案而記憶於主記憶裝置903。 In addition, in the description of the first embodiment and the second embodiment, the explanation is displayed. For "~judgment", "decision of ~", "special designation of ~", "setting of ~", "designation of ~", "selection of ~", "production of ~", "reception of ~", etc. The information or data or signal value or variable value of the processing result is stored as a file in the main memory device 903.

另外,第9圖之構成僅為顯示客戶端裝置103之硬體構成之一例者,客戶端裝置103之硬體構成並不限定於第9圖所示之構成,亦可為其他構成。 Further, the configuration of Fig. 9 is only one example of the hardware configuration of the client device 103. The hardware configuration of the client device 103 is not limited to the configuration shown in Fig. 9, and may be other configurations.

此外,實施形態1及實施形態2所示之伺服器裝置101,亦可為第9圖之硬體構成,亦可為其他硬體構成。 Further, the server device 101 shown in the first embodiment and the second embodiment may be configured as a hard body of the ninth drawing or may be of another hard body.

此外,藉由實施形態1及實施形態2所示之程序,可實現本發明之通訊方法。 Further, the communication method of the present invention can be realized by the programs shown in the first embodiment and the second embodiment.

101‧‧‧伺服器裝置 101‧‧‧Server device

102‧‧‧NAT路由器 102‧‧‧NAT router

103‧‧‧客戶端裝置 103‧‧‧Client device

111‧‧‧通訊部 111‧‧‧Communication Department

112‧‧‧通訊控制部 112‧‧‧Communication Control Department

Claims (5)

一種通訊裝置,其特徵在於具有:通訊部,用以透過1個以上的中繼裝置而確立與通訊對象裝置的連接;TTL(Time To Live,存留時間)值特別指定部,用以在接收來自該通訊對象裝置的回應封包之前,TTL值增加1,同時向該通訊對象裝置傳送用以設定TTL值的TTL值特別指定用封包,並且在接收來自該通訊對象裝置的回應封包之時,從接收來自該通訊對象裝置之回應封包的TTL值特別指定用封包設定之TTL值減少1,以該減少的TTL值作為特別指定直到前述通訊對象裝置之前一個中繼裝置為止的TTL值;及維持封包傳送部,向該通訊對象裝置傳送藉由該TTL特別指定部所特別指定、用以設定直到前述通訊對象裝置之前一個中繼裝置為止之TTL值的維持封包,以維持與經由前述通訊部所確立之與前述通訊對象裝置之連接。 A communication device comprising: a communication unit for establishing a connection with a communication target device via one or more relay devices; and a TTL (Time To Live) value specifying unit for receiving from Before the response packet of the communication target device, the TTL value is increased by 1, and a TTL value specifying packet for setting the TTL value is transmitted to the communication target device, and the receiving packet is received when receiving the response packet from the communication target device. The TTL value of the response packet from the communication target device specifically specifies that the TTL value set by the packet is decreased by 1, and the reduced TTL value is used as a TTL value specified until a relay device before the communication target device; and the packet transmission is maintained. And transmitting, to the communication target device, a maintenance packet specified by the TTL specifying unit to set a TTL value up to a relay device before the communication target device, to maintain and establish the TTL value established by the communication unit The connection with the aforementioned communication target device. 根據申請專利範圍第1項之通訊裝置,其中前述維持封包傳送部係依一定的時間間隔傳送該維持封包。 The communication device according to claim 1, wherein the maintenance packet transfer unit transmits the maintenance packet at a certain time interval. 根據申請專利範圍第1項之通訊裝置,其中前述通訊部係透過1個以上的NAT(Network Address Translation)路由器而確立與前述通訊對象裝置的連接;該TTL特別指定部特別指定直到前述通訊對象裝置之前一個NAT路由器為止的TTL值。 The communication device according to the first aspect of the invention, wherein the communication unit establishes a connection with the communication target device via one or more NAT (Network Address Translation) routers; and the TTL specifying unit specifies the communication device device The TTL value of a previous NAT router. 一種通訊方法,包括:通信步驟,由電腦透過1個以上的中繼裝置而確立與通訊對象裝置的連接;TTL(Time To Live,存留時間)值特別指定步驟,該電腦在接收來自該通訊對象裝置的回應封包之前,TTL值增加1,同時向該通訊對象裝置傳送用以設定TTL值的TTL值特別指定用封包,並且在接收來自該通訊對象裝置的回應封包之時,從接收來自該通訊對象裝置之回應封包的TTL值特別指定用封包設定之TTL值減少1,以該減少的TTL值作為特別指定直到前述通訊對象裝置之前一個中繼裝置為止的TTL值;以及維持封包傳送步驟,該電腦向該通訊對象裝置傳送藉由該TTL特別指定步驟所特別指定、用以設定直到前述通訊對象裝置之前一個中繼裝置為止之TTL值的維持封包,以維持與經由前述通訊步驟所確立之與前述通訊對象裝置之連接。 A communication method includes: a communication step of establishing a connection with a communication target device by a computer through one or more relay devices; a TTL (Time To Live) value specifying step, the computer receiving the communication target object Before the response packet of the device, the TTL value is increased by 1, and the TTL value for specifying the TTL value is specifically transmitted to the communication target device, and the receiving packet is received from the communication device when receiving the response packet from the communication target device. The TTL value of the response packet of the target device specifically specifies that the TTL value set by the packet is decreased by 1, and the reduced TTL value is used as a TTL value specified until a relay device before the communication target device; and the packet transmission step is maintained. The computer transmits, to the communication target device, a maintenance packet specified by the TTL special designation step to set a TTL value up to a relay device before the communication target device, to maintain the relationship established by the communication step The connection of the aforementioned communication target device. 一種程式產品,令電腦執行以下的處理:通訊處理,用以透過1個以上的中繼裝置而確立與通訊對象裝置的連接;及TTL(Time To Live,存留時間)值特別指定處理,用以在接收來自該通訊對象裝置的回應封包之前,TTL值增加1,同時向該通訊對象裝置傳送用以設定TTL值的TTL值特別指定用封包,並且在接收來自該通訊對象裝置的回應封包之時,從接收來自該通訊對象裝置之回應封包的TTL值特 別指定用封包設定之TTL值減少1,以該減少的TTL值作為特別指定直到前述通訊對象裝置之前一個中繼裝置為止的TTL值;以及維持封包傳送處理,向該通訊對象裝置傳送藉由該TTL特別指定處理所特別指定、用以設定直到前述通訊對象裝置之前一個中繼裝置為止之TTL值的維持封包,以維持與經由前述通訊處理所確立之與前述通訊對象裝置之連接。 A program product for causing a computer to perform the following processing: communication processing for establishing a connection with a communication target device through one or more relay devices; and TTL (Time To Live) value specifying processing for The TTL value is incremented by 1 before receiving the response packet from the communication target device, and the TTL value specifying packet for setting the TTL value is transmitted to the communication target device, and when receiving the response packet from the communication target device , from receiving the TTL value of the response packet from the communication target device Do not specify that the TTL value set by the packet is decreased by 1, and the reduced TTL value is used as a TTL value that is specified until one of the relay devices before the communication target device; and the packet transmission process is maintained, and the packet transmission process is transmitted to the communication target device. The TTL specifies a maintenance packet specifically designated by the processing to set a TTL value up to one of the relay devices before the communication target device, so as to maintain the connection with the communication target device established via the communication processing.
TW103121506A 2014-05-23 2014-06-23 Communication devices and communication methods and program products TWI554057B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/063704 WO2015177924A1 (en) 2014-05-23 2014-05-23 Communication device, communication method and program

Publications (2)

Publication Number Publication Date
TW201545509A TW201545509A (en) 2015-12-01
TWI554057B true TWI554057B (en) 2016-10-11

Family

ID=54553615

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103121506A TWI554057B (en) 2014-05-23 2014-06-23 Communication devices and communication methods and program products

Country Status (3)

Country Link
JP (1) JPWO2015177924A1 (en)
TW (1) TWI554057B (en)
WO (1) WO2015177924A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200623713A (en) * 2004-04-28 2006-07-01 Nokia Corp System and method for maximizing connectivity during network failures in a cluster system
US20110286373A1 (en) * 2007-03-12 2011-11-24 Microsoft Corporation Cost reduction of nat connection state keep-alive
US20140056313A1 (en) * 2012-03-02 2014-02-27 Canon Kabushiki Kaisha Communication system, client apparatus, server apparatus, communication method, and program

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4533170B2 (en) * 2004-02-09 2010-09-01 キヤノン株式会社 Information processing apparatus, control method, and program
US20070022198A1 (en) * 2005-07-19 2007-01-25 Samsung Electronics Co., Ltd. Method and system for pushing asynchronous notifications to networked devices
JP2007208999A (en) * 2007-02-19 2007-08-16 Fractalist Inc Communication method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200623713A (en) * 2004-04-28 2006-07-01 Nokia Corp System and method for maximizing connectivity during network failures in a cluster system
US20110286373A1 (en) * 2007-03-12 2011-11-24 Microsoft Corporation Cost reduction of nat connection state keep-alive
US20140056313A1 (en) * 2012-03-02 2014-02-27 Canon Kabushiki Kaisha Communication system, client apparatus, server apparatus, communication method, and program

Also Published As

Publication number Publication date
WO2015177924A1 (en) 2015-11-26
TW201545509A (en) 2015-12-01
JPWO2015177924A1 (en) 2017-04-20

Similar Documents

Publication Publication Date Title
US10027781B2 (en) TCP link configuration method, apparatus, and device
US10187284B2 (en) Communication device, server device, communication method, and non-transitory computer readable medium
US10375025B2 (en) Virtual private network implementation method and client device
US20170026224A1 (en) Resilient segment routing service hunting with tcp session stickiness
EP3462713B1 (en) Nat entry management method and apparatus, and nat device
WO2014023003A1 (en) Method, apparatus, and system for controlling data transmission
JP6290053B2 (en) COMMUNICATION DEVICE, COMMUNICATION SYSTEM, AND COMMUNICATION METHOD
WO2018040793A1 (en) Method and apparatus for defending distributed reflection denial of service, and switch
EP3142306A1 (en) Openflow communication method, system, controller, and service gateway
US20140071839A1 (en) Bandwidth Probing Messages
CN109076022B (en) Network address conversion device, setting request device, communication system, communication method, and storage medium storing program
EP4181436B1 (en) Data processing method and apparatus, related device and storage medium
US10432744B2 (en) Information processing apparatus, information processing system, and information processing method
JP2022079634A (en) Communication relay device and data relay method
US9385990B2 (en) Relay server and relay communication system
US20170180184A1 (en) Remote Access Over Internet Using Reverse Session-Origination (RSO) Tunnel
TWI554057B (en) Communication devices and communication methods and program products
US11870855B2 (en) Proxyless protocol
WO2015096734A1 (en) Downlink transmission method for service data, and packet data gateway
US20120047271A1 (en) Network address translation device and method of passing data packets through the network address translation device
US10044523B2 (en) Communication apparatus, server, communication system, and communication method
JP2014230157A (en) Management device, management system, management method and management program
WO2023246443A1 (en) Information processing method, information processing system, information processing apparatus, and storage medium
JP6279970B2 (en) Processor, communication apparatus, communication system, communication method, and computer program
WO2016037490A1 (en) Method and device for processing dynamic host configuration protocol (dhcp) message

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees