JP2022153317A - Relay device and local breakout transfer method - Google Patents
Relay device and local breakout transfer method Download PDFInfo
- Publication number
- JP2022153317A JP2022153317A JP2022049249A JP2022049249A JP2022153317A JP 2022153317 A JP2022153317 A JP 2022153317A JP 2022049249 A JP2022049249 A JP 2022049249A JP 2022049249 A JP2022049249 A JP 2022049249A JP 2022153317 A JP2022153317 A JP 2022153317A
- Authority
- JP
- Japan
- Prior art keywords
- relay device
- terminal
- router
- proxy server
- packet
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
本発明は、ネットワークのローカルブレイクアウト技術に関する。 The present invention relates to network local breakout technology.
一般に企業内の拠点にあるコンピュータを、企業外のネットワークと接続する際には、本社のデータセンターのコンピュータを介して接続している。これは、企業外のネットワークに存在する危険な接続先を、本社のデータセンターのコンピュータにより検出して、接続させないようにするためである。 In general, when connecting a computer at a base within a company to a network outside the company, the connection is made via a computer at the data center of the head office. This is to prevent dangerous connection destinations existing in the network outside the company from being detected by the computer in the data center of the head office and not connected.
図1は、このような接続の概念図である。11は企業外のネットワークである。12は本社にあるデータセンターである。13~15は、拠点のコンピュータである。拠点のコンピュータは、本社のデータセンター12を介して、企業外のネットワーク11に接続されている。
しかしながら、近年、Microsoft365(登録商標)(以下、「M365」ということもある。)等のSaaS(Software as a Service)へのアクセスが増大している。このため、企業内ネットワークが圧迫されていることが、問題となっている。
FIG. 1 is a conceptual diagram of such a connection. 11 is a network outside the enterprise. 12 is a data center at the head office. 13 to 15 are computers at the base. The computers at the base are connected to a
However, in recent years, access to SaaS (Software as a Service) such as Microsoft 365 (registered trademark) (hereinafter also referred to as "M365") is increasing. Therefore, it is a problem that the intra-company network is under pressure.
この問題を解決する一方法として、特許文献1に記載されているように、ローカルブレイクアウト(Local Break Out:以下、「LBO」ということもある。)という技術が知られている。
図2は、LBOの原理を説明する図である。11~15は、図1と同じものを意味する。LBOでは、拠点コンピュータにおいて、接続先が安全か否か判定し、安全な接続先であるならば、本社のデータセンター12を介さずに、直接、外部のネットワーク11に接続する(図2の点線)。
As one method for solving this problem, a technique called Local Break Out (hereinafter sometimes referred to as "LBO") is known, as described in
FIG. 2 is a diagram for explaining the principle of LBO. 11 to 15 mean the same as in FIG. In LBO, the base computer determines whether or not the connection destination is safe, and if the connection destination is safe, it connects directly to the
図3は、既存のLBOの手順を示す図である。
31はドメイン名をIPアドレスに変換するDNS(Domain Name System)サーバである。32はルータである。ルータ32は、安全なドメイン名、すなわちLBOを行うべきドメイン名の表を持っている。以下、この表をLBOプロファイル37と呼ぶ。33はインターネットゲートウェイである。34は閉域網である。35はインターネット網である。36はパソコン等の端末である。
FIG. 3 is a diagram showing the existing LBO procedure.
A DNS (Domain Name System)
図3の動作を説明する。
ステップS301:端末36が、ドメイン名を含むURL又はメールアドレスを送信する。
ステップS302:ルータ32は受信したURL又はメールアドレスのドメイン名をDNSサーバ31へ送信する。
ステップS303:DNSサーバ31は、受信したドメイン名をIPアドレスに変換し、受信したドメイン名とともにルータ32へ返信する。
ステップS304:ルータ32はDNSサーバ31から受信したドメイン名を、LBOプロファイル37と比較し、LBOを行うか否か決定する。
The operation of FIG. 3 will be described.
Step S301: The
Step S302: The
Step S303: The
Step S304: The
ステップS305:DNSサーバ31から受信したドメイン名が、LBOプロファイル37に記録されているドメイン名と一致せず、ルータ32がLBOを行わないと決定した場合は、従来どおり、インターネットゲートウェイ33経由で、インターネット網35に接続する。
ステップS306:DNSサーバ31から受信したドメイン名が、LBOプロファイル37に記録されているドメイン名と一致して、ルータ32がLBOを行うと決定した場合は、DNSサーバ31から受信したIPアドレスをLBO経路として登録する。
ステップS307:登録したLBO経路に従って、インターネット網35に直接、接続する。
Step S305: If the domain name received from the
Step S306: When the domain name received from the
Step S307: Directly connect to the
特許文献2では、DNSサーバへ問い合わせた結果、接続先が直接インターネットへ転送したい接続先であった場合は、問い合わせ結果のIPアドレスを宛先とする経路情報をルーティングテーブルに登録することで、拠点内からの該当の接続先に対する通信を本社経由でなく、直接インターネットへ転送するようにしている。 In Patent Document 2, as a result of querying a DNS server, if the connection destination is a destination to be directly forwarded to the Internet, by registering route information with the IP address of the query result as the destination in a routing table, The communication to the corresponding connection destination from the head office is transferred directly to the Internet without going through the head office.
また、特許文献3には、端末上で稼働するアプリケーションがサーバにデータの送信を要求するリクエストパケットの受信が、中継装置のTCP管理部において検知された場合に、前記中継装置の判定部が、前記リクエストパケットを解析し、前記解析の結果に基づいて前記リクエストパケットを送信する、前記中継装置と前記サーバとを接続する第2のネットワークの複数の通信経路を切り替えるか否かを判定することが記載されている。 Further, in Patent Document 3, when an application running on a terminal requests a server to send a request packet is detected by the TCP management unit of the relay device, the determination unit of the relay device analyzing the request packet, and determining whether or not to switch a plurality of communication paths of a second network connecting the relay device and the server, which transmits the request packet, based on the result of the analysis; Have been described.
図4、及び図5は、内部ネットワークと外部ネットワークの境界にプロキシサーバを有する場合の、従来のLBOを説明する図である。図4は、LBOを行う場合の図である。図5は、LBOを行わない場合の図である。このプロキシサーバを有する場合の従来のLBOの動作については、非特許文献1の第16-17頁に詳しく説明されている。
41はパソコン等の端末である。42はルータである。43はDNSサーバである。44はプロキシサーバである。45は外部ウェブサイトである。プロキシサーバ44は、図1のデータセンター12にあってもよいし、拠点14に存在してもよい。
4 and 5 are diagrams for explaining conventional LBO when there is a proxy server at the boundary between the internal network and the external network. FIG. 4 is a diagram when LBO is performed. FIG. 5 is a diagram when LBO is not performed. The operation of a conventional LBO with this proxy server is described in detail on pages 16-17 of Non-Patent
41 is a terminal such as a personal computer. 42 is a router. 43 is a DNS server. 44 is a proxy server. 45 is an external website.
図4の動作を説明する。
ステップS401:端末41は、宛先IPをプロキシサーバとして、TCPの3ウェイハンドシェイク手順の同期パケットを送信する。
ステップS402:ルータ42は、TCPの3ウェイハンドシェイク手順の同期ACKパケットを返す。
ステップS403:端末41は、TCPの3ウェイハンドシェイク手順のACKパケットを送信する。これにより、TCPの3ウェイハンドシェイク手順が完了する。端末41は、Hostを「microsoft365.com」として、HTTPのCONNECTメソッドを送信する。
The operation of FIG. 4 will be described.
Step S401: The
Step S402: The
Step S403: The
ステップS404:ルータ42は、「microsoft365.com」がLBOプロファイルに記録されているドメイン名と一致するので、LBOを行うことを決定する。
ステップS405:ルータ42は、「microsoft365.com」をDNSサーバ43に送信して、「microsoft365.com」のIPアドレスを取得する。
ステップS406:ルータ42は、プロキシサーバ44を介さずに、外部ウェブサイト45に、TCPの3ウェイハンドシェイク手順の同期パケットを送信する。
Step S404: The
Step S405: The
Step S406: The
ステップS407:外部ウェブサイト45は、TCPの3ウェイハンドシェイク手順の同期ACKパケットを返す。
ステップS408:ルータ42は、TCPの3ウェイハンドシェイク手順のACKパケットを外部ウェブサイト45へ送信する。これにより、ルータ42と外部ウェブサイト45との間のTCPの3ウェイハンドシェイク手順が完了する。ルータ42は、端末41とルータ42の間のTCPセッションと、ルータ42と外部ウェブサイト45の間のTCPセッションとを変換して通信する。
Step S407: The
Step S408: The
図5は、内部ネットワークと外部ネットワークの境界にプロキシサーバを有する場合であるが、図4のS404において、HostがLBOプロファイルのドメイン名と一致せず、LBOを行わない場合の図である。41~45は、図4のものと同じである。 FIG. 5 shows the case where there is a proxy server on the boundary between the internal network and the external network, but in S404 of FIG. 4, the Host does not match the domain name of the LBO profile and LBO is not performed. 41 to 45 are the same as those in FIG.
図5の動作を説明する。
ステップS501:端末41は、宛先IPをプロキシサーバとして、TCPの3ウェイハンドシェイク手順の同期パケットを送信する。
ステップS502:ルータ42は、TCPの3ウェイハンドシェイク手順の同期ACKパケットを返す。
ステップS503:端末41は、TCPの3ウェイハンドシェイク手順のACKパケットを送信する。これにより、TCPの3ウェイハンドシェイク手順が完了する。端末41は、Hostを「aaa.net」として、HTTPのCONNECTメソッドを送信する。
The operation of FIG. 5 will be described.
Step S501: The
Step S502: The
Step S503: The
ステップS504:ルータ42は、「aaa.net」がLBOプロファイルに記録されたドメイン名と一致しないので、LBOを行わないことを決定する。
ステップS505:ルータ42は、宛先IPをプロキシサーバ44として、TCPの3ウェイハンドシェイク手順の同期パケットを送信する。
Step S504: The
Step S505: The
ステップS506:プロキシサーバ44は、TCPの3ウェイハンドシェイク手順の同期ACKパケットを返す。
ステップS507:ルータ42は、TCPの3ウェイハンドシェイク手順のACKパケットをプロキシサーバ44へ送信する。これにより、ルータ42とプロキシサーバ44との間のTCPの3ウェイハンドシェイク手順が完了する。ルータ42は、Hostを「aaa.net」として、HTTPのCONNECTメソッドを送信する。
ステップS508:プロキシサーバ44は、ルータ42とプロキシサーバ44の間のTCPセッションと、プロキシサーバ44と外部ウェブサイト45の間のTCPセッションを変換して通信する。
Step S506: The
Step S<b>507 : The
Step S508: The
図5の従来例ではステップS501~S503により、端末41とルータ42の間のTCPセッションを確立しているので、ステップS508の状態においても、ルータ42は、端末41とルータ42の間のTCPセッションと、ルータ42とプロキシサーバ44の間のTCPセッションとを変換している。この変換を行うため、性能が劣化し、リソースの消費量が多くなるという問題を含んでいる。
また、図4の従来例において、LBOを行う場合には、プロキシサーバ44を利用していないので、プロキシサーバ44のユーザ認証機能やフィルタリング機能を使用できていないという問題を含んでいる。
また、特許文献3では、リクエストパケットを解析し、前記解析の結果に基づいて前記リクエストパケットを送信する、中継装置とサーバとを接続する第2のネットワークの複数の通信経路を切り替えるか否かを判定しているが、特許文献3は、端末がプロキシサーバを介して通信する環境ではない。
In the conventional example of FIG. 5, the TCP session between the terminal 41 and the
Moreover, in the conventional example of FIG. 4, since the
Further, in Patent Document 3, a request packet is analyzed, and based on the result of the analysis, it is determined whether or not to switch a plurality of communication paths of a second network connecting a relay device and a server, which transmits the request packet. Although it has been determined, Patent Document 3 is not an environment in which terminals communicate via a proxy server.
本発明は、端末がプロキシサーバを介して通信する環境において、LBOを行わない場合に、性能が劣化せず、且つリソースの消費量が多くならないようにすることを目的とする。
また、本発明は、LBOを行う場合に、プロキシサーバのユーザ認証機能やフィルタリング機能を使用することを目的とする。
SUMMARY OF THE INVENTION It is an object of the present invention to prevent performance from deteriorating and resource consumption from increasing when LBO is not performed in an environment where terminals communicate via a proxy server.
Another object of the present invention is to use the user authentication function and filtering function of a proxy server when performing LBO.
本発明者らは、ルータを通過する通信を当該ルータが覗き見するように構成することにより、LBOを行わない場合に、性能が劣化せず、且つリソースの消費量が多くならないようにすることができることを見出し、本発明を完成するに至った。 The inventors of the present invention configured the router to spy on the communication passing through the router, so that the performance is not degraded and the consumption of resources is not increased when LBO is not performed. The present inventors have found that it is possible to complete the present invention.
[1] 端末がプロキシサーバを介して通信する環境において、通過する通信を参照して、接続先のドメイン名を検出する検出部と、前記検出したドメイン名に基づいて、特定の処理を行うか否か判定する判定部とを備えることを特徴とする中継装置。
[2] 前記通過する通信は、端末がプロキシサーバヘ送信するCONNECTメソッドであることを特徴とする上記[1]に記載の中継装置。
[3] 前記通過する通信は、端末がプロキシサーバヘ送信するGETメソッドであることを特徴とする上記[1]に記載の中継装置。
[4] 前記通過する通信は、端末が外部ウェブサイトヘ送信するSSL/TLSのClient Helloであることを特徴とする上記[1]に記載の中継装置。
[5] 前記特定の処理を実行する処理部を備え、前記処理部は、前記特定の処理として、ローカルブレイクアウト、パケットの廃棄、パケットの書き換え、パケット情報の保存、QoS機能の少なくとも1つ以上の処理を実行することを特徴とする上記[1]に記載の中継装置。
[6] 前記処理部は、前記ローカルブレイクアウトの処理を行う時に、TCPセッションの接続、又はブレイクアウト経路の登録の処理を行うことを特徴とする上記[5]に記載の中継装置。
[7] 前記処理部は、前記ローカルブレイクアウトの処理を行う時に、前記端末が前記プロキシサーバ宛てに送信するパケットの送信元のIPアドレス及びPORT番号を前記中継装置のIPアドレス及びPORT番号に書き換え、前記パケットの宛先のIPアドレス及びPORT番号を前記接続先のIPアドレス及びPORT番号に書き換えて、前記接続先へ送信する上記[6]に記載の中継装置。
[8] 前記処理部は、前記接続先のタイムスタンプと前記プロキシサーバのタイムスタンプの差分を前記中継装置に登録しておき、前記ローカルブレイクアウト時に前記接続先が送信するパケットのタイムスタンプを前記差分により更新する上記[6]に記載の中継装置。
[9] 前記処理部は、前記端末のMSS情報を前記接続先に通知する上記[6]に記載の中継装置。
[10] 前記処理部は、前記接続先のウインドウスケールと前記プロキシサーバのウインドウスケールの差分を前記中継装置に登録しておき、前記ローカルブレイクアウト時に前記接続先が送信するパケットのウインドウサイズを前記差分により更新する上記[6]に記載の中継装置。
[11] 前記処理部は、前記ローカルブレイクアウトの処理を行う時に、前記端末と前記プロキシサーバ間の通信におけるシーケンス番号及び確認応答番号と、前記中継装置と前記接続先間の通信におけるシーケンス番号及び確認応答番号の差分を前記中継装置に登録し、その後、前記端末又は前記接続先が送信したパケットのシーケンス番号及び確認応答番号を前記登録した差分に従って書き換える上記[6]に記載の中継装置。
[12] 前記処理部は、IPヘッダのチェックサム以外の部分を書き換えた後に、IPヘッダのチェックサムを更新する上記[7]に記載の中継装置。
[13] 前記処理部は、TCPヘッダのチェックサム以外の部分を書き換えた後に、TCPヘッダのチェックサムを更新する上記[7]-[11]のいずれか一に記載の中継装置。
[14] 端末がプロキシサーバを介して通信する環境において、中継装置を通過する通信を前記中継装置が参照して、接続先のドメイン名を検出し、前記検出したドメイン名に基づいて、特定の処理を行うか否か判定することを特徴とするローカルブレイクアウトの転送方法。
[1] In an environment where a terminal communicates via a proxy server, a detection unit that detects the domain name of a connection destination by referring to passing communication, and whether to perform specific processing based on the detected domain name and a determination unit that determines whether or not the relay device is a relay device.
[2] The relay apparatus according to [1], wherein the communication to pass is a CONNECT method transmitted from the terminal to the proxy server.
[3] The relay apparatus according to [1], wherein the communication to pass is a GET method transmitted from the terminal to the proxy server.
[4] The relay apparatus according to [1], wherein the communication to pass is SSL/TLS Client Hello sent from the terminal to an external website.
[5] A processing unit that executes the specific processing, and the processing unit includes at least one of local breakout, packet discard, packet rewriting, packet information storage, and QoS function as the specific processing. The relay device according to the above [1], characterized by executing the processing of .
[6] The relay device according to [5], wherein the processing unit performs TCP session connection or breakout route registration processing when performing the local breakout processing.
[7] When performing the local breakout process, the processing unit rewrites the source IP address and port number of a packet transmitted from the terminal to the proxy server to the IP address and port number of the relay device. , the relay device according to the above [6], which rewrites the IP address and port number of the destination of the packet to the IP address and port number of the connection destination, and transmits the packet to the connection destination.
[8] The processing unit registers the difference between the time stamp of the connection destination and the time stamp of the proxy server in the relay device, and stores the time stamp of the packet transmitted by the connection destination during the local breakout. The relay device according to [6] above, which updates with a difference.
[9] The relay device according to [6] above, wherein the processing unit notifies the connection destination of the MSS information of the terminal.
[10] The processing unit registers the difference between the window scale of the connection destination and the window scale of the proxy server in the relay device, and sets the window size of the packet transmitted by the connection destination during the local breakout to the above. The relay device according to [6] above, which updates with a difference.
[11] The processing unit, when performing the local breakout process, includes a sequence number and an acknowledgment number in communication between the terminal and the proxy server, and a sequence number and a confirmation response number in communication between the relay device and the connection destination. The relay device according to [6] above, wherein a difference in acknowledgment numbers is registered in the relay device, and then the sequence number and acknowledgment number of the packet transmitted by the terminal or the connection destination are rewritten according to the registered difference.
[12] The relay device according to [7], wherein the processing unit updates the checksum of the IP header after rewriting the portion other than the checksum of the IP header.
[13] The relay device according to any one of [7] to [11] above, wherein the processing unit updates the checksum of the TCP header after rewriting the portion other than the checksum of the TCP header.
[14] In an environment where a terminal communicates via a proxy server, the relay device refers to communication passing through the relay device, detects the domain name of the connection destination, and based on the detected domain name, specifies a specific A local breakout transfer method characterized by determining whether or not to perform processing.
本発明によれば、ルータを通過する通信を当該ルータが覗き見するように構成するので、LBOを行わない場合に、性能が劣化せず、且つリソースの消費量が多くならないようにすることができる。 According to the present invention, since the router is configured to spy on the communication passing through the router, performance is not degraded and resource consumption is not increased when LBO is not performed. can.
以下、図6、及び図7を用いて、本発明の実施形態について説明する。
図6は、本発明の実施形態において、LBOを行う場合の図である。41~45は、図4のものと同じである。
ステップS601:TCPの3ウェイハンドシェイク手順により、端末41とプロキシサーバ44間のTCPセッションを確立する。ルータ42は、端末41とプロキシサーバ44間の通信を覗き見して、TCPパラメータを取得する。
An embodiment of the present invention will be described below with reference to FIGS. 6 and 7. FIG.
FIG. 6 is a diagram for performing LBO in the embodiment of the present invention. 41 to 45 are the same as those in FIG.
Step S601: Establish a TCP session between the terminal 41 and the
ステップS602:端末41は、Hostを「microsoft365.com」として、HTTPのCONNECTメソッドをプロキシサーバ44へ送信する。ルータ42は、この通信を覗き見して、Hostが「microsoft365.com」であることを検出する。ルータ42は、検出した「microsoft365.com」をLBOプロファイルと照合して、「microsoft365.com」がLBOプロファイルに記録されているドメイン名と一致することを判定する。これにより、LBOを行うことが決定される。
ステップS603:ルータ42は、DNSサーバ43を用いて、ドメイン名をIPアドレスに変換する。
ステップS604:ルータ42は、IPアドレスをLBO経路として登録してもよい。
Step S602: The terminal 41 sets the Host as "microsoft365.com" and transmits the HTTP CONNECT method to the
Step S603: The
Step S604: The
ステップS605:ルータ42は、外部ウェブサイト45へTCPの3ウェイハンドシェイク手順の同期パケットを送信する。
ステップS606:ルータ42は、外部ウェブサイト45との間で、TCPセッションを確立する。
ステップS607:ルータ42は、端末41にCONNECT Estabを送信する。
ステップS608:ルータ42は、端末41とプロキシサーバ44との間のTCPセッションと、ルータ42と外部ウェブサイト45との間のTCPセッションとを変換してブレイクアウト先に送信する。
Step S605: The
Step S606: The
Step S<b>607 : The
Step S608: The
図7は、本発明の実施形態において、LBOを行わない場合の図である。41~45は、図4のものと同じである。
ステップS701:TCPの3ウェイハンドシェイク手順により、端末41とプロキシサーバ44間のTCPセッションを確立する。ルータ42は、端末41とプロキシサーバ44間の通信を覗き見して、TCPパラメータを取得する。
FIG. 7 is a diagram of a case where LBO is not performed in the embodiment of the present invention. 41 to 45 are the same as those in FIG.
Step S701: Establish a TCP session between the terminal 41 and the
ステップS702:端末41は、Hostを「aaa.com」として、HTTPのCONNECTメソッドをプロキシサーバ44へ送信する。ルータ42は、この通信を覗き見して、Hostが「aaa.com」であることを検出する。ルータ42は、検出した「aaa.com」をLBOプロファイルと照合して、「aaa.com」がLBOプロファイルに記録されているドメイン名と一致しないことを判定する。これにより、LBOを行わないことが決定される。
ステップS703:プロキシサーバ44は、DNSサーバ43を用いて、ドメイン名をIPアドレスに変換する。
Step S702: The terminal 41 sends the HTTP CONNECT method to the
Step S703: The
ステップS704:プロキシサーバ44は、外部ウェブサイト45との間で、TCPセッションを確立する。
ステップS705:プロキシサーバ44は、端末41にCONNECT Estabを送信する。
ステップS706:プロキシサーバ44は、端末41とプロキシサーバ44との間のTCPセッションと、プロキシサーバ44と外部ウェブサイト45との間のTCPセッションとを変換して通信する。
Step S704: The
Step S<b>705 : The
Step S706: The
以上のように、本発明では、端末とプロキシサーバとの間の通信をルータが覗き見して、外部ウェブサイトのドメイン名を検出するので、ルータで端末からのTCPセッションを終端することがなく、したがって、性能が劣化し、リソースの消費量が多くなるという問題が生じない。
また、本発明では、LBOを行う場合にもプロキシサーバを利用するので、プロキシサーバからのCONNECT Estabを中継の判断材料に使用でき、これによりプロキシサーバのユーザ認証機能やフィルタリング機能を使用することができる。
As described above, in the present invention, the router snoops the communication between the terminal and the proxy server and detects the domain name of the external website, so the router does not terminate the TCP session from the terminal. , therefore, the problem of degraded performance and increased resource consumption does not occur.
In addition, in the present invention, the proxy server is also used when LBO is performed, so the CONNECT ESTAB from the proxy server can be used as a criterion for relaying, thereby enabling the user authentication function and filtering function of the proxy server to be used. can.
本発明の実施形態では、CONNECTメソッドを参照してドメイン名を検出したが、参照の対象は、CONNECTメソッドに限らない。HTTPのGETメソッドを参照して、ドメイン名を検出してもよい。 In the embodiment of the present invention, the domain name is detected by referring to the CONNECT method, but the object of reference is not limited to the CONNECT method. The domain name may be detected by referring to the GET method of HTTP.
また、図7のようにプロキシサーバを経由する接続としておいて、SSL/TLSのClient HelloのSNIオプションをルータが参照して、接続先がLBOを行うべき外部ウェブサイトであることが判明した後に、ルータが図2の点線のように接続替えすることとしてもよい。 Also, as shown in FIG. 7, assuming that the connection goes through a proxy server, the router refers to the SNI option of Client Hello of SSL/TLS, and after it is found that the connection destination is an external website to which LBO should be performed, , the router may change the connection as indicated by the dotted line in FIG.
本発明の実施形態では、CONNECTメソッドを参照して検出したドメイン名に基づいて、LBOを行うか否かを決定したが、検出したドメイン名に基づいて、パケットの廃棄、パケットの書き換え、パケット情報の保存、QoS機能(優先制御や帯域制御)の少なくとも1つ以上の処理を行うか否かを決定してもよい。 In the embodiment of the present invention, whether or not to perform LBO is determined based on the domain name detected by referring to the CONNECT method. and at least one of the QoS functions (priority control and bandwidth control) may be determined.
また、検出したドメイン名をDNSサーバによりIPアドレスに変換し、そのIPアドレスに基づいて外部ウェブサイトへのTCPセッションの接続を行うこととしているが、追加で、そのIPアドレスをLBO経路として登録してもよい。 In addition, the detected domain name is converted to an IP address by a DNS server, and a TCP session connection to an external website is made based on that IP address.In addition, the IP address is registered as an LBO route. may
以上、端末41からプロキシサーバ44に送信されるパケットをルータ42が覗き見することにより、LBOを行うか否か判定する方法について説明した。
以下では、図6のステップS608にてルータ42により行われる、端末41とプロキシサーバ44との間のTCPセッションと、ルータ42と外部ウェブサイト45との間のTCPセッションとの変換の詳細について説明する。
The method of determining whether or not to perform LBO by having the
Details of the conversion between the TCP session between the terminal 41 and the
図8~図10は、三枚の図で一連の処理の流れを示しており、図6の処理の詳細を示す図である。
ステップS801:端末41は、プロキシサーバ44へSYNパケットを送信する。
ステップS802:プロキシサーバ44は、端末41へSYN/ACKパケットを送信する。
ステップS803:端末41は、プロキシサーバ44へACKパケットを送信する。
ステップS804:ルータ42は、ステップS801~ステップS803の間に送信されるパケットを覗き見して、端末41とプロキシサーバ44間のTCPセッション(以下、「TCPセッション1」という。)のセッション情報を取得する。
8 to 10 show the flow of a series of processes with three diagrams, and are diagrams showing the details of the process of FIG.
Step S<b>801 : The terminal 41 transmits a SYN packet to the
Step S<b>802 :
Step S<b>803 : The terminal 41 transmits an ACK packet to the
Step S804: The router peeks at the packets transmitted during steps S801 to S803, and retrieves the session information of the TCP session between the terminal 41 and the proxy server 44 (hereinafter referred to as "
ステップS805:端末41が、プロキシサーバ44へCONNECTメソッドを送信する。
ステップS806:ルータ42は、コントロールプレーン422でCONNECTメソッドを覗き見して、その結果、LBOを行うべきであると判断する。
ステップS807:ルータ42は、DNSサーバ43へ照会する。
ステップS808:DNSサーバ43は、ルータ42へ外部ウェブサイト45のIPアドレスを返す。
Step S<b>805 : The terminal 41 sends the CONNECT method to the
Step S806: The
Step S<b>807 : The
Step S808: The
ステップS809:プロキシサーバ44は、端末41宛てのCONNECT Estabを送信する。
ステップS810:ルータ42は、端末41宛てのCONNECT Estabを受信し、端末には送信せずに、端末41宛てのCONNECT Estabを保持する。
Step S<b>809 : The
Step S810: The
図9では、次の動作を行う。
ステップS901:ルータ42は、コントロールプレーン422で、外部ウェブサイト45へSYNパケットを送る。
ステップS902:外部ウェブサイト45は、ルータ42へSYN/ACKパケットを送信する。
ステップS903:ルータ42は、外部ウェブサイト45へACKパケットを送る。
In FIG. 9, the following operations are performed.
Step S901: The
Step S902: The
Step S903: The
ステップS904:ルータ42は、ステップS901~S903により、外部ウェブサイト45との間にTCPセッション(以下、このTCPセションを「TCPセッション2」という。)を確立した。
ステップS905:ルータ42は、TCPセッション1とTCPセッション2との変換テーブル(970と980)を作成する。
ステップS906:ルータ42は、TCPセッション1とTCPセッション2との変換テーブル(970と980)を、データプレーン421に登録する。
Step S904: The
Step S905: The
Step S906: The
TCPセッション1において端末41が送信するパケットの送信元欄には、端末41のIPアドレスとPORT番号が格納されている。これを、ルータ42は、TCPセッション2では、ルータ42のIPアドレスとPORT番号に書き換える。また、TCPセッション1において端末41が送信するパケットの宛先欄には、プロキシサーバ44のIPアドレスとPORT番号が格納されている。これを、ルータ42は、TCPセッション2では、外部ウェブサイト45のIPアドレスとPORT番号に書き換える。
逆方向の外部ウェブサイト45からルータ42宛てのパケットも、同様に、データプレーン421においてIPアドレスとPORT番号の書き換えを行う。
The IP address and PORT number of the terminal 41 are stored in the source column of the packet transmitted by the terminal 41 in the
Similarly, the
ステップS907:ルータ42は、ステップS810において保持した端末41宛てのCONNECT Estabを、端末41へ転送する。
ステップS908:ルータ42は、プロキシサーバ44との間のTCPセッション1を切断して、リソースを解放する。
Step S907: The
Step S908: The
図10では、次の動作を行う。
ステップS1001:端末41は、CLIENT Helloを送信する。
ステップS1002:ルータ42は、データプレーン421で、ステップS906で説明したTCPセッション1とTCPセッション2間のIPアドレスとPORT番号の書き換えを行う。
In FIG. 10, the following operations are performed.
Step S1001: The terminal 41 transmits CLIENT Hello.
Step S1002: On the
図8~図10で説明した処理の結果、ルータ42では、TCPセッションの変換を行うが、TCPセッションを管理していない。このため、ルータ42では、プロトコル処理を行う必要がない。
また、ルータ42では、データプレーン421でTCPセッションの変換を行うので、コントロールプレーン422でTCPセッションを終端する方式と比べると性能面で有利である。
As a result of the processing described with reference to FIGS. 8 to 10, the
In addition, since the
以上の説明において、図8~図10を用いて、LBOを行う場合のIPアドレスとPORT番号の書き換えについて説明してきた。
しかし、LBOを行う場合には、IPアドレスとPORT番号の他に、シーケンス番号及び確認応答番号(以下では「Ack番号」という。)の書き換えを行うことも必要である。以下、説明する。
In the above description, the rewriting of the IP address and the PORT number when performing LBO has been described with reference to FIGS.
However, when performing LBO, it is also necessary to rewrite the sequence number and acknowledgment number (hereinafter referred to as "Ack number") in addition to the IP address and PORT number. This will be explained below.
図11、図12を使用して、LBOを行う場合のシーケンス番号及び確認応答番号(以下では「Ack番号」という。)の書き換えについて説明する。
TCPヘッダには、シーケンス番号及びAck番号のフィールドがある。
図11のステップS1101からS1103までは、よく知られた3ウェイハンドシェイクの手順であるから説明を省略する。ステップS1104において、端末41は120バイトのデータを送信する。
Rewriting of sequence numbers and acknowledgment numbers (hereinafter referred to as “Ack numbers”) when LBO is performed will be described with reference to FIGS. 11 and 12. FIG.
The TCP header has fields for Sequence Number and Ack Number.
Steps S1101 to S1103 in FIG. 11 are a well-known 3-way handshake procedure, so description thereof will be omitted. In step S1104, the terminal 41 transmits 120 bytes of data.
ステップS1105では、プロキシサーバ44は、「相手から受信したAck番号(20001)」をシーケンス番号とする。ステップS1105では、プロキシサーバ44は、「相手から受信したシーケンス番号(10001)」に「受信したデータサイズの値(120)」を加えた「10121」を、Ack番号とする。
In step S1105, the
ステップS1106で、ルータ42は、外部ウェブサイト45との間で3ウェイハンドシェイクを開始する。ステップS1106~S1108の3ウェイハンドシェイクは、ステップS1105までの通信とは別に行われるから、ステップS1105のシーケンス番号及びAck番号と、ステップS1108のシーケンス番号及びAck番号との間には、関連性がない。したがって、例えば、仮に、ステップS1109の後に、端末41が送信するパケットを、そのまま外部ウェブサイト45に届けると、外部ウェブサイト45は、TCPの規則に従っていないシーケンス番号及びAck番号を含むパケットを受信することになる。
At step S 1106 ,
よって、図11のAの時点において、端末41とプロキシサーバ44間の通信と、ルータ42と外部ウェブサイト45間の通信との、シーケンス番号の差分及びAck番号の差分をルータ42に登録しておく。そして、以後の通信において、ルータ42が、シーケンス番号の書き換え及びAck番号の書き換えを行うこととする。
Therefore, at the time of A in FIG. 11, the difference in sequence number and the difference in Ack number between the communication between the terminal 41 and the
ステップS1109の後に端末41が送信する際には、端末41は、「相手から受信したAck番号(10121)」をシーケンス番号とする。また、端末41は、「相手から受信したシーケンス番号(20001)」に「受信したデータサイズの値(39)」を加えた「20040」を、Ack番号とする。図11の左下隅にこの内容を記載してある。 When the terminal 41 transmits after step S1109, the terminal 41 uses "the Ack number (10121) received from the other party" as the sequence number. Also, the terminal 41 sets “20040” obtained by adding “the value of the received data size (39)” to “the sequence number (20001) received from the other party” as the Ack number. This content is described in the lower left corner of FIG.
ルータ42は、図11の左下隅に記載した内容を把握しているので、図11の左下隅に記載した内容と、ステップS1108のシーケンス番号及びAck番号との差分を取って、差分テーブル1170を作成する。具体的には、ステップS1108のシーケンス番号(30001)と図11の左下隅のシーケンス番号(10121)の差分(19880)が、「上りのシーケンス番号の差分」となる。また、ステップS1108のAck番号(40001)と図11の左下隅のAck番号(20040)の差分(19961)が、「上りのAck番号の差分」となる。
Since the
図12の図のステップS1201において、端末41が517バイトのデータを送信する際には、ステップS1202において、ルータ42が、シーケン番号(10121)に差分の「19880」を加える。また、ルータ42が、Ack番号(20040)に差分の「19961」を加える。このようにして、ステップS1203において、外部ウェブサイト45は、TCPの規則に従ったシーケンス番号及びAck番号を含むパケットを受信する。
When the terminal 41 transmits 517-byte data in step S1201 of FIG. 12, the
図12のステップS1204では、外部ウェブサイト45は、「相手から受信したAck番号(40001)」をシーケンス番号とする。また、外部ウェブサイト45は、「相手から受信したシーケンス番号(30001)」に「受信したデータサイズの値(517)」を加えた「30518」を、Ack番号とする。
In step S1204 of FIG. 12, the
TCPのシーケンス番号とAck番号に関する規則により、下りのシーケンス番号の差分は、上りのAck番号の差分に等しい。また、下りのAck番号の差分は、上りのシーケンス番号の差分に等しい。 According to TCP's rules for Sequence Numbers and Ack Numbers, the difference in Down Sequence Numbers is equal to the difference in Up Ack Numbers. In addition, the difference in downlink Ack numbers is equal to the difference in uplink sequence numbers.
よって、ステップS1205において、ルータ42は、ステップS1204のシーケンス番号(40001)から上りのAck番号の差分(19961)を減じた「20040」を書き換え後のシーケンス番号とする。
また、ステップS1205において、ルータ42は、ステップS1204のAck番号(30518)から上りのシーケンス番号の差分(19880)を減じた「10638」を書き換え後のシーケンス番号とする。
Therefore, in step S1205, the
In step S1205, the
仮に、プロキシサーバ44が、ステップS1201のパケットを受信した場合には、プロキシサーバ44は、以下の動作を行う。プロキシサーバ44は、「相手から受信したAck番号(20040)」をシーケンス番号とする。また、プロキシサーバ44は、「相手から受信したシーケンス番号(10121)」に「受信したデータサイズの値(517)」を加えた「10638」を、Ack番号とする。以上のシーケンス番号とAck番号は、ステップS1206のシーケンス番号とAck番号と同じである。したがって、本発明の実施形態により、端末41が、TCPの規則に従ったシーケンス番号及びAck番号を含むパケットを受信することを確認できる。
If the
ところで、TCPヘッダには、オプションというフィールドが用意されている。このオプションというフィールドは、TCP通信の性能を向上させるために種々の使い方がある。次に、オプション番号とともに、オプションの種類の一部を拳げる。
0.End Of Option List
1.No Operation
2.MSS(Maximum Segment Size:最大セグメントサイズ)
3.Window Scale
4.SACK(Selective ACKnowledge)Permitted
5.SACK
8.Time Stamp
By the way, the TCP header has a field called option. This option field can be used in various ways to improve the performance of TCP communication. Next, list some of the option types along with the option number.
0. End Of Option List
1. No operation
2. MSS (Maximum Segment Size)
3. Window Scale
4. SACK (Selective ACKnowledge) Permitted
5. SACK
8. time stamp
オプションフィールドは、複数のオプションのために使用することもできる。以下、タイムタンプのオプションが有効な場合と、MSSのオプションが有効な場合と、ウインドウスケールのオプションが有効な場合のそれぞれについて、TCPセッション1とTCPセッション2の間の変換処理について説明する。
The options field can also be used for multiple options. Hereinafter, conversion processing between
図13は、オプションフィールドをタイムタンプとして用いた場合について、TCPセッション1とTCPセッション2の間の変換処理について説明する図である。
パケットが遅延した場合、同じシーケンス番号を持つ前のパケットが存在することがある。TCPには、PAWS(Protection Against Wrapped Sequence number(重複したシーケンス番号に対する保護))という機能があり、受信側は、同じシーケンス番号を持つパケットが2つ存在する場合、タイムスタンプを見て、古いタイムスタンプを持つパケットを破棄する。したがって、タイムスタンプについては正しく受信側に伝えられる必要がある。
FIG. 13 is a diagram illustrating conversion processing between
If a packet is delayed, there may be a previous packet with the same sequence number. TCP has a feature called PAWS (Protection Against Wrapped Sequence number), in which the receiver looks at the time stamps when there are two packets with the same sequence number and uses the old time Discard packets with stamps. Therefore, the time stamp must be correctly conveyed to the receiving side.
ステップS1301:端末41とプロキシサーバ44は、TCPセッション1のSYN、SYN/ACKでタイムスタンプを通知する。
ステップS1302:ルータ42は、端末41とプロキシサーバ44間のパケットを覗き見して、端末41のタイムスタンプ情報をルータ42に反映させておく。この反映処理により、端末41のタイムスタンプとルータ42のタイムスタンプの差分を零にしておくことができる。ルータ42は、この端末41のタイムスタンプとルータ42のタイムスタンプの差分が零であることを登録しておく。
Step S1301: The terminal 41 and the
Step S1302: The
ステップS1303:ルータ42と外部ウェブサイト45は、TCPセッション2のSYN、SYN/ACKでタイムスタンプを通知する。これにより、ルータ42は、外部ウェブサイト45のタイムスタンプとプロキシサーバ44のタイムスタンプとの差分を把握することができる。ルータ42は、この外部ウェブサイト45のタイムスタンプとプロキシサーバ44のタイムスタンプとの差分を登録しておく。ここでは、仮に、この外部ウェブサイト45のタイムスタンプとプロキシサーバ44のタイムスタンプとの差分が「100」であったとする。
Step S1303: The
ステップS1304:ルータ42は、TCPセッション1とTCPセッション2との間の変換テーブル(1370と1380)を作成する。
ステップS1305:ルータ42は、TCPセッション1とTCPセッション2との間の変換テーブル(1370と1380)をデータプレーン421に登録する。
Step S1304: The
Step S1305: The
ステップS1306:ルータ42のデータプレーン421は、外部ウェブサイト45からのTCPパケットのタイムスタンプ(=2000)を、登録しておいた外部ウェブサイト45のタイムスタンプとプロキシサーバ44のタイムスタンプとの差分(100)により更新する。つまり、外部ウェブサイト45のタイムスタンプ(=2000)を、プロキシサーバ44のタイムスタンプ(=2100)に書き換えるわけである。
ステップS1307:ルータ42のデータプレーン421は、更新後のタイムスタンプ=2100のパケットを端末41へ送信する。
Step S1306: The
Step S<b>1307 : The
ステップS1308:ルータ42のデータプレーン421は、端末41からのTCPパケットのタイムスタンプ(=100)を、登録しておいた端末41のタイムスタンプとルータ42のタイムスタンプの差分(=0)により更新する。なお、「更新する」といっても、差分が零であるから、実際には更新する処理を省くことができる。又は、別の方法として、ステップS1302の反映処理を行わず、零でない、端末41のタイムスタンプとルータ42のタイムスタンプの差分を登録しておき、ステップS1308では、更新処理を行うこととしてもよい。
ステップS1309:ルータ42のデータプレーン421は、更新後のタイムスタンプ=100のパケットを外部ウェブサイト45へ送信する。
これにより、例えばステップS1306とS1307では、外部ウェブサイト45のタイムスタンプを、プロキシサーバ44のタイムスタンプに変換することができる。
Step S1308: The
Step S<b>1309 : The
Thus, for example, in steps S1306 and S1307, the
図14は、オプションフィールドをMSSとして用いた場合について、MSS情報の通知を説明する図である。MSS(Maximum Segment Size:最大セグメントサイズ)は、1パケット当たりどれくらいのサイズなら受け入れられるかを表す。
ステップS1401:端末41とプロキシサーバ44は、TCPセッション1のSYN、SYN/ACKでMSSを通知する。
ステップS1402:ルータ42は、端末41とプロキシサーバ44間のパケットを覗き見して、端末41のMSS情報をルータ42に反映させておく。この反映処理により、ルータ42は端末41のMSSを登録しておく。
FIG. 14 is a diagram for explaining notification of MSS information when the option field is used as MSS. MSS (Maximum Segment Size) represents how much size per packet can be accepted.
Step S1401: The terminal 41 and the
Step S1402: The
ステップS1403:ルータ42と外部ウェブサイト45は、TCPセッション2のSYN、SYN/ACKでMSSを通知する。このとき、ルータ42は、外部ウェブサイト45に端末41のMSSを通知する。
ステップS1404:外部ウェブサイト45から送信されるパケットの大きさは、端末41のMSSよりも小さいから、端末41が受信できないという現象は起きない。
Step S1403:
Step S1404: Since the size of the packet sent from the
図15は、オプションフィールドをウインドウスケールとして用いた場合について、TCPセッション1とTCPセッション2の間の変換処理について説明する図である。
TCPヘッダには、オプションとしてではなく、元々、ウインドウサイズというフィールドが設けられている。ウインドウサイズは、ACK無しにどのくらいのTCPペイロードを受信できるかを表す。オプションフィールドをウインドウスケールとして用いた場合には、ウインドウスケールとして通知した値の数だけ、ウインドウサイズをビットシフトすることができる。
FIG. 15 is a diagram illustrating conversion processing between
The TCP header has a window size field inherently, not as an option. Window size represents how much TCP payload can be received without an ACK. If the option field is used as the window scale, the window size can be bit-shifted by the number of values notified as the window scale.
ステップS1501:端末41とプロキシサーバ44は、TCPセッション1のSYN、SYN/ACKでウインドウスケールを通知する。
ステップS1502:ルータ42は、端末41とプロキシサーバ44間のパケットを覗き見して、端末41のウインドウスケールをルータ42に反映させておく。この反映処理により、端末41のウインドウスケールとルータ42のウインドウスケールの差分を零にしておくことができる。ルータ42は、この端末41のウインドウスケールとルータ42のウインドウスケールの差分が零であることを登録しておく。
Step S1501: The terminal 41 and the
Step S1502: The
ステップS1503:ルータ42と外部ウェブサイト45は、TCPセッション2のSYN、SYN/ACKでウインドウスケールを通知する。これにより、ルータ42は、外部ウェブサイト45のウインドウスケールとプロキシサーバ44のウインドウスケールとの差分を把握することができる。ルータ42は、この外部ウェブサイト45のウインドウスケールとプロキシサーバ44のウインドウスケールとの差分を登録しておく。ここでは、仮に、外部ウェブサイト45のウインドウスケールが「6」であり、プロキシサーバ44のウインドウスケールが「2」であったとする。この時、ルータ42は、それらの差分「4」を登録しておく。
Step S1503: The
ステップS1504:ルータ42は、TCPセッション1とTCPセッション2との間の変換テーブル(1570と1580)を作成する。
ステップS1505:ルータ42は、TCPセッション1とTCPセッション2との間の変換テーブル(1570と1580)をデータプレーン421に登録する。
Step S1504: The
Step S1505: The
ステップS1506:ルータ42のデータプレーン421は、外部ウェブサイト45からのTCPパケットのウインドウサイズ(=261)を、登録しておいた外部ウェブサイト45のウインドウスケールとプロキシサーバ44のウインドウスケールとの差分(4:2の4乗=16)により更新する。
ステップS1507:ルータ42のデータプレーン421は、更新後のウインドウサイズ=4176のパケットを端末41へ送信する。
Step S1506: The
Step S<b>1507 : The
S1501でのやり取りにより、端末41は、通信相手のウインドウスケールは「2」であると認識している。しかし、端末41が認識している通信相手のウインドウスケール「2」と、端末41が送信するデータを受け取る外部ウェブサイト45のウインドウスケール「6」との間には、「4」の差分が存在する。よって、ウインドウサイズの方を差分により更新しておけば、外部ウェブサイト45がACK無しに受け取ることができる正しいデータ量が、端末41に伝わるわけである。
From the exchange in S1501, the terminal 41 recognizes that the window scale of the communication partner is "2". However, there is a difference of "4" between the window scale "2" of the communication partner recognized by the terminal 41 and the window scale "6" of the
ステップS1508:ルータ42のデータプレーン421は、端末41からのTCPパケットのウインドウサイズ(=32768)を、登録しておいた端末41のタイムスタンプとルータ42のタイムスタンプの差分(=0)により更新する。
ステップS1509:ルータ42のデータプレーン421は、更新後のタイムスタンプ=32768のパケットを外部ウェブサイト45へ送信する。
Step S1508: The
Step S<b>1509 : The
このように構成することにより、ステップS1506とS1507では、外部ウェブサイト45のウインドウサイズを、適切な値に修正して端末41へ伝えることができる。
By configuring in this way, in steps S1506 and S1507, the window size of the
TCPヘッダには、チェックサムのフィールドがある。このTCPヘッダのチェックサムの値は、TCPヘッダの他の部分とデータ部分の値によって決まる。したがって、上述のように、送信元PORT番号、宛先PORT番号、シーケンス番号、Ack番号、ウインドウサイズ、オプションフィールド等を書き換えた際には、連動してTCPヘッダのチェックサムも更新しておく必要がある。
また、IPヘッダにも、チェックサムのフィールドがある。このIPヘッダのチェックサムの値は、IPヘッダの他の部分の値によって決まる。したがって、上述のように、送信元IPアドレス、宛先IPアドレスを書き換えた際には、連動してIPヘッダのチェックサムも更新しておく必要がある。
The TCP header has a checksum field. The value of this TCP header checksum is determined by the values of the other parts of the TCP header and the data part. Therefore, as described above, when the source PORT number, destination PORT number, sequence number, Ack number, window size, option field, etc. are rewritten, it is necessary to update the checksum of the TCP header accordingly. be.
The IP header also has a checksum field. The value of this IP header checksum is determined by the values of other parts of the IP header. Therefore, as described above, when the source IP address and the destination IP address are rewritten, it is necessary to update the checksum of the IP header accordingly.
図16は、本発明の実施形態おけるルータ42の内部構造を説明する図である。中継装置としてのルータ42は、検出部1601、判定部1602、及び処理部1603を備える。
検出部1601は、端末41がプロキシサーバ44を介して通信する環境において、通過する通信を参照して接続先のドメイン名を検出する。通過する通信は、端末41がプロキシサーバ44へ送信するCONNECTメソッドであり、通過する通信を参照することはこのCONNECTメソッドを覗き見することを意味する。
判定部1602は、LBOプロファイル37を参照し、検出部1601が検出したドメイン名に基づいて特定の処理としてLBOを行うか否かを判定する。
処理部1603は、LBOの処理を実行する。
FIG. 16 is a diagram illustrating the internal structure of the
In an environment where the terminal 41 communicates via the
The
The
図17は、本社及び支社の端末がLBOを行わない場合の通信経路を説明する図である。図17の支社は、図1の拠点13~14に相当する。プロキシサーバ1706は、本社側に設置されている。
支社の端末Aは、VPN(Virtual Private Network)を介して、一旦、本社側に接続される。
支社の端末がLBOを行わない場合は、端末A1701⇒ルータA1702⇒VPN1703⇒ルータB1704⇒プロキシサーバ1706⇒インターネット1707⇒DNSサーバ1708又は外部ウェブサイト1709の経路で通信する。
本社の端末がLBOを行わない場合は、端末B1705⇒ルータB1704⇒プロキシサーバ1706⇒インターネット1707⇒DNSサーバ1708又は外部ウェブサイト1709の経路で通信する。
FIG. 17 is a diagram for explaining communication paths when the terminals of the head office and branch offices do not perform LBO. The branch offices in FIG. 17 correspond to
Terminal A of the branch office is temporarily connected to the head office via a VPN (Virtual Private Network).
When the branch office terminal does not perform LBO, it communicates through the route of
When the terminal at the head office does not perform LBO, communication is performed through a route of
図18は、本社及び支社の端末がLBOを行う場合の通信経路を説明する図である。
支社の端末がLBOを行う場合は、VPN1703及びプロキシサーバ1706を使用しない。支社の端末Aは、端末A1701⇒ルータA1702⇒インターネット1707⇒DNSサーバ1708又は外部ウェブサイト1709の経路で通信する。
本社の端末がLBOを行う場合は、プロキシサーバ1706を使用しない。本社の端末Bは、端末B1705⇒ルータB1704⇒インターネット1707⇒DNSサーバ1708又は外部ウェブサイト1709の経路で通信する。
FIG. 18 is a diagram for explaining communication paths when terminals at the head office and branch offices perform LBO.
When the branch terminal performs LBO, the
The
図18では、支社の端末AがLBOを行う場合に、ルータA1702においてLBOを行った。しかし、支社側のルータA1702をLBO非対応のルータとし、本社側のルータB1704においてLBOを行わせる方式を採用することもできる。この方式でLBOを行う場合には、支社の端末Aは、端末A1701⇒ルータA1702⇒VPN1703⇒ルータB1704⇒インターネット1707⇒DNSサーバ1708又は外部ウェブサイト1709の経路で通信する。
このように構成すれば、複数の支社側のルータはLBO非対応とし、本社側の1台のルータのみをLBO対応とすればよいので、経費削減に繋がる。
In FIG. 18, when terminal A of the branch office performs LBO,
With this configuration, the routers on the side of a plurality of branch offices need not support LBO, and only one router on the side of the head office needs to support LBO, which leads to cost reduction.
以上、本実施形態について説明したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。 Although the present embodiment has been described above, the present invention is not limited to such a specific embodiment, and various modifications and changes are possible within the scope of the gist of the present invention described in the claims. is.
11 企業外のネットワーク
12 データセンター
13~15 拠点のコンピュータ
31 DNSサーバ
32 ルータ
33 インターネットゲートウェイ
34 閉域網
35 インターネット網
36 端末
37 LBOプロファイル
41 端末
42 ルータ
43 DNSサーバ
44 プロキシサーバ
45 外部ウェブサイト
421 データプレーン
422 コントロールプレーン
1170 差分テーブル
1601 検出部
1602 判定部
1603 処理部
1701 端末A
1702 ルータA
1703 VPN
1704 ルータB
1705 端末B
1706 プロキシサーバ
1707 インターネット網
1708 DNSサーバ
1709 外部ウェブサイト
11 network outside
1702 Router A
1703 VPN
1704 Router B
1705 Terminal B
1706
Claims (14)
前記検出したドメイン名に基づいて、特定の処理を行うか否か判定する判定部とを備えることを特徴とする中継装置。 a detection unit that detects a domain name of a connection destination by referring to passing communication in an environment where the terminal communicates via a proxy server;
and a determination unit that determines whether or not to perform a specific process based on the detected domain name.
前記処理部は、前記特定の処理として、ローカルブレイクアウト、パケットの廃棄、パケットの書き換え、パケット情報の保存、QoS機能の少なくとも1つ以上の処理を実行することを特徴とする請求項1に記載の中継装置。 A processing unit that executes the specific processing,
2. The process according to claim 1, wherein the processing unit executes at least one or more of local breakout, packet discard, packet rewrite, packet information storage, and QoS function as the specific process. relay device.
The processing unit, when performing the local breakout process, includes a sequence number and an acknowledgment number in communication between the terminal and the proxy server, and a sequence number and an acknowledgment number in communication between the relay device and the connection destination. 7. The relay device according to claim 6, wherein the difference between the two is registered in the relay device, and then the sequence number and acknowledgment number of the packet transmitted by the terminal or the connection destination are rewritten according to the registered difference.
前記検出したドメイン名に基づいて、特定の処理を行うか否か判定することを特徴とする特定の処理の処理方法。
In an environment where terminals communicate via a proxy server, the relay device refers to communication passing through the relay device to detect the domain name of the connection destination,
A processing method for a specific process, comprising determining whether or not to perform a specific process based on the detected domain name.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021055745 | 2021-03-29 | ||
JP2021055745 | 2021-03-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022153317A true JP2022153317A (en) | 2022-10-12 |
JP7178522B2 JP7178522B2 (en) | 2022-11-25 |
Family
ID=83556586
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022049250A Active JP7178523B2 (en) | 2021-03-29 | 2022-03-25 | Relay device and local breakout transfer method |
JP2022049249A Active JP7178522B2 (en) | 2021-03-29 | 2022-03-25 | Relay device and local breakout transfer method |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022049250A Active JP7178523B2 (en) | 2021-03-29 | 2022-03-25 | Relay device and local breakout transfer method |
Country Status (1)
Country | Link |
---|---|
JP (2) | JP7178523B2 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011015344A (en) * | 2009-07-06 | 2011-01-20 | Hitachi Ltd | Relay apparatus and relay method |
US20130318246A1 (en) * | 2011-12-06 | 2013-11-28 | Brocade Communications Systems, Inc. | TCP Connection Relocation |
JP2015156565A (en) * | 2014-02-20 | 2015-08-27 | 富士通株式会社 | Communication system, communication device, and communication method |
-
2022
- 2022-03-25 JP JP2022049250A patent/JP7178523B2/en active Active
- 2022-03-25 JP JP2022049249A patent/JP7178522B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011015344A (en) * | 2009-07-06 | 2011-01-20 | Hitachi Ltd | Relay apparatus and relay method |
US20130318246A1 (en) * | 2011-12-06 | 2013-11-28 | Brocade Communications Systems, Inc. | TCP Connection Relocation |
JP2015156565A (en) * | 2014-02-20 | 2015-08-27 | 富士通株式会社 | Communication system, communication device, and communication method |
Non-Patent Citations (1)
Title |
---|
"Juniper Networks が提供する SD WAN", [オンライン], JPN6022026221, 27 November 2019 (2019-11-27), ISSN: 0004813539 * |
Also Published As
Publication number | Publication date |
---|---|
JP2022153318A (en) | 2022-10-12 |
JP7178523B2 (en) | 2022-11-25 |
JP7178522B2 (en) | 2022-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11483243B2 (en) | Smarter policy decisions based on metadata in data flows | |
CN112911027B (en) | Method and apparatus for establishing a media session | |
US10200264B2 (en) | Link status monitoring based on packet loss detection | |
EP3225014B1 (en) | Source ip address transparency systems and methods | |
US7653075B2 (en) | Processing communication flows in asymmetrically routed networks | |
EP3080957B1 (en) | Establishing a data transfer connection | |
US7930365B2 (en) | Method and apparatus to modify network identifiers at data servers | |
US10257061B2 (en) | Detecting source network address translation in a communication system | |
US20150381566A1 (en) | Peer-to-peer connection establishment using TURN | |
WO2021073565A1 (en) | Service providing method and system | |
US20150373135A1 (en) | Wide area network optimization | |
WO2011035528A1 (en) | Method, system and relay server for network address translation (nat) traversal by way of relay | |
US7564848B2 (en) | Method for the establishing of connections in a communication system | |
WO2007019809A1 (en) | A method and ststem for establishing a direct p2p channel | |
JP2017010388A (en) | Http server and control method for the same, image forming apparatus, and program | |
JP7178522B2 (en) | Relay device and local breakout transfer method | |
US10361997B2 (en) | Auto discovery between proxies in an IPv6 network | |
Komu et al. | Basic host identity protocol (HIP) extensions for traversal of network address translators | |
Brunstrom et al. | TAPS Working Group T. Pauly, Ed. Internet-Draft Apple Inc. Intended status: Standards Track B. Trammell, Ed. Expires: 31 March 2023 Google Switzerland GmbH | |
Brunstrom et al. | TAPS Working Group T. Pauly, Ed. Internet-Draft Apple Inc. Intended status: Standards Track B. Trammell, Ed. Expires: 7 July 2022 Google Switzerland GmbH | |
Brunstrom et al. | TAPS Working Group T. Pauly, Ed. Internet-Draft Apple Inc. Intended status: Standards Track B. Trammell, Ed. Expires: 12 May 2024 Google Switzerland GmbH | |
Brunstrom et al. | TAPS Working Group T. Pauly, Ed. Internet-Draft Apple Inc. Intended status: Standards Track B. Trammell, Ed. Expires: 1 December 2023 Google Switzerland GmbH | |
Brunstrom et al. | TAPS Working Group T. Pauly, Ed. Internet-Draft Apple Inc. Intended status: Standards Track B. Trammell, Ed. Expires: 14 January 2021 Google Switzerland GmbH | |
Brunstrom et al. | TAPS Working Group T. Pauly, Ed. Internet-Draft Apple Inc. Intended status: Standards Track B. Trammell, Ed. Expires: 10 September 2020 Google | |
Komu et al. | RFC 5770: Basic Host Identity Protocol (HIP) Extensions for Traversal of Network Address Translators |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220404 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20220404 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220628 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220824 |
|
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: 20221025 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20221114 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7178522 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |