亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于ACP的RPL路由協(xié)議設(shè)計(jì)與實(shí)現(xiàn)

        2020-05-09 09:43:58陳慈飛吳佳琪陳民華
        無線電通信技術(shù) 2020年3期
        關(guān)鍵詞:行路字段路由

        李 棟,陳慈飛,吳佳琪,陳民華

        (重慶郵電大學(xué) 通信與信息工程學(xué)院,重慶 400065)

        0 引言

        隨著互聯(lián)網(wǎng)的飛速發(fā)展,規(guī)模不斷壯大,衍生出了眾多的新場(chǎng)景、新業(yè)務(wù)。由于傳統(tǒng)網(wǎng)絡(luò)存在運(yùn)營(yíng)成本大、效率低下等缺點(diǎn),已經(jīng)無法滿足當(dāng)前網(wǎng)絡(luò)的發(fā)展趨勢(shì)和要求,逐漸與互聯(lián)網(wǎng)的發(fā)展相脫節(jié)。IBM公司于2001年首次提出自治網(wǎng)絡(luò)的概念[1],其基本目標(biāo)是實(shí)現(xiàn)網(wǎng)絡(luò)自我管理、自我配置、自我優(yōu)化、自我修復(fù)、自我保護(hù)以及可擴(kuò)展性等特點(diǎn)。

        自治功能需要穩(wěn)定的基礎(chǔ)架構(gòu)來運(yùn)行,以最大程度地降低網(wǎng)絡(luò)復(fù)雜性。如今,大多數(shù)關(guān)鍵的控制平面協(xié)議和網(wǎng)絡(luò)管理協(xié)議都在使用網(wǎng)絡(luò)的數(shù)據(jù)平面。這通常導(dǎo)致一側(cè)的控制和管理平面與另一側(cè)的數(shù)據(jù)平面之間的不良依存關(guān)系。因此,ANIMA工作組定義自治控制平面 (Autonomic Control Plane,ACP)來為網(wǎng)絡(luò)提供獨(dú)立于數(shù)據(jù)平面的控制平面,為網(wǎng)絡(luò)的高效通信提供基礎(chǔ),而ACP中通信需要滿足自治屬性的RPL路由協(xié)議來支撐。本文將從協(xié)議的設(shè)計(jì)、軟件開發(fā)以及軟件的測(cè)試和分析幾個(gè)方面來講述整個(gè)協(xié)議的原理與實(shí)現(xiàn)過程。

        1 相關(guān)研究

        2007年歐盟委員會(huì)啟動(dòng)了第七框架計(jì)劃,同年該計(jì)劃推出了EFIPSANS項(xiàng)目[2]。該項(xiàng)目旨在分析當(dāng)前互聯(lián)網(wǎng)中所存在的缺陷,探討未來自治管理互聯(lián)網(wǎng)的體系結(jié)構(gòu)、行為特征及實(shí)現(xiàn)方法。在IPv6基礎(chǔ)上探索、研究并創(chuàng)建新型的自治網(wǎng)絡(luò)。2014年IETF的ANIMA(Autonomic Network Integrated Model and Approach)工作組在GANA[3]的研究基礎(chǔ)上,提出了自己的自治網(wǎng)絡(luò)架構(gòu),本著設(shè)計(jì)基礎(chǔ)、可重用的組件與分布式的思想,定義了三個(gè)具體的部分:自治控制平面(Autonomic Control Plane,ACP)[4]、通用自治信令協(xié)議(Generic Autonomic Signaling Protocol,GRASP)[5]和安全自啟動(dòng)機(jī)制(Bootstrap Key Infrastructure,BRSKI)[6]。

        自治功能需要穩(wěn)定的基礎(chǔ)架構(gòu)來運(yùn)行,并且所有自治功能都應(yīng)使用相同的基礎(chǔ)架構(gòu),以最大程度地降低網(wǎng)絡(luò)的復(fù)雜性。如今,大多數(shù)關(guān)鍵的控制平面協(xié)議和網(wǎng)絡(luò)管理協(xié)議都在使用網(wǎng)絡(luò)的數(shù)據(jù)平面。這通常導(dǎo)致一側(cè)的控制和管理平面與另一側(cè)的數(shù)據(jù)平面之間的不良依存關(guān)系,只有正確配置數(shù)據(jù)平面的轉(zhuǎn)發(fā)和控制平面,數(shù)據(jù)平面和管理平面才能正常工作。在傳統(tǒng)的網(wǎng)絡(luò)管理方法中,可以通過帶外虛擬(Out of Band)技術(shù)[7]解決這些問題,但是其過高的成本與代價(jià)很大程度上限制了該技術(shù)的進(jìn)一步推廣。因此,ANIMA工作組定義了ACP自治控制平面來為自治域中的自治節(jié)點(diǎn)提供通信,ACP提供了強(qiáng)大而安全的通信覆蓋,同時(shí)實(shí)現(xiàn)了控制平面和數(shù)據(jù)平面的隔離。

        為了滿足無線傳感器網(wǎng)絡(luò)的要求,IETF(The Internet Engineering Task Force)工作組在2008年成立了ROLL小組,ROLL小組提出了基于IPv6的低功耗有損網(wǎng)絡(luò)路由協(xié)議RPL[8]。在實(shí)際中,ContikiOS和TinyOS是兩種最流行的操作系統(tǒng),而TelosB是測(cè)試平臺(tái)上最常用的硬件平臺(tái)。在開源實(shí)現(xiàn)方面,兩個(gè)最廣泛使用的開源RPL實(shí)現(xiàn)分別是ContikiOS的Contiki RPL[9]和TinyOS中的Tiny RPL[10],并且這些實(shí)現(xiàn)幾乎已經(jīng)用于涉及真實(shí)實(shí)驗(yàn)的所有RPL研究活動(dòng)中。

        2 路由協(xié)議設(shè)計(jì)與實(shí)現(xiàn)

        路由協(xié)議承載著自治節(jié)點(diǎn)的通信需求,影響著整個(gè)網(wǎng)絡(luò)的性能和存活時(shí)間。RPL協(xié)議是一個(gè)基于標(biāo)準(zhǔn)化IPv6的距離矢量路由協(xié)議,節(jié)點(diǎn)通過交換距離矢量構(gòu)造一個(gè)有向無環(huán)圖(Destination Oriented Directed Acyclic Graph,DODAG),DODAG可以有效防止路由環(huán)路問題。由于RPL路由協(xié)議具有自我管理、自我配置的特性,龐大的規(guī)模以及拓展性強(qiáng)等特點(diǎn),ACP在標(biāo)準(zhǔn)實(shí)現(xiàn)中使用RPL路由協(xié)議來實(shí)現(xiàn)域內(nèi)數(shù)據(jù)多跳傳輸,但由于RPL路由協(xié)議本是應(yīng)用在無線傳感網(wǎng)絡(luò)中,而自治網(wǎng)絡(luò)基于有線環(huán)境,所以本文以ANIMA工作組提出的自治控制平面為基礎(chǔ),闡述自治控制平面中基于Linux操作系統(tǒng)的RPL路由協(xié)議的設(shè)計(jì)與實(shí)現(xiàn)。

        2.1 DODAG構(gòu)建流程

        在自治域中將有很多類似NOC的節(jié)點(diǎn),但是只能選擇一個(gè)NOC節(jié)點(diǎn)作為當(dāng)前自治域中的根節(jié)點(diǎn),負(fù)責(zé)當(dāng)前域中自治節(jié)點(diǎn)的維護(hù)和管理,以及跨自治域流量交互等。整個(gè)自治域就是一個(gè)DODAG,DODAG的構(gòu)建主要包含上行路由和下行路由的構(gòu)建,其中上行路由和下行路由的構(gòu)建均是由DODAG Root發(fā)起,通過DIO,DAO,DAO-ACK,DIS控制消息完成DODAG的構(gòu)建。DODAG的構(gòu)建流程如圖1所示。

        圖1 DODAG的構(gòu)建過程Fig.1 DODAG construction process

        2.2 上行路由模塊

        上行路由是指自治域中的自治節(jié)點(diǎn)到根節(jié)點(diǎn)方向的路由,當(dāng)網(wǎng)絡(luò)中的其他節(jié)點(diǎn)無法獲得某些路由時(shí),將數(shù)據(jù)包向上默認(rèn)發(fā)給根節(jié)點(diǎn),同時(shí)當(dāng)兩個(gè)自治域中的節(jié)點(diǎn)進(jìn)行交互時(shí),也需要上行路由將其數(shù)據(jù)包送至根節(jié)點(diǎn),由根節(jié)點(diǎn)與其他域中根節(jié)點(diǎn)進(jìn)行轉(zhuǎn)發(fā)。模塊主要包括上行路由的構(gòu)建和維護(hù)兩部分。

        上行路由的構(gòu)建與維護(hù)主要涉及兩種消息類型,分別為DODAG信息對(duì)象信息(DODAG Information object,DIO)和DODAG信息請(qǐng)求消息(DODAG Information Solicitation,DIS),具體消息實(shí)現(xiàn)格式代碼如圖2和圖3所示。

        圖2 DIO消息格式Fig.2 DIO message format

        圖3 DIS消息格式Fig.3 DIS message format

        RPLInstance ID表示當(dāng)前DODAG所在RPL Instances中的ID號(hào);Version Number表示當(dāng)前DODAG的版本號(hào),主要用于保證DODAG中所有節(jié)點(diǎn)的網(wǎng)絡(luò)狀態(tài)同步,且其值隨著DODAG的更新而逐漸遞增;Rank的大小可以反映出當(dāng)前節(jié)點(diǎn)相對(duì)于根節(jié)點(diǎn)在DODAG中的相對(duì)位置;MOP表示節(jié)點(diǎn)加入DODAG中的操作模式:存儲(chǔ)模式和非存儲(chǔ)模式;DTSN表示觸發(fā)DAO控制消息的序列號(hào),主要用于維護(hù)和更新DODAG中的下行路由;DODAG ID是由DODAG Root分配的IPv6地址,表示當(dāng)前DODAG的ID號(hào),用于標(biāo)識(shí)每一個(gè)DODAG的身份,且每個(gè)DODAG ID不能重復(fù),必須唯一。Flags和Reserved 各占據(jù)1字節(jié),在發(fā)送端這兩個(gè)字段均默認(rèn)初始化設(shè)置為0,在接收端直接忽略這兩個(gè)字段。

        上行路由的構(gòu)建過程由根節(jié)點(diǎn)廣播DIO消息請(qǐng)求周圍鄰居節(jié)點(diǎn)加入當(dāng)前DODAG開始,確定加入DODAG的自治節(jié)點(diǎn)將發(fā)送DIO的節(jié)點(diǎn)添加至自己的父節(jié)點(diǎn)集合中,同時(shí)構(gòu)造到父節(jié)點(diǎn)以及根節(jié)點(diǎn)的上行路由,上行路由的維護(hù)過程是從構(gòu)建完上行路由后開始,接收DIO消息的節(jié)點(diǎn)會(huì)判斷DIO消息中的Rank字段是否為INFINITE,若是,則從父節(jié)點(diǎn)集合中刪除該節(jié)點(diǎn);否則,會(huì)繼續(xù)判斷Version Number字段是否已經(jīng)改變了,若是,則將節(jié)點(diǎn)的Rank值設(shè)為INFINITE,廣播DIO狀態(tài)變?yōu)槲醇尤隓ODAG,斷開與之前節(jié)點(diǎn)之間的連接;否則,繼續(xù)判斷DIO消息是否來自其他的DODAG,若是,則判斷DIO中Prf字段是否大于當(dāng)前根節(jié)點(diǎn)的Prf,當(dāng)若大于當(dāng)前根節(jié)點(diǎn),則直接置Rank為INFINITE,廣播DIO消息斷開所有連接;否則,根據(jù)發(fā)送節(jié)點(diǎn)的Rank值計(jì)算自身節(jié)點(diǎn)的臨時(shí)Rank值;繼續(xù)判斷是否加入了新的DODAG,若是,則切換父節(jié)點(diǎn)更新路由信息;否則,比較Rank值,選取最優(yōu)父節(jié)點(diǎn)更新路由。

        節(jié)點(diǎn)通過遍歷節(jié)點(diǎn)的接口信息,創(chuàng)建與接口一一對(duì)應(yīng)的RAW套接字用于廣播的DIO消息。由于節(jié)點(diǎn)進(jìn)行廣播DIO是周期性的,所以在RPL進(jìn)程中使用了單獨(dú)的線程處理DIO消息的轉(zhuǎn)發(fā)。IPv6中不再有廣播的概念,而是將其看做一種特殊的組播。在進(jìn)行組播DIO消息時(shí)使用Raw套接字組播DIO消息,使用組播地址作為目的地址,其中組播地址中“FF02::1”指所有開啟了IPv6組播的主機(jī),一般為鏈路上加入RPL多播組的所有主機(jī)。具體代碼如下:

        const uint8_t all_rpl_addr[]= {0xff,0x02,0,0,0,0,0,0,0,0,0,0,0,0,0,0x1a};

        memcpy(&mreq.ipv6mr_multiaddr.s6_addr[0],all_rpl_addr,sizeof(mreq.ipv6mr_multiaddr));

        if (setsockopt(sock,SOL_IPV6,IPV6_ADD_MEMBERSHIP,&mreq,sizeof(mreq)) < 0)

        ∥節(jié)點(diǎn)加入多播組

        for(int i=0;i

        {

        pa->ifname[i]=ifname[i];

        }

        for(int i=0;iif_count;i++)

        {

        if(pa->r_sock!=*(pa->s_sock+i))∥遍歷接口中繼,剔除收到消息接口

        {

        s_bytes=sendmsg(*(pa->s_sock+i),&mhdr,0);

        }

        }

        2.3 下行路由模塊

        下行路由是指自治域中的從根節(jié)點(diǎn)方向到其他自治節(jié)點(diǎn)方向的路由,根節(jié)點(diǎn)掌握所有子節(jié)點(diǎn)的路由信息,當(dāng)數(shù)據(jù)包查找不到目的地時(shí),會(huì)向上交付給父節(jié)點(diǎn),由父節(jié)點(diǎn)查詢下行路由轉(zhuǎn)發(fā)數(shù)據(jù)包。模塊主要包括下行路由的構(gòu)建和維護(hù)兩部分。

        下行路由的構(gòu)建與維護(hù)主要涉及兩種消息類型,分別為DODAG目的地通告消息(Destination Advertisement Object,DAO)和DODAG目的地通告消息確認(rèn)消息(Destination Advertisement Object Acknowledgement,DAO-ACK),具體消息格式如圖4和圖5所示。

        圖4 DAO消息格式Fig.4 DAO message format

        圖5 DAO-ACK消息格式Fig.5 DAO-ACK message format

        DAO控制消息中RPLInstanceID是從接收到的DIO控制消息中獲??;K標(biāo)志位、表示DAO控制消息發(fā)送端是否需要接收端返回DAO-ACK控制消息;D字段表示DODAG ID字段是否存在;Flags字段和Reserved字段DIO控制消息中的操作一致;DAO Sequence字段被作為一個(gè)計(jì)數(shù)器,主要用于記錄節(jié)點(diǎn)收到其下游節(jié)點(diǎn)發(fā)送的DAO控制消息的數(shù)量,即節(jié)點(diǎn)每收到一個(gè)攜帶路由前綴的DAO控制消息,該字段的值便增加1;DODAGID字段的“*”表示DODAGID并不總是存在,該字段僅在設(shè)置D字段時(shí)才出現(xiàn),即當(dāng)使用本地RPLInstanceID時(shí)才存在,當(dāng)使用全局RPLInstanceID時(shí)不存在。

        下行路由的創(chuàng)建過程由節(jié)點(diǎn)收到DIO消息后建立完成上行路由開始,然后向選定的父節(jié)點(diǎn)回復(fù)DAO消息來通告自身地址前綴,協(xié)助父節(jié)點(diǎn)以及根節(jié)點(diǎn)來建立到自身的下行路由,最后如果需要?jiǎng)t將DAO消息送至根節(jié)點(diǎn),由根節(jié)點(diǎn)回復(fù)確認(rèn)消息DAO-ACK消息,來提高下行路由的可靠性,當(dāng)節(jié)點(diǎn)入網(wǎng)后,將收到DIO消息中的目標(biāo)函數(shù)(Objective Function,OF)中定義的一個(gè)或多個(gè)度量和約束轉(zhuǎn)換為Rank值,然后周期廣播DIO繼續(xù)協(xié)助周圍鄰居入網(wǎng)。

        節(jié)點(diǎn)通過遍歷節(jié)點(diǎn)的接口信息,結(jié)合poll函數(shù)實(shí)現(xiàn)非阻塞的RAW套接字,同時(shí)實(shí)現(xiàn)超時(shí)時(shí)間的設(shè)定與套接字的監(jiān)聽。Poll函數(shù)可以實(shí)現(xiàn)非阻塞IO的套接字,它可以通過監(jiān)視套接字描述符的變化來監(jiān)測(cè)等待事件的發(fā)生,一旦判定收到DIO消息,就確定接口信息,單播回復(fù)DAO消息。通過對(duì)若干個(gè)套接字進(jìn)行輪詢,根據(jù)發(fā)生的事件來進(jìn)行相應(yīng)的處理。代碼示例如下:

        for(int i=0;igif_count;i++)∥輪詢加入poll監(jiān)聽池

        {

        gif6.gifaddr6[i].ifa_name=pa->ifname[i];

        fds[i].fd=pa->r_sock[i];

        fds[i].events=POLLIN;∥設(shè)置監(jiān)控觸發(fā)事件

        }

        ret=poll(fds,pa->gif_count,INFTIM);

        if(fds[i].revents==POLLIN)∥捕獲觸發(fā)的事件類型

        send_dao(r_sock,r_src,parent,relay_src,dao_seq,r_dio.instanceid,r_dio.dodagid,ip6_src_add.s6_addr,plen);∥回復(fù)DAO消息

        3 軟件測(cè)試及分析

        在軟件協(xié)議的開發(fā)中,軟件功能的實(shí)現(xiàn)是保障協(xié)議能夠正常運(yùn)行的最基本要求。為了驗(yàn)證RPL路由協(xié)議能否正常運(yùn)行,本文編寫了相應(yīng)的測(cè)試用例對(duì)RPL協(xié)議模塊功能進(jìn)行測(cè)試。

        3.1 測(cè)試環(huán)境搭建

        為測(cè)試RPL路由協(xié)議功能及性能,需要首先搭建自治控制平面作為測(cè)試平臺(tái),實(shí)際搭建的測(cè)試場(chǎng)景網(wǎng)絡(luò)拓?fù)淙鐖D6所示。

        圖6 測(cè)試網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)Fig.6 Network topology used for testing

        圖6中所有的節(jié)點(diǎn)都是在一臺(tái)臺(tái)式機(jī)上通過Vmware Workstation虛擬機(jī)軟件虛擬了多個(gè)虛擬節(jié)點(diǎn),在其上運(yùn)行Linux操作系統(tǒng),通過對(duì)節(jié)點(diǎn)進(jìn)行配置多個(gè)虛擬網(wǎng)卡來構(gòu)建網(wǎng)絡(luò)拓?fù)洌總€(gè)網(wǎng)卡分別配置了不同網(wǎng)段的IPv6的LLA地址和ULA地址,其中LLA地址為鏈路本地地址,是默認(rèn)為網(wǎng)卡分配的地址,用于本地鏈路之間的通信;自治控制平面在運(yùn)行路由協(xié)議前,會(huì)自動(dòng)分配一個(gè)ULA地址用于當(dāng)前域內(nèi)路由。

        3.2 構(gòu)建RPL路由測(cè)試

        在所有的節(jié)點(diǎn)上運(yùn)行RPL路由協(xié)議軟件,節(jié)點(diǎn)首先會(huì)初始化接口信息,例如A節(jié)點(diǎn)有兩個(gè)接口eth0和eth1,然后創(chuàng)建Raw套接字,其中假設(shè)A是根節(jié)點(diǎn),其IPv6地址為fd89::1,作為DODAGID,其他節(jié)點(diǎn)是普通節(jié)點(diǎn),首先由A構(gòu)建DODAG,A節(jié)點(diǎn)組播DIO消息如圖7所示,鄰居節(jié)點(diǎn)B和C收到DIO消息后構(gòu)建上行路由如圖8所示,收到的DIO消息中的DODAGID字段為fd89::1,rank值為0表示是根節(jié)點(diǎn),B,C節(jié)點(diǎn)根據(jù)DIO消息構(gòu)建到節(jié)點(diǎn)A的上行路由,如圖9所示。然后向節(jié)點(diǎn)A回復(fù)DAO消息,其中Target Prefix字段為fd89:1::10,表示B的IPv6地址,節(jié)點(diǎn)A構(gòu)造下行路由的測(cè)試結(jié)果如圖10所示。

        當(dāng)節(jié)點(diǎn)B,C,D,E,F加入到DODAG后,在A節(jié)點(diǎn)中會(huì)聚集子節(jié)點(diǎn)路由信息,如圖11所示,這表示當(dāng)前網(wǎng)絡(luò)已經(jīng)組網(wǎng)完成,如果節(jié)點(diǎn)是鄰居直連,則下一跳使用null表示,ifname表示數(shù)據(jù)包發(fā)送接口。

        路由修復(fù)以節(jié)點(diǎn)B脫網(wǎng)為例,如圖12所示,當(dāng)節(jié)點(diǎn)B故障時(shí),A節(jié)點(diǎn)通過發(fā)送DIO消息并等待DAO消息,若在一定時(shí)間內(nèi)沒有收到,則會(huì)檢測(cè)出節(jié)點(diǎn)B出現(xiàn)故障,刪除故障節(jié)點(diǎn)路由。

        圖7 A節(jié)點(diǎn)組播DIO消息測(cè)試信息Fig.7 Test information for Node A multicast DIO messages

        圖8 B,C節(jié)點(diǎn)接收DIO消息測(cè)試信息Fig.8 Test information for node B and node C receiving DIO messages

        圖9 B,C節(jié)點(diǎn)構(gòu)建上行路由測(cè)試信息Fig.9 Test information fornode B and node C to build upward routes

        圖10 A節(jié)點(diǎn)構(gòu)建下行路由測(cè)試信息Fig.10 Test information for node A to build downward routes

        圖11 A節(jié)點(diǎn)存儲(chǔ)的路由測(cè)試信息Fig.11 Test information of the routes stored at node A

        圖12 A節(jié)點(diǎn)刪除錯(cuò)誤路由測(cè)試信息Fig.12 Test information of node A deleting the wrong route

        4 結(jié)束語

        自治網(wǎng)絡(luò)作為當(dāng)前一個(gè)較為新穎的研究方向,在當(dāng)前的學(xué)術(shù)界以及相關(guān)領(lǐng)域被關(guān)注的不多,研究成果也較少。因此,本文以ANIMA工作組提出的自治網(wǎng)絡(luò)基礎(chǔ)結(jié)架構(gòu)中的自治控制平面為參考模型,重點(diǎn)是實(shí)現(xiàn)其中的路由協(xié)議來打通一個(gè)虛擬帶外網(wǎng)絡(luò),在不依賴于節(jié)點(diǎn)的配置與全局路由表的情況下,依舊可以維持與網(wǎng)絡(luò)中節(jié)點(diǎn)的連通性,實(shí)現(xiàn)對(duì)于節(jié)點(diǎn)的管理與維護(hù)。本實(shí)現(xiàn)開拓性地在Linux系統(tǒng)下,結(jié)合網(wǎng)絡(luò)編程相關(guān)知識(shí),使用C語言成功地實(shí)現(xiàn)了RPL路由模塊以及相應(yīng)功能。實(shí)現(xiàn)結(jié)果表明,本文所設(shè)計(jì)的軟件系統(tǒng)能夠基本滿足自治控制平面中對(duì)路由的要求。

        猜你喜歡
        行路字段路由
        圖書館中文圖書編目外包數(shù)據(jù)質(zhì)量控制分析
        舉步有禮 行路不難
        反洗錢行路致遠(yuǎn)
        探究路由與環(huán)路的問題
        行路不知難
        CNMARC304字段和314字段責(zé)任附注方式解析
        無正題名文獻(xiàn)著錄方法評(píng)述
        PRIME和G3-PLC路由機(jī)制對(duì)比
        西行路上(組詩)
        吐魯番(2014年2期)2014-02-28 16:54:47
        WSN中基于等高度路由的源位置隱私保護(hù)
        国产mv在线天堂mv免费观看| 亚洲欧洲久久久精品| japanesehd中国产在线看 | 精品人妻日韩中文字幕| 亚洲乱码中文字幕在线播放| 亚洲综合精品中文字幕| 久久精品国产字幕高潮| 女人扒开下面无遮挡| 精品18在线观看免费视频| 亚洲一二三四五区中文字幕 | 国产精品国产三级国产在线观| 亚洲天堂av在线免费观看| 久久婷婷五月综合色欧美| 男女后进式猛烈xx00动态图片| 亚洲成在人线久久综合| 日本中文字幕一区二区视频| 国产亚洲一区二区三区夜夜骚| 国产黄色三级一区二区三区四区| 国产91清纯白嫩初高中在线观看| 精品无码久久久久久国产| 国产亚洲欧美在线观看的| 国产少妇一区二区三区| 国产在线精品观看一区二区三区 | 亚洲精品中文字幕码专区| av无码精品一区二区三区| 夜夜欢性恔免费视频| 2021国产视频不卡在线| 精品视频专区| 日本女同视频一区二区三区| 人成综合视频在线播放| 黄桃av无码免费一区二区三区| 精品水蜜桃久久久久久久| 无码午夜剧场| 亚洲一区在线二区三区| av色综合久久天堂av色综合在| 久久天天躁夜夜躁狠狠躁2022| 国产精品白浆视频免费观看| 国产精品一区二区久久蜜桃| 久久久亚洲精品一区二区三区 | 国产又黄又硬又粗| 亚洲不卡av不卡一区二区|