|
通常電腦在將資料傳到電腦網路上時,會先將資料(例如一個檔案) 切割成一個一個的小封包。 |
---|
原因: |
---|
資料在傳送過程中有可能發生錯誤。如果沒有分成一個一個的小封包 ,比較難進行流量控制及錯誤處理(例如哪一個位元傳錯了)。 |
---|
在區域網路中,傳輸媒體是共用的,如果資料不先切成一小塊一小塊 ,那麼如果有一電腦佔用傳輸媒體後,傳送一個很大的檔,將造成其 他電腦必須等很久。 |
---|
|
當媒體存取控制子層準備好一個封包要往傳輸媒體上送時,通常稱為框( Frame )。 |
---|
為了讓收端可以辨識一個框,送端會在資料前後分別加上框頭記號及框尾記號。 |
---|
可以用兩種技術來作框頭及框尾記號。 |
---|
以字元組為主( byte-oriented ) | 以字元為主( bit-oriented )
| | |
---|
|
以字元為主時,我們可以選擇某一特殊字元當框頭另一字元當框尾。 例如以 ASCII code 中之 soh ( 0x01) 及 eot (0x04) 分別為框頭及框尾。 |
---|
soh | block of data in frame | eot |
---|
Exception |
---|
利用特殊記號當框頭及框尾時,有可能在資料中也會出現與此兩記號完全 相同的情形。 電腦可能錯將資料當成框頭或框尾記號 |
Solution: bit/byte stuffing |
---|
bit stuffing (for bit-oriented frames) byte stuffing | (for byte-oriented frames ) |
---|
Byte Stuffing |
---|
資料中如果出現 soh 或 eot 時,加 ESC |
---|
Original Data | Chracter Sent
soh
| Esc x
| eot
| Esc y
| Esc
| Esc z
| |
---|