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):各節點產生一個亂數,以 此亂數乘以定值得到一個等待的時間值,即下次的傳送時 間。