TCP技術入門――進化を続ける基本プロトコルコラムを楽しむシステム管理に携わる人たちが語る。様々な話題満載のコラムをお届けします。8:00Tweet私がTCP/IPの勉強をしたのは、25年以上前だと思います。し、TCP/IPという言葉が聞きなれた今でも、基本プロトコルに関する部分は、さほど変わりがないように思っていました。そのような背景の中、本書のタイトルは「TCP技術入門」です。それだけであれば、本書を手に取りませんでしたが、サブタイトルに「進化を続ける基本プロトコル」と書かれています。25年前から何が進化したのでしょうか。入門編」の初版は1994年ですが、本書の初版の発行は今年です。そこで何かあると思い、本書を手に取りました。Things),自動運転をはじめ,ネットワークにまつわるサービスは飛躍的な発展を遂げつつあります。通信の高速化,端末の爆発的な増加,クラウドによる遠隔送受信をはじめとした大きな変化のなか,通信の信頼性や効率性を担うTCPの存在感が増してきました。本書では,TCPの「今」に主眼を置き,TCP/IPの基礎からTCPの主要機能,歴史,プロトコル設計,最近のLinuxで主要な輻輳制御アルゴリズムCUBIC,新たに登場したBBR,そして各種応用技術の最新動向まで平易に解説。全体を通して,現在の主流となった無線通信を想定している点も特徴です。押さえておきたいツールWiresharkやns-3による解析やシミュレーションの基本も丁寧にカバー。広く初学者の方々に向けて具体例を豊富に盛り込み,現場で役立つ技術基礎を平易に解き明かしていきます。Review本書の大半は、輻輳アルゴリズムやフロー制御に多くページを割いています。本書は入門書ではないと思います。TCP/IPの勉強をするうえで必要な、プロトコルやOSIの7階層の話などは書かれています。TCPに関しても、基本であるスリーハンドシェイクやACKなどのフラグも書かれてはいます。流している感じですので、これらの用語が初見の方は難しく感じるでしょう。本書を読み進めるにあたって、TCP/IPやネットワーク一般に関する事前知識は必要かと思います。本書の一つの特徴として、ARPAnetから現在までの通信環境の変遷を軸に、どのようなことが起き、何が重要とされてきたかによって、必要な技術が変わってきたことが解説されています。その中心となる、高信頼性と低遅延を求めるための技術として、輻輳アルゴリズムとフロー制御について解説があります。個々のアルゴリズムを一度読んだだけで、自分の知識として理解できる方は少ないかと思います。技術本の使い方として、知らない技術に直面し、学習しなければならなくなったときに、本書を開いてみるという使い方がよいのではないでしょうか。TCPと銘打っていますがUDPにももちろん触れており、多種多様に発展した現在のネットワークの使い方として、UDPとTCPに違いや有用性、また昨今のハイブリッド的な規格なども解説しており、進化・発展していることが実感できました。TCP/IPではなく、TCP=トランスポート層の技術ととらえるほうがよいかと思います。私はネットワークを学習するうえで、「ネットワークは分かりにくい」と思われることから、実際目で見ることが重要だと思っています。本書では、輻輳状態をシミュレーションしWiresharkでパケット取得・解析し、Pythonで分析/可視化までしています。時間がないと、環境の用意も大変ですが、GitHubにセットアップ方法や使用ソフトが公開されていますので、体験できる内容となっています。クラウドや今後さらに発展すると思われる自動運転などで、ネットワークの通信容量が拡大するうえに、高い信頼性、低遅延が求められていきます。無線で距離も長くなるでしょう。そのような状況下における通信技術について興味がある方や、ネットワークを使用したプログラミングをされている方、重複ACKとは何だろう?と思われた技術者の方は、一読されてはいかがでしょうか?システム管理者のためのBookCafeアナログで行きましょう。これからの自分や今まで知らなかった世界・人に出会う入り口になるかもしれません。推進メンバーシステム管理者の会の企画・運営をする推進メンバ―が、会員の皆様にお奨めする本をご紹介してまいります。ログイン(会員登録)すると、コメントを書き込むことができます。