MENU

ポート番号とは

目次

背景

SeleniumのwebDriverを使用する機会があり、そのなかでPort番号を指定するオプションがありました。最初はなんとなく、「PCとネットワークを接続するのに必要な設定」くらいにしか思っていなかったのですが、「なぜ、Port番号を指定していないとwebDriverで接続できないんだろう」、「一度接続したchromeを閉じ、同じPort番号で開いたchromeは接続できるのか」など、いくつかの疑問がわきました。

そこで、ひとまずPort番号について整理し、それからwebDriverの仕様について調べようと考えました。

※Port番号はとても基礎的なことのため、詳細に解説してくれているサイトや本は多いです。今回は、自分のなかで整理したかったこと、そして久しぶりにブログが書きたかったため、投稿しました。

目的

Port番号とは何かを説明できるようになる。

結果

PowerCert Animated Videos, “Network Ports Explained“, 拙訳
  • プログラムやサービスで情報を交換するために使用される論理接続(Logical connection)
  • コンピューターやサーバー上の、どのプログラムやサービスが使用されるかを明確に決定するもの
mdn web docs, “Port“, 拙訳

IPアドレスを用いてネットワークに接続されたコンピューターのための、コミュニケーションエンドポイント

TechTarget, “port number“, 拙訳

インターネットやその他のネットワークのメッセージがサーバーに到着した際に、その転送先となる過程(process)を識別するための方法です。ネットワークに接続された全ての機器は、番号が割り振られた標準化されたポートを備えています。

3つのサイトで調べた結果を載せました。1つ目のPowerCert Animated Videosは、10分ほどの動画で解説してくれており、イメージがつきやすいです。ただ、上記の定義でいうと、TechTargetが一番しっくり来ております。

Port番号について、自分の理解を模式図にしました。

例えば、僕がこのブログを見るとき、IPアドレスとPort番号を指定して、サイトを開きます。IPアドレスは、サイトを構成するResource(HTMLやJavaScript, 画像など)を置いているサーバーの位置を示しており、Port番号は、そのサーバー内でメッセージを転送するProcessを識別するためのものとなります。

あれ、URLもserverを識別するためのものじゃなかったっけ?という気がしますが、たしかURLはIPアドレスとPort番号の紐づけされているはず。DNSとか。。そのあたりは来週調べて追記しておきます。

あとは、Processって何だろう。server内の何かを識別しているのはわかるんだけど。。。

まとめ

Port番号は、”ネットワークを介してメッセージがサーバーに到着した際に、その転送先となる過程(process)を識別するための方法”です。

付録

EndPoint

エンドポイントは、リモートコンピューティングデバイスであり、デバイスが接続されているネットワークと通信を行います。

paloalto networks, “What is an Endpoint?“, 拙訳

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

CAPTCHA


目次