《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 業(yè)界動態(tài) > 基于VxWorks的雙端口網(wǎng)卡智能雙冗余驅(qū)動

基于VxWorks的雙端口網(wǎng)卡智能雙冗余驅(qū)動

2008-05-06
作者:劉利強,戴運桃,周衛(wèi)東

  摘 要: 針對PC104結(jié)構(gòu)SCM/DETH雙端口以太網(wǎng)卡設(shè)計實現(xiàn)" title="設(shè)計實現(xiàn)">設(shè)計實現(xiàn)了一個基于VxWorks系統(tǒng)的智能雙冗余" title="雙冗余">雙冗余網(wǎng)絡(luò)驅(qū)動" title="網(wǎng)絡(luò)驅(qū)動">網(wǎng)絡(luò)驅(qū)動,在驅(qū)動程序中實現(xiàn)了網(wǎng)絡(luò)通信故障診斷" title="故障診斷">故障診斷及網(wǎng)卡間智能切換等功能。通過對智能雙冗余驅(qū)動進(jìn)行性能測試,驗證了設(shè)計的正確性和有效性。
  關(guān)鍵詞: VxWorks操作系統(tǒng) 冗余備份 網(wǎng)絡(luò)接口卡 網(wǎng)卡驅(qū)動


  隨著網(wǎng)絡(luò)技術(shù)的成熟,具有價格低廉、連接方便等優(yōu)點的以太網(wǎng)已成為各種控制系統(tǒng)接口互連的主要媒介。它作為一種通用網(wǎng)絡(luò)數(shù)據(jù)通信系統(tǒng),在全球計算機網(wǎng)絡(luò)領(lǐng)域已經(jīng)得到了廣泛的應(yīng)用。隨著現(xiàn)代艦船信息化程度的不斷提高,以太網(wǎng)技術(shù)也開始應(yīng)用于現(xiàn)代艦船信息系統(tǒng)中,不但要求信息傳輸速度快,抗干擾能力強,還要求網(wǎng)絡(luò)具有高穩(wěn)定性和高可靠性,在網(wǎng)絡(luò)局部故障或受損時,全系統(tǒng)不至于癱瘓失效。
  冗余設(shè)計作為一種提高系統(tǒng)可靠性的有效方法,已經(jīng)得到了廣泛的應(yīng)用。對于網(wǎng)絡(luò)系統(tǒng)中的單個節(jié)點,常常需要對網(wǎng)卡進(jìn)行雙冗余備份,即每個節(jié)點都采用兩個網(wǎng)絡(luò)接口,中間用兩個集線器或交換機互連,當(dāng)正常通信的網(wǎng)卡或線路出現(xiàn)故障時該節(jié)點能自動地切換到備份網(wǎng)卡進(jìn)行通信。
  目前大多數(shù)操作系統(tǒng)(如Windows、Unix、Linux等)都支持多網(wǎng)卡,但均非冗余設(shè)計,每塊網(wǎng)卡都有獨立的物理地址和IP地址,以獨立的形式供應(yīng)用系統(tǒng)使用。要實現(xiàn)真正的智能雙冗余網(wǎng)絡(luò)系統(tǒng),必須自行設(shè)計專用的網(wǎng)絡(luò)驅(qū)動程序,以透明的形式提交高層應(yīng)用系統(tǒng)使用,使系統(tǒng)感覺不到雙網(wǎng)卡的存在。本文使用盛博公司PC104結(jié)構(gòu)SCM/DETH型10M雙端口以太網(wǎng)卡,設(shè)計實現(xiàn)了基于VxWorks的智能雙冗余網(wǎng)絡(luò)驅(qū)動。
1 VxWorks系統(tǒng)網(wǎng)絡(luò)驅(qū)動原理
1.1 VxWorks系統(tǒng)簡介
  VxWorks操作系統(tǒng)是美國風(fēng)河公司(Wind River System)推出的一款運行在目標(biāo)機上的高性能、可裁減的嵌入式強實時操作系統(tǒng)。操作系統(tǒng)包括了進(jìn)程管理、存儲管理、設(shè)備管理、文件系統(tǒng)管理、網(wǎng)絡(luò)協(xié)議及系統(tǒng)應(yīng)用等幾個部分,只占用了很小的存儲空間,并可高度裁減,保證了系統(tǒng)能以較高的效率運行。它以其良好的可靠性和卓越的實時性被廣泛地應(yīng)用在通信、軍事、航空、航天等高精尖技術(shù)及實時性要求極高的領(lǐng)域中。
  VxWorks主要有以下特點:
  (1)具有高度可剪裁的操作系統(tǒng)微內(nèi)核Wind;
  (2)具有比較優(yōu)秀的網(wǎng)絡(luò)處理能力,適用于多種物理介質(zhì)的TCP/IP協(xié)議族支持;
  (3)具有極其豐富的BSP,支持多處理器系統(tǒng),最多可以支持20個CPU;
  (4)具有友好的開發(fā)調(diào)試環(huán)境,便于操作、配置和應(yīng)用程序的開發(fā)調(diào)試;
  (5)具有較好的兼容性,支持POSIX1003.1b;
  (6)支持多種開發(fā)和運行環(huán)境。支持C語言、C++語言以及JAVA虛擬機。
1.2 VxWorks系統(tǒng)網(wǎng)絡(luò)驅(qū)動原理
  VxWorks中支持兩種類型的網(wǎng)絡(luò)設(shè)備驅(qū)動程序——BSD4.3網(wǎng)絡(luò)驅(qū)動程序和可裁減的增強型網(wǎng)絡(luò)堆棧SENS(Scalable Enhanced Networks Stack)。BSD4.3標(biāo)準(zhǔn)提供了網(wǎng)絡(luò)設(shè)備驅(qū)動程序與IP協(xié)議的緊密結(jié)合,而SENS協(xié)議棧提供了可替換的網(wǎng)絡(luò)設(shè)備驅(qū)動程序,即增強型網(wǎng)絡(luò)驅(qū)動程序END(Enhanced Networks Driver)。
  SENS模型包含三個部分:協(xié)議驅(qū)動程序、多元接口層(MUX)和END型網(wǎng)絡(luò)驅(qū)動。它獨立于硬件設(shè)備接口,將網(wǎng)絡(luò)設(shè)備驅(qū)動程序細(xì)化,使開發(fā)者可以專注于驅(qū)動程序(END驅(qū)動)本身的開發(fā)。本文設(shè)計實現(xiàn)的智能雙冗余驅(qū)動即是一個符合SENS模型標(biāo)準(zhǔn)的END型網(wǎng)絡(luò)驅(qū)動。在END型網(wǎng)絡(luò)驅(qū)動中主要實現(xiàn)網(wǎng)卡設(shè)備的裝載,網(wǎng)絡(luò)芯片的初始化,網(wǎng)絡(luò)報文接收及發(fā)送等功能。在系統(tǒng)啟動后,操作系統(tǒng)通過網(wǎng)卡加載函數(shù)調(diào)用到END型網(wǎng)絡(luò)驅(qū)動,在加載過程中完成網(wǎng)絡(luò)芯片的初始化、內(nèi)存池的分配、網(wǎng)卡設(shè)備控制結(jié)構(gòu)" title="控制結(jié)構(gòu)">控制結(jié)構(gòu)的填寫等操作,最后通過指針傳遞的方式將網(wǎng)卡設(shè)備控制結(jié)構(gòu)和13個網(wǎng)卡操縱函數(shù)提交給MUX層,供上層系統(tǒng)操作網(wǎng)卡工作時使用。
2 智能雙冗余驅(qū)動程序?qū)崿F(xiàn)
2.1 智能雙冗余驅(qū)動實現(xiàn)原理

  智能雙冗余驅(qū)動的實現(xiàn)原理如圖1所示,虛線框內(nèi)為智能雙冗余驅(qū)動。在VxWorks系統(tǒng)啟動時,首先要遍歷配置文件confignet.h中的網(wǎng)卡設(shè)備表endDevTbl[ ],設(shè)備表中包含雙端口網(wǎng)卡上兩個網(wǎng)卡的地址及中斷等配置參數(shù);然后,系統(tǒng)會調(diào)用sysDethEnd.c中的sysDethEndLoad(…)函數(shù),將兩個網(wǎng)卡的配置參數(shù)以函數(shù)入口參數(shù)的形式傳遞給智能雙冗余驅(qū)動的裝載函數(shù)dethEndLoad(…);裝載函數(shù)為每個網(wǎng)卡設(shè)備創(chuàng)建一個控制結(jié)構(gòu),對入口配置參數(shù)進(jìn)行解析,并為每個網(wǎng)卡設(shè)備分配一塊內(nèi)存空間,用系統(tǒng)的配置要求初始化兩個網(wǎng)卡,同時填寫好網(wǎng)卡設(shè)備的控制結(jié)構(gòu);最后,智能雙冗余驅(qū)動將主通道網(wǎng)卡設(shè)備的控制結(jié)構(gòu)指針提交給MUX層,并發(fā)起網(wǎng)絡(luò)故障診斷定時器任務(wù)和網(wǎng)絡(luò)故障診斷任務(wù)。


  網(wǎng)絡(luò)故障診斷定時器任務(wù)配合網(wǎng)絡(luò)故障診斷任務(wù)執(zhí)行,使用看門狗定時器Watchdog timer完成1ms定時,每定時1次釋放1次二進(jìn)制信號量sem_netDiagnose;網(wǎng)絡(luò)故障診斷任務(wù)循環(huán)等待接收信號量sem_netDiagnose,取到信號量后立即判斷主通道網(wǎng)卡設(shè)備的端口狀態(tài)(連接/非連接),當(dāng)端口處于連接狀態(tài)時,任務(wù)循環(huán)等待下次信號量,當(dāng)端口處于非連接狀態(tài)時,網(wǎng)絡(luò)故障診斷任務(wù)交換主通道與備用通道的控制結(jié)構(gòu)內(nèi)容,備用通道網(wǎng)卡設(shè)備變?yōu)橹魍ǖ谰W(wǎng)卡設(shè)備開始工作,但對于上層應(yīng)用來說,網(wǎng)卡的控制結(jié)構(gòu)并沒有改變。
2.2 網(wǎng)卡設(shè)備控制結(jié)構(gòu)
  在智能雙冗余網(wǎng)卡驅(qū)動中使用一個控制數(shù)據(jù)結(jié)構(gòu)控制一塊網(wǎng)卡設(shè)備,控制結(jié)構(gòu)中包含網(wǎng)卡的中斷向量、I/O基址、總線類型、介質(zhì)類型、物理地址等特性信息。這些信息有的在網(wǎng)卡設(shè)備表endDevTbl[ ]中,在系統(tǒng)啟動過程中作為驅(qū)動裝載函數(shù)的參數(shù)傳遞到驅(qū)動中;有的保存在網(wǎng)卡的PROM中,在網(wǎng)卡驅(qū)動程序初始化時,將這些特性參數(shù)寫入網(wǎng)卡控制結(jié)構(gòu)。
  智能雙冗余網(wǎng)卡驅(qū)動中定義了一個控制單網(wǎng)卡設(shè)備的控制結(jié)構(gòu),如下所示:
  typedef struct ne2000_device
  {
  ……
  int    unit;       /*網(wǎng)卡單元號*/
  int    ilevel;      /*中斷優(yōu)先級*/
  int    byteAccess;    /*字節(jié)存儲模式*/
  ULONG   base;       /*基地址*/
  int    offset;      /*內(nèi)存對齊偏移量*/
  volatile ULONG  imask;   /*中斷屏蔽碼*/
  UCHAR   enetAddr[6];   /*網(wǎng)卡物理地址*/
  ……
  } DETHEND_DEVICE;
  驅(qū)動中創(chuàng)建了兩個網(wǎng)卡設(shè)備控制結(jié)構(gòu)分別控制兩塊網(wǎng)卡。上層應(yīng)用通過操作網(wǎng)卡控制結(jié)構(gòu)從而實現(xiàn)對網(wǎng)卡的各種操作。
2.3 網(wǎng)絡(luò)通信故障診斷方法
  要實現(xiàn)網(wǎng)絡(luò)端口的智能切換,實現(xiàn)網(wǎng)卡間冗余備份的功能,首要前提就是需要診斷出當(dāng)前工作的網(wǎng)卡是否網(wǎng)絡(luò)通信故障。任何一種網(wǎng)絡(luò)芯片都提供連接狀態(tài)自動診斷功能,通過在網(wǎng)絡(luò)芯片的某個寄存器的相應(yīng)位置0或置1來表示該網(wǎng)卡連接正常還是連接錯誤。它所檢測的依據(jù)是網(wǎng)卡是否連通,也就是從本機網(wǎng)絡(luò)端口到網(wǎng)線另一端的網(wǎng)絡(luò)端口整個通路是否連通,它能檢測出網(wǎng)線斷開、網(wǎng)絡(luò)接口松動及故障等錯誤。
  本文使用的SEM/DETH雙端口以太網(wǎng)卡采用兩塊RTL8019AS網(wǎng)絡(luò)芯片,該網(wǎng)絡(luò)芯片的寄存器組采用分頁存儲方式,共分為4頁,都映射到16個I/O地址空間上。其中,第3頁CONFIG0寄存器的B2位表示網(wǎng)卡連接狀態(tài)自動診斷結(jié)果,當(dāng)該位為1時表示連接錯誤,為0時表示連接正常。智能雙冗余驅(qū)動的網(wǎng)絡(luò)故障診斷任務(wù)判斷網(wǎng)卡連接狀態(tài)的代碼如下:
  setting=sysInByte(pDrvCtrl->base); /*讀取命令寄存器狀態(tài)*/
  sysOutByte(pDrvCtrl->base,(0xc0|setting));/*選擇第3頁寄存器組*/
  if(sysInByte(pDrvCtrl->base+CONFIG0_REG) & 0x04)/*網(wǎng)絡(luò)連接錯誤*/
  { …… }
2.4 單物理地址實現(xiàn)
  要使兩塊網(wǎng)卡實現(xiàn)智能雙冗余備份,它們必須有相同的物理地址和IP地址。否則,當(dāng)由其中一個網(wǎng)卡切換到另一個網(wǎng)卡上時,如果IP地址發(fā)生變化,系統(tǒng)將無法正常接收、發(fā)送數(shù)據(jù);如果IP地址不發(fā)生變化而僅僅物理地址發(fā)生變化,雖然網(wǎng)卡切換后,系統(tǒng)仍可以正常接收、發(fā)送數(shù)據(jù),但由于物理地址發(fā)生變化,將引起協(xié)議棧中ARP綁定表的變化,重新對應(yīng)ARP綁定表中IP地址與網(wǎng)卡物理地址的關(guān)系,則延長了兩個網(wǎng)卡之間的切換時間。
  系統(tǒng)的IP地址存在于系統(tǒng)的網(wǎng)絡(luò)協(xié)議棧中,在系統(tǒng)啟動后與網(wǎng)卡進(jìn)行綁定。由于本文設(shè)計實現(xiàn)的智能雙冗余驅(qū)動對于應(yīng)用系統(tǒng)和協(xié)議棧來說呈現(xiàn)單網(wǎng)卡的特征,網(wǎng)卡之間的切換只在驅(qū)動程序中完成,所以,當(dāng)發(fā)生網(wǎng)卡切換時,系統(tǒng)的IP地址并不發(fā)生變化。
  對于網(wǎng)卡的物理地址來說,通常每塊網(wǎng)卡有一個全世界范圍內(nèi)惟一的物理地址,它保存在網(wǎng)卡的PROM中。網(wǎng)卡初始化時,要從PROM中讀出物理地址,把它存放在適當(dāng)?shù)募拇嫫骱蛿?shù)據(jù)結(jié)構(gòu)中,對外來說,寄存器和數(shù)據(jù)結(jié)構(gòu)中的數(shù)值就是這塊網(wǎng)卡的物理地址。在智能雙冗余驅(qū)動程序中,當(dāng)驅(qū)動程序初始化時只讀取一塊網(wǎng)卡PROM中的物理地址,然后把這個地址寫入兩塊網(wǎng)卡的對應(yīng)物理地址寄存器和數(shù)據(jù)結(jié)構(gòu)變量pDrvCtrl中,這樣,兩塊網(wǎng)卡對外就具有統(tǒng)一的物理地址了。因為驅(qū)動程序自始至終只有一塊網(wǎng)卡處于激活狀態(tài),另一塊作為備份,因此不會發(fā)生同一個網(wǎng)絡(luò)上兩個物理地址相同出現(xiàn)沖突這種現(xiàn)象。
3 性能測試
3.1 測試方法

  針對本文設(shè)計、實現(xiàn)的雙端口網(wǎng)卡智能雙冗余驅(qū)動進(jìn)行性能測試。將智能雙冗余驅(qū)動編譯到VxWorks操作系統(tǒng)中,使用帶有SEM/DETH雙端口以太網(wǎng)卡的計算機做目標(biāo)機,使用兩根網(wǎng)線把目標(biāo)機連接到交換機上。目標(biāo)機應(yīng)用程序以40次/秒的速率向外發(fā)送UDP廣播報文。采用普通PC機作為主機系統(tǒng),運行Windows2000操作系統(tǒng),使用sniffer Pro工具進(jìn)行網(wǎng)絡(luò)監(jiān)控。
3.2 測試結(jié)果及分析
  測試結(jié)果如圖2所示,橫坐標(biāo)代表報文數(shù),縱坐標(biāo)代表主機接收到的目標(biāo)機UDP廣播報文中兩個連續(xù)UDP報文之間的間隔時間(單位為秒)。由圖2可以看到,由于目標(biāo)機正常工作狀態(tài)下是以40次/秒的速率廣播發(fā)送UDP網(wǎng)絡(luò)報文的,所以每兩個報文之間的時間間隔大部分為25ms左右。在圖2中出現(xiàn)了8次主機接收到的廣播報文時間間隔為100ms左右的情況,這是由于在目標(biāo)機端進(jìn)行了8次網(wǎng)卡切換,在網(wǎng)卡切換過程中出現(xiàn)了報文丟失現(xiàn)象。


  由測試結(jié)果看,本文設(shè)計實現(xiàn)的智能雙冗余驅(qū)動能夠很好地實現(xiàn)雙端口網(wǎng)卡冗余備份的功能,在檢測到主通道網(wǎng)卡設(shè)備連接錯誤時可以切換到備用通道繼續(xù)進(jìn)行網(wǎng)絡(luò)通信,并且可以在兩塊網(wǎng)卡之間循環(huán)切換;同時,該驅(qū)動對上層用戶透明,呈現(xiàn)單網(wǎng)卡的特性,完全在驅(qū)動中實現(xiàn)網(wǎng)卡間的冗余備份。
  本文設(shè)計實現(xiàn)了一個基于VxWorks的雙端口網(wǎng)卡智能雙冗余驅(qū)動,在驅(qū)動中實現(xiàn)了網(wǎng)絡(luò)通信故障診斷和網(wǎng)卡間智能切換功能,對上層應(yīng)用呈現(xiàn)單網(wǎng)卡特性。通過對設(shè)計實現(xiàn)的智能雙冗余驅(qū)動進(jìn)行性能測試,驗證了設(shè)計的正確性和有效性,但通過測試結(jié)果也可以看到,在網(wǎng)卡切換過程中還存在切換時間較長的問題,有待進(jìn)一步研究。
參考文獻(xiàn)
1 鄭宗漢.實時系統(tǒng)軟件基礎(chǔ).北京:清華大學(xué)出版社,2003
2 孔祥營,柏桂枝.嵌入式實時操作系統(tǒng)VxWorks及其開發(fā)環(huán)境Tornado[M].北京:中國電力出版社,2002
3 李方敏.VxWorks高級程序設(shè)計.北京:清華大學(xué)出版社,2004
4 周啟平,張 楊.VxWorks下設(shè)備驅(qū)動程序及BSP開發(fā)指南.北京:中國電力出版社,2004
5 Comer D E.計算機網(wǎng)絡(luò)與因特網(wǎng).北京:清華大學(xué)出版社,2002
6 田 煒,劉利強,袁贛南.VxWorks環(huán)境下雙網(wǎng)卡冗余備份技術(shù)的實現(xiàn).自動化技術(shù)與應(yīng)用,2003;(7):32~34
7 張均東,任 光,孫培廷.船舶監(jiān)控網(wǎng)絡(luò)中的冗余設(shè)計和實現(xiàn).中國造船,2002;(9):99~104
8 徐紹衡.艦船雙網(wǎng)絡(luò)信息和控制一體化系統(tǒng).船舶工程,2002;(6):47~49

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲精品日韩精品| 欧美综合第一页| 国产一区二区久久久| 欧美亚男人的天堂| 欧美日韩你懂的| 欧美理论片在线观看| 免费看亚洲片| 欧美99在线视频观看| 老司机一区二区| 久久久无码精品亚洲日韩按摩| 先锋资源久久| 欧美一区二区日韩| 羞羞色国产精品| 欧美在线1区| 欧美综合77777色婷婷| 欧美一区二区视频在线观看| 午夜欧美精品| 欧美国产日韩在线| 欧美gay视频激情| 免费国产一区二区| 欧美大片免费久久精品三p | 欧美激情一区二区三区不卡| 欧美精品一区二区三区高清aⅴ| 欧美久久久久免费| 欧美三区不卡| 国产精品美女在线观看| 欧美日韩在线观看一区二区| 欧美日韩在线一区| 国产精品久久久对白| 国产精品美女xx| 国产精品r级在线| 国产欧美一区二区三区久久| 国产精品久久久久aaaa| 国产欧美日韩在线播放| 国产亚洲精品久久久久婷婷瑜伽| 国产一区视频在线看| 伊人伊人伊人久久| 日韩视频一区| 亚洲综合欧美| 亚洲国产精品va| 一本色道久久综合| 欧美怡红院视频一区二区三区| 久久精品久久99精品久久| 免费观看欧美在线视频的网站| 欧美精品日韩一本| 国产精品免费一区二区三区观看| 欧美亚州一区二区三区| 国内精品久久国产| 亚洲精品美女在线观看播放| 亚洲一区二区免费| 亚洲电影第三页| 亚洲性av在线| 久久伊人精品天天| 欧美色区777第一页| 国产视频不卡| 亚洲欧洲美洲综合色网| 亚洲一区三区电影在线观看| 久久精品免费电影| 亚洲一区二区三区色| 久久精品国产久精国产爱| 欧美成人午夜影院| 亚洲国产mv| 制服丝袜激情欧洲亚洲| 久久精品视频99| 亚洲婷婷综合色高清在线| 午夜精品一区二区三区在线播放| 亚洲一区二区三区精品在线观看| 久久亚洲综合色一区二区三区| 欧美日韩 国产精品| 国产偷久久久精品专区| 乱中年女人伦av一区二区| 欧美午夜不卡| 在线国产亚洲欧美| 亚洲人体影院| 在线观看一区视频| 亚洲一级黄色片| 亚洲一区免费网站| 欧美在线一二三区| 日韩一级大片| 久久深夜福利| 国产精品久久久久影院亚瑟| 狠狠色狠狠色综合日日小说| 亚洲特色特黄| 亚洲免费黄色| 免费看精品久久片| 国产一区二区三区四区| 一本一道久久综合狠狠老精东影业 | 欧美亚洲日本网站| 欧美日韩不卡在线| 1769国内精品视频在线播放| 亚洲综合色自拍一区| 亚洲免费观看高清完整版在线观看| 久久精品水蜜桃av综合天堂| 欧美天天在线| 亚洲国产一二三| 亚洲第一页自拍| 久久精品av麻豆的观看方式| 国产精品福利av| 99re6这里只有精品| 亚洲精品麻豆| 美女免费视频一区| 国产日韩在线视频| 亚洲网站视频福利| 一区二区三区日韩精品| 欧美精品免费视频| 亚洲激情在线| 亚洲精品日韩综合观看成人91| 久久亚洲私人国产精品va媚药| 国产免费观看久久| 亚洲影视在线播放| 亚洲你懂的在线视频| 欧美日韩一区二区免费在线观看| 亚洲国产精品一区二区第四页av | 国产日韩欧美一区二区三区四区| 一片黄亚洲嫩模| 一区二区三区久久久| 欧美精品乱码久久久久久按摩| 亚洲高清激情| 亚洲欧洲精品一区二区三区不卡 | 欧美色图首页| 亚洲少妇自拍| 亚洲高清激情| 亚洲一区二区三区乱码aⅴ| 欧美顶级大胆免费视频| 亚洲国产一区二区三区a毛片| 亚洲欧美一区二区激情| 亚洲欧美日韩精品综合在线观看| 欧美人与性动交cc0o| 亚洲精品国精品久久99热一| 亚洲另类一区二区| 亚洲在线中文字幕| 美女图片一区二区| 亚洲国产欧美一区二区三区丁香婷| 亚洲第一精品夜夜躁人人爽| 免费观看不卡av| 亚洲欧洲三级电影| 中日韩视频在线观看| 欧美日韩一级黄| 亚洲视屏在线播放| 午夜精品短视频| 国产一区二区三区四区| 久久精品国产在热久久| 亚洲精品国产视频| 欧美精品激情| 一区二区三区视频在线| 香蕉久久国产| 国产三级精品三级| 亚洲福利在线看| 欧美大胆成人| 99亚洲一区二区| 性欧美激情精品| 一级日韩一区在线观看| 久久精品一区二区三区不卡| 国产女精品视频网站免费| 亚洲精选视频在线| 亚洲女性裸体视频| 国产日韩欧美在线观看| 亚洲啪啪91| 国产精品久久久久久久久久久久久久| 亚洲一区二区在线看| 久久男人资源视频| 日韩亚洲欧美高清| 久久国产精品电影| 亚洲三级电影全部在线观看高清| 亚洲欧美激情在线视频| 好看不卡的中文字幕| 久久精品国产亚洲高清剧情介绍| 欧美激情在线免费观看| 亚洲一区国产精品| 男人天堂欧美日韩| 亚洲在线观看视频网站| 免费成人激情视频| 亚洲午夜av电影| 久久综合久色欧美综合狠狠 | 伊人一区二区三区久久精品| 一区二区免费在线播放| 国产女主播视频一区二区| 亚洲精品久久久久久久久久久久| 久久综合中文| 亚洲小说欧美另类婷婷| 美女露胸一区二区三区| 亚洲一区二区三区四区五区黄 | 亚洲精品欧美在线| 国产精品亚洲综合久久| 亚洲精品国产欧美| 国产日韩欧美一区二区三区在线观看 | 亚洲国内高清视频| 国产伦精品一区二区三区视频孕妇| 亚洲国产精品久久久久秋霞影院| 国产精品成人在线| 亚洲激情偷拍| 国产伦精品一区二区三区在线观看 | 久久精品av麻豆的观看方式| 亚洲精品美女91| 久久久久一本一区二区青青蜜月| 一本不卡影院| 欧美精品aa| 亚洲福利视频网站| 国产精品永久免费| 亚洲伊人伊色伊影伊综合网|