ポート番号とは
コンピュータ上のどこに、データを送ろうか。
の、どこ
が、ポート
そこを指し示す識別番号が、ポート番号
同じポート番号で、複数のアプリを稼働させることはできない
と言う事実認識は正しいが、
と言うより、ポート番号というのは、インターフェース:入り口、出口
なので、
サーバ側で、
3002番で:Aと言うwebアプリケーションサーバのポートで使い、
3003番で、Bと言うデータベースサーバーのポートで使う場合、
クライアントからのリクエストの流れは、
クライアントから、3002番に向けて、リクエストを送信
A(WebAPサーバ)は、3003番号に向けて、クエリを送信
B(データベースサーバ)は、3002番に向けて、データを送信
A(WebAPサーバ)は、クライアントに向けて、レスポンスを送信
と言う実現の形である
ポート番号の範囲: 0~65535
その中で、
0~1023:ウェルノウンポート
1024~49151:登録ポート番号
49152~65535:ダイナミックポート番号あるいはプライベートポート番号
となっている
ウェルノウンポート:あらかじめ用途が決められていて、設定できない
ちなみに、ポート番号は、4層目のトランスポート層のお話
代表的なポート番号
ポート番号 | サービス名 | 説明 |
---|---|---|
22 | ssh | 遠隔で通信を行うときに、使用する技術 |
25 | smtp | メールの送信で使用する技術 |
80 | http | webサイトを表示するときに使用する技術 |
113 | pop3 | メールの受信する時に使用する技術 |
443 | https | webサイトの通信時に、暗号化技術を用いる場合に使用する技術 |
といった感じなんだが、恐ろしいのは、1023まで、全部、もれなく設定されていることだ。
全部なんて、書ききれないし、読みたくもない
HTTP/HTTPS 通信
ブラウザでは、URLの入力窓口に、ポート番号も入力で指示することが可能である。
http://honyarara.com:8000
このように
ポート80番で、httpsを指定すると、エラーになる
ポート443番で、httpを指定すると、エラーになる
データベースへの接続
ポート番号の確認
lsof
このコマンドを使用すれば、全プロセスが表示される
lsof -i:3000
と実行すると、
3000番ポートは、どのサービスが使ってるか
わかる