shugo's kitchen

コンピュータサイエンスを美味しく調理していきたい

マスタリングTCP/IP 入門編 読書メモ 【第1章 後半】

[tex: ]

今回は1.6節から1章の終わりまで行きます。

元書籍→マスタリングTCP/IP

前回の記事→

shugo256.hatenablog.com

通信方式

コネクション型とコネクションレス
  • コネクション型ではデータの送受信をする前に両ホスト間で回線を"接続"する
    • 通信できない場合に無駄なデータを送らなくて良い
    • 通信の前後にコネクションの確立と切断の処理が必要
    • 二人ともグローブをはめていて、お互い準備できたか確認した上でキャッチボールを始めるイメージ
  • コネクションレス型ではコネクションの確立や切断の処理がなく、いつでもデータを送れるし、いつデータが来るかわからない
    • 通信できない場合にも無駄にデータを送信しようとする
    • コネクション処理がなくなることで負荷が軽減される
    • 相手の状態にかかわらず突然ボールを投げつけるイメージ
回線交換とパケット交換
  • 回線交換
    • 一度コネクションを確立したら切断するまで回線を占有し続ける(コネクション型)
    • 同時に使用できるのは回線の数だけのユーザーのみであり、それ以上は増やせない(図1.31)
    • 回線を占有するので、一定のスピードで転送が行われる
  • パケット交換
    • コンピュータが送信するデータ複数の小包にわけて転送待ちqueueに追加していって順番に転送していくスタイル
    • 1つの回線を複数のユーザが共有して利用できる
    • ネットワークの混雑度によってはパケットの回線速度が遅くなったりする
通信相手の数による分類
  • Unicast : 1対1 (ex. 電話)
  • Broadcast : 1対不特定多数 (ex. テレビ放送)
  • Multicast : 1対特定の多数 (ex. ビデオ会議)
  • Anycast : 1→特定の多数に情報を発信した後、多数の中から最適なホストが1つ選ばれ、以降はUnicastでやるらしい
    • 飛行機での「この中にお医者様はいらっしゃいますでしょうか」っていうやつ
    • これだけ正直よくわからないが、5.2や5.8.2で登場するらしい

アドレス

TCP/IPではMACアドレスIPアドレス、ポート番号などがある

唯一性
  • アドレスから通信相手を特定できる
  • BroadcastやMulticastみたいに複数の相手に同じアドレスを割り当てる場合もユニークと言える (「1年1組の皆さん」は複数人を指すがユニーク)
階層性
  • 地球上の場所を示す方のアドレス(国名/都道府県名/市区町村名/番地)と同様にアドレスの一部を組織、プロバイダ、地域などに対応させることでアドレスを探しやすくする
  • IPアドレスはネットワーク部とホスト部から構成され、同じ組織、グループのアドレスは共通のネットワーク部を持つ
  • MACアドレスは階層性を持たない

ネットワークの構成要素

全体像は図1.37

データリンクと伝送速度
  • 直接接続された機器間の通信に用いるプロトコルやネットワークのことをデータリンクという
  • この2つの機器間を流れるデータの物理的な速さを伝送速度という
    • 媒体中を流れる信号(光、電子など)の速さは一定であるから、伝送速度を決めるのは帯域(道路で言うところの車線)である
  • データリンクの伝送速度(帯域)のみならずホストCPUの能力、ネットワークの混雑度などを加味した通信速度の指標として、スループットがある
ネットワークインターフェース
  • コンピュータをネットワークに接続するための装置
  • 最近では内蔵しているコンピュータが多いらしい
リピーター
  • 物理層でネットワークを延長する装置
  • 伝播の過程で減衰した波形を復元する
    • 通信路を流れる信号の0,1をはっきりさせるだけなので、伝送速度やデータリンク層レベルでのエラーなどには口出しできない
  • 電気->光のように通信媒体を変換するリピーターもある
ブリッジ(レイヤ2スイッチ)
  • ブリッジはデータリンク層でネットワーク同士を接続する装置
    • 第2層(データリンク層)における機能であるから、レイヤ2スイッチとも呼ばれる
  • データリンクのフレームを理解して一旦メモリに蓄積してから送り出す
    • データリンクのフレーム内のFCS(Frame Check Sequence)と呼ばれるフィールドをチェックし、壊れているフレームを検出して他のセグメント(=ネットワーク)に送らないようにしてくれる
  • 図1.42のように「宛先が〇〇ならこっちのネットワークには流さなくていいね」みたいな判断をしてくれるものもある(ラーニングブリッジ)
ルーター(レイヤ3スイッチ)
レイヤ4-7スイッチ
  • トランスポート層〜アプリケーション層での情報に基づいた配送処理を行う
  • 例えばたくさん閲覧されるWebサーバーでは1つのURLに対して複数のサーバーで負荷を分散したい
  • 他にもアプリケーション固有の処理みたいなのは色々あるらしい
ゲートウェイ
  • レイヤ4-7スイッチと同様にトランスポート層以上の階層での処理を行う
  • ゲートウェイには互換性のないプロトコル間を翻訳により中継するという役割がある(ex. 携帯メールとインターネットメールの交換)
  • WWWにおいてサーバーとクライアントが直接通信せずに代理サーバー(Proxy Server 図1.48)を用いて制御を行う場合、代理サーバー=アプリケーションゲートウェイ
    • クライアントは代理サーバーと接続を確立し、代理サーバーがインターネットのサーバーとの接続を確立する



先人たち、ようここまで頑張ったなあというお気持ち

次回→

shugo256.hatenablog.com

最初の記事→

shugo256.hatenablog.com