Transcript Document
在OSI中的位置
應用層
(application)
傳輸層
(transfer)
網際網路層
(internetwork)
資料鏈結層
(data link)
實體層
(physical)
ADSL連線內容
資料鏈結層的工作內容
資料鏈結層
訊框封裝
定址解析
錯誤控制
流量控制
存取控制
訊框封裝及解封裝
Data
封包(Packet)
資
料
封
裝
Data
訊框(Frame)
Data
位元(Bits)
Internetwork
網際網路層
Data Link
資料鏈結層
Physical
實體層
Data
封包(Packet)
Data
訊框(Frame)
Data
位元(Bits)
資
料
解
封
裝
訊框結構
定址及解析位址
WAN的資料鏈結層協定中,如HDLC和PPP,大都是兩點
之間的連線,並沒有位址解析的問題,但如訊框中繼
(Frame Relay)、ATM、Ethernet等多點的連線方式,則需要
解析位址。
以Ethernet LAN來說,資料鏈結層使用的是6個byte的實體
位址來定址,實體位址只在近端的網路區段有意義。兩台
主機以IP連線,但在不知道另一方的實體位址之前是無法
通訊的,因為網路層的封包封裝到訊框時必須填入目的地
實體位址,所以傳送之前須透過ARP請求(ARP Request)以
FF:FF:FF:FF:FF:FF廣播位址和資料欄位中詢問目的地IP的
實體位址
資料鏈結控制
錯誤偵測:冗餘機制
傳送端
接收端
1000010
原始資料
獲得
原始資料
1000010
1011
加入冗餘
檢查冗餘
1011
1000010
1011
1000010
1011
1000010
1011
冗餘機制:垂直冗餘檢查
傳送端
接收端
傳送
字母B
1000010
偶同位判斷及
產生(VRC)
0
1000010
0
獲得
字母B
1000010
1000010
0
偶同位判斷
加入0
1000010
0
1000010
0
去掉
冗餘位元0
檢查1的總數
使否為偶數
冗餘機制:縱向冗餘檢查
傳送端傳送字母DATE
01000100
01000001
01010100
01000101
01000100
01000001
01010100
01000101
01000100
01000001
01010100
LRC填入
00010100
01000101
00010100
接收端
01000100
01000001
01010100
01000101
00010100
取得字母
DATE
LRC檢查
01000100
01000001
01010100
01000101
冗餘機制:二維同位檢查
冗餘機制:檢查加總
傳送端傳送字母DATE
01000100
01000001
68
01010100
65
CC運算
84
01000001
69
=
00011111
01010100
01000101
286 / 255 = 31(餘數)
01000100
01000101
00011111
接收端
01000100
68
01000001
01010100
01000101
65
84
69
286 / 255 = 31(餘數)
=
00011111
=
00011111
檢查加總
傳送端
十六進位
說明
DA
4 4 41
TE
54 45
檢查加總初始值
00 00
加總
98 86
16進位 X的補數為15 – X
加總一元補數
67 79
要傳送的檢查加總
傳送的資料
44 41 54 45 67 79
接收端
十六進位
收到的資料
44 41 54 45 67 79
DA
44 41
TE
54 45
檢查加總
67 79
加總
FF FF
將DATE和檢查加總加起來
加總一元補數
00 00
最後的檢查加總
說明
冗餘機制:循環冗餘檢查
除數 G
10010001
<--------商
10011
100010100000 <------- M + 0000
10011
------00100
00000
-------01001
00000
-------10010
10011
------00010
00000
------00100
00000
-------01000
00000
---------10000
10011
-------0011 <------ R
M’
100010100011
CRC多項式
M’ (x) : 傳送端送出的訊息單元
G (x) : CRC多項
式
R(x) : 餘式
如訊息單元在接收端產生錯誤,假設為E (x),那麼接
收端收到的訊息可表示為 M’(x) + E (x)。將 [M’(x) + E
(x)] / G (x) 得到 M’(x) / G(x) + E (x) / G(x) 。
/* 假設M’(x) = x11+x7+x5+x+1 (100010100011) 中由右
至左算第5, 7個位元錯誤,則E (x) = x6 + x4,接收端收
到訊息 M’(x) + E (x) = x11+x7+x5+x+1 + x6 + x4 = x11 + x7
+ x6 + x5 + x4 + x + 1 (100011110011) */
錯誤修正
忽略
重送:停等ARQ,滑動視窗ARQ
修正
流量控制:停止與等待
傳送端
等待
時間
等待
時間
等待
時間
time
接收端
Data
ACK
Data
ACK
Data
ACK
time
流量控制:滑動視窗
傳送端視窗
0
1
2
3
4
5
6
0
7
滑動方向
送出訊框後這片牆向右滑動
1
2
3
4
5
6
滑動方向
收到ACK後這片牆向右滑動
接收端視窗
0
1
2
3
滑動方向
收到訊框後這片牆向右滑動
4
5
6
7
0
1
2
3
滑動方向
送出ACK後這片牆向右滑動
4
5
6
滑動視窗-1
傳送端視窗起始有n – 1個訊框,送出m個訊框後,視
窗左牆向右滑動m格,視窗剩下n – 1 – m訊框。收到
ACK後,右牆向右延伸的格數等於ACK所回應的訊框
數。
接收端視窗原始有n – 1個訊框,收到m個訊框後,視
窗左牆向右滑動m格,送出ACK後,右牆向右延伸的
格數等於ACK所回應的訊框數。
滑動視窗-2
傳送端
接收端
0 1 2 3 4 5 6 7 0 1 2 3 4 ..
0 1 2 3 4 5 6 7 0 1 2 3 4 ..
訊框 0
0 1 2 3 4 5 6 7 0 1 2 3 4 ..
0 1 2 3 4 5 6 7 0 1 2 3 4 ..
ACK 1
0 1 2 3 4 5 6 7 0 1 2 3 4 ..
0 1 2 3 4 5 6 7 0 1 2 3 4 ..
訊框 1
0 1 2 3 4 5 6 7 0 1 2 3 4 ..
0 1 2 3 4 5 6 7 0 1 2 3 4 ..
訊框 2
0 1 2 3 4 5 6 7 0 1 2 3 4 ..
0 1 2 3 4 5 6 7 0 1 2 3 4 ..
ACK 3
0 1 2 3 4 5 6 7 0 1 2 3 4 ..
0 1 2 3 4 5 6 7 0 1 2 3 4 ..
訊框 3
0 1 2 3 4 5 6 7 0 1 2 3 4 ..
0 1 2 3 4 5 6 7 0 1 2 3 4 ..
訊框 4
0 1 2 3 4 5 6 7 0 1 2 3 4 ..
0 1 2 3 4 5 6 7 0 1 2 3 4 ..
訊框 5
0 1 2 3 4 5 6 7 0 1 2 3 4 ..
0 1 2 3 4 5 6 7 0 1 2 3 4 ..
ACK 6
0 1 2 3 4 5 6 7 0 1 2 3 4 ..
0 1 2 3 4 5 6 7 0 1 2 3 4 ..
流量控制:停等ARQ
傳送端
接收端
1
time
out
2
frame 0
frame 0
ACK 1
4
frame 1
NAK
6
5
frame 1
ACK 0
time
3
7
time
滑動視窗:回溯 – n ARQ
傳送端
接收端
frame 0
frame 1
1
frame 2
frame 3
frame 4
frame 5
ACK3
2
4
NAK3
3
DROP
fra
me
fra 4
me
5
frame 3
5
frame 4
frame 5
time
time
滑動視窗:選擇性回絕ARQ
控制存取:令牌環
A
B
token
F
C
E
D
隨機存取:乙太網路
隨機存取所在的廣播式網路環境,首先遇到的問題就是發
生碰撞產生衝突,為減少碰撞的機率遂發展出一套機制,
即載波感測多重存取(CSMA),媒體上的各節點(multiple
access)在傳輸之前必須先傾聽媒體載波狀態(carrier sense),
以避免碰撞的發生
CSMA提出避免的機制,但沒有解決碰撞後的措施,因此
有演進的CSMA/CD,增加碰撞偵測並提出解決碰撞後應
進行的措施。
如果發現碰撞,必須傳送碰撞訊號(32 bit)告知各節點。發
生碰撞訊框要重送,且其他節點也隨時可能傳送,因此各
節點須遵守退離機制(back-off):各節點產生一個亂數,以
此亂數乘以定值得到一個等待的時間值,即下次的傳送時
間。