0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

コードに出てきた serverport って何?調べてみたら「ウェルノウンポート」という決まり事だった

Last updated at Posted at 2025-12-11

はじめに

現在、Arduinoを使ってネットワーク通信を行うプログラムを勉強しています。
Wi-Fi接続の設定コードを書いていたとき、ふと気になる記述を見つけました。

// 実際のコード(イメージ)
const char* ssid = "MY_WIFI_SSID";
const char* password = "MY_PASSWORD";
int serverport = 80; // ← これは何??

SSIDやパスワードがWi-Fi接続に必要なのは分かります。
しかし、その下にある serverport = 80 という記述。
「サーバーポート? 80? なんで80なの? 100じゃダメなの?」と疑問に思いました。

今回は、この「謎の数字」の正体と、その裏にある「ウェルノウンポート」などのルールについてまとめます。

結論:このコードは何をしているのか?

先に結論から言うと、この serverport = 80 は、「訪問者が迷わないように、わかりやすい『正面玄関(80番)』を開けて待っていますよ」 という宣言です。

  • serverport: 変数名(ここは人間が適当に付けた名前)
  • 80: ポート番号(ここが重要!)

通常、Webサイトを見るとき、私たちはブラウザに「どの扉から入るか」をいちいち指示しません。それは、「Webサイトなら、とりあえず80番の正面玄関に行けばいい」 という世界共通のルールがあるからです。

では、そもそも「ポート番号」ってなに?なぜ「80」なのでしょうか?

ポート番号=「マンションの部屋番号」

よく例えられるのが、IPアドレスとポート番号の関係です。

  • IPアドレス:マンションの住所(どのPCに届けるか)
  • ポート番号:マンションの部屋番号(そのPCの中の、どのソフトに届けるか)

PCの中では、ブラウザ、メール、ゲームなど、たくさんのソフト(プロセス)が動いています。
「IPアドレス(住所)」だけだと、届いたデータを「どのソフト(部屋)」に渡せばいいか分かりません。

そこで、「Webサイトのデータなら80番の部屋へ」「メールなら25番の部屋へ」というふうに、番号によってデータの届け先を振り分けています。

冒頭のコードは、「私のArduinoは80番の部屋で待機します!」と指定していたわけです。

ポート番号のルール(ウェルノウンとレジスタード)

この「部屋番号(ポート番号)」は 0番〜65535番 までありますが、好き勝手に使っていいわけではなく、IANAという組織によって管理・分類されています。

特に重要なのが以下の2つです。

1. ウェルノウンポート (Well-known Ports)

  • 範囲: 0番 〜 1023番
  • 役割: インターネットの基本的なシステムのために予約されている番号

いわば、マンションの「管理人室」や「共有ロビー」のような場所です。これらは「この番号といえばこの機能!」と世界中で決まっています。

番号 サービス名 用途
80 HTTP Webサイトの閲覧(今回のコードはこれ!)
443 HTTPS 暗号化されたWebサイトの閲覧
22 SSH サーバーの遠隔操作
25 SMTP メールの送信

冒頭のコードで 80 が使われていたのは、そのプログラムが 「Webサーバー(HTTP)」として振る舞うため でした。
ここを勝手に変えてしまうと、アクセスしてくるブラウザ側が「あれ?Webサイトが見つからないぞ?」と迷子になってしまいます。

2. レジスタードポート (Registered Ports)

  • 範囲: 1024番 〜 49151番
  • 役割: 特定のアプリケーションやソフトウェアが登録して使う番号

こちらは、特定の企業のソフトやゲームなどが「うちはこの番号を使います」と登録して利用する番号です。

番号 サービス名 用途
3306 MySQL データベース接続
8080 HTTP代替 80番が使えない時によく開発用で使われる
25565 Minecraft マインクラフトのマルチプレイ

まとめ

コードに出てきた serverport = 80 の正体は、「Webサーバーとして通信するために、世界標準の『80番』の正面玄関を開けて待っておく」 という意味でした。

  • 0〜1023番 (ウェルノウンポート): Webやメールなど、ネットの基本機能用(勝手に使うのは避ける)
  • 1024〜49151番 (レジスタードポート): 各アプリ用

普段何気なくコピペしていたコードの数字にも、ちゃんと「そこでなければならない理由」があることが分かりました。
もし自分で通信アプリを作るときは、既存の重要なポート番号と被らないように注意したいと思います。

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?