日本无码免费高清在线|成人日本在线观看高清|A级片免费视频操逼欧美|全裸美女搞黄色大片网站|免费成人a片视频|久久无码福利成人激情久久|国产视频一二国产在线v|av女主播在线观看|五月激情影音先锋|亚洲一区天堂av

  • 手機(jī)站
  • 小程序

    汽車(chē)測(cè)試網(wǎng)

  • 公眾號(hào)
    • 汽車(chē)測(cè)試網(wǎng)

    • 在線課堂

    • 電車(chē)測(cè)試

關(guān)于車(chē)載以太網(wǎng)理解

2021-02-09 19:37:55·  來(lái)源:汽車(chē)電子與軟件  作者:AgingMoon  
 
其中與車(chē)載以太網(wǎng)強(qiáng)相關(guān)的模塊有:SOME/IP(Scalable Service-Oriented Mid dlewarE over IP):是一種用于傳輸服務(wù)(Se rvice)信息的基于IP的可伸縮中間件,能夠適
關(guān)于車(chē)載以太網(wǎng)理解
其中與車(chē)載以太網(wǎng)強(qiáng)相關(guān)的模塊有:

SOME/IP(Scalable Service-Oriented Mid dlewarE over IP):是一種用于傳輸服務(wù)(Se rvice)信息的基于IP的可伸縮中間件,能夠適應(yīng)基于不同操作系統(tǒng)的不同大小的設(shè)備,小到攝像頭,大到車(chē)機(jī)或自動(dòng)駕駛模塊;相比于傳統(tǒng)的C AN總線的面向信號(hào)的通信方式,SOME/IP是一種面向服務(wù)的通信方式。

DolP:基于以太網(wǎng)的診斷傳輸協(xié)議,能夠?qū)D S進(jìn)行封裝并基于IP網(wǎng)絡(luò)進(jìn)行傳輸;應(yīng)用于車(chē)輛檢查和維修、車(chē)輛或ECU軟件的重編程、車(chē)輛或 ECU的下線檢查和維修等,其主要工作原理類(lèi)似于Diagnostic over CAN(或稱(chēng)為DoCAN)。

XCP:XCP on Ethernet能夠基于以太網(wǎng)進(jìn)行車(chē)載控制器的標(biāo)定,主要用于標(biāo)定、測(cè)量、少量的編程和刷新(大部分刷新會(huì)利用診斷協(xié)議)、ECU旁路功能等。

UDPNM:是AUTOSAR組織制定的基于汽車(chē)以太網(wǎng)的網(wǎng)絡(luò)管理協(xié)議,能夠有效的實(shí)現(xiàn)車(chē)載以太網(wǎng)節(jié)點(diǎn)的協(xié)同睡眠和喚醒,其主要工作原理類(lèi)似于AUTOSAR的CAN NM

其中與傳統(tǒng)以太網(wǎng)最核心區(qū)別是物理層車(chē)載以太網(wǎng)要用100base-T1,而非100base-TX,下面依次介紹與車(chē)載相關(guān)的各層。

2、物理層PHY

2.1 總體說(shuō)明

物理層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 cancell ation)實(shí)現(xiàn)了在一對(duì)雙絞線上的全雙工通信。

回音消除技術(shù)的主要過(guò)程:作為發(fā)送方的節(jié)點(diǎn)將自己要發(fā)送的差分電壓加載到雙絞線上,而作為接收者的節(jié)點(diǎn)則將雙絞線上的總電壓減去自己發(fā)出去的電壓做減法得到的結(jié)果就是發(fā)送節(jié)點(diǎn)發(fā)送的電壓。

車(chē)載以太網(wǎng)固定為全雙工通信方式,出于對(duì)汽車(chē)啟動(dòng)時(shí)間的考慮而沒(méi)有引入自動(dòng)協(xié)商機(jī)制,此外車(chē)載以太網(wǎng)是通過(guò)單對(duì)非屏蔽或屏蔽電纜連接。

2.2 物理層架構(gòu)

物理層主要作用:

1)定義硬件接口;

2)定義信號(hào)與編碼;

3)定義數(shù)據(jù)與信號(hào)之間的轉(zhuǎn)換收發(fā);

物理層基本架構(gòu)

主要包括PMD,PMA和PCS。

PMD,介質(zhì)依賴(lài)層,主要職責(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之間,其中PM D是按照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。MII Medium 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)換過(guò)程為以下四步:

1.首先從MII接收到數(shù)據(jù)(4bit 4bit...)

2.接下來(lái)分割成(3bit3bit...)進(jìn)行處理;

3.根據(jù)上表,申平與數(shù)據(jù)編碼的關(guān)系,轉(zhuǎn)換為申平信號(hào);

4.將電平信號(hào)發(fā)到總線。

一個(gè)案例說(shuō)明以上的轉(zhuǎn)換過(guò)程:

100Mbps 速度的由來(lái):

在微控制器的每個(gè)時(shí)鐘周期中,MII接口到來(lái)的數(shù)據(jù)是4個(gè)bit,PHY從MII接口收到數(shù)據(jù)后,會(huì)首先進(jìn)行一個(gè)4B3B的轉(zhuǎn)換,為了匹配25MHz*4bit=100Mbit/s的速率,PHY的MI接口時(shí)鐘周期應(yīng)該是33.3333M每次接收3bit,也實(shí)現(xiàn)了33.3333M*3bit=100Mbi t/s的速率。之后PHY要再進(jìn)行3B2T的操作,將每次接收到的3個(gè)bit轉(zhuǎn)化為2個(gè)申平值(取值范圍是-1,01),具體的對(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ù)速率仍然是100Mb it/s,每個(gè)電平實(shí)際上包含了1.5bit信息。最后一步是 PAM3,將邏輯的-1,0,1轉(zhuǎn)化為在雙絞線上的電壓,所以,最終在總線上信號(hào)的波特率是66.666MH z,但是它實(shí)現(xiàn)了100Mbit/s的通信速率。

3、鏈路層MAC

MAC層主要內(nèi)容,

1) 尋址

2) 傳輸方式

3) 幀格式

3.1 MAC控制器架構(gòu)

其中比較關(guān)鍵的是MI 和 MIM 與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ò)誤,如果沒(méi)有錯(cuò)誤的話,它會(huì)去掉附加的控制信息發(fā)送至LCC(邏輯鏈路控制)子層。

SMI接口包括MDIO(控制和管理PHY以獲取PHY的狀態(tài))和MDC(為MDIO提供時(shí)鐘)。

MDC由MAC提供,MDIO是一根雙向的數(shù)據(jù)線。用來(lái)傳送MAC層的控制信息和物理層的狀態(tài)信息。

MDIO數(shù)據(jù)與MDC時(shí)鐘同步,在MDC上升沿有效。

3.2 MAC地址

在我們給別人聯(lián)系時(shí),我們往往需要知道對(duì)方的郵件地址或電話或住址,而以太網(wǎng)通信也是類(lèi)似。因此需要通信的兩個(gè)設(shè)備,必須具有唯一標(biāo)識(shí)的MAC地址。

MAC地址長(zhǎng)度為48bit、6byte,前三個(gè)字節(jié)是組織標(biāo)識(shí)ID,后三個(gè)字節(jié)是本地管理ID。

全局或本地地址U/L:第一個(gè)字節(jié)的第二位MAC地址的OUI字段(從右數(shù)第二低位開(kāi)始計(jì)數(shù))被稱(chēng)為U/L(通用/本地)標(biāo)志。設(shè)為0時(shí),將MAC地址標(biāo)記為被普遍管理; 當(dāng)它是1時(shí),MAC地址是本地管理的。

單播與組播MAC地址I/G:OUI的第一個(gè)字節(jié)的第一個(gè)(最低有效)位MAC地址的字段,稱(chēng)為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)控(或感知)傳輸線,偵聽(tīng)確定線路是否繁忙。任何設(shè)備聽(tīng)到正在進(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ì)算出來(lái)的隨機(jī)時(shí)間都是不同的,而且有多重算法來(lái)應(yīng)付出現(xiàn)概率很低的同兩臺(tái)主機(jī)之間的第二次沖突

3.4 MAC幀格式

Preamble: 7byte幀前綴,主要用于幀設(shè)備之間的事件同步;

Start of frame delimiter: 1byte,標(biāo)識(shí)幀開(kāi)始

MAC destination: 目標(biāo)MAC地址

MAC source: 源MAC地址

802.1QTag: 是一個(gè)可選項(xiàng),主要用于VLAN,如在這個(gè)字段中定義VLAN的ID或優(yōu)先級(jí)等,未定義的則會(huì)自動(dòng)把該幀丟棄。

length: 數(shù)據(jù)長(zhǎng)度/payload長(zhǎng)度

Payload: 有效負(fù)載、數(shù)據(jù)

frame check : CRC

interframe gap:幀之間的間隔

4、網(wǎng)絡(luò)層

4.1 IP地址

主要作用為,尋址,數(shù)據(jù)封裝,路由。僅以IPV4說(shuō)明

長(zhǎng)度為4byte 32bit,每個(gè)字節(jié)用dot隔開(kāi),用十進(jìn)制表示。

192168.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ù),從頭開(kāi)始從最左邊的位開(kāi)始,用于標(biāo)識(shí)主機(jī)或位于其他網(wǎng)絡(luò)接口。有時(shí)也稱(chēng)為網(wǎng)絡(luò)前綴,甚至只是前綴。

主機(jī)ID(主機(jī)ID): 其余位用于標(biāo)識(shí)網(wǎng)絡(luò)上的主機(jī)。

IP地質(zhì)類(lèi)別:

A類(lèi)地址第一字節(jié)為網(wǎng)絡(luò)ID,后三個(gè)字節(jié)為主機(jī)ID范圍是1001-126.155.255.254;
B類(lèi)地址第一二字節(jié)為網(wǎng)絡(luò)ID,后兩個(gè)字節(jié)為主機(jī)ID范圍是128.0.0.1-191.255.255.254;
C類(lèi)地址前三個(gè)字節(jié)為網(wǎng)絡(luò)ID,最后一個(gè)字節(jié)為主機(jī)ID,范圍是192.0.0.1-223.255.255.254
D類(lèi)地址:為組播地址

224.0.0.0~224.0.0.255為預(yù)留的組播地址(永久組地址),地址224.0.0.0保留不做分配,其它地址供路由協(xié)議使用;
224.0.1.0~224.0.1.255是公用組播地址,可以用于In ternet;
224.0.2.0~238255255255為用戶(hù)可用的組播地址(臨時(shí)組地址),全網(wǎng)范圍內(nèi)有效;

239.0.0.0~239.255255.255為本地管理組播地址,僅在特定的本地范圍內(nèi)有效。

D類(lèi)地址的MAC有特殊轉(zhuǎn)換關(guān)系:

MAC地址前三位為:01 00 5E

MAC地址后三位為: Ox7FFFFF & 組播IP地址

舉例來(lái)說(shuō) 組播IP地址242.147.109.235 對(duì)應(yīng)的MAC地址為: 01.00.5E.13.6D.EB

4.2 IP協(xié)議

Version: 版本 如4表示IPV4IPV4:4,IPV6:6

IHL: Internet Header length,Header 長(zhǎng)度 沒(méi)有選項(xiàng),則-般為5(5x32bit=20B)

DSCP: Differentiated Service一般沒(méi)有使用,詳細(xì)參考RFC

ECN: Explicit Congestion Notification 用于擴(kuò)展檢測(cè)丟包

Total length: 總長(zhǎng)度,header+數(shù)據(jù)總長(zhǎng)度

Identification: 占16位,它是一個(gè)計(jì)數(shù)器,用來(lái)產(chǎn)生數(shù)據(jù)報(bào)的標(biāo)識(shí)

Flags:標(biāo)明是否分片 bit 0: Reserved; must be zero bit 1: Don't Fragment(DF) bit 2: More Fragments(MF)

Fragment Offset :占12位,指較長(zhǎng)的分組在分片后某片在原分組中的相對(duì)位置.片偏移以8個(gè)字節(jié)為偏移單位

Time to Live: 生存時(shí)間,占8位,記為T(mén)TL (Time To Live)數(shù)據(jù)報(bào)在網(wǎng)絡(luò)中可通過(guò)的路由器數(shù)的最大值,TTL字段是由發(fā)送端初始設(shè)置一個(gè)8bit字段推薦的初始值由分配數(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è)處理過(guò)程,1表示為 ICMP 協(xié)議,2表示為 IGMP 協(xié)議,6表示為 TCP 協(xié)議,17表示為 UDP 協(xié)議

Header checksum: 數(shù)據(jù)頭CRC

Source IP address: 源IP地址

DestinationIPAddress: 日標(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,跟蹤路由

這里主要說(shuō)明Code,用于表示網(wǎng)絡(luò)相關(guān)的錯(cuò)誤。

4.4 ARP協(xié)議

ARP:Address Resolution Protocol地址解析協(xié)議

由于上層用的是IP地址,下層用的是MAC地址,ARP協(xié)議就是用于解決協(xié)議轉(zhuǎn)換的問(wèn)題。

主要用兩種映射方式,一種為直接mapping,一種為動(dòng)態(tài)mapping

以下說(shuō)明ARP過(guò)程:

1)首先查詢(xún)表中是否有目標(biāo)地址,若沒(méi)有則下一步;

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 用戶(hù)數(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á)客戶(hù)端,客戶(hù)端收到數(shù)據(jù)包后需要給出確認(rèn)應(yīng)答,若未確認(rèn),則該數(shù)據(jù)包會(huì)進(jìn)行重傳。

握手過(guò)程:

協(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頭的長(zhǎng)度,即數(shù)據(jù)從何處開(kāi)始。

CWR(Congestion Window Reduce): 擁塞窗口減少標(biāo)志set by sender,用來(lái)表明它接收到了設(shè)置ECE標(biāo)志的TCP包;

ECE(ECNEcho): ECN響應(yīng)標(biāo)志被用來(lái)在TCP3次握手時(shí)表明一個(gè)TCP端是具備ECN功能的。在數(shù)據(jù)傳輸過(guò)程中也用來(lái)表明接收到的TCP包的IP頭部的ECN被設(shè)置為11;

URG(Urgent): 該標(biāo)志位置位表示緊急(The urgentp ointer)標(biāo)志有效。

ACK: 取值1代表Acknowledgment Number字段有效,這是一個(gè)確認(rèn)的TCP包,取值0則不是確認(rèn)包。

PSH(Push): 該標(biāo)志置位時(shí),一般是表示發(fā)送端緩存中已經(jīng)沒(méi)有待發(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 Numb ers)有效。該標(biāo)志僅在三次握手建立TCP連接時(shí)有效。

FIN(Finish): No more data from sender。當(dāng)FIN標(biāo)志有效的時(shí)候我們稱(chēng)呼這個(gè)包為FIN包。

WindowSize: 從AckNumber開(kāi)始還愿意接收多少 byte的數(shù)據(jù)量,用于TCP的流量控制。

Urgent Pointer: 優(yōu)先指針 指向后面是優(yōu)先數(shù)據(jù)的字節(jié),在URG標(biāo)志設(shè)置了時(shí)才有效。

6、應(yīng)用層

6.1 DoIP

見(jiàn)之前的文章:關(guān)于DolP 協(xié)議的理解

6.2 SOME/IP

見(jiàn)之前的文章:關(guān)于SOME/IP的理解

6.1 DHCP協(xié)議

DHCP的全稱(chēng)是Dynamic Host Configuration Proto col,翻譯作動(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)

DHCPClient端,使用UDP端口:68(0x44)

DHCP的三種機(jī)制分配IP地址:

1)自動(dòng)分配方式(Automatic Allocation),DHCP服務(wù)器為客戶(hù)端指定一個(gè)永久性的IP地址,一旦DHCP客戶(hù)端第一次成功從DHCP服務(wù)器端租用到IP地址后就可以永久性的使用該地址。

2)動(dòng)態(tài)分配方式(Dynamic Allocation),DHCP服務(wù)器給客戶(hù)端指定一個(gè)具有時(shí)間限制的IP地址,時(shí)間到期或主機(jī)明確表示放棄該地址時(shí),該地址可以被其他主機(jī)使用。

3)手工分配方式(Manual Allocation),客戶(hù)端的l P地址是由網(wǎng)絡(luò)管理員指定的,DHCP服務(wù)器只是將指定的IP地址告訴客戶(hù)端主機(jī)。

其中我們最常使用的是第二種,即動(dòng)態(tài)分配方式。

UDP 數(shù)據(jù)包

OP:

若是client 送給 server 的封包,設(shè)為1,反向?yàn)?2。

HTYPE:

硬件類(lèi)別,Ethernet 為 1。

HLEN:

硬件地址長(zhǎng)度,ethernet為6.

HOPS:

若封包需經(jīng)過(guò)router傳送,每站加1,若在同一網(wǎng)內(nèi),為 0。

SECONDS:

Client 端啟動(dòng)時(shí)間 (秒)。

Transaction ID:

一個(gè)隨機(jī)數(shù),用于客戶(hù)和服務(wù)器之間匹配請(qǐng)求和相應(yīng)消息。

Flags:

從0-15bits,最左-bit為1時(shí)表示server將以廣播方式傳送封包給client,其余尚未使用。

ciaddr:

要是client 端想繼續(xù)使用之前取得之IP 地址, 則列于這里。

yiaddr:

在 server送回 client 的 DHCP OFFER 與 DHCPACK封包中,此欄填寫(xiě)分配給client 的IP 地址。

siaddr:

若client 需要通過(guò)網(wǎng)絡(luò)開(kāi)機(jī),從 server 送出之 DHC P OFFER、DHCPACK、DHCPNACK封包中,此欄填寫(xiě)開(kāi)機(jī)程序代碼所在 server 之地址。

giaddr:

若需跨網(wǎng)域進(jìn)行 DHCP 發(fā)放,此欄為relay agent 的地址,否則為 0。

chaddr:

Client 之硬件地址。(包括6字節(jié)MAC和10字節(jié)padding)

sname:

Server 之名稱(chēng)字符串,以 0x00 結(jié)尾。

file:

若 client 需要通過(guò)過(guò)網(wǎng)絡(luò)開(kāi)機(jī),此欄將指出開(kāi)機(jī)程序名稱(chēng),稍后以 TFTP 傳送。

options:

允許廠商定議選項(xiàng)。每個(gè)option項(xiàng)由Type(1字節(jié))、Length(1字節(jié))、Value(長(zhǎng)度由Length決定)三部分組成。

第一步:
DHCP客戶(hù)端主動(dòng)發(fā)送DHCP Discover包,用來(lái)尋找DHCP服務(wù)器,其中:

源MAC是自己的MAC地址,目的MAC是FF:FF:FF:FF:FF:FF的廣播;

源IP是0.0.0.0(現(xiàn)在還沒(méi)有IP,就用全0地址),目的IP是255.255.255.255的三層廣播地址。

因?yàn)榇藭r(shí)客戶(hù)端還不知道DHCP服務(wù)器在哪里,所以使用廣播來(lái)尋找,請(qǐng)求會(huì)被廣播到整個(gè)網(wǎng)段中。

第二步:

DHCP服務(wù)器收到客戶(hù)端發(fā)的DHCP Discover之后,會(huì)在自己的地址池中拿出一個(gè)沒(méi)有分配的地址以及配套的參數(shù)(如:掩碼、DNS、網(wǎng)關(guān)、域名、租期……),然后以一個(gè)DHCP Offer包發(fā)送出去。這個(gè)DHCP Offer數(shù)據(jù)包的地址如下:

源MAC是DHCP服務(wù)器的MAC,目的MAC是DHCP客戶(hù)端的MAC地址;

源IP是DHCP服務(wù)器的IP,目的IP是即將分配給客戶(hù)端使用的IP地址。

因?yàn)榭蛻?hù)端目前還沒(méi)有IP地址,所以在這個(gè)單播IP發(fā)送之前,服務(wù)器會(huì)使用客戶(hù)端的MAC地址與之通信,如果MAC地址通信失敗,那么服務(wù)器會(huì)使用廣播的方式提供(Offer)數(shù)據(jù)包 。

第三步:

客戶(hù)端收到這個(gè)DHCP Offer后,會(huì)再發(fā)出一個(gè)DHCP Request給服務(wù)器來(lái)申請(qǐng)這個(gè)Offer中包含的地址。此時(shí)客戶(hù)端還沒(méi)有正式拿到地址,所以還需要向DHCP服務(wù)器申請(qǐng)。

這個(gè)DHCP Request數(shù)據(jù)包的地址如下:

這時(shí)客戶(hù)端的源IP還是0.0.0.0,目的IP還是255.255.255.255

源MAC是客戶(hù)端的MAC,目的MAC是FFFF.FFFF.FFFF廣播包

第四步:

服務(wù)器收到客戶(hù)端的請(qǐng)求后,會(huì)發(fā)出一個(gè)DHCP ACK用來(lái)確認(rèn)這個(gè)IP地址可以分配給這個(gè)客戶(hù)端。

客戶(hù)端收到這個(gè)DHCP ACK數(shù)據(jù)包才算正式拿到了這個(gè)IP。

在租約內(nèi)續(xù)租的時(shí)候,發(fā)現(xiàn)( Discovery )和提供(Offer)數(shù)據(jù)包就變得沒(méi)有必要了,只需要完成請(qǐng)求和確認(rèn)兩個(gè)步驟就可以

7、Autosar中的以太網(wǎng)協(xié)議棧

以下簡(jiǎn)要說(shuō)明與以太網(wǎng)相關(guān)的Autosar協(xié)議棧:

其中LDCOM可以認(rèn)為類(lèi)似于COM模塊,只是LD表示large data,此外SOAD表示 socket adapter,用于以太網(wǎng)中的socket適配。

當(dāng)然與DCM相關(guān)的底層采用的是DOIP協(xié)議。 
分享到:
 
反對(duì) 0 舉報(bào) 0 收藏 0 評(píng)論 0
滬ICP備11026917號(hào)-25