新刊ピックアップ

ネットワーク技術がなぜわかりにくいのか――ポートとソケットの物語

この記事を読むのに必要な時間:およそ 1 分

通信技術の進化でも変わらないしくみ

今を去ること20数年前,某システムインテグレータで仕事をしていた筆者(編集)はポートという概念に出会って感動しました。その当時は,コンピュータはモデムで通信すること主流で,パソコン通信のほうが流行ってました。そんな時代です。

そのときの仕事の内容と言えば,UNIXマシン(サーバ)をLANにつないで,コミュケーションサーバというRS232Cコネクタが5~6個くらいあるマシンも同じくLAN接続してシステムを作るというもの。そこに外部からモデムで通信テストをするのが筆者の仕事でした。先輩社員からHOSTS.TXTの内容を口頭で受け,静的なIPアドレスとマシンを紐付けている理由などを聞いていました。その中でモデムという別媒体からデータを乗せ替えるところがポートである,つまり港で船からトラックに載せかえて荷物を受け取っていく,そんなイメージの説明でした。筆者はそこにUNIXを設計した人の叡智を感じたのです。

皆さんご存じのようにUNIXはあらゆるデバイスをすべてファイル化することで,抽象化をしています。RS232Cのファイルにデータを渡せば,モデムなどでデータ送信が可能になります。もしくはプリンタを示すファイルにデータを渡せば,紙にプリントアウトし始めます(とても簡略に説明させてもらいました⁠⁠。このようにシンプルなしくみがUNIXをUNIXたらしめています。そんな記憶が筆者にはずっと残っていました。TCP/IPプロトコル前提で,コンピュータ通信を知る際に重要なのはポートとソケット――これはUNIX側のしくみだけど通信のしくみの根底にあるものです。

まずはSoftwareDesignの特集記事で

それから20年以上経過して,ライターのあきみちさんと雑談をしていると,そのときの内容がちょうど前述の話なのですが,⁠まさに!」と意気投合したわけです。ポートとソケットを切り口にネットワークのしくみを明らかにしようと。そしてイラスト図解をするにあたり,⁠小悪魔女子大生のサーバエンジニア日記』のaicoさんに依頼することも,そこで決まったのでした。あとはとんとん拍子。打ち合わせの中で生まれた,あきみちさんの新概念「マンションのポスト」はまさにポートとソケットの概念をわかりやすく説明するもので,これはしくみがわからなくて悩んでいる人にうってつけのアイデアです。図1

図1 本書より図1.9 IPアドレスがマンションで,ポート番号が部屋番号

図1 本書より図1.9 IPアドレスがマンションで,ポート番号が部屋番号

そうして企画された特集が掲載されたSoftwareDesign2014年5月号は好調な売れ行きでした。読者が知りたいのはこの情報であるという手応えをつかんだわけです。ネットワークはそのしくみを知らず使うことができるけど(そういうふうに技術者が作ったわけですが⁠⁠,知らないままに使うのはやはりみんな怖いんです。そしてしくみを知らないと,何かエラーが起きたときに,原因の切り分けができないのです。

どんなにクラウドやネットワークの仮想化が進んでも(たとえばSDNはネットワーク経路の仮想化,NFVはネットワーク機能の仮想化ですが⁠⁠,動いている基本的なしくみは変わらないので,技術者であれば,しくみの探求をし続けるでしょう。そういう人が本書のメインターゲットなのです。しくみを知りたい人に,一足飛びに答えを与えたい,そんな気持ちが本書の原点です。

「あきみち」「aico」=理解

ライターのあきみちさんはRFCを提案するほどの技術者ですので,その解説は非常に正しく,aicoさんの絵は『小悪魔女子大生のサーバエンジニア日記』で鍛えられ,ネットワークの神に愛された画風,この2つを組み合わせることで面白い本ができるというイメージがわき起こったのです。わかることとできることは大きく違います。本書でわかりやすい概念を得たあとに,アプリケーションの設計や開発で得た経験で自分の理解を確かめてほしいのです。本書で「できる人」になるきっかけを得てほしいのです。本書は入門書ですが,ポップな作りのわりに硬派かもしれません。ぜひじっくり読んでください。