【ポート開放】ポート開放が必要な理由【ゆるめ】

2020年3月16日

アザラシです。過去にポート開放の記事を書いたことがあるのですが、
だいぶガバガバに書いていました。

ポート開放がよくわからない人向けになるべく難しいことを書かずに
説明をする記事を書こうかなと思い今回記事にしましたので、
よかったら見てください。

不明点とか指摘があったらコメントにどうぞ

0.そもそもポート開放とは?

サーバーとみんなが使ってるようなパソコンで通信するために必要なことです。
実は、webサイトを見てもらうためにもポート開放をしているんです。
知らないだけで結構身近ですね。

たぶんこういう記事を見に来る人はたいていはマイクラ非想天則などの
ユーザーとユーザー同士でつながるためにポート開放が必要になって、
気になって調べているかと思います。

でも、ちょっと待ってよ?よくあるオンラインゲームは
特にポート開放しなくてもみんなと遊べるじゃん!

1.ユーザーのポート開放が不要な例

勘のいいひとなら上の項目で気づくかと思いますが、
ポート開放が不要なゲームは、ゲーム会社側でサーバーが用意されています。
そのサーバーはポート開放がされているんです。(例外あり ダクソとかのP2P形式)

それに不特定多数のユーザーがアクセスすることで、
オンラインゲームでいろんなユーザーと遊ぶことを可能にしているんですね。
だからユーザーがポート開放するは必要ないんです。

オンラインゲームの図

2.ポート開放が必要な例

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

個人でサーバーを建てる図

え、でもポート開放する理由になってなくない?とか、まだよくわからない。
という人がいるかもしれません。そもそもこれって他人のパソコンにアクセスしているんですけど
普通に考えて怖いですよね。

だから、特定の番号を合言葉としてつなぐことをできるようにしようとしているのが
ポート番号で、その接続してきた番号によって何を相手に供給するかを決めてます。
webサイトなら大抵80番or443番ポートで、接続してきた相手にwebサイトのデータを渡してます。
(厳密にいえば違うけど)

3.他人のパソコンにどうやってアクセスしてんの

ポート番号はわかった。けどサーバーを建てた人のところにどうやって入ってんの?
マイクラや非想天則だと IPアドレスポート番号を遊ぶ相手に伝えていると思います。
このIPアドレスが肝です。

IPアドレスを現実世界で例えるなら住所です。たいてい住所に例えてると思う。
で、IPアドレスって言ってるけど実は グローバルIPアドレスプライベートIPアドレスっていうのが
あります。

前者のグローバルIPアドレス(以降GIP)は、先ほど説明した通り住所。
日本〇〇県〇〇市〇〇町〇-〇-〇 マンション 部屋番 みたいな感じ。
ゲームをやるときに教えるのはこのGIPです。

日本〇〇県〇〇市〇〇町〇-〇-〇の家

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

無料イラスト, ベクター, EPS, 間取り図, マンション, 住宅
間取りのイメージ

たとえ話はこれぐらいにして、じゃあ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.おわりに

なんでもそうですが、特定の物事についてある程度詳しいと悩んでいる人がなぜ悩んでいるのか
わからなかったりします。だからこういう記事は初心に帰る意味では良いのかなと思って書きました。
実際これで悩んでる人が解決するのかどうかはわかりません。

あと、なんか例えがちがくない?とかあればお気軽に突っ込んでください。