Physical Transmission
- digital modulation
- ビットとシグナルの変換
- エンコーディング
- ストリーム内のすべてのビットを正しく認識すること
- フレーミング
- パケット境界を正しく認識すること
Baseband transmission
Manchester encoding : マンチェスター符号化
- クロック信号とデータ信号のXOR
- クロック
- ビット周期の前半がハイ、後半がロー
- それぞれのビットに対して2回の信号変化が必要
- bandwidth の利用が非効率
NRZ : Non-Return-to-Zero 比ゼロ復帰
- 論理値が1の場合に送信し、論理値が0の時に送信しない
- 信号は最大2ビットごとに正と負のレベルの間を循環する可能性がある(1と0が交互になっている場合)。
- ビットレートがBビット/秒の場合、少なくとも B / 2Hzの帯域幅が必要
- 連続する 0 bit と アイドル状態 の区別がつかない。
- 連続する0または1がある場合、受信者は正確にカウントできないことがある。
- もし受信者のクロックが少し速い(または遅い)場合、送信者の送信した0または1の数と、受信者の認識した0または1の数が異なる。
- 5つの1が送信者から送られたが、 受信者のクロックが10%早ければ、5.5の単位時間の間1が続いたことになる。
- 5つの1が送信者から送られたが、 受信者のクロックが20%早ければ、6の単位時間の間1が続いたことになる(6つの1が送信されたことになる)。
- 正確なクロックがあれば解決できるが、高価なソリューションとなる。
NRZI : NRZ Inverted
- USB で利用されている。
- 論理値0の送信時には信号レベルを変化させない、論理値1の送信時には前の状態を反転させる
- 論理値の変化を最小限にして、信号を複合する回路にクロック情報を提供する
- 連続する0がある場合、受信者は正確にカウントできないことがある。
- 1が連続してもNRZのような問題にはならない(本当か?)
4B/5B
16通り のデータ送信パターンと、 6通りの特別なシグナル送信パターンがある。
data | pattern |
---|---|
0000 | 11110 |
0001 | 01001 |
0010 | 10100 |
0011 | 10101 |
0100 | 01010 |
0101 | 01011 |
0110 | 01110 |
0111 | 01111 |
1000 | 10010 |
1001 | 10011 |
1010 | 10110 |
1011 | 10111 |
1100 | 11010 |
1101 | 11011 |
1110 | 11100 |
1111 | 11101 |
IDLE | 11111 |
HALT | 00100 |
START | 10001 |
END | 01101 |
RESET | 00111 |
DEAD | 00000 |
Framing
- パケットの終端を見つける方法
- パケット間ギャップ(イーサネットなど)
- 4B/5B および 特別なビットパターン
- ヘッダーに長さフィールドを配置する
- 原則として機能するが、広く使用されていない。
- 非同期化後に順序を復元することが難しい場合がある。
HDLC(High-level Data Link Control, 高水準電装制御手順)
- Point-to-Point Protocol(PPP)(PPPoE - PPP over Ethernet - に使用される)を含む多くのアプリケーションで使用される一般的なリンクレベルのパケット形式
- 全二重通信方式の通信プロトコル
- 電装効率と信頼性が高い
- フレーム単位でデータを伝送し、フレームごとにエラー検出のためのCRCコードをつけて送信する。
- IBM の SDLCを基本としている。
- 非同期シリアル回線
- バイト間で、ある種の開始/停止表示がある回線。
- 遅くなる傾向がある。
- バイト
0x7D
をエスケープ文字として使用する。0x7D
および0x7E
のデータバイトは、それらの前に追加の0x7D
を付けることでエスケープされる。- 実際には、
0x7D
の後に(original_byte xor 0x20)が続くものとして送信される
- 同期シリアル回線(通常は非同期よりも高速)
- HDLCは通常ビットスタッフィングを使用します。
- フレームリレー
- 通信回線を介して多くのサイトにIPパケットを配信するための低レベルプロトコル。
- フレーム分離のために2つの方法をサポートしています。
- 非同期リンクを介したHDLC : バイトスタッフィング
- 同期リンクを介したHDLC : ビットスタッフィング
- HDLCパケットの基本的なカプセル化形式
- 各フレームをバイト0x7E (バイナリで 0111 1110) で開始および終了する。
- 問題
- このバイトパターンはがデータでも発生する。