色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合av,久久激情五月丁香伊人

ARTICLE DETAIL

資訊詳情

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

工業(yè)物聯(lián)網(wǎng)MQTT協(xié)議實(shí)戰(zhàn):從發(fā)布訂閱原理到部署避坑指南

工業(yè)物聯(lián)網(wǎng)MQTT協(xié)議實(shí)戰(zhàn):從發(fā)布訂閱原理到部署避坑指南 1. 為什么工業(yè)物聯(lián)網(wǎng)場(chǎng)景下MQTT成了默認(rèn)選項(xiàng)如果你在工業(yè)現(xiàn)場(chǎng)待過(guò)一定見(jiàn)過(guò)這樣的場(chǎng)景車(chē)間里幾十臺(tái)PLC、傳感器、掃碼槍各自跑著不同的協(xié)議Modbus RTU走串口西門(mén)子設(shè)備走S7協(xié)議電表走DL/T645想把這些數(shù)據(jù)統(tǒng)一收上來(lái)做集中監(jiān)控光是協(xié)議轉(zhuǎn)換就能把人折騰到崩潰。我最早接觸MQTT是在一個(gè)遠(yuǎn)程抄表項(xiàng)目里當(dāng)時(shí)用輪詢(xún)方式采集200多個(gè)點(diǎn)位網(wǎng)絡(luò)稍微抖動(dòng)就丟數(shù)據(jù)后來(lái)?yè)Q成MQTT的發(fā)布訂閱模型設(shè)備主動(dòng)上報(bào)服務(wù)端只管訂閱整個(gè)鏈路一下子清爽了。MQTT全稱(chēng)Message Queuing Telemetry Transport直譯過(guò)來(lái)叫消息隊(duì)列遙測(cè)傳輸。名字里帶“消息隊(duì)列”容易讓人誤以為它是個(gè)消息中間件其實(shí)它是一套輕量級(jí)的通信協(xié)議規(guī)范跑在TCP/IP之上專(zhuān)門(mén)為低帶寬、不穩(wěn)定網(wǎng)絡(luò)環(huán)境下的設(shè)備通信設(shè)計(jì)。工業(yè)物聯(lián)網(wǎng)里設(shè)備數(shù)量多、網(wǎng)絡(luò)環(huán)境復(fù)雜、單臺(tái)設(shè)備算力和電量都有限這三點(diǎn)決定了通信協(xié)議必須滿(mǎn)足幾個(gè)硬指標(biāo)報(bào)文頭足夠小、連接開(kāi)銷(xiāo)足夠低、支持?jǐn)嗑€重連、能適應(yīng)高延遲網(wǎng)絡(luò)。MQTT恰好把這幾點(diǎn)都做到了。它的核心模型是發(fā)布訂閱加主題路由。設(shè)備不直接跟設(shè)備說(shuō)話(huà)而是把消息發(fā)到一個(gè)叫Broker的中間節(jié)點(diǎn)Broker根據(jù)主題把消息分發(fā)給所有訂閱了該主題的客戶(hù)端。這個(gè)設(shè)計(jì)帶來(lái)的好處是解耦發(fā)布者不需要知道誰(shuí)在聽(tīng)訂閱者不需要知道誰(shuí)在發(fā)雙方只認(rèn)主題。工業(yè)場(chǎng)景里設(shè)備增減是常態(tài)今天加一臺(tái)溫濕度傳感器明天撤掉一臺(tái)舊電表用發(fā)布訂閱模型服務(wù)端代碼幾乎不用動(dòng)只要約定好主題規(guī)范就行。這套協(xié)議最早由IBM的Andy Stanford-Clark和Arcom的Arlen Nipper在1999年設(shè)計(jì)當(dāng)時(shí)是為了監(jiān)控石油管道通過(guò)衛(wèi)星鏈路傳輸數(shù)據(jù)。衛(wèi)星鏈路帶寬貴、延遲高所以協(xié)議必須極致精簡(jiǎn)。后來(lái)這套設(shè)計(jì)被OASIS標(biāo)準(zhǔn)化2014年發(fā)布MQTT 3.1.12019年發(fā)布MQTT 5.0?,F(xiàn)在工業(yè)物聯(lián)網(wǎng)平臺(tái)、車(chē)聯(lián)網(wǎng)、智能家居、電力監(jiān)控幾乎都能看到MQTT的身影。你如果正在做設(shè)備上云、遠(yuǎn)程監(jiān)控、數(shù)據(jù)采集這類(lèi)項(xiàng)目MQTT基本是繞不開(kāi)的一環(huán)。這一章我打算把MQTT的協(xié)議原理和架構(gòu)機(jī)制從頭到尾拆一遍不堆術(shù)語(yǔ)盡量用工業(yè)現(xiàn)場(chǎng)的案例來(lái)解釋每個(gè)設(shè)計(jì)背后的意圖。讀完你應(yīng)該能搞清楚MQTT的報(bào)文長(zhǎng)什么樣、連接是怎么建立的、QoS等級(jí)怎么選、主題怎么設(shè)計(jì)、Broker內(nèi)部大致怎么運(yùn)轉(zhuǎn)以及在實(shí)際部署時(shí)哪些坑最容易踩。2. MQTT協(xié)議整體架構(gòu)與核心概念拆解2.1 發(fā)布訂閱模型到底解決了什么問(wèn)題傳統(tǒng)請(qǐng)求響應(yīng)模型里客戶(hù)端要拿數(shù)據(jù)必須主動(dòng)去問(wèn)服務(wù)端這叫輪詢(xún)。工業(yè)現(xiàn)場(chǎng)用輪詢(xún)有個(gè)致命問(wèn)題設(shè)備數(shù)量一多輪詢(xún)周期就拉長(zhǎng)實(shí)時(shí)性直線下降。假設(shè)你有500臺(tái)設(shè)備每臺(tái)輪詢(xún)一次耗時(shí)200毫秒輪完一圈就是100秒等數(shù)據(jù)到手早就過(guò)時(shí)了。而且大部分輪詢(xún)返回的是“沒(méi)變化”白白浪費(fèi)帶寬和電。發(fā)布訂閱模型把主動(dòng)方換成了設(shè)備。設(shè)備有數(shù)據(jù)就發(fā)沒(méi)數(shù)據(jù)就安靜待著。Broker負(fù)責(zé)把消息推給所有關(guān)心的人。這個(gè)轉(zhuǎn)變帶來(lái)的直接收益是實(shí)時(shí)性由設(shè)備上報(bào)頻率決定不受設(shè)備總數(shù)影響帶寬消耗跟數(shù)據(jù)變化頻率成正比而不是跟設(shè)備數(shù)量成正比服務(wù)端不需要維護(hù)輪詢(xún)調(diào)度器架構(gòu)簡(jiǎn)單很多。我做過(guò)一個(gè)對(duì)比測(cè)試同樣采集300個(gè)點(diǎn)位輪詢(xún)方案平均延遲8秒MQTT方案平均延遲不到500毫秒而且網(wǎng)絡(luò)流量只有輪詢(xún)方案的六分之一。這個(gè)差距在工業(yè)場(chǎng)景里是決定性的因?yàn)楹芏嗫刂七壿嬕竺爰?jí)甚至亞秒級(jí)響應(yīng)。2.2 客戶(hù)端、Broker、主題三者的關(guān)系MQTT網(wǎng)絡(luò)里只有兩種角色客戶(hù)端和Broker??蛻?hù)端可以是發(fā)布者、訂閱者或者兩者都是。Broker是中心節(jié)點(diǎn)所有消息都經(jīng)過(guò)它轉(zhuǎn)發(fā)。這個(gè)中心化設(shè)計(jì)有人會(huì)擔(dān)心單點(diǎn)故障但實(shí)際工業(yè)部署中Broker通常做集群而且MQTT協(xié)議本身對(duì)Broker集群是透明的客戶(hù)端不需要知道背后有幾個(gè)Broker。主題是消息的路由地址用斜杠分隔的字符串表示比如factory/line1/temperature。主題不需要預(yù)先創(chuàng)建發(fā)布者往某個(gè)主題發(fā)消息訂閱者訂閱這個(gè)主題就能收到。主題支持通配符匹配單層#匹配多層。比如訂閱factory//temperature能收到factory/line1/temperature和factory/line2/temperature但收不到factory/line1/device1/temperature。訂閱factory/#則能收到factory下所有層級(jí)的消息。這里有個(gè)容易混淆的點(diǎn)主題是大小寫(xiě)敏感的Factory/Line1和factory/line1是兩個(gè)完全不同的主題。工業(yè)項(xiàng)目里建議統(tǒng)一用小寫(xiě)加下劃線或斜杠避免因?yàn)榇笮?xiě)問(wèn)題導(dǎo)致消息收不到。我見(jiàn)過(guò)一個(gè)項(xiàng)目前端訂閱寫(xiě)的是Device/Status設(shè)備發(fā)布用的是device/status排查了半天才發(fā)現(xiàn)是大小寫(xiě)不一致。2.3 報(bào)文結(jié)構(gòu)為什么MQTT能做得這么小MQTT報(bào)文由固定頭、可變頭、有效載荷三部分組成。固定頭最少2字節(jié)第一個(gè)字節(jié)高4位是報(bào)文類(lèi)型低4位是標(biāo)志位第二個(gè)字節(jié)開(kāi)始是剩余長(zhǎng)度用變長(zhǎng)編碼表示最多4字節(jié)。可變頭和有效載荷根據(jù)報(bào)文類(lèi)型不同而不同。固定頭只有2字節(jié)是什么概念對(duì)比HTTP一個(gè)最簡(jiǎn)單的GET請(qǐng)求請(qǐng)求行加請(qǐng)求頭輕松超過(guò)200字節(jié)。MQTT的CONNECT報(bào)文在沒(méi)有任何可選字段時(shí)也就十幾個(gè)字節(jié)。這個(gè)差距在NB-IoT、LoRa這類(lèi)按流量計(jì)費(fèi)的場(chǎng)景里直接關(guān)系到成本。我算過(guò)一筆賬一個(gè)設(shè)備每分鐘上報(bào)一次數(shù)據(jù)用MQTT一年流量大概幾十兆用HTTP可能要幾百兆差了一個(gè)數(shù)量級(jí)。報(bào)文類(lèi)型一共14種常用的就那么幾種CONNECT連接、CONNACK連接確認(rèn)、PUBLISH發(fā)布消息、PUBACK發(fā)布確認(rèn)、SUBSCRIBE訂閱、SUBACK訂閱確認(rèn)、PINGREQ心跳請(qǐng)求、PINGRESP心跳響應(yīng)、DISCONNECT斷開(kāi)連接。記住這幾種日常開(kāi)發(fā)基本夠用了。2.4 會(huì)話(huà)狀態(tài)與Clean Session的取舍MQTT客戶(hù)端連接Broker時(shí)可以指定Clean Session標(biāo)志。設(shè)為true表示這次連接不保留任何歷史狀態(tài)斷開(kāi)后訂閱關(guān)系和未確認(rèn)消息全部丟棄。設(shè)為false表示Broker要保留會(huì)話(huà)狀態(tài)包括訂閱關(guān)系和QoS 1、QoS 2的未確認(rèn)消息客戶(hù)端重新連接后能繼續(xù)收到離線期間的消息。工業(yè)場(chǎng)景里這個(gè)選擇很關(guān)鍵。比如一個(gè)遠(yuǎn)程泵站網(wǎng)絡(luò)時(shí)斷時(shí)續(xù)如果Clean Session設(shè)為true每次斷線重連后都要重新訂閱而且斷線期間的數(shù)據(jù)全丟了。設(shè)為false的話(huà)Broker會(huì)幫它緩存QoS 1以上的消息重連后自動(dòng)補(bǔ)發(fā)。但代價(jià)是Broker要維護(hù)每個(gè)客戶(hù)端的會(huì)話(huà)狀態(tài)內(nèi)存和存儲(chǔ)開(kāi)銷(xiāo)會(huì)上去。我的經(jīng)驗(yàn)是對(duì)于數(shù)據(jù)采集類(lèi)設(shè)備Clean Session設(shè)為falseQoS用1保證數(shù)據(jù)不丟對(duì)于控制指令類(lèi)設(shè)備Clean Session設(shè)為true因?yàn)榭刂浦噶钣袝r(shí)效性補(bǔ)發(fā)歷史指令反而可能造成誤動(dòng)作。這個(gè)取舍要根據(jù)業(yè)務(wù)場(chǎng)景來(lái)定沒(méi)有一刀切的標(biāo)準(zhǔn)。3. 連接建立與心跳機(jī)制從TCP到MQTT的完整鏈路3.1 CONNECT報(bào)文里都帶了什么客戶(hù)端要跟Broker通信第一步是建立TCP連接然后發(fā)送CONNECT報(bào)文。CONNECT報(bào)文里包含幾個(gè)關(guān)鍵字段協(xié)議名和協(xié)議級(jí)別、連接標(biāo)志、保持連接時(shí)間、客戶(hù)端ID、用戶(hù)名、密碼、遺囑消息。協(xié)議級(jí)別現(xiàn)在常用的是4對(duì)應(yīng)MQTT 3.1.15對(duì)應(yīng)MQTT 5.0。如果客戶(hù)端和Broker支持的協(xié)議級(jí)別不一致Broker會(huì)返回CONNACK并拒絕連接。我遇到過(guò)用3.1.1客戶(hù)端連5.0 Broker的情況大部分Broker是向下兼容的但有些嚴(yán)格模式會(huì)直接拒絕所以部署前要確認(rèn)版本匹配??蛻?hù)端ID是客戶(hù)端的唯一標(biāo)識(shí)Broker用它來(lái)識(shí)別會(huì)話(huà)。如果兩個(gè)客戶(hù)端用同一個(gè)ID連接后連接的會(huì)把先連接的踢掉。工業(yè)項(xiàng)目里客戶(hù)端ID建議用設(shè)備序列號(hào)或MAC地址保證唯一性。我見(jiàn)過(guò)有人用隨機(jī)數(shù)做客戶(hù)端ID結(jié)果設(shè)備重啟后會(huì)話(huà)狀態(tài)全丟了因?yàn)锽roker認(rèn)為這是個(gè)新客戶(hù)端。保持連接時(shí)間是個(gè)以秒為單位的整數(shù)客戶(hù)端承諾在這個(gè)時(shí)間內(nèi)至少發(fā)一次報(bào)文。如果Broker在這個(gè)時(shí)間的1.5倍內(nèi)沒(méi)收到任何報(bào)文就認(rèn)為客戶(hù)端離線觸發(fā)遺囑消息。這個(gè)值設(shè)太小會(huì)導(dǎo)致頻繁心跳設(shè)太大會(huì)導(dǎo)致離線檢測(cè)遲鈍。一般設(shè)30到60秒比較合適網(wǎng)絡(luò)差的場(chǎng)景可以設(shè)到120秒。3.2 遺囑消息設(shè)備掉線后的最后一道保險(xiǎn)遺囑消息是客戶(hù)端在CONNECT時(shí)預(yù)先告訴Broker的如果我異常斷線了你幫我把這條消息發(fā)到某個(gè)主題。這個(gè)機(jī)制在工業(yè)監(jiān)控里非常有用。比如一個(gè)溫度傳感器正常時(shí)每分鐘上報(bào)一次數(shù)據(jù)同時(shí)設(shè)置遺囑消息為factory/line1/sensor1/status主題的offline。如果傳感器突然斷電或網(wǎng)絡(luò)中斷Broker檢測(cè)到心跳超時(shí)后會(huì)自動(dòng)發(fā)布這條遺囑消息監(jiān)控端立刻就能知道設(shè)備離線了。遺囑消息的觸發(fā)條件是異常斷線包括TCP連接斷開(kāi)、心跳超時(shí)、客戶(hù)端被踢。如果客戶(hù)端主動(dòng)發(fā)送DISCONNECT報(bào)文正常斷開(kāi)遺囑消息不會(huì)觸發(fā)。這個(gè)區(qū)別很重要因?yàn)檎>S護(hù)重啟不應(yīng)該觸發(fā)離線告警。遺囑消息的QoS和保留標(biāo)志可以單獨(dú)設(shè)置。建議遺囑消息用QoS 1加保留標(biāo)志確保監(jiān)控端一定能收到而且新訂閱的客戶(hù)端也能立刻知道設(shè)備當(dāng)前狀態(tài)。3.3 心跳與Keep Alive的實(shí)際調(diào)優(yōu)心跳機(jī)制靠PINGREQ和PINGRESP兩個(gè)報(bào)文維持??蛻?hù)端在保持連接時(shí)間內(nèi)沒(méi)有其他報(bào)文要發(fā)時(shí)就發(fā)一個(gè)PINGREQBroker回一個(gè)PINGRESP。這個(gè)過(guò)程對(duì)應(yīng)用層是透明的大多數(shù)MQTT客戶(hù)端庫(kù)會(huì)自動(dòng)處理。調(diào)優(yōu)心跳間隔要考慮幾個(gè)因素網(wǎng)絡(luò)延遲、設(shè)備功耗、Broker負(fù)載。網(wǎng)絡(luò)延遲大的場(chǎng)景心跳間隔要設(shè)大一點(diǎn)否則PINGREQ還沒(méi)到Broker客戶(hù)端就以為超時(shí)了。電池供電的設(shè)備心跳間隔要設(shè)大一點(diǎn)減少喚醒次數(shù)。Broker負(fù)載高的場(chǎng)景心跳間隔也不能太小否則大量PINGREQ會(huì)擠占正常消息的處理資源。我一般這樣估算如果網(wǎng)絡(luò)往返延遲是RTT心跳間隔至少設(shè)為RTT的10倍以上。比如4G網(wǎng)絡(luò)RTT大概100毫秒心跳間隔設(shè)30秒就很安全。如果RTT超過(guò)1秒心跳間隔建議設(shè)到60秒以上。注意有些MQTT客戶(hù)端庫(kù)把保持連接時(shí)間設(shè)為0表示禁用心跳這時(shí)候Broker不會(huì)檢測(cè)客戶(hù)端離線遺囑消息也不會(huì)觸發(fā)。除非你明確知道自己在做什么否則不要禁用心跳。3.4 連接重試與退避策略工業(yè)現(xiàn)場(chǎng)網(wǎng)絡(luò)不穩(wěn)定是常態(tài)客戶(hù)端斷線重連的邏輯必須健壯。最簡(jiǎn)單的做法是斷線后立即重連但這樣在網(wǎng)絡(luò)故障時(shí)會(huì)瘋狂重試把Broker打掛。正確的做法是指數(shù)退避第一次重試等1秒第二次等2秒第三次等4秒一直退到最大間隔比如60秒然后保持這個(gè)間隔重試。有些MQTT客戶(hù)端庫(kù)內(nèi)置了退避邏輯有些沒(méi)有需要自己實(shí)現(xiàn)。我建議不管庫(kù)有沒(méi)有內(nèi)置都在應(yīng)用層加一層退避控制因?yàn)閹?kù)的默認(rèn)策略不一定適合你的場(chǎng)景。比如有些庫(kù)默認(rèn)無(wú)限重試且間隔固定在Broker維護(hù)期間會(huì)產(chǎn)生大量無(wú)效連接。重連成功后要檢查會(huì)話(huà)狀態(tài)。如果Clean Session為falseBroker會(huì)恢復(fù)之前的訂閱關(guān)系客戶(hù)端不需要重新訂閱。但有些Broker實(shí)現(xiàn)有bug重連后訂閱關(guān)系丟失所以保險(xiǎn)起見(jiàn)可以在重連回調(diào)里重新訂閱一次。重復(fù)訂閱同一個(gè)主題不會(huì)報(bào)錯(cuò)Broker會(huì)覆蓋之前的訂閱。4. QoS等級(jí)與消息可靠性工業(yè)場(chǎng)景怎么選4.1 QoS 0最多一次什么時(shí)候能用QoS 0是最簡(jiǎn)單的等級(jí)發(fā)布者發(fā)完就忘Broker收到就轉(zhuǎn)發(fā)不保證消息一定到達(dá)訂閱者。這個(gè)等級(jí)適合什么場(chǎng)景數(shù)據(jù)高頻上報(bào)且允許偶爾丟失的場(chǎng)景。比如環(huán)境溫濕度監(jiān)測(cè)每秒上報(bào)一次丟一兩個(gè)點(diǎn)對(duì)整體趨勢(shì)沒(méi)影響用QoS 0最省資源。QoS 0的報(bào)文里沒(méi)有報(bào)文標(biāo)識(shí)符PUBLISH發(fā)出去就結(jié)束了不需要PUBACK。這意味著發(fā)布者和Broker之間沒(méi)有確認(rèn)機(jī)制Broker和訂閱者之間也沒(méi)有。消息可能在任何一個(gè)環(huán)節(jié)丟失。但它的好處是延遲最低、開(kāi)銷(xiāo)最小在帶寬緊張的場(chǎng)景下是唯一選擇。我做過(guò)測(cè)試同樣硬件條件下QoS 0的吞吐量大概是QoS 1的3倍延遲只有QoS 1的一半。所以如果業(yè)務(wù)允許丟數(shù)據(jù)QoS 0是性?xún)r(jià)比最高的選擇。4.2 QoS 1至少一次重復(fù)消息怎么處理QoS 1保證消息至少到達(dá)一次但可能重復(fù)。發(fā)布者發(fā)PUBLISH后等Broker回PUBACK如果超時(shí)沒(méi)收到就重發(fā)。Broker轉(zhuǎn)發(fā)給訂閱者后等訂閱者回PUBACK超時(shí)也重發(fā)。這個(gè)機(jī)制保證了消息不丟但代價(jià)是可能重復(fù)。重復(fù)消息在工業(yè)場(chǎng)景里可能造成問(wèn)題。比如一個(gè)控制指令“開(kāi)閥”重復(fù)執(zhí)行兩次可能沒(méi)問(wèn)題但如果是“累加計(jì)數(shù)”這種指令重復(fù)執(zhí)行就會(huì)出錯(cuò)。處理重復(fù)消息有兩種思路一是讓指令冪等執(zhí)行多次和執(zhí)行一次效果一樣二是在應(yīng)用層做去重用消息ID或時(shí)間戳判斷是否已處理。MQTT 5.0之前QoS 1的報(bào)文標(biāo)識(shí)符只有16位范圍1到65535用完后要等確認(rèn)才能復(fù)用。高吞吐場(chǎng)景下這個(gè)范圍可能不夠用導(dǎo)致發(fā)布阻塞。MQTT 5.0引入了主題別名和流控機(jī)制來(lái)緩解這個(gè)問(wèn)題但根本解決辦法還是控制發(fā)布速率。4.3 QoS 2恰好一次代價(jià)有多大QoS 2保證消息恰好到達(dá)一次不丟也不重。實(shí)現(xiàn)方式是四次握手發(fā)布者發(fā)PUBLISHBroker回PUBREC發(fā)布者發(fā)PUBRELBroker回PUBCOMP。Broker到訂閱者之間也是類(lèi)似的流程。這個(gè)機(jī)制最可靠但開(kāi)銷(xiāo)也最大延遲最高。QoS 2在工業(yè)場(chǎng)景里用得不多因?yàn)榇蟛糠謭?chǎng)景要么允許丟數(shù)據(jù)用QoS 0要么能容忍重復(fù)用QoS 1加去重。真正需要恰好一次的場(chǎng)景比如計(jì)費(fèi)、交易通常會(huì)在應(yīng)用層再做一層事務(wù)保證不會(huì)只依賴(lài)MQTT的QoS 2。我個(gè)人的建議是除非業(yè)務(wù)明確要求恰好一次且無(wú)法在應(yīng)用層去重否則優(yōu)先用QoS 1。QoS 2的額外開(kāi)銷(xiāo)在設(shè)備數(shù)量多的時(shí)候會(huì)顯著增加Broker負(fù)擔(dān)而且很多Broker對(duì)QoS 2的支持并不完美高并發(fā)下可能出現(xiàn)性能瓶頸。4.4 保留消息與遺囑消息的QoS搭配保留消息是Broker為每個(gè)主題保存的最后一條消息新訂閱該主題的客戶(hù)端會(huì)立刻收到這條消息。這個(gè)機(jī)制適合發(fā)布設(shè)備狀態(tài)、配置參數(shù)這類(lèi)需要“當(dāng)前值”的場(chǎng)景。比如設(shè)備上線后發(fā)布一條保留消息到device/status主題內(nèi)容為online監(jiān)控端任何時(shí)候訂閱都能立刻知道設(shè)備在線。保留消息的QoS建議用1確保Broker一定能存下來(lái)。遺囑消息的QoS也建議用1確保離線告警不丟。但要注意保留消息會(huì)一直存在Broker上如果設(shè)備頻繁發(fā)布保留消息Broker的存儲(chǔ)會(huì)持續(xù)增長(zhǎng)。有些Broker支持保留消息過(guò)期時(shí)間MQTT 5.0也引入了消息過(guò)期間隔部署時(shí)要配置合理的過(guò)期策略。提示保留消息和遺囑消息可以結(jié)合使用。設(shè)備上線時(shí)發(fā)布保留消息online同時(shí)設(shè)置遺囑消息offline。這樣監(jiān)控端訂閱后立刻知道設(shè)備當(dāng)前狀態(tài)設(shè)備掉線后也能收到離線通知。5. 主題設(shè)計(jì)與Broker內(nèi)部機(jī)制5.1 主題命名規(guī)范從混亂到有序主題設(shè)計(jì)是MQTT項(xiàng)目里最容易被忽視但影響最深遠(yuǎn)的部分。我見(jiàn)過(guò)太多項(xiàng)目主題命名隨心所欲data1、test、abc滿(mǎn)天飛后期維護(hù)時(shí)根本不知道哪個(gè)主題對(duì)應(yīng)哪個(gè)設(shè)備。好的主題設(shè)計(jì)應(yīng)該像文件目錄一樣有層次從大到小逐級(jí)細(xì)化。推薦的結(jié)構(gòu)是{企業(yè)}/{廠區(qū)}/{產(chǎn)線}/{設(shè)備類(lèi)型}/{設(shè)備ID}/{數(shù)據(jù)類(lèi)別}。比如acme/plant1/line2/sensor/temp001/value。這個(gè)結(jié)構(gòu)的好處是訂閱靈活訂閱整個(gè)廠區(qū)用acme/plant1/#訂閱所有溫度傳感器用acme/plant1//sensor//value訂閱特定設(shè)備用acme/plant1/line2/sensor/temp001/#。主題層級(jí)不宜過(guò)深一般不超過(guò)7層。層級(jí)太深會(huì)導(dǎo)致通配符匹配效率下降而且主題字符串本身也會(huì)占用帶寬。主題名稱(chēng)也不宜過(guò)長(zhǎng)建議每層控制在20個(gè)字符以?xún)?nèi)。5.2 通配符的匹配規(guī)則與性能影響和#是MQTT主題通配符但它們的匹配規(guī)則有細(xì)微差別。必須獨(dú)占一層factory//temperature是合法的factory/line/temperature是非法的。#必須放在最后factory/#是合法的factory/#/temperature是非法的。從Broker實(shí)現(xiàn)角度看通配符訂閱比精確訂閱開(kāi)銷(xiāo)大。Broker需要維護(hù)訂閱樹(shù)精確訂閱直接定位到節(jié)點(diǎn)通配符訂閱需要遍歷子樹(shù)。如果大量客戶(hù)端使用#訂閱所有主題Broker的匹配性能會(huì)顯著下降。所以生產(chǎn)環(huán)境要控制通配符訂閱的數(shù)量尤其是#這種全匹配。我一般建議設(shè)備端發(fā)布用精確主題服務(wù)端訂閱可以用通配符但要限制層級(jí)。比如用factory/plant1/#而不是#。如果確實(shí)需要全量訂閱考慮用共享訂閱或者多個(gè)精確訂閱代替。5.3 Broker的會(huì)話(huà)管理與消息隊(duì)列Broker內(nèi)部為每個(gè)客戶(hù)端維護(hù)一個(gè)會(huì)話(huà)對(duì)象包含訂閱列表、未確認(rèn)消息隊(duì)列、QoS 2的狀態(tài)機(jī)等。Clean Session為false時(shí)會(huì)話(huà)在客戶(hù)端斷開(kāi)后仍然保留直到會(huì)話(huà)過(guò)期或被顯式清除。MQTT 5.0引入了會(huì)話(huà)過(guò)期間隔可以設(shè)置會(huì)話(huà)保留多長(zhǎng)時(shí)間。未確認(rèn)消息隊(duì)列是Broker內(nèi)存的主要消耗者。QoS 1和QoS 2的消息在收到確認(rèn)前都要留在隊(duì)列里。如果訂閱者處理慢或者網(wǎng)絡(luò)差隊(duì)列會(huì)持續(xù)增長(zhǎng)。Broker通常有隊(duì)列長(zhǎng)度限制超過(guò)限制后要么丟棄舊消息要么拒絕新消息。工業(yè)場(chǎng)景里要根據(jù)設(shè)備數(shù)量和消息頻率估算隊(duì)列大小避免Broker內(nèi)存溢出。我遇到過(guò)一個(gè)案例一個(gè)訂閱者因?yàn)槌绦騜ug卡住不消費(fèi)消息Broker的未確認(rèn)隊(duì)列漲到幾百萬(wàn)條最后OOM崩潰。后來(lái)加了隊(duì)列長(zhǎng)度限制和監(jiān)控告警問(wèn)題才解決。所以Broker的隊(duì)列配置和監(jiān)控是生產(chǎn)環(huán)境必須做的。5.4 共享訂閱與負(fù)載均衡標(biāo)準(zhǔn)MQTT里一條消息會(huì)發(fā)給所有訂閱了該主題的客戶(hù)端。但有些場(chǎng)景需要多個(gè)消費(fèi)者分擔(dān)消息比如后端有多個(gè)處理進(jìn)程希望每條消息只被一個(gè)進(jìn)程處理。共享訂閱就是解決這個(gè)問(wèn)題的語(yǔ)法是$share/{group}/{topic}同一個(gè)group下的多個(gè)訂閱者輪流收到消息。共享訂閱在工業(yè)物聯(lián)網(wǎng)里很有用。比如數(shù)據(jù)入庫(kù)服務(wù)部署了多個(gè)實(shí)例用共享訂閱可以自動(dòng)做負(fù)載均衡不需要額外的消息隊(duì)列。但要注意共享訂閱不是MQTT標(biāo)準(zhǔn)的一部分不同Broker的實(shí)現(xiàn)可能不同部署前要確認(rèn)Broker支持。6. 工業(yè)現(xiàn)場(chǎng)部署的常見(jiàn)問(wèn)題與排查實(shí)錄6.1 連接頻繁斷開(kāi)從網(wǎng)絡(luò)到配置逐層排查設(shè)備頻繁斷線是工業(yè)現(xiàn)場(chǎng)最常見(jiàn)的問(wèn)題。排查思路是從底層往上走先看TCP連接是否穩(wěn)定用ping和traceroute檢查網(wǎng)絡(luò)質(zhì)量再看MQTT心跳是否正常抓包看PINGREQ和PINGRESP的往返時(shí)間最后看Broker日志確認(rèn)斷開(kāi)原因。常見(jiàn)原因有幾個(gè)心跳間隔設(shè)得太小網(wǎng)絡(luò)稍微抖動(dòng)就超時(shí)客戶(hù)端ID沖突兩個(gè)設(shè)備用了同一個(gè)ID互相踢Broker的保持連接時(shí)間配置和客戶(hù)端不一致Broker認(rèn)為客戶(hù)端超時(shí)了但客戶(hù)端還在正常發(fā)心跳網(wǎng)絡(luò)中間有NAT設(shè)備空閑連接被回收。我遇到過(guò)一個(gè)典型案例設(shè)備用4G網(wǎng)絡(luò)心跳間隔設(shè)了15秒但4G網(wǎng)絡(luò)的RTT偶爾會(huì)超過(guò)15秒導(dǎo)致Broker誤判離線。后來(lái)把心跳間隔調(diào)到60秒問(wèn)題就消失了。所以心跳間隔一定要留足余量不能貼著網(wǎng)絡(luò)延遲設(shè)。6.2 消息丟失QoS、保留消息、會(huì)話(huà)狀態(tài)的聯(lián)合排查消息丟失可能發(fā)生在多個(gè)環(huán)節(jié)發(fā)布者到Broker、Broker內(nèi)部、Broker到訂閱者。排查時(shí)要先確認(rèn)QoS等級(jí)QoS 0本身就不保證到達(dá)丟消息是正常的。如果用了QoS 1還丟就要檢查會(huì)話(huà)狀態(tài)和未確認(rèn)隊(duì)列。一個(gè)常見(jiàn)坑是Clean Session設(shè)為true訂閱者斷線重連后訂閱關(guān)系丟失Broker不知道要給它發(fā)消息。另一個(gè)坑是保留消息被覆蓋如果發(fā)布者頻繁發(fā)布保留消息新訂閱者可能收到的是最新一條而不是它想要的那條。還有一種情況是主題不匹配。發(fā)布者發(fā)到factory/line1/temp訂閱者訂閱的是factory/line1/temperature差一個(gè)字母就收不到。建議在開(kāi)發(fā)階段用Broker的日志或監(jiān)控工具確認(rèn)消息的實(shí)際流向。6.3 Broker性能瓶頸連接數(shù)、吞吐量、內(nèi)存的監(jiān)控要點(diǎn)Broker的性能瓶頸通常出現(xiàn)在三個(gè)地方連接數(shù)、消息吞吐量、內(nèi)存占用。連接數(shù)受限于文件描述符和內(nèi)存每個(gè)連接大概消耗幾KB到幾十KB內(nèi)存。吞吐量受限于CPU和網(wǎng)絡(luò)帶寬TLS加密會(huì)顯著增加CPU開(kāi)銷(xiāo)。內(nèi)存占用主要看未確認(rèn)隊(duì)列和保留消息的數(shù)量。監(jiān)控Broker要關(guān)注幾個(gè)指標(biāo)當(dāng)前連接數(shù)、消息入站出站速率、未確認(rèn)消息隊(duì)列長(zhǎng)度、CPU和內(nèi)存使用率、GC頻率Java系Broker。這些指標(biāo)可以用Broker自帶的監(jiān)控接口或Prometheus exporter采集。我一般會(huì)設(shè)置幾個(gè)告警閾值連接數(shù)超過(guò)最大值的80%、未確認(rèn)隊(duì)列超過(guò)10000條、CPU持續(xù)超過(guò)70%、內(nèi)存持續(xù)超過(guò)80%。這些閾值不是絕對(duì)的要根據(jù)實(shí)際硬件和業(yè)務(wù)量調(diào)整。6.4 安全配置認(rèn)證、授權(quán)與傳輸加密工業(yè)物聯(lián)網(wǎng)的安全不能忽視。MQTT支持用戶(hù)名密碼認(rèn)證但明文傳輸不安全建議配合TLS使用。TLS會(huì)增加一些開(kāi)銷(xiāo)但現(xiàn)在的硬件跑TLS基本沒(méi)問(wèn)題除非是極低功耗的MCU。授權(quán)方面Broker通常支持ACL訪問(wèn)控制列表可以限制哪些客戶(hù)端能發(fā)布或訂閱哪些主題。比如只允許設(shè)備發(fā)布自己的數(shù)據(jù)主題不允許訂閱其他設(shè)備的主題。這個(gè)配置能有效防止設(shè)備被攻破后的橫向擴(kuò)散。還有一個(gè)容易忽視的點(diǎn)是客戶(hù)端證書(shū)。用雙向TLS認(rèn)證可以確保只有持有合法證書(shū)的設(shè)備才能連接比用戶(hù)名密碼更安全。但證書(shū)管理是個(gè)麻煩事設(shè)備數(shù)量多的時(shí)候需要一套證書(shū)簽發(fā)和吊銷(xiāo)的流程。6.5 常見(jiàn)問(wèn)題速查表問(wèn)題現(xiàn)象可能原因排查方法解決方案設(shè)備頻繁斷線心跳間隔太小抓包看PING往返時(shí)間增大心跳間隔留足余量消息收不到主題不匹配對(duì)比發(fā)布和訂閱主題統(tǒng)一主題命名規(guī)范消息重復(fù)QoS 1重傳檢查PUBACK是否丟失應(yīng)用層去重或改用QoS 2Broker內(nèi)存暴漲未確認(rèn)隊(duì)列積壓查看隊(duì)列長(zhǎng)度監(jiān)控限制隊(duì)列長(zhǎng)度優(yōu)化消費(fèi)者連接被拒絕客戶(hù)端ID沖突查看Broker日志確??蛻?hù)端ID唯一遺囑消息不觸發(fā)正常斷開(kāi)檢查是否發(fā)送DISCONNECT異常斷開(kāi)才會(huì)觸發(fā)遺囑保留消息不更新發(fā)布時(shí)未設(shè)保留標(biāo)志檢查PUBLISH報(bào)文標(biāo)志位發(fā)布時(shí)設(shè)置retain為trueTLS握手失敗證書(shū)過(guò)期或不匹配查看TLS握手日志更新證書(shū)檢查域名匹配提示這張表建議打印出來(lái)貼在工位上現(xiàn)場(chǎng)排查時(shí)能省不少時(shí)間。很多問(wèn)題其實(shí)都是配置問(wèn)題不是協(xié)議本身的問(wèn)題。7. 從協(xié)議到落地我的幾點(diǎn)實(shí)操體會(huì)MQTT協(xié)議本身不復(fù)雜報(bào)文類(lèi)型少、交互流程清晰花半天時(shí)間把規(guī)范讀一遍就能理解個(gè)大概。但真正在工業(yè)現(xiàn)場(chǎng)落地難點(diǎn)不在協(xié)議本身而在細(xì)節(jié)配置和異常處理。我做了這么多年踩過(guò)的坑基本都集中在幾個(gè)地方心跳間隔設(shè)得太激進(jìn)、主題命名太隨意、QoS等級(jí)選錯(cuò)、會(huì)話(huà)狀態(tài)沒(méi)管好、Broker監(jiān)控缺失。我的建議是項(xiàng)目初期就把主題規(guī)范定下來(lái)寫(xiě)成文檔所有設(shè)備和服務(wù)端都按這個(gè)規(guī)范來(lái)心跳間隔根據(jù)網(wǎng)絡(luò)質(zhì)量設(shè)寧可大一點(diǎn)也不要貼著極限QoS等級(jí)按業(yè)務(wù)需求選不要無(wú)腦用QoS 2Broker一定要做監(jiān)控連接數(shù)、隊(duì)列長(zhǎng)度、CPU內(nèi)存這些指標(biāo)要能實(shí)時(shí)看到客戶(hù)端重連邏輯要加退避避免網(wǎng)絡(luò)故障時(shí)把Broker打掛。還有一點(diǎn)很重要測(cè)試環(huán)境要模擬真實(shí)網(wǎng)絡(luò)條件。很多問(wèn)題在局域網(wǎng)測(cè)試時(shí)發(fā)現(xiàn)不了一到現(xiàn)場(chǎng)就暴露??梢杂镁W(wǎng)絡(luò)模擬工具制造延遲、丟包、抖動(dòng)提前驗(yàn)證客戶(hù)端的健壯性。我一般會(huì)在測(cè)試環(huán)境把丟包率設(shè)到5%、延遲設(shè)到500毫秒能扛過(guò)這個(gè)條件的客戶(hù)端到現(xiàn)場(chǎng)基本不會(huì)出大問(wèn)題。MQTT 5.0帶來(lái)了不少新特性比如共享訂閱、主題別名、消息過(guò)期、請(qǐng)求響應(yīng)模式這些在工業(yè)場(chǎng)景里都很有用。但5.0的普及還需要時(shí)間很多設(shè)備和平臺(tái)還在用3.1.1。我的建議是新項(xiàng)目可以直接上5.0老項(xiàng)目升級(jí)要評(píng)估兼容性不要為了新特性強(qiáng)行升級(jí)。最后分享一個(gè)小技巧調(diào)試MQTT時(shí)用mosquitto_sub和mosquitto_pub這兩個(gè)命令行工具非常方便。訂閱所有主題用mosquitto_sub -t # -v發(fā)布消息用mosquitto_pub -t test -m hello。配合-d參數(shù)可以看到詳細(xì)的報(bào)文交互日志排查連接和QoS問(wèn)題特別有用。這兩個(gè)工具在Windows、Linux、macOS上都能跑裝起來(lái)也簡(jiǎn)單建議每個(gè)做MQTT的人都備一份。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
色综合久久久久| 精品视频久久区| 影音先锋日本乱伦| 视频不卡中文字幕| 大香蕉手机在线| 最新一二三区视频| 婷婷伊人綜合中文字幕小说| 亚洲天天做日日做天天谢日日| 67914在线兔费成人视频| 国语人妻精彩刺激| 亚洲精品亚洲人成人网| 国产精品亚洲高清在线| 思思热国产高清| 插入粉嫩少妇视频| 欧美A√综合网| 美女露胸露屁股| 亚洲一本大道中文字幕无码在线| 韩日性爱av| 欧美激情专区| 大香蕉伊人75| 五月天人妻综合| 亚洲第一男人天堂| 99久在线精品99re8热视频在线| 大香蕉宅男伊人| 天天操av懂色| 欧美色66| 日本淫色网| 亚洲五月天激情| 十八禁啪啦拍视频无遮挡| 91人妻做a观看视频| 欧美大香蕉同搞| 伊人网免费视频| 亚洲情色视频| a片久久久久久久久久久久 | 亚洲色图日韩精品| 福利在线观看一区二区| 一级久久久久久久久久久| 日本黄色精品专区网站| 午夜福利1区2区3区| 婷婷色综合欧美日韩| 亚洲图片另类| 中国熟女老妇仑乱一区二区三区| 国产精品人妻无码久久久老鸭窝| 热无码中文亚洲H一道本一区二区| 国产一级高清免费观看| 农村女一级毛卡片| 亚洲无码国产精品久久| 亚洲阿v天堂无码z2018| 人人爱人人操人人性| 午夜黄色免费在线观看| 欧美精品另类人妖xxxx| 黄色小说亚洲| 热久久99999| 蜜臀亚洲综合一二三四区| 欧美综合亚洲| 三久久久四久久久久| 懂色aV一区二区天美传媒| 少妇久久久久| 亚洲日韩美女中文字幕乱| 图片区小说区| 丝袜熟女2P| 中文字幕一区二区三区人妻少妇在线| 白丝少妇一区二区| 久久久久女教师免费一区| 淫淫综合网| 凹凸视频在线一区二区| 久久91精品国产9丨久久分亭 | 玖玖综合视频| 日本五十路熟女一区二区| 久久久一级| 啊啊啊啊啊啊好湿好爽视频| 人妖欧美一区二区| 欧美精品成人在线播放| 国产视频小说| 亚洲成人精品在线一区| 操逼逼无码| 91久久国产综合久久| 久偷拍| av东京热男人的天堂| 91蜜臀人妻中文字幕在线| 免费A片三p视频| 福利在线黄片| 超碰1024久久| 人人搞人人插人人操| 亚洲精品中文字幕一区在线视频| 不卡超碰护士AV在线免费播放| 啊啊啊好疼| 日韩在线欧美精品一区二区| 婷婷五月天福利| 久久久av爱| 欧美综合色,www| 天天草夜夜草高潮片| caorenqi shipin| 99999这里都精品| 91精品人妻一区二区三区蜜桃| 无码久久国产 | 欧美,日韩,中文,另类| 国内精品久久人妻性色av| 超碰99热| 麻豆天天躁天天揉揉AV| 日本熟妇人妻中出视频| 男人的天堂色偷偷青青草视频婷婷网| 亚洲国产精品成人久久蜜臀| 9999免费精彩视频| 97在线视频网站| 色情五月丁香| 麻豆熟妇乱妇熟色A片在线看| 97色伦97色伦国产欧美| 欧美日韩情色一区二区| 免费无码婬片AAAA片直播色戒| 国产精品秘 福利姬在线观看| 欧美中文狠| 人人爱人人乐人人操| 亚洲偷拍自拍在线视频| 亚洲熟女乱色一区二区三区久久久| 91天天看| 97综合国产精品高潮久久| aaa亚无码专区| 丁香五月av| 97久久超碰国产精品| 亚欧成人中文字幕一区| 欧洲大香蕉| 中日韩久久久| 亚洲色婷婷综合久久一区二区三区| 日韩一区二区高清在线观看的| 上床不卡网站| 日本网色| 欧美啪啪色吧在线| 一二三啪啪专区| 欧美人体性爱互联网第一页婷婷日本| 欧美视频第二页| 亚洲一区二区三区不卡国产欧美| 91精品婷婷国产综合久久竹菊| 亚洲欧洲日本精品中文a∨| 蜜臀精品1区2区| 强奸乱伦AV网址| 97看操| 激情五月综合开心五月| 歐美性天天| 无码人妻精品一区二区中文| 精品中文日韩字幕视频| 久久香蕉国产线看观看猫咪av| 亚州欧美综合| 97人人草| 蜜乳AV免费观看| s片在线观看| 国产精品免费视频人成| 日本一级特级毛片视频| 97超碰资源网| 亚洲男人的天堂亚洲| 精品人妻一区二区三区在线视频不卡| 日韩精品人妻系列无码天堂| 精品偷拍13p欧美dodk视频| K8久久久久| 国产欧美日韩在线观看麻豆传媒公司| 精品久久久久久中文字幕三区| 精国久久一区二区三区98| 大香蕉综合在线| 五月天我淫我色av| 91精品国| 日日夜夜草草草| 欧美极度丰满熟妇hd| 97 色综合| 99综合自拍| av国产无码| 精品久久久久久无码| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 狠狠躁AV| 国产超碰在线| 中文字幕久热视频在线| 国产操逼网站亚洲一级黄色| 日韩精品亚洲一二三| 人妻精品综合中文字幕在线| 强奸xx国产| 国产精品福利资源在线尤物| 麻豆成人影音在线| 熟妇高潮二区三区| 亚洲宗合网| 看看小穴| 国产日韩精品一区二区三区| 国产刺激视频| 色情综合| AA丁香综合激情| 久久亚洲AV无码专区首页| 91天天| 狠狠色五月亚洲91| 操死我了啊啊啊| 五月天色电影| 精品人妻二区三区| 男人亚洲91首页在线| 黄片不用下载在线观看| 亚洲欧美综合区自拍另类 | 加勒比海成人视频网| 九月丁香婷婷| 久久久人体| 人妻-91porn| 欧美成人A天堂片在线观看| 五月亭亭六月丁香| 东京热天堂网| 91丝袜美女视频| 青青草影视蜜久久| 亚洲清纯综合| 九热中文字幕| 欧美v日韩v亚洲v最新在线| 伊人玖玖网| 精品国产乱码久久久久久免费| 91高跟美女在线播放| 九九九九九九亚洲| 青青草亚洲一区| 混色激情av| 亚洲少妇色| 天天影视网综合少妇| 婷婷色五月激情| 久久久婷婷婷| 精品熟女一区=区三区| 精品国产自在在线99| 精品超碰国产| 中文字幕五月婷婷免费| h无码动漫在线观看| jizz啪啪| 色色综合网站| 97香蕉碰碰人妻国产欧美| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 93人人操人人| 成年人一级黄色毛片大全在线观看| 国产精品无码久久久久2028| 蜜乳AV网址| 日韩精品永久在线观看| 欧美熟妇视频| 久久香蕉超碰97国产精品| 久久色一区二区| 久久久神马影院| 91亚洲最新在线| 欧美 亚洲 第一页 | 色婷婷综合视频| 男人的天堂啪啪| 久九干| 综合天天网| 亚洲诱惑天堂| 日韩欧美亚洲自拍偷拍| 中文日本免费高清| www.91久久| 最新加勒比丝袜在线| 九九英色视频| 久久久久久999| 青娱乐二区免费| 人人看欧美性爱| 久久性爱视频| 免费成人在线熟妇网| 深爱伊人影院| 国产精品999zyz| 亚洲欧美精品91| 日韩精品99久久久久久中文字幕| 欧美色图另类图片| 久久久久久国产精品免费网站| 日本99视频| 91久久伊人婷婷青青草| 亚洲欧美日韩不卡人妻| 神马久久久久久伦理片| 色婷婷丁香五月| 人妻熟女一区二区三区在线| 91老熟女视频| 能在线播放的国产三级| 日本人体九九九九九九| 91激情综合| 色综合一区二区三区| 国产 无码 一区二区| 2020视频1区2区3区| 久久精品夜色国产亚洲AV| 激情在线青青操| 亚洲日韩美国人妻| 亚洲国产剧情少妇激情| 天天拍夜夜| 亚洲国产精品成人无码久久久 | 精品人妻二区三区| 欧美狠狠狠| av在线一区二区三区| 精品无码久久久| 国产AB视频| 一二三四视频中文字幕在线看| 色播综合| 黄站在线免费观看| 中国东北熟女老太婆内谢| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 婷婷五月花| 欧美精品欧美精品系列| 国产不卡免费在线视频| 天天天天做夜夜夜夜做| 免费的黄片有限公司| 天天操天天射青青草| 久久久久久综合久久伊人蜜月| 精品亚洲国产成人av网站| 久久久∴| 污污汅18禁网站在线永久免费观看| 久久久久久久久久久久久久9999| 好爽视频在线观看视频| 九月丁香婷婷| 日韩免费av片高清无码| 久久少妇视频| 97人妻免费中文字幕| 欧美日韩青操| 伊人国产AV| 一级片在线观看高清无码| 巨爆乳一区二区爆乳区| 免费久久一级毛片大黄| 欧美麻豆成人同性GⅤ在线| 一本大道不卡一二三区| 六月婷婷综合| 国产兽交视频在线播放| 男人天堂综合| 性爱av网站| www男人天堂| www.天天干| 久久人妻| 欧美人人天天网| 岛国成人av在线播放网址| 亚洲中文字幕av| 大香蕉色十月| 操操逼视频| 性交一区二区在线播放| 色99视频| 涩涩这里只有精品视频| 亚欧操逼片在线观看 | 日韩一区二区熟女| 欧美日韩操操操| 91情色在线| 九九精品美女高溯喷水| 中文字幕交换人妻| 起碰97| 嫩草伊人久久精品| 99精品久久| 家庭乱伦国产精品| 一本色道久久综合亚洲二区三区| 91AV老熟女视频| 黄色网址在线免费观看| 人妻性爱一区二区| 亚洲综合伊人无码久久| 美女毛片999| 久热大香蕉| 成人精品久久久午夜福利| 国产蜜臀在线| 日本男人插女人的逼黄色| 国模精品娜娜一二三区| 欧美自拍偷拍综合图片| 欧美日韩小说| 日韩综合97P| 91熟女熟妇视频网站| 日本免费专区| 国产乱伦搜索结果91P| 人妻大香蕉| 白丝AV网站| 色婷婷综合视频| 韩三级a视频在线观看| 97日韩欧美亚洲| 天天综合网AV91| 久操黄色视频| 色色色色综合网| 乱伦一二三| 91女色| 国产吹潮女在线观看| 久久久久久久九九九九九九| 九九热最新| 一级性爱aaaa| 日韩欧美字幕亚洲一区二区| 天天插夜夜操| 宅男影院久久久,99| 97干色| 久久国产精品m码| 超碰到97情色| A男人的天堂| 操人妻逼91| 天天肏美女| 日韩人妻少妇 一区二区三区| 青娱乐亚洲自拍| 国产精品点击进入在线影院| 正在播放国产精品一区| av一区二区三区四区| 国产精品第一区第一页| 欧美片第一页| AV一起草在线| 成人性爱AV在线免费观看| 色欲天天综合久久久无码网中文| 午夜男人的天堂| 色与欲影视天天看综合网| 高清孕妇孕交 交孕妇| 丝袜天堂网| 九九九九九九免费视频| 97超碰超| 中文字幕99999| 天天射日日干| 91啦人妻| 色色色欧美| 强奸乱伦Av网| 综合婷婷| 午夜福利久久久噜久噜久久综合 | 国产91丝袜 在线播放| 久久久月天| 91爱网| 极品综合| 久草福利在线资源站| 久操精品网| 99热这里都是精品| 中文字幕丝袜美腿| 麻豆激情综合| 992视频一区| 日韩日本欧美在线观看| 欧美日本国产日韩激情视频| 色婷婷丁香五月| 欧美美女自慰一区二区三区| 夜夜騷av、一區二區| 久久久久9999精品九九九| 另类图片五月天| juliaann丝袜| 精品人体无圣光凹凸| 日韩欧美经典在线观看| 亚洲成人一二三区| 乱色老一区二区三区的观看方式| 老熟女综合| 操逼天美3区| 亚洲欧美日韩夜夜| 91久久18禁| 日日AAvv| 欧美亚洲素人制服精品| 99久久综合网| 夜夜 中文视频rt| 91中出视频| 九九热久久99精品re| 亚洲第一在线视频| 欧美亚洲一区二区久久久婷精品大包诱| 熟女网站最新| 日韩欧美性吧婷婷乱伦大香蕉 | 91无码人妻| 躁躁躁日日躁2020| 思思热er精品视频| 日日夜夜国产综合| 久久78| 精品一二三区久久AAA片| 91九久| 亚洲欧美97√| 亚欧高清v| 久久久婷婷| 9丨久久九九九| 2019久久久久久久久福利| 99热精品在线| 亚洲美女高潮喷水视频| 午夜福利精品| 天操老女人| 日本道不卡| 凹凸视频特色日本特黄| 丝袜色综合| jizz啪啪| 日韩AV中文字幕电影| 美女黄页网站| 午夜精品视频777| 97精品在线| A级毛片在线看免费| 天天综合91在线| 91精品国产91久久久久久久久久久久| 欧美日韩香蕉| 亚洲污污网站| 淫荡熟女乱伦网| 久草毛片电影怡| 免费成人自拍视频在线| 天天流夜夜操| 男人的天堂va| 丰满人妻-区二区三区免费| 欧美综合天堂| 高潮内射在线| 最新亚洲黄色免费电影| 欧美日日网| 国产深夜福利| 超碰午夜在线| 最好看的中文字幕在线2018| 四虎精品一区| 国产精品无码在线| 加勒比综合在线| 97色色视频| 少妇淫妇久久久久久久| 色嘟嘟人妻天堂网| 天堂69亚洲精品中文字| 狠狠躁天天躁日日躁| 黄片视频,下载| 日韩欧美天天爽爽爽天天爽爽 | 台湾佬中文娱乐网久久久久久久久久com | 国内精品伊人久久久久影院会| 粉嫩久久久极品| 亚洲欧美国产其他二区| 91bbbbbb| 亚洲吊色| 大香蕉久| 五月天婷婷在线看 | 国产家庭乱伦表演| 超碰视97中文| 久久国产视频性吧 | www老逼91| 370p日韩欧美亚洲精品| 白嫩妹子国产骚| av天堂加勒比| 美腿色图| 操逼视频亚洲| 亚洲色交| 亚洲的天堂网| 亚洲 日韩 欧美 国产综合体| 美国日韩黄片| 干美女人妻| 91人妻人人妻| 三级三级三级a级全黄三| 亚洲欧美碰碰| 欧美97视频| 91色色色| 亚洲色图尤物视频| 国产农村妇女毛片精品久久| 射欧美综合| **一级毛片国产| 日韩在线欧美精品一区二区| 偷拍亚洲视频一区二区三区四区| 欧色综合| 一二三四免费视频| 國產尤物AV尤物在線觀看| 操一操摸一摸| 亚洲成人ab| 久久少妇人妻| 国产精品久久久蜜臀| 90后性网国产欧美| 亚洲天堂中文字| 日韩肏逼视频| 亚洲成成熟女人综合一区二区| av一区二区三区四区五区久草臀| 亚洲精品一区中文字幕乱码| 人人操人人操草草| 1769国内精品视频| 日韩电影在线观看网址| 男女啊啊啊啊啊| av久日| 日本最新免费韩国1区2区视频播放| 五月丁香激情综合| 欧美性爱系列| 日本人人操人人操| 日本丝袜人妻内射| 国产精品成人无码a v毛片| 国产97亚洲| 天堂网亚洲区手机版| 亚欧美综合网。| 午夜福利区| 亚洲狼狼干综合1| 国产不卡精品91| 9+1视频网址| 大香蕉五月天婷婷| 免费A V在线| 黄色大香焦1级‘′‘| 亚洲免费在线探花| 国产精品一区二区校花| 国产高清免费不卡av| 6080YYY午夜理论片在线观看| 国产1024在线播放| 欧美大香蕉久| 2020中文在线一区二区三区| 国产精品成人无码a v毛片| a在线视频免费观看| 国产51色综合久久免费| 日韩AV无码中文一区二区| 强奸乱伦Av网| 日本123区操B视频| 久热久| 天天日天天舔天天喷天天射| 男人的天堂网免费| 亚洲天堂色图| 日本精品免费一区二区三区四区| 东北老女人的激情视频| 超碰精品| 91网站18+| 一级AAA片一区二区三区| 91亚洲网站| 亚洲综合影院| 91人妻精华帖| 亚洲成?V人片在线观看福利| 丁香五月婷婷五月| 人妻夜夜爽天天爽麻豆三区网站 | 亚洲啪啪视频一区二区| 人妻99p| 亚洲无码99| yirendaxiangjiashipin| 欧洲一区二区三区免费| 爱丝福利| 91在线视频国产网站| 欧美日韩黄片精品在线| 欧美日韩国内不卡| 青青草原狼av| 亚洲drav色图| 狠狠干91| 美女黄频a美女大全免费皮| 国产丝袜视频| 丝袜狂射91| 亚洲加勒比| 黄片免费看的| 欧美性天天影视| 精品国产久久乱码| 91狠狠综合| caoni国产亚洲av| 97电影院超碰| 久久久九精品| 成人性爱免费播放| 凹凸视频特色日本特黄| 91精品人妻一区二区三区蜜桃臀| 在线五区| 91丨九色丨国产丨人妻在线| 色五月首页| 青青草国产盗摄一二三区| 国产成人精品网站| 国产中文精品一区二区在线观看| 偷拍 亚洲| 97人妻人人躁人人玩人人| 国产在线综合福利网站| 五月丁香啪啪网| 久久夜夜夜| 尤物网站91| 久99热| 大香蕉琪琪日本女优不卡| 亚洲色图图片| 色五月婷婷五月天| 欧美肥臀在线| 欧美日韩国产中文精品字幕自在自线| 熟女在线视频| 欧在线一二区| 91五月天| 欧洲亚洲人妻无码高清久久三区四区| 欧美十八禁导航成人| 日欧美色| 一二三区操逼国产91| 五月丁香六月婷| 欧美美逼| 婷婷六月色开| 老熟女阿 国产91| 亚洲成a人在线观看久| 97超碰在线资源网站| 日语五十路和六十路亚洲国产精品| 丁香六月婷婷| 精品夜夜澡人妻无码AV| 婷婷五月综合在线| 日本布卡一区二三区| 无码抄逼网| 国产深喉| 99精品热| 久艹日日日| 国产欧美伊人| 操一操摸一摸| 在线综合 亚洲 欧美中文字幕 | 五月天社区| 天天欲望网| 九九九九久久久| 九热中文字幕| 青青草吊丝| 久久成人国产精品| 一区二区三区四区五区高清无码永久视频| 天美av在线观看| 中文字幕版| 搡老女人老91妇女老熟女| 日韩人妻无码专区| 人妻丰满熟妇av无码区蜜桃| 国产伦乱91| 久操视频在线| 国产午夜精品理论片a大结局| 伊人一区二区三区| 2025年A片视频精品| 欧美日韩免费专区在线| 精品人妻中文字幕高清| 亚洲美欧999| 久久国产精品m码| 伊人性在线视频| 亚洲婷婷丁香在线| 亚洲无992tv| 围产精品一区二区三区视频播放| 狠狠操狠狠燥| 91碰碰| 99色网| 啊啊啊快操我视频| 日韩欧美国产高清视频| 超碰人妻久久| 91高跟美女在线播放| 亚洲九月丁香| 超碰91在线| 天天舔天天日天天射| 极品尤物女神在线观看| 亚洲人综合19| 久久免费精品96| 欧美性爱另类综合| 日韩精品中文字幕人妻| 人乳av| 日本丝袜美腿人妻九九| 强奸乱伦αv片| 成人线上超碰| 一区二区三区四区在线不卡| 久久天天摸| 亚乱色| aV中亚| 成人资源中文字幕在线观看| 中文字幕在线观看第二页| 欧美少妇性爱网站| 日韩亚洲欧美中文字幕| 黑人干亚洲| 偷拍 精品 另类 四区| 手机在线人成免费视频| 日本孕妇一区二区视频操逼免费看| 国产视频大全| 久久久久中出| 曰韩无码777| 亚洲欧美色图小说| 天天综合官网| 亚洲色棕合| 免费网站观看www在线观| 婷婷五月影院| 中文自拍欧美影视| 三级特黄60分钟播放| 91色色网站| 国产精品白丝AV| 夜夜骑操视频| 97精品第3页| 亚洲国产精品久久久久婷婷青年| 被体育老师抱着c到高潮| 天天操人人操狠狠插| 老女人综合网| 五十路三区在线| 阿姨一区二区免费视频-高清正片西瓜视频下载app-T450AV | 青青青草原| 乱子伦一区二区三区国产精品| 91操人| 久视频在线观看| 国产精品一区二区 尿失禁| 亚洲色欧美| 亚洲日韩97| 91国产丝袜美女| 五十路成人在线视频二区三区| 草草草视频| 天天夜夜rb| 97中文综合| yazhououmeizongya| 国产又大又粗又长视频| 操老熟女AV| 91热色| 久久99久久99精品天美传媒棢·纸:. | 97爱综合| 国产资源中文字幕在线| 国产精品久久久| 日本操逼视频免费| 中国熟女老妇仑乱一区二区三区| 91色交| 中文操逼字幕| 性饥渴少妇av无码毛片| 国产精品爱欲| 免费的很黄很污的全部视频| 岛国大片在线观看网站入口| 欧美午夜一区二区三区| 91free福利| www.婷婷五月天| 超碰超碰欧美| 中文在线久久字幕| 亚洲熟女乱色一区二区三区久久久 | 中文字幕人妻色偷偷久久皮| 中文字幕人乱码中文字的预防方法 | 国产最新小视频在线播放下载| 国产精品亚洲一级av第二区| 免费中文在线| 色婷五月天| 天天摸夜夜摸| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | www欧美91| 欧美亚洲自拍另类人妻| 操操逼视频| 激情干在线| 大奶啊啊好爽| 91l欧美在线| 成人AV在线网站| 天美精品原创av片国产| 色官网色综合| 人妻熟女一区在| 青青草乱入乱欲视频在线观看| 少好三P| 91视频在线观看18| 亚洲最大成人a毛毛片| 91一起操| 大香蕉色网| 好湿好紧视频| 久久精品国内Av熟女高清| 午夜黄色免费在线观看| 五月天色图| 五月天人妻综合| 日本成熟少妇A∨网站| 美国aaaaa一级黄片| 91亚·色| 熟女熟妇一区二区三区视频| 精品国产一区探花在线观看| 91 亚洲 欧美 日韩 国产 综合| 69精品在线| 91男女| 日韩在线一区高清在线| 韩国久久97| 欧美在线|亚洲| 国产精品亚洲色婷婷久久久| 日日狠狠久久偷偷色综合免费| 农村妇女精品一区二区| 2017大香蕉| 色综合色欲色综合色综合色综合| 97天天综合网| 97精品久久| 国产伦精品一区二区三区在线观| 91久久18禁| 操东北女人| 色墦五月丁香| 婷婷精品国产欧美精品亚洲人人爽| 成人五月天丁香激情综合| 成人国产精品三级A片| 亚洲性少妇| 亚洲 无码 偷拍| 插入综合网| 性感美女91影视| 欧美日韩国内不卡| 亚洲宗合网| 免费啪啪av| 后入人妻一区| 亚洲不卡三级手机播放| 精品久久一区二区三区四区五区| 欧美九一精品久久久熟妇| 黄片免费看的| 九九九九九九九九九五码| 亚洲无码精品AV久久久| 亚洲欧洲小说图片视频 | 亚洲熟女中文字幕在线| 日韩八十路老熟女| 亚洲欧美自拍偷拍| 午夜毛片高清免费不卡| 人妻献身系列第54部| 超碰97资源中文字幕| 国产欧美在线观看免费观看| 97视频在线免费看| 91天天| 韩国轻伦国内自拍一区| 超碰免费人妻在线| 国产精品久久久视频| 蜜桃av色偷偷av老熟女| 国产不卡片| 日韩欧美大片免费高清啪啪| av在线人气| 一级AV性爱| 97爱b| 国产浮力影院第1页| 啊嗯嗯啊好大好爽| 国产女人成人精品视频| 91色欧美| 视频在线观看一二三区| A片大香蕉在线| 久久超碰大香蕉| 看一级特黄a大一片| 俺去啦自拍| 色优久久| 日韩日本欧美在线观看| 91日产欧美| 黄色欧美性爱视频| 久久这里只| 嗯啊不要啊啊在线观看视频| 高潮毛片无遮挡高清免费| 亭亭在线资源| 99久久婷婷国产综合精品草原| 不卡在线观看视频| 日韩人妻无码精品系列| 看日韩操逼| 超碰色老头| 嗯嗯啊啊视频一区二区三区| 久久99人妖视频国产| 丰满人妻一区二区三区四区| 殴美综合色88| 天天操天天舔| 91天天看| 国产精品毛片| 青娱乐 成人娱乐在线| www.yeyecao| 免费男人的天堂| 青娱乐av在线| 国产极品美女高潮无套在线观看 | 色官网在线| 美女写真| 搡老女人老91二区| 97亚洲欧美日韩| 九九亚洲| 欧美大香蕉同搞| 国产精品乱码久久| 久久美国毛片| 91久热这里只有精品| 乱伦Av网| 日韩一二三区| 国产91丝袜在线播放蜜月| 日韩99999色| 亚欧成人中文字幕一区| 天天日天天操天天射河南省| 久久精品男人的天堂| 美腿色图| 五月婷婷综合在线| 亚洲色 国产 欧美 日韩| 夜夜嗨视频| 日韩在线观看AV| 97超碰久| 女同性恋一区二区三区精品视频| 蜜桃无码AV一区二区| 亚洲国产成人7777| 日韩射精| 婷婷探花久久精品一区| 天天综合网1| 嗯~啊~快点 死我视频| 最近的最新的中文字幕视频| 人妻一区二区三区视频 | 激情抓乳插进去啪啪啪日韩 | av一区二区三区四区| 少妇高潮九九九九| 91久久国产精品| 国产1727欧美| 久久一二三四五六七八九区区| 熟女丝袜视频| 志村玲子视频一区二区| 日本精品不卡一二三区| 欧美色性爱| 日韩av不卡在线看| 青青青国产手线观看视频2| 亚洲一二三四区| 超碰97COm中文| 99re99在线视频| 人妻少妇无码 | 欧美最婬乱婬爆婬性视频 | 青青草色插素人| 国产精品小视频一区二区三区| 玖玖婷婷五月天| 操比国产| 欧美日韩性爱无码| 亚洲啪啪视频一区二区| 中文字幕在线观看永久| 国产在线观看91精品一区| 国产成人91一区二区三区| 天天综合欧美| 亚洲综合999| 色妇综合网| 91色拍| 91综合网| 91天天| 偷拍 欧美 日韩| 玖玖爱在线视频免费观看| 亚洲国产综合视频| 高清国产无码av| 国产精品久久久久久久无码AV| 欧美岛国精品在线观看| 操啊国产| 黄色一区二区秘书性感| 亚洲精品国产熟女久久久久久| 日韩欧美成人性爱在线| 国产精品久久久久久照片| 95自拍视频在线观看| 人人人人插| 欧亚性爱视频免费看| 久操热| 懂色综合久久久| 亚洲色欲一区二区三区| 97免费视频网| 精品久久9| 欧美草草高清日韩视频| 欧州91高潮| 日韩在线地址一| 顶级丝袜熟女一区二区三区| 女人被添高潮免费视频| 天天操狠狠日夜夜干超碰撸com视频在线观看| 亚洲,欧美,春色,另类| 色婷婷成人综合| 超碰97在线中文| 可以在线观看的黄色网址| 久久久久久亚洲Av无码精| 亚洲综合第一页| 成人性爱av| 欧美成年人性爱视频免费观看| 日韩美女久久一区二区三区| 性色av一区二区| 东京男人天堂| 狠狠久久手机视频精品| 国产黄色 A 片免费看| 91一起操| 精品国产一区二区三区久久久蜜臀 | 一级久久久久久久久久久| 婷婷99狠狠| 97欧美精品综合| 男人天堂久久精品不卡| 日本道不卡| 久久黄色视频一区二区三区 | 亚洲se电影| 嗯嗯啊啊操我| 日本女优在线视频福利| 神马视频久久久久久| 啊灬啊灬啊灬啊灬高潮奶出了免费视| 狼人狠干| 日本视频一区二区三区| 麻豆天美国美国产| 欧美韩日精品资源| 男人天堂网站| 国产精品久久久久久 百度| 久久极品一区二区| 欧美激色| 欧美Ⅴ性爱| 99热精品在线| 久久超碰av在线| 强奸乱伦 亚洲一区| 九九Av| 激情文学 亚洲图片| 日韩免费在线观看不卡| 99热网站| 久久久96精品| 日韩激情啪啪啪| 69AV女优男人的天堂| 亚洲天堂电影网99999| 天天干天天燥| 人人操天天爽| 91bbbbbb| 欧美视频在线视频免费va| 国产午夜视频| AAAA级日本片免费视频| 91欧美| 色噜噜人妻av中文字幕| 温婉少妇玩3p| 狠狠夜色午夜久久综合在线| 中文字幕丰满人妻日本| 日本 欧美 亚中文字幕| 超碰欧美COM| 国产精品99久久久www| 成人欧美日超碰| 天堂亚洲精品| av网页一区二区三区| 人妻喷水| 看一级黄色视频| 中文字幕av一区二区三区人妻少妇| 神马麻豆福利院| 欧美日韩资源在线| 宅男午夜在线视频| 美女黑人91神马| 大粗鳼巴久久久久| 熟女熟妇一区二区三四区| 中文字幕乱碼在线| 影音先锋国产精品| 日本精品网站在线中文| 97精品视频| 国产强奸乱伦第1页| 亚洲一区二区三区婷婷| 亚洲日本大香蕉1| 亚洲成人av色网| 国产黄色影片在线观看| 60秒免费小视频| 欧美午夜精品久久久久久超碰| 夜夜爽夜夜高潮夜夜爽| 国产原创精品| 日韩啪啪视频| 亚一综合久久久久久久久久| 丁香色狠狠色综合久久小说| 操逼短片| 色诱中文字幕| 五月综合视频| www.狠狠| 色噜噜婷婷| 五月婷丁香| 91综合在线| 噜噜噜在线视频| 日本操逼无码| 欧美大的香蕉有线电视视频| 熟女露脸激情自拍视频| 亚洲天在线| 97国产精品在线观看| 熟妇艹鸡八| 操操碰| 午夜成人爽爽爽爽A片李冰冰| 天天干人妻视频| av天天在线| 色麻豆AV| 国产视频三区四区| 亚洲人成网www| 欧美第一页性| 熟妇熟女一区二三区| 精品十三区| 日韩精品第3页| 狠狠躁天天躁日日躁97| 天天综合网~91综合网| 韩国女主播青草在线| 神马久久久久久久久久| 2020天天色综合| 91无码西班牙视频在线| 思思热国产在线视频| 人人操人人摸人人看人人插| 蜜臀久久99'精品久久久| 亚洲精品视频在线| а√天堂资源官网在线资源| 啊啊啊啊好疼视频| 97精品国产97久久久久久| 人妻啪| 日韩91网| 四虎884a| 伊人久久88国产女| 视频黄色国产一级| 久久78| 性欧美第一页| 天堂精品小草| 日本三级韩国三级99| 老熟妇一区二区三区…| av天堂电影网| 欧美在线|亚洲| 诱惑人妻欧美一区在线播放| 99热18| 26uuu国产成人综合| 亚洲国产精品无码AV久久| 福利天天都操| 熟女一区二区三区| 亚洲青青青视频在线| www.人人cao| 两女互慰AV高潮喷水在线观看| 91国产精品熟女| 91综合在线| 蜜臀久久99精品久久久久电影| 欧美激情片一区二区| 好吊妞转入那个网| 国产成人免费观看在线视频| 国产强奸无码乱伦| 亚洲a色| 精品少妇一区二区三区| 欧美一级专区免费大片| 国产精品久久久蜜臀| 久久久无码精品人妻二区 | av网站在线看| 国产日韩美女小穴视频网站不卡| 97精品久久久久久久| 超91综合网| 五月丁香激情综合网| 口爆吞精在线观看| 国产精品点击进入在线影院| 国产成人欧美精品在线| 青草精品视频日本久久久久网站在线| 久草久日| 日本黄页视频在线观看| 97精品国产手机| 激情终合网| 欧美色图偷拍另类| 天天日日日射| 精品人妻一区二区三区-国产精品 一个人在线看的黄色电影网站 | AV九九| a在线观看| 欧美精品日韩一区二区| 婷婷五月天激情网| 人妻系列无码专区中文有码 | Aa东京男人的天堂| 东北女人操比视频| A男人的天堂| 亚洲999综合| 成人一级二级| 欧美综合自拍亚洲综合图| 热热色综合网| 亚洲激情久久久伊人综合| 欧美春色| 日韩人妻丝袜中文字幕| 激情色图| 国产精品一二三区18| 国产黄色在线播放观看| 黄色在线网站|