Download presentation
Presentation is loading. Please wait.
1
鍵結層 靜宜大學資工系 蔡奇偉 2006
2
大綱 乙太網路 (Ethernet) SLIP CSLIP PPP 與 PPPoE Loopback MTU 序列線產能的計算
3
乙太網路 (Ethernet) 1982年由 DEC、Intel 及 Xerox 所提出。 匯流排架構 採用 CSMA/CD 的存取方式。
資料傳輸率為 10Mbps, 100Mbps 或 1Gbps。 採用 48 位元的位址。 定義在 IEEE 標準。 封裝標準:RFC 894 與 RFC 1042
4
CSMA/CD Carrier Sense Multiple Access with Collision Detection(載波感應多重存取及衝突偵測)為傳統乙太網路的介質存取方法。在傳統的乙太網路上,實體上各站是以匯排流或是星型方式連接,在邏輯上,其連接方式都是匯流排。這表示傳輸介質是由各站所共享,任何一個時段只有一站能使用。這也表示,所有各站都可以收到由某站送出的訊框,只有真正的目的站才留下訊框,其他的則要丟掉。
5
我們如何確定在同一時問,二站不會同時使用呢?如果他們同時使用匯流排,則其訊框會在介質上碰撞。CSMA/CD 則是用來解決此一問題,其原理如下:
1.各站使用傳輸介質的權利相同 (多重存取) 2.某一站要送出訊框之前,需要先傾聽 (感測) 傳輸介質的使用狀況。如果傳輸介質上沒有資料,要送的站可以開始傳送 (載波感測) 3.有可能兩站同時感測到傳輸介質上沒有資料,而各自送出其訊框。若是這樣,則碰撞發生。協定規定,送出站要在開始送出後,繼續傾聽線路狀況。若有碰撞發生,所有站會感測到此碰撞,每個送出站接著送出一個代表壅塞的訊號;然後每個發生碰撞的站等待一隨機時問,之後再重送。此一隨機時問可避免同時重送之發生。
7
三個因素與 CSMA/CD 標準有關,分別是:最小訊框長度、資料傳輸率、和碰撞區間 (collision domain)。某一站要確定在線路上沒有資料所需的等待時間,等於最小訊框長度除以傳輸率。這個時間與第一個位元要旅行的最長網路距離 (即碰撞區間) 成正比。換言之,我們有 最小訊框長度/傳輸率 正比於 碰撞區間/傳播延遲時間 以傳統乙太網路而言,最小訊框長度 520 位元,傳輸率為10 Mbps,傳輸延遲速度幾乎等於光速,而碰撞區間大約為2500 的公尺。
8
IEEE 802.3 乙太網路的資料連接層有兩個子層:
LLC (logical link control, 邏輯連線控制子層 ) 負責資料連接層的流量及錯誤控制。 MAC (media access control, 介質存取控制子層) 負責CSMA/CD的運作。MAC負責將來自 LLC 的資料封裝成訊框,然後交給實體層做訊號的編碼。 實體層在傳輸介質上以電氣訊號傳送資料給下一站。另外,實體層偵測碰撞並回報碰撞給資料連接層。
9
SNAP Sub-network Access Protocol DSAP Destination Service Access Point SSAP Source Service Access Point
10
乙太網路封裝(RFC 894) 目的位址:有 6 個位元組,代表訊框接收者的實體位址。 來源位址:有 6 個位元組,代表訊框傳送者的實體位址。 長度/類別:如果本欄之值小於1518,則是訊框中的資料長度。如果大於1536,則是使用的網際網路上層協定。 資料:來自上層的資料,資料欄大小為 46 到 1500 位元組。如果上層資料不足 46 位元組,乙太網路會將其補足。如果超過 1500 位元組,上層協定必須將資料分段。 CRC 檢查碼:最後這個 4 位元組ㄎ欄位,用 CRC-32 的方式來做錯誤偵測。
11
乙太網路位址 乙太網路上的每一站台,如 PC、工作站、列表機都有自己的網路介面卡 (Network Interface Card, NIC)。NIC 安裝在站台內部,提供該站一個六位元組的實體位址。乙太網路位址是 48 位元。通常是以16 進位制以分號隔開的方式表示,如下所示: 07-OI C-4B 位址是一個位元組一個位元組送,從左到右,但是每個位元組由最低有效位元先送,最高有效位元最後送。
12
乙太網路位址有三類: 單點位址 (unicast address) 第一個位元組的最低有效位元為 0。 群播位址 (multicast address) 第一個位元組的最低有效位元為 1 廣播位址 (broadcast address) 廣播位址則為 48 個 1。 來源位址一定是單點位址。目的位址可為單點位址 (只有一個接收者)、群播位址 (一群接收者)、或是廣播位址 (連在LAN 上的所有接收者)。
14
SLIP (Serial Line IP) 用序列線來傳送 IP 資料報。 RFC 1055
IP 資料報之後加上特殊字元 END (0xc0)。 置換資料報中的字元 0xc0 和 0xdb (SLIP ESC): 0xc0 → 0xdb 0xdc oxdb → 0xdb 0xdd c0 db dc dd END IP 資料報
15
SLIP 的缺點 每一端都要知道其他端的 IP 位址。但是沒有方法讓一端通知其他端關於它的 IP 位址。
SLIP 不支援位元總和檢查。假如一條吵雜的電話線破壞了經由 SLIP 傳送的資料報,得傳送到較高層後才會被偵測出。
16
CSLIP (Compressed SLIP)
RFC 1144 IP 資料報包含 20 位元組的 IP 標頭與 20 位元組的 TCP 標頭。若原始資料大都是少量的位元組,則這些標頭顯然浪費掉大部分的頻寬。 兩端傳送資料時,這些標頭的大部分欄位常維持不變。 CSLIP 只傳送有變動的標頭欄位內容,藉此技巧把 40 位元組的標頭壓縮至 3 到 5 個位元組。 大幅度地提昇小包資料的傳送效率。
17
PPP (Point-to-Point Protocol)
提供序列連線的 IP 資料報封裝方法,PPP 支援 8 位元資料無同位元的非同步鏈結和或位元導向的同步鏈結。 鏈結控制協定 (Link Control Protocol, LCP) 用來建立、設定並測試資料鏈結的連接,允許兩端協議不同的選項。 網路控制協定 (Network Control Protocol, NCP) 支援許多不同的網路層協定,如 IP、OSI 網路層、DECnet 以及AppleTalk 等等。 RFC 1548 說明封裝的方法和鏈結控制協定。RFC 1332 說明的網路控制協定。
18
PPP 框架的格式 最多 1500 位元組
19
處理資訊欄中的旗標值 0x7E 同步傳輸採用以下的 bit stuffing 技巧:
21
非同步傳輸採用以下的字元置換技巧: 1. 把要置換掉的字元的第 6 個位元改成其補數。
7 6 5 4 3 2 1 8 0 → 1, 1 → 0 2. 在要置換掉的字元之前加上 ESC 字元 0x7d。 3. 置換以下的字元: 0x7e, 0x7d, 以及小於 0x20 的所有 ASCII 控制字元。譬如: 0x7e → 0x7d, 0x5e 0x7d → 0x7d, 0x5d 0x01 → 0x7d, 0x21
23
PPP 優點 在序列線上支援了多種協定,不只是 IP 資料報。 每個框架上都有 CRC 檢查。
能夠動態協商各端的 IP 位址(使用IP網路控制)。 TCP 和 IP標頭以類似 CSLIP 的方式壓縮。 透過鏈結控制協定可以協商許多資料鏈結的選項。 獲得這些功能所付的代價是:每個框架多用 3 個位元組、建立鏈結時需要一些協商用的框架,以及較為複雜的實作 (implementation)。
24
回溯介面 (Loopback Interface)
絕大部分的實作都支援回溯介面 ( loopback),它讓用戶端和伺服端能夠在同一台主機上用 TCP/IP 溝通。A 級的網路 ID 127 就是保留給回溯介面,所以在慣例上,大多數的系統都會指定 的位址給回溯介面,並指定它的名稱為 localhost (表示本機)。一個傳送給回溯介面的 IP 資料報,不會出現在其他任何的網路上。
25
大部分的 loopback 實作都在傳輸層和網路層完成所有的資料處理,然後在資料報離開網路層底部時,IP 資料報才會循環回給它自己。
傳輸層和 IP 層完整地處理回溯資料,這種做法似乎沒有效率,然而卻能簡化設計,因為回溯介面對於網路層來說僅僅是另一個鏈結層。網路層把資料報如同對其他鏈結層一般地傳給回溯介面,然後回溯介面再把資料報放回 IP 的輸入佇列。
27
MTU (最大傳輸單位) Maximum Transmission Unit 大多數的網路類型對於框架的大小都有其上限。
假如 IP 資料報比鏈結層的 MTU 還大,IP會執行分段 (fragmentation ),把資料報分成較小的區塊或稱小段( fragment ),讓每個小段比 MTU 小。
29
路徑 MTU 同一網路中的兩台主機互相通訊時,只需考慮此網路連線的 MTU。
跨網路的兩台主機互相通訊時,封包將經過若干不同的網路連線,其中最小的 MTU 稱為路徑 MTU (path MTU)。 路徑 MTU 不是固定值,而是依路由 (route) 而定。 路徑 MTU 是不對稱的,即主機 A 到主機 B與主機 B 到主機 A 兩者的路徑 MTU 可能不相同。
30
序列線產能的計算 假如數據線的速度是 9600 位元/秒,加上一個開始和一個結束的位元,那纜線的速度就是 960 位元組/秒。以這種速度傳送一個1024位元組的封包需要 1066ms,假如我們使用SLIP 鏈結來互連兩個應用程式如 FTP來收送 1024 個位元組的封包,平均要耗費 533ms (1066ms 的一半) 在等待傳送彼此間的交談封包( interactive packet)。 等待 553ms 對交談式回應來說是無法忍受的,人類行為研究指出,超過 ms 的交談反應時間並不理想。交談反應時間是指傳送封包與接收回應的往返時間。
31
減少 SLIP 鏈結的 MTU 為 256,意味著傳送一個框架的最長時間是 266ms,以及平均等待時間降為它的一半 (133 ms) 。這顯然有所改善,但是仍不夠完美。我們選擇這個值 (相較於64或128) 的理由是對大量資料傳輸 (像較大的檔案傳輸) 提供較好的使用率。假設在一個 261 位元組的框架中,有 5 個位元組的 CSLIP 標頭,256 個位元組的資料,則 98.1% 分給資料,1.9% 分給標頭,算是一個不錯的使用率。若減低 MTU到 256 以下,就減少我們傳輸大量資料的最大產能。
Similar presentations