マリコ、もがく。-そして扉は開かれた-
皆様、ごきげんよう。
あっという間にもう師走。月日に関守なしとは古人はよく言ったものです。ここ最近(という名の数か月)はブログの更新を怠ってしまい、極レアマリコファン(通称:マリコニスト)の皆様には大変なご心配とご迷惑をおかけしました。
決してサボタージュ決め込んでいた訳ではないのですが…はい、来年は心を入れ替えて定期更新を目指します。
このブログでは、完全無欠の未経験者で誇るべきIT素人であるマリコが、一端のエンジニアをめざしてもがく様子を徒然なるままに描いていきます。
第13回目のテーマは『ポート番号』です。
コンピュータが通信に使用する0から65535までのプログラム識別番号。
ポート番号
ポート。ポート。そう、port。つまり港のことですよね。つまり「ポート番号」は「港の番号」ってことで、つまり・・・どういう意味?今回はそんなポート番号のお話です。
ポート番号とはネットワークでデータ通信を行うときの窓口番号のようなもので、使用するサービスの種類によって0から65535番までの番号が割り振られています。
この窓口番号を間違えてしまうと、「このデータはどのサービスとして扱えばいいの?」と混乱が生じ、通信がうまく機能してくれなくなるとのことです。
インターネットという大海原の中では、サービス毎に専用の港(ポート番号)が必要なんですね。
ウェルノウンポート番号
膨大なポート番号の中で、メジャー級サービス用の番号が「ウェルノウンポート番号」です。0番から1023番までが押さえられています。なんでもインターネット界隈に関連する数字という数字(ポート番号やIPアドレスのこと)を管理しているIANAという団体がお決めになったのだとか。
そんな栄えあるウェルノウンポートの使用を認められたサービスの一例をまとめてみました。うん、さすがにマリコでも知っている超有名どころのサービスばかりですね。
※クライアントってなんやねんって方は第2回「マリコ、もがく。-サーバ、って何よ?-」を見てね!
※SSHってなんやねんって方は第7回「マリコ、もがく。-SSHと先輩-」を見てね!
※HTTPとかHTTPSってなんやねんって方は第6回「マリコ、もがく。-はじめてのお仕事-」を見てね!
あとはMSG ICPだったりANSI Z39.50といったサービスもウェルノウンポート番号を使用しているようですが、今のマリコにはどんな時に使うサービスなのかさっぱりでございます。不甲斐ない…。
おまけのTCP/UDP
さて、気になっている方も多いはず。さきほど表でポート番号を一緒にしれっと登場している「TCP/UDP」のワードです。なんやねんとお思いの方のために綿菓子の軽さで触れておきたいと思います。
TCPもUDPも、インターネット通信用のプロトコルです。
サーバとクライアントの間で、お互いどうやってやり取りしようかーっていうお約束ごと。
それぞれどんな違いがあるかと言いますと…
◇ TCP(Transmission Control Protocol)
スピードよりも信頼性を重視した通信方法のことで、通信相手の通信状況を確認しながら通信を行ってくれています。メールのやりとりやWeb閲覧など、確実にデータのやりとりしたいなーという通信で使用されています。(あらやだなんか早口言葉みたい!)
と、こんな感じ。慎重に慎重を重ねていますね。
通信開始までにお互いに3回やりとりしているので、巷ではこう呼ばれているそうです…「3ウェイハンドシェイク」!(あらやだカッコいい!)
◇ UDP(User Datagram Protocol)
信頼性よりスピードや効率を重視した通信方法のことで、通信相手の応答を待たずに一方的にデータを送りつけます。
音声通話やブロードキャスト通信(ネットワーク内全ての通信相手に同じ内容のデータを送る方法)など、「質より量」みたいな通信で使用されています。
こちらはこんなイメージです。スピード重視。
これだけの特徴の違いがあるものだから、サーバとクライアントの間で何か通信を行う時は用途に合わせたプロトコルの選択が必要なんですね。
TCPとUDPについてもっと詳しく知りたい!という方は下記サイト『RFCの一覧』の768(UDP)と793(TCP)の項目を熟読してみてください!ちなみにマリコは諦めました!
https://ja.wikipedia.org/wiki/Request_for_Comments
数字を見て思うもの。
正しくデータ通信を行うためには、適切な通信方法の選択と正しいポート番号を割り振る必要があることを学んだマリコ。
いや本当に、ポート番号って色んな所に出てくるんだから。
「ファイアウォールの443番ポート空けといて!」とか「迷惑メール多いから25番ポートブロックするよ!」とか、「なんかこのIPアドレスうざいから全ポート遮断しといて!」とかとかand more.
去年くらいまでは整数みると年号が先に脳内に浮かんできてたんですけどねー。もう、「22」の数字を見れば「ssh」だし、「443」を見れば「https」って感じですよ。エへへ。
とは言えまだまだ超メジャーなポート番号しか覚えきれていないのも事実。しかもここだけの話、サーバとクライアントの両者で合意があればウェルノウンポート番号の対象サービスですら使用するポート番号の変更が可能らしいですよ。(「httpsサービスの通信だけど私達は10番ポートを窓口にやり取りしようねー♪」みたいな感じ)
もうね、もがけどもがけどITの道は険しく…マリコのもがきは続きます。
あ、あと余談ですが最近はYoutube上でももがいております。
『QuickGuard Inc』のアカウントで鋭意更新中なので、お時間ある方はぜひ遊びにきて下さいね!