出版社内容情報
★さあ、基本を徹底的に体感しよう!★
著者が独自開発したシミュレータを使って、コンピュータネットワークの挙動をPythonで学ぼう!
スイッチング、ルーティング、TCPのハンドシェイク、輻輳制御、TLSハンドシェイクが、この一冊でわかる!
本書の特徴は大きく3つあります。
1. Pythonで動かしながら学べる
OSI参照モデルやTCP/IPといった基盤技術を、単なる文章の解説ではなく、提示されたサンプルをベースに自らコーディングしながら学びます。ノードやリンク、パケットなどのクラスを自分で拡張するうちに、プロトコルの仕組みや挙動を体感できます。
2. シンプルなシミュレータだから、理解しやすい
既存の高機能シミュレータは便利な反面、設定の複雑さやライセンス費用が初学者には障壁でした。そこで、機能を絞り、極力シンプルな設計とすることで、初学者にも理解しやすいシミュレータを開発しました。ノード、リンク、パケットという3つのクラスを軸に、スイッチング、ルーティング、TCPのハンドシェイク、輻輳制御、さらにはTLSハンドシェイクまで段階的に追加していきます。
3. 学習環境の整備が簡単
Google Colabを利用するので、ブラウザさえあればOSの違いを意識せずに学習を始められます。もちろん、複数台の物理デバイスや複雑なネットワーク設定も必要ありません。
【サポートサイト】
https://www.conecolab.com
【主な内容】
0章 ネットワークの基礎知識
1章 コンピュータネットワークの基本要素
2章 ネットワークと時間
3章 スイッチとMACアドレス
4章 MACアドレス学習とループ回避
5章 IPパケットとフラグメント
6章 ルーティングプロトコル
7章 レイヤとカプセル化
8章 アドレスの問い合わせ
9章 IPアドレスの配布と変換
10章 コネクションと信頼性
11章 確認応答と再送制御
12章 輻輳とウィンドウ制御
13章 待ち行列と通信品質
14章 アプリケーションとデータ転送
15章 暗号化と鍵交換
【目次】
第0章 ネットワークの基礎知識
0.1 コンピュータとネットワークの発展
0.2 プロトコルとは
0.3 通信の種類
0.4 MACアドレスとIPアドレス
0.5 代表的なネットワーク機器
第1章 コンピュータネットワークの基本要素
1.1 ノード
1.2 リンク
1.3 パケット
1.4 パケット転送
1.5 可視化
演習課題
第2章 ネットワークと時間
2.1 時間の重要性
2.2 Packetクラスの改良
2.3 Linkクラスの改良
2.4 Nodeクラスの改良
2.5 実装まとめ
2.6 シミュレーションの実行
演習課題
第3章 スイッチとMACアドレス
3.1 ローカルネットワークとは
3.2 スイッチ
3.3 MACアドレス
演習課題
第4章 MACアドレス学習とループ回避
4.1 フォワーディングテーブルの更新
4.2 スパニングツリープロトコル(STP)
演習課題
第5章 IPパケットとフラグメント
5.1 インターネットとIP
5.2 ネットワークアドレスとサブネットマスク
5.3 ルータ
演習課題
第6章 ルーティングプロトコル
6.1 ルーティングプロトコルとは
6.2 OSPF
6.3 LSA
6.4 最短経路の計算
演習課題
第7章 レイヤとカプセル化
7.1 レイヤとアドレス
7.2 カプセル化
演習課題
第8章 アドレスの問い合わせ
8.1 ARPによるMACアドレス解決
8.2 DNSによるIPアドレスの問い合わせ
演習課題
第9章 IPアドレスの配布と変換
9.1 DHCPによるIPアドレスの配布
9.2 NAT
演習課題
第10章 コネクションと信頼性
10.1 コネクション型とコネクションレス型
10.2 UDPによるコネクションレス型通信
10.3 TCPによるコネクション型通信
演習課題
第11章 確認応答と再送制御
11.1 確認応答とシーケンス番号
11.2 再送制御
演習課題
第12章 輻輳とウィンドウ制御
12.1 ウィンドウ制御
12.2 高速回復(Fast Recovery)
演習課題
第13章 待ち行列と通信品質
13.1 待ち行列
13.2 FIFO (First In First Out)
13.3 ラウンドロビン
13.4 優先制御
演習課題
第14章 アプリケーションとデータ転送
14.1 アプリケーション層
14.2 FTP
-
- 和書
- 運勢暦 平成十年