999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

通用變長(zhǎng)協(xié)議數(shù)據(jù)描述及解析方法研究*

2015-03-14 08:07:59張志祥商雄偉
艦船電子工程 2015年5期
關(guān)鍵詞:信息方法

張志祥 商雄偉

(海軍工程大學(xué) 武漢 430033)

?

通用變長(zhǎng)協(xié)議數(shù)據(jù)描述及解析方法研究*

張志祥 商雄偉

(海軍工程大學(xué) 武漢 430033)

越來越多的數(shù)據(jù)通信協(xié)議中出現(xiàn)了選項(xiàng)和長(zhǎng)度不固定的報(bào)文,給報(bào)文描述和自動(dòng)解析帶來困難。分析了硬編碼報(bào)文解析方式的特點(diǎn)和存在的問題,提出了基于報(bào)文描述信息的統(tǒng)一報(bào)文解析方式,該方式使用于元數(shù)據(jù)描述報(bào)文格式和解析要求。設(shè)計(jì)了報(bào)文描述的概念模型,報(bào)文中各數(shù)據(jù)項(xiàng)的形式化描述,以及相應(yīng)的通用解析算法。使用這種統(tǒng)一的報(bào)文描述方法和通用解析算法,可以靈活地解析數(shù)據(jù)。

協(xié)議描述; 元數(shù)據(jù); 報(bào)文解析

Class Number TP311.52

1 引言

工業(yè)控制系統(tǒng)通常是由多個(gè)子系統(tǒng)構(gòu)成,各子系統(tǒng)之間通過以太網(wǎng)、串口、總線等不同傳輸接口交換數(shù)據(jù)。為了檢驗(yàn)報(bào)文協(xié)議,以及分析系統(tǒng)功能和性能,需要對(duì)各子系統(tǒng)之間傳輸?shù)膱?bào)文進(jìn)行解析。越來越多的協(xié)議采用變長(zhǎng)方式進(jìn)行編碼,給自動(dòng)解碼帶來困難。目前的應(yīng)用大多是針對(duì)特殊的協(xié)議定制一套處理方法,這使得程序的擴(kuò)充性和通用性變得很差,很難適應(yīng)協(xié)議的新版本或者支持別的協(xié)議。對(duì)于子系統(tǒng)多、接口復(fù)雜的系統(tǒng),往往報(bào)文種類數(shù)量眾多,增加了解析的工作量和難度。本文提出了基于元數(shù)據(jù)描述報(bào)文,基于報(bào)文描述的通用解析方法。

2 現(xiàn)狀分析

對(duì)報(bào)文的研究包括如下幾個(gè)方面:報(bào)文生成、報(bào)文數(shù)據(jù)傳輸/獲取、報(bào)文數(shù)據(jù)解析/轉(zhuǎn)換和報(bào)文協(xié)議描述等,其中報(bào)文協(xié)議描述是報(bào)文數(shù)據(jù)生成以及報(bào)文數(shù)據(jù)解析/轉(zhuǎn)換的基礎(chǔ)。

報(bào)文協(xié)議分為定長(zhǎng)和變長(zhǎng)兩種。對(duì)于定長(zhǎng)協(xié)議報(bào)文,每一種報(bào)文中數(shù)據(jù)項(xiàng)數(shù)量和格式固定。定長(zhǎng)報(bào)文具有編碼和解碼簡(jiǎn)單的優(yōu)點(diǎn),在有些情況下定長(zhǎng)報(bào)文編碼過長(zhǎng)。在通信帶寬受限或者通信信道質(zhì)量較差的情況下,不宜傳送較長(zhǎng)的報(bào)文。和定長(zhǎng)協(xié)議相比,變長(zhǎng)協(xié)議具有報(bào)文數(shù)據(jù)短、傳輸可靠性高、速度快等特點(diǎn)。變長(zhǎng)報(bào)文協(xié)議通過語法實(shí)現(xiàn)報(bào)文數(shù)據(jù)的可變性。報(bào)文由強(qiáng)制字段和可選字段組成,在報(bào)文描述中,字段或字段組是否出現(xiàn)由指示器來確定,從而實(shí)現(xiàn)按需發(fā)送,減少在傳輸過程中帶來的大量數(shù)據(jù)冗余,節(jié)約有限的帶寬資源。例如,歐美戰(zhàn)術(shù)數(shù)據(jù)鏈協(xié)議中專門有支持可變格式報(bào)文的VMF報(bào)文[1]。對(duì)于變長(zhǎng)報(bào)文,目前采用自然語言、表格等非形式化方法描述每個(gè)字段的名稱、占用比特?cái)?shù)和位置,說明每個(gè)字段的含義和可能取值。這樣的表示方法比較直觀,但是不適合機(jī)器閱讀,而且不同的協(xié)議之間表示方法有較大的差別,所以難以用于需要進(jìn)行多協(xié)議統(tǒng)一處理的場(chǎng)合。

文獻(xiàn)[2]提出了一種通用的協(xié)議報(bào)文格式描述語言PFDL,使用該語言可以定義常量、變量、比特、選項(xiàng)、子結(jié)構(gòu)等類型。“選項(xiàng)”類型可支持可變格式的報(bào)文描述,但這種“可變”是靜態(tài)的,無法支持靠報(bào)文數(shù)據(jù)本身描述的可變性。文獻(xiàn)[3]將自描述的結(jié)構(gòu)體信息與數(shù)據(jù)信息分離,定義一種自解析報(bào)文協(xié)議HML。該協(xié)議通過限制結(jié)構(gòu)體信息的層數(shù),在保持自描述特性的同時(shí),提高報(bào)文解析效率,解決高并發(fā)的大規(guī)模處理系統(tǒng)層次之間通信問題。但該協(xié)議的描述和使用很復(fù)雜;文獻(xiàn)[4~5]也使用XML語言描述協(xié)議報(bào)文,實(shí)現(xiàn)與協(xié)議無關(guān)的數(shù)據(jù)流解析和轉(zhuǎn)換,但都沒有處理變長(zhǎng)報(bào)文的能力。文獻(xiàn)[6]提出一種基于特征關(guān)鍵字的多協(xié)議數(shù)據(jù)流轉(zhuǎn)換方法,分析基于特征關(guān)鍵字的數(shù)據(jù)幀格式描述方法,通過將通信協(xié)議數(shù)據(jù)幀格式的描述與數(shù)據(jù)流的解析轉(zhuǎn)換代碼相分離,實(shí)現(xiàn)與協(xié)議無關(guān)的數(shù)據(jù)流解析和轉(zhuǎn)換。該方法用穩(wěn)定的程序處理不穩(wěn)定的數(shù)據(jù)流,避免不同通信協(xié)議之間的數(shù)據(jù)流轉(zhuǎn)換均要編寫專用解析轉(zhuǎn)換程序的缺陷,具有較好的靈活性和普適性。國(guó)外有代表性的工作是文獻(xiàn)[7~9]。文獻(xiàn)[9]提出了一種基于XML的報(bào)文描述語言NetPDL,使用該語言可以描述應(yīng)用無關(guān)的協(xié)議,并實(shí)現(xiàn)多種網(wǎng)絡(luò)應(yīng)用,在此基礎(chǔ)上,文獻(xiàn)[10]實(shí)現(xiàn)了一個(gè)基于NetPDL的解析引擎BetBee。NetPDL提供了豐富的標(biāo)簽元素,可以描述包括變長(zhǎng)報(bào)文在內(nèi)的各種報(bào)文,但描述復(fù)雜。

上述方法均沒有很好地處理變長(zhǎng)報(bào)文協(xié)議的自動(dòng)化編解碼問題。越來越多的應(yīng)用要求能夠統(tǒng)一的處理不同的協(xié)議,統(tǒng)一的處理不同的報(bào)文格式。但沒有對(duì)可變格式報(bào)文統(tǒng)一的形式化描述方法,因此無法對(duì)可變格式報(bào)文進(jìn)行自動(dòng)化的編碼和解碼。

3 報(bào)文解析方法

對(duì)變長(zhǎng)報(bào)文的解析存在兩種方式:硬編碼報(bào)文解析方式和統(tǒng)一報(bào)文解析方式。這里稱負(fù)責(zé)解析報(bào)文的程序?yàn)椤敖馕銎鳌薄?/p>

硬編碼報(bào)文解析方式是為每類報(bào)文開發(fā)一個(gè)解析器,每個(gè)解析器負(fù)責(zé)一種報(bào)文的解析。報(bào)文流到達(dá)后,由多路分發(fā)器根據(jù)報(bào)文中的報(bào)文標(biāo)識(shí)確定報(bào)文的具體類型,并分發(fā)到不同的解析器進(jìn)行解析,得到報(bào)文解析結(jié)果。每種解析器負(fù)責(zé)解析一種報(bào)文。類型具體處理過程如圖1所示。

圖1 硬編碼報(bào)文解析方式

硬編碼報(bào)文解析方式的特點(diǎn)是一個(gè)解析器只解析一種類型的報(bào)文。其優(yōu)點(diǎn)是解析器的設(shè)計(jì)較簡(jiǎn)單,易于實(shí)現(xiàn),其缺點(diǎn)是將解析規(guī)則硬編碼為各種解析器,使程序無法通用,一旦報(bào)文定義發(fā)生改變,都需要對(duì)原有程序重新進(jìn)行調(diào)整,這使得程序本身非常脆弱,程序員工作量大,也不利于系統(tǒng)的擴(kuò)展。

統(tǒng)一報(bào)文解析方式是增加表示層(元數(shù)據(jù))描述報(bào)文格式和報(bào)文解析要求,報(bào)文解析器根據(jù)報(bào)文描述信息對(duì)報(bào)文流進(jìn)行解析,輸出解析結(jié)果。其處理過程如圖2所示。元數(shù)據(jù)是對(duì)報(bào)文數(shù)據(jù)格式的描述。

圖2 統(tǒng)一報(bào)文解析方式

這種方式的特點(diǎn)是通過報(bào)文描述信息體現(xiàn)報(bào)文的多樣性,通過改變報(bào)文描述信息擴(kuò)充解析功能。對(duì)于定長(zhǎng)報(bào)文,實(shí)現(xiàn)這種方式比較容易。但對(duì)于變長(zhǎng)報(bào)文,其描述較復(fù)雜,報(bào)文解析器的編寫難度大。

變長(zhǎng)報(bào)文描述的難點(diǎn)在于:數(shù)據(jù)種類多,難以處理;可選字段出現(xiàn)的條件復(fù)雜,難以描述;多類型數(shù)據(jù)和可選數(shù)據(jù)的描述到解析引擎的轉(zhuǎn)換復(fù)雜。

4 通用數(shù)據(jù)報(bào)文描述

4.1 變長(zhǎng)數(shù)據(jù)報(bào)文實(shí)例

表1是某報(bào)文的描述信息,其中信息狀態(tài)字中的一些比特(bit)位表示后續(xù)信息塊是否出現(xiàn)。

表1 變長(zhǎng)數(shù)據(jù)報(bào)文實(shí)例

數(shù)據(jù)報(bào)文是一個(gè)字節(jié)流。數(shù)據(jù)項(xiàng)是對(duì)應(yīng)應(yīng)用領(lǐng)域的一個(gè)特定信息,如表1中的通信標(biāo)志、傳送字節(jié)數(shù)、命令狀態(tài)信息、遙測(cè)信息、設(shè)備工作狀態(tài)、方位、距離等。作為報(bào)文描述的最小單位,一個(gè)數(shù)據(jù)項(xiàng)對(duì)應(yīng)報(bào)文中的一個(gè)或者幾個(gè)bit位。變長(zhǎng)報(bào)文的特點(diǎn)是某些數(shù)據(jù)項(xiàng)是否存在受之前解析出來的某些數(shù)據(jù)項(xiàng)的值決定,稱后者為條件數(shù)據(jù)項(xiàng)。

變長(zhǎng)數(shù)據(jù)報(bào)文描述的難點(diǎn)在于如何表示某些數(shù)據(jù)項(xiàng)出現(xiàn)的條件。在變長(zhǎng)報(bào)文中,某些數(shù)據(jù)項(xiàng)受其條件數(shù)據(jù)項(xiàng)的值的控制。如當(dāng)“信息狀態(tài)字”中的最低位為1時(shí)才會(huì)出現(xiàn)“命令狀態(tài)信息”。

另外,作為一種通用的報(bào)文描述方法,需要考慮多種數(shù)據(jù)類型。變長(zhǎng)報(bào)文中包括標(biāo)志型數(shù)據(jù)和數(shù)值型數(shù)據(jù),數(shù)值型數(shù)據(jù)又分為不同的數(shù)據(jù)類型,如表2所示。有些數(shù)據(jù)項(xiàng)的解析需要考慮位運(yùn)算。

表2 變長(zhǎng)報(bào)文數(shù)據(jù)分類

4.2 變長(zhǎng)報(bào)文的元數(shù)據(jù)描述

一個(gè)數(shù)據(jù)報(bào)文是數(shù)據(jù)項(xiàng)的有限序列。如圖3所示,數(shù)據(jù)項(xiàng)分為條件數(shù)據(jù)項(xiàng)和數(shù)值型數(shù)據(jù)項(xiàng),數(shù)值型數(shù)據(jù)項(xiàng)可以受條件數(shù)據(jù)項(xiàng)的約束。

這里假設(shè)一個(gè)數(shù)據(jù)項(xiàng)是否出現(xiàn),只受一個(gè)標(biāo)志型布爾量的控制。本假設(shè)適合于目前絕大多數(shù)協(xié)議。

用Item=〈itemid,name,type,blocklen,startbit,endbit,coef,condition,valuetype,value,offset〉表示某一報(bào)文中的一個(gè)數(shù)據(jù)項(xiàng),其中:itemid為數(shù)據(jù)項(xiàng)的編號(hào);name為數(shù)據(jù)項(xiàng)名稱;type為數(shù)據(jù)類型(見表2);blocklen為數(shù)據(jù)項(xiàng)所在數(shù)據(jù)塊的長(zhǎng)度;startbit和endbit分別為該數(shù)據(jù)項(xiàng)在所在數(shù)據(jù)塊中的起始位和結(jié)束位;blocklen,startbit和endbit確定了該數(shù)據(jù)項(xiàng)所對(duì)應(yīng)的原始數(shù)據(jù)位置,對(duì)于有些只占二進(jìn)制串(n個(gè)字節(jié))的其中m個(gè)連續(xù)位的整數(shù)型數(shù)據(jù),利用這三個(gè)屬性計(jì)算整數(shù)值;對(duì)于浮點(diǎn)型數(shù)據(jù)項(xiàng),用coef表示最小單位;condition表示條件數(shù)據(jù)項(xiàng);它是決定Item是否在報(bào)文中出現(xiàn)的數(shù)據(jù)項(xiàng)的itemid。valuetype和value分別為解析值類型和解析結(jié)果;offset用于確定在該數(shù)據(jù)項(xiàng)解析結(jié)束后解析下一個(gè)數(shù)據(jù)項(xiàng)所需的原始數(shù)據(jù)偏移量。

圖3 報(bào)文描述概念模型

例如,對(duì)于表1中的命令狀態(tài)信息標(biāo)志,name=“命令狀態(tài)信息標(biāo)志”,type=INDICATE,blocklen=1,startbit=7,endbit=7,coef=1,condition=0(表示無條件解析),offset=0。對(duì)于表1中的“方位”,name=“方位”,type=FLOAT,blocklen=2,startbit=0,endbit=15,coef=0.1,condition=4(表示在items中第4項(xiàng)“遙測(cè)信息標(biāo)志”的值為真時(shí)解析該數(shù)據(jù)項(xiàng),否則不解析),offset=2。

4.3 變長(zhǎng)報(bào)文的自動(dòng)解析方法

當(dāng)采用如上的數(shù)據(jù)項(xiàng)描述后,就可以對(duì)接收?qǐng)?bào)文進(jìn)行自動(dòng)解析。

表items是Item構(gòu)成的有序集合,其中的元素按照數(shù)據(jù)項(xiàng)可能出現(xiàn)的順序排序。解析算法如下:

輸入:報(bào)文描述信息,二進(jìn)制數(shù)據(jù)buffer[0..n-1]

輸出:各數(shù)據(jù)項(xiàng)的解析值

步驟:

1、根據(jù)報(bào)文描述信息初始化items,i=j=0;

//i為要解析的數(shù)據(jù)項(xiàng)的編號(hào),j為buffer中第i個(gè)數(shù)據(jù)項(xiàng)所對(duì)應(yīng)的源碼數(shù)據(jù)的開始位置。

2、如果items[items[i].condition].value!=“假”

2.1 對(duì)buffer[j…j+ items[i].blocklen]解析,得到items[i] .valuetype;

2.2 根據(jù)items[i].valuetype將解析結(jié)果轉(zhuǎn)換,得到items[i].value;

2.3 j=j+ items[i].offset;

3、i++;

4、如果解析未結(jié)束,轉(zhuǎn)2;否則算法結(jié)束。

其中步驟2.1對(duì)items[i]進(jìn)行解析,數(shù)據(jù)塊為buffer[j…j+items[i].blocklen]。根據(jù)不同類型進(jìn)行相應(yīng)的處理:

1) 布爾型:根據(jù)“起始位”信息得到布爾值。

2) 整數(shù)型(包括UNSIGNED和SIGNED):根據(jù)“起始位”、“結(jié)束位”信息得到整型值。

3) 浮點(diǎn)數(shù)型:根據(jù)長(zhǎng)度確定浮點(diǎn)數(shù)精度,并進(jìn)行相應(yīng)的轉(zhuǎn)換得到結(jié)果。

4) 字符型:根據(jù)長(zhǎng)度直接轉(zhuǎn)換得到結(jié)果。

另外,可以用兩種方法判斷一個(gè)報(bào)文的解析是否結(jié)束:通過數(shù)據(jù)項(xiàng)編號(hào)i進(jìn)行判斷;通過數(shù)據(jù)偏移量j進(jìn)行判斷。也可以同時(shí)使用這兩個(gè)條件進(jìn)行判斷。

5 結(jié)語

使用本方法開發(fā)的系統(tǒng)已經(jīng)在多型武器系統(tǒng)的測(cè)試工作中得到應(yīng)用,解析了近80種不同類型的報(bào)文,避免了多次重復(fù)開發(fā),極大地減少了工作量。

針對(duì)變長(zhǎng)報(bào)文,使用統(tǒng)一的報(bào)文表示方法,可以滿足不同行業(yè)、不同歷史階段遺留下來的不同標(biāo)準(zhǔn)的需要,也能夠很好地兼顧現(xiàn)有類型的異構(gòu)數(shù)據(jù)報(bào)文格式標(biāo)準(zhǔn)。本文提出的方法不僅適合于變長(zhǎng)報(bào)文解析,也適合于定長(zhǎng)報(bào)文解析。

[1] 柏雪倩,毛玉泉,李連寶.戰(zhàn)術(shù)數(shù)據(jù)鏈的報(bào)文格式解讀[J].通信技術(shù),2009,42(4):52-54.

[2] 劉鴻,尹霞.一種通用的協(xié)議報(bào)文格式描述語言——PFDL[J].小型微型計(jì)算機(jī)系統(tǒng),2003,24(7):1119-1123.

[3] 羅毅,吳產(chǎn)樂,熊偉成.一種基于自解析報(bào)文協(xié)議的系統(tǒng)分層方法[J].計(jì)算機(jī)工程,2012,38(4):79-81.

[4] 劉喆,郇極,劉艷強(qiáng).基于XML的EtherCAT工業(yè)以太網(wǎng)協(xié)議解析技術(shù)[J].北京航空航天大學(xué)學(xué)報(bào),2011,37(9):1086-1090.

[5] 李海剛,高欣.基于元數(shù)據(jù)驅(qū)動(dòng)的通用電文解析技術(shù)[J].控制工程,2013,20(S1):142-145.

[6] 林霞,蔡聲鎮(zhèn),吳允平,等.基于特征關(guān)鍵字的多協(xié)議數(shù)據(jù)流轉(zhuǎn)換方法[J].計(jì)算機(jī)工程,2011,37(5).

[7] Computer Networks Group(NetGroup) at Politecnico di Torino, Analyzer, Available from: 〈http://analyzer.polito.it〉, March 1999.

[8] Surasak Sanguanpong, Ekapol Rojratanavichai, Syntax directed, definition supported universal protocol analyzer, in: Electrical Engineering Conference(EECON), Kasetsart University, Bangkok, December 1999, Available from: 〈http://anreg.cpe.ku.ac.th/pub/protocol.pdf〉 (in Thai).

[9] Fulvio Risso, Mario Baldi. NetPDL: An extensible XML-based language for packet header description. Computer Networks 50 (2006), 688-706.

[10] Computer Networks Group(NetGroup) at Politecnico di Torino, The NetBee Library, Available from: 〈http://www.nbee.org/〉, August 2004.

Describing and Interpreting Method of Variant-length Protocol Data

ZHANG Zhixiang SHANG Xiongwei

(Naval University of Engineering, Wuhan 430033)

More and more data communication protocols use variant length data, which is difficult to be described and interpreted automatically. This paper summarizes existed approaches for describing and interpreting of protocols, the disadvantages of hard-coding interpreting methods, proposes a general interpreting method based on package descriptions of package format and interpreting requirements. The conceptual model of protocol describing, the formal description of data items and a corresponding general interpreting algorithm are given. The uniform description method and general interpreting algorithm can contribute to constructing flexible interpreting system.

description of protocol, meta-data, interpreting of packages

2014年11月10日,

2014年12月30日

張志祥,男,博士,副教授,研究方向:軟件質(zhì)量保證,計(jì)算機(jī)控制。商雄偉,男,碩士研究生,研究方向:數(shù)據(jù)采集與處理。

TP311.52

10.3969/j.issn1672-9730.2015.05.018

猜你喜歡
信息方法
學(xué)習(xí)方法
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
用對(duì)方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
捕魚
展會(huì)信息
信息
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
健康信息(九則)
祝您健康(1987年2期)1987-12-30 09:52:28
主站蜘蛛池模板: 日本一区二区不卡视频| 毛片视频网址| 国产99欧美精品久久精品久久| 亚洲国产亚综合在线区| 国产精品福利尤物youwu| 免费看的一级毛片| 久久久国产精品免费视频| 国产高清自拍视频| 国产69精品久久久久孕妇大杂乱| 天堂av高清一区二区三区| 欧美专区日韩专区| 国产菊爆视频在线观看| 色噜噜综合网| 欧美福利在线播放| 2021精品国产自在现线看| 国产又大又粗又猛又爽的视频| 99久久国产自偷自偷免费一区| 五月婷婷激情四射| 91成人在线观看视频| 中文字幕乱码中文乱码51精品| 一级成人欧美一区在线观看| 99伊人精品| 亚洲va精品中文字幕| 亚洲欧美激情小说另类| 国产拍揄自揄精品视频网站| 欧美人与牲动交a欧美精品| 亚洲欧美日本国产综合在线| 亚洲高清在线天堂精品| 中文字幕日韩视频欧美一区| 伦精品一区二区三区视频| 91丨九色丨首页在线播放| 国产精品天干天干在线观看 | 婷婷综合在线观看丁香| 国产18在线播放| 久久精品一品道久久精品| 久久77777| 欧洲免费精品视频在线| 啪啪永久免费av| 中文字幕第1页在线播| 欧美亚洲日韩不卡在线在线观看| 亚洲第一黄片大全| 国产麻豆91网在线看| 日本一区高清| 精品福利视频网| 国产91视频免费| 亚洲电影天堂在线国语对白| AV无码无在线观看免费| 欧美激情视频一区| 97视频在线精品国自产拍| 狠狠v日韩v欧美v| 精品夜恋影院亚洲欧洲| 国产欧美中文字幕| 国外欧美一区另类中文字幕| 成人日韩精品| 手机成人午夜在线视频| 伦精品一区二区三区视频| 国产亚洲欧美在线人成aaaa| 国产精品欧美日本韩免费一区二区三区不卡 | 中文字幕免费播放| 国产精品永久不卡免费视频| 丁香五月婷婷激情基地| 91人妻日韩人妻无码专区精品| 亚洲天堂免费观看| 精品福利国产| 国产精品久久久久久影院| 91无码视频在线观看| 不卡色老大久久综合网| 久久福利片| 国产在线高清一级毛片| 欧美午夜在线观看| 国产精品永久久久久| 精品少妇人妻av无码久久| 国产亚洲精品自在久久不卡 | 人妻免费无码不卡视频| 成年人午夜免费视频| 99久久婷婷国产综合精| 午夜综合网| 青青草一区| 四虎永久在线精品影院| 亚洲有无码中文网| 国产美女免费| 一级毛片在线播放免费观看|