99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

深耕商務建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

SOME/IP協(xié)議棧開發(fā)指南:服務發(fā)現(xiàn)機制、報文結(jié)構(gòu)及避坑實戰(zhàn)

SOME/IP協(xié)議棧開發(fā)指南:服務發(fā)現(xiàn)機制、報文結(jié)構(gòu)及避坑實戰(zhàn) 簡介面向車載以太網(wǎng)與SOA通信開發(fā)者的SOME/IP協(xié)議專題PPT圍繞協(xié)議棧從概念到落地的完整經(jīng)驗展開重點闡述SOME/IP與SOME/IP-SD的關(guān)系、服務發(fā)現(xiàn)與訂閱機制、SD報文關(guān)鍵字段、序列化格式與狀態(tài)機并結(jié)合實際開發(fā)總結(jié)使用技巧、常見問題、以太網(wǎng)抓包分析思路及TC8測試規(guī)范。包內(nèi)共1個PPTX文件大小約3.55MB便于直接閱讀和二次整理內(nèi)容結(jié)構(gòu)從術(shù)語解釋、報文格式到狀態(tài)機與測試框架逐層遞進適合正在入門或已在項目中調(diào)試SOME/IP協(xié)議棧的工程師。已有798人學習下載。通過學習本資源讀者可建立對SOME/IP-SD報文細節(jié)和狀態(tài)流轉(zhuǎn)的系統(tǒng)認識獲得排查服務未發(fā)現(xiàn)、報文丟失、響應延遲等問題的思路同時了解TC8測試的基本框架為車載以太網(wǎng)協(xié)議開發(fā)與驗證提供參考也能為實際項目中的協(xié)議棧問題排查提供依據(jù)。1. SOME/IP協(xié)議是什么為什么說它是汽車以太網(wǎng)的“服務總線”SOME/IPScalable service-Oriented MiddlewarE over IP是汽車以太網(wǎng)里專為服務化通信設計的中間件協(xié)議。過去 ECU 之間通信要么用 UDS 診斷走一問一答要么靠 CanSignal 表去輪詢某個信號到了域控制器和智能座艙時代應用層更想“像調(diào)本地函數(shù)一樣”去調(diào)用另一個節(jié)點上的服務SOME/IP 就是把方法調(diào)用、事件訂閱、字段讀寫封裝成標準報文再配合一套服務發(fā)現(xiàn)機制讓節(jié)點在運行期動態(tài)找到彼此。你如果做過車載網(wǎng)關(guān)、座艙域控或者 SOA 仿真的開發(fā)大概率在抓包里見過成片的 OfferService 和 SubscribeEventgroup那就是它在干活。這篇文章按我從零搭協(xié)議棧的順序展開先拆協(xié)議字段和選型理由再給一套最小可運行的實現(xiàn)骨架最后把服務發(fā)現(xiàn)調(diào)參和五個最容易翻車的坑說透適合正在寫或準備寫服務化通信代碼的嵌入式軟件工程師照著做。2. SOME/IP核心機制拆解從報文到服務調(diào)用2.1 服務接口類型Method、Event、Field到底怎么選SOME/IP 的服務模型說到底是三類Method、Event 和 Field。Method 是最像 RPC 的調(diào)用方式客戶端發(fā)一個請求服務端處理完回一個響應適合“打開座椅加熱”“讀取當前車速”這種天然帶返回值的動作它也支持把響應拆成多幀回傳但要靠 Session ID 把多幀關(guān)聯(lián)回同一個請求復雜度會高一截。Event 是發(fā)布訂閱模式服務端在狀態(tài)變化或周期到來時主動推給已訂閱的客戶端適合“電池電壓變化”“車門狀態(tài)翻轉(zhuǎn)”這類不要求立即響應但要求及時感知的數(shù)據(jù)。Field 更像是讀寫屬性它帶 getter、setter 和 notifier 三種能力客戶端可以主動讀、主動寫也能訂閱變化通知不少協(xié)議棧實現(xiàn)里Field 最終就是被拆成 Method 加 Event 的組合所以底層核心仍然只有前兩類。選型上我一般這樣判斷如果一份數(shù)據(jù)同時被多個節(jié)點消費且變化頻率不高用 Event 最省流量每個消費者只需要訂閱一次如果是高頻主動查詢、且每次結(jié)果都要即時處理用 Method 更直觀。不要把 Method 當 Event 用——那等于把總線變成輪詢現(xiàn)場節(jié)點一多帶寬立刻不夠。也不要把 Event 當 Method 用——Event 沒有返回值調(diào)用方無法判斷這次通知業(yè)務上是否成功。接口設計階段把這些理清楚后面協(xié)議棧寫出來才不會反復返工。序列化方面SOME/IP 使用自帶長度信息的編碼方式承載數(shù)據(jù)標量類型uint8/uint16/uint32/int32/float64默認大端字節(jié)序數(shù)組默認帶一個 32 位長度字段字符串同樣帶 32 位長度字段結(jié)構(gòu)體則按字段順序連續(xù)編碼不自動做對齊。接口的完整布局由 ARXML 這類接口描述文件定義工程上通常從描述文件直接生成序列化代碼不要手寫硬編碼去拼字節(jié)。一旦某個數(shù)組長度字段的位寬理解錯解析出來的整個后續(xù)字段都會串位這種問題藏得很深后面的避坑章節(jié)會專門講。2.2 SOME/IP報文頭16個固定字節(jié)里藏了哪些關(guān)鍵信息SOME/IP 報文頭固定 16 字節(jié)不包含業(yè)務數(shù)據(jù)。第一個字段是 Message ID4 字節(jié)高 16 位是 Service ID低 16 位是 Method ID。比如服務 ID 是 0x0001方法 ID 是 0x8001那報文頭前四個字節(jié)就是 0x00 0x01 0x80 0x01。這里有個網(wǎng)上的約定俗成Method ID 從 0x0000 到 0x7FFF 表示請求/響應方法0x8000 以上一般留給 Event 和 Field 的通知看到 0x8000 以上的 Method ID基本能猜出這是個事件消息。字段長度含義Message ID4 字節(jié)Service ID Method ID標識服務里的具體方法或事件Length4 字節(jié)從 Request ID 字段開始到整個報文末尾的字節(jié)數(shù)Request ID4 字節(jié)高 16 位 Client ID低 16 位 Session IDProtocol Version1 字節(jié)協(xié)議主版本目前主流實現(xiàn)為 0x01Interface Version1 字節(jié)服務接口版本由接口定義決定服務變更時遞增Message Type1 字節(jié)0x00 請求/響應0x01 通知0x02 錯誤響應0x81/0x82 為帶應答的變體Return Code1 字節(jié)0x00 成功非 0 為具體錯誤碼這里最容易被新手忽略的是 Request ID??蛻舳嗣堪l(fā)一個請求都應該自增 Session ID不能把整個客戶端固定成一個值。尤其是走 TCP 長連接時多個未完成的請求會共用一個連接響應返回的順序不能保證和請求一致沒有 Session ID 做關(guān)聯(lián)上層根本不知道手里這個響應對應哪次調(diào)用只能干等超時。Message Type 里的 0x81 和 0x82 值得多說一句0x81 表示“請求需要響應”0x82 表示“通知需要響應”這類變體多用于調(diào)試或要求確認的訂閱場景。協(xié)議棧解析響應包時必須校驗 Message Type 與當前請求期望的類型匹配不匹配直接丟棄不要往業(yè)務層送否則業(yè)務層會拿通知當請求的響應來處理出現(xiàn)各種詭異邏輯。2.3 請求/響應與Fire-and-Forget不是所有消息都要等回包SOME/IP 的調(diào)用模式有三種最常聽到的是 Request/Response也就是一問一答第二種是 Fire-and-Forget發(fā)完即忘協(xié)議棧不會等響應服務端也不用回包適合“下發(fā)一個配置參數(shù)結(jié)果靠后續(xù) Event 確認”的場景第三種是通知就是上一節(jié)說的 Event訂閱后由服務端主動推送。協(xié)議棧內(nèi)部處理請求/響應時流程大致是這樣客戶端業(yè)務層調(diào)用服務方法序列化層把參數(shù)編碼進 Payload傳輸層把報文發(fā)出去服務端從 Socket 收到字節(jié)先解析報文頭再根據(jù) Message ID 找到對應的服務方法反序列化參數(shù)調(diào)用真正的業(yè)務實現(xiàn)拿到返回值后再序列化、封裝成 Response 發(fā)回。這個鏈路里最容易出問題的是線程模型如果業(yè)務邏輯直接在 Socket 收包線程里執(zhí)行一個慢方法就把整個收包通道堵死其他消息全在排隊。我一般會把收包線程和業(yè)務線程解耦中間放一個 ring buffer 或消息隊列收包只負責解析和投遞業(yè)務線程從隊列里取任務執(zhí)行。Fire-and-Forget 的消息比 Request/Response 少一個 Response 包對端不需要維護請求關(guān)系協(xié)議棧實現(xiàn)時可以省掉 Session ID 關(guān)聯(lián)那一套邏輯但要注意服務端如果出錯沒法通過 Response 告訴客戶端只能靠日志和診斷手段查。所以能用 Response 就拿 Response別為了省包把可靠性也省掉了。3. 從零搭一個最小SOME/IP協(xié)議棧分層與代碼骨架3.1 協(xié)議棧總體分層把職責切干凈再動手自己寫協(xié)議棧第一件事不是寫序列化而是先分層。我習慣分三層傳輸層、協(xié)議層、服務層。傳輸層負責 Socket 生命周期、連接狀態(tài)管理、收發(fā)字節(jié)流它不知道字節(jié)流里是 SOME/IP 還是別的協(xié)議協(xié)議層負責拼報文頭、解報文頭、序列化和反序列化 Payload、維護 Message ID 到服務方法的映射表服務層負責服務實例的注冊和注銷、服務發(fā)現(xiàn)、業(yè)務回調(diào)分發(fā)。分層到位以后排查問題會輕松很多。抓包發(fā)現(xiàn)報文頭正確但業(yè)務層沒反應問題大概率在協(xié)議層到服務層的映射沒注冊好如果報文頭本身就錯位那是字節(jié)流切分不對問題在傳輸層。不要把 recv、解包、業(yè)務調(diào)用全部寫進一個大函數(shù)里那樣前期跑通很快后期加功能會想罵人。我見過不少項目翻車都是因為一開始圖省事協(xié)議解析和業(yè)務邏輯纏在一起測新服務時根本分不清瓶頸在哪層。3.2 序列化與反序列化一套能直接跑的最小實現(xiàn)下面給一個 Python 風格的最小協(xié)議棧骨架重點是展示報文頭的組裝和解析以及 Payload 的序列化方式。真實車載棧通常用 C但這里面的字節(jié)序、長度字段、消息類型處理邏輯完全一致只是語法不同。import struct import socket SOMEIP_MSG_TYPE_REQUEST 0x00 SOMEIP_MSG_TYPE_RESPONSE 0x80 SOMEIP_MSG_TYPE_NOTIFICATION 0x01 class SomeipMessage: def __init__(self): self.service_id 0 self.method_id 0 self.client_id 0 self.session_id 0 self.msg_type 0 self.ret_code 0 self.payload b property def msg_id(self): # 高16位服務ID低16位方法ID拼成32位 return (self.service_id 16) | self.method_id property def req_id(self): # 高16位客戶端ID低16位會話ID拼成32位 return (self.client_id 16) | self.session_id def pack(self): # 大端序IIIBBBB # I: 4字節(jié)無符號整型, B: 1字節(jié)無符號整型 header struct.pack( IIIBBBB, self.msg_id, 8 len(self.payload), # Length 從Request ID到末尾 self.req_id, 0x01, # Protocol Version 0x01, # Interface Version self.msg_type, self.ret_code ) return header self.payload classmethod def unpack(cls, data: bytes): if len(data) 16: raise ValueError(SOME/IP報文頭不足16字節(jié)) msg_id, length, req_id, proto_ver, iface_ver, msg_type, ret_code struct.unpack(IIIBBBB, data[:16]) if proto_ver ! 0x01: raise ValueError(fProtocol Version不支持: 0x{proto_ver:02x}) # Length包含Request ID到末尾的長度去掉8字節(jié)后才是Payload expect_payload_len length - 8 if len(data) - 16 ! expect_payload_len: raise ValueError(fPayload長度不匹配: 頭中長度{expect_payload_len}, 實際{len(data)-16}) msg cls() msg.service_id (msg_id 16) 0xFFFF msg.method_id msg_id 0xFFFF msg.client_id (req_id 16) 0xFFFF msg.session_id req_id 0xFFFF msg.msg_type msg_type msg.ret_code ret_code msg.payload data[16:] return msg這段代碼把協(xié)議棧的協(xié)議層核心邏輯寫清楚了。pack 方法負責把業(yè)務字段拼成標準報文unpack 方法負責把收到的字節(jié)流解析成可讀的 SomeipMessage 對象。兩個方法都用 struct 的前綴明確指定大端序這一步是很多人容易漏掉的地方。參數(shù)說明8 len(self.payload)是 Length 字段的標準算法因為 Length 從 Request ID 算到末尾而 Request ID 加上協(xié)議版本和消息類型那一串正好是 8 字節(jié)msg_type里 0x00 表示請求0x80 表示響應0x01 表示通知都是協(xié)議規(guī)定值。接著寫個簡單的發(fā)送端演示序列化一個方法請求。def build_request(service_id, method_id, client_id, session_id, params: list): msg SomeipMessage() msg.service_id service_id msg.method_id method_id msg.client_id client_id msg.session_id session_id msg.msg_type SOMEIP_MSG_TYPE_REQUEST # 序列化參數(shù)先放一個int32再放一個字符串 # 字符串格式4字節(jié)長度 原始字節(jié) payload struct.pack(I, params[0]) str_bytes params[1].encode() payload struct.pack(I, len(str_bytes)) str_bytes msg.payload payload return msg.pack()這里序列化的規(guī)矩是標量直接用對應格式比如 int32 用I字符串前面必須帶 4 字節(jié)長度字段。SOME/IP 標準里數(shù)組、字符串的長度字段默認 32 位協(xié)議棧解析時按這個位寬去切分就能準確知道后面有多少個字節(jié)屬于當前字段。發(fā)送端調(diào)用這個函數(shù)后把返回的 bytes 交給 Socket 發(fā)出去即可。3.3 連接管理與Socket選型UDP還是TCPSOME/IP 既能跑 UDP 也能跑 TCP這個選擇直接影響協(xié)議棧的收發(fā)邏輯。UDP 適合小報文、高頻、允許少量丟失的場景比如周期性事件報文一個包一個事件對端沒收到就等下一拍TCP 適合大報文、不允許丟的場景比如車內(nèi)固件刷寫、大塊診斷數(shù)據(jù)TCP 幫你處理了可靠性和順序問題。但 TCP 也帶來粘包和半包問題后面避坑章節(jié)專門講。端口上有個實際經(jīng)驗SOME/IP 標準推薦的動態(tài)端口范圍在 30490 到 30509 之間SD服務發(fā)現(xiàn)一般固定在 30490普通服務消息用后面的端口。如果同一個節(jié)點上有多個服務建議每個服務分配獨立端口便于抓包過濾和防火墻配置。UDP 模式下一個 Socket 可以服務多個客戶端源地址和端口能區(qū)分是誰發(fā)來的TCP 模式下每個客戶端一個連接協(xié)議棧需要維護連接狀態(tài)表復雜度會明顯上升。我自己的經(jīng)驗是初期原型驗證用 UDP 先把服務調(diào)通再按需求切換到 TCP兩套收發(fā)邏輯盡量共用協(xié)議層代碼只換傳輸層的收發(fā)函數(shù)。4. 服務發(fā)現(xiàn)SD實現(xiàn)服務怎么被找到、怎么被訂閱4.1 三種SD報文Offer、Find、Subscribe各自什么時候發(fā)服務發(fā)現(xiàn)是 SOME/IP 協(xié)議棧里最容易被低估的部分。沒有 SD每個節(jié)點都得靜態(tài)配置對端 IP 和端口換一個網(wǎng)段就全斷。有了 SD 之后服務端啟動時周期性地發(fā) OfferService 公告自己可用客戶端想調(diào)用某個服務時發(fā) FindService 去找服務端收到 FindService 后通常會立刻補發(fā)一次 OfferService??蛻舳擞嗛喪录t發(fā) SubscribeEventgroup服務端同意后回 SubscribeEventgroupAck兩邊建立起實際的數(shù)據(jù)通道。抓包時你會發(fā)現(xiàn)OfferService 是周期報文周期一般在 500ms 到 3s 之間FindService 只在客戶端啟動或服務丟失時發(fā)。這里有個容易踩的誤區(qū)OfferService 不只是一個“通知”它本身也承載了服務的 IP、端口、實例 ID 等信息客戶端收到后要解析出這些信息才能建立連接。解析時注意服務實例 ID 和版本號如果客戶端要求的接口版本與服務端不一致要按協(xié)議回錯誤不要強行握手造成后續(xù)報文對不上。4.2 SD狀態(tài)機與定時器參數(shù)那幾個參數(shù)直接決定總線會不會被打爆SD 的核心是狀態(tài)機。一個服務實例在客戶端側(cè)經(jīng)歷的狀態(tài)大致是未知 - 發(fā)現(xiàn)中 - 可用 - 已訂閱。狀態(tài)之間靠定時器和報文驅(qū)動。以下是幾個必調(diào)的定時器參數(shù)參數(shù)典型值作用SD_OFFER_SERVICE_CYCLE_TIME500ms - 3s服務端周期發(fā)送 OfferService 的間隔SD_INITIAL_DELAY_MIN/MAX0 - 2s服務啟動后首次發(fā)送 Offer 的隨機延遲SD_SUBSCRIBE_TIMEOUT1 - 3s客戶端等待訂閱確認的超時時間SD_REQUEST_RESPONSE_DELAY50 - 200ms收到 FindService 后補發(fā) Offer 的延遲這些參數(shù)設置不當會出大問題。比如整車幾十個 ECU 同時上電如果大家都用 100ms 周期發(fā) OfferService網(wǎng)絡里瞬間鋪滿廣播報文ECU 的接收隊列被打滿連正常的應用消息都會被擠掉。我一般把 SD_INITIAL_DELAY 設成 0 到 2 秒的隨機分布讓節(jié)點錯峰發(fā)首包再把周期提到 1s 以上總線壓力立刻緩解。訂閱超時也很關(guān)鍵設太短會導致重試風暴設太長會讓客戶端等半天才重新訂閱業(yè)務鏈路中斷時間拉長。4.3 多網(wǎng)卡與多IP場景下的SD策略現(xiàn)在的域控制器基本都帶多個以太網(wǎng)口一個口接車機一個口接傳感器甚至一個口做環(huán)網(wǎng)測試。這時候 SD 的 OfferService 該從哪個網(wǎng)卡發(fā)出去直接決定這個服務在哪個網(wǎng)絡里可見。最穩(wěn)妥的做法是按網(wǎng)絡接口劃分獨立的 SD 實例每個接口各配一套 Offer/Subscribe 狀態(tài)表服務在哪個接口實例上注冊就只從哪個接口發(fā)公告。如果整個協(xié)議棧只有一個全局的 SD 控制器多網(wǎng)卡環(huán)境下很容易出現(xiàn)“服務想在車內(nèi)網(wǎng)可見結(jié)果通過另一個接口也發(fā)到了測試網(wǎng)”的尷尬。OS 默認會選擇路由表中優(yōu)先級最高的出口不會替你區(qū)分業(yè)務邊界。解決做法是給 SD 的發(fā)送函數(shù)傳入明確的源 IP 地址而不是讓它走系統(tǒng)路由配置層面要給每個網(wǎng)絡接口綁定獨立的服務的白名單。這一步在開發(fā)階段不驗證到了整車聯(lián)調(diào)時就是典型的玄學問題服務抓包能看到但客戶端就是連不上。5. SOME/IP開發(fā)避坑五個真實的坑與排查方法5.1 坑一字節(jié)序做反所有結(jié)構(gòu)體字段全部串位現(xiàn)象在開發(fā)板上跑服務端客戶端解析出來的 uint16 數(shù)值變成幾千倍錯誤字符串亂碼數(shù)組長度報出 0xFFFF 這種荒謬值。原因SOME/IP 標準規(guī)定大端序但多數(shù) SoC 和 PC 都是小端 CPU。開發(fā)時在 PC 上拼報文直接往內(nèi)存里按小端寫數(shù)據(jù)沒做轉(zhuǎn)換就發(fā)出去接收端按大端讀必然全錯。解決序列化層統(tǒng)一使用struct.pack(...)或htonl/htons這類字節(jié)序轉(zhuǎn)換函數(shù)所有數(shù)據(jù)進 Socket 之前先過序列化層業(yè)務代碼里不要到處手動轉(zhuǎn)。協(xié)議棧寫完后做一輪固定的解析冒煙測試拿一組已知的十六進制報文喂給反序列化函數(shù)打印每個字段的值和預期比對。發(fā)現(xiàn)字節(jié)序錯位只需要改序列化層一個文件即可。5.2 坑二Event高頻生產(chǎn)訂閱端一多CPU立刻被打滿現(xiàn)象服務端有一個 5ms 周期的電壓采樣 Event訂閱了 50 個客戶端運行時 CPU 使用率直接沖到 80% 以上。原因協(xié)議棧給每個客戶端都維護了一份獨立的序列化緩沖區(qū)和發(fā)送隊列Event 每生產(chǎn)一次就復制 50 份 payload 分別發(fā)送。生產(chǎn)頻率 200Hz客戶端數(shù) 50那就是每秒 1 萬次拷貝和發(fā)送。解決把單次序列化結(jié)果做成共享的只讀緩沖區(qū)所有訂閱端引用同一份 payload只在發(fā)送層按連接上下文加不同的頭部或復用同一個 UDP 目標地址。更進一步的方案是引入多播地址一個報文讓網(wǎng)絡層復制但車載網(wǎng)絡對多播支持參差不齊要確認交換機設備支持再上。我一般先在單播模式下共享 payload壓測發(fā)現(xiàn)瓶頸再評估多播。5.3 坑三TCP粘包和半包直接把反序列化打崩現(xiàn)象用 TCP 承載協(xié)議棧客戶端收數(shù)據(jù)時經(jīng)常解出長度不匹配的異常要么 buffer 不夠要么一個包解出來多好幾塊。原因TCP 是字節(jié)流協(xié)議recv返回的數(shù)據(jù)邊界跟 SOME/IP 報文邊界完全沒有對齊。一個完整報文可能分兩三次到達也可能三個報文粘成一個包到達。直接在recv的字節(jié)流上做反序列化等于瞎猜邊界。解決傳輸層必須自己維護一個接收緩沖區(qū)。每次收完字節(jié)先看緩沖里夠不夠 16 字節(jié)夠就解析報文頭拿到 Length 字段再根據(jù) Length8 判斷整個消息是否完整不完整就繼續(xù)等完整才從緩沖區(qū)里一次性切出這個消息。這個邏輯我一般用狀態(tài)機實現(xiàn)核心狀態(tài)就兩個等頭部、等 payload。粘包場景下處理完一個消息后緩沖區(qū)可能還剩字節(jié)要繼續(xù)按同樣流程切割直到不夠一個完整報文為止。5.4 坑四SD重試參數(shù)太激進整車網(wǎng)絡風暴現(xiàn)象一個節(jié)點剛啟動抓包軟件上瞬間刷出幾百條 OfferService 和 FindServiceECU 的網(wǎng)絡負載直線飆升連診斷工具都連不上。原因SD_OFFER_SERVICE_CYCLE_TIME 設成了 50ms初始延遲又設成 0整車幾十個節(jié)點同時啟動時全部在同一時間點瘋狂廣播形成廣播風暴。解決把 Offer 周期調(diào)到 1s 以上初始延遲按節(jié)點隨機錯開。更完善的做法是給 SD 配置指數(shù)退避重試策略連續(xù)幾次發(fā)送無響應后重試周期按 2 倍遞增加一個隨機抖動防止多個失聯(lián)節(jié)點同時恢復正常時再次同步風暴。配套檢查一下 SubscribeEventgroup 超時參數(shù)超時太短也會導致客戶端瘋狂重發(fā)訂閱請求。5.5 坑五自定義類型的長度字段位寬不足數(shù)據(jù)悄悄截斷現(xiàn)象業(yè)務自定義了一個結(jié)構(gòu)體里面有個數(shù)組上線后偶爾出現(xiàn)字段全部錯位但又不報錯的情況重啟后恢復過一陣又出現(xiàn)。原因自定義結(jié)構(gòu)體里數(shù)組長度字段只給了 8 位最大只能表示 255實際一次傳了 300 個元素長度字段回繞成 44反序列化時只讀 44 個元素剩下的字節(jié)被當成下一個字段解析后續(xù)內(nèi)容整體錯位。解決定義自定義數(shù)據(jù)類型前先按最大可能實例大小推算長度字段位寬。能直接用標準 32 位長度字段就用標準的別手欠去省那三個字節(jié)。如果已經(jīng)是 32 位仍然溢出那就不是位寬問題是業(yè)務數(shù)據(jù)體量本身就不適合這種傳輸方式需要改成分片或換其他傳輸通道。排查時先在協(xié)議棧里打印每個字段解析完后的偏移位置對比接口定義就能看到是哪個字段開始串位的。6. 進階用抓包驗證協(xié)議棧行為再壓出吞吐極限6.1 用抓包軟件驗證協(xié)議棧先從報文結(jié)構(gòu)開始查協(xié)議棧寫完第一件事不是上業(yè)務是抓包驗證報文結(jié)構(gòu)。我用 Wireshark 打開保存的 pcap過濾 SOME/IP 協(xié)議逐字段核對 Message ID、Length、Request ID。一個常見的低級錯誤是 Length 字段算錯抓包軟件經(jīng)常直接標紅一眼就能發(fā)現(xiàn)。不要只盯著業(yè)務層說“能跑通”要確認線上抓包里每個字段和協(xié)議規(guī)范完全一致。驗證序列化層更適合用單元測試構(gòu)造已知序列化結(jié)果的字節(jié)序列跑反序列化斷言每個字段的值再反過來構(gòu)造字段值跑序列化斷言字節(jié)序列一致。這樣協(xié)議層的修改能立刻通過回歸把錯誤擋住。6.2 吞吐量壓測的三條優(yōu)化路徑壓測工具可選現(xiàn)成的網(wǎng)絡壓測腳本或者直接用自己的協(xié)議棧寫個循環(huán)發(fā)包的小工具。重點看三個指標報文每秒處理數(shù)、單請求時延、CPU 占用率。優(yōu)化時按順序排查三條路徑第一是序列化開銷能復用的緩沖區(qū)不要每次新建序列化結(jié)果緩存下來給多個訂閱端共享第二是系統(tǒng)調(diào)用次數(shù)UDP 場景用 sendmmsg 這類批量發(fā)送接口把多次小包發(fā)送合并成一次系統(tǒng)調(diào)用第三是鎖競爭收發(fā)線程和業(yè)務線程之間的隊列如果頻繁加鎖在高頻小消息場景下鎖開銷會占掉三成以上 CPU改用無鎖環(huán)形緩沖或者按客戶端分散到不同線程。6.3 生產(chǎn)環(huán)境日志埋點定位問題要靠關(guān)鍵時刻我自己踩過一個教訓某協(xié)議棧上線后偶發(fā)超時一直查不到原因最后是在服務端入口和出口各加一行毫秒級時間戳日志才發(fā)現(xiàn)是業(yè)務實現(xiàn)里一個慢日志打印阻塞了處理線程。從那以后我養(yǎng)成了習慣協(xié)議棧的入口、出口、序列化前后各埋一個帶時間戳的日志點平時按 debug 級別關(guān)掉線上排查時動態(tài)打開。每個日志點帶上 Service ID、Method ID、Session ID 和消息長度這樣排查時能直接串起一次調(diào)用的完整鏈路。SOME/IP 本身并不復雜復雜的是它能搭出來的分布式調(diào)用鏈路。把字節(jié)序、報文邊界、SD 參數(shù)這幾個基本盤守住剩下的就是反復抓包、壓測、看日志的循環(huán)。希望這篇經(jīng)驗總結(jié)能幫你在寫協(xié)議棧的路上少踩幾個坑一次調(diào)通。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
性高潮久久久久久-九九九九九九九九九九热-成人AV | 伊人网色婷婷五月天| 丁香婷婷久久| 亚洲第一综合| 丁香六月激情蜜桃| 超碰在线91| 少妇性BBB搡BBB爽爽爽电影| 大香蕉网站,大香蕉综合| 69精品人人人人| 狠狠五月婷婷| 亚洲人人操| 色综合色综合网| 亚州操操| 五月婷婷色白丝| 色~性~乱~伦~噜| 国产精品-91JQ就要激情网91JQ6.91JQ27.CASA:16888 | 91精品久久久久久77777| 久久久婷婷| 婷婷丁香九色| 激情综合五| 夜夜骑天天操| 色五月综合激情| 91精品久久久久久综合五月天| 疯狂做受XXXX高潮A片| 激情综合网五月| 超碰日日操| 色色婷婷五月| 天天操婷婷| 六月狠狠综合| 丁香婷婷人妻综合网| 婷婷九月狠狠色| 极品少妇XXXX精品少妇偷拍| 丁香五月天激情综合| 五月婷婷激情综合视频| 丁香五月天欧美在线| 日本一级特黄大片AAAAA级| 年轻的妺妺伦理HD中文| 欧美操人| 99热这里只有精| 99精品视频在线观看| 第二色AⅤ| 99在线观看精品| 日韩成人精品中文字幕电影| 色色欧美色色色| 婷婷五月无码| av九九| 五月开心网| 九九热这里只有精品一| 激情综合色婷婷啪啪六月天| 男女久久婷婷五月天| 丁香九月婷婷| 第四色色六月色综合| 丁香五月色五月| 久久免费少妇高潮99精品| 色色色综合色| 被强行糟蹋的女人A片| 久久五月视频| 丁香五月天激情综合| 色域五月婷婷丁香| 婷婷丁香五月亚洲17cao| 婷婷九月综合| 色色婷| www.色婷婷.com| 丁香午夜天| 九九综合精品| 99视频网| 国产日韩亚洲欧美在线观看| 超碰狠狠色| 婷婷色色狠狠| 五月丁香六月婷综合成人综合| 青青草搞屄视频网站| AV在线中文| 97色欧美| 蜜臀av无码久久久久久久久| 欧洲亚洲精品| 欧美日韩成人在线| 97操碰在线97| 久久综合性| a在线观看| 色欲婷婷五月天| 就是色婷婷五月亚洲色| www国产亚洲色婷婷com| 六月婷婷色综合| 九九热在线精品视频| 九九热re99re6在线精品| 久久性爱视频| 日本欧美成人片AAAA| 99热这里只有精品9| 亚洲综合五月| 亚洲精品无码一区二区| ...婷婷五月综合不卡,国产在线手机 | 日日噜噜夜夜狠狠久久丁香六月| 丁香五月欧美成人| 五月丁香六月片| 真实的国产乱XXXX在线91| av免费在线看不卡无毒| 色色色婷婷五月| 六月丁香婷婷视频综合在线观看| 国产婷婷五月天| 五月天另类小说| 五月天淫乱视频| 91se在线视频| 欧美精品在线观看| 婷婷丁香花五月天| 欧美色五月天| 久久九色| 丝袜激情网| 99re热精品在线视频| 91九色精品女同系列| 五月丁香美女视频| 激情综合五月| 香港九九六区八区99| 99精品在线观看视频| 色色色99韩| 婷婷丁香综合| 亚洲亚洲人成综合网络| 99视频精品| 青青草原福利在线| 日本欧美成人片AAAA| 五月丁了香蕉综合| 五月丁香色婷婷综合| 婷婷色在线视频| 色色亚洲| 色优久久| 操逼六区| 色婷久| 五月婷婷成人网首页| 久久精品视频在这里有| 青青草青青草五月天| 五月丁香花视频| 五月丁香啪啪综合网| 网色99| 91人妻人人操| 中出内射的人妻视频| 九九re精品视频在线观看| 国自产拍偷拍精品啪啪一区二区| 天天插天天狠| 天天精品视频免费观看| 玖玖爱综合网| 久久人人九| 婷婷五月天国产传媒| 超碰chaompinm| 可以免费看AV网站| 99爱在线| 五月丁香另类图片| 六月丁香成人| 五月天成人小说| 五月丁香六月片| 欧美日韩AAAA| 粉嫩AV久久一区二区三区| 色婷婷免费观看| 亚洲视频图片婷婷五月| Caoub青青超碰| 激情开心五月婷婷| 精品人妻午夜一区二区三区四区| 五月综合激情图片| 九九九九精品精| 综合婷婷六月| 男人操女人高潮91视频| 甈吧vv| 狠狠爱综合| 99热这里都是精品| 99精色| 色婷婷久久天天性爱| 五月天激情视频| 俺去婷婷 丁香| 丁香激情综合| 午夜婷婷久久| 日本狠狠色| 开心婷婷五月天综合| 亚洲五月婷婷| 99热这里只有精品33| 精品一二三区久久AAA片| 这里只有精品视频视频在线观看| 亚洲人人操| 丁香色六月婷婷| 粉嫩AV久久一区二区三区| 就要爱综合| 久久久久人妻| 色色亚洲五月天| 色色日本欧美| 色99视频| 中文在线视频久1| 丁香五月综合激情久久潮喷| 色婷婷久久综合| 婷婷综合在线播放| 可以免费观看的AV| 啪啪亚洲综合| 色婷婷影院| 久热婷婷| 色婷婷社区| 99热99天堂| 天堂久久婷婷| 色噜噜狠狠色综合日日免费| 国产1区2区| 99精品一二三四视频| 99热日韩| www,setingting| 亚洲色五月天| 美女亚洲五月丁香| 色一情一乱一乱一区9| 九九亚洲综合| 精品免费99| 亚洲色婷婷五月天| 色色欧美。| 国产婷婷综合| 激情五月视频| 久热超碰| 久久婷婷五月综合啪| 第四色激情网| 99er热精品视频| 91精品人妻少妇无码影院| 天天干天天干天天| 99九九热视频| 99热在线成人网站| 婷婷亚洲激情在线观看视频| 影音先锋一区| 97婷婷丁香五月天激情图片| 色狠狠色噜噜AV天堂五区| 六月丁香色婷婷| 久久精品色| 五月天婷婷激情四射综合| 久久伊人五月天| 大陆肏屄视频| 99视频精品8 | 色色色色色日韩午夜激情 | 国产AV熟妇人震精品一品二区| 天天操婷婷| 五月在线婷色| 五月丁香另类图片| 99精品高潮| 超pen个人视频97| 久久精品4| 成人超碰Av| 五月天婷亚洲综合在线嫩草网| 夜夜爱爱亚洲| 亚洲综合碰| AA片在线观看视频在线播放| 成人综合视频在线| 久久五月网| 99re免费精品视频| 射区导航| 99在线精品视频免费观看20| 逼里香不卡| 婷婷五月丁香人妻无码高清| 色色亚洲| 六月色色| 亚洲五月天婷婷| a色色色色色| 亚洲天堂色| 色综合色综合网| www.26uuu.com亚洲电影| 免费婷婷| 超碰人人操| 国精产品久久| 五月丁香久人妻中文| 级人人91| 精品人妻午夜一区二区三区四区| 天天干天天干天天干天天干天| 99re这里只有精品首页| 五月天六月丁香| www.com.色色| 五月婷婷婷色| www.97视频| 婷婷五月天丁香| 色综合色色色| 丁香五月婷婷色偷偷| 色五月天天在线观看资源站| 大香蕉婷婷五月天| 超碰爱爱爱| 182.t午在线观看| 色丁香久久| 秋霞AV淫| 国产精品色| 日撸夜撸日操| 婷婷五月天激情视频| 久久九九网| 美国不卡视频| sewuyuetingtingiii| 久久激情中文| 91碰碰碰| 大香蕉久久久久| 婷婷五月天天aV| 亚洲激情av| 综合久久久婷| 97婷婷狠狠久久综合9色| 亚洲偷| 99热这里只有精品免费| 99久久综合| 超碰九色| www九九| AV成人在线播放| 五月激情久久| 97人人操com| OYIWbGcPu8H| 久久小说网| 人妻中文在线| 桃色五月婷婷| 婷婷五月成人社区| AV大片在线观看| 丁香六月婷婷色XXXX| 天天干天天拍| 99五月香婷婷丁香在线视频| 91麻豆国产三级精品福利在线观看| 天天爱天天操| 丁香五月婷婷五月| 婷婷五月久久| 久热9热| 婷婷丁香婷婷97| www九月婷婷| 免费观看全黄做爰的视频| 人妻熟人中文字幕一区二区| 色综合99无码 | 99久re热视频精品98| 成人色图情色成人网 www.5b5b5bcom 五月天 | 国产高潮A片羞羞视频涩涩| 无码色色色| 婷婷丁香六月| 综合久久婷婷99| www.91av.com| 大香蕉伊在| 超级碰碰碰碰视频| 狠狠色婷婷7| 色综久久久| 天堂五月婷婷| 国产成人亚洲综合A∨婷婷| 国产三级秋霞| 超碰在线免费| 国产又爽又猛又粗的视频A片| 在线理论片| 乱乱av| 九九99热精品| 五月丁香六月婷婷啪啪| 久草五月天电影网| 五月天婷婷激情在线色图| 日日夜夜干| 色五月激情综合网| 91久久久久久久久久18| 4399伦理午夜| 综合激情网| 五月网网站| 成人综合视频在线| 日韩免费视频| 7777精品伊人久久久大香线蕉最新版| 婷婷六月丁香在线| 婷婷五月花西瓜| 激情婷婷五月天| www.五月丁香| 99热久久日本| 5月婷婷综合| 五月婷六月天| 伊人啪啪网| 99视频这里有精品| 久久新| 日日干干天天干| 婷婷丁香18| 香蕉久久国产AV一区二区| 五月天色丁香| 大香AV| 激情综合女人网五月播播| 久久这里只有精品16| 新激情五月天天在线网| 精品无码久久久久久久久| 极品少妇婷婷五月| 久久狠色噜噜狠狠狠狠97| 五月丁香综合在线| 大伊香蕉精品视频在线| 亚洲精品影视| 天天做好综合色| 国产一级片| 七月丁香婷婷 色色| 庭庭久久内射| 另类小说激情五月天| 亚洲久久激情| 伊人网碰碰| 日本熟妇人妻在线| www.minyis.com【JT】实力收量可预付QQ2101460746 | 噜噜色天天开心| 婷婷中文综合网| 五月丁香六月婷综合成人综合| 我要色综合五月婷婷| se99视频| 国产日产亚洲系列最新| 99视频35精品视频在线观看| 色情五月停停丁香| 91打屁股免费看| 天天肏视频| 久久久精品色| 大香蕉在线99热| 99色激| 久久综合五月天| 国产人妻777人伦精品HD| 婷婷五月综合久久中文字幕| 六月丁香婷婷综合在线| 丁香啪啪中文字幕| 色小说五月婷婷| 色婷婷久久| 丁香六月婷| 日日操人人操| 国产免费性爱| 五月六月丁香婷婷在线观看| 人人草人人舔| 国产VA播放| 91黄操| 五月伊人婷婷999| 激情五月婷婷综合色播小说| 666555。COm毛片| 亚洲婷婷丁香五月在线| 色色色色色网| 婷婷五月激情热播| 开心激情婷婷| 99re思思| 九九热精品| 九九热这里只有精品23| 99爱视频在线| 久久无码激情视频| 六月婷婷五月丁香| 亚洲天天免费| 欧美成人AAA片一区国产精品| 狠狠做六月爱婷婷综合aⅴ| 色情五月综合婷婷| 99色日本| 日日干天天爽| 91免费试看| xx色综合| 婷婷五月色播天| 最新五月天婷婷影| 五月久久丁香| 激情五月天激情五月天| 婷婷色色欧美| 99日韩| 色色色国产| 五月天桃色深爱网| 岛国资源网| 性色九九| 99精品久久久久| 日本久久人| 99久久网站| 亚洲AV成人片无码网站| 国产人妻人伦精品一区二区| 久久这里有精品在线观看| 五月丁香A片| 色婷婷小说网| 六月丁香综合| 狠狠精品干练久久久无码中文字幕| 狠狠干在线视频| 综合另类激情| a久久| 色色狼人综合| 欧美成人AAA片一区国产精品| 婷婷丁香五月六月激情| www.五月天婷婷| 97久久人人操| 5月婷婷性视频| 婷婷六月香| 国产精品VA在线| 天堂资源欧日浪女在线播放| 五月丁香六月婷| www.伊人天堂偷偷婷婷| 丁香婷婷婷五月综合色情| 人人摸人人| 久久久99视频| 久九男女天堂| h在线看免费版在线看| 色99在线视频| 亚洲V国产V欧美V久久久久久| 婷婷成人综合免费视频| 无码成人AAAAA毛片AI换脸| 俺也高清无码高清视频| 久久网日本| 99热成人| 五月天婷婷基地综合网| 青青草深爱激情网| av在线中文| 深爱五月天| 日本色色色| 4399成人黄A片| 日本欧美成人片AAAA| 思思 热 99| 久久资源网五月婷| 久久五月丁香综合| 99热这里只有精品3| 精品无码人妻一区| 久久99激情| 在线观看免费视频| www.97碰碰com| 亚洲激情网站无码| 五月婷婷婷| 亚洲国产精品VA在线看黑人| 9l视频自拍9l视频自拍九色学生| 呦呦v线| 97干在线播放| 人人操9| 中文字幕成人| 夜夜夜夜夜骑撸| 五月色婷婷亚洲 | 五月丁香啪啪啪| 五月激情六月婷婷| 欧美激情xxxXX| 91九色视频在线观看| 婷婷五月花| 深爱激情婷| 国产色丁香| 九九人人看| 少妇大叫太大太粗太爽了A片| 婷婷爱五月天| 精品三区影院| 插插插色综合网| 久久与婷婷| 亚州成人综合在线| 熟女人妻一区二区三区免费看| 另类 在线| 色婷婷色五月综合| 六月伊人婷婷| 操人91| 婷婷六月丁香久| 婷婷色五月天色色| 色吧网91| 中文字幕日本最新乱码视频| 激情综合五月| 日本99视频| WWW.99视频| 亚洲第一精品成人999久久精品| 性 色 婷婷| 香蕉婷婷| 伊九九三级区| 青青草原亚洲天堂| 久操激情| 91成人电影| 日韩AV中文字幕在线| 亚洲午夜在线视频| 亚洲无AV在线中文字幕| 婷婷久久五月| 亚洲午夜AV| 婷婷综合网站| 99热最新| 超碰色综合| 丁香六月五月天| a久久免费视频| 99色婷婷视频| 伊人婷婷青青cao| 99在线热| 精品五月视频婷婷在线观看| 成人精品在线观看| 极品色丁香| 丁香五月天啪啪| 亚洲网视屏| 丁香五月激情啪| 99玖玖在线视频| 天堂综合久| 色99婷婷五月天| 丁香久久九九99| 无码九九九九| 丁香五月在线观看| 久久99热这里只频精品6学生| 丁香五月在线| 亚洲黄色影视| 成人做爰黄A片免费看直播室男男| 色偷偷AV亚洲男人的天堂| 三人荫蒂添的好舒服A片| 欧美性生交XXXXX无码小说| 国产欧美精品AAAAAA片| 99综合97| 久久午夜丁香| 天天肏在线观看| 婷婷中文在线| 日本va欧美va精品发布视频| 六月婷婷影院| 五月天播播中文字幕 | 五月天com| 五月丁香六月婷| 男妓跪趴把舌头伸进我的嘴巴| 亚洲日比视频| 99久操| 色情五月丁香| 丁香五月激情欧欧美| 丁香五月亚洲综合| 天天色视频| 五月丁香啪啪激情| 欧美性做爰大片免费看办公室| 风流少妇A片一区二区蜜桃| 久久免费精彩视频| 婷久久久| 日本色婷婷| 色五月av伊人| 亚洲婷婷五月天激情| PORNY九色9l自拍视频成人| 久久性爱视频| 亚洲韩国日产综合AV| 丁香色成人| 久热这里只有精品在线观看 | 国内一级片| 国内精品99| 69精品人妻不卡视频| 99ri在线观看视频| wwwC0maV五月花| 狠狠色丁香婷婷久久综合| 久久九色| 熟妇人妻中文字幕无码老熟妇| 99热官网精品在线| 久久这里只有精彩| 另类激情中文| 中字幕视频在线永久在线观看免费 | 五月丁香久久| 性色综合网| 99久久久国产大片区| 丁香五月婷在线观看| 久久9精品| 丁香婷婷AV| 日韩综合久久| 亚洲婷婷激情五月天| 狠狠爱综合| 人碰人人人玩91| 色九月婷婷| 狠狠搞亚洲| 色色色综合网| 日韩av网站在线观看| 五月天自拍网| 久99热| Av在线资源| 五月色丁香综合| 99精品网| 天天色中文字幕女优AV| 丁香五月网站| 狠狠五月激情丁香六月| 亚州欧美黄色电影| 五月丁香六月激情综合啪啪| 婷婷综合五月天| 国产精品美女久久久久AV超清| 久久91久久精品久久| 久久丁香五月综合六月激情红杏视频 | 亚洲激情婷婷| 91蝌蚪窝视频在线| 色七色九九| 操逼视频一区| 五月婷婷六月丁香首页| 久久精品视频9| 超碰99在线观看| 丁香婷婷超碰| 天天骑天天操| 九九99热精品| 国产色五月婷婷| 激情开心五月天| 久久久18| 色婷婷大香蕉| 婷婷网影院| 婷婷丁香五月在线播放| 大香蕉婷婷婷| 九九热在这里只有精品| 国产毛片欧美毛片久久久 | 婷婷五月天改成什么了| 五月丁香综合啪啪| 婷婷丁香九月| 色99自拍| 丁香五月色五月| 五月婷婷激情五月| 欧美色色日韩| 五月婷婷免费在线观看视频| 99碰碰碰| 天天色综网| 1024AV视频| 五月天夜夜爱夜夜操| 人妻丰满精品一区二区A片| 玖月婷婷爱丁香| 99热亚洲| 天天上天天爽| 美国少妇性做爰| 丁香五月宝贝激情网| 婷婷五月天在线观看| 99碰网站| 五月色网| 九九国产精视频| 丁香婷婷社区| 激情五月天综合图片小说网站 | 激情图片亚洲| 九月丁香婷婷| 夜夜天天久久婷婷| 婷婷色色网站| 五月丁香婷婷成人综合网| 丁香五月色激情| 99热无码首页| 国产精品岛国片在线观看免费| 丁香五月成人婷婷| 婷婷五月天六点丁香五月| 欧美内射AA| Xx色综合| 日韩av手机在线观看| 亚洲欧州色情在线观看| 五月天色色色色色| 久久久99久久| 亚洲天天免费| 国产女18毛片多18精品| 91精品久久久久、久五月天| 99九九精品视频| 强伦轩人妻一区二区电影| 精品无码av丁香五月激情| 欧美成人一区二区三区在线视频 | 97碰| 99精品在线| 久久成人天| 色99免费视频中文| 激情四射五月天| www.sd-xiangsu.cpm| 天天干人人奸97| 婷婷五月激情小说| 日本综合色图| www.lchjjc.com| 开心五月激情网| jiqingtaose五月天| 中文字幕丰满孑伦无码专区| 日本成人小说婷婷六月| 五月 激情视频| 91久久久久久| 丁香婷婷五月| 免费视频舔| 伊人激情综合| 99久久九九| 久久久人人人妻丝丝丝| 97热精品| 欧美亚洲色色色色| 久久久久网站| 天天拍夜夜爽日日| 欧美日韩国产一区| 极品人妻VIDEOSSS人妻| 大香线蕉伊人| 性爱电影科技贸易有限公司| 久婷婷五月综合欧美| 亚洲综合另类| 色婷婷国产精品综合在线观看| 婷婷久久五月| 欧洲S级在线观看| 久久精品99国产精品日本| 激情五月婷婷五月| 色五月婷婷丁香国产在线| av在线不卡播放| 欧美一级色| 一级二级色大片| 五月天播播综合| 色婷婷狠狠18yy| 色婷婷小说网| 婷婷网五月天| 精品人妻久久久| 色色免费网站| 五月婷婷丁香大香蕉| 婷婷五月色| 激情综合网激情五月天| 久热只有这里精品| 5月婷婷视频网站综合| 激情五月婷婷啪啪| 五月婷视频| 99热只有| 五月婷婷色影院| 深爱激清网| 亚洲色婷婷99一9|| 久久五月婷| 五月婷婷婷| 丁香五月停停av| 成人视频网| 99在线精品视频| 久久九九网| 综合网啪| 狼人伊人干| 日韩久久成人| 专区无日本视频高清8| 天天摸天天做天天爱天天爽| 天天成人综合视频| 九月婷婷综合八月丁香在线观看| 超碰激情网| 第四色网婷婷| 超碰人人妻| 五月婷婷影视| 免看黄大片AA | 久久99热这里只频精品6学生| www.99热在线观看| 欧美日韩成人高清在线| 丁香婷婷视频在线| 亚洲色激情| 丁香五月六月欧美| 九九草热在线观看| 五月天亚洲最大成人| 激情五月天婷婷免费观看| 99久久精品色老| 99热销国产这里有精品| 99色.com| 97操碰在线视频| 性爱网六月丁香| 色亭亭丁香五月天| 日本操天堂| 激情小说视频图片| 色欲一区二区三区精品A片| 九九亚洲视频| 国产成人99久久亚洲综合精品| 97久久久久| 久久亚洲婷婷| 久久精彩免费视频| av九九| 小视频久久久aaa| 中文AV网站| 五月天婷婷基地| 日日爽夜夜爽| 免费看欧美成人A片无码| 69精品人人人人| 激情婷婷丁香五月| 色五月综合网站| 99艹精品在线观看| 狠狠久久婷婷| 九热视频在线精品15| 成人AV在线网站| 激情五月综合色| 天天摸,天天爽| 五月婷婷之激情五月| 99成人免费视频| 丁香狠狠色婷婷久久无码视频| 五月天综合在线观看视频| 色五月婷婷大香蕉| 亚洲热久久| 国产肥白大熟妇BBBB视频| 久久99网| 狠狠干.com| 日本欧美啪啪| 激情四射五月天| 日韩成人五月天| 色欲五月婷婷| 五月婷婷六月色| 婷综合| 欧美成人精品三区综合A片| 国产精品色情AAAAA片软件| 色婷婷av综合网| 国产一区18| 97福利视频| 亚洲色域网| 五月婷婷真爱激情网| 情色五月天网站| 五月丁香综合网| 沈娜娜av| 婷婷四色五月| 色婷婷五月天激情综合| 激情五月丁香亭亭| 久久丁香五月天| 久草x色在线观看99 | www.99热这里精品| 97碰碰在线观看视频| 婷婷亚洲久久| 在线观看五月婷婷网| 亚洲综合婷婷五月天| 国产欧美va| 婷婷在线视频| 久久婷婷桃花五月天| 超碰91在线| 色情免费视频播放| 超碰免费大香蕉| 蜜桃成语时李时珍 免费| 日韩精品无码AV| 激情色中文| 色视频五月天| 五月婷婷丁香五月| 久久182| 色情五月丁香婷婷网| 天天操夜夜橾| 亚洲综合色婷婷| 激情碰碰碰| 五月丁了香蕉综合| 狠狠穞A片一區二區三區| 五月综合久久| 大香蕉五月| 五月开心婷婷| 色婷婷九月| 色婷婷成人久久| 天天干夜夜操A片| 婷婷色五天| 色婷婷五月天av在线| 日韩啪啪视频| 日本狠狠网| 国产古装妇女野外A片| 色色色区| 婷婷精品综合| 国产午夜精品AV一区二区麻豆| 99视频在线播放大全| 色播婷婷五月天| 成人午夜无码视频| 天堂网啪啪| 淫水导航| 综合激情五月丁香| 婷综合六月| 在线播放中文字幕| 色五月五月天色婷婷色五月| 高清资源站日A美A欧亚…| 色欲天天综合网| 夜夜爽天天爽| www.久99| 色婷五月天亚洲| 99re这里| 中文字幕,综合,91| 婷婷五月视屏| 婷婷最新地址| 色人五月婷婷| 99碰碰| 欧美日朝成人| 庭庭久久内射| 狠狠色网| 色综合色综合色综合色综合| 国产精品久久久爽爽爽麻豆色哟哟| 丁香五月色| 99riAV国产精品视频| 超碰五月婷婷五月天| 婷婷五月丁香伊人网| 五月天婷婷成人网| 五月婷丁香花| 91久久精品无码一区二区三区| 1024AV视频| 天天射影| 天天色亚洲| AV在线免费播放| www.henhenl| 激情图片久久| www.激情五月| 99小视频在线观看| 久久ab| 六月丁香啪| 婷婷综合五月天亚洲综合| 99在线视频网址在线观看| www.思思99热| 久久黄色片| 99色热视频| 97色干在线观看| 99精品视频免费观看,| 三级片AAA久久久AAA久久久AAA| 精品久久人妻热| 亚洲成人在线播放| 全网最新网黄大秀直播高清,主播国产录屏在线| 伊人久久婷婷| 玖玖婷婷五月天| 五月婷婷基地| 丁香五月激情婷婷视频| 久久色9| 91操在线视频| 欧美25p| 思思热99er在线视频| 国产在线aaa片一区二区99| 五月丁香久久久日婷婷久久婷婷日| 五月天婷婷综合网| 激情亚洲色图片丁香综合| 婷婷中合| 色爱亚洲| 久久精品五月天| 亚洲人妻av| 97亚洲色 torrent magnet| 91Chinese在线| 五月丁香综合久久| 高清a片基地| 久久激情五月婷婷| 99视频35精品视频在线观看| 99综合视频| 99re这里只有精品国产99| 亚洲电影在线观看| www天天爽| 激情九月天天天天婷婷| 99超级碰碰| 97热久久五月婷婷| 婷婷五月天丁香花| 都市激情五月婷婷综合| 一级视频网址| 精品久热69| 一区色色色色网| 丰满少妇乱A片无码| 日日夜夜小色哥| 人人爽欧美婷婷久久久五月丁香| 97在线精品| 天天插夜夜爽| 99热在线爱| 色五月播五月| 我要看激情五月天| 婷婷丁香亚洲色综合91| 99久久婷婷| 久播影院免费观看电视剧大全最新网| 99久在线精品99re5热视频| 激情五月婷婷| 婷婷久久免费看| 成人国产网| 无码动漫av| 婷婷激情五月| 久久久天堂国产精品女人| 婷婷久久久久久久| 九九综合88| 综合久久99| 久色资源网| 五月香婷婷| 亚洲无码性爱| 综合伊人久久| 色情五月丁香婷婷网| 狠狠色丁香久久综合婷婷亚洲成人福利 | 婷婷情色五月天| 粉嫩AV久久一区二区三区| 天天爽,夜夜爽| 天堂AV三级| 久久99免费视屏| 色色婷婷五月天| 五月开心激情| 激情婷婷综合| 色欲久久久久久综合网综合网| 丰满少妇猛烈A片免费看观看| 婷婷狠狠操| 色丁香综合影院| www.91九色| 五月婷婷六月丁香| 色色色色av777| 日本97在线视频| 日本波多野结衣视频| 久久婷婷综合五月天| 五月丁香六月婷婷网站| 久热只有这里有精品| 丁香五月婷婷激情完整版| 九九精品热| 99热碰碰热| 婷婷色爱| 五月天激情在线视频| 五月婷婷影| 精品99*| 五月天激情小说| 99热综合色图| 26uuu欧美激情另类| 色欲色天天香综合| 八戒青柠影视剧在线观看| 97操操操| 婷婷五月天视频| 青青草原精品久久| 色五月亚洲五月天| 五月天激情小说| 欧美日韩五月婷婷| 99热精品在线播放| 99视频久久免费视频| 97人人操在线| 噜噜狠狠色综合久| 丁香花狠狠婷婷亚洲中文字幕| www久久久| 久久伊人大香蕉| 99a级片| 天天久| 婷婷五月色亚洲| 欧美欧盟性爱网| 婷婷射图| 久久九精品| 国精产品一区一区三区免费视频| 五月激情六月宗合| 99在线观看视频| 激情开心五月天| 色婷婷狠狠18| 情婷婷五月天| 六月天无码网址| 亚洲熟妇AV综合网五月丁香伊人| 天天插天天玩天天干| 成人五月天丁香| 91九色 婷婷| 综合五月丁香六月婷婷| 丁香五月婷婷亚洲激情四射| 丁香五月婷婷操逼| 欧美精品XXXXBBBB| 九九色影视| 五月天激情网页| 六月婷婷色宗合| 国产精品久久久60086| 婷婷色系婷色| 五月丁综合在线观看| 婷婷丁香五月天在线视频| 色色99色色| 夜夜骑操AV| 五月天婷婷午夜丁香| 丁香五月自拍| 九洲一级A片| 91爱操| 99热久| 激情另类综合| 色播五月婷婷综合| 激情五月婷婷在线区| 激情影院免费视频婷婷五月天| 六月婷五月丁香| 婷婷玉月丁香五月在线视频| 色婷婷婷av| 丁香婷婷六月天| 69精品人人人人| 98毛片| 五月丁香综合久久| 五月丁香激情六月| 欧美五月丁香| 久热超碰91| 婷婷久草| 久久久天堂国产精品女人| 极品人妻VIDEOSSS人妻| 日韩在线视频9色| 九九综合网| 久色激情| 97干在线| 六月香五月婷| 99热这里只有精品最新地址获取| 婷婷六月天激情| 99久在线精品| 日本三级日本三级99| 丁香五月激情五月| 五月丁香网站| 欧美情色一区| 人操人人| 五月天啪啪| 天天操夜夜玩!| 五月亚洲| 99热在线观看| 搡BBBB搡BBB搡18| 久久综合综合综合| 97婷婷狠狠| 操操操av| 深夜A片| 日本久久婷婷| 婷婷久久综合| 九97免费视频| 国产激情AV| 色综合开心五月深爱五月| 99热这里精品| 99热大香蕉| 大地资源色婷婷视频在线| 人与禽A片啪啪| 啪啪东京热| 开心婷婷五月天综合| 97香蕉碰碰人妻国产欧美| 这里只有精品99视频| 日韩狠狠色婷婷| 亚洲狠狠干| 五月丁香六月婷婷久久| 在线看AV| 五月丁香婷婷在线| 欧洲激情五月天| 天天爽夜夜操| 天天爽天天爽| 色婷婷亚洲在线观看| 天天做天天爱天天爽夜夜揉| 99愛国产| 综合久久久| 久草五月天| 五月丁香狠狠爱婷婷综合| 五月婷婷色色色| 五月情涩综合婷婷| 噜噜噜狠狠色综合| 婷婷五月丁香四射| 五月综合色| se影音资源在线观看| 久色| 淫荡A片| 久久婷婷五月综合97色一本| 亚洲成人va| 五月亭亭直播| 久久99久久久久久久噜噜| 人人操Av| 91超碰人人操| 亚洲成人AV在线| 青青草六月丁香| 91丨九色丨大屁股| 91婷色| 激情五月天社区| 亚洲丁香花五月丁香花| 伊人青草成人| 久久色情| 99热网址| 丁香狠狠色婷婷久久无码视频| 99精品成人无码A片观看金桔| 99re免费精品视频| 五月激情小说| 日本在线观看91| 婷婷五月天色综合| 另类图片五月天| 人妻狠狠操| 国产99久久久| 99操免费视频| 99热这里只有精品首页| http://www.com久久久精品一区| 亚洲免费看片| www.天天干| 玖玖婷婷五月天毛片| 另类综合激情| 色999五月色| 无码人妻一区二区一牛影视| 天天日狠狠| 中文在线成人| 中文字幕高清av| 色色色色色色色色色999| 激情深爱五月天| -91九色大屁股| 五月丁香婷婷深深爱| 熟妇天天综合| 国产精品久久久丁香五月八戒视频| 欧美精品999| 99在线精品观看99| 996er热| 操逼六区| 精品人妻伦一二三区久| 香蕉99网| 中字幕视频在线永久在线观看免费| 丁香婷婷五月综合色情| 五月开心深爱激情网| 久久大国产香蕉| 热99视频| 成人做爰高潮A片免费视频| WWW五月婷婷| 夜夜撸夜夜骑| 思思热天天看| 丁香五月播播| 六月婷婷色综合| 97人人射| 综合久久99| 91精品久久久久久综合五月天| 伊人青涩网| 丁香婷婷五月天色播| 国产亚洲成AV人片在线观黄桃| WWW·天天操·视频?| 日日干夜夜干| 青青草搞屄视频网站| 丁香婷婷久久| 视色网在线播放| 无码激情AAAAA片-区区| 狠狠色丁香婷婷基地| 久久久av久av久片一区二区| 色综合五月婷婷狠狠干| 风流少妇A片一区二区蜜桃 | 久久99热这里| 亚洲日韩乱码一区二区三区四区| 五月色丁香成人| 熟女人妻一区二区三区免费看| 婷婷五月丁香激情色情| 黄色国久久| 五月天影院| 日韩色色一区| 自拍盗摄 另类| 色吧婷婷五月亚洲| 色5月婷婷| 免费观看2018www黄色操逼网站| 无套内射极品大美女| 91九色精品| 久久九九99| 91免费在线视频6| 人人色人人弄人人操| 九九色视频| 亚洲精品中文字幕成人片| 久久综合干| 婷婷五月天深爱| 久久九九九九| 99视频只有精品| 婷婷五月天成人综合网| 大香蕉久热| 国产精品一区在线观看你懂的| 久久aaaa片一区二区| 久久免费操| 日韩成人无码| 天天爽天天日| 五月婷婷中字在线| 婷婷六月天| 婷婷五月婷婷| 九九精品在线观看视频6| 久久久久激情| 日韩在线看AV| 激情亚洲婷婷| 色播播之激情五月婷婷| 婷婷中文网站| 大香蕉520| 五月婷婷av| 99热精品在线播放观看| 99碰在线视频| CHINESE熟女老女人HD视频| 中文av网站| 深爱五月天婷综合|