JP2012249015A - Device, method and program for fallback detection - Google Patents

Device, method and program for fallback detection Download PDF

Info

Publication number
JP2012249015A
JP2012249015A JP2011118245A JP2011118245A JP2012249015A JP 2012249015 A JP2012249015 A JP 2012249015A JP 2011118245 A JP2011118245 A JP 2011118245A JP 2011118245 A JP2011118245 A JP 2011118245A JP 2012249015 A JP2012249015 A JP 2012249015A
Authority
JP
Japan
Prior art keywords
terminal
fallback
start message
communication start
transmitted
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
JP2011118245A
Other languages
Japanese (ja)
Other versions
JP5777938B2 (en
Inventor
Shingo Okada
真悟 岡田
Tomohiro Fujisaki
智宏 藤崎
Arifumi Matsumoto
存史 松本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2011118245A priority Critical patent/JP5777938B2/en
Publication of JP2012249015A publication Critical patent/JP2012249015A/en
Application granted granted Critical
Publication of JP5777938B2 publication Critical patent/JP5777938B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

PROBLEM TO BE SOLVED: To reduce a time required to start fallback.SOLUTION: A packet transmitted to a second terminal from a first terminal corresponding to a plurality of protocols is monitored. When there is obtained a monitoring result indicating that a communication start message is transmitted to the second terminal for a predetermined number of times within a predetermined period using a specific protocol among a plurality of protocols, identification information to identify the second terminal which is the transmission destination of the communication start message is stored into a predetermined storage device. Fallback control is performed for the first terminal, which is the transmission source of the communication start message destined according to the identification information stored in the predetermined storage device.

Description

本発明は、フォールバック検知装置、フォールバック検知方法及びフォールバック検知プログラムに関する。   The present invention relates to a fallback detection device, a fallback detection method, and a fallback detection program.

従来、複数のプロトコルに対応したネットワークがある。複数のプロトコルに対応したネットワーク内にある端末は、例えば、1つのプロトコルを優先して用いて他の端末と通信を行う。また、端末は、優先して用いるプロトコルで他の端末と通信ができなかった場合には、他のプロトコルへとフォールバックした上で通信を行う。   Conventionally, there are networks that support a plurality of protocols. A terminal in a network corresponding to a plurality of protocols communicates with another terminal by using, for example, one protocol with priority. In addition, when a terminal cannot communicate with another terminal using a preferential protocol, the terminal performs communication after falling back to another protocol.

IPv4及びIPv6に対応したデュアルスタックネットワークを例に説明する。この場合、デュアルスタックネットワークに接続された端末は、例えば、IPv6を優先して用いて他の端末と通信を行う。また、端末は、IPv6を用いて他の端末と通信ができなかった場合には、IPv4にフォールバックした上で、IPv4を用いて他の端末と通信を試みる。   A dual stack network corresponding to IPv4 and IPv6 will be described as an example. In this case, the terminal connected to the dual stack network communicates with other terminals using, for example, IPv6 preferentially. If the terminal cannot communicate with another terminal using IPv6, the terminal falls back to IPv4 and then attempts to communicate with the other terminal using IPv4.

また、端末は、通信が確立できない場合には、一定の時間を空けた上で、同じプロトコルにて再接続を何度か試みる。すなわち、端末は、一定の時間を空けた上で再接続を何度か試みても接続できず、タイムアウトとなった場合に、フォールバックを行い、別のプロトコルにて接続を試みる。   If communication cannot be established, the terminal tries to reconnect several times with the same protocol after a certain period of time. That is, the terminal cannot connect even if it tries to reconnect several times after a certain period of time, and when it times out, it performs fallback and tries to connect using another protocol.

”RFC5461 TCP’s Reaction to Soft Errors”、[online]、[平成23年5月10日検索]、インターネット[online](URL:http://tools.ietf.org/html/rfc5461)"RFC 5461 TCP's Reaction to Soft Errors", [online], [May 10, 2011 search], Internet [online] (URL: http://tools.ietf.org/html/rfc5461)

しかしながら、上述した手法では、フォールバックが行われるまでに時間がかかる。   However, in the method described above, it takes time until the fallback is performed.

開示の実施形態は、上述に鑑みてなされたものであって、適切に通信可能となるフォールバック検知装置、フォールバック検知方法及びフォールバック検知プログラムを提供することを目的とする。   An embodiment of the disclosure has been made in view of the above, and an object thereof is to provide a fallback detection device, a fallback detection method, and a fallback detection program that can appropriately communicate.

開示するフォールバック検知装置は、1つの態様において、複数のプロトコルに対応する第1の端末によって第2の端末に向けて送信されるパケットを監視する監視部を備える。また、通信の開始を要求する通信開始メッセージが前記複数あるプロトコルのうち特定のプロトコルにて前記第1の端末から前記第2の端末に所定期間内に所定回送信されたとの監視結果が前記監視部により得られた場合に、該通信開始メッセージの送信先となる該第2の端末を識別するための該プロトコルにおける識別情報を所定の記憶装置に格納する格納部を備える。また、前記格納部によって前記所定の記憶装置に格納された識別情報が宛先となる前記通信開始メッセージの送信元となる前記第1の端末について、フォールバックを制御するフォールバック制御部を備える。   In one aspect, the disclosed fallback detection apparatus includes a monitoring unit that monitors a packet transmitted to a second terminal by a first terminal corresponding to a plurality of protocols. Further, the monitoring result that the communication start message requesting the start of communication is transmitted from the first terminal to the second terminal by a specific protocol among the plurality of protocols within a predetermined period of time is the monitoring result. A storage unit that stores identification information in the protocol for identifying the second terminal, which is a transmission destination of the communication start message, in a predetermined storage device. In addition, the storage device includes a fallback control unit that controls fallback for the first terminal that is the transmission source of the communication start message whose destination is the identification information stored in the predetermined storage device.

開示するフォールバック検知装置の1つの態様によれば、適切に通信可能となるという効果を奏する。   According to one aspect of the disclosed fallback detection device, there is an effect that communication can be appropriately performed.

図1は、実施例1におけるフォールバック検知装置を含むシステム構成の一例を示す図である。FIG. 1 is a diagram illustrating an example of a system configuration including a fallback detection device according to the first embodiment. 図2は、実施例1におけるフォールバック検知装置の構成の一例を示すブロック図である。FIG. 2 is a block diagram illustrating an example of the configuration of the fallback detection apparatus according to the first embodiment. 図3は、実施例1における通信開始メッセージテーブルに記憶されたレコードの一例を示す図である。FIG. 3 is a diagram illustrating an example of records stored in the communication start message table according to the first embodiment. 図4は、実施例1におけるDNSパケットテーブルに記憶されたレコードの一例を示す図である。FIG. 4 is a diagram illustrating an example of records stored in the DNS packet table according to the first embodiment. 図5は、実施例1における内部端末情報テーブルに記憶されたレコードの一例を示す図である。FIG. 5 is a diagram illustrating an example of records stored in the internal terminal information table according to the first embodiment. 図6は、実施例1におけるフォールバックテーブルに記憶されたレコードの一例を示す図である。FIG. 6 is a diagram illustrating an example of records stored in the fallback table according to the first embodiment. 図7は、実施例1において識別情報をフォールバックテーブルに格納するまでの処理の流れの一例を示すシーケンス図である。FIG. 7 is a sequence diagram illustrating an example of a process flow until the identification information is stored in the fallback table in the first embodiment. 図8は、実施例1におけるフォールバック制御部による処理の一例を示すフローチャートである。FIG. 8 is a flowchart illustrating an example of processing performed by the fallback control unit according to the first embodiment. 図9は、フォールバック検知装置による1連の処理を実行するための制御プログラムによる情報処理が、コンピュータを用いて具体的に実現されることを示す図である。FIG. 9 is a diagram showing that the information processing by the control program for executing a series of processes by the fallback detection device is specifically realized using a computer.

以下に、開示するフォールバック検知装置、フォールバック検知方法及びフォールバック検知プログラムの実施例について、図面に基づいて詳細に説明する。なお、本実施例により開示する発明が限定されるものではない。各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。   Hereinafter, embodiments of the disclosed fallback detection device, fallback detection method, and fallback detection program will be described in detail with reference to the drawings. Note that the invention disclosed by this embodiment is not limited. Each embodiment can be appropriately combined within a range in which processing contents do not contradict each other.

図1は、実施例1におけるフォールバック検知装置を含むシステム構成の一例を示す図である。図1に示す例では、フォールバック検知装置200に加えて、内部端末100と、ルータ300と、外部端末400とを併せて示したが、これに限定されるものではない。例えば、フォールバック検知装置200を含むシステムは、内部端末100やフォールバック検知装置200、ルータ300、外部端末400以外の他の装置を有しても良い。また、例えば、フォールバック検知装置200とルータ300とを統合しても良く、ルータ300を有さなくても良い。なお、内部端末100は、「第1の端末」とも称される。外部端末400は、「第2の端末」とも称される。   FIG. 1 is a diagram illustrating an example of a system configuration including a fallback detection device according to the first embodiment. In the example shown in FIG. 1, in addition to the fallback detection device 200, the internal terminal 100, the router 300, and the external terminal 400 are shown together. However, the present invention is not limited to this. For example, the system including the fallback detection device 200 may include devices other than the internal terminal 100, the fallback detection device 200, the router 300, and the external terminal 400. Further, for example, the fallback detection device 200 and the router 300 may be integrated, or the router 300 may not be provided. The internal terminal 100 is also referred to as a “first terminal”. The external terminal 400 is also referred to as a “second terminal”.

また、図1に示す例では、説明の便宜上、内部端末100が1つあり、外部端末400が1つある場合を示したが、これに限定されるものではない。例えば、内部端末100や外部端末400の数は任意であって良い。   Further, in the example illustrated in FIG. 1, for convenience of explanation, a case where there is one internal terminal 100 and one external terminal 400 is shown, but the present invention is not limited to this. For example, the number of internal terminals 100 and external terminals 400 may be arbitrary.

以下では、内部端末100と、フォークバック検知装置200と、ルータ300とがデュアルスタックネットワーク内にあり、外部端末400が、デュアルスタックネットワーク外にある場合を用いて説明するが、これに限定されるものではない。デュアルスタックネットワークでは、複数のプロトコルが混在して用いられる。例えば、デュアルスタックネットワーク内にある装置は、IPv4(Internet Protocol version 4)とIPv6(Internet Protocol version 6)との両方のプロトコルが用いられる。なお、以下では、デュアルスタックネットワークにて、IPv4とIPv6とが用いられる場合を用いて説明するが、これに限定されるものではなく、任意の複数のプロトコルが用いられても良い。   In the following, a description will be given using a case where the internal terminal 100, the fork back detection device 200, and the router 300 are in the dual stack network and the external terminal 400 is outside the dual stack network. It is not a thing. In a dual stack network, a plurality of protocols are mixedly used. For example, a device in a dual stack network uses both IPv4 (Internet Protocol version 4) and IPv6 (Internet Protocol version 6) protocols. In the following, a case where IPv4 and IPv6 are used in a dual stack network will be described. However, the present invention is not limited to this, and a plurality of arbitrary protocols may be used.

内部端末100は、フォールバック検知装置200と接続される。内部端末100は、デュアルスタックネットワーク内にあり、複数のプロトコルに対応する。例えば、内部端末100は、IPv4におけるアドレスとIPv6におけるアドレスとを有し、IPv4とIPv6とを用いる。以下では、内部端末100が、IPv6を優先して用いる場合を例に説明する。言い換えると、内部端末100は、IPv6を用いて通信を確立できない場合にIPv4を用いる場合を例に説明する。ただし、これに限定されるものではなく、内部端末100は、IPv4を優先して用いても良い。   The internal terminal 100 is connected to the fallback detection device 200. The internal terminal 100 is in a dual stack network and supports a plurality of protocols. For example, the internal terminal 100 has an IPv4 address and an IPv6 address, and uses IPv4 and IPv6. Hereinafter, a case where the internal terminal 100 uses IPv6 preferentially will be described as an example. In other words, the case where the internal terminal 100 uses IPv4 when communication cannot be established using IPv6 will be described as an example. However, the present invention is not limited to this, and the internal terminal 100 may use IPv4 with priority.

内部端末100は、外部端末400に向けてパケットを送信する。具体的には、内部端末100は、通信先となる外部端末400の識別情報(Query)を要求するDNSクエリ要求を送信し、DNSクエリ要求に対する応答であるDNSクエリ応答を受信する。例えば、内部端末100は、外部端末400のIPアドレスを要求するDNSクエリ要求をルータ300に向けて送信し、DNSクエリ応答を受信する。例えば、内部端末100は、外部端末400と通信を行う場合に、IPv4におけるIPアドレスを要求するDNSクエリ要求を送信するとともに、IPv6におけるIPアドレスを要求するDNSクエリ要求を送信する。なお、DNSクエリ応答は、DNSレスポンス(Response)とも称する。   The internal terminal 100 transmits a packet toward the external terminal 400. Specifically, the internal terminal 100 transmits a DNS query request that requests identification information (Query) of the external terminal 400 that is a communication destination, and receives a DNS query response that is a response to the DNS query request. For example, the internal terminal 100 transmits a DNS query request for requesting the IP address of the external terminal 400 to the router 300 and receives a DNS query response. For example, when communicating with the external terminal 400, the internal terminal 100 transmits a DNS query request for requesting an IP address in IPv4 and also transmits a DNS query request for requesting an IP address in IPv6. The DNS query response is also referred to as a DNS response (Response).

より詳細な一例をあげて説明すると、内部端末100は、ルータ300に対して、外部端末400のFQDN(Fully Qualified Domain Name、完全修飾ドメイン名)を記載したDNSクエリ要求を送信し、DNSクエリに記載されたFQDNに対応するIPアドレスが記載されたDNSクエリ応答を受信する。   To explain with a more detailed example, the internal terminal 100 transmits a DNS query request in which the FQDN (Fully Qualified Domain Name) of the external terminal 400 is described to the router 300, and the DNS query is sent to the DNS query. A DNS query response in which the IP address corresponding to the described FQDN is described is received.

また、内部端末100は、予め設定された優先するプロトコルにて、DNSクエリ応答により受信した識別情報を用いて、通信の開始を要求する通信開始メッセージを外部端末400に向けて送信する。例えば、内部端末100は、DNSクエリ応答に記載されたIPv6におけるアドレスを送信先としてTCP−SYNパケットを送信する。なお、TCP−SYNパケットとは、「SYN」のフラグがたったパケットであり、通信を開始する際に送信される。   Further, the internal terminal 100 transmits a communication start message requesting the start of communication to the external terminal 400 using the identification information received by the DNS query response using a preset priority protocol. For example, the internal terminal 100 transmits a TCP-SYN packet with the address in IPv6 described in the DNS query response as a transmission destination. The TCP-SYN packet is a packet with a “SYN” flag and is transmitted when communication is started.

ここで、内部端末100は、外部端末400から応答がない場合には、同一のプロトコルにてTCP−SYNパケットの送信を所定回数繰り返す。例えば、内部端末100は、外部端末400から応答が得られない場合には、TCP−SYNパケットの送信を3回繰り返す。   Here, when there is no response from the external terminal 400, the internal terminal 100 repeats the transmission of the TCP-SYN packet by the same protocol a predetermined number of times. For example, when a response cannot be obtained from the external terminal 400, the internal terminal 100 repeats transmission of the TCP-SYN packet three times.

なお、以下では、内部端末100が、同一のプロトコルにて「3」回通信開始メッセージの送信を繰り返す場合を例に説明するが、これに限定されるものではなく、任意の回数であって良い。   In the following, a case where the internal terminal 100 repeats transmission of the communication start message “3” times using the same protocol will be described as an example. However, the present invention is not limited to this and may be any number of times. .

また、内部端末100は、予め設定された優先するプロトコルにて通信開始メッセージを所定回数送信しても、外部端末400から応答が得られなかった場合には、フォールバックを行う。そして、内部端末100は、別のプロトコルにて通信開始メッセージを外部端末400に向けて送信する。例えば、内部端末100は、IPv6にてTCP−SYNパケットを3回送信した後にタイムアウトとなると、フォールバックを行い、IPv4にて、外部端末400のIPv4におけるIPv4アドレスであるIPアドレス「192.168.100.1」を宛先とするTCP−SYNパケットを送信する。   Further, the internal terminal 100 performs a fallback if a response is not obtained from the external terminal 400 even if the communication start message is transmitted a predetermined number of times using a preset priority protocol. Then, the internal terminal 100 transmits a communication start message to the external terminal 400 using another protocol. For example, when the internal terminal 100 times out after transmitting a TCP-SYN packet three times in IPv6, the internal terminal 100 performs fallback, and in IPv4, the IP address “192.168.100.1” which is the IPv4 address in the IPv4 of the external terminal 400 A TCP-SYN packet destined for is transmitted.

また、内部端末100によるフォールバックは、後述するように、フォールバック検知装置200による制御によっても制御される。例えば、内部端末100は、フォールバック検知装置200からフォールバックする旨のメッセージを受信すると、フォールバックを行う。また、内部端末100は、フォールバック検知装置200によってDNSクエリ応答に含まれる識別情報が変更されることで、フォールバックを行わないように制御される。詳細については後述する。   Further, the fallback by the internal terminal 100 is also controlled by the control by the fallback detection apparatus 200 as described later. For example, when the internal terminal 100 receives a message indicating fallback from the fallback detection apparatus 200, the internal terminal 100 performs fallback. The internal terminal 100 is controlled not to perform fallback by changing the identification information included in the DNS query response by the fallback detection device 200. Details will be described later.

ルータ300は、フォールバック検知装置200と外部端末400と接続される。ルータ300は、内部端末100からDNSクエリ要求を受信すると、DNSクエリ応答を内部端末100に送信する。つまり、例えば、ルータ300は、外部端末400のIPアドレスを内部端末100に送信する。   The router 300 is connected to the fallback detection device 200 and the external terminal 400. When receiving the DNS query request from the internal terminal 100, the router 300 transmits a DNS query response to the internal terminal 100. That is, for example, the router 300 transmits the IP address of the external terminal 400 to the internal terminal 100.

外部端末400は、ルータ300と接続される。外部端末400は、内部端末100から通信開始メッセージを受信すると、内部端末100と通信を行う。なお、内部端末100により送信された通信開始メッセージは、外部端末400によって受信されることもあれば、受信されないこともある。例えば、外部端末400が対応していないプロトコルにて内部端末100が通信開始メッセージを送信した場合には、外部端末400によって受信されない。   External terminal 400 is connected to router 300. When the external terminal 400 receives the communication start message from the internal terminal 100, the external terminal 400 communicates with the internal terminal 100. Note that the communication start message transmitted by the internal terminal 100 may be received by the external terminal 400 or may not be received. For example, when the internal terminal 100 transmits a communication start message using a protocol that the external terminal 400 does not support, the external terminal 400 does not receive it.

なお、以下では、説明の便宜上、内部端末100のIPv4アドレスが「192.168.1.10/32」であり、IPv6アドレスが「2001:db8:1::100/128」である場合を用いて説明する。また、外部端末400のIPv4アドレスが「192.168.100.1/32」であり、IPv6アドレスが「2001:db8:2::1/128」であり、FQDNが「www.example.com」である場合を用いて説明する。ただし、これに限定されるものではなく、任意のIPアドレスやFQDNを用いて良い。   In the following description, for convenience of explanation, the case where the IPv4 address of the internal terminal 100 is “192.168.1.10/32” and the IPv6 address is “2001: db8: 1 :: 100/128” will be described. Further, the case where the IPv4 address of the external terminal 400 is “192.168.100.1/32”, the IPv6 address is “2001: db8: 2 :: 1/128”, and the FQDN is “www.example.com”. It explains using. However, the present invention is not limited to this, and an arbitrary IP address or FQDN may be used.

フォールバック検知装置200について説明する。フォールバック検知装置200は、以下に詳細に説明するように、複数のプロトコルに対応する内部端末100によって外部端末400に向けて送信されるパケットを監視する。また、フォールバック検知装置200は、通信開始メッセージが内部端末100から外部端末400に複数のプロトコルのうち特定のプロトコルにて所定回数送信されたとの監視結果が得られた場合に、通信開始メッセージの送信先となる外部端末400を識別するための識別情報を所定の記憶装置に格納する。また、フォールバック検知装置200は、所定の記憶装置に格納された識別情報に基づいて所定のメッセージを送信することで、内部端末100におけるフォールバックを制御する。   The fallback detection apparatus 200 will be described. The fallback detection apparatus 200 monitors packets transmitted toward the external terminal 400 by the internal terminal 100 corresponding to a plurality of protocols, as will be described in detail below. In addition, the fallback detection apparatus 200 receives the communication start message when the communication start message is transmitted from the internal terminal 100 to the external terminal 400 a predetermined number of times using a specific protocol among a plurality of protocols. Identification information for identifying the external terminal 400 as a transmission destination is stored in a predetermined storage device. Further, the fallback detection device 200 controls the fallback in the internal terminal 100 by transmitting a predetermined message based on the identification information stored in the predetermined storage device.

すなわち、フォールバック検知装置200は、例えば、フォールバックすることになる外部端末400のアドレスリストを生成し、以後、この生成したアドレスリストに記載されたアドレスへの通信開始メッセージが内部端末100により送信されると、内部端末100が直ちにフォールバックを行うように制御する。また、フォールバック検知装置200は、所定期間内に、特定プロトコルで所定回数の通信開始メッセージを受けたことを契機としてフォールバックが「発生する」ものとみなし、アドレスリストを生成する。より詳細には、フォールバック検知装置200は、所定期間A内に、特定プロトコルでN回目の通信開始メッセージを受けた後に、所定期間B内に(AとBは同じでも異なっていてもよい)別のプロトコルで通信開始メッセージを受けたことを契機として、フォールバックが「発生した」ものとみなしてアドレスリストを生成する。なお、上述の所定期間Aと所定期間Bとは、同一の期間であっても良く、異なる期間であっても良い。   That is, the fallback detection apparatus 200 generates, for example, an address list of the external terminal 400 that is to fall back, and thereafter, a communication start message to an address described in the generated address list is transmitted by the internal terminal 100. Then, control is performed so that the internal terminal 100 immediately performs fallback. Further, the fallback detection apparatus 200 considers that a fallback “occurs” when a predetermined number of communication start messages are received with a specific protocol within a predetermined period, and generates an address list. More specifically, the fallback detection apparatus 200 receives the Nth communication start message with a specific protocol within a predetermined period A, and then within a predetermined period B (A and B may be the same or different). When a communication start message is received by another protocol, an address list is generated assuming that a fallback has occurred. Note that the predetermined period A and the predetermined period B described above may be the same period or different periods.

図2は、実施例1におけるフォールバック検知装置の構成の一例を示すブロック図である。図2に示すように、フォールバック検知装置200は、記憶部210と制御部220とを有する。   FIG. 2 is a block diagram illustrating an example of the configuration of the fallback detection apparatus according to the first embodiment. As shown in FIG. 2, the fallback detection apparatus 200 includes a storage unit 210 and a control unit 220.

記憶部210は、制御部220と接続される。記憶部210は、制御部220による各種処理に用いるデータを記憶する。記憶部210は、例えば、RAM(Random Access Memory)やROM(Read Only Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子、又は、ハードディスクや光ディスクなどである。図2に示す例では、記憶部210は、通信開始メッセージテーブル211と、DNSパケットテーブル212と、内部端末情報テーブル213と、フォールバックテーブル214とを有する。   The storage unit 210 is connected to the control unit 220. The storage unit 210 stores data used for various processes performed by the control unit 220. The storage unit 210 is, for example, a semiconductor memory device such as a random access memory (RAM), a read only memory (ROM), or a flash memory, a hard disk, an optical disk, or the like. In the example illustrated in FIG. 2, the storage unit 210 includes a communication start message table 211, a DNS packet table 212, an internal terminal information table 213, and a fallback table 214.

通信開始メッセージテーブル211は、内部端末100によって送信された通信開始メッセージについての情報を記憶する。例えば、通信開始メッセージテーブル211は、内部端末100により送信されたTCP−SYNパケットについて、送信元アドレスと宛先アドレスと監視時刻とを含むレコードを記憶する。なお、監視時刻とは、例えば、フォールバック検知装置200によりTCP−SYNパケットが検知された時刻を示す。   The communication start message table 211 stores information about the communication start message transmitted by the internal terminal 100. For example, the communication start message table 211 stores a record including a transmission source address, a destination address, and a monitoring time for a TCP-SYN packet transmitted by the internal terminal 100. The monitoring time indicates, for example, the time when the TCP-SYN packet is detected by the fallback detection device 200.

図3は、実施例1における通信開始メッセージテーブルに記憶されたレコードの一例を示す図である。図3に示す例では、通信開始メッセージテーブル211は、送信元アドレス「2001:db8:1::100/128」と宛先アドレス「2001:db8:2::1/128」と監視時刻「12:00」とを含むレコードを記憶する。言い換えると、通信開始メッセージテーブル211は、「12:00」に、「2001:db8:1::100/128」から「2001:db8:2::1/128」に送信されたTCP−SYNパケットを検知したことを記憶する。なお、通信開始メッセージテーブル211に記憶された情報は、後述する制御部220により格納されて用いられる。   FIG. 3 is a diagram illustrating an example of records stored in the communication start message table according to the first embodiment. In the example illustrated in FIG. 3, the communication start message table 211 includes a transmission source address “2001: db8: 1 :: 100/128”, a destination address “2001: db8: 2 :: 1/128”, and a monitoring time “12: Records including “00” are stored. In other words, the communication start message table 211 indicates that the TCP-SYN packet transmitted from “2001: db8: 1 :: 100/128” to “2001: db8: 2 :: 1/128” at “12:00”. It is memorized that was detected. Information stored in the communication start message table 211 is stored and used by the control unit 220 described later.

DNSパケットテーブル212は、DNSクエリ要求及びDNSクエリ応答に含まれる識別情報を記憶する。図4は、実施例1におけるDNSパケットテーブルに記憶されたレコードの一例を示す図である。図4に示す例では、DNSパケットテーブル212は、「FQDN」と「IPv4アドレス」と「IPv6アドレス」とを含むレコードを記憶する。   The DNS packet table 212 stores identification information included in a DNS query request and a DNS query response. FIG. 4 is a diagram illustrating an example of records stored in the DNS packet table according to the first embodiment. In the example illustrated in FIG. 4, the DNS packet table 212 stores a record including “FQDN”, “IPv4 address”, and “IPv6 address”.

図4に示す例では、DNSパケットテーブル212は、FQDN「www.example.com」とIPv4アドレス「192.168.100.1/32」とIPv6アドレス「2001:db8:2::1/128」とを含むレコードを記憶する。なお、DNSパケットテーブル212に記憶されたレコードは、後述する制御部220により格納されて用いられる。具体的には、DNSパケットテーブル212は、内部端末100により送受信されるDNSクエリ要求に含まれるFQDNと、DNSクエリ応答に含まれるIPv4アドレスやIPv6アドレスが対応付けられた上で、制御部220によってレコードとして格納される。   In the example illustrated in FIG. 4, the DNS packet table 212 includes a record including an FQDN “www.example.com”, an IPv4 address “192.168.100.1/32”, and an IPv6 address “2001: db8: 2 :: 1/128”. Remember. The record stored in the DNS packet table 212 is stored and used by the control unit 220 described later. Specifically, the DNS packet table 212 is associated with the FQDN included in the DNS query request transmitted / received by the internal terminal 100 and the IPv4 address or IPv6 address included in the DNS query response, and then is controlled by the control unit 220. Stored as a record.

内部端末情報テーブル213は、内部端末100を識別するための識別情報を記憶する。具体的には、内部端末100は、内部端末100により用いられるプロトコル各々について、内部端末100を示す識別情報各々を記憶する。なお、内部端末情報テーブル213が事前に内部端末100の識別情報を対応付けて記憶しておくことで、通信開始メッセージが同一の内部端末100から送信されたものかどうかを制御部220が簡単に把握可能となる。   The internal terminal information table 213 stores identification information for identifying the internal terminal 100. Specifically, the internal terminal 100 stores each identification information indicating the internal terminal 100 for each protocol used by the internal terminal 100. The internal terminal information table 213 stores the identification information of the internal terminal 100 in association with each other in advance, so that the control unit 220 can easily determine whether the communication start message is transmitted from the same internal terminal 100. It becomes possible to grasp.

図5は、実施例1における内部端末情報テーブルに記憶されたレコードの一例を示す図である。図5に示す例では、内部端末情報テーブル213は、内部端末100の「IPv4アドレス」と「IPv6アドレス」とを含むレコードを記憶する。例えば、内部端末情報テーブル213は、IPv4アドレス「192.168.1.10/32」とIPv6アドレス「2001:db8:1::100/128」とを含むレコードを記憶する。   FIG. 5 is a diagram illustrating an example of records stored in the internal terminal information table according to the first embodiment. In the example illustrated in FIG. 5, the internal terminal information table 213 stores a record including “IPv4 address” and “IPv6 address” of the internal terminal 100. For example, the internal terminal information table 213 stores a record including an IPv4 address “192.168.1.10/32” and an IPv6 address “2001: db8: 1 :: 100/128”.

また、内部端末情報テーブル213は、内部端末100が複数ある場合には、複数ある内部端末100各々について、レコードを記憶する。内部端末情報テーブル213に記憶されたレコードは、例えば、予め利用者によって格納される。   Further, when there are a plurality of internal terminals 100, the internal terminal information table 213 stores a record for each of the plurality of internal terminals 100. Records stored in the internal terminal information table 213 are stored in advance by the user, for example.

フォールバックテーブル214は、制御部220による処理結果として、外部端末400の識別情報を記憶する。具体的には、フォールバックテーブル214は、内部端末100の通信先となる外部端末400を示す識別情報のうち、内部端末100が通信を確立できなかった通信先を示す識別情報を記憶する。すなわち、フォールバックテーブル214は、内部端末100により通信を確立する際に用いられた識別情報であって、通信を確立できなかった通信先を特定する識別情報を記憶する。言い換えると、フォールバックテーブル214は、通信を試みた場合に、内部端末100がフォールバックを行うことになる識別情報を記憶する。なお、フォールバックテーブル214は、「所定の記憶装置」とも称する。言い換えると、フォールバックテーブル214は、同一の内部端末100から同一の外部端末400に同一のプロトコルにて通信開始メッセージが所定回数送信された場合に、送信先となった外部端末の係るプロトコルにおける識別情報を記憶する。   The fallback table 214 stores identification information of the external terminal 400 as a processing result by the control unit 220. Specifically, the fallback table 214 stores identification information indicating a communication destination with which the internal terminal 100 could not establish communication among identification information indicating the external terminal 400 that is the communication destination of the internal terminal 100. That is, the fallback table 214 stores identification information that is used when establishing communication by the internal terminal 100 and that identifies a communication destination that has failed to establish communication. In other words, the fallback table 214 stores identification information that causes the internal terminal 100 to fall back when communication is attempted. The fallback table 214 is also referred to as “predetermined storage device”. In other words, when the communication start message is transmitted a predetermined number of times from the same internal terminal 100 to the same external terminal 400 using the same protocol, the fallback table 214 identifies the external terminal that is the transmission destination in the protocol concerned. Store information.

図6は、実施例1におけるフォールバックテーブルに記憶されたレコードの一例を示す図である。図6に示す例では、フォールバックテーブル214は、「2001:db8:2::1/128」を記憶する。すなわち、フォールバックテーブル214は、内部端末100が「2001:db8:2::1/128」に向けて通信開始メッセージを送信した場合、フォールバックを行うことになることを記憶する。つまり、フォールバックテーブル214は、内部端末100が「2001:db8:2::1/128」に向けて通信開始メッセージを送信した場合、通信が確立されない、ということを記憶する。   FIG. 6 is a diagram illustrating an example of records stored in the fallback table according to the first embodiment. In the example illustrated in FIG. 6, the fallback table 214 stores “2001: db8: 2 :: 1/128”. That is, the fallback table 214 stores that when the internal terminal 100 transmits a communication start message toward “2001: db8: 2 :: 1/128”, a fallback is performed. That is, the fallback table 214 stores that communication is not established when the internal terminal 100 transmits a communication start message toward “2001: db8: 2 :: 1/128”.

制御部220は、記憶部210と接続される。制御部220は、各種の処理手順などを規定したプログラムを記憶する内部メモリを有し、種々の処理を制御する。制御部220は、例えば、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、CPU(Central Processing Unit)、MPU(Micro Processing Unit)などの電子回路である。図2に示す例では、制御部220は、監視部221と、格納部222と、フォールバック制御部223とを有する。   The control unit 220 is connected to the storage unit 210. The control unit 220 includes an internal memory that stores a program that defines various processing procedures and the like, and controls various processes. The control unit 220 is an electronic circuit such as an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a central processing unit (CPU), or a micro processing unit (MPU). In the example illustrated in FIG. 2, the control unit 220 includes a monitoring unit 221, a storage unit 222, and a fallback control unit 223.

監視部221は、複数のプロトコルに対応する内部端末100によって外部端末400に向けて送信されるパケットを監視する。具体的には、監視部221は、内部端末100による通信を中継することで、内部端末100により送受信される情報を監視する。より詳細には、監視部221は、内部端末100により送受信されるパケットのうち、通信開始メッセージとDNSクエリ要求、DNSクエリ応答を監視する。また、監視部221は、格納部222やフォールバック制御部223に監視結果を出力する。   The monitoring unit 221 monitors packets transmitted toward the external terminal 400 by the internal terminal 100 corresponding to a plurality of protocols. Specifically, the monitoring unit 221 monitors information transmitted and received by the internal terminal 100 by relaying communication performed by the internal terminal 100. More specifically, the monitoring unit 221 monitors a communication start message, a DNS query request, and a DNS query response among packets transmitted and received by the internal terminal 100. Further, the monitoring unit 221 outputs the monitoring result to the storage unit 222 and the fallback control unit 223.

例えば、監視部221は、デュアルスタックネットワーク内の内部端末100から外部端末400への通信パケットのうち、TCP−SYNパケットやDNSクエリ要求、DNSクエリ応答を監視する。   For example, the monitoring unit 221 monitors a TCP-SYN packet, a DNS query request, and a DNS query response among communication packets from the internal terminal 100 to the external terminal 400 in the dual stack network.

より詳細な一例をあげて説明する。監視部221は、内部端末100により送受信されるパケットを取り込み、DNSクエリ要求、DNSクエリ応答、又は、TCP−SYNパケットであるかを判定する。ここで、監視部221は、取り込んだパケットがDNSクエリ要求、DNSクエリ応答であると判定した場合には、DNSクエリ要求やDNSクエリ応答に含まれるFQDNやIPv4アドレス、IPv6アドレスを対応付けてDNSパケットテーブル212に格納する。また、監視部221は、取り込んだパケットがTCP−SYNパケットであると判定した場合には、取り込んだTCP−SYNパケットの送信元アドレスと宛先アドレスと監視時刻とを対応付けて通信開始メッセージテーブル211に格納する。   A more detailed example will be described. The monitoring unit 221 captures a packet transmitted / received by the internal terminal 100 and determines whether it is a DNS query request, a DNS query response, or a TCP-SYN packet. Here, when the monitoring unit 221 determines that the fetched packet is a DNS query request or a DNS query response, the monitoring unit 221 associates the DNS, the FQDN, the IPv4 address, and the IPv6 address included in the DNS query request or the DNS query response with each other. Store in the packet table 212. If the monitoring unit 221 determines that the captured packet is a TCP-SYN packet, the communication start message table 211 associates the source address, the destination address, and the monitoring time of the captured TCP-SYN packet with each other. To store.

例えば、監視部221は、DNSクエリ要求、DNSクエリ応答を取り込み、通信先となる外部端末400のFQDN「www.example.com」とIPv4アドレス「192.168.100.1」とIPv6アドレス「2001:db8:2::1」とを取得し、対応付けてDNSパケットテーブル212に格納する。また、例えば、監視部221は、TCP−SYNパケットを取り込み、送信元アドレス「2001:db8:1::100/128」と宛先アドレス「2001:db8:2::1/128」と監視時刻「12:02」とを含むレコードを通信開始メッセージテーブル211に格納する。   For example, the monitoring unit 221 takes in a DNS query request and a DNS query response, and the FQDN “www.example.com”, the IPv4 address “192.168.100.1”, and the IPv6 address “2001: db8: 2” of the external terminal 400 serving as a communication destination. :: 1 ”is acquired and stored in the DNS packet table 212 in association with each other. Further, for example, the monitoring unit 221 takes in the TCP-SYN packet, transmits the source address “2001: db8: 1 :: 100/128”, the destination address “2001: db8: 2 :: 1/128”, and the monitoring time “ 12:02 ”is stored in the communication start message table 211.

また、監視部221は、通信開始メッセージテーブル211に新たなレコードを格納すると、送信元アドレスと宛先アドレスとが同一となるレコードが一定時間内に所定数格納されているかを判定し、所定数格納されていると判定すると、格納されていると判定されたレコードを格納部222に出力する。つまり、監視部221は、通信開始メッセージが同一の内部端末100から同一の外部端末400に同一のプロトコルにて所定回数送信されているか否かを判定する。言い換えると、監視部221は、通信開始メッセージが同一の内部端末100から外部端末400に、複数のプロトコルのうち特定のプロトコルにて所定回数送信されたかを判定する。   When the monitoring unit 221 stores a new record in the communication start message table 211, the monitoring unit 221 determines whether a predetermined number of records having the same source address and destination address are stored within a predetermined time, and stores the predetermined number. If it is determined that it is stored, the record determined to be stored is output to the storage unit 222. That is, the monitoring unit 221 determines whether or not the communication start message is transmitted from the same internal terminal 100 to the same external terminal 400 by the same protocol a predetermined number of times. In other words, the monitoring unit 221 determines whether the communication start message has been transmitted from the same internal terminal 100 to the external terminal 400 a predetermined number of times using a specific protocol among a plurality of protocols.

図3を例に説明する。ここで、監視時刻が「12:02」となるレコードを格納した場合における処理を例として説明する。また、監視部221が、所定回として「3」を用いる場合を例に説明する。また、監視部221が一定時間として「5分」を用いる場合を用いて説明する。この場合、監視部221は、送信元アドレス「2001:db8:1::100/128」と宛先アドレス「2001:db8:2::1/128」と監視時刻「12:02」とを含むレコードを通信開始メッセージテーブル211に格納すると、宛先アドレス「2001:db8:2::1/128」と「送信元アドレス「2001:db8:1::100/128」」と監視時刻「12:00」とを含み、監視時刻が「12:02」から「5分」以内となるレコードが3以上あるか否かを判定する。図3に示す例では、3つのレコードがあるため、監視部221は、あると判定し、例えば、送信元アドレス「2001:db8:1::100/128」と宛先アドレス「2001:db8:2::1/128」と監視時刻「12:02」とを含むレコードを格納部222に出力する。なお、上述して説明では、監視時刻が含まれたレコ−ドを出力する場合例に説明したが、これに限定されるものではなく、監視時刻を含めなくても良い。   An example will be described with reference to FIG. Here, the process when the record whose monitoring time is “12:02” is stored will be described as an example. Further, the case where the monitoring unit 221 uses “3” as the predetermined time will be described as an example. Further, the case where the monitoring unit 221 uses “5 minutes” as the fixed time will be described. In this case, the monitoring unit 221 records the source address “2001: db8: 1 :: 100/128”, the destination address “2001: db8: 2 :: 1/128”, and the monitoring time “12:02”. Is stored in the communication start message table 211, the destination address “2001: db8: 2 :: 1/128”, “source address“ 2001: db8: 1 :: 100/128 ””, and monitoring time “12:00” It is determined whether there are three or more records whose monitoring time is within “5 minutes” from “12:02”. In the example illustrated in FIG. 3, since there are three records, the monitoring unit 221 determines that there are, for example, the transmission source address “2001: db8: 1 :: 100/128” and the destination address “2001: db8: 2”. The record including :: 1/128 ”and the monitoring time“ 12:02 ”is output to the storage unit 222. In the above description, the example in which the record including the monitoring time is output has been described. However, the present invention is not limited to this, and the monitoring time may not be included.

なお、上述した説明では、監視部221が、所定回として「3」を用いる場合を例に説明したが、これに限定されるものではなく、任意の数を用いて良い。また、上述した説明では、監視部221が一定時間として「5分」を用いる場合を用いて説明したが、これに限定されるものではなく、任意の時間を用いて良い。また、上述した説明では、監視部221は、通信開始メッセージテーブル211にレコードを格納した場合に、送信元アドレスと宛先アドレスとが同一となるレコードが所定数あるか否かを判定する場合を例に説明したが、これに限定されるものではなく、任意のタイミングにて判定しても良い。   In the above description, the case where the monitoring unit 221 uses “3” as the predetermined number of times has been described as an example. However, the present invention is not limited to this, and an arbitrary number may be used. In the above description, the case where the monitoring unit 221 uses “5 minutes” as the fixed time has been described. However, the present invention is not limited to this, and an arbitrary time may be used. In the above description, the monitoring unit 221 exemplifies a case where, when records are stored in the communication start message table 211, it is determined whether there are a predetermined number of records having the same transmission source address and destination address. However, the present invention is not limited to this, and determination may be made at an arbitrary timing.

また、以下では、監視部221が、所定回数通信開始メッセージが送信されたかを判定し、送信されたと判定された場合にレコードを格納部222に出力する場合を用いて説明するが、これに限定されるものではない。例えば、監視部221は、所定回数通信開始メッセージが送信されたかを判定しなくても良い。この場合、例えば、後述する格納部222が通信開始メッセージテーブル211に基づいて判定する。   In the following description, the monitoring unit 221 determines whether or not the communication start message has been transmitted a predetermined number of times, and when it is determined that the message has been transmitted, the case where the record is output to the storage unit 222 will be described. Is not to be done. For example, the monitoring unit 221 may not determine whether the communication start message has been transmitted a predetermined number of times. In this case, for example, the storage unit 222 described later determines based on the communication start message table 211.

格納部222は、通信の開始を要求する通信開始メッセージが内部端末100から外部端末400に所定回数送信されたとの監視結果が監視部221により得られた場合に、通信開始メッセージの送信先となる外部端末400を識別するための識別情報をフォールバックテーブル214に格納する。例えば、格納部222は、監視部221により出力されたレコードに含まれる宛先アドレスをフォールバックテーブル214に格納する。図3に示す例では、格納部222は、宛先アドレス「2001:db8:2::1/128」をフォールバックテーブル214に格納する。   The storage unit 222 becomes a transmission destination of the communication start message when the monitoring unit 221 obtains a monitoring result that the communication start message requesting the start of communication is transmitted from the internal terminal 100 to the external terminal 400 a predetermined number of times. Identification information for identifying the external terminal 400 is stored in the fallback table 214. For example, the storage unit 222 stores the destination address included in the record output by the monitoring unit 221 in the fallback table 214. In the example illustrated in FIG. 3, the storage unit 222 stores the destination address “2001: db8: 2 :: 1/128” in the fallback table 214.

すなわち、格納部222は、同一の送信元アドレスから同一の宛先アドレスに対する同一プロトコルでの通信開始メッセージを一定の時間内に所定回検知すると、内部端末100にフォールバックが発生するとみなし、宛先アドレスをフォールバックテーブル214に格納する。言い換えると、監視部221は、通信開始メッセージが内部端末100から外部端末400に、複数のプロトコルのうち特定のプロトコルにて所定回数送信されたことを検知すると、フォールバックが発生するとみなして宛先アドレスをフォールバックテーブル214に格納する。すなわち、格納部222は、フォールバックテーブル214を引き起こす契機となった外部端末400を示す識別情報を格納する。   That is, when the storage unit 222 detects a communication start message with the same protocol for the same destination address from the same source address a predetermined number of times within a certain time, the storage unit 222 considers that a fallback occurs in the internal terminal 100 and sets the destination address. Store in the fallback table 214. In other words, when the monitoring unit 221 detects that a communication start message has been transmitted from the internal terminal 100 to the external terminal 400 a predetermined number of times using a specific protocol among a plurality of protocols, the monitoring unit 221 considers that a fallback has occurred, Is stored in the fallback table 214. That is, the storage unit 222 stores identification information indicating the external terminal 400 that has triggered the fallback table 214.

また、格納部222は、通信開始メッセージが同一の内部端末100から同一の外部端末400に同一のプロトコルにて所定回数送信されたとの監視結果が監視部221により得られた後に、通信開始メッセージの送信に用いられたプロトコルとは別のプロトコルにて同一の外部端末400に通信開始メッセージが送信された場合に初めて、識別情報をフォールバックテーブル214に格納しても良い。なお、格納部222により格納される宛先アドレスは、別のプロトコルにおける識別情報ではなく、所定回数送信されたプロトコルにおける宛先アドレスである。   In addition, the storage unit 222 stores the communication start message after the monitoring result is obtained by the monitoring unit 221 that the communication start message is transmitted from the same internal terminal 100 to the same external terminal 400 by the same protocol. The identification information may be stored in the fallback table 214 only when a communication start message is transmitted to the same external terminal 400 using a protocol different from the protocol used for transmission. Note that the destination address stored by the storage unit 222 is not the identification information in another protocol but the destination address in the protocol transmitted a predetermined number of times.

例えば、格納部222は、同一の送信元アドレスから同一の宛先アドレスに対するTCP−SYNパケットがIPv6にて所定回送信された後に、IPv4にてTCP−SYNパケットが送信されたことを更に検知した場合に初めて、IPv6における外部端末400を示す宛先アドレスをフォールバックテーブル214に格納しても良い。   For example, when the storage unit 222 further detects that a TCP-SYN packet is transmitted in IPv4 after a TCP-SYN packet for the same destination address has been transmitted a predetermined number of times in IPv6 from the same source address For the first time, the destination address indicating the external terminal 400 in IPv6 may be stored in the fallback table 214.

詳細な一例を用いて説明する。格納部222は、監視部221から受信したレコードに含まれる宛先アドレスに対応するFQDNを含むレコードをDNSパケットテーブル212から取得する。そして、格納部222は、取得したレコードに含まれるIPアドレスのうち、監視部221により所定回数検知されたTCP−SYNパケットのプロトコルとは別のプロトコルについてのIPアドレスを取得する。例えば、図3に示す例では、IPv6におけるTCP−SYNパケットが検知されており、格納部222は、IPv4におけるIPアドレスを取得する。そして、格納部222は、通信開始メッセージテーブル211から検索することで、監視部221により所定回数のTCP−SYNパケットが検知されてから一定の時間内に、取得したIPアドレスを宛先とするIPv4にて送信されたTCP−SYNパケットの有無を判定する。つまり、格納部222は、IPv6にて一定時間内に同一送信元から同一宛先へと所定回数通信開始メッセージが送信された後に、一定時間内に、IPv4にて同一宛先に対して通信開始メッセージが送信されたかを判定する。ここで、格納部222は、送信されたと判定した場合には、フォールバックが発生したとみなし、監視部221から受信したレコードに含まれるIPv6における宛先アドレスをフォールバックテーブル214に格納する。   This will be described using a detailed example. The storage unit 222 acquires a record including the FQDN corresponding to the destination address included in the record received from the monitoring unit 221 from the DNS packet table 212. Then, the storage unit 222 acquires an IP address for a protocol different from the protocol of the TCP-SYN packet detected by the monitoring unit 221 a predetermined number of times among the IP addresses included in the acquired record. For example, in the example illustrated in FIG. 3, a TCP-SYN packet in IPv6 is detected, and the storage unit 222 acquires an IP address in IPv4. Then, the storage unit 222 searches the communication start message table 211 to obtain IPv4 addressed to the acquired IP address within a certain period of time after the monitoring unit 221 detects a predetermined number of TCP-SYN packets. The presence or absence of a TCP-SYN packet transmitted in this way is determined. That is, after the communication start message is transmitted a predetermined number of times from the same transmission source to the same destination within a certain time in IPv6, the storage unit 222 sends a communication start message to the same destination in IPv4 within a certain time. Determine if it has been sent. If the storage unit 222 determines that a fallback has occurred, it stores the IPv6 destination address included in the record received from the monitoring unit 221 in the fallback table 214.

このように、格納部222は、通信開始メッセージの送信に用いられたプロトコルとは別のプロトコルにて同一の外部端末400に通信開始メッセージが送信されたかを更に判定した場合に、フォールバックが発生したとみなすことで、フォールバックの発生の検知精度を向上することが可能となる。   As described above, when the storage unit 222 further determines whether the communication start message is transmitted to the same external terminal 400 using a protocol different from the protocol used for transmitting the communication start message, a fallback occurs. Therefore, it is possible to improve the accuracy of detecting the occurrence of fallback.

すなわち、別のプロトコルにて同一の外部端末400に通信開始メッセージを送信する内部端末100を限定しない結果、言い換えると、最初のプロトコルで通信開始メッセージを送った内部端末100とは別の内部端末100が通信開始メッセージを送信してもフォールバックであるとみなして検知することが可能となる。   That is, as a result of not limiting the internal terminal 100 that transmits the communication start message to the same external terminal 400 using another protocol, in other words, the internal terminal 100 different from the internal terminal 100 that transmitted the communication start message using the first protocol. Even if a communication start message is transmitted, it can be detected as a fallback.

例えば、最初に同一の内部端末100から同一の外部端末400へIPv6で通信開始メッセージが3回送信され、その後、別の内部端末100から同一の外部端末400へIPv4で通信開始メッセージが送信された場合であっても、フォールバックとして検知することが可能となる。   For example, a communication start message is first transmitted from the same internal terminal 100 to the same external terminal 400 by IPv6 three times, and then a communication start message is transmitted from another internal terminal 100 to the same external terminal 400 by IPv4. Even in this case, it can be detected as a fallback.

この場合、仮に最初のIPv6における3回目の通信開始メッセージにて通信が確立された場合であってもフォールバックとみなすことになるが、経験的に3回目以降で通信が確立する確率が低い場合には、有効となる。また、フォールバック検知装置200は、内部端末100の所定のプロトコルの識別情報と別のプロトコルの識別情報(IPv6のアドレスとIPv4のアドレス)の対応関係の情報を記憶していない状況や不明な状況であっても、フォールバックの検知が可能となる。   In this case, even if the communication is established by the third communication start message in the first IPv6, it is regarded as a fallback, but the probability that the communication will be established after the third time is low. It becomes effective. In addition, the fallback detection apparatus 200 does not store information about the correspondence between the identification information of the predetermined protocol of the internal terminal 100 and the identification information of another protocol (IPv6 address and IPv4 address) or an unknown situation Even so, fallback can be detected.

また、格納部222は、更に、同一の送信元から同一の宛先に別のプロトコルにて通信開始メッセージが送信された場合に初めて、識別情報をフォールバックテーブル214に格納しても良い。具体的には、格納部222は、通信開始メッセージが内部端末100から外部端末400に所定回数送信されたとの監視結果が監視部221により得られた後に、通信開始メッセージの送信に用いられたプロトコルとは別のプロトコルにて、同一の内部端末100から同一の外部端末400に通信開始メッセージが送信されたとの監視結果が監視部221により得られた場合に初めて、識別情報を記憶部210に格納しても良い。なお、格納部222により格納される宛先アドレスは、別のプロトコルにて送信される前に、所定回数送信されたプロトコルにおける宛先アドレスである。この場合、内部端末100を問わない場合と比較して、高精度にフォールバックを検知可能となる。   Further, the storage unit 222 may store the identification information in the fallback table 214 only when a communication start message is transmitted from the same transmission source to the same destination using a different protocol. Specifically, the storage unit 222 uses the protocol used for transmitting the communication start message after the monitoring unit 221 obtains a monitoring result that the communication start message has been transmitted from the internal terminal 100 to the external terminal 400 a predetermined number of times. The identification information is stored in the storage unit 210 only when the monitoring unit 221 obtains a monitoring result that the communication start message is transmitted from the same internal terminal 100 to the same external terminal 400 using a different protocol. You may do it. Note that the destination address stored by the storage unit 222 is a destination address in a protocol transmitted a predetermined number of times before being transmitted in another protocol. In this case, the fallback can be detected with higher accuracy than in the case where the internal terminal 100 is not questioned.

この場合、格納部222は、更に、監視部221から受信したレコードに含まれる送信元アドレスに対応する別のプロトコルの送信元アドレスを、内部端末情報テーブル213から取得する。例えば、内部端末100がIPv6にてTCP−SYNパケットを送信していた場合には、格納部222は、監視部221から受信したレコードに含まれるIPv6のIPアドレスに対応付けられたIPv4のIPアドレスを内部端末情報テーブル213から取得する。そして、格納部222は、通信開始メッセージテーブル211から検索することで、監視部221により所定回数のTCP−SYNパケットが検知されてから一定の時間内に、同一の外部端末400を宛先とするIPv4にて送信されたTCP−SYNパケットであって、内部端末情報テーブル213から取得したIPv4のIPアドレスが送信元アドレスとなるTCP−SYNパケットの有無を判定する。ここで、格納部222は、あると判定した場合には、フォールバックが発生したとみなし、監視部221から受信したレコードに含まれる宛先アドレスをフォールバックテーブル214に格納する。   In this case, the storage unit 222 further acquires a source address of another protocol corresponding to the source address included in the record received from the monitoring unit 221 from the internal terminal information table 213. For example, when the internal terminal 100 transmits a TCP-SYN packet in IPv6, the storage unit 222 uses the IPv4 IP address associated with the IPv6 IP address included in the record received from the monitoring unit 221. Is acquired from the internal terminal information table 213. Then, the storage unit 222 searches the communication start message table 211 to search for IPv4 addressed to the same external terminal 400 within a certain time after the monitoring unit 221 detects a predetermined number of TCP-SYN packets. It is determined whether or not there is a TCP-SYN packet that is transmitted from the internal terminal information table 213 and has an IPv4 IP address acquired from the internal terminal information table 213 as a transmission source address. If the storage unit 222 determines that there is a fallback, the storage unit 222 determines that a fallback has occurred, and stores the destination address included in the record received from the monitoring unit 221 in the fallback table 214.

フォールバック制御部223は、格納部222によってフォールバックテーブル214に格納された識別情報が宛先となる通信開始メッセージの送信元となる内部端末100について、フォールバックを制御する。   The fallback control unit 223 controls fallback for the internal terminal 100 that is the transmission source of the communication start message whose destination is the identification information stored in the fallback table 214 by the storage unit 222.

具体的には、フォールバック制御部223は、フォールバックテーブル214に格納されたIPアドレスにより識別される第2の端末と、係るIPアドレスのプロトコルでの通信の開始を要求する通信開始メッセージが送信される場合に、内部端末100に対して、内部端末100をフォールバックさせるためのメッセージを送信する。言い換えると、フォールバック制御部223は、内部端末100により送信された通信開始メッセージの宛先が、フォールバックテーブルに格納された識別情報と一致するかを判定し、一致すると判定した場合に、内部端末100をフォールバックさせるためのメッセージを送信する。   Specifically, the fallback control unit 223 transmits a communication start message requesting the start of communication with the second terminal identified by the IP address stored in the fallback table 214 using the protocol of the IP address. In the case of being performed, a message for causing the internal terminal 100 to fall back is transmitted to the internal terminal 100. In other words, the fallback control unit 223 determines whether the destination of the communication start message transmitted by the internal terminal 100 matches the identification information stored in the fallback table. Send a message to make 100 fall back.

例えば、フォールバック制御部223は、デュアルスタックネットワーク内の内部端末100から外部端末400への通信パケットのうちTCP−SYNパケットを常に監視し、TCP−SYNパケットの宛先アドレスがフォールバックテーブル214に格納されているかを判定する。そして、フォールバック制御部223は、格納されていると判定した場合に、TCP−SYNパケットの送信元となる内部端末100に対し、RSTフラグが設定されたTCPパケットであるTCP−RSTパケットを送信する。なお、フォールバック制御部223は、TCP−SYNパケットから送信元を示すIPアドレスとTCPセッション情報とを取得し、取得した情報に基づいてTCP−RSTパケットを生成する。例えば、フォールバック制御部223は、TCP−RSTにおいて、TCP−RSTパケットの宛先アドレスを送信元アドレスとし、TCP−RSTパケットの送信元ポートを宛先ポートとし、TCP−RSTパケットの宛先ポートを送信元ポートとする。   For example, the fallback control unit 223 constantly monitors a TCP-SYN packet among communication packets from the internal terminal 100 to the external terminal 400 in the dual stack network, and stores the destination address of the TCP-SYN packet in the fallback table 214. It is determined whether it is done. When the fallback control unit 223 determines that the packet is stored, the fallback control unit 223 transmits a TCP-RST packet, which is a TCP packet in which the RST flag is set, to the internal terminal 100 that is the transmission source of the TCP-SYN packet. To do. Note that the fallback control unit 223 acquires an IP address indicating a transmission source and TCP session information from the TCP-SYN packet, and generates a TCP-RST packet based on the acquired information. For example, in the TCP-RST, the fallback control unit 223 uses the destination address of the TCP-RST packet as the source address, the source port of the TCP-RST packet as the destination port, and the destination port of the TCP-RST packet as the source Port.

すなわち、フォールバック制御部223は、フォールバックとみなした通信の送信先に内部端末100によって通信開始メッセージが送信されると、送信元となる内部端末100にメッセージを送信することで、通信要求をしても通信確立できずにフォールバックしてしまうような宛先に通信要求を試みる内部端末100をフォールバックさせる。この結果、例えば、内部端末100のタイムアウトを待たずに通信NGとすることが可能となる。   That is, when the communication start message is transmitted by the internal terminal 100 to the transmission destination of communication regarded as fallback, the fallback control unit 223 transmits a message to the internal terminal 100 serving as a transmission source, thereby requesting a communication request. Even if communication is not established, the internal terminal 100 that attempts a communication request to a destination that falls back will be fallback. As a result, for example, communication NG can be performed without waiting for the timeout of the internal terminal 100.

なお、その後、TCP−RSTパケットを受信した内部端末100は、フォールバックを行った上で、通信開始メッセージを外部端末400に送信する。   After that, the internal terminal 100 that receives the TCP-RST packet transmits a communication start message to the external terminal 400 after performing fallback.

なお、上述した説明では、フォールバック制御部223が、TCP−RSTパケットを送信する場合を例に説明したが、これに限定されるものではなく、任意のパケットをメッセージとして出力しても良い。例えば、フォールバック制御部223は、ICMP(Internet Control Message Protocol)(v6)のパケットを送信することで、TCP−SYNパケットの送信先となる外部端末400のアドレスには到達不能である旨を内部端末100に通知しても良い。例えば、「destination unreachable」と記載されたICMPのパケットを送信しても良い。   In the above description, the case where the fallback control unit 223 transmits a TCP-RST packet has been described as an example. However, the present invention is not limited to this, and an arbitrary packet may be output as a message. For example, the fallback control unit 223 transmits an ICMP (Internet Control Message Protocol) (v6) packet to indicate that the address of the external terminal 400 that is the transmission destination of the TCP-SYN packet cannot be reached. The terminal 100 may be notified. For example, an ICMP packet describing “destination unreachable” may be transmitted.

[識別情報を格納する処理]
図7は、実施例1において識別情報をフォールバックテーブルに格納するまでの処理の流れの一例を示すシーケンス図である。以下では、IPv4アドレスが「192.168.1.10/32」であり、IPv6アドレスが「2001:db8:1::100/128」である内部端末100が、通信開始メッセージを送信する場合を用いて説明する。また、以下では、IPv4アドレスが「192.168.100.1/32」であり、IPv6アドレスが「2001:db8:2::1/128」であり、FQDNが「www.example.com」である外部端末400に向けて内部端末100が通信開始メッセージを送信する場合を用いて説明する。
[Process to store identification information]
FIG. 7 is a sequence diagram illustrating an example of a process flow until the identification information is stored in the fallback table in the first embodiment. In the following, description will be given using a case where the internal terminal 100 whose IPv4 address is “192.168.1.10/32” and whose IPv6 address is “2001: db8: 1 :: 100/128” transmits a communication start message. . In the following, the external terminal 400 whose IPv4 address is “192.168.100.1/32”, IPv6 address is “2001: db8: 2 :: 1/128”, and FQDN is “www.example.com”. A case where the internal terminal 100 transmits a communication start message will be described.

また、以下では、フォールバック検知装置200が、IPv6のTCP−SYNパケットを3回検知した後に、同一の内部端末100より同一の宛先に対してIPv4のTCP−SYNパケットが送信されたことを検知することで、フォールバックが発生したとみなす場合を例に説明する。また、以下では、内部端末100がIPv6にてTCP−SYNパケットを送信したとしても、外部端末400から応答が得られない場合を用いて説明する。   In the following description, the fallback detection apparatus 200 detects that an IPv4 TCP-SYN packet is transmitted from the same internal terminal 100 to the same destination after detecting the IPv6 TCP-SYN packet three times. Thus, a case where it is considered that a fallback has occurred will be described as an example. Hereinafter, a description will be given using a case where a response cannot be obtained from the external terminal 400 even if the internal terminal 100 transmits a TCP-SYN packet using IPv6.

図7に示すように、内部端末100は、外部端末400のFQDNであるDNSクエリを送信し、DNSクエリ要求に対するDNSクエリ応答を受信することで、外部端末400のIPアドレスを取得する(ステップS101)。すなわち、内部端末100は、FQDN「ww.example.com」となる外部端末400へとTCP通信を行うため、ルータ300に対し、外部端末400の名前解決をIPv4及びIPv6の両方で行う。   As illustrated in FIG. 7, the internal terminal 100 acquires the IP address of the external terminal 400 by transmitting a DNS query that is the FQDN of the external terminal 400 and receiving a DNS query response to the DNS query request (step S101). ). In other words, the internal terminal 100 performs TCP communication with the external terminal 400 that becomes the FQDN “ww.example.com”, and therefore, the router 300 performs name resolution of the external terminal 400 with both IPv4 and IPv6.

例えば、内部端末100は、FQDN「www.example.com」に対応するIPv4のIPアドレスを取得するためのDNSクエリをルータ300に向けて送信する(ステップS1011)。また、例えば、内部端末100は、FQDN「www.example.com」に対応するIPv6のIPアドレスを取得するためのDNSクエリをルータ300に向けて送信する(ステップS1012)。また、その後、内部端末100は、FQDN「www.example.com」に対応するIPv4のIPアドレス「192.168.100.1」が記載されたDNSクエリ応答をルータ300から受信する(ステップS1013)。また、内部端末100は、FQDN「www.example.com」に対応するIPv6のIPアドレス「2001:db8:2::1/128」が記載されたDNSクエリ応答をルータ300から受信する(ステップS1014)。   For example, the internal terminal 100 transmits a DNS query for acquiring an IPv4 IP address corresponding to the FQDN “www.example.com” to the router 300 (step S1011). Further, for example, the internal terminal 100 transmits a DNS query for acquiring an IPv6 IP address corresponding to the FQDN “www.example.com” to the router 300 (step S1012). Thereafter, the internal terminal 100 receives from the router 300 a DNS query response describing the IPv4 IP address “192.168.100.1” corresponding to the FQDN “www.example.com” (step S1013). Further, the internal terminal 100 receives a DNS query response describing the IPv6 IP address “2001: db8: 2 :: 1/128” corresponding to the FQDN “www.example.com” from the router 300 (step S1014). ).

ここで、フォールバック検知装置200の監視部221は、内部端末100により送受信されるDNSパケットを監視することで、通信先となる外部端末400のFQDN「www.example.com」とIPv4アドレス「192.168.100.1」とIPv6アドレス「2001:db8:2::1/128」とを取得し、対応付けてDNSパケットテーブル212に格納する(ステップS102)。   Here, the monitoring unit 221 of the fallback detection apparatus 200 monitors the DNS packet transmitted / received by the internal terminal 100, whereby the FQDN “www.example.com” and the IPv4 address “192.168” of the external terminal 400 that is the communication destination. .100.1 ”and the IPv6 address“ 2001: db8: 2 :: 1/128 ”are acquired, stored in the DNS packet table 212 in association with each other (step S102).

すなわち、監視部221は、DNSパケットを監視し、FQDN「www.example.com」が持つIPアドレスが「192.168.100.1」と「2001:db8:1::100/128」との2つのアドレスを持つという情報をDNSパケットテーブル212に格納する。   That is, the monitoring unit 221 monitors the DNS packet, and the FQDN “www.example.com” has two IP addresses “192.168.100.1” and “2001: db8: 1 :: 100/128”. The information that it has is stored in the DNS packet table 212.

具体的には、監視部221は、内部端末100により送受信されるパケットを取り込み、DNSクエリ要求、DNSクエリ応答、又は、TCP−SYNパケットであるかを判定する。ステップS102に示す場合、監視部221は、DNSクエリ要求又はDNSクエリ応答と判定すると、DNSクエリ要求やDNSクエリ応答に含まれるFQDNやIPv4アドレス、IPv6アドレスを対応付けてDNSパケットテーブル212に格納する。   Specifically, the monitoring unit 221 captures a packet transmitted and received by the internal terminal 100 and determines whether it is a DNS query request, a DNS query response, or a TCP-SYN packet. When the monitoring unit 221 determines in step S102 that the request is a DNS query request or DNS query response, the FQDN, IPv4 address, and IPv6 address included in the DNS query request or DNS query response are associated and stored in the DNS packet table 212. .

その後、内部端末100は、外部端末400とIPv6にてTCP通信を行うため、外部端末400のIPv6アドレス「2001:db8:2::1/128」に対してTCP−SYNパケットを送信する(ステップS103)。ここで、内部端末100は、外部端末400から応答が得られない結果、3回TCP−SYNパケットを送信した後にタイムアウトする。   After that, the internal terminal 100 transmits a TCP-SYN packet to the IPv6 address “2001: db8: 2 :: 1/128” of the external terminal 400 in order to perform TCP communication with the external terminal 400 using IPv6 (Step 1). S103). Here, as a result of not receiving a response from the external terminal 400, the internal terminal 100 times out after transmitting the TCP-SYN packet three times.

例えば、内部端末100は、宛先を「2001:db8:2::1/128」とする1回目のTCP−SYNパケットを送信し(ステップS1031)、宛先を「2001:db8:2::1/128」とする2回目のTCP−SYNパケットを送信し(ステップS1032)、宛先を「2001:db8:2::1/128」とする3回目のTCP−SYNパケットを送信する(ステップS1033)。なお、ここで、内部端末100により送信されるTCP−SYNパケットの送信元アドレスは、「2001:db8:1::100/128」となる。   For example, the internal terminal 100 transmits the first TCP-SYN packet whose destination is “2001: db8: 2 :: 1/128” (step S1031), and the destination is “2001: db8: 2 :: 1/1 /”. A second TCP-SYN packet “128” is transmitted (step S1032), and a third TCP-SYN packet whose destination is “2001: db8: 2 :: 1/128” is transmitted (step S1033). Here, the source address of the TCP-SYN packet transmitted by the internal terminal 100 is “2001: db8: 1 :: 100/128”.

ここで、フォールバック検知装置200の監視部221は、内部端末100によって送信されるTCP−SYNパケットを監視することで、内部端末100によって送信されたIPv6アドレス「2001:db8:2::1/128」を宛先とするTCP−SYNパケットについて、の送信元アドレスと宛先アドレスと監視時刻とを含むレコードを、通信開始メッセージテーブル211に格納する(ステップS104)。また、この際、例えば、監視部221は、通信開始メッセージテーブル211に新たなレコードを格納すると、送信元アドレスと宛先アドレスとが同一となるレコードが一定時間内に所定数格納されているかを判定し、所定数格納されていると判定すると、格納されていると判定されたレコードを格納部222に出力する。   Here, the monitoring unit 221 of the fallback detection apparatus 200 monitors the TCP-SYN packet transmitted by the internal terminal 100, thereby the IPv6 address “2001: db8: 2 :: 1 /” transmitted by the internal terminal 100. A record including a transmission source address, a destination address, and a monitoring time for a TCP-SYN packet destined for “128” is stored in the communication start message table 211 (step S104). At this time, for example, when the monitoring unit 221 stores a new record in the communication start message table 211, the monitoring unit 221 determines whether a predetermined number of records having the same source address and destination address are stored within a predetermined time. If it is determined that the predetermined number is stored, the record determined to be stored is output to the storage unit 222.

そして、内部端末100は、IPv6のTCP通信がタイムアウトした結果、IPv4でTCP通信を行うため、外部端末400のIPv4アドレス「192.168.100.1/32」を宛先とするTCP−SYNパケットを送信する(ステップS105)。なお、ここで、内部端末100により送信されるTCP−SYNパケットの送信元アドレスは、「2001:db8:1::100/128」となる。   The internal terminal 100 then transmits a TCP-SYN packet destined for the IPv4 address “192.168.100.1/32” of the external terminal 400 in order to perform TCP communication with IPv4 as a result of the time-out of the IPv6 TCP communication (step). S105). Here, the source address of the TCP-SYN packet transmitted by the internal terminal 100 is “2001: db8: 1 :: 100/128”.

ここで、通信開始メッセージが内部端末100から外部端末400に所定回数送信されたとの監視結果が監視部221により得られた後に、通信開始メッセージの送信に用いられたプロトコルとは別のプロトコルにて同一の外部端末400に通信開始メッセージが送信されたため、フォールバック検知装置200の格納部222は、フォールバックが発生するとみなし、監視部221により出力されたレコードに含まれ宛先アドレスをフォールバックテーブル214に格納する(ステップS106)。例えば、格納部222は、宛先アドレス「2001:db8:2::1/128」をフォールバックテーブル214に格納する。   Here, after a monitoring result that the communication start message has been transmitted from the internal terminal 100 to the external terminal 400 a predetermined number of times is obtained by the monitoring unit 221, a protocol different from the protocol used for transmitting the communication start message is used. Since the communication start message is transmitted to the same external terminal 400, the storage unit 222 of the fallback detection apparatus 200 considers that a fallback has occurred, and sets the destination address included in the record output by the monitoring unit 221 to the fallback table 214. (Step S106). For example, the storage unit 222 stores the destination address “2001: db8: 2 :: 1/128” in the fallback table 214.

なお、上記の処理手順は、上記の順番に限定されるものではなく、処理内容を矛盾させない範囲で適宜変更しても良い。   In addition, said process procedure is not limited to said order, You may change suitably in the range which does not contradict a process content.

[フォールバック制御部による処理]
図8は、実施例1におけるフォールバック制御部による処理の一例を示すフローチャートである。
[Processing by fallback control unit]
FIG. 8 is a flowchart illustrating an example of processing performed by the fallback control unit according to the first embodiment.

図8に示すように、フォールバック制御部223は、内部端末100により送信された通信開始メッセージの宛先が、フォールバックテーブル214に格納された識別情報と一致するかを判定する(ステップS201)。ここで、フォールバック制御部223は、一致したと判定した場合には(ステップS201肯定)、内部端末100をフォールバックさせるためのメッセージを生成する(ステップS202)。例えば、フォールバック制御部223は、TCP−RSTパケットを生成する。   As illustrated in FIG. 8, the fallback control unit 223 determines whether the destination of the communication start message transmitted by the internal terminal 100 matches the identification information stored in the fallback table 214 (step S201). Here, if the fallback control unit 223 determines that they match (Yes at Step S201), the fallback control unit 223 generates a message for causing the internal terminal 100 to fall back (Step S202). For example, the fallback control unit 223 generates a TCP-RST packet.

そして、フォールバック制御部223は、内部端末100に送信する(ステップS203)。この結果、内部端末100は、通信が確立されないプロトコルにて通信開始メッセージの送信を繰り返すのではなく、すぐにフォールバックする。   Then, the fallback control unit 223 transmits to the internal terminal 100 (step S203). As a result, the internal terminal 100 does not repeat transmission of the communication start message using a protocol in which communication is not established, but immediately falls back.

一方、フォールバック制御部223は、一致しなかったと判定した場合には(ステップS201否定)、そのまま処理を終了する。なお、その後、フォールバック制御部223は、取り込んだ通信開始メッセージをそのまま外部端末400に転送する。   On the other hand, if the fallback control unit 223 determines that they do not match (No in step S201), the process ends. After that, the fallback control unit 223 transfers the captured communication start message to the external terminal 400 as it is.

[実施例1の効果]
上述したように、実施例1によれば、内部端末100によって外部端末400に向けて送信されるパケットを監視する。また、通信開始メッセージが複数あるプロトコルのうち特定のプロトコルにて所定期間内に所定回数外部端末400に送信されたとの監視結果が得られた場合に、通信開始メッセージの送信先となる外部端末400を識別するための識別情報をフォールバックテーブル214に格納する。また、フォールバックテーブル224に格納された識別情報が宛先となる通信開始メッセージの送信元となる内部端末100について、フォールバックを制御する。この結果、通信の確立に要する時間を短縮可能となる。例えば、フォールバックを行うまでの時間が短縮することができ、適切に通信可能となる。
[Effect of Example 1]
As described above, according to the first embodiment, packets transmitted from the internal terminal 100 to the external terminal 400 are monitored. In addition, when a monitoring result indicating that a specific protocol among a plurality of communication start messages has been transmitted to the external terminal 400 a predetermined number of times within a predetermined period is obtained, the external terminal 400 that is a transmission destination of the communication start message Is stored in the fallback table 214. Further, the fallback is controlled for the internal terminal 100 that is the transmission source of the communication start message whose destination is the identification information stored in the fallback table 224. As a result, the time required for establishing communication can be shortened. For example, the time until the fallback is performed can be shortened, and communication can be appropriately performed.

すなわち、実施例1によれば、例えば、内部端末100がTCP通信をする際に用いるTCP−SYNパケットを監視することでフォールバックの発生を推測する。つまり、実施例1では、その宛先に対してどちらかのプロトコル(IPv4あるいはIPv6)で接続できないことを検知する。その上で、フォールバック検知した宛先に対して、それ以降の通信を監視し、特定の処理を行うことで、内部端末100が迅速にフォールバックをすることになる。なお、特定の処理とは、例えば、内部端末100にTCP−RSTパケットを送信したり、ICMPエラーを送信したりすることが該当する。   In other words, according to the first embodiment, for example, the occurrence of fallback is estimated by monitoring the TCP-SYN packet used when the internal terminal 100 performs TCP communication. That is, in the first embodiment, it is detected that the connection to the destination using either protocol (IPv4 or IPv6) is not possible. In addition, the internal terminal 100 quickly falls back by monitoring subsequent communication and performing specific processing for the destination for which fallback is detected. The specific process corresponds to, for example, sending a TCP-RST packet to the internal terminal 100 or sending an ICMP error.

言い換えると、フォールバックとみなすと、通信を確立できない外部端末400のアドレスリストを生成して記憶しておき、生成したアドレスリストに基づいて、内部端末100を強制的にフォールバックさせるための処理を行う。つまり、リストの中にはない外部端末400に最初にアクセスする内部端末100は、往々にしてフォールバックする可能性が高いと考えられるが、この経験をリスト化していくことで、次に同じ又は別の内部端末100が同じプロトコルにて外部端末400にアクセスしようとした場合に、対処可能となる。   In other words, if it is regarded as fallback, an address list of the external terminal 400 that cannot establish communication is generated and stored, and a process for forcibly falling back the internal terminal 100 based on the generated address list is performed. Do. That is, the internal terminal 100 that first accesses the external terminal 400 that is not in the list is likely to fall back often, but by listing this experience, the same or This can be handled when another internal terminal 100 tries to access the external terminal 400 using the same protocol.

この結果、例えば、特定のデュアルスタックネットワーク環境において端末のTCP通信のフォールバックを検知することにより、特定のデュアルスタックネットワーク内の端末から特定の宛先に対し、IPv4あるいはIPv6を利用した通信ができないことを検知することができる。また、例えば、検知した情報を元にその後のネットワーク内の端末のTCP通信が特定の宛先に対して通信不能なプロトコル(IPv4あるいはIPv6)を利用して通信しようとした際に、強制的に通信可能なプロトコルにフォールバックさせることで迅速に通信が可能となる。   As a result, for example, by detecting a fallback of TCP communication of a terminal in a specific dual stack network environment, communication using IPv4 or IPv6 cannot be performed from a terminal in the specific dual stack network to a specific destination. Can be detected. Also, for example, when the TCP communication of the terminal in the subsequent network tries to communicate using a protocol (IPv4 or IPv6) incapable of communicating with a specific destination based on the detected information, the communication is forcibly performed. It is possible to communicate quickly by falling back to a possible protocol.

また、実施例1によれば、格納部222は、通信開始メッセージが内部端末100から外部端末400に特定のプロトコルにて所定回数送信されたとの監視結果が監視部221により得られた後に、通信開始メッセージの送信に用いられた特定のプロトコルとは別のプロトコルにて外部端末400に通信開始メッセージが送信されたとの監視結果が監視部221により得られた場合に、識別情報を記憶部210に格納する。すなわち、例えば、IPv6で所定回数の通信開始メッセージを観測した後に、IPv4で同一の外部端末400に対して通信開始メッセージを確認すると、IPv4にて送信された通信開始メッセージの送信元が同一の内部端末100かどうかを気にすることなく、フォールバックと検知する。この結果、特定のプロトコルとは別のプロトコルにて外部端末400に通信開始メッセージが送信された場合にフォールバックと検知することで、フォールバックの発生を高精度にて検知可能となる。   Further, according to the first embodiment, the storage unit 222 performs communication after the monitoring result is obtained by the monitoring unit 221 that the communication start message is transmitted from the internal terminal 100 to the external terminal 400 by a specific protocol a predetermined number of times. When the monitoring unit 221 obtains a monitoring result that the communication start message is transmitted to the external terminal 400 using a protocol different from the specific protocol used for transmitting the start message, the identification information is stored in the storage unit 210. Store. That is, for example, after observing a predetermined number of communication start messages in IPv6 and confirming the communication start message to the same external terminal 400 in IPv4, the source of the communication start message transmitted in IPv4 is the same internal A fallback is detected without worrying about whether the terminal 100 is used. As a result, when a communication start message is transmitted to the external terminal 400 using a protocol different from the specific protocol, the fallback can be detected with high accuracy by detecting the fallback.

また、実施例1によれば、格納部222は、通信開始メッセージが内部端末100から外部端末400にプロトコルにて所定回数送信されたとの監視結果が監視部221により得られた後に、通信開始メッセージの送信に用いられたプロトコルとは別のプロトコルにて、内部端末100から外部端末400に通信開始メッセージが送信されたとの監視結果が監視部221により得られた場合に、識別情報を記憶部210に格納する。すなわち、例えば、IPv6で所定回数の通信開始メッセージを観測した後に、IPv4で同一の外部端末400に対して通信開始メッセージを確認すると、内部端末情報を利用することで、IPv6とIPv4とにおいて送信された通信開始メッセージが同一の内部端末100から発信されたものかどうかを判断した上で、フォールバックと検知することで、フォールバックの発生を高精度にて検知可能となる。   Further, according to the first embodiment, the storage unit 222 receives the communication start message after the monitoring unit 221 obtains the monitoring result that the communication start message is transmitted from the internal terminal 100 to the external terminal 400 by the protocol a predetermined number of times. When the monitoring unit 221 obtains a monitoring result that the communication start message is transmitted from the internal terminal 100 to the external terminal 400 using a protocol different from the protocol used for the transmission of the identification information, the storage unit 210 stores the identification information. To store. That is, for example, after observing a predetermined number of communication start messages in IPv6 and then confirming the communication start message to the same external terminal 400 in IPv4, it is transmitted in IPv6 and IPv4 by using internal terminal information. It is possible to detect the occurrence of fallback with high accuracy by detecting whether the communication start message is transmitted from the same internal terminal 100 and then detecting the fallback.

また、実施例1によれば、フォールバック制御部223は、記憶部210に格納された識別情報により識別される外部端末400と該識別情報のプロトコルでの通信の開始を要求する通信開始メッセージが送信されたとの監視結果が得られた場合に、通信開始メッセージの送信元となる内部端末100に対して、内部端末100をフォールバックさせるためのメッセージを送信する。この結果、内部端末100にすみやかにフォールバックさせることが可能となる。   Further, according to the first embodiment, the fallback control unit 223 receives a communication start message for requesting to start communication with the external terminal 400 identified by the identification information stored in the storage unit 210 using the protocol of the identification information. When the monitoring result is transmitted, a message for causing the internal terminal 100 to fall back is transmitted to the internal terminal 100 that is the transmission source of the communication start message. As a result, it is possible to cause the internal terminal 100 to quickly fall back.

また、実施例1によれば、内部端末100は、複数のプロトコルに対応するデュアルスタックネットワーク内に接続された端末であって、内部端末100は、デュアルスタックネットワーク外に接続された端末となる。この結果、デュアルスタックネットワーク内に接続された内部端末100について、通信が確立できないプロトコルを用いて通信の確立を試みた場合にすみやかにフォールバックさせることが可能となる。   Further, according to the first embodiment, the internal terminal 100 is a terminal connected in a dual stack network corresponding to a plurality of protocols, and the internal terminal 100 is a terminal connected outside the dual stack network. As a result, the internal terminal 100 connected in the dual stack network can be quickly fallback when attempting to establish communication using a protocol that cannot establish communication.

この結果、閉域網内において、広域網向けのパケットで通信可能な端末がどの端末で、広域網向けのパケットで通信不可能な端末がどの端末であるかが予めわかっていない状況であったとしても、格納部222によってフォールバックテーブル214に識別情報が格納されて蓄積される結果、対応可能となる。   As a result, in a closed network, it is a situation where it is not known in advance which terminal can communicate with a packet for a wide area network and which terminal cannot communicate with a packet for a wide area network. Also, as a result of the storage unit 222 storing the identification information in the fallback table 214 and accumulating it, it becomes possible to cope with it.

さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、その他の実施例にて実施されても良い。そこで、以下では、その他の実施例を示す。   Although the embodiments of the present invention have been described so far, the present invention may be implemented in other embodiments besides the above-described embodiments. Therefore, other embodiments will be described below.

[フォールバック制御部]
例えば、フォールバック制御部223は、記憶部210に格納された識別情報を含むDNSクエリ応答が得られたとの監視結果が監視部221により得られた場合に、DNSクエリ応答に含まれる識別情報を削除した上で内部端末100に送信しても良い。また、同様に、フォールバック制御部223は、フォールバックテーブル214に格納された識別情報を要求するDNSクエリ要求が得られたとの監視結果が監視部221により得られた場合に、識別情報を含まないDNSクエリ応答を生成した上で内部端末100に送信しても良い。
[Fallback control unit]
For example, when the monitoring unit 221 obtains the monitoring result that the DNS query response including the identification information stored in the storage unit 210 is obtained, the fallback control unit 223 displays the identification information included in the DNS query response. You may delete and transmit to the internal terminal 100. FIG. Similarly, the fallback control unit 223 includes identification information when the monitoring unit 221 obtains a monitoring result indicating that a DNS query request for requesting identification information stored in the fallback table 214 is obtained. A DNS query response not generated may be generated and transmitted to the internal terminal 100.

すなわち、格納部222は、DNSクエリ応答に記載される外部端末400の識別情報に対応付けて、内部端末100がフォールバックを行うことになる外部端末400の通信を行う際に用いられる識別情報を記憶する。例えば、格納部222は、外部端末400のURLやFQDNに対応付けて、IPアドレスをフォールバックテーブル214に格納する。その上で、フォールバック制御部223は、フォールバック制御部223に記憶されたURLやFQDNについてのIPアドレスを要求するDNSクエリ要求が得られたとの監視結果が監視部221により得られた場合に、フォールバックテーブル214に格納されたIPアドレスがDNSクエリ応答にて内部端末100に送信されないようにする。   That is, the storage unit 222 associates the identification information of the external terminal 400 described in the DNS query response with the identification information used when the internal terminal 100 performs communication of the external terminal 400 that will fall back. Remember. For example, the storage unit 222 stores the IP address in the fallback table 214 in association with the URL or FQDN of the external terminal 400. In addition, when the monitoring unit 221 obtains a monitoring result that the DNS query request for requesting the IP address for the URL or the FQDN stored in the fallback control unit 223 is obtained, the fallback control unit 223 receives the DNS query request. The IP address stored in the fallback table 214 is not transmitted to the internal terminal 100 in the DNS query response.

例えば、フォールバック制御部223は、no errorフラグを立ててAnswersを空にしたDNSクエリ応答を生成しても良く、nxdomainフラグを立てたDNSクエリ応答を生成しても良い。また、例えば、フォールバック制御部223は、DNSクエリ応答を内部端末100に返さなくても良い。この結果、内部端末100には、フォールバックすることになる外部端末400のIPアドレスが通知されないこととなり、内部端末100におけるフォールバックを防止可能となる。   For example, the fallback control unit 223 may generate a DNS query response in which the no error flag is set and Answers is emptied, or may generate a DNS query response in which the nxdomain flag is set. Further, for example, the fallback control unit 223 may not return a DNS query response to the internal terminal 100. As a result, the internal terminal 100 is not notified of the IP address of the external terminal 400 that will fall back, and fallback in the internal terminal 100 can be prevented.

例えば、内部端末100は、外部端末400と通信を行う場合に、IPv4におけるIPアドレスを要求するDNSクエリ要求を送信するとともに、IPv6におけるIPアドレスを要求するDNSクエリ要求を送信する。ここで、外部端末400のIPv6におけるIPアドレスがフォールバックテーブル214に格納されている場合を用いて説明する。言い換えると、外部端末400とIPv6にて通信を試みると、内部端末100が、フォールバックを行うことになる場合を用いて説明する。この場合、フォールバック制御部223は、外部端末400のIPv6が要求されているDNSクエリ要求については、フォールバックテーブル214に格納されたIPアドレスと一致することから、DNSクエリ応答を内部端末100に返さなかったり、nxdomainフラグを立てたDNSクエリ応答を生成して返したりする。一方、フォールバック制御部223は、外部端末400のIPv4が要求されているDNSクエリ要求については、フォールバックテーブル214に格納されたIPアドレスと一致しないことから、そのまま返信する。この結果、内部端末100は、IPv6ではなく、最初からIPv4を用いて、外部端末400と通信を試みることになる。この結果、内部端末100がフォールバックを起こすことを防止することが可能である。つまり、そもそも、内部端末100にフォールバックが起きないようにすることが可能となる。   For example, when communicating with the external terminal 400, the internal terminal 100 transmits a DNS query request for requesting an IP address in IPv4 and also transmits a DNS query request for requesting an IP address in IPv6. Here, the case where the IPv6 IP address of the external terminal 400 is stored in the fallback table 214 will be described. In other words, a description will be given using a case where the internal terminal 100 performs fallback when attempting to communicate with the external terminal 400 using IPv6. In this case, the DNS query request for which the IPv6 of the external terminal 400 is requested matches the IP address stored in the fallback table 214, so that the fallback control unit 223 sends a DNS query response to the internal terminal 100. Does not return, or generates and returns a DNS query response with the nxdomain flag set. On the other hand, the fallback control unit 223 returns the DNS query request for which the IPv4 of the external terminal 400 is requested, because it does not match the IP address stored in the fallback table 214. As a result, the internal terminal 100 tries to communicate with the external terminal 400 using IPv4 from the beginning instead of IPv6. As a result, it is possible to prevent the internal terminal 100 from causing a fallback. That is, in the first place, it is possible to prevent the fallback from occurring in the internal terminal 100.

また、上述した説明では、フォールバック制御部223がDNSクエリ応答やDNSクエリ要求について処理を行う場合を例に説明したが、これに限定されるものではない。例えば、ルータ300が、フォールバック検知装置200のフォールバックテーブル214を参照した上で、フォールバックが発生するIPアドレスを取得できないようにしたDNSクエリ応答を送信しても良い。   In the above description, the case where the fallback control unit 223 processes a DNS query response or a DNS query request is described as an example, but the present invention is not limited to this. For example, the router 300 may refer to the fallback table 214 of the fallback detection apparatus 200 and then transmit a DNS query response that prevents acquisition of an IP address where the fallback occurs.

[フォールバック]
また、例えば、上述の実施例では、内部端末100が、IPv6からIPv4にフォールバックする場合を例に説明したが、これに限定されるものではなく、IPv4からIPv6にフォールバックしても良く、任意のプロトコルから別のプロトコルにフォールバックしても良い。
[Fallback]
Further, for example, in the above-described embodiment, the case where the internal terminal 100 falls back from IPv6 to IPv4 has been described as an example. However, the present invention is not limited to this, and may fall back from IPv4 to IPv6. You may fall back from any protocol to another protocol.

[フォールバック制御部]
また、フォールバック制御部223は、格納部222によって識別情報がフォールバックテーブル214に格納されると、直ちに処理を行っても良い。例えば、格納部222によって識別情報が格納されることとなった送信元となる内部端末100に対して、TCP−RSTパケットを送信しても良い。
[Fallback control unit]
Further, the fallback control unit 223 may perform the process immediately after the storage unit 222 stores the identification information in the fallback table 214. For example, a TCP-RST packet may be transmitted to the internal terminal 100 serving as a transmission source whose identification information is stored by the storage unit 222.

また、例えば、フォールバック制御部223は、内部端末100による「所定回数」回目の通信開始メッセージの送信が確認されたことを契機として、内部端末100に対して、即フォールバックを行う旨のメッセージを送信しても良い。   Further, for example, the fallback control unit 223 sends a message to the internal terminal 100 to immediately perform fallback when the internal terminal 100 confirms the transmission of the “predetermined number of times” communication start message. May be sent.

[フォールバックテーブル]
また、例えば、フォールバックテーブル214に、通信先となる外部端末400を示す識別情報に加えて、送信元となる内部端末100を示す識別情報を更に記憶しておいても良い。この場合、フォールバック制御部223は、フォールバックテーブル214に記憶された外部端末400を示す識別情報と内部端末100を示す識別情報の組み合わせと、内部端末100により送信された通信開始メッセージとが一致する場合に、TCP−RSTパケットを送信しても良い。
[Fallback table]
Further, for example, in addition to the identification information indicating the external terminal 400 that is the communication destination, the identification information indicating the internal terminal 100 that is the transmission source may be further stored in the fallback table 214. In this case, the fallback control unit 223 matches the combination of the identification information indicating the external terminal 400 and the identification information indicating the internal terminal 100 stored in the fallback table 214 with the communication start message transmitted by the internal terminal 100. In this case, a TCP-RST packet may be transmitted.

[システム構成]
また、本実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は1部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は1部を公知の方法で自動的に行うこともできる。この他、上述文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については(図1〜図8)、特記する場合を除いて任意に変更することができる。
[System configuration]
Also, among the processes described in this embodiment, all or a part of the processes described as being automatically performed can be manually performed, or the processes described as being performed manually can be performed. All or one part can be automatically performed by a known method. In addition, the processing procedure, control procedure, specific name, and information including various data and parameters shown in the above-mentioned document and drawings (FIGS. 1 to 8) are arbitrarily changed unless otherwise specified. be able to.

また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は1部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。例えば、フォールバック検知装置200とルータ300とを統合して1つの装置としても良く、フォールバックテーブル214を外部装置としてネットワーク経由でフォールバック検知装置200と接続されるようにしても良い。   Further, each component of each illustrated apparatus is functionally conceptual, and does not necessarily need to be physically configured as illustrated. That is, the specific form of distribution / integration of each device is not limited to that shown in the figure, and all or a part of the distribution / integration may be functionally or physically distributed in arbitrary units according to various loads or usage conditions. Can be integrated and configured. For example, the fallback detection device 200 and the router 300 may be integrated into one device, or the fallback table 214 may be connected to the fallback detection device 200 via a network as an external device.

また、例えば、フォールバックの発生を検知して識別情報をフォールバックテーブル214に格納する装置と、フォールバックテーブル214に格納された情報に基づいて内部端末100におけるフォールバックを制御する装置とが別装置であっても良い。すなわち、例えば、TCP−RSTパケットやICMPパケットを送信する装置を、フォールバックテーブル214にIPアドレスを格納する装置と別装置としても良い。   Further, for example, a device that detects the occurrence of fallback and stores identification information in the fallback table 214 is different from a device that controls fallback in the internal terminal 100 based on the information stored in the fallback table 214. It may be a device. That is, for example, a device that transmits a TCP-RST packet or an ICMP packet may be different from a device that stores an IP address in the fallback table 214.

[プログラム]
図9は、フォールバック検知装置による1連の処理を実行するための制御プログラムによる情報処理が、コンピュータを用いて具体的に実現されることを示す図である。図9に例示するように、コンピュータ3000は、例えば、メモリ3010と、CPU(Central Processing Unit)3020と、ネットワークインタフェース3070とを有する。コンピュータ3000の各部はバス3100によって接続される。
[program]
FIG. 9 is a diagram showing that the information processing by the control program for executing a series of processes by the fallback detection device is specifically realized using a computer. As illustrated in FIG. 9, the computer 3000 includes, for example, a memory 3010, a CPU (Central Processing Unit) 3020, and a network interface 3070. Each part of the computer 3000 is connected by a bus 3100.

メモリ3010は、図9に例示するように、ROM3011及びRAM3012を含む。ROM3011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。   The memory 3010 includes a ROM 3011 and a RAM 3012 as illustrated in FIG. The ROM 3011 stores a boot program such as BIOS (Basic Input Output System).

ここで、図9に例示するように、ハードディスクドライブ3080は、例えば、OS3081、アプリケーションプログラム3082、プログラムモジュール3083、プログラムデータ3084を記憶する。すなわち、開示の技術に係る制御プログラムは、コンピュータによって実行される指令が記述されたプログラムモジュール3083として、例えばハードディスクドライブ3080に記憶される。具体的には、上記実施例で説明した制御部220の各部と同様の情報処理を実行する手順各々が記述されたプログラムモジュールが、ハードディスクドライブ3080に記憶される。   Here, as illustrated in FIG. 9, the hard disk drive 3080 stores, for example, an OS 3081, an application program 3082, a program module 3083, and program data 3084. In other words, the control program according to the disclosed technique is stored in, for example, the hard disk drive 3080 as the program module 3083 in which instructions executed by the computer are described. Specifically, a program module in which a procedure for executing the same information processing as each unit of the control unit 220 described in the above embodiment is described is stored in the hard disk drive 3080.

また、上記実施例で説明した記憶部210の各テーブルに記憶されるデータのように、フォールバック検知プログラムによる情報処理に用いられるデータは、プログラムデータ3084として、例えばハードディスクドライブ3080に記憶される。そして、CPU3020が、ハードディスクドライブ3080に記憶されたプログラムモジュール3083やプログラムデータ3084を必要に応じてRAM3012に読み出し、各種の手順を実行する。   Further, like data stored in each table of the storage unit 210 described in the above embodiment, data used for information processing by the fallback detection program is stored as, for example, the hard disk drive 3080 as program data 3084. The CPU 3020 reads the program module 3083 and program data 3084 stored in the hard disk drive 3080 to the RAM 3012 as necessary, and executes various procedures.

なお、フォールバック検知プログラムに係るプログラムモジュール3083やプログラムデータ3084は、ハードディスクドライブ3080に記憶される場合に限られない。例えば、プログラムモジュール3083やプログラムデータ3084は、着脱可能な記憶媒体に記憶されても良い。この場合、CPU3020は、ディスクドライブなどの着脱可能な記憶媒体を介してデータを読み出す。また、同様に、更新プログラムに係るプログラムモジュール3083やプログラムデータ3084は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されても良い。この場合、CPU3020は、ネットワークインタフェースを介して他のコンピュータにアクセスすることで各種データを読み出す。   Note that the program module 3083 and the program data 3084 related to the fallback detection program are not limited to being stored in the hard disk drive 3080. For example, the program module 3083 and the program data 3084 may be stored in a removable storage medium. In this case, the CPU 3020 reads data via a removable storage medium such as a disk drive. Similarly, the program module 3083 and program data 3084 related to the update program may be stored in another computer connected via a network (LAN (Local Area Network), WAN (Wide Area Network), etc.). . In this case, the CPU 3020 reads various data by accessing another computer via the network interface.

[その他]
なお、本実施例で説明したフォールバック検知プログラムは、インターネットなどのネットワークを介して配布することができる。また、フォールバック検知プログラムは、ハードディスク、フレキシブルディスク(FD)、CD−ROM、MO、DVD、ブルーレイディスクなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
[Others]
Note that the fallback detection program described in the present embodiment can be distributed via a network such as the Internet. The fallback detection program is recorded on a computer-readable recording medium such as a hard disk, a flexible disk (FD), a CD-ROM, an MO, a DVD, or a Blu-ray disc, and is executed by being read from the recording medium by the computer. You can also.

100 内部端末
200 フォールバック検知装置
210 記憶部
211 通信開始メッセージテーブル
212 DNSパケットテーブル
213 内部端末情報テーブル
214 フォールバックテーブル
220 制御部
221 監視部
222 格納部
223 フォールバック制御部
300 ルータ
400 外部端末
100 Internal terminal 200 Fallback detection device 210 Storage unit 211 Communication start message table 212 DNS packet table 213 Internal terminal information table 214 Fallback table 220 Control unit 221 Monitoring unit 222 Storage unit 223 Fallback control unit 300 Router 400 External terminal

Claims (8)

複数のプロトコルに対応する第1の端末によって第2の端末に向けて送信されるパケットを監視する監視部と、
通信の開始を要求する通信開始メッセージが前記複数あるプロトコルのうち特定のプロトコルにて前記第1の端末から前記第2の端末に所定期間内に所定回数送信されたとの監視結果が前記監視部により得られた場合に、該通信開始メッセージの送信先となる該第2の端末を識別するための該プロトコルにおける識別情報を所定の記憶装置に格納する格納部と、
前記格納部によって前記所定の記憶装置に格納された識別情報が宛先となる前記通信開始メッセージの送信元となる前記第1の端末について、フォールバックを制御するフォールバック制御部と
を備えたことを特徴とするフォールバック検知装置。
A monitoring unit that monitors packets transmitted to the second terminal by the first terminal corresponding to a plurality of protocols;
A monitoring result indicating that a communication start message requesting the start of communication has been transmitted from the first terminal to the second terminal a predetermined number of times within a predetermined period by a specific protocol among the plurality of protocols is received by the monitoring unit A storage unit that stores identification information in the protocol for identifying the second terminal that is the transmission destination of the communication start message in a predetermined storage device,
A fallback control unit that controls fallback for the first terminal that is a transmission source of the communication start message whose destination is the identification information stored in the predetermined storage device by the storage unit. A fallback detection device.
前記格納部は、前記通信開始メッセージが前記第1の端末から前記第2の端末に前記特定のプロトコルにて所定回数送信されたとの監視結果が前記監視部により得られた後に、該通信開始メッセージの送信に用いられた該特定のプロトコルとは別のプロトコルにて該第2の端末に該通信開始メッセージが送信されたとの監視結果が前記監視部により得られた場合に、前記識別情報を前記所定の記憶装置に格納することを特徴とする請求項1に記載のフォールバック検知装置。   The storage unit receives the communication start message after the monitoring result that the communication start message has been transmitted from the first terminal to the second terminal by the specific protocol a predetermined number of times is obtained by the monitoring unit. When the monitoring unit obtains a monitoring result indicating that the communication start message is transmitted to the second terminal using a protocol different from the specific protocol used for transmission of the identification information, The fallback detection apparatus according to claim 1, wherein the fallback detection apparatus is stored in a predetermined storage device. 前記格納部は、前記通信開始メッセージが前記第1の端末から前記第2の端末に前記特定のプロトコルにて所定回数送信されたとの監視結果が前記監視部により得られた後に、該通信開始メッセージの送信に用いられた該特定のプロトコルとは別のプロトコルにて、該第1の端末から該第2の端末に該通信開始メッセージが送信されたとの監視結果が前記監視部により得られた場合に、前記識別情報を前記所定の記憶装置に格納することを特徴とする請求項2に記載のフォールバック検知装置。   The storage unit receives the communication start message after the monitoring result that the communication start message has been transmitted from the first terminal to the second terminal by the specific protocol a predetermined number of times is obtained by the monitoring unit. When the monitoring unit obtains a monitoring result indicating that the communication start message is transmitted from the first terminal to the second terminal using a protocol different from the specific protocol used for transmission of The fallback detection device according to claim 2, wherein the identification information is stored in the predetermined storage device. 前記フォールバック制御部は、前記格納部によって前記所定の記憶装置に格納された識別情報が宛先となる前記通信開始メッセージの送信元となる前記第1の端末に対して、該第1の端末をフォールバックさせるためのメッセージを送信することを特徴とする請求項1〜3のいずれか1つに記載のフォールバック検知装置。   The fallback control unit sends the first terminal to the first terminal serving as a transmission source of the communication start message whose identification information is stored in the predetermined storage device by the storage unit. The fallback detection apparatus according to claim 1, wherein a message for fallback is transmitted. 前記第1の端末は、前記第2の端末の識別情報を要求するDNSクエリ要求を送信し、該DNSクエリ要求に対する応答であるDNSクエリ応答を受信し、
前記監視部は、前記第1の端末による通信を中継することで、該第1の端末により送受信される情報を監視し、
前記フォールバック制御部は、前記所定の記憶装置に格納された識別情報を含む前記DNSクエリ応答が得られたとの監視結果が前記監視部により得られた場合に、該DNSクエリ応答に含まれる該識別情報を削除した上で、前記DNSクエリ要求の送信元となる前記第1の端末に送信することを特徴とする請求項1〜3のいずれか1つに記載のフォールバック検知装置。
The first terminal transmits a DNS query request for requesting identification information of the second terminal, receives a DNS query response that is a response to the DNS query request,
The monitoring unit monitors information transmitted and received by the first terminal by relaying communication by the first terminal,
The fallback control unit is included in the DNS query response when the monitoring unit obtains a monitoring result that the DNS query response including the identification information stored in the predetermined storage device is obtained. The fallback detection apparatus according to any one of claims 1 to 3, wherein the fallback detection apparatus transmits the identification information to the first terminal that is a transmission source of the DNS query request.
前記第1の端末は、前記第2の端末の任意のプロトコルの識別情報を要求するDNSクエリ要求を送信し、該DNSクエリ要求に対する応答であるDNSクエリ応答を受信し、
前記監視部は、前記第1の端末による通信を中継することで、該第1の端末により送受信される情報を監視し、
前記フォールバック制御部は、前記所定の記憶装置に格納された識別情報を要求する前記DNSクエリ要求が得られたとの監視結果が前記監視部により得られた場合に、該識別情報を含まない該DNSクエリ応答を生成した上で、前記DNSクエリ要求の送信元となる前記第1の端末に送信することを特徴とする請求項1〜3のいずれか1つに記載のフォールバック検知装置。
The first terminal transmits a DNS query request that requests identification information of an arbitrary protocol of the second terminal, receives a DNS query response that is a response to the DNS query request,
The monitoring unit monitors information transmitted and received by the first terminal by relaying communication by the first terminal,
The fallback control unit does not include the identification information when the monitoring unit obtains a monitoring result that the DNS query request for requesting the identification information stored in the predetermined storage device is obtained. The fallback detection apparatus according to claim 1, wherein after generating a DNS query response, the DNS query response is transmitted to the first terminal that is a transmission source of the DNS query request.
複数のプロトコルに対応する第1の端末によって第2の端末に向けて送信されるパケットを監視する監視工程と、
通信の開始を要求する通信開始メッセージが前記複数あるプロトコルのうち特定のプロトコルにて前記第1の端末から前記第2の端末に所定期間内に所定回数送信されたとの監視結果が前記監視工程により得られた場合に、該通信開始メッセージの送信先となる該第2の端末を識別するための識別情報を所定の記憶装置に格納する格納工程と、
前記格納工程によって前記所定の記憶装置に格納された識別情報が宛先となる前記通信開始メッセージの送信元となる前記第1の端末について、フォールバックを制御するフォールバック制御工程と
を含んだことを特徴とするフォールバック検知方法。
A monitoring step of monitoring packets transmitted toward the second terminal by the first terminal corresponding to a plurality of protocols;
A monitoring result indicating that a communication start message for requesting the start of communication has been transmitted from the first terminal to the second terminal a predetermined number of times within a predetermined period by a specific protocol among the plurality of protocols is obtained by the monitoring step. A storage step of storing, in a predetermined storage device, identification information for identifying the second terminal that is the transmission destination of the communication start message, if obtained.
A fallback control step of controlling fallback for the first terminal that is the transmission source of the communication start message whose destination is the identification information stored in the predetermined storage device by the storage step. A feature fallback detection method.
コンピュータを請求項1〜6のいずれか1つに記載のフォールバック検知装置として機能させるためのフォールバック検知プログラム。   A fallback detection program for causing a computer to function as the fallback detection device according to any one of claims 1 to 6.
JP2011118245A 2011-05-26 2011-05-26 Fallback detection device, fallback detection method, and fallback detection program Expired - Fee Related JP5777938B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011118245A JP5777938B2 (en) 2011-05-26 2011-05-26 Fallback detection device, fallback detection method, and fallback detection program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011118245A JP5777938B2 (en) 2011-05-26 2011-05-26 Fallback detection device, fallback detection method, and fallback detection program

Publications (2)

Publication Number Publication Date
JP2012249015A true JP2012249015A (en) 2012-12-13
JP5777938B2 JP5777938B2 (en) 2015-09-09

Family

ID=47469070

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011118245A Expired - Fee Related JP5777938B2 (en) 2011-05-26 2011-05-26 Fallback detection device, fallback detection method, and fallback detection program

Country Status (1)

Country Link
JP (1) JP5777938B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014022819A (en) * 2012-07-13 2014-02-03 Panasonic Corp Network system
JP2015173374A (en) * 2014-03-12 2015-10-01 Necプラットフォームズ株式会社 Relay device, relay method and computer program

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004228760A (en) * 2003-01-21 2004-08-12 Canon Inc Method, program, and apparatus for replying to inquiry of address and for notifying address
JP2004350133A (en) * 2003-05-23 2004-12-09 Canon Inc Connection control method, connection control program, and connection device
JP2008250976A (en) * 2007-03-02 2008-10-16 Hitachi Communication Technologies Ltd Icmp conversion device
JP2009130501A (en) * 2007-11-21 2009-06-11 Hitachi Communication Technologies Ltd Terminating device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004228760A (en) * 2003-01-21 2004-08-12 Canon Inc Method, program, and apparatus for replying to inquiry of address and for notifying address
JP2004350133A (en) * 2003-05-23 2004-12-09 Canon Inc Connection control method, connection control program, and connection device
JP2008250976A (en) * 2007-03-02 2008-10-16 Hitachi Communication Technologies Ltd Icmp conversion device
JP2009130501A (en) * 2007-11-21 2009-06-11 Hitachi Communication Technologies Ltd Terminating device

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSND201100088015; 藤崎 智宏: 'アドレス枯渇で浮上 IPv4/IPv6併用期のよくあるトラブル IPv6導入後の「アクセスが遅い」' 日経NETWORK 第132号 , 20110328, pp.88〜95, 日経BP社 *
JPN6014023662; 藤崎 智宏: 'アドレス枯渇で浮上 IPv4/IPv6併用期のよくあるトラブル IPv6導入後の「アクセスが遅い」' 日経NETWORK 第132号 , 20110328, pp.88〜95, 日経BP社 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014022819A (en) * 2012-07-13 2014-02-03 Panasonic Corp Network system
JP2015173374A (en) * 2014-03-12 2015-10-01 Necプラットフォームズ株式会社 Relay device, relay method and computer program

Also Published As

Publication number Publication date
JP5777938B2 (en) 2015-09-09

Similar Documents

Publication Publication Date Title
US8009670B2 (en) Communication system, information processor, intervening server, identification information transmitting server, communication method and program
US20080298257A1 (en) Method and apparatus for detecting a router that improperly responds to arp requests
CN105323173A (en) Network rule entry setting method and device
JP2005287045A (en) Method for discovery of device connected to ip network and device to carry out the method
US20140294009A1 (en) Communication apparatus, communication system, control method of communication apparatus and program
JP6290053B2 (en) COMMUNICATION DEVICE, COMMUNICATION SYSTEM, AND COMMUNICATION METHOD
EP3219087A1 (en) Methods, systems, and computer readable media for facilitating the resolving of endpoint hostnames in test environments with firewalls, network address translators(nats), or clouds
WO2017215492A1 (en) Device detection method and apparatus
CA2788584A1 (en) Method and apparatus for detecting devices on a local area network
CN108173979B (en) Message processing method, device, equipment and storage medium
JP2014135592A (en) Information processing device, information processing method, and information processing system
TWI523456B (en) Connection method and management server of network communication
JP5777938B2 (en) Fallback detection device, fallback detection method, and fallback detection program
JP5850046B2 (en) COMMUNICATION DEVICE, COMMUNICATION SYSTEM, AND COMMUNICATION METHOD
CN105554116B (en) remote interconnection method and system for UPnP equipment
TW201114221A (en) Method and system of smart detection and recovery
US11310191B2 (en) Receiving device, receiving device control method, network system, network system control method, and medium
US11368365B2 (en) Methods and systems for determining ICN capability of a node/server
US20130077526A1 (en) Network Node for Detecting a Communication Device
JP6256471B2 (en) COMMUNICATION DEVICE, COMMUNICATION METHOD, AND PROGRAM
JP6145409B2 (en) Communication test system, communication test method, apparatus and program
WO2018233844A1 (en) Methods and apparatus for responding to a dns query and handling a connection request
JP4934864B2 (en) COMMUNICATION SYSTEM, COMMUNICATION DEVICE CONSTITUTING THE COMMUNICATION SYSTEM, AND NETWORK FAILURE NOTIFICATION METHOD
US11212250B2 (en) Relay device, network system, and network control method
JP2014171017A (en) Communication information detecting device, method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130906

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140520

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140610

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140808

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150225

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150707

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150708

R150 Certificate of patent or registration of utility model

Ref document number: 5777938

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees