『Linuxで動かしながら学ぶTCP/IP入門』がとても勉強になりました。
「ネットワークの初歩の初歩」ですが、これまでの解説本と異なって実際にpingを飛ばしたりtcpdumpで疎通を覗き見したりしながら学習できます。
そのためようやく「ネットワークとは」とか「TCPとは」とか「NAT(NAPT)の仕組みとは」などを把握することができました。
以下、各章で学んでおきたいことのチェックリストです。
このあたりに不安がある方は、ぜひ読んでみることをおすすめします。
また本書の実践をDocker上で試せるように準備したので、よろしければどうぞ。
https://github.com/koboriakira/tcp_ip_guide
TCP/IP とは
- pingの結果が読めるようになった
- tcpdumpでping(icmp)の通信を見れるようになった
- 端末からルーターを通してインターネットに繋がっているイメージをつかむ
Network Namespace
-
netns
コマンドを利用して、同一セグメント内の仮想のネットワークを作成できる -
netns
コマンドを利用して、ルーターをはさんだネットワークを作成できる -
netns
関連のコマンドをある程度調べずに打てるようになる
イーサネット
- 前章の疎通をMACアドレス基準で覗き見できるようになる
- ブリッジ(スイッチングハブ)について、Network Namespaceで仮想環境を構築できるようになる
- ブリッジの仕組みを理解している
トランスポート層のプロトコル
- アプリケーションとポートの関係を説明できる
- UDPとTCPの違いを説明できる
アプリケーション層のプロトコル
- HTTPサーバを立てて疎通させることができる
- 名前解決について説明できる
- IPアドレスが自動的に付与される操作をできる
NAT
- NAT(NAPT)について説明できる
-
NAT(NAPT)の仕組みを
netns
でつくって試すことができる