JP6387605B2 - 通信システム及び通信方法 - Google Patents
通信システム及び通信方法 Download PDFInfo
- Publication number
- JP6387605B2 JP6387605B2 JP2013239405A JP2013239405A JP6387605B2 JP 6387605 B2 JP6387605 B2 JP 6387605B2 JP 2013239405 A JP2013239405 A JP 2013239405A JP 2013239405 A JP2013239405 A JP 2013239405A JP 6387605 B2 JP6387605 B2 JP 6387605B2
- Authority
- JP
- Japan
- Prior art keywords
- port number
- terminal
- nat
- server
- source
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2557—Translation policies or rules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
- H04L61/2589—NAT traversal over a relay server, e.g. traversal using relay for network address translation [TURN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
- H04L61/2575—NAT traversal using address mapping retrieval, e.g. simple traversal of user datagram protocol through session traversal utilities for NAT [STUN]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Description
(PC1側)NAT変換後送信元ポート あて先ポート
20001 → 30000
20001 → 30001 ◎
20001 → 30002
… …
(PC2側)NAT変換後送信元ポート あて先ポート
30001 → 20000
30001 → 20001 ◎
30001 → 20002
… …
(PC1側)NAT変換後送信元ポート あて先ポート
20001 → 30000
20002 → 30001
20003 → 30002
20004 → 30003
… …
(PC2側)NAT変換後送信元ポート あて先ポート
30001 → 20000
30002 → 20001
30003 → 20002
30004 → 20003
… …
図3は、この発明の一実施例によるネットワークセッションシステムの構成を示す。このネットワークセッションシステムは、インターネットのような広域通信ネットワークCNを介して通信可能に接続されるセッション管理サーバ(単にサーバともいう)SV及び複数のNATルータNR:NRa〜NRd(記号“NR”はNATルータを代表的に表わす)と、各NATルータNRの配下にある各セッション端末TM:TMa〜TMd(記号“TM”はセッション端末を代表的に表わす)で構成される通信システムである。
この発明の一実施例による通信システムは、別々のNATルータNRa〜NRdの配下にある複数のセッション端末(以下、「クライアント端末」或いは単に「クライアント」又は「端末」という)TMa〜TMdと、NAT配下にないセッション管理サーバ(以下、単に「サーバ」という)SVとから成り、各クライアント端末TMa〜TMdは、送信元アドレス、送信元ポート番号、宛て先アドレス及び宛て先ポート番号を使用して、それぞれのNATルータNRa〜NRdを介して直接通信が行われる。しかしながら、図2(2)に関して説明したように、或るクライアント端末TMが属するNATルータNRが、宛て先ポート番号が変わっただけで異なる送信元ポート番号変換を行う「パターン<3>」(アドレス&ポート依存マッピング)のタイプ〔図2(1)参照〕であっても、端末TMa〜TMd間では、通信(接続)を確立させる必要がある。図4及び図5は、この発明の一実施例によるNATタイプの確認から2クライアント端末間の交信に到るまでの手順を示す。なお、以下においては、クライアント端末(A)TMaとクライアント端末(B)TMbとの間で接続を確立する場合を例にして説明する。
図6は、この発明の一実施例によるクライアント端末の接続動作例を示し、図7は、この発明の一実施例によるサーバの接続援助動作例を示す。まず、図6に従って、クライアント端末TMの接続動作を説明する。クライアント端末TMは、ユーザ操作による接続開始の指示があると、クライアント端末TMの制御部(CPU)は、サーバSVに対して接続を行うことを通知し、次のステップC2では、サーバSVに対して、ポート番号P1宛てにパケットを送出し、さらに、ステップC3で、サーバSVに対して、同じ送信元アドレス・ポート番号から、ポート番号P2宛てにパケットを送出する。
図6及び図7の動作例では、推測ポート番号を決定した後、接続待ちのクライアントが自分を含めて2つ以上存在するか(他の参加者が現れた)かを待って、接続通知のパケットを送出するようにしているが、実際には、サーバヘポート番号を通知したときから他の参加者が現れて、2つのクライアント間の接続試行を始めるまでの間に時間が空いてしまうことがある。このような場合には、NATルータの変換後のポート番号が大きくずれている可能性がある。
以上、この発明の好適な一実施例について説明したが、これは単なる一例であって、この発明は、発明の精神を逸脱しない範囲で種々の変更が可能であり、種々の態様で実施することができる。例えば、NATルータが所定タイプ(パターン<3>)であると認識された場合における推測ポート番号の決定、即ち、相手クライアントで使用すべき最適な宛て先ポート番号の推測については、実施例では、サーバ(SV)がNATルータタイプをパターン<3>であると認識した場合、送信元ポート番号に対して「+1」の演算で算出したポート番号を推測ポート番号として相手クライアントに通知するようにしたが、送信元ポート番号をもとにした推測ポート番号の算出方法はこれに限らない。
TM:TMa〜TMd セッション端末又はクライアント端末、
SV:[セッション管理]サーバ、
P1,P2 ポート番号。
Claims (8)
- それぞれ第1及び第2のNATルータの配下にある第1及び第2の端末と、NAT配下にないサーバとから成り、第1及び第2の端末が、送信元アドレス、送信元ポート番号、宛て先アドレス及び宛て先ポート番号を使用し、第1及び第2のNATルータを介して互いに通信を行う通信システムであって、
第1の端末が第2の端末と通信を開始する際に、通信の接続援助動作を行うサーバは、
第1の端末から第1のNATルータを介して順次送られてくる第1及び第2のデータの受信態様に基づいて、第1のNATルータが、宛て先ポート番号が変わっただけで異なる送信元ポート番号変換を行う所定タイプのNATルータであることを認識するNATタイプ認識手段と、
NATタイプ認識手段により所定タイプであると認識された第1のNATルータを介して第1の端末から送出されたデータを受信したときに、このデータを送るのに使用された送信元ポート番号をもとに算出したポート番号を推測ポート番号に決定するポート番号推測手段と、
ポート番号推測手段により決定された推測ポート番号を第2の端末に通知する推測ポート通知手段と
を具備し、
第1の端末は、サーバが接続援助動作を行うことによりサーバから接続通知が届いた際に、第1の端末からサーバに前記データを送出し、このデータを受信したサーバは、第1の端末から送出されたデータの送信元ポート番号を見て第2の端末に通知する推測ポート番号を決定し、
第1の端末は、同じ送信元アドレス及び送信元ポート番号を使用し、第1のNATルータを介してサーバの異なるポート番号宛てに第1及び第2のデータを順次送るデータ送信手段を具備し、
第2の端末は、サーバから通知された推測ポート番号を宛て先ポート番号として使用し、第2及び第1のNATルータを介して第1の端末と直接通信を行う直接通信手段を具備する
ことを特徴とする通信システム。 - ポート番号推測手段は、第1のNATルータが所定タイプであると認識した場合、第1の端末から第1のNATルータを介して送られた送信元ポート番号に、ある値を加算したポート番号、又はある値を減算したポート番号を、推測ポート番号として決定し、
NATタイプ認識手段は、第1のNATルータが、宛先ポート番号が変わると、送信元ポート番号を異なる送信元ポート番号に変化する所定タイプであることを認識すると共に、第1の端末から宛先ポート番号を異ならせて送られた第1及び第2のデータを受信したとき、送信元ポート番号が異なることを条件に第1のNATルータは所定タイプであることを認識することを特徴とする請求項1に記載の通信システム。 - 所定タイプは、宛先ポート番号が変わると、送信元ポート番号をシーケンシャルに変更するタイプであることを特徴とする請求項2に記載の通信システム。
- ポート番号推測手段は、送信元ポート番号に「+1」を加算したポート番号を推測ポート番号として決定することを特徴とする請求項3に記載の通信システム。
- さらに、NATタイプ認識手段は、前記第1及び第2のデータを受信したとき、送信元ポート番号が同じであることを条件に第1のNATルータは所定タイプ以外のタイプであることを認識し、
さらに、ポート番号推測手段は、所定タイプ以外のタイプであると認識された場合、第1の端末から受信したデータを第2の端末へ送る際に使用された送信元ポート番号を前記推測ポート番号として決定することを特徴とする請求項1に記載の通信システム。 - 所定タイプ以外のタイプは、宛て先アドレス及び宛て先ポートが変わっても送信元ポート番号を変更しないNATルータのタイプ、又は宛て先アドレスが変わると送信元ポート番号をシーケンシャルに変更するNATルータのタイプであることを特徴とする請求項5に記載の通信システム。
- 第1のNATルータの所定タイプとして、宛先ポート番号が変わると、送信元ポート番号を異なる送信元ポート番号に変化する所定タイプを認識するために、第1の端末から宛先ポート番号を異ならせてサーバに送る第1及び第2のデータが、サーバの同一アドレスに送られることを特徴とする請求項1に記載の通信システム。
- それぞれ第1及び第2のNATルータの配下にある第1及び第2の端末と、NAT配下にないサーバとから成る通信システムにおいて、第1及び第2の端末が、送信元アドレス、送信元ポート番号、宛て先アドレス及び宛て先ポート番号を使用し、第1及び第2のNATルータを介して互いに通信を行う通信方法であって、
第1の端末から、同じ送信元アドレス及び送信元ポート番号を使用し、第1のNATルータを介してサーバの異なるポート番号宛てに第1及び第2のデータを順次送るデータ送信ステップと、
サーバにおいて、第1の端末から第1のNATルータを介して順次送られてくる第1及び第2のデータの受信態様に基づいて、第1のNATルータが、宛て先ポート番号が変わっただけで異なる送信元ポート番号変換を行う所定タイプのNATルータであることを認識するNATタイプ認識ステップと、
サーバにおいて、NATタイプ認識ステップで所定タイプであると認識された第1のNATルータを介して第1の端末から送出されたデータを受信したときに、このデータを送るのに使用された送信元ポート番号をもとに算出したポート番号を推測ポート番号に決定するポート番号推測ステップと、
サーバから、ポート番号推測ステップで決定された推測ポート番号を第2の端末に通知する推測ポート通知ステップと、
第2の端末から、サーバから通知された推測ポート番号を宛て先ポート番号として使用し、第2及び第1のNATルータを介して第1の端末と直接通信を行う直接通信ステップと
から成り、
サーバは、第1の端末が第2の端末と通信を開始する際に、通信の接続援助動作を行い、第1の端末は、サーバが接続援助動作を行うことによりサーバから接続通知が届いた際に、第1の端末からサーバに前記データを送出し、このデータを受信したサーバは、第1の端末から送出されたデータの送信元ポート番号を見て第2の端末に通知する推測ポート番号を決定することを特徴とする通信方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013239405A JP6387605B2 (ja) | 2012-11-30 | 2013-11-19 | 通信システム及び通信方法 |
EP13194425.8A EP2739016A1 (en) | 2012-11-30 | 2013-11-26 | Communication system and server |
US14/092,316 US9413653B2 (en) | 2012-11-30 | 2013-11-27 | Communication system and server |
CN201310637324.1A CN103856576B (zh) | 2012-11-30 | 2013-12-02 | 通信系统和服务器 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012263882 | 2012-11-30 | ||
JP2012263882 | 2012-11-30 | ||
JP2013239405A JP6387605B2 (ja) | 2012-11-30 | 2013-11-19 | 通信システム及び通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014131261A JP2014131261A (ja) | 2014-07-10 |
JP6387605B2 true JP6387605B2 (ja) | 2018-09-12 |
Family
ID=49680837
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013239405A Active JP6387605B2 (ja) | 2012-11-30 | 2013-11-19 | 通信システム及び通信方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9413653B2 (ja) |
EP (1) | EP2739016A1 (ja) |
JP (1) | JP6387605B2 (ja) |
CN (1) | CN103856576B (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140280989A1 (en) * | 2013-03-14 | 2014-09-18 | Thomas J. Borkowski | System and method for establishing peer to peer connections through symmetric nats |
CN107580082B (zh) * | 2017-09-18 | 2021-03-26 | 北京奇艺世纪科技有限公司 | 一种对称型nat的穿透方法及装置 |
CN107360275B (zh) * | 2017-09-18 | 2021-01-22 | 北京奇艺世纪科技有限公司 | 一种对称型nat端口的预测方法及装置 |
CN109617749B (zh) * | 2019-01-31 | 2021-08-06 | 郑州物海网络科技有限公司 | 基于互联网实现柔性配置终端设备和路由规则的方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3849711B2 (ja) * | 2003-11-07 | 2006-11-22 | 松下電器産業株式会社 | 通信システム、情報処理装置、サーバ、および通信方法 |
JP2007528677A (ja) * | 2004-03-09 | 2007-10-11 | クリーク コミュニケーションズ エルエルシー | シンメトリック・ファイアウォールの背後のクライアントのピアツーピア接続のためのシステムおよび方法 |
US7558862B1 (en) * | 2004-12-09 | 2009-07-07 | LogMeln, Inc. | Method and apparatus for remotely controlling a computer with peer-to-peer command and data transfer |
US8296437B2 (en) * | 2005-12-29 | 2012-10-23 | Logmein, Inc. | Server-mediated setup and maintenance of peer-to-peer client computer communications |
US8825822B2 (en) * | 2009-02-06 | 2014-09-02 | Sagem-Interstar, Inc. | Scalable NAT traversal |
US20100241710A1 (en) * | 2009-02-14 | 2010-09-23 | Bvisual S.A. | Method and system for videoconferencing or data transfer between clients behind different network address translators |
US8713664B2 (en) * | 2009-02-23 | 2014-04-29 | Xcast Labs, Inc. | Detecting the type of NAT firewall using messages |
JP5321396B2 (ja) * | 2009-09-30 | 2013-10-23 | ブラザー工業株式会社 | 通信システム |
JP5273001B2 (ja) * | 2009-09-30 | 2013-08-28 | ブラザー工業株式会社 | 通信システム、端末装置、通信方法、及び通信プログラム |
US8799485B2 (en) * | 2009-12-18 | 2014-08-05 | Sling Media, Inc. | Methods and apparatus for establishing network connections using an inter-mediating device |
-
2013
- 2013-11-19 JP JP2013239405A patent/JP6387605B2/ja active Active
- 2013-11-26 EP EP13194425.8A patent/EP2739016A1/en not_active Ceased
- 2013-11-27 US US14/092,316 patent/US9413653B2/en active Active
- 2013-12-02 CN CN201310637324.1A patent/CN103856576B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN103856576A (zh) | 2014-06-11 |
JP2014131261A (ja) | 2014-07-10 |
EP2739016A1 (en) | 2014-06-04 |
US20140156870A1 (en) | 2014-06-05 |
US9413653B2 (en) | 2016-08-09 |
CN103856576B (zh) | 2017-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101139675B1 (ko) | 동시 다중 연결을 위한 대칭형 네트워크 주소 변환기 통과 방법 | |
EP2220852B1 (en) | Communicating a selection of a potential configuration | |
KR20100019420A (ko) | 에지 라우팅을 갖는 피어-투-피어 협업 시스템 | |
KR20050046632A (ko) | 정보 통신 시스템 및 방법, 정보 처리 장치 및 방법,프로그램 및 기록 매체 | |
WO2005109785A1 (ja) | 情報処理装置、バブルパケット送信方法およびプログラム | |
JP6387605B2 (ja) | 通信システム及び通信方法 | |
CN108702394A (zh) | 网络端点间的媒体会话 | |
JP3999785B2 (ja) | 通信方法 | |
US8406242B2 (en) | Communication system, terminal device, and communication method for performing communication based on the real-time transport protocol/RTP control protocol | |
JP2008118599A (ja) | 通信装置、通信制御方法、及び通信制御プログラム | |
JP2005117587A (ja) | 通信方法 | |
JP2008205676A (ja) | 情報処理システム、情報処理装置、情報処理方法、及び情報処理プログラム | |
JP6331421B2 (ja) | 通信システム及びサーバ | |
WO2015093158A1 (ja) | 通信システム、端末装置及びサーバ | |
JP5084716B2 (ja) | Vpn接続装置、dnsパケット制御方法、及びプログラム | |
WO2022201980A1 (ja) | 通信方法、ルータ、サーバ、通信システム、及び通信のためのプログラム | |
JP2015119217A (ja) | 通信システム及び端末装置 | |
JP2005045678A (ja) | ネットワークを介したホスト間の通信方法 | |
JP5171608B2 (ja) | Vpn接続装置、パケット制御方法、及びプログラム | |
JP4345751B2 (ja) | 情報処理装置、及びバブルパケット送信方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20141218 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160921 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20161011 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170707 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170711 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170911 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180213 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180406 |
|
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: 20180717 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180730 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6387605 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |