ソースコードで体感するネットワークの仕組み
~手を動かしながら基礎からTCP/IPの実装までがわかる
2018年5月15日紙版発売
2018年5月9日電子版発売
小俣光之 著
A5判/272ページ
定価2,728円(本体2,480円+税10%)
ISBN 978-4-7741-9744-9
書籍の概要
この本の概要
普段あたりまえのようにネットワークを使っていますが,「IPアドレスを持っている」とはどういったことか,本当に理解できているでしょうか。本書では,IPやUDP,TCPを自作し,ネットワークの仕組みを体験。pingのやりとりを行うプログラムを,DHCPクライアント機能の実装,TCPの送受信と切断を行うものへと拡張していくことで,RFCを眺めるだけでは見えにくいプロトコルの全体の流れをつかめます。ソケットライブラリに頼っていては得られない,問題の切り分けや問題発生の予防に役立つ力も身につきます。
こんな方におすすめ
- ネットワークエンジニア
著者の一言
誰もが,PCにネットワークケーブルを挿して,スイッチングHUBに接続,あるいは,スマートフォンをWi-Fi接続するとインターネットが使えるようになるのは「あたりまえ」だと感じていると思います。しかし,インターネットでの通信の基本である「IPアドレスを持っていること」とはどういう状態なのか?と聞かれてさっと答えられる人は意外と少ないのではないでしょうか。
LANやインターネットの基本となっているイーサネットでは,MACアドレスを宛先として通信を行います。それだけでは不便なのでIPが存在し,今どきの多くのネットワーク機器はIPアドレスをあて先として通信を行っている,というイメージを持っている方は多いでしょう。しかし,それを本当にきちんと理解できているでしょうか。
本書では,IPの下で使われているUDPやTCPといったネットワークの仕組みを,実際にプログラムを作って体験してみます。特にTCPに関しては,「よくわからないけれど,ソケットライブラリを使ってconnectしてsendすればデータが送信でき,recvすれば受信できる」と考えている人が多いと思いますので,自力で3ウェイハンドシェークしたり,シーケンス番号を管理して再送制御したりするプログラムを作って,TCPの基本を体験してみます。
前著『ルーター自作でわかるパケットの流れ』では,イーサネットフレームを自分で中継しながらIPを理解してみましたが,「なにもルーターじゃなくても……」とか「もっと簡単な例で体験するほうが良いのでは?」という意見をいただき,「いっそのことIPや UDP,TCPの仕組みを自作すれば根本からわかるだろう」と考えました。どんどん仕様が追加されてきた現在のTCPの仕組みを全て作ってみるのは大変ですが,拡張機能を使わずに基本部分だけでも十分通信はできます。これらのプログラムが実務で役に立つかどうかは別として(もちろん,役に立つケースはあるのですが),作って体験してみた人の理解は,ただRFCを眺めただけの人に比べれば断然深いものになることでしょう。
誰でも簡単に作って動かしてみることができるのがプログラミングの良いところです。「百聞は一見にしかず」プログラムを動かして様子を見てみるのが一番です!
この書籍に関連する記事があります!
- 「わかったつもり」になっていませんか?
- 今や私たちは,ネットワークに接続しない日はありません。しかし,あたりまえのように接続しているネットワークの仕組みについて,あいまいな知識しか持っていない人もいることでしょう。
この本に関連する書籍
-
詳解 クラウド型ネットワークのインフラ技術 ~基礎からクラスタリング、仮想化、分散DBまで
近年のコンピュータネットワークは,仮想化・クラウド・ビッグデータなどの技術分野と不可分になっています。本書はこのような「クラウド型ネットワーク」について,ク...
-
イラスト図解でよくわかる ネットワーク&TCP/IPの基礎知識
本書はコンピュータネットワークの基礎から経路制御まで,仕組みをイラスト図解で学べる入門書です。まずは,ネットワークの全体像と基本的な技術を把握して,通信の仕...
-
ポートとソケットがわかればインターネットがわかる――TCP/IP・ネットワーク技術を学びたいあなたのために
「楽しく通信技術を学んでみませんか?」インターネットのしくみはどうなっているのか?――スマホなどで当たり前のように使っていますがその仕組みは案外説明できません...
-
ルーター自作でわかるパケットの流れ ~ソースコードで体感するネットワークのしくみ
ネットワークはどのようにつながるのか,「パケットの気持ちになって」考えてみたことはありますか? 本書では,パケットキャプチャ,ブリッジ,ルーターを「プログラム...