
TCP/IPにおける端末間の通信について(NAPT)
お世話になります。
TCP/IPについて質問です。
NAPT機能の付いたルータを介し、インターネット越しに通信を行う場合を想定します。
1.端末A(送信側)から端末B(受信側)にTCPあるいはUDPを用いてデータを送信する場合、端末Bでは必ず待ち受けるポートにbind(listen)し、また端末Aでは指定されたポート宛てにデータを送信する必要があると聞きました。
ここまでは理解できますが、ここにNAPT機能の付いたルータが介入する場合、"例外なく"端末B側のルータでポートマッピングを行う必要があるのでしょうか?
2.上記の認識がもし正しい場合、2台の端末で通信を行う場合は少なくとも片方でポートマッピングが必要ということになります。
だとするならば、SkypeやMSNメッセンジャーなどのクライアント側でポートマッピングが必要のないアプリケーションは、必ずサーバを介した通信を行っているということでしょうか?
Skypeなどの仕組みを説明しているサイトを見ると、接続の手順を踏んだのちに端末間で通信を行うとの記述があるのですが、いくら接続先のIPがわかっていても、アプリケーション間で接続を確立するには、片方でポートマッピングが必要になると思うのですが、これはどういうことなのでしょうか?
3.上記の認識が正しい場合、UDPで受信する為には必ずポートマッピングが必要ということになります。
だとするならば、クライアント側でポートマッピングが必要のないアプリケーションは、少なくとも受信にはUDPを用いていないということでしょうか?
以上の3点についてお答え頂けると幸いです。
回答お待ちしています。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
追加補足ですが、No2の方の仰るUDPホールパンチングといった機能は、ルーターの一部にて搭載されています「NAT traversal」機能の一部を利用しておりますが、「NAT traversal」機能自体、全てのルーター機器にて仕様上付いている機能ではないため、一般的な家庭内LAN環境での動作保証するものでは御座いません。
実際の所、「NAT traversal」機能設定が可能なタイプのルーターとして、Yamaha製ルーターやAllied-Telesys製、Cisco製機器等業務用ルーターにおいて対応しているといった現状になります。本来、「NAT traversal」機能は、VPN等SOHO関連の業務LAN接続にて利用されている手法ですが、UPNP関連機器(VOIPルーターやVOIPアダプタ)等もこういったNAT traversal要素の機能を利用しているに過ぎないので、接続するルーターにより安定動作するか否かは流動的になります。
No.3
- 回答日時:
お尋ねの件ですが、NAPT配下での拠点接続には、確かに静的IPマスカレード接続が最低限必要となります。
他ネットワーク環境により、静的ルート設定やRIP設定が必要となります。それに対し、メッセンジャー系ソフトは、UPnP機能ソフト的にを利用し、「LAN内の機器からのポートマッピング要求対応機能」、「LAN内の機器へのWAN側IPアドレスの通知機能」を持たせ、ポート交換を自動化しております。自動化の仕組みとして、大抵はUDPポート番号を利用しておりますが、機能的に同じようなソフトや周辺機器を利用しますと、パケット衝突や高い負荷の通信がかかった際に不具合が出やすい通信形態となります。
UPNP関連機能は、あくまでも設定を簡略化させるための暫定規格と思った方が無難です。キチンと利用ポートをそれぞれ固定設定し、 ルーターにそれぞれポート転送記述させる形が機器的にも良いかと存じます。
特にVPNサーバ公開やVPNクライアント接続には、静的IPマスカレード設定だけではなく、静的ルート設定が必要、同一LAN-WAN接続の場合には、RIP通信設定も必要となる場合もあります。
No.2
- 回答日時:
1.
> "例外なく"端末B側のルータでポートマッピングを行う必要があるのでしょうか?
基本的にその認識で正しいです。
ただし、内側から外側にパケットを送信すると、
通常、それに対する応答パケットが外側から届きますので、
これをうまく処理できるよう、NATルーターは内部で自動的に
動的なポートマッピングを設定します。
つまり、送信元ポート番号宛に応答パケットが届いたら、
内側の送信元PCにパケットを届けられるようにします。
(これはTCPもUDPも同様です。)
2.
> Skypeなどの仕組みを説明しているサイトを見ると、接続の手順を踏んだのちに
> 端末間で通信を行うとの記述があるのですが、いくら接続先のIPがわかっていても、
> アプリケーション間で接続を確立するには、片方でポートマッピングが必要になる
> と思うのですが、これはどういうことなのでしょうか?
Skypeは、UDPホールパンチングという技術を使っています。
http://ja.wikipedia.org/wiki/UDP%E3%83%9B%E3%83% …
を参考にしてください。
ここにも書かれてある通り、NATの種類はいくつかあり、
UDPホールパンチングがうまく機能しないケースもあります。
UDPパケット送信先と別のIPから応答パケットが届いた場合、
それを内側のPCに通すかどうかが問題です。
UDPホールパンチングがうまくいかない場合、
最終的にはリレーノードによる中継を行います。
Skypeの通信の仕組みは
http://www.itmedia.co.jp/enterprise/articles/050 …
を参考にしてください。
No.1
- 回答日時:
1.
端末BにプライベートIPアドレスがふられており、外部と通信をするにはNAPTが必要な場合、ルーターがルーターに来た通信を端末Bに中継しないと通信ができません。
2.
まず、グローバルIPアドレスを持っていて、なおかつ、Skypeに使えるポートが開いている端末をSkypeに参加している端末から見つけます。そして、その端末に通信をしたい端末の呂方から接続をします。こうすることで、プライベートIPアドレスしかふられていない端末間でもSkypeで通信をすることができます。
3.
UDPについてもNAPTできますが、2.で書いた方法をUDPで使えばプライベートIPアドレスしかない端末間で通信ができます。
UDPのNAPTの場合、ステートを使って判断することができないのでいつNAPTのテーブルから対応付けを削除するかが難しいですけどね。(まぁ、TCPでもお行儀が悪いやつがいるので、そういうのを何分経ったら対応表から削除するかというのも同様に難しいですが。)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 固定IP Win11 アダプター設定変更にイーサネットが表示されない 1 2022/12/03 18:31
- ルーター・ネットワーク機器 YAMAHAルータ設定について 1 2022/09/03 16:31
- FTTH・光回線 AU光回線の速度が出ません 2 2022/07/30 16:05
- Wi-Fi・無線LAN ローソンで wi-fi 接続できませんでした スマホは OPPO A 73です 何がいけなかったか 4 2022/05/31 03:53
- C言語・C++・C# TCP/IP通信時のサーバーからの受信 2 2022/11/23 09:11
- Android(アンドロイド) いま3台のAndroidを使っています。 AndroidってiPhoneには無いmicroSDXCが 1 2022/05/06 11:42
- Android(アンドロイド) auのAndroid端末のSIMカードがロックされてしまいました。 6 2022/08/22 20:31
- ファイアウォール ポート開放で利用可能なTCP一覧の中に利用したいTCPが入ってない場合どうすればいいのでしょうか? 2 2022/09/12 10:31
- VPN 無料のwifiはなぜ危険性高い? VPN プライベートDNSモードにすれば安全? 2 2022/06/04 18:23
- iCloud iPhone端末変更時のLINE引継ぎ 4 2023/07/09 15:07
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
tracert コマンドが必ずtime out
-
FTPサーバー2
-
ルーターとノートンインターネ...
-
BIG-IPのルーティングについて
-
ポート範囲を指定してポートを...
-
イントラネットから外部(イン...
-
Cboxを外部公開したい
-
VNCで、WEBブラウザで操...
-
Hotsyncが働きません。
-
WAN側からルーターの管理画面に...
-
8000番や8080番のポー...
-
このポート番号知りませんか?
-
ワイヤレスマウスUSBレシーバー...
-
コマンドプロンプトで、ポート...
-
2・3日前から・・・
-
バンジージャンプのデータを貰...
-
Windows10でUDPのポート解放が...
-
the onion rooter tor接続
-
Apple USB EthernetをiMacで
-
1つのルータに2台のWebサーバ
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
tracert コマンドが必ずtime out
-
ポートの開放
-
pcAnywhere、これで本当にリモ...
-
Wake On LANが不安定・出来ない
-
NTT Web caster V130でのVPN
-
WAN側からルーターの管理画面に...
-
UPnPのNAT越えの仕組みが分から...
-
【NVR500】外部からFTP接続する...
-
gethostbynameを使うとエラーが...
-
バーチャルホストの公開サーバ...
-
BIG-IPのルーティングについて
-
WAN側からPINGが通りません
-
FTサーバが公開できません・・...
-
ネットワークカメラのDDNS設定...
-
ポートの開放ができずに困って...
-
eo光(ホームタイプ)からWebサ...
-
ポート開放が出来ません!!
-
自宅サーバーをアクセスすると...
-
FTPサーバ(FileZilla server)...
-
自宅WEBサーバー構築について。
おすすめ情報