マスタリングTCP/IP 入門編 第7 ~ 9章

2020年8月7日 engineering

こんにちは、 @kz_morita です。

今回は,マスタリング TCP / IP 入門編の 7 ~ 9 章を読んで読了したので,これらの章の内容と全体的な感想を簡単に書いていこうと思います.

第 7 章 ルーティングプロトコル(経路制御プロトコル)

第 7 章では,パケットを宛先まで届けるためにルーターがどのようにルーティングを行っているのかという内容が書かれていました.

ルーティングもIPアドレスと同様に階層化されており,AS (Autonomous System) と呼ばれる範囲内と範囲外で異なるプロトコルでルーティングがされています.

AS の内部で使用されるプロトコルは,IGP (Interior Gateway Protocol) と呼ばれ,具体的には,RIP (Routing Information Protocol), RIP 2, OSPF (Open Shortest Path First) といったプロトコルが用いられてます. AS 同士のやり取りで使用されるプロトコルは,EGP (Exterior Gateway Protocol) と呼ばれ,具体的いは,BGP (Border Gateway Protocol) が用いられます.

この本で紹介されていた,プロトコルは Distance-Vector 型と,Link-State 型 となっていました. Distance-Vector 型は,現在地から目的地までに通るルーターの数 (ホップ数) が少ない経路を選ぶようなアルゴリズムです.RIP などでは,その際に自身の経路情報をブロードキャストして,ルーター感で情報のやり取りをする方法が定められていました.

Link-State 型は,ネットワーク全体をみてノード間のコストを元にダイクストラ法で経路選択をするアルゴリズムです.OSPF では,情報を交換するために他のルーターとやり取りするためのプロトコルが定義されていました.

この章では,ルーターが実際にどのように振る舞っているかを知ることができました.

第 8 章 アプリケーションプロトコル

この章では,OSI参照モデルの 4, 5, 6 層のプロトコルについて簡単に紹介されていました.

紹介されてたプロトコルは以下のとおりです.

  • TELNET と SSH
  • FTP
  • SMTP, POP, IMAP
  • HTTP (URI と HTML)
  • SNMP (MIB, RMON)
  • H.323
  • SIP
  • RTP
  • LDAP

この章で印象的だったのは,SIP や,RTPのところです.最近 WebRTC 周りを調べたりすることが多かったので,このあたりのプロトコルは,WebRTC でも用いられているもののはずなので興味深かったです.

この章は,簡単な詳解という形だったので,気になるプロトコルは別途調べてみるのも良さそうです.

第 9 章 セキュリティ

この章では,ネットワークにおけるセキュリティについて簡単に紹介されていました.

主に,ファイアウォール, IDS (侵入検知システム), アンチウイルスソフトや,暗号化技術について触れられていました.

興味深かったのが,TLS/SSL の話と,IEEE802.1X の話でした.

TLS/SSL は,普段から馴染みのある https での通信のことで,通信を行う際にどのように鍵の交換などを行うのかを復習できたのが良かったです. 以下読んでいるときのメモです.

前提:
- クライアント (ブラウザ) は,認証局の公開鍵があらかじめインストールされている
- Webサーバーは,認証局の秘密鍵で暗号化された電子証明書を持っている
- Webサーバーは,共通鍵を暗号化するための 公開鍵と秘密鍵のペアを保持している

1. クライアントからリクエストが来たときに,Webサーバーは電子証明書とWebサーバーの公開鍵をクライアントに返す.
2. クライアントは,電子証明書を認証局の公開鍵で復号して,サーバーが正しく認証されたものかを確認する
3. クライアントは,Webサーバーが信頼できることが確認できたので,通信の準備に入る
4. クライアントが共通鍵を作り,最初にWebサーバーから送られてきた公開鍵を使って共通鍵を暗号化して送信する
5. クライアントから暗号化された共通鍵 が送られてきた Webサーバーは,秘密鍵を用いて共通鍵を得る.
6. 5まででクライアントとWebサーバーだけの秘密の共通鍵を得ることができたので,それを用いて SSL通信を行う

IEEE802.1X は,カフェに行ったときなどに使える公衆無線LANの話で,インターネットにつながる前に認証サーバー (VLAN) につながりそこで認証を終えてから,インターネットにつながるようになるまでの一連の流れが記されていました.

これらの仕組みのように,普段何気なく触れているものの裏側を知れるのはとてもおもしろい体験でした.

感想とか

読み終えての感想としては,ネットワークについて広く知ることができてとても良かったです. とくにネットワークはとても身近に感じられる技術なのでそれを知ることは純粋に楽しかったです.

あとは,さすが名著と呼ばれているだけあって分かりやすかったですし,まさに入門にはちょうどよいと思いました.

本がまぁまぁ分厚くて,若干心が折れそうになりましたが,途中で導入した 積読消化スプレッドシート のおかげでモチベーションが続きなんとか読み切れたと思います.

積読消化スプレッドシートについては, こちらの note でも紹介しています.(Webサービスがほしい...)

積読はまだまだたくさんあるので,どんどん読んでいこうと思います.

この記事をシェア