はじめに
勉強の一環でネットワーク論についてざっくりまとめました。
ネットワークアーキテクチャの必要性
ネットワークの処理を階層化し、一つのアーキテクチャとすることで、処理の分担、責任の境界が明確となり、メンテナンスや機能拡張がが格段に行いやすくなる。
よいネットワークとは
よいネットワークかどうかを判断する指標として、利用者の主観的な評価であるQoEと、観測に基づく客観的な評価であるQoSの二つがある。
QoEは利用者のアンケートに基づいて評価し、QoSは通信速度や遅延など数値から評価する。
常に一定の通信品質を保つ品質保証型と、最大限努力をするものの、一定の通信品質保てないこともあるベストエフォート型がある。
輻輳などのトラブルに対し、予防、発見、復旧を各レイヤで行うことも重要である
輻輳とその対策
輻輳とは、発生した処理落ちの後始末のためにさらに処理能力が低下するという悪循環により、急激に処理能力が落ちていく現象である。
大量のデータが集中して送られると輻輳が起きる。
輻輳の対策には、輻輳を通知することと、レートを調節することの二つがある。
- AIMD方式
加算法で徐々にレートを上げて、乗算法で徐々にレートを下げる。
TCPの場合はウインドウサイズをAIMD方式で変える。
同期処理
多くの同期処理はクロックを用いて行うが、クロックは必ずしも正確ではない。特に同一のビットが連続して続いた際に問題が起こりやすい。そのため、マンチェスター符号などが考えられた。
また、情報の先端と終端を判断するために、特殊な文字コードやビット列が付加されている。
メディアアクセス制御
- Aloha方式
衝突したらランダム時間待って再送
- CSMA方式
ALOHA+信号が送られている途中かを確認する
- CSMA/CD方式
CSMA+ 衝突を検知したら他の端末にも知らせてあげる
フレームがあまりに短いと衝突の検知を正しく受け取れなくなる
- CSMA/CA方式
CSMA/CDの無線用
なるべく早く衝突を知らせる
ウインドウフロー制御
送信したらウインドウを広げる。ACKが返って来たらウインドウを狭める。
ウインドウサイズには限界がある。
受信したらACKを返す。