1 / 92

第五章

第五章. Data Link Layer 資料 鏈結層. 目的. 瞭解何謂資料鏈結層 錯誤偵測和修正 共享傳輸媒介的方法 鏈結層的定址 Flow control 瞭解各種不同的鏈結層技術. 概要. 資料鏈結層的準則 錯誤偵測 , 修正 共享媒介 : multiple access 鏈結層的位址 , ARP 資料鏈結層技術 乙太網路 (Ethernet) hubs, bridges, switches IEEE 802.11 LANs PPP, ATM, X.25, Frame Relay. 資料鏈結層. M. H. H. H. H. H.

emily
Download Presentation

第五章

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第五章 Data Link Layer 資料鏈結層

  2. 目的 • 瞭解何謂資料鏈結層 • 錯誤偵測和修正 • 共享傳輸媒介的方法 • 鏈結層的定址 • Flow control • 瞭解各種不同的鏈結層技術

  3. 概要 • 資料鏈結層的準則 • 錯誤偵測, 修正 • 共享媒介: multiple access • 鏈結層的位址, ARP • 資料鏈結層技術 • 乙太網路(Ethernet) • hubs, bridges, switches • IEEE 802.11 LANs • PPP, ATM, X.25, Frame Relay

  4. 資料鏈結層

  5. M H H H H H H H H H t n l t t n l t n M M application transport network link physical M 資料鏈結層 • 兩個實際相連的設備間 • 如:host-router, router-router, host-host • 以訊框(frame)為資料的單位 network link physical data link protocol M frame phys. link adapter card

  6. 資料鏈結層的功能 • 把上層的datagram加頭加尾封裝成frame • 定義媒介上的存取方式 • 使用實際位址 (physical addresses) • 實際連接兩點之間的可靠傳輸 • flow control (第三章)

  7. 鏈結層的功能 • Flow Control 作用在傳送端 (sender)和接收端(receivers)之間 • 錯誤偵測 (Error Detection) • 訊號衰減和雜訊會造成錯誤發生 • 當接收端發現錯誤,會通知傳送端重送或是把訊框給丟掉 • 錯誤修正 • 由傳送端辨別並修正錯誤的位元,避免重送

  8. 錯誤偵測 EDC= Error Detection and Correction bits (redundancy) D = Data protected by error checking, may include header fields

  9. 同位元檢查 (Parity Checking) Two Dimensional Bit Parity: Detect and correct single bit errors Single Bit Parity: Detect single bit errors 0 0

  10. Checksum: Cyclic Redundancy Check • 把資料D當作是二進位的數字 • 選出 r+1 個位元的pattern (generator), G • 目的: 選出 r 個 CRC 位元, R, 使得 • <D,R> 恰好被G整除 (modulo 2) • 接收端已知G, 以<D,R> 除以G. 如果除不盡表示有錯誤 • 可以偵測所有小於 r+1 個位元的錯誤 • 廣泛的使用 (如ATM, HDCL)

  11. CRC 範例 D.2r XOR R = nG  D.2r = nG XOR R  把D.2r除以G 得到餘數 D.2r G R = remainder[ ]

  12. Multiple Access 協定 • 單一共享頻道上有兩個或以上節點要同時存取資料 • 一次僅能容許一個節點存取 • 由分散式的協定來決定媒介的存取(決定哪一個節點可以存取)

  13. MAC協定的分類 • 分割頻道 (Channel Partitioning) • 把頻道分成許多小塊 (例如.時間槽, 頻率) • 分配小塊給節點使用 • 隨機存取 (Random Access) • 允許發生碰撞 • 重點在發生碰撞後的處理動作 • 輪流 • 嚴格地調節共享媒介的使用,以不發生碰撞為目的 目的: efficient, fair, simple, decentralized

  14. 頻道分割MAC協定: TDMA TDMA: time division multiple access • 每一個節點可以得到固定長度的slot(長度 = 封包傳輸時間) • 沒用到的slot稱為idle • 範例: 6-station LAN, 1,3,4有封包, slots 2,5,6 idle • TDM (Time Division Multiplexing): 頻道分割成 N個時間槽, 每個節點使用一個

  15. 頻道分割MAC協定: FDMA FDMA: frequency division multiple access • 頻譜分割成幾個頻帶 • 每一個節點使用固定的頻帶 • 頻帶中可能有沒用到的傳輸時間 • 範例: 6-station LAN, 1,3,4有封包, 頻帶2,5,6idle time frequency bands

  16. 頻道分割--CDMA CDMA (Code Division Multiple Access) • 指定唯一的code給每一個user.是為分割code set • 通常用在無線寬頻頻道 (cellular, satellite) • 所有的user分享一樣的頻率但是使用自己的code去編碼 • encoded signal = (original data) X (chipping sequence) • decoding: inner-product of encoded signal and chipping sequence • 允許許多user同時傳送資料

  17. CDMA 編碼/解碼

  18. CDMA: 兩個傳送端

  19. Slotted Aloha • 時間分割成等長的slot • 節點在下一slot的開頭就傳送封包 • 如果發生碰撞:以p的機率重送封包直到成功為止 Success (S), Collision (C), Empty (E) slots

  20. Slotted Aloha 效率 假設有N個節點要傳送封包 • 每個slot以p的機率傳送封包 • 成功傳送的機率S為: 單一節點: S= p (1-p)(N-1) 任意N節點 S = Prob (單一傳送) = N p (1-p)(N-1) … choosing optimum p as n -> infty ... = 1/e = .37 as N -> infty 最佳情況:37%頻道使用率

  21. Pure (unslotted) ALOHA • unslotted Aloha: 較簡單, 非同步 • 封包不會等到在slot的開頭才傳送 • 會增加碰撞的機率

  22. 0.4 0.3 Slotted Aloha 0.2 0.1 Pure Aloha 1.5 2.0 0.5 1.0 G = offered load = Np Pure Aloha P(success by given node) = P(node transmits) . P(no other node transmits in [p0-1,p0] . P(no other node transmits in [p0-1,p0] = p . (1-p) . (1-p) P(success by any of N nodes) = N p . (1-p) . (1-p) … choosing optimum p as n -> infty ... = 1/(2e) = .18 S = throughput = “goodput” (success rate)

  23. CSMA: Carrier Sense Multiple Access CSMA: 傳送之前會先聽 • 如果聽到idle:傳送! • 如果聽到busy:延遲傳送 • Persistent CSMA: 等到發現媒介idle, 以p的機率重送 • Non-persistent CSMA:亂數延遲一段時間

  24. CSMA/CD (Collision Detection) CSMA/CD:載波偵測(carrier sensing), 如CSMA一般會延遲傳送 • 會偵測碰撞 • 發生碰撞就取消傳送, 發出訊號告知其他節點, 可降低頻道的浪費 • 以persistent或是non-persistent的機制重送

  25. CSMA/CD碰撞偵測

  26. “輪流”的MAC協定 輪詢Polling: • 主節點邀請其他節點以輪流的方式傳送 • 利用RTS/CTS訊息 Token passing: • 節點輪流保管token • 拿到token可以傳送封包

  27. MAC位址 (實際位址) • 在同一網路中,實際互連的設備用來通訊的位址 • 網路卡的ROM中紀錄著48位元的MAC位址 • 每一張網路卡有唯一的MAC位址 • MAC位址的分配由IEEE管理 • 製造商使用部分的MAC位址以保證唯一性 • MAC位址是平面的,所以網路卡可以拿到任意網路下使用。 • 相反的,IP位址是階層式的,和所連接的網路有關

  28. MAC位址

  29. ARP 協定 • 已知IP位址, 想推知MAC位址(實際位址) • A會對網路廣播ARP查詢封包, 裡頭包含B的IP位址 • 在區域網路中的節點都會收到此一查詢封包 • 當B收到此一封包, 就回覆自己的MAC位址(實際位址)給A • 如果B不在區域網路中, 則gateway會回覆自己的MAC位址給A • A會儲存IP和MAC位址對應的關係

  30. 繞路到其它LAN A R B

  31. 繞路到其它LAN • A(111.111.111.111)有IP封包要傳送到B(222.222.222.222) • A利用ARP查詢R(111.111.111.110)的MAC位址 • A以R的MAC位址為目的地端, 產生Ethernet訊框 • A的資料傳輸層傳送Ethernet訊框 • R的資傳輸層接收Ethernet訊框 • R發現Ethernet訊框是包含要到B的datagram • R利用ARP去找到B的MAC位址 • R以B的MAC位址為目的地端, 產生Ethernet訊框

  32. 乙太網路(Ethernet) 是最主要的區域網路技術 • 價格低廉, 廣泛使用的LAN • 簡單, 比其他LAN技術更廉價 • 有10, 100, 1000 Mbps Metcalfe’s Etheret sketch

  33. Ethernet 訊框結構 網路卡會把IP封包封裝成Ethernet訊框 Preamble: • 在10101011之後有7個位元組的10101010 • 用來同步傳送端和接收端的clock rate

  34. Ethernet 訊框結構 • Addresses: 6個位元組, 48-bits • Type:表示上一層的協定, 通常是IP • CRC:接收端會檢查此一欄位, 如果錯誤就會丟棄此一訊框

  35. CSMA/CD 如果A聽到頻道是idle then { transmit and monitor the channel; If detect another transmission then { abort and send jam signal; update # collisions; delay as required by exponential backoff algorithm; goto A } else {done with the frame; set collisions to zero} } else {wait until ongoing transmission is over and goto A}

  36. CSMA/CD Jam Signal:用來保證所有的節點都知道發生碰撞, 48 bits Exponential Backoff: • 用來調節何時重送的機制 • 第一次發生碰撞: 從{0,1}中選出K; 延遲時間等於 K x 512位元的傳輸時間 • 第二次發生碰撞: 從{0,1,2,3}選出K • 直到第十次以後, 固定從{0,1,2,3,4,…,1023}選出K

  37. Ethernet: 10Base2 • 10: 10Mbps • 2: 佈線最長可達200公尺 • 線材:同軸線 • 拓撲:匯流排 • Segment之間可用repeater加以連接 • Repeater功用在於加強和修補收到的訊號, 再送出去, 屬於第一層(實體層)的網路設備

  38. Ethernet: 10Base2

  39. 10BaseT/100BaseT • 10/100 Mbps • 100Mbps又稱為fast Ethernet • T表示雙絞線(Twisted Pair) • 使用hub技術 • 運用在星型拓撲 • 在hub上實作CSMA/CD • 節點到hub的最長佈線長度為100公尺

  40. Hub

  41. GigaBit Ethernet • Ethernet標準訊框 • 允許點對點連線和共享廣播頻道 • 在共享模式中, 節點間的距離較短 • 使用稱作“Buffered Distributors”的hub • 點對點連線是全雙工的1G bps

  42. Token Passing: IEEE802.5 • 4 Mbps • 最長token擁有時間: 10 ms, 限制訊框的長度 • SD/ED 表示封包的開始/結尾 • AC: access control byte: • token bit: 0:表示token可以被使用, 1:表示資料是根據FC • priority bits:封包的優先權 • reservation bits: 優先權較高的節點可以利用此一位元防止優先權較低的節點拿到token

  43. Token Passing: IEEE802.5 • FC: frame control • source, destination address: 48 bit 實際位址 • checksum: CRC • FS: frame status: 由目的地端設定 • 告知傳送端已經收到 • DLC-level ACKing

  44. 集線器 (Hub) • 實體層的設備: 可視為repeater的變形, 重複訊號給所有的介面 • Hub可以架設成階層式, 節點都在同一碰撞區域內 • 優點 • 簡單, 便宜, 容易佈置 • 延長佈線的長度限制

  45. 集線器的限制 • 訊號碰撞區域的相同效能並沒有提升 • 相同的碰撞區域一樣會限制住可加入LAN的節點數目 • 無法和其他Ethernet技術相連 • 如 10BaseT和100 BaseT

  46. 橋接器(Bridge) • 鏈結層的設備: 檢查Ethernet訊框的標頭, 決定要送往的目的地 • Bridge可以分割碰撞區域(collision domain) • 優點 • 分割碰撞區域可以增加效能並且沒有節點數目的限制 • 可連接不同Ethernet技術的網路 • 通透性:對網路卡來說, 不必知道bridge的存在 • 同一segment的封包不會透過bridge流到外面

  47. Backbone Bridge

  48. Bridge Filtering • Bridges會學習並維護filtering table • 從進來的訊框學習傳送者的位置(LAN segmant) • 紀錄在filtering table中 • filtering table裡的一項包含 • (節點的MAC位址, Bridge介面, 時間戳記) • 超出時間會被丟棄(60分鐘)

  49. Bridge Filtering • filtering procedure: if destination is on LAN on which frame was received then drop the frame else{ lookup filtering table if entry found for destination then forward the frame on interface indicated; else flood; /* forward on all but the interface on which the frame arrived*/ }

  50. Bridge如何學習 假設C送訊框給D, 然後D回覆給C

More Related