Ethernet 網路 & 資料連結層
IEEE 802 規範OSI中的實體層與資料連結層 IEEE 802.1 – IEEE 802.19 IEEE 802.3:EtherNet IEEE 802.4:Token Bus IEEE 802.5:Token Ring
EtherNet 目前使用最普遍的網路架構 DIX (EtherNet 2.0) 與 IEEE 802.3兩個標準 訊號的存取採用CSMA/CD機制 CS:Carrier Sense 載波感測 MA:Multiple Access 多重存取 CD:Collision Detection 碰撞偵測
CSMA/CD 工作原理 乙太網路上,一次只能有一台電腦的封包在傳輸,使用廣播方式傳送。
資料碰撞(Collision) 萬一有多台電腦同時送出資料, 則會產生『碰撞』(Collision)。 發生碰撞時, 所有電腦會休息一段時間 ( Backoff ) 再搶送資料(CD)。 若又發生第2次碰撞, 則每台電腦的休息時間會加長, 連續16次後便放棄傳送。
CSMA/CD協定
EtherNet網路 4 大特色 先搶先贏。 一山不容二虎。 同歸於盡。 先斬不奏。
MAC 位址的用途 乙太網路採用『廣播』(Broadcast)方式傳送封包。 封包一旦送出去, 網路上的所有電腦, 無論是否為傳送對象, 都會收到此封包。 為了使每一部電腦都能知道自己是否為傳送的對象, 因此每張 Ethernet 網路卡都編有一個獨一無二的『MAC ( Media Access Control ) 位址』。
MAC 位址的原理 每個封包都會記載『來源 MAC 位址』和『目的 MAC 位址』。 若非傳送的對象, 便丟棄此封包;若是傳送的對象, 便繼續處理此封包。
MAC 位址的規格 每一片 Ethernet 網路卡出廠前, 就已經將 MAC 位址寫在網路卡的 ROM 或 EEPROM 裡。 MAC 位址以 6 Bytes 表示, 前 3 個 Bytes 為廠商代號,後3個Bytes為產品流水號。 全世界任何兩片乙太網路卡都不會有相同的 MAC 位址。 Ipconfig/all
EtherNet 2.0訊框格式定義
EtherNet訊框格式 資料訊息 資料訊息 TCP標頭 資料訊息 TCP標頭 IP標頭 資料訊息 TCP標頭 IP標頭 標尾
Preamble (前序) 前 7 個 Byte 由一串101010循環字串所構成,功用是使訊號同步。 第 8 個 Byte(在 802.3 封包中稱為 SFD 欄位)的資料是10101011,代表前序結束與訊框開始,才會被網路設備(包括網路卡、集線器等等)視為封包內容、開始解讀。
Destination Address (目的位址) 記錄此封包的目的 MAC 位址。 前 3 Bytes 為廠商代號, 後 3 Bytes 為流水號。 『0xFFFFFFFFFFFF』(全部 Bit 都是 1)這個位址特別稱為『廣播位址』, 代表所有的接收端都必須處理這個封包
Source Address (來源位址) 記錄此封包的來源 MAC 位址。 此欄位必定是指某個特定的 MAC 位址, 不可能是廣播位址。
Type (協定種類) 以代碼指定上層(網路層)所採用的協定。 例如0x0800代表IP、0x8137 代表 IPX。 因網路層可能同時安裝 TCP/IP、IPX、NetBeui 等多種協定, 此欄位便指出應傳給上層的哪一種協定處理。
Data (資料) 也就是 Payload。 長度為 46 Bytes 到 1500 Bytes。 不足46 Bytes填入0
FCS(Frame Check Sequence, 訊框檢查序列) 記錄著由硬體(網路卡)自動產生的 CRC (Cyclic Redundancy Check) 值。 將來接收端收到封包時, 也會產生一個 CRC 值, 並比對兩個 CRC 值是否相符, 以判斷封包是否完整無損。
802.3 訊框的欄位定義
如何決定採用何種封包格式? 並非由使用者決定, 而是要配合上層的協定和下層的網路卡驅動程式。 兩者與作業系統關係密切。 以 Windows 2000 為例, 對於 IP 和 ARP, 可以同時支援 Ethernet 2.0 和 802.3 兩種格式的封包, 可是在 NetBIOS、AppleTalk 則採用 802.3 格式的封包。
Ethereal軟體
EtherNet 2.0 訊框擷取與解析