【ポート開放】ポート開放が必要な理由【ゆるめ】
アザラシです。過去にポート開放の記事を書いたことがあるのですが、
だいぶガバガバに書いていました。
ポート開放がよくわからない人向けになるべく難しいことを書かずに
説明をする記事を書こうかなと思い今回記事にしましたので、
よかったら見てください。
不明点とか指摘があったらコメントにどうぞ
0.そもそもポート開放とは?
サーバーとみんなが使ってるようなパソコンで通信するために必要なことです。
実は、webサイトを見てもらうためにもポート開放をしているんです。
知らないだけで結構身近ですね。
たぶんこういう記事を見に来る人はたいていはマイクラや非想天則などの
ユーザーとユーザー同士でつながるためにポート開放が必要になって、
気になって調べているかと思います。
でも、ちょっと待ってよ?よくあるオンラインゲームは
特にポート開放しなくてもみんなと遊べるじゃん!
1.ユーザーのポート開放が不要な例
勘のいいひとなら上の項目で気づくかと思いますが、
ポート開放が不要なゲームは、ゲーム会社側でサーバーが用意されています。
そのサーバーはポート開放がされているんです。(例外あり ダクソとかのP2P形式)
それに不特定多数のユーザーがアクセスすることで、
オンラインゲームでいろんなユーザーと遊ぶことを可能にしているんですね。
だからユーザーがポート開放するは必要ないんです。

2.ポート開放が必要な例
もうわかると思いますが、ゲーム会社のサーバーが存在しない場合です。
マイクラや非想天則はユーザーがサーバーを立てて、ユーザーにアクセスしてもらう
形式なので、個人でポート開放する必要があるんですね。

え、でもポート開放する理由になってなくない?とか、まだよくわからない。
という人がいるかもしれません。そもそもこれって他人のパソコンにアクセスしているんですけど
普通に考えて怖いですよね。
だから、特定の番号を合言葉としてつなぐことをできるようにしようとしているのが
ポート番号で、その接続してきた番号によって何を相手に供給するかを決めてます。
webサイトなら大抵80番or443番ポートで、接続してきた相手にwebサイトのデータを渡してます。
(厳密にいえば違うけど)
3.他人のパソコンにどうやってアクセスしてんの
ポート番号はわかった。けどサーバーを建てた人のところにどうやって入ってんの?
マイクラや非想天則だと IPアドレスとポート番号を遊ぶ相手に伝えていると思います。
このIPアドレスが肝です。
IPアドレスを現実世界で例えるなら住所です。たいてい住所に例えてると思う。
で、IPアドレスって言ってるけど実は グローバルIPアドレス と プライベートIPアドレスっていうのが
あります。
前者のグローバルIPアドレス(以降GIP)は、先ほど説明した通り住所。
日本〇〇県〇〇市〇〇町〇-〇-〇 マンション 部屋番 みたいな感じ。
ゲームをやるときに教えるのはこのGIPです。

じゃあプライベートIPアドレス(以降PIP)は?となると思います。
これはいうなら家の部屋みたいなもので、例えば居間とかキッチンとか
寝室みたいなレベルの話。つまり、PIPを友人に伝えたところで、
どこの居間だよ!寝室だよ!となり、意味不明なことになります。

たとえ話はこれぐらいにして、じゃあGIPとPIPってどういうの?という話です。
GIDは xxx.xxx.xxx.xxx という感じで数字が羅列しています。
PIPは大抵 192.168.xxx.xxx という感じで数字が羅列しています。
PIPは、自宅のローカルネットワークで使用されているIPアドレスです。
自宅にネットがひかれていれば、LANケーブルを指してる箱ありますよね?
モデムとかルーターです。それにパソコンやスマホ(Wifi)がつながっていると
PIPは必ず発行されています。
ちなみにGIPを調べたい場合は、こういうサイトで確認できます。
で、このGIPとポート番号。どういう話のつながりになるの?
と思います。
3-1.接続する流れ
非想天則やマイクラの場合は、先ほど説明にのっとり
PIPではなく、GIPを伝えます。
GIPを伝えることで、サーバーを建てた人の場所までつながることができます。
なので、非想天則であれば
GIP : xxx.xxx.xxx.xxx:10800(デフォルトポート番号)
を友人に伝えます。
マイクラであれば、
GIP : xxx.xxx.xxx.xxx:25565(デフォルトポート番号)
を友人に伝えます。
GIPを教えてもらった友人は、ゲーム内で
GIPとポート番号を入力することで友人の立てているサーバーに入ることができます。
家で例えるとこんな感じです。
3-2 . 例
接続してもらう側の家にママがいるとしましょう。
ママに友達の〇〇君が今日10800番で遊びに来るから
お家に入れてね!と伝えておきます。
友達には、日本〇〇県~~の住所で合言葉は10800番だよ!
遊びに来てね!と伝えました。
友達はそれを聞いて向かいます。
で、友達がいざ家に来ました!インターホンを鳴らします。
友達の〇〇ですけど、10800番で来ました。
あらいらっしゃ~い。
ほかの番号でアクセスした場合はママに怒られて入れてもらえません。
このママはルーター、もしくはモデムとして例えました。
これならなんとなくわかるかな・・・?
3-3.小話
ちなみにポートスキャンという攻撃があるのですが、これをされると
0番~65535番までの番号を延々とドア前で言い続けて、
入るという怖い攻撃があります。ゲームをやめたらポートは閉めよう!
4.おわりに
なんでもそうですが、特定の物事についてある程度詳しいと悩んでいる人がなぜ悩んでいるのか
わからなかったりします。だからこういう記事は初心に帰る意味では良いのかなと思って書きました。
実際これで悩んでる人が解決するのかどうかはわかりません。
あと、なんか例えがちがくない?とかあればお気軽に突っ込んでください。
ディスカッション
コメント一覧
分かりやすかった
ありがとナス
アザラシです
参考になったようでしたら良かったです!
とてもわかりやすい記事でした!ありがとうございます。
一つ質問があるのですが、家庭内LANではグローバルIPは一つしかないと理解しています。通信相手にグローバルIPとポート番号を伝えたとします。相手が送った通信は私の家庭のルータまで届きますが、LANの中のどのPCが接続したいか特定できないと思います。
ルータに届いたあとの通信の流れはどうなっているのでしょうか。
よろしければ教えてください
あっくんさん
コメントありがとうございます。アザラシです。
確かにルーターに届いた後、どうやって特定のPCに届くのかの説明はしていなかったですね。
ルーターでポート開放の設定をする時、宛先のプライベートアドレスも設定しています。
例) https://www.buffalo.jp/s3/guide/html/html/air1140/router/wzr2g300n/chapter16.html
インターネット側 25565
LAN側ポート 25565
IPアドレス 192.168.xxx.xxx
プロトコル tcp
と設定すると 25565 で外部から接続が来た際に、ルーターが 192.168.xxx.xxx のデバイスに
接続を回してくれる、という感じです。
アザラシさん
お返事どうもありがとうございます。最近個人的にネットワークの勉強をしていて、こちらのサイトに辿り着きました。記事も、お返事のコメントもとてもわかりやすいです。理解ができました。
アザラシさんの他の記事も読ませていただきたいと思います。
この度はありがとうございました!