《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 業(yè)界動(dòng)態(tài) > 一種高速數(shù)據(jù)包捕獲系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

一種高速數(shù)據(jù)包捕獲系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

2008-03-20
作者:饒 超,黃 建,頓新平

  摘 要: 提出一種針對(duì)高速光網(wǎng)絡(luò)環(huán)境的數(shù)據(jù)包捕獲平臺(tái)的設(shè)計(jì)方案。采用軟硬件結(jié)合" title="軟硬件結(jié)合">軟硬件結(jié)合的設(shè)計(jì)思想,由系統(tǒng)硬件完成數(shù)據(jù)包的解析和過(guò)濾,軟件根據(jù)硬件解析結(jié)果將數(shù)據(jù)直接向應(yīng)用進(jìn)程分發(fā)。驅(qū)動(dòng)部分借鑒了零拷貝和循環(huán)緩沖區(qū)技術(shù),并進(jìn)行了中斷優(yōu)化以降低數(shù)據(jù)采集的CPU占用率。
  關(guān)鍵詞: 軟硬件結(jié)合 規(guī)則? 包捕獲? 64位PCI? OC48接口

?

  隨著網(wǎng)絡(luò)的普及,安全問(wèn)題正威脅著每個(gè)網(wǎng)絡(luò)用戶。因此對(duì)計(jì)算機(jī)的網(wǎng)絡(luò)監(jiān)控十分必要,而其中對(duì)網(wǎng)絡(luò)數(shù)據(jù)包的捕獲和分析尤為重要。隨著網(wǎng)絡(luò)帶寬不斷增加,監(jiān)控高速網(wǎng)絡(luò)數(shù)據(jù)流的需求越來(lái)越明顯,各種數(shù)據(jù)包捕獲技術(shù)在大規(guī)模寬帶網(wǎng)絡(luò)的入侵檢測(cè)系統(tǒng)[1]、大流量網(wǎng)絡(luò)數(shù)據(jù)情況下的網(wǎng)絡(luò)協(xié)議分析、寬帶網(wǎng)絡(luò)防火墻和高性能路由器等領(lǐng)域中,都具有廣泛的應(yīng)用前景。
1 傳統(tǒng)方案
  傳統(tǒng)的數(shù)據(jù)包捕獲方案一般是基于普通的網(wǎng)卡,通過(guò)應(yīng)用程序和支持庫(kù)把網(wǎng)卡設(shè)置成混雜模式[2],從而繞開(kāi)網(wǎng)卡通常的工作程序,使之能夠接受目標(biāo)地址而不是自己MAC地址的數(shù)據(jù)包,再經(jīng)過(guò)過(guò)濾、解析實(shí)現(xiàn)監(jiān)控。
  目前實(shí)現(xiàn)包捕獲功能的軟件有很多。支持Linux操作系統(tǒng)的Libpcap[3]庫(kù)就是基于BPF模型一個(gè)典型數(shù)據(jù)包捕獲平臺(tái)。Libpcap 實(shí)質(zhì)上是一個(gè)系統(tǒng)獨(dú)立的 API 函數(shù)接口,用于用戶層次的數(shù)據(jù)包截獲工作。它為底層網(wǎng)絡(luò)監(jiān)控編程提供了易于移植的應(yīng)用框架。利用Libpcap庫(kù)開(kāi)發(fā)的網(wǎng)絡(luò)監(jiān)控的工具如Tcpdump[3]等,大多有效地利用了庫(kù)中的接口實(shí)現(xiàn)了按需捕獲功能。但是總體上來(lái)看,這些工具由于設(shè)計(jì)上的限制,即使工作在非常強(qiáng)大的硬件平臺(tái)上,在面對(duì)現(xiàn)代高速網(wǎng)絡(luò)時(shí)也越來(lái)越難以應(yīng)付,特別是在快于千兆的光網(wǎng)絡(luò)環(huán)境中,常常因?yàn)閬?lái)不及處理導(dǎo)致丟包相當(dāng)嚴(yán)重。
2 改進(jìn)方案概述
  這是一種采用軟硬件結(jié)合的高速數(shù)據(jù)包捕獲實(shí)現(xiàn)方案。為了能適用于高速光網(wǎng)絡(luò)環(huán)境,硬件部分完成了對(duì)實(shí)時(shí)性要求高的數(shù)據(jù)包的預(yù)處理工作,軟件部分在后期能夠?qū)?shù)據(jù)包進(jìn)行再次的深度處理。整個(gè)系統(tǒng)硬件的關(guān)鍵在包解析處理模塊" title="處理模塊">處理模塊和規(guī)則管理模塊。包解析處理模塊實(shí)現(xiàn)了數(shù)據(jù)包的預(yù)處理;規(guī)則管理模塊則用于規(guī)則存儲(chǔ)和查找,包解析處理模塊對(duì)數(shù)據(jù)包的過(guò)濾有賴于查找的結(jié)果。基于硬件配置的靈活性,可以在前期就將未匹配成功、校驗(yàn)出錯(cuò)、太短或太長(zhǎng)等不符合要求的數(shù)據(jù)包丟棄,后期處理階段可以專注于對(duì)有處理需求的數(shù)據(jù)包進(jìn)行解析,極大地提高了整個(gè)系統(tǒng)的性能。另外,由于目前大部分寬帶IP網(wǎng)的地市級(jí)出口基本上都是由2.5Gbps POS(Packet Over SONET)鏈路組成,每個(gè)設(shè)備采用了兩路2.5Gbps OC48 POS接口作為數(shù)據(jù)輸入;而輸出端采用了64 bit 66MHz的PCI總線設(shè)計(jì),從而在主機(jī)一側(cè)保證帶寬。為了適應(yīng)更高的采樣需求,驅(qū)動(dòng)在設(shè)計(jì)上支持多設(shè)備協(xié)同工作。
  系統(tǒng)軟件部分基于Linux操作系統(tǒng)平臺(tái),由驅(qū)動(dòng)程序和自定義的庫(kù)函數(shù)組成。驅(qū)動(dòng)程序?qū)崿F(xiàn)了系統(tǒng)各芯片的初始化,響應(yīng)上層對(duì)規(guī)則和硬件配置的要求和維護(hù)數(shù)據(jù)緩沖區(qū)等功能。庫(kù)函數(shù)介于應(yīng)用程序與驅(qū)動(dòng)程序之間,起到一個(gè)橋梁中介作用,主要向上層提供類似Libpcap的API,從而把復(fù)雜的處理函數(shù)封裝起來(lái),給用戶一個(gè)簡(jiǎn)潔通用的接口。
  考慮到傳統(tǒng)方案主要在網(wǎng)卡中斷、內(nèi)存操作、用戶態(tài)和內(nèi)核態(tài)間的拷貝等方面存在瓶頸,軟件中做了幾項(xiàng)改進(jìn):(1)改進(jìn)了中斷方式,以數(shù)據(jù)塊" title="數(shù)據(jù)塊">數(shù)據(jù)塊而不是以單個(gè)數(shù)據(jù)包觸發(fā)中斷,減少了中斷的頻率;(2)借鑒零拷貝的思想,避免了不必要的內(nèi)存拷貝;(3)利用循環(huán)緩沖區(qū)(ring buffer)存儲(chǔ)用戶數(shù)據(jù), 提高了內(nèi)存利用率。
3 系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn)
3.1 系統(tǒng)硬件實(shí)現(xiàn)
  系統(tǒng)利用硬件代替Linux內(nèi)核實(shí)現(xiàn)了數(shù)據(jù)包的差錯(cuò)校驗(yàn)和協(xié)議棧的初步解析。一定格式的過(guò)濾規(guī)則按照優(yōu)先級(jí)存儲(chǔ)于規(guī)則管理模塊中,規(guī)則管理模塊將包解析模塊從數(shù)據(jù)包的一些控制字段中抽取出關(guān)鍵字同預(yù)設(shè)的所有規(guī)則進(jìn)行比較,選出優(yōu)先級(jí)最高的匹配規(guī)則,匹配的結(jié)果反饋給包處理模塊,而沒(méi)有匹配到任何規(guī)則的數(shù)據(jù)包會(huì)被丟棄。符合要求的數(shù)據(jù)包被加上一個(gè)叫做internal head的自定義頭部。這個(gè)自定義頭部包含了這個(gè)數(shù)據(jù)包的長(zhǎng)度、協(xié)議類型、時(shí)間戳和cookie等信息,這里cookie字段是數(shù)據(jù)包分發(fā)的依據(jù)。此后驅(qū)動(dòng)程序惟一需要解析的包頭只有自定義頭部,從而降低了軟件處理部分的復(fù)雜度。
  經(jīng)過(guò)過(guò)濾后,符合要求的數(shù)據(jù)包會(huì)被暫存在硬件外部高速存儲(chǔ)器中,同時(shí)包處理模塊以中斷的方式通知驅(qū)動(dòng)新數(shù)據(jù)的到來(lái)。為避免頻繁中斷帶來(lái)的額外的系統(tǒng)開(kāi)銷,在設(shè)計(jì)上采用了以數(shù)據(jù)塊而不是以數(shù)據(jù)包的方式來(lái)觸發(fā)中斷:暫存在硬件外部高速存儲(chǔ)器中的數(shù)據(jù)達(dá)到規(guī)定大小時(shí)觸發(fā)中斷, 數(shù)據(jù)借助這次中斷通過(guò)DMA方式送往主機(jī)側(cè)。當(dāng)然,為防止收取不到規(guī)定大小的數(shù)據(jù)塊而造成的死鎖,也就是如果收取的數(shù)據(jù)在一定時(shí)間仍沒(méi)有辦法達(dá)到這個(gè)大小,則采用超時(shí)機(jī)制強(qiáng)行發(fā)出中斷請(qǐng)求,送出剩余的數(shù)據(jù)。
系統(tǒng)硬件數(shù)據(jù)處理的整個(gè)過(guò)程如圖1所示。


3.2 系統(tǒng)軟件實(shí)現(xiàn)
  本系統(tǒng)在Linux操作系統(tǒng)中被注冊(cè)為一個(gè)字符設(shè)備并共用一個(gè)設(shè)備號(hào)。為了提供對(duì)多設(shè)備的支持,這里設(shè)計(jì)了一個(gè)全局的私有結(jié)構(gòu)來(lái)區(qū)分它們,每個(gè)結(jié)構(gòu)被用一個(gè)單向鏈表管理起來(lái):每當(dāng)驅(qū)動(dòng)程序找到一個(gè)新設(shè)備,就給它分配一個(gè)新的結(jié)構(gòu)并掛在鏈表上。另外這個(gè)結(jié)構(gòu)的另一個(gè)用途是作為中斷處理" title="中斷處理">中斷處理函數(shù)的dev_id參數(shù),在中斷來(lái)時(shí)中斷處理函數(shù)能夠以此區(qū)分不同的設(shè)備。
  從驅(qū)動(dòng)程序代理用戶進(jìn)程設(shè)置過(guò)濾規(guī)則到硬件觸發(fā)中斷通知驅(qū)動(dòng)程序收取數(shù)據(jù)包,驅(qū)動(dòng)程序代表整個(gè)系統(tǒng)進(jìn)行一些必要的工作。
  整個(gè)系統(tǒng)的軟件結(jié)構(gòu)如圖2所示。


3.2.1 用戶規(guī)則設(shè)置
  每個(gè)用戶進(jìn)程在創(chuàng)建初期會(huì)在內(nèi)核中獲取一塊或多塊連續(xù)內(nèi)存塊用來(lái)存儲(chǔ)自己所需的數(shù)據(jù)。考慮到用戶進(jìn)程可能在數(shù)量上會(huì)很多,系統(tǒng)初始化時(shí)就已經(jīng)申請(qǐng)好一定數(shù)量固定大小的內(nèi)存塊,并打上id標(biāo)記等待進(jìn)程來(lái)申請(qǐng)。為了提高內(nèi)存的利用率,這里利用了循環(huán)緩沖區(qū)結(jié)構(gòu)來(lái)管理每個(gè)內(nèi)存塊。循環(huán)緩沖區(qū)可以讓驅(qū)動(dòng)程序?qū)P倪M(jìn)行數(shù)據(jù)接收而不用考慮讀進(jìn)程,同時(shí)內(nèi)存也不會(huì)被浪費(fèi)。為避免頻繁的數(shù)據(jù)拷貝,借鑒了零拷貝[4](zero-copy)的思想。零拷貝基本思想是:數(shù)據(jù)包從網(wǎng)絡(luò)設(shè)備到用戶程序空間傳遞的過(guò)程中,減少數(shù)據(jù)拷貝次數(shù),減少系統(tǒng)調(diào)用,在一定程度上實(shí)現(xiàn)CPU的零參與。實(shí)現(xiàn)零拷貝采用的最主要技術(shù)是DMA數(shù)據(jù)傳輸技術(shù)和內(nèi)存區(qū)域映射技術(shù)。傳統(tǒng)的網(wǎng)絡(luò)數(shù)據(jù)包過(guò)濾處理,需要進(jìn)行多次數(shù)據(jù)拷貝,整個(gè)過(guò)程需要用戶進(jìn)程向系統(tǒng)發(fā)出的系統(tǒng)調(diào)用,其中涉及到操作系統(tǒng)大量的上下文切換和CPU的始終參與。零拷貝技術(shù)首先利用DMA技術(shù)將網(wǎng)絡(luò)數(shù)據(jù)包通過(guò)DMA通道直接推入系統(tǒng)內(nèi)核中一個(gè)公共緩沖區(qū),其過(guò)程可與主機(jī)并行操作,然后由公共緩沖區(qū)分發(fā)給相應(yīng)用戶緩沖區(qū)。由于位于內(nèi)核空間的用戶緩沖區(qū)是受保護(hù)的,應(yīng)用進(jìn)程在用戶態(tài)無(wú)法直接訪問(wèn)。排除低效率的系統(tǒng)調(diào)用方法,這里采用了Linux的一種高效的內(nèi)存映射機(jī)制mmap將內(nèi)核空間映射到虛地址空間,用戶通過(guò)這個(gè)空間內(nèi)的虛地址就能訪問(wèn)到相應(yīng)的用戶緩沖區(qū)了。
  創(chuàng)建用戶進(jìn)程的同時(shí),過(guò)濾規(guī)則也按一定語(yǔ)法被設(shè)置。規(guī)則通過(guò)庫(kù)函數(shù)和系統(tǒng)調(diào)用被按一定優(yōu)先級(jí)(這里稱規(guī)則索引)存儲(chǔ)于規(guī)則管理模塊中,此時(shí)該規(guī)則開(kāi)始生效。為了方便驅(qū)動(dòng)管理規(guī)則,同樣的規(guī)則以鏈表的方式保存于系統(tǒng)內(nèi)存中。軟件中的規(guī)則是硬件中的規(guī)則的抽象,兩者每時(shí)每刻都保持著同步。
  用戶的緩沖區(qū)和用戶設(shè)置的規(guī)則被前文所述的內(nèi)存塊id標(biāo)記聯(lián)系起來(lái)。這個(gè)標(biāo)記的值會(huì)賦予以規(guī)則索引為下標(biāo)的數(shù)組從而完成關(guān)聯(lián)。


  一個(gè)進(jìn)程添加新規(guī)則的過(guò)程如圖3所示。虛線箭頭表示控制流。用戶進(jìn)程發(fā)出系統(tǒng)調(diào)用在內(nèi)存中創(chuàng)建新規(guī)則及其規(guī)則索引,驅(qū)動(dòng)程序代替它查詢用戶緩沖區(qū)得到一個(gè)空閑內(nèi)存塊的id標(biāo)記號(hào),然后這個(gè)id號(hào)關(guān)聯(lián)到新規(guī)則,也從而使用戶緩沖區(qū)的內(nèi)存塊、規(guī)則和用戶進(jìn)程三者對(duì)應(yīng)起來(lái),最后規(guī)則被添加進(jìn)入硬件。值得注意的是,如果驅(qū)動(dòng)程序發(fā)現(xiàn)內(nèi)存中已存在同樣的規(guī)則,它僅會(huì)把這個(gè)進(jìn)程申請(qǐng)到的id號(hào)放在舊規(guī)則索引的數(shù)組最后。
  在做好其他相應(yīng)的設(shè)置以后,應(yīng)用進(jìn)程會(huì)到自己的用戶緩沖區(qū)中查看是否有新的數(shù)據(jù)到來(lái)。這里沒(méi)有采用常用的輪詢方法來(lái)檢查緩沖區(qū)。雖然輪詢不需要硬件特別的支持,但隨之帶來(lái)的問(wèn)題也是明顯的。頻率過(guò)高的輪詢會(huì)大量地消耗CPU的時(shí)鐘周期;時(shí)間間隔過(guò)大則會(huì)帶來(lái)數(shù)據(jù)包時(shí)間戳不準(zhǔn)確,錯(cuò)過(guò)收取數(shù)據(jù)的時(shí)機(jī)導(dǎo)致丟包等問(wèn)題。取而代之采用了一種中斷驅(qū)動(dòng)的方法:用戶進(jìn)程察看自己的緩沖區(qū)內(nèi)有沒(méi)有新數(shù)據(jù)的到來(lái),如沒(méi)有則把自己掛到等待隊(duì)列開(kāi)始睡眠;中斷來(lái)時(shí),中斷處理函數(shù)收取數(shù)據(jù)包并發(fā)信號(hào)喚醒睡眠進(jìn)程做讀操作。


3.2.2 中斷處理過(guò)程
  中斷的處理流程如圖4所示。中斷來(lái)時(shí),中斷處理函數(shù)首先根據(jù)內(nèi)核傳入的私有結(jié)構(gòu)dev_id[5]判斷到底是哪個(gè)設(shè)備產(chǎn)生中斷,然后檢查相應(yīng)設(shè)備的中斷狀態(tài)寄存器,根據(jù)寄存器判斷中斷發(fā)生的不同原因決定是否進(jìn)行DMA操作。DMA操作會(huì)在無(wú)需操作系統(tǒng)干預(yù)的情況下把數(shù)據(jù)塊從硬件外部高速存儲(chǔ)器搬到內(nèi)核公共緩沖區(qū)。公共緩沖區(qū)數(shù)據(jù)包自定義包頭經(jīng)過(guò)解析后得到cookie值,它對(duì)應(yīng)著前文所述的規(guī)則索引。驅(qū)動(dòng)程序會(huì)根據(jù)規(guī)則索引把數(shù)據(jù)從公共緩沖區(qū)分發(fā)到相應(yīng)進(jìn)程的用戶緩沖區(qū)并喚醒等待隊(duì)列上的進(jìn)程做讀取包和深度解析的工作。
  在中斷處理過(guò)程中對(duì)于非搶占的Linux內(nèi)核涉及系統(tǒng)同步的問(wèn)題。為保護(hù)共享數(shù)據(jù)可能被非同步操作,整個(gè)中斷處理過(guò)程通過(guò)關(guān)中斷的方式來(lái)保護(hù)。但對(duì)于擁有對(duì)稱多處理器(SMP)或加入搶占機(jī)制的系統(tǒng),需要做一些額外的處理:為了不影響其他處理器上的中斷處理,避免使用全局關(guān)中斷函數(shù),只禁用當(dāng)前處理器的中斷,并利用不會(huì)睡眠的鎖如自旋鎖對(duì)所有可能引發(fā)同步問(wèn)題的臨界區(qū)進(jìn)行保護(hù)。在多設(shè)備的環(huán)境下,系統(tǒng)中的每個(gè)設(shè)備DMA操作前都必須擁有自己的鎖;為了避免數(shù)據(jù)混亂,每個(gè)設(shè)備都擁有各自的公共緩沖區(qū),而且從各自的公共緩沖區(qū)向用戶緩沖區(qū)寫數(shù)據(jù)前必須獲得一個(gè)全局鎖,從而實(shí)現(xiàn)寫操作的串行化。


4 性能測(cè)試
  實(shí)驗(yàn)使用SmartBits測(cè)試儀模擬真實(shí)的網(wǎng)絡(luò)環(huán)境對(duì)本系統(tǒng)進(jìn)行了測(cè)試。測(cè)試硬件平臺(tái)為Intel P4 2.4GHz的處理器,1GB內(nèi)存,64位PCI總線;軟件平臺(tái)為Fedra core3。測(cè)試結(jié)果" title="測(cè)試結(jié)果">測(cè)試結(jié)果顯示傳統(tǒng)的Libpcap在400Mbps左右就已經(jīng)出現(xiàn)嚴(yán)重的丟包現(xiàn)象,而且受包長(zhǎng)影響很大。而本系統(tǒng)在單設(shè)備雙輸入的情況下,當(dāng)包速率超過(guò)1 800Mbps才出現(xiàn)丟包現(xiàn)象,并基本不受包長(zhǎng)變化影響。另外測(cè)試結(jié)果表明本系統(tǒng)在Linux操作系統(tǒng)平臺(tái)下有較低的系統(tǒng)占用,如圖5所示本系統(tǒng)在不同包長(zhǎng)的情況下處理器占用率均比Intel 光網(wǎng)卡 PRO/1000F要低得多。
  本文在參考傳統(tǒng)網(wǎng)絡(luò)數(shù)據(jù)包捕獲方法的同時(shí),針對(duì)傳統(tǒng)方法的一些弱點(diǎn),提出一種軟硬件結(jié)合的包捕獲方案。該方案由硬件完成數(shù)據(jù)包過(guò)濾的任務(wù),并對(duì)軟件部分作了優(yōu)化,測(cè)試結(jié)果表明,該方案能滿足大多數(shù)高速網(wǎng)絡(luò)數(shù)據(jù)包捕獲任務(wù)的需要,具有廣泛的應(yīng)用前景。

參考文獻(xiàn)
1 White G B,Pooch U W.Cooperating security managers:Distributed intrusion detection systems.Computers & Security,1996;15(5):441~450
2 唐正軍,劉代志.網(wǎng)絡(luò)嗅探器Sniffer軟件源代碼淺3:采用Labpcap庫(kù)的通用設(shè)計(jì).計(jì)算機(jī)工程,2002;28(2)
3 Jacobson V,Leres C,McCanne S.The tcpdump manual page. Lawrence Berkeley Laboratory,Berkeley,CA,1997
4 Kurmann C,Rauch F,Stricker T.Speculative defragmentation-leading gigabit ethernet to true Zero-Copy communication. Cluster Computing,2001;4(1):7~18
5 Rubini A,Corbet J著,魏永明,駱 剛,姜 君譯.Linux設(shè)備驅(qū)動(dòng)程序(第二版).北京:中國(guó)電力出版社,2004:275~276

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国内成人在线| 亚洲电影免费观看高清完整版在线| 欧美一区二区在线观看| 亚洲黄色在线观看| 午夜精品福利在线| 99re这里只有精品6| 亚洲电影欧美电影有声小说| 国产酒店精品激情| 欧美视频一区二区三区在线观看| 免费在线观看日韩欧美| 久久久福利视频| 午夜一级在线看亚洲| 日韩一二三区视频| 亚洲国产专区校园欧美| 欧美自拍偷拍午夜视频| 亚洲欧美国内爽妇网| 99视频热这里只有精品免费| 91久久久国产精品| 亚洲第一成人在线| 永久免费精品影视网站| 国内精品99| 激情久久久久久久| 国产视频精品xxxx| 国产精品一区二区久久精品| 国产精品对白刺激久久久| 欧美久久99| 欧美激情精品久久久久久黑人 | 欧美一区二区三区在线视频| 夜夜夜精品看看| 日韩视频永久免费观看| 亚洲精品少妇网址| 亚洲精品午夜| 日韩视频免费| 亚洲深夜影院| 亚洲欧美国产制服动漫| 午夜视频一区| 欧美在线免费视屏| 亚洲电影免费观看高清完整版在线| 欧美专区第一页| 亚洲高清激情| 亚洲高清一区二区三区| 亚洲国产欧美精品| 亚洲乱码日产精品bd| 999在线观看精品免费不卡网站| 亚洲美女诱惑| 中文在线不卡视频| aa日韩免费精品视频一| 亚洲午夜精品久久久久久浪潮| 亚洲视屏在线播放| 亚洲欧美精品| 久久精品123| 美女精品自拍一二三四| 欧美高清视频一区二区三区在线观看 | 国产亚洲精品aa午夜观看| 黄色成人在线网站| 国产在线乱码一区二区三区| 尤物精品在线| 9人人澡人人爽人人精品| 亚洲欧洲另类国产综合| 国内精品久久久久久影视8| 在线观看一区二区精品视频| 91久久精品美女高潮| 99精品免费| 欧美亚洲自偷自偷| 亚洲精品韩国| 亚洲在线中文字幕| 亚洲欧美三级在线| 久久中文字幕一区二区三区| 欧美精品在线观看| 国产精品盗摄一区二区三区| 国产日韩精品入口| 最新中文字幕一区二区三区| 亚洲欧美在线另类| 一区二区三区四区国产精品| 久久米奇亚洲| 国产精品亚洲网站| 亚洲毛片一区| 91久久国产综合久久91精品网站| 欧美一区二区精美| 欧美日韩中文在线观看| 一区二区亚洲欧洲国产日韩| 亚洲免费一在线| 亚洲一区二区三区中文字幕在线 | 亚洲国产黄色| 欧美一区二区啪啪| 午夜精品久久久久久久久久久久| 欧美精品在线观看播放| 在线精品国产成人综合| 久久av红桃一区二区小说| 亚洲影视在线播放| 欧美日韩国产一区二区三区| 尤妮丝一区二区裸体视频| 性8sex亚洲区入口| 午夜在线电影亚洲一区| 欧美日韩在线电影| 亚洲日韩欧美视频一区| 亚洲精品久久久久久久久久久| 久久久久久久成人| 国产精品中文在线| 亚洲永久视频| 亚洲免费综合| 国产精品久久久久7777婷婷| 亚洲免费成人| 在线亚洲一区| 欧美日韩理论| 日韩视频免费观看高清完整版| 亚洲精品欧美| 欧美激情影音先锋| 91久久精品久久国产性色也91| 亚洲国产裸拍裸体视频在线观看乱了 | 欧美性大战久久久久久久| 亚洲精品护士| 夜色激情一区二区| 欧美另类一区二区三区| 亚洲三级电影在线观看 | 亚洲午夜精品网| 欧美视频在线播放| 国产精品99久久久久久www| 亚洲一区二区高清视频| 欧美午夜久久久| 一区二区三区av| 午夜精品影院在线观看| 国产精品久久久久久久午夜 | 亚洲伦理自拍| 在线一区二区三区四区五区| 欧美日韩免费精品| 一区二区三区精品| 午夜精品久久久久久久蜜桃app| 国产精品第一区| 亚洲一区二区在线看| 性色av一区二区三区在线观看| 国产麻豆精品视频| 欧美一级黄色录像| 久久免费黄色| 亚洲国产经典视频| av成人免费观看| 国产精品va在线播放| 亚洲一区二区三区四区五区黄| 欧美一级大片在线免费观看| 国产三级精品三级| 亚洲第一精品福利| 欧美激情精品久久久久久黑人| 亚洲美女av在线播放| 亚洲综合另类| 国产视频精品免费播放| 欧美中文字幕视频| 牛夜精品久久久久久久99黑人 | 亚洲第一成人在线| 欧美激情一区二区三区在线视频观看 | 国产伦精品一区二区三区高清| 欧美一区二区在线免费观看 | 欧美日韩精品不卡| 亚洲一区二区三区中文字幕在线| 久久激情网站| 亚洲国产一区二区a毛片| 亚洲午夜激情网站| 国产一区二区中文字幕免费看| 亚洲日韩第九十九页| 欧美性色aⅴ视频一区日韩精品| 午夜精品国产更新| 免费观看成人| 在线亚洲国产精品网站| 久久久国产精品亚洲一区| 亚洲激情自拍| 欧美一区二区三区在| 在线观看视频一区| 亚洲字幕一区二区| 一区精品在线播放| 亚洲先锋成人| 黄色免费成人| 在线视频日韩精品| 国产视频一区在线观看一区免费| 最新国产の精品合集bt伙计| 国产精品久久久对白| 亚洲第一页自拍| 国产精品国产三级国产普通话99 | 亚洲黄色在线看| 先锋影音国产一区| 亚洲片在线资源| 久久av在线看| 99v久久综合狠狠综合久久| 久久婷婷综合激情| 中国日韩欧美久久久久久久久| 老司机精品福利视频| 亚洲手机在线| 欧美激情视频一区二区三区在线播放| 亚洲一区二区三区激情| 欧美成人资源| 香蕉尹人综合在线观看| 欧美精品在线一区| 久久精品99国产精品酒店日本| 国产精品第13页| 日韩亚洲国产欧美| 激情久久久久久久久久久久久久久久| 亚洲私人影院| 亚洲电影观看| 久久久午夜电影| 亚洲欧美变态国产另类| 欧美母乳在线| 亚洲欧洲日本国产|