什么是车载以太网_车载以太网结构
目錄
1.車載以太網(wǎng)概述
2. 物理層 PHY
2.1 總體說明
2.2 物理層架構(gòu)
2.3 物理層控制器的架構(gòu)
2.4 物理層編碼原理
3. 鏈路層 MAC
3.1 MAC控制器架構(gòu)
3.2 MAC地址
3.3 數(shù)據(jù)傳輸
3.4 MAC幀格式
4.網(wǎng)絡(luò)層
4.1 IP地址
4.2 IP協(xié)議
4.3 ICMP協(xié)議
4.4 ARP協(xié)議
5.傳輸層
5.1 端口與Socket
5.2 UDP
5.3 TCP
6.應(yīng)用層
6.1 DoIP
6.2 SOME/IP
6.3 DHCP協(xié)議
7. Autosar中的以太網(wǎng)協(xié)議棧
1.車載以太網(wǎng)概述
其中與車載以太網(wǎng)強(qiáng)相關(guān)的模塊有:
-
SOME/IP(Scalable Service-Oriented MiddlewarE over IP):是一種用于傳輸服務(wù)(Service)信息的基于IP的可伸縮中間件,能夠適應(yīng)基于不同操作系統(tǒng)的不同大小的設(shè)備,小到攝像頭,大到車機(jī)或自動(dòng)駕駛模塊;相比于傳統(tǒng)的CAN總線的面向信號(hào)的通信方式,SOME/IP是一種面向服務(wù)的通信方式。
-
DoIP:基于以太網(wǎng)的診斷傳輸協(xié)議,能夠?qū)DS進(jìn)行封裝并基于IP網(wǎng)絡(luò)進(jìn)行傳輸;應(yīng)用于車輛檢查和維修、車輛或ECU軟件的重編程、車輛或ECU的下線檢查和維修等,其主要工作原理類似于Diagnostic over CAN(或稱為DoCAN)。
-
XCP:XCP on Ethernet能夠基于以太網(wǎng)進(jìn)行車載控制器的標(biāo)定,主要用于標(biāo)定、測(cè)量、少量的編程和刷新(大部分刷新會(huì)利用診斷協(xié)議)、ECU旁路功能等。
-
UDPNM:是AUTOSAR組織制定的基于汽車以太網(wǎng)的網(wǎng)絡(luò)管理協(xié)議,能夠有效的實(shí)現(xiàn)車載以太網(wǎng)節(jié)點(diǎn)的協(xié)同睡眠和喚醒,其主要工作原理類似于AUTOSAR的CAN NM
其中與傳統(tǒng)以太網(wǎng)最核心區(qū)別是物理層車載以太網(wǎng)要用 100BASE-T1,而非100BASE-TX,下面依次介紹與車載相關(guān)的各層。
2. 物理層 PHY
2.1 總體說明
物理層PHY:數(shù)據(jù)傳送與接收所需要的電與光信號(hào)、線路狀態(tài)、時(shí)鐘基準(zhǔn)、數(shù)據(jù)編碼和電路等,并向數(shù)據(jù)鏈路層設(shè)備提供標(biāo)準(zhǔn)接口;
數(shù)據(jù)鏈路層MAC:提供尋址機(jī)構(gòu)、數(shù)據(jù)幀的構(gòu)建、數(shù)據(jù)差錯(cuò)檢查、傳送控制、向網(wǎng)絡(luò)層提供標(biāo)準(zhǔn)的數(shù)據(jù)接口等功能。
100BASE-T1在物理連接上使用了一對(duì)雙絞線實(shí)現(xiàn)全雙工的信息傳輸,而100BASE-TX則使用了兩對(duì)雙絞線實(shí)現(xiàn)全雙工,一對(duì)用于收,另一對(duì)用于發(fā)。
100BASE-T1利用所謂的回音消除技術(shù)(echo cancellation)實(shí)現(xiàn)了在一對(duì)雙絞線上的全雙工通信。
回音消除技術(shù)的主要過程:作為發(fā)送方的節(jié)點(diǎn)將自己要發(fā)送的差分電壓加載到雙絞線上,而作為接收者的節(jié)點(diǎn)則將雙絞線上的總電壓減去自己發(fā)出去的電壓,做減法得到的結(jié)果就是發(fā)送節(jié)點(diǎn)發(fā)送的電壓。
車載以太網(wǎng)固定為全雙工通信方式,出于對(duì)汽車啟動(dòng)時(shí)間的考慮而沒有引入自動(dòng)協(xié)商機(jī)制,此外車載以太網(wǎng)是通過單對(duì)非屏蔽或屏蔽電纜連接。
2.2 物理層架構(gòu)
物理層主要作用:
1)定義硬件接口;
2)定義信號(hào)與編碼;
3)定義數(shù)據(jù)與信號(hào)之間的轉(zhuǎn)換收發(fā);
物理層基本架構(gòu)
主要包括PMD,PMA和PCS。
PMD,介質(zhì)依賴層,主要職責(zé)是轉(zhuǎn)換PMA的數(shù)據(jù)與實(shí)際網(wǎng)絡(luò)上的信號(hào)。發(fā)送時(shí),它從PMA讀取數(shù)據(jù)并執(zhí)行實(shí)現(xiàn)該功能所需的必需的低級(jí)行編碼功能設(shè)計(jì)的媒介。接收時(shí),它會(huì)讀取并解釋這些內(nèi)容編碼信號(hào),然后將它們轉(zhuǎn)換回位以發(fā)送到PMA。
PMA,介質(zhì)連接層,結(jié)余PMA和PCS之間,其中PMD是按照bit串行處理方式,而PCS則是按照數(shù)據(jù)塊處理方式,因此PMA則是起到中間轉(zhuǎn)換的作用,此外還起到數(shù)據(jù)沖突檢測(cè)的功能。
PCS,編碼子層,主要進(jìn)行初始編碼,實(shí)現(xiàn)特定于以太網(wǎng)速度和傳輸介質(zhì)要求的子層中的一部分。
2.3 物理層控制器的架構(gòu)
其中,MDI , Medium Dependent Interface。MIIMedium Independent Interface,MIIM主要用于寄存器的配置管理。
我們這里需要注意的是RXD 和TXD都是4個(gè)數(shù)據(jù)。
2.4 物理層編碼原理
首先總線上的電平信號(hào)有,-1 0 和 1如圖:
數(shù)據(jù)和電平的編碼轉(zhuǎn)換關(guān)系有如下表關(guān)系:
如數(shù)據(jù) 000 對(duì)應(yīng)兩根線上的電平為 -1 01 ,
主要數(shù)據(jù)到電平轉(zhuǎn)換過程為以下四步:
1.首先從MII接收到數(shù)據(jù)(4bit 4bit…)
2.接下來分割成(3bit 3bit…)進(jìn)行處理;
3.根據(jù)上表,電平與數(shù)據(jù)編碼的關(guān)系,轉(zhuǎn)換為電平信號(hào);
4.將電平信號(hào)發(fā)到總線。
一個(gè)案例說明以上的轉(zhuǎn)換過程:
100Mbps 速度的由來:
在微控制器的每個(gè)時(shí)鐘周期中,MII接口到來的數(shù)據(jù)是4個(gè)bit,PHY從MII接口收到數(shù)據(jù)后,會(huì)首先進(jìn)行一個(gè)4B3B的轉(zhuǎn)換,為了匹配25MHz * 4bit = 100Mbit/s的速率,PHY的MII接口時(shí)鐘周期應(yīng)該是33.3333M,每次接收3bit,也實(shí)現(xiàn)了33.3333M * 3bit = 100Mbit/s的速率。之后PHY要再進(jìn)行3B2T的操作,將每次接收到的3個(gè)bit轉(zhuǎn)化為2個(gè)電平值(取值范圍是-1,0,1),具體的對(duì)應(yīng)關(guān)系如上圖中的表所示。3個(gè)bit有8種組合(即2的三次方),兩個(gè)電平值有9種組成(即3的平方),所以后者可以覆蓋前者。此時(shí)時(shí)鐘周期仍然是33.333M,但是每個(gè)時(shí)鐘周期中的兩個(gè)電平就能夠表示3個(gè) bit了,所以此時(shí)的數(shù)據(jù)速率仍然是100Mbit/s,每個(gè)電平實(shí)際上包含了1.5bit信息。最后一步是PAM3,將邏輯的-1,0,1轉(zhuǎn)化為在雙絞線上的電壓,所以,最終在總線上信號(hào)的波特率是66.666MHz,但是它實(shí)現(xiàn)了100Mbit/s的通信速率。
3. 鏈路層 MAC
MAC層主要內(nèi)容,
1) 尋址
2) 傳輸方式
3) 幀格式
3.1 MAC控制器架構(gòu)
其中比較關(guān)鍵的是MII 和 MIIM 與PHY接口連接。
數(shù)據(jù)發(fā)送,MAC協(xié)議會(huì)判斷當(dāng)前是否適合發(fā)送數(shù)據(jù),若能,它會(huì)在將要發(fā)送的數(shù)據(jù)上附加一些控制信息,最終使數(shù)據(jù)以規(guī)定的格式到達(dá)物理層;
數(shù)據(jù)接收,它會(huì)判斷數(shù)據(jù)是否有錯(cuò)誤,如果沒有錯(cuò)誤的話,它會(huì)去掉附加的控制信息發(fā)送至LCC(邏輯鏈路控制)子層。
SMI接口包括MDIO(控制和管理PHY以獲取PHY的狀態(tài))和MDC(為MDIO提供時(shí)鐘)。
MDC由MAC提供,MDIO是一根雙向的數(shù)據(jù)線。用來傳送MAC層的控制信息和物理層的狀態(tài)信息。
MDIO數(shù)據(jù)與MDC時(shí)鐘同步,在MDC上升沿有效。
3.2 MAC地址
在我們給別人聯(lián)系時(shí),我們往往需要知道對(duì)方的郵件地址或電話或住址,而以太網(wǎng)通信也是類似。因此需要通信的兩個(gè)設(shè)備,必須具有唯一標(biāo)識(shí)的MAC地址。
MAC地址長度為48bit、6byte,前三個(gè)字節(jié)是組織標(biāo)識(shí)ID,后三個(gè)字節(jié)是本地管理ID。
全局或本地地址U/L:第一個(gè)字節(jié)的第二位MAC地址的OUI字段(從右數(shù)第二低位開始計(jì)數(shù))被稱為U / L(通用/本地)標(biāo)志。 設(shè)為0時(shí),將MAC地址標(biāo)記為被普遍管理; 當(dāng)它是1時(shí),MAC地址是本地管理的。
單播與組播MAC地址I/G:OUI的第一個(gè)字節(jié)的第一個(gè)(最低有效)位MAC地址的字段,稱為I / G(個(gè)人/組)標(biāo)志。當(dāng)這個(gè)位設(shè)置為0,MAC地址是單個(gè)設(shè)備,并且消息是單播。設(shè)置為1時(shí),表示組地址(多播)。
廣播MAC地址:FF-FF-FF-FF-FF-FF
3.3 數(shù)據(jù)傳輸
主要介紹一下CSMA/CD 沖突檢測(cè)方法。
在以太網(wǎng)中,網(wǎng)絡(luò)不斷監(jiān)控(或感知)傳輸線,偵聽確定線路是否繁忙。任何設(shè)備聽到正在進(jìn)行的傳輸則禁止嘗試發(fā)送自己的消息,直到線路空閑為止。
它可以檢測(cè)到網(wǎng)絡(luò)上是否有數(shù)據(jù)在傳送,如果有數(shù)據(jù)在傳送中就等待,一旦檢測(cè)到網(wǎng)絡(luò)空閑,再等待一個(gè)隨機(jī)時(shí)間后將送數(shù)據(jù)出去。如果兩個(gè)碰巧同時(shí)送出了數(shù)據(jù),那樣必將造成沖突。這時(shí)候,沖突檢測(cè)機(jī)構(gòu)可以檢測(cè)到?jīng)_突,然后各等待一個(gè)隨機(jī)的時(shí)間重新發(fā)送數(shù)據(jù)。這個(gè)隨機(jī)時(shí)間很有講究的,并不是一個(gè)常數(shù),在不同的時(shí)刻計(jì)算出來的隨機(jī)時(shí)間都是不同的,而且有多重算法來應(yīng)付出現(xiàn)概率很低的同兩臺(tái)主機(jī)之間的第二次沖突
3.4 MAC幀格式
Preamble:7byte 幀前綴,主要用于幀設(shè)備之間的事件同步;
Start of frame delimiter:1byte,標(biāo)識(shí)幀開始
MAC destination :目標(biāo)MAC地址
MAC source : 源MAC地址
802.1Q Tag:是一個(gè)可選項(xiàng),主要用于VLAN,如在這個(gè)字段中定義VLAN的ID或優(yōu)先級(jí)等,未定義的則會(huì)自動(dòng)把該幀丟棄。
length:數(shù)據(jù)長度/payload長度
Payload:有效負(fù)載、數(shù)據(jù)
frame check :CRC
interframe gap :幀之間的間隔
4.網(wǎng)絡(luò)層
4.1 IP地址
主要作用為,尋址,數(shù)據(jù)封裝,路由。僅以IPV4說明
長度為4byte 32bit,每個(gè)字節(jié)用dot隔開,用十進(jìn)制表示。
192.168.0.1 ,其中加粗的前三個(gè)字節(jié)192.168.0 表示網(wǎng)絡(luò)ID,最后一個(gè)字節(jié) 1表示主機(jī)ID
網(wǎng)絡(luò)ID(網(wǎng)絡(luò)ID):一定位數(shù),從頭開始從最左邊的位開始,用于標(biāo)識(shí)主機(jī)或位于其他網(wǎng)絡(luò)接口。 有時(shí)也稱為網(wǎng)絡(luò)前綴,甚至只是前綴。
主機(jī)ID(主機(jī)ID):其余位用于標(biāo)識(shí) 網(wǎng)絡(luò)上的主機(jī)。
IP地址類別:
| 類別 | 默認(rèn)子網(wǎng)掩碼 |
|---|---|
| A類 | 255.0.0.0 |
| B類 | 255.255.0.0 |
| C類 | 255.255.255.0 |
A類地址第一字節(jié)為網(wǎng)絡(luò)ID,后三個(gè)字節(jié)為主機(jī)ID,范圍是1.0.0.1—126.155.255.254;
B類地址第一二字節(jié)為網(wǎng)絡(luò)ID,后兩個(gè)字節(jié)為主機(jī)ID,范圍是128.0.0.1—191.255.255.254;
C類地址前三個(gè)字節(jié)為網(wǎng)絡(luò)ID,最后一個(gè)字節(jié)為主機(jī)ID,范圍是192.0.0.1—223.255.255.254
D類地址:為組播地址
224.0.0.0~224.0.0.255為預(yù)留的組播地址(永久組地址),地址224.0.0.0保留不做分配,其它地址供路由協(xié)議使用;
224.0.1.0~224.0.1.255是公用組播地址,可以用于Internet;
224.0.2.0~238.255.255.255為用戶可用的組播地址(臨時(shí)組地址),全網(wǎng)范圍內(nèi)有效;
239.0.0.0~239.255.255.255為本地管理組播地址,僅在特定的本地范圍內(nèi)有效。
D類地址的MAC有特殊轉(zhuǎn)換關(guān)系:
MAC地址前三位為:01 00 5E
MAC地址后三位為:0x7FFFFF & 組播IP地址
舉例來說 組播IP地址 242.147.109.235 對(duì)應(yīng)的MAC地址為:01.00.5E.13.6D.EB
4.2 IP協(xié)議
Version:版本 如4表示IPV4 IPV4:4,IPV6:6
IHL:Internet Header length,Header 長度 沒有選項(xiàng),則一般為5(5x32bit=20B)
DSCP:Differentiated Service 一般沒有使用,詳細(xì)參考RFC
ECN:Explicit Congestion Notification 用于擴(kuò)展檢測(cè)丟包
Total length :總長度,header+數(shù)據(jù) 總長度
Identification :占16位,它是一個(gè)計(jì)數(shù)器,用來產(chǎn)生數(shù)據(jù)報(bào)的標(biāo)識(shí)
Flags:標(biāo)明是否分片 bit 0: Reserved; must be zerobit 1: Don’t Fragment (DF) bit 2: More Fragments (MF)
Fragment Offset :占12位,指較長的分組在分片后某片在原分組中的相對(duì)位置.片偏移以 8 個(gè)字節(jié)為偏移單位
Time to Live :生存時(shí)間,占8位,記為TTL (Time To Live) 數(shù)據(jù)報(bào)在網(wǎng)絡(luò)中可通過的路由器數(shù)的最大值,TTL 字段是由發(fā)送端初始設(shè)置一個(gè) 8 bit字段.推薦的初始值由分配數(shù)字 RFC 指定,當(dāng)前值為 64.發(fā)送 ICMP 回顯應(yīng)答時(shí)經(jīng)常把 TTL 設(shè)為最大值 255
Protocol:占8位,指出此數(shù)據(jù)報(bào)攜帶的數(shù)據(jù)使用何種協(xié)議以便目的主機(jī)的IP層將數(shù)據(jù)部分上交給哪個(gè)處理過程,1表示為 ICMP 協(xié)議, 2表示為 IGMP 協(xié)議, 6表示為 TCP 協(xié)議, 17表示為 UDP 協(xié)議
Header checksum:數(shù)據(jù)頭CRC
Source IP address:源IP地址
Destination IP Address:目標(biāo)IP地址
4.3 ICMP協(xié)議
ICMP:Internet Control Message Protocol網(wǎng)際控制報(bào)文協(xié)議
作用:提高 IP 數(shù)據(jù)報(bào)交付成功的機(jī)會(huì)用于ping,跟蹤路由
這里的Type如下圖所示:
這里主要說明 Code,用于表示網(wǎng)絡(luò)相關(guān)的錯(cuò)誤。
4.4 ARP協(xié)議
ARP:Address Resolution Protocol 地址解析協(xié)議
由于上層用的是IP地址,下層用的是MAC地址,ARP協(xié)議就是用于解決協(xié)議轉(zhuǎn)換的問題。
主要用兩種映射方式,一種為直接mapping,一種為動(dòng)態(tài)mapping
以下說明ARP過程:
1)首先查詢表中是否有目標(biāo)地址,若沒有則下一步;
2)產(chǎn)生ARP請(qǐng)求幀;
3) 廣播ARP請(qǐng)求幀;
4)目標(biāo)方接收ARP請(qǐng)求幀,并處理
5)目標(biāo)方產(chǎn)生ARP響應(yīng)幀
6)目標(biāo)方更新ARP表
7)目標(biāo)方發(fā)送ARP響應(yīng)幀
8)請(qǐng)求方接收響應(yīng)幀并處理
9)請(qǐng)求方更新ARP表。
5.傳輸層
傳輸層的目的在于,控制分段傳輸大塊數(shù)據(jù)。
5.1 端口與Socket
前面我們提到了IP地址,IP地址一般表示一個(gè)ECU級(jí)別;
而為了進(jìn)一步表示一個(gè)ECU上的不同軟件進(jìn)程,功能或模塊,我們引入端口的概念(port)。
在TCP和UDP中,都包含了16bit的 源地址端口和目標(biāo)地址端口。
而 IP地址+port = socket。
5.2 UDP
UDP:User Datagram Protocol用戶數(shù)據(jù)報(bào)協(xié)議
主要特點(diǎn):傳輸協(xié)議比TCP輕,不保證發(fā)包的傳輸以及數(shù)據(jù)包的順序,主要用于對(duì)時(shí)間敏感的傳輸;
5.3 TCP
TCP:Transmission Control Protocol傳輸控制協(xié)議
主要特點(diǎn),主要是用于可靠的面向連接的傳輸,在傳輸數(shù)據(jù)之前,必須先建立連接,同時(shí)確保所有數(shù)據(jù)按順序到達(dá)客戶端,客戶端收到數(shù)據(jù)包后需要給出確認(rèn)應(yīng)答,若未確認(rèn),則該數(shù)據(jù)包會(huì)進(jìn)行重傳。
握手過程:
協(xié)議格式:
Source Port : 源端口
Destination Port:目標(biāo)端口
Sequence Number:序列號(hào),用于確保傳輸順序;
Acknowledgment Number:應(yīng)答號(hào)比如當(dāng)前接收端接收到一個(gè)凈荷為12byte的數(shù)據(jù)包,SN為8,則會(huì)回復(fù)一個(gè)確認(rèn)收到的數(shù)據(jù)包,如果這個(gè)數(shù)據(jù)包之前的數(shù)據(jù)也都已經(jīng)收到了,這個(gè)數(shù)據(jù)包中的ACK Number則設(shè)置為12+8=20,表示之前的數(shù)據(jù)都已經(jīng)收到了,準(zhǔn)備接受SN=20的數(shù)據(jù)包
data offset:4位包括TCP頭大小,指示TCP頭的長度,即數(shù)據(jù)從何處開始。
CWR(Congestion Window Reduce):擁塞窗口減少標(biāo)志set by sender,用來表明它接收到了設(shè)置ECE標(biāo)志的TCP包;
ECE(ECN Echo):ECN響應(yīng)標(biāo)志被用來在TCP3次握手時(shí)表明一個(gè)TCP端是具備ECN功能的。在數(shù)據(jù)傳輸過程中也用來表明接收到的TCP包的IP頭部的ECN被設(shè)置為11;
URG(Urgent):該標(biāo)志位置位表示緊急(The urgent pointer) 標(biāo)志有效。
ACK:取值1代表Acknowledgment Number字段有效,這是一個(gè)確認(rèn)的TCP包,取值0則不是確認(rèn)包。
PSH(Push):該標(biāo)志置位時(shí),一般是表示發(fā)送端緩存中已經(jīng)沒有待發(fā)送的數(shù)據(jù),接收端不將該數(shù)據(jù)進(jìn)行隊(duì)列處理,而是盡可能快將數(shù)據(jù)轉(zhuǎn)由應(yīng)用處理。
RST(Reset):用于reset相應(yīng)的TCP連接。通常在發(fā)生異常或者錯(cuò)誤的時(shí)候會(huì)觸發(fā)復(fù)位TCP連接。
SYN:同步序列編號(hào)(Synchronize Sequence Numbers)有效。該標(biāo)志僅在三次握手建立TCP連接時(shí)有效。
FIN(Finish):No more data from sender。當(dāng)FIN標(biāo)志有效的時(shí)候我們稱呼這個(gè)包為FIN包。
Window Size:從Ack Number開始還愿意接收多少byte的數(shù)據(jù)量,用于TCP的流量控制。
Urgent Pointer:優(yōu)先指針指向后面是優(yōu)先數(shù)據(jù)的字節(jié),在URG標(biāo)志設(shè)置了時(shí)才有效。
6.應(yīng)用層
6.1 DoIP
參考:https://blog.csdn.net/AgingMoon/article/details/104162225
6.2 SOME/IP
參考:https://blog.csdn.net/AgingMoon/article/details/104166715
6.3 DHCP協(xié)議
DHCP的全稱是Dynamic Host Configuration Protocol,翻譯作動(dòng)態(tài)主機(jī)配置協(xié)議。它的用途是為網(wǎng)絡(luò)節(jié)點(diǎn)自動(dòng)配置IP地址。
DHCP是一個(gè)局域網(wǎng)應(yīng)用層協(xié)議,使用UDP協(xié)議工作,用于在局域網(wǎng)內(nèi)自動(dòng)分配IP地址。
該協(xié)議基于Client / Server模式工作(Server一般由路由器擔(dān)任),
?DHCP Server端,使用UDP端口:67 (0x43)
?DHCP Client端,使用UDP端口:68 (0x44)
DHCP的三種機(jī)制分配IP地址:
1)自動(dòng)分配方式(Automatic Allocation),DHCP服務(wù)器為客戶端指定一個(gè)永久性的IP地址,一旦DHCP客戶端第一次成功從DHCP服務(wù)器端租用到IP地址后,就可以永久性的使用該地址。
2)動(dòng)態(tài)分配方式(Dynamic Allocation),DHCP服務(wù)器給客戶端指定一個(gè)具有時(shí)間限制的IP地址,時(shí)間到期或主機(jī)明確表示放棄該地址時(shí),該地址可以被其他主機(jī)使用。
3)手工分配方式(Manual Allocation),客戶端的IP地址是由網(wǎng)絡(luò)管理員指定的,DHCP服務(wù)器只是將指定的IP地址告訴客戶端主機(jī)。
其中我們最常使用的是第二種,即動(dòng)態(tài)分配方式。
UDP 數(shù)據(jù)包
OP:
若是 client 送給 server 的封包,設(shè)為 1 ,反向?yàn)?2。
HTYPE:
硬件類別,Ethernet 為 1。
HLEN:
硬件地址長度,ethernet為6。
HOPS:
若封包需經(jīng)過 router 傳送,每站加 1 ,若在同一網(wǎng)內(nèi),為 0。
SECONDS:
Client 端啟動(dòng)時(shí)間(秒)。
Transaction ID:
一個(gè)隨機(jī)數(shù),用于客戶和服務(wù)器之間匹配請(qǐng)求和相應(yīng)消息。
Flags:
從0-15bits,最左一bit為1時(shí)表示server將以廣播方式傳送封包給 client,其余尚未使用。
ciaddr:
要是 client 端想繼續(xù)使用之前取得之 IP 地址,則列于這里。
yiaddr:
在 server 送回 client 的 DHCP OFFER 與 DHCPACK封包中,此欄填寫分配給 client 的 IP 地址。
siaddr:
若 client 需要通過網(wǎng)絡(luò)開機(jī),從 server 送出之 DHCP OFFER、DHCPACK、DHCPNACK封包中,此欄填寫開機(jī)程序代碼所在 server 之地址。
giaddr:
若需跨網(wǎng)域進(jìn)行 DHCP 發(fā)放,此欄為 relay agent 的地址,否則為 0。
chaddr:
Client 之硬件地址。(包括6字節(jié)MAC和10字節(jié)padding)
sname:
Server 之名稱字符串,以 0x00 結(jié)尾。
file:
若 client 需要通過過網(wǎng)絡(luò)開機(jī),此欄將指出開機(jī)程序名稱,稍后以 TFTP 傳送。
options:
允許廠商定議選項(xiàng)。每個(gè)option項(xiàng)由Type(1字節(jié))、Length(1字節(jié))、Value(長度由Length決定)三部分組成。
第一步:
DHCP客戶端主動(dòng)發(fā)送DHCP Discover包,用來尋找DHCP服務(wù)器,其中:
源MAC是自己的MAC地址,目的MAC是FF:FF:FF:FF:FF:FF的廣播;
源IP是0.0.0.0(現(xiàn)在還沒有IP,就用全0地址),目的IP是255.255.255.255的三層廣播地址。
因?yàn)榇藭r(shí)客戶端還不知道DHCP服務(wù)器在哪里,所以使用廣播來尋找,請(qǐng)求會(huì)被廣播到整個(gè)網(wǎng)段中。
第二步:
DHCP服務(wù)器收到客戶端發(fā)的DHCP Discover之后,會(huì)在自己的地址池中拿出一個(gè)沒有分配的地址以及配套的參數(shù)(如:掩碼、DNS、網(wǎng)關(guān)、域名、租期……),然后以一個(gè)DHCP Offer包發(fā)送出去。這個(gè)DHCP Offer數(shù)據(jù)包的地址如下:
源MAC是DHCP服務(wù)器的MAC,目的MAC是DHCP客戶端的MAC地址;
源IP是DHCP服務(wù)器的IP,目的IP是即將分配給客戶端使用的IP地址。
因?yàn)榭蛻舳四壳斑€沒有IP地址,所以在這個(gè)單播IP發(fā)送之前,服務(wù)器會(huì)使用客戶端的MAC地址與之通信,如果MAC地址通信失敗,那么服務(wù)器會(huì)使用廣播的方式提供(Offer)數(shù)據(jù)包 。
第三步:
客戶端收到這個(gè)DHCP Offer后,會(huì)再發(fā)出一個(gè)DHCP Request給服務(wù)器來申請(qǐng)這個(gè)Offer中包含的地址。此時(shí)客戶端還沒有正式拿到地址,所以還需要向DHCP服務(wù)器申請(qǐng)。
這個(gè)DHCP Request數(shù)據(jù)包的地址如下:
這時(shí)客戶端的源IP還是0.0.0.0,目的IP還是255.255.255.255
源MAC是客戶端的MAC,目的MAC是FFFF.FFFF.FFFF廣播包
第四步:
服務(wù)器收到客戶端的請(qǐng)求后,會(huì)發(fā)出一個(gè)DHCP ACK用來確認(rèn)這個(gè)IP地址可以分配給這個(gè)客戶端。
客戶端收到這個(gè)DHCP ACK數(shù)據(jù)包才算正式拿到了這個(gè)IP。
在租約內(nèi)續(xù)租的時(shí)候,發(fā)現(xiàn)( Discovery )和提供(Offer)數(shù)據(jù)包就變得沒有必要了,只需要完成請(qǐng)求和確認(rèn)兩個(gè)步驟就可以
7. Autosar中的以太網(wǎng)協(xié)議棧
以下簡要說明與以太網(wǎng)相關(guān)的Autosar協(xié)議棧。
其中LDCOM可以認(rèn)為類似于COM模塊,只是LD表示large data,此外SOAD表示 socket adapter,用于以太網(wǎng)中的socket適配。
當(dāng)然與DCM相關(guān)的底層采用的是DOIP協(xié)議。
總結(jié)
以上是生活随笔為你收集整理的什么是车载以太网_车载以太网结构的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: viomi是什么牌子
- 下一篇: 华为手表防水吗(华为企业业务)