Try   HackMD

Ethernet 乙太網路

tags: Technology Communication

分類

  • 區域網(LAN)
    • 有線區域網
      • 乙太網 (Ethernet)
      • 令牌環 (Token-ring)
      • FDDI
    • 無線區域網 (WLAN)
      • WIFI
    • 虛擬區域網 (VLAN)
  • 藍芽
  • 網際網路

簡介

IEEE 802.3標準為乙太網路的技術標準,為目前應用最普遍的區域網路技術。:smiley:

歷史

發明於1976年,起源於Xerox公司的Bob Metcalfe,當年他發表了一篇名為〈乙太網路:區域電腦網路的分散式封包交換技術〉的文章。
1979年,Metcalfe離開了Xerox成立了3Com公司,並成功遊說Intel、Xerox等公司。
1980年,提出乙太網路的通用標準,取代當時其他的非公用網路標準Token-Ring和ARCNET,成為區域網路的主流 :+1::+1::+1:

1990年代以前的技術

同軸電纜 Coaxial Cable / 附加單元介面 AUI

最初的乙太網路採用同軸電纜(Coaxial Cable)連結各個節點,電腦再透過Attachment Unit Interface(AUI)的收發器連結到纜線上。

MAC address

每個節點都會被分配一個48-bits(6-bytes)的MAC address,可以指示每個data packet的來源及目的

MAC位址: 像是身分證字號,轉接卡不管到哪裡MAC都不會變
IP位址: 像是郵政地址,移動就會變

共用媒介 Shared Media

多個終端系統直接連接到纜線上,其中所有的終端系統都可以收到其他終端系統所傳送的任何資料,Coaxial cable扮演廣播(Broadcast)的媒介。而乙太網路採用CSMA/CD(carrier sense multiple access with collision detection)規定共享通道的方法。

中繼器 Repeater/ 集線器 Hub

因為訊號的衰減與延遲,乙太網路有距離限制,Repeater可以增加訊號強度再傳送到下一段,增加傳輸的最大距離。
後來(1990年代晚期)發現星狀拓樸(star topology)最有效,因此開始研製多埠的集線器(Multiway Repeater),此即為集線器 (hub)。使用hub的乙太網路也是一種廣播LAN:集線器收到的位元,會送到其他所有的介面。

現代乙太網路

UTP / RJ45

後來有不同的實體介面,如:光纖(Optical fiber)、雙絞線(Twisted pair)等。其中無遮蔽雙絞線(Unshielded twisted-pair cables, UTP)取代同軸電纜成為主流。UTP由四對不同顏色的傳輸線互相纏繞所組成,被廣泛用於電腦網路,但由於使用過長的UTP電纜傳輸資料會引致訊號衰減問題,但其價格較光纖和同軸電纜低,因此UTP主要用作短途傳輸,一般不多於100米。

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

RJ45也取代AUI成為電腦跟雙絞線之間的連接器插頭,也被稱為8P8C(8 position 8 contact)意思是8個位置(Position,指8個凹槽)、8個觸點(Contact,指8個金屬接點):heart_eyes_cat:

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

交換器 Switch

2000早期,乙太網路仍使用star topology但hub被更換成交換器switch,10BASE-T和以後的標準皆為全雙工乙太網路。交換器在記錄了每個埠的MAC位址以後,他就只把非廣播資料傳送給特定的目的埠,從此CSMA/CD不再扮演關鍵角色。

雙絞線類型 (Twisted pair)

由兩條相互絕緣的導線按照一定的規格互相纏繞(一般以順時針纏繞)在一起,兩條線搭載著相同但相反的訊號,受到相同的noise干擾,在receiver端對這兩條做相減,noise就會被cancel掉。有許多類型:

Name Bandwidth Application Notes
Cat5 100MHz 100BASE-TX & 1000BASE-T 最常用的乙太網電纜
Cat5e 100MHz 100BASE-TX & 1000BASE-T & 2.5GBASE-T Cat5的增強版本
Cat6 250MHz 10GBASE-T & 5GBASE-T 仍為四對雙絞線、RJ45
Cat6A 500MHz 10GBASE-T Augmented Category 6

乙太網路類型

事實上,乙太網路有很多不同的技術可以選擇,從早期的1BASE5到現在的10GBASE-T,傳送速率越來越大,而各個技術都會有不同的傳送速率、傳輸介質、最大傳送距離。如:10BASE-T、1000BASE-LX、10GBASE-T等等。:heart_eyes:

命名規則

  • 開頭數字:傳送速率,10:10Mbits/s; 10G:10Gbits/s
  • BASE:基頻Baseband,幾乎所有802.3標準都是基頻乙太網路
  • T:Twisted pair; X:有X通常代表光纖,如:1000BASE-SX、-LX、-BX10 ; 5:若為數字則代表傳輸距離,再乘100公尺

常見類型

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

  • 10BASE-T:1991
  • 100BASE-T:1995, IEEE802.3u
  • 1000BASE-T:1999, IEEE802.3ab

這三個都使用相同的接頭RJ45,並都在長達100公尺以上的距離以上正常運作

10 Gigabit Ethernet (10GbE/10GE)

其實IEEE802.3 task group發布了各種10G的標準,包括光纖、同軸電纜、雙絞電纜等等,其中:

  • 10GBASE-T:又被稱為IEEE802.3an標準,在2006年發布。CAT6的傳輸距離可達55米,而 CAT6A可達到100米

然而隨著IEEE802.11ac快速WiFi的發展,1000BASE-T提供的傳送速率不足,而10GBASE-T又不支援在建物中CAT5e電纜,因此而衍伸出在GbE跟10GbE之間的中間速度。:v::v::v:

  • 2.5GBASE-T
  • 5GBASE-T

2016/9/23,訂定了IEEE802.3bz,包含了2.5GBASE-T和5GBASE-T的標準。PHY層的傳輸技術是以 10GBASE-T為基準,但工作在一個比較低的發送信號速率。傳輸速率分別下降到2.5或5Gbit/s。訊號的頻寬也相對減少,降低了布線的要求,以便可以部署在分別為Cat5e和Cat6長度為100米的UTP上。

Ethernet Frame 乙太網路訊框結構

類型

Ethernet frame有很多種類型

  1. Ethernet II framing (a.k.a DIX Ethernet): 最常見的Ethernet Frame
  2. Novell raw IEEE 802.3 non-standard variation frame
  3. IEEE 802.2 Logical Link Control (LLC) frame
  4. IEEE 802.2 Subnetwork Access Protocol (SNAP) frame

Structure

下圖為一個Ethernet packet(Physical layer),內部包含由IEEE 802.32定義的Ethernet frame(data link layer)

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

  • Preamble and start frame delimiter
    Preamble是由一連串的1和0交錯而成,所以7個bytes的preamble是7組10101010,此為用來"喚醒"接收端的轉接卡,並且將接收端與傳送端的時脈同步化。而start frame delimiter為10101011。

  • Header
    包括MAC destination, MAC source, 802.1Q tag和乙太類型欄位。
    乙太類型欄位可以讓乙太網路多工處理網路層協定,畢竟,除了IP之外還有其他種網路協定,而IP與其他網路層協定都各自擁有自己的編號。
    例如: 0x0800代表此Frame為IPv4資料報;0x0806代表一個ARP Frame;0x8100說明這是一個IEEE 802.1Q Frame;0x86DD說明這是一個IPv6 Frame。

  • Payload
    最大傳輸單位(Maximum Transmission Unit,MTU)為1500 bytes,所以如果資料量超過1500 bytes,就必須將此資料報分段,最小資料大小為46 bytes,所以當資料報小於46 bytes,Payload欄位就必須被填塞(pad)到46 bytes。

  • Frame Check Sequence(FSC)
    這邊我們使用32 bits的Cyclic Redundancy Check(CRC)去偵測Frame中的位元錯誤。

  • Interpacket Gap - Physical layer
    Packets之間的idle time。

Jumbo Frame 巨型影格

Payload超過IEEE 802.3標準所限制的1500位元組的Ethernet frame,很多1GbE或10GbE支援Jumbo Frame,通常其MTU為9000 bytes,但是Jumbo Frame尚未成為官方的IEEE 802.3乙太網標準的一部分。

Reference

  1. Computer Networking: A Top-Down Approach 6/E
  2. https://zh.wikipedia.org/wiki/以太网
  3. https://zh.wikipedia.org/wiki/非屏蔽雙絞線
  4. https://zh.wikipedia.org/wiki/8P8C
  5. https://zh.wikipedia.org/wiki/吉比特以太网#1000BASE-SX
  6. https://zh.wikipedia.org/wiki/双绞线以太网
  7. https://en.wikipedia.org/wiki/10_Gigabit_Ethernet
  8. https://zh.wikipedia.org/wiki/2.5GBASE-T_與_5GBASE-T
  9. http://opencourse.ncyu.edu.tw/ncyu/file.php/15/week03/乙太網路.pdf
  10. https://zh.wikipedia.org/wiki/双绞线
  11. https://en.wikipedia.org/wiki/Ethernet_frame
  12. https://zh.wikipedia.org/wiki/以太网帧格式
  13. https://hackmd.io/s/ByzISnSNQ