MAC幀格式
對于MAC幀格式則是從“目標物理地址”開始至“幀校驗”結束為一完整的MAC幀。如下圖4所示為MAC的完整幀,包括目標物理地址,源物理地址,類型/長度,數據以及幀校驗CRC組成。
圖4 MAC完整幀格式特別地,如圖中4所示,“ VLAN Tag” 字段可選,當沒有VLAN Flag則為Basic MAC幀,當存在該字段時,則為VLAN MAC幀,即MAC幀可分為基本MAC幀(無VLAN)和標記MAC幀(包括VLAN)兩種。
其中“ 類型 ”字段通常可以為以下幾種類型,且該類型列表由IEEE組織來維護,如下表3所示列舉了車載以太網領域常用的Ethernet Type:
表3 車載以太網常用類型MAC尋址方式
MAC地址作為每個以太網接口的固定地址,一般由供應商出廠就固定下來不可更改。地址長度為 6Byte ,例如00-17-4F-08-78-88,其中前3個字節為組織編號,如下圖5所示為MAC地址的尋址方式以及字節定義:
圖5 MAC尋址方式(來源:Vector)如上圖所示:前3個字節為組織唯一標識號,由IEEE分配給到網卡生產廠商,其中Byte5/Bit1表示該MAC地址是全球地址還是本地地址,Byte5/Bit 0 用于表示該幀為組播MAC地址,單播地址還是廣播地址;
- 0:單播地址(1對1),普通終端設備接收;
- 1:組播地址(1對多),僅交換機會接收,普通終端設備不會接收;
- 48個bit全為1:表示為廣播地址,所有設備均會接收;
MAC VLAN
VLAN作為一種分割廣播域的技術手段,能夠有效降低網絡不必要的開銷,全稱為 虛擬局域網技術 。該技術分割廣播域的方法有很多種,在此僅簡要介紹下基于MAC的動態VLAN技術,如下圖6所示:
圖6 基于MAC的動態VLAN技術(來源 Vector)如上圖所示,ECU1與ECU2被劃分為屬于同一VLAN1,而ECU2與ECU4則被劃分為屬于同一VLAN2。只需要提前配置好各ECU所屬的VLAN即可,基于MAC的VLAN的優點在于即使換了連接端口或者交換機都可以自動重新識別,不需要重復進行配置,主要用于DHCP或者ARP協議發送廣播幀的場景。
正如前面所述MAC幀可分為基本MAC幀(無VLAN)和標記MAC幀(包括VLAN)兩種,而如果為如果時標記MAC幀,那么就會使用到VLAN Tag,同時“數據”字段的最小長度為不帶VLAN標記的46Byte與帶VLAN標記的42Byte,因為VLAN Tag占用了4個字節,最大數據長度均為1500Byte。
如下圖7所示則為VLAN Tag的含義說明:
圖7 VLAN Tag定義說明 (來源:Vector)如上圖7所示,VLAN Tag總共可以分為以下3個部分:
- PRI(3Bit): 幀優先級,就是通常所說的802.1p;
- CFI(1Bit): 規范標識符,0為規范格式,用于802.3或Ethernet II以太網幀;
- VLAN ID: 就是VLAN的標識符ID;
網絡層
網絡層就是IP協議所在的層級,IP協議可以分為IPV4以及IPV6,常用的主要是IPV4,IP協議的主要作用就是基于IP地址轉發分包數據。
同時IP也是一種分組交換協議,但是IP卻不具備自動重發機制,即使數據沒有達到目的地也不會進行重發,所以IP協議屬于非可靠性協議。
車載以太網主要使用IPV4協議,同時由于該協議也屬于傳統以太網范疇,所以不會對該模塊做過多細節性闡述。
IPV4協議頭
圖8 IPV4協議頭由上可知, IP首部為20Byte 。
該協議頭的各部分解釋如下圖:
圖9 IPV4 協議頭信息表IPV6協議頭
圖10 IPV6 協議頭需要注意的是IPv6 數據報文是 IPv4 的 4 倍,IPv6 數據報文主要由兩個部分組成:Header(首部)和 Payload(負載)。其中,IPv6 Header 的大小是 IPv4 的 2 倍。該協議頭的各部分解釋如下圖:
圖11 IPV6協議信息表
傳輸層
傳輸層的協議就是 TCP/UDP ,這兩者協議彼此獨立,也可以同時存在,看具體使用場景需求。TCP/UDP作為傳統以太網的標準協議,在這里同樣不做過多展開,僅整體介紹下TCP與UDP的特點及區別。
TCP協議
-
TCP協議頭
圖12 TCP協議頭如下圖13所示為TCP協議頭的字段解釋:
圖13 TCP協議頭信息表* TCP建立連接過程
TCP是面向連接的可靠的網絡通信,因此要通信雙方建立通信連接,必須經過我們常說的“ 三次握手 ”才能夠開啟以太網通信,如下圖14所示為TCP的“三次握手”連接過程。
圖14 TCP ”三次握手“過程
- TCP斷開連接過程
TCP已經連接的雙方如果需要斷開,則需要 “四次揮手“ 來完成此過程”,如下圖15所示:
圖15 TCP”四次揮手“過程* TCP協議特點
從上述的TCP建立連接以及斷開連接的過程,不難得出TCP是一種面向連接可靠的傳輸層協議。具體總結有以下一些特點:
- 面向無連接,即不需要建立連接便可以直接進行通信;
- 存在單播,多播,廣播的功能;
- UDP是面向報文的,UDP的報文報經過IP層不會進行任何拆分或重組;
- 不可靠性:由于沒有像TCP的擁塞控制以及出錯自動重傳等機制,則會導致發送的報文無法保證接收方是否收到,因為網絡本身就存在諸多的不確定性;
UDP協議
UDP全稱為用戶數據包協議,在網絡中與TCP協議一樣用來處理數據包,是一種無連接的協議。同時UDP有不提供數據包分組、組裝和不能對數據包進行排序的缺點,也就是說,當報文發送之后,是無法得知其是否安全完整到達的。
UDP協議頭
如下圖所示為UDP 協議頭的組成:
圖16 UDP協議頭如上圖所示, UDP首部為8Byte 。
各字段的具體含義如下表所示:
圖17 UDP協議字段信息表* UDP協議特點
對比TCP協議,UDP具備以下一些特點:
- 面向無連接,即不需要建立連接便可以直接進行通信;
- 存在單播,多播,廣播的功能;
- UDP是面向報文的,UDP的報文報經過IP層不會進行任何拆分或重組
- 不可靠性:由于沒有像TCP的擁塞控制以及出錯自動重傳等機制,則會導致發送的報文無法保證接收方是否收到,因為網絡本身就存在諸多的不確定性;
TCP與UDP區別
如下圖所示,較為清晰的解釋了TCP與UDP兩者之間的區別,這讓我們選擇何種傳輸層協議提供了判斷標準。
圖18 UDP與TCP區別關系表
- TCP向上層提供面向連接的可靠服務 ,UDP向上層提供無連接不可靠服務;
- 雖然 UDP 并沒有 TCP 傳輸來的準確,但是也能在很多實時性要求高的地方有所作為;
- 對數據準確性要求高,速度可以相對較慢的,可以選用TCP。
應用層
在車載以太網領域,目前主流涉及到的應用協議主要有UDP-NM,DOIP,Some/IP,SD以及傳統以太網需配合支持的ICMP,ARP,DHCP等協議。
在本文我不會針對這些協議具體展開,因為每種協議內容不少,后續會專門針對這些應用層協議給大家講解分享,敬請大家多多關注。
-
IEEE
+關注
關注
7文章
378瀏覽量
46897 -
Mac
+關注
關注
0文章
1099瀏覽量
51377 -
寶馬
+關注
關注
7文章
753瀏覽量
32440 -
車載以太網
+關注
關注
18文章
218瀏覽量
22948
發布評論請先 登錄
相關推薦
評論