• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    DPDK在國產(chǎn)申威處理器平臺上的應(yīng)用與研究

    2018-02-07 01:44:30何慧文
    信息安全研究 2018年1期
    關(guān)鍵詞:網(wǎng)卡內(nèi)核線程

    明 旭 何慧文 陳 磊

    (北京中科網(wǎng)威信息技術(shù)有限公司 北京 100094)(mingx@netpower.com.cn)

    1 申威處理器與DPDK

    處理器不自主,整個信息產(chǎn)業(yè)就是建筑在沙灘上的城堡.發(fā)展真正自主可控的處理器,對中國這樣一個正在崛起的大國而言,不僅意味著可以擁有更加安全可靠的信息基礎(chǔ)設(shè)施,更意味著在信息經(jīng)濟(jì)時代掌控著事關(guān)國家經(jīng)濟(jì)安全的重大技術(shù)話語權(quán).

    申威處理器是經(jīng)過10多年的磨礪,凝結(jié)了無數(shù)科研人員的心血,獨立自主發(fā)展起來的國產(chǎn)處理器.10多年來,申威處理器從無到有,核心微結(jié)構(gòu)持續(xù)升級,生產(chǎn)工藝不斷改進(jìn),先后研發(fā)了core1,core2,core2a,core3這4代處理器微結(jié)構(gòu),生產(chǎn)工藝也從最早的0.13 μm提高到了現(xiàn)在的28 nm.全部采用申威26010眾核處理器的“太湖之光”超級計算機(jī),這2年來大放異彩,連續(xù)4次登頂世界超算TOP500,在“太湖之光”上運行的應(yīng)用更是史無前例地連續(xù)2年獲得戈登貝爾獎[1].申威處理器在超算領(lǐng)域取得的巨大成就說明,和10多年前相比,申威處理器的性能、穩(wěn)定性都實現(xiàn)了跨越式的提升,已經(jīng)初步具備與當(dāng)今國際先進(jìn)處理器相抗衡的能力[2].

    在網(wǎng)絡(luò)安全領(lǐng)域,圍繞申威多核處理器的自主可控安全生態(tài)從無到有,日漸發(fā)展,現(xiàn)在已經(jīng)初具規(guī)模,已經(jīng)有十幾家公司采用申威處理器推出了防火墻、網(wǎng)閘、入侵檢測、漏洞掃描、數(shù)據(jù)庫審計等各類網(wǎng)安產(chǎn)品[3].但這些產(chǎn)品與采用X86處理器的同類產(chǎn)品相比還是存在一些差距,主要體現(xiàn)在產(chǎn)品的性能上,其中的主要原因有2點:1)申威處理器單核性能與X86處理器相比還有50%左右的差距;2)X86等處理器的生態(tài),經(jīng)過幾十年發(fā)展,通過不斷的嘗試和探索,在與網(wǎng)安產(chǎn)品密切相關(guān)的網(wǎng)絡(luò)數(shù)據(jù)包處理技術(shù)方面,發(fā)展出了一系列較為成熟、高效的模型和框架,如:新浪的fastsocket,PowerPC的DPAA,Intel的DPDK.

    1.1 網(wǎng)絡(luò)數(shù)據(jù)包處理框架與DPDK

    在多核多線程處理器平臺上進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)包的處理,使用傳統(tǒng)的Linux內(nèi)核協(xié)議棧會存在嚴(yán)重的性能瓶頸.對于如何提高網(wǎng)絡(luò)數(shù)據(jù)包處理的性能,業(yè)界有著比較統(tǒng)一的認(rèn)識和建議:

    1) 盡量不要讓不同的線程訪問臨界資源,因為互斥上鎖會降低系統(tǒng)的執(zhí)行效率;理想情況是讓每個線程只訪問自己的資源和數(shù)據(jù)結(jié)構(gòu).

    2) 線程數(shù)能少則少,因為線程在各個CPU核心上的調(diào)度會造成一定的切換開銷,并且造成Cache命中率的降低.

    3) 優(yōu)化數(shù)據(jù)包的進(jìn)出路徑,盡可能減少數(shù)據(jù)的拷貝,特別是內(nèi)核態(tài)和用戶態(tài)之間的數(shù)據(jù)拷貝.

    在具體實踐中,綜合上述建議,有2個主要的優(yōu)化策略可供選擇:1)依照上述建議不斷優(yōu)化Linux內(nèi)核協(xié)議棧[3],代表項目如新浪的FastSocket.FastSocket對協(xié)議棧的優(yōu)化主要體現(xiàn)在單核處理性能的提升,相比傳統(tǒng)協(xié)議棧能夠提升20%~45%的性能;另外,在多核性能優(yōu)化上也有著一定的性能提升.2)采用全新的架構(gòu)設(shè)計,使數(shù)據(jù)處理的路徑繞過內(nèi)核協(xié)議棧,代表項目如Intel的DPDK.

    DPDK(Intel data plane development kit)是Intel提供的數(shù)據(jù)平面開發(fā)工具集[4],為IA(Intel architecture)處理器架構(gòu)下用戶空間高效的數(shù)據(jù)包處理提供庫函數(shù)和驅(qū)動的支持.不同于Linux系統(tǒng)以通用性設(shè)計為目的,DPDK專注于網(wǎng)絡(luò)數(shù)據(jù)包的處理,針對X86處理器和網(wǎng)卡作了一系列的深度優(yōu)化,從而提升數(shù)據(jù)包吞吐量[5].

    DPDK不使用原有的內(nèi)核協(xié)議棧,所有的應(yīng)用需要使用DPDK提供的函數(shù)進(jìn)行重新開發(fā).但與使用內(nèi)核協(xié)議棧相比,DPDK的優(yōu)勢除了減少中斷次數(shù)和數(shù)據(jù)拷貝次數(shù)外,還使得相關(guān)應(yīng)用獲得了協(xié)議棧的控制權(quán),能夠通過定制降低協(xié)議棧復(fù)雜度.理論上,使用DPDK方案,應(yīng)用的網(wǎng)絡(luò)數(shù)據(jù)包處理性能可以達(dá)到采用傳統(tǒng)Linux協(xié)議棧方案10倍以上.

    1.2 DPDK應(yīng)用在申威處理器平臺的意義

    在處理器微架構(gòu)設(shè)計上,國產(chǎn)申威處理器與國際主流商用處理器已經(jīng)基本保持了一致, 如超標(biāo)量、亂序執(zhí)行、大容量Cache、雙訪存流水線等.而且由于申威處理器采用的指令集架構(gòu)自身的特點,相比采用CISC架構(gòu)的X86處理器,可以高效集成更多的處理器核心;但由于生產(chǎn)工藝相對不高,特別是處理器的訪存能力仍需進(jìn)一步提升,使得申威處理器的單核性能仍存在相當(dāng)?shù)牟罹?

    DPDK的出現(xiàn)給國產(chǎn)申威處理器在網(wǎng)絡(luò)應(yīng)用上揚長避短帶來了重大機(jī)會.首先,DPDK使用大頁緩存技術(shù)、內(nèi)存池和無鎖環(huán)形緩存管理等技術(shù)來提高內(nèi)存訪問效率;同時,利用PMD支持,提供應(yīng)用空間下驅(qū)動程序的支持,減少了報文的內(nèi)存間拷貝.這些技術(shù)都使得申威處理器訪存能力不足的問題得到了相當(dāng)程度的彌補.另外,DPDK廣泛采用處理器核親和技術(shù),把各項處理作業(yè)分配到特定的處理器核上分別處理,從而發(fā)揮各個處理器核的潛能.這又使得申威處理器核多的優(yōu)勢得到較為充分地發(fā)揮.

    結(jié)合申威處理器的自身特點,將DPDK高效地移植到申威處理器平臺上,可以大幅提高申威處理器平臺的網(wǎng)絡(luò)處理能力,在網(wǎng)絡(luò)數(shù)據(jù)包處理方面進(jìn)一步縮小和X86等處理器之間的差距,可以為在申威處理器平臺上實現(xiàn)多種高速網(wǎng)絡(luò)應(yīng)用提供有效的技術(shù)支撐,從而拓寬國產(chǎn)申威處理器在網(wǎng)絡(luò)設(shè)備、網(wǎng)絡(luò)安全設(shè)備、存儲設(shè)備、高性能服務(wù)器等產(chǎn)品領(lǐng)域的應(yīng)用,同時也可以為DPDK向其他自主國產(chǎn)處理器上的移植提供有價值的參考.

    2 DPDK概覽

    從字面解釋上看,DPDK是專注于數(shù)據(jù)平面軟件開發(fā)的套件;本質(zhì)上,它是一組可以從用戶空間調(diào)用的軟件庫,提供了一種開銷更小的方法來代替?zhèn)鹘y(tǒng)的Linux系統(tǒng)調(diào)用,使得應(yīng)用程序可以繞過內(nèi)核直接和底層硬件交互.

    網(wǎng)絡(luò)數(shù)據(jù)包不再通過內(nèi)核,而是直接走DPDK的專有路徑,從網(wǎng)卡直接到達(dá)用戶空間,交由用戶處理,從而將繁重的數(shù)據(jù)包過濾、數(shù)據(jù)包轉(zhuǎn)發(fā)工作從內(nèi)核態(tài)轉(zhuǎn)至用戶態(tài).

    另外,DPDK實現(xiàn)了多核“無鎖”并行結(jié)構(gòu),使多處理器核心可以高效并行工作,并充分發(fā)揮速度越來越快的IO接口的能力,從而最大限度上提高網(wǎng)絡(luò)數(shù)據(jù)包處理效率.

    使用DPDK,將不能再用原來的Linux內(nèi)核協(xié)議棧,而且所有的應(yīng)用都需要基于DPDK提供的函數(shù)庫進(jìn)行重構(gòu).但由于網(wǎng)卡等設(shè)備的驅(qū)動程序都運行在用戶層,不容易崩潰,調(diào)試方便,可以大幅降低高性能網(wǎng)絡(luò)數(shù)據(jù)處理程序開發(fā)、調(diào)試的難度[6].

    2.1 DPDK架構(gòu)

    從總體架構(gòu)圖(圖1)我們可以看出,DPDK將全部功能都從內(nèi)核態(tài)搬到了用戶態(tài)[7].

    1) EAL(environment abstraction layer)即環(huán)境抽象層,為應(yīng)用提供了一個通用接口,隱藏了與底層庫與設(shè)備打交道的相關(guān)細(xì)節(jié).EAL實現(xiàn)了DPDK運行的初始化工作,包括基于大頁表的內(nèi)存分配、多核親和性設(shè)置、原子操作和鎖操作,將PCI設(shè)備地址映射到用戶空間,方便應(yīng)用程序訪問.

    2) Buffer Manager API通過預(yù)先從EAL上分配固定大小的多個內(nèi)存對象,避免了在運行過程中動態(tài)進(jìn)行內(nèi)存分配和回收來提高效率,常常用作數(shù)據(jù)包緩沖來使用.

    3) Queue Manager API以高效的方式實現(xiàn)了無鎖的FIFO環(huán)形隊列,適合與一個生產(chǎn)者多個消費者、一個消費者多個生產(chǎn)者模型來避免等待,并且支持批量無鎖的操作.

    4) Flow Classification API通過Intel SSE基于多元組實現(xiàn)了高效的hash算法,以便快速地將數(shù)據(jù)包進(jìn)行分類處理.該API一般用于路由查找過程中的最長前綴匹配,應(yīng)用中根據(jù)Flow五元組來標(biāo)記不同用戶的場景也可以使用.

    5) PMD則實現(xiàn)了Intel 1GbE,10GbE和40GbE網(wǎng)卡下基于輪詢收發(fā)包的工作模式,大大加速網(wǎng)卡收發(fā)包性能.

    圖1 DPDK總體架構(gòu)圖

    2.2 DPDK關(guān)鍵技術(shù)

    DPDK之所以可以提供高性能的數(shù)據(jù)處理能力,在于它從驅(qū)動、內(nèi)存、線程、Cache等各個方面所做的綜合性的深度優(yōu)化,這些優(yōu)化主要包括:

    1) 使用大頁內(nèi)存,降低Cache miss,提高命中率,進(jìn)而提升處理器訪問內(nèi)存的速度;

    2) 使用PMD技術(shù),將報文直接拷貝到用戶態(tài)進(jìn)行處理;

    3) 通過CPU親和性綁定網(wǎng)卡和線程到固定的CPU核,減少處理器核間任務(wù)切換的開銷;

    4) 使用無鎖隊列,減少資源競爭.

    下面簡要介紹DPDK的這幾項關(guān)鍵技術(shù)[8]:

    1) 使用大頁內(nèi)存(hugepage)提高內(nèi)存訪問效率.

    TLB(translation look-side buffer) Cache是CPU中單獨的一塊高速緩存,為了實現(xiàn)虛擬地址到物理地址的轉(zhuǎn)換,Linux首先要查找TLB Cache來進(jìn)行快速映射.如果在查找時TLB沒有命中,就會觸發(fā)一次缺頁中斷,處理器就需要到內(nèi)存中去訪問多級頁表,才能最終得到物理地址,從而導(dǎo)致極大的處理器開銷.

    Linux默認(rèn)頁大小為4 KB,在程序使用大內(nèi)存時,需要大量的頁表表項才能保證不出現(xiàn)TLB不命中的情況.而TLB Cache的大小是很有限的,一般只能容納100條頁表表項,只有使用hugepage才能確保TLB Cache的全命中.

    為此,DPDK缺省提供了2 MB和1 GB這2種方式的hugepage支持.測試表明使用大頁表比使用4 KB的頁表性能提高10%~15%

    2) 使用PMD(poll mode drivers),將網(wǎng)絡(luò)數(shù)據(jù)包處理工作全部遷移到用戶態(tài),并以全輪詢的模式進(jìn)行處理.

    NAPI明顯改善了傳統(tǒng)Linux系統(tǒng)的包處理能力,但由于收發(fā)包仍然以系統(tǒng)中斷為基礎(chǔ),首先是從中斷發(fā)生到應(yīng)用感知,還要經(jīng)過很長的軟件處理路徑;另外,數(shù)據(jù)包在內(nèi)核態(tài)和用戶態(tài)之間的拷貝也難以避免.總之,對內(nèi)核協(xié)議棧進(jìn)行改良的NAPI等機(jī)制還是不能充分發(fā)揮底層硬件的能力,不能真正釋放出其網(wǎng)絡(luò)數(shù)據(jù)包處理的能力.

    DPDK針對Intel網(wǎng)卡實現(xiàn)了基于全輪詢方式的PMD驅(qū)動,該驅(qū)動由API、用戶空間運行的驅(qū)動程序構(gòu)成,使用無中斷方式直接操作網(wǎng)卡的接收和發(fā)送隊列.PMD驅(qū)動從網(wǎng)卡上接收到數(shù)據(jù)包后,會直接通過DMA方式傳輸?shù)筋A(yù)分配的內(nèi)存中,同時更新無鎖環(huán)形隊列中的數(shù)據(jù)包指針,不斷輪詢的應(yīng)用程序很快就能感知收到數(shù)據(jù)包,并在預(yù)分配的內(nèi)存地址上直接處理數(shù)據(jù)包,這個過程非常簡潔.

    另外,由于整個處理過程都在用戶空間完成,自然規(guī)避了報文在核心態(tài)和用戶態(tài)之間的拷貝[9].

    目前PMD驅(qū)動支持Intel的大部分1 G,10 G和40 G的網(wǎng)卡.

    3) 利用Linux親和性支持,避免線程在不同核間的切換.

    在單個處理器核上,多線程可以提高各應(yīng)用的并發(fā)運行程度,從而提高CPU的整體利用率;但線程的創(chuàng)建和銷毀都有開銷,還會引入上下文切換、訪存沖突、Cache失效等諸多消耗性能的因素.在CPU多核時代,可以通過仔細(xì)規(guī)劃線程在CPU不同核上的分布,達(dá)到既保持應(yīng)用的高速并發(fā)運行,又減少線程切換開銷的目的[10].

    DPDK就利用了Linux線程的CPU親和性,將特定任務(wù)綁定到只在某個CPU核上運行,從而避免線程在不同核間的頻繁切換,減少Cache miss和Cache write back等性能損失.

    DPDK運行在用戶態(tài),但線程的調(diào)度仍然依賴內(nèi)核.作為更進(jìn)一步的優(yōu)化,DPDK使用了限定某些核不參與Linux系統(tǒng)調(diào)度的技術(shù)手段,使特定的任務(wù)線程(如網(wǎng)絡(luò)收發(fā)包線程)可以獨占CPU核.這對網(wǎng)絡(luò)數(shù)據(jù)包的全輪詢處理起到了重要的支撐作用.

    4) 提供無鎖環(huán)形緩沖區(qū)管理和緩存池,提高內(nèi)存訪問效率.

    當(dāng)前的多核處理器特別是服務(wù)器處理器通常提供4個、8個甚至更多的CPU核,在諸多高并發(fā)應(yīng)用中,多個CPU核之間訪問內(nèi)存等資源時產(chǎn)生的鎖競爭有時會比數(shù)據(jù)拷貝、上下文切換更加傷害系統(tǒng)的性能.因此,在多核環(huán)境下,如果能夠把重要的數(shù)據(jù)結(jié)構(gòu)從鎖的保護(hù)下遷移到無鎖機(jī)制中,可以極大地提升應(yīng)用軟件的性能.

    DPDK基于無鎖環(huán)形緩沖的原理,實現(xiàn)了一套無鎖環(huán)形緩沖區(qū)隊列管理API,支持單生產(chǎn)者入列單生產(chǎn)者出列、多生產(chǎn)者入列多生產(chǎn)者出列的操作,很大程度上提高了內(nèi)存訪問的效率[11].

    另外,DPDK提供的緩存池,可以將多個收發(fā)包集中到一個Cache line,進(jìn)一步提升了Cache利用率.

    3 DPDK移植申威處器平臺難點要點分析

    DPDK是Intel專門為X86處理器定制的,將DPDK移植到申威處理器平臺上肯定會面臨諸多的技術(shù)挑戰(zhàn).為此,我們對申威處理器及其指令集以及DPDK本身都進(jìn)行了較為深入的技術(shù)預(yù)研,從而在移植可行性、移植難度、所需資源上給后續(xù)的工程化研制提供評估基礎(chǔ).

    本節(jié)首先介紹我們在先期研究中發(fā)現(xiàn)的移植上可能存在的一些技術(shù)難點,然后介紹我們應(yīng)對這些難點的策略,最后,介紹我們在預(yù)研中總結(jié)出的,基于國產(chǎn)申威處理器進(jìn)行高性能網(wǎng)絡(luò)數(shù)據(jù)處理功能(包括但不限于DPDK)的研發(fā)的一些要點,希望能讓在國產(chǎn)申威處理器上研發(fā)各類網(wǎng)絡(luò)產(chǎn)品的同行有所借鑒.

    第4節(jié)將介紹我們基于SW411硬件平臺,初步移植DPDK并搭建的防火墻原型機(jī),主要用于驗證在類似DPDK的全用戶態(tài)輪詢模式下,網(wǎng)絡(luò)數(shù)據(jù)包收發(fā)系統(tǒng)的性能是否會有質(zhì)的提升,從而為使用基于非X86架構(gòu)的國產(chǎn)處理器研發(fā)高性能的網(wǎng)絡(luò)產(chǎn)品和網(wǎng)絡(luò)安全產(chǎn)品提供一定的實踐支撐.

    3.1 移植難點

    通過預(yù)研,我們認(rèn)為將DPDK移植到申威平臺上的技術(shù)難點主要有3個:

    1) DPDK無協(xié)議棧

    DPDK不能再使用原有的內(nèi)核協(xié)議棧,相關(guān)功能都需要依照DPDK提供的函數(shù)庫進(jìn)行重構(gòu)開發(fā).理論上,需要在用戶態(tài)實現(xiàn)Linux內(nèi)核協(xié)議棧的大部分功能,這可能會導(dǎo)致所需的時間成本和人力成本難以接受[12].

    2) 申威沒有專門的CAS指令

    在X86處理器上運行的DPDK大量使用CAS(compare and swap)指令,為在多核間實現(xiàn)高效的數(shù)據(jù)同步發(fā)揮了極其重要的作用.基于RISC架構(gòu)的申威自主指令集采用的是LoadStore型指令系統(tǒng),沒有專門的CAS指令.這為移植工作帶來了很大的麻煩和風(fēng)險.

    3) 申威SIMD支持與Intel SIMD指令集不完全兼容

    SIMD(Single Instruction Multiple Data)意為單指令多數(shù)據(jù)[13],以特定寬度(如64 b)為一個數(shù)據(jù)單元,多數(shù)據(jù)指的就是多個可以獨立操作的數(shù)據(jù)單元,SIMD指的就是單個指令可以同時作用到多個數(shù)據(jù)單元.

    實現(xiàn)SIMD需要處理器硬件的支持,處理器需要集成專門的SIMD寄存器.Intel處理器提供了128 b的XMM寄存器或者256 b的YMM寄存器,也稱為SIMD擴(kuò)展部件.

    申威處理器也提供SIMD支持,但申威指令集中的SIMD指令與Intel的SIMD指令對應(yīng)性不強,移植中有大量相關(guān)代碼需要手工修改,對移植工作是一個重大挑戰(zhàn).

    3.2 難點解決策略

    針對預(yù)研中發(fā)現(xiàn)的幾個難點,我們結(jié)合以往的研發(fā)經(jīng)驗,反復(fù)嘗試,基本都找到了比較滿意的解決途徑.

    1) 構(gòu)建“慢速路徑+快速路徑”的處理構(gòu)架

    針對DPDK無協(xié)議棧的問題,通用解決辦法一般有2種:1)自己開發(fā);2)使用開源協(xié)議棧與DPDK適配.自己開發(fā)工作量太大,而我們評估了幾個開源協(xié)議棧,其成熟度和穩(wěn)定性都和Linux協(xié)議棧相去甚遠(yuǎn),而且適配的工作量也不小.

    為此,我們結(jié)合網(wǎng)絡(luò)數(shù)據(jù)包處理的特點,設(shè)計了一個穩(wěn)定、高效的框架,其基本原理在于:路由的確定、過濾規(guī)則的匹配在一個會話流的第1個數(shù)據(jù)包就可以決定[14].因此,可以基于DPDK構(gòu)建一個“慢速路徑+快速路徑”的處理框架,在網(wǎng)絡(luò)會話的建立、撤銷等階段,仍將數(shù)據(jù)包交由Linux內(nèi)核協(xié)議棧處理;會話成功建立后的后續(xù)數(shù)據(jù)包直接交由基于DPDK的上層應(yīng)用處理.這樣,只有極少量的數(shù)據(jù)包在“耗時”的慢速路徑上流轉(zhuǎn),大部分?jǐn)?shù)據(jù)包將通過在快速路徑上建立的流表快速轉(zhuǎn)發(fā).

    其原理圖如圖2所示:

    圖2 DPDK+Linux協(xié)議棧的快速、慢速處理結(jié)構(gòu)

    構(gòu)建“慢速路徑+快速路徑”的處理構(gòu)架的主要難點在于,要在用戶態(tài)下實現(xiàn)與內(nèi)核協(xié)議棧相匹配的、用于會話控制、會話狀態(tài)記錄的數(shù)據(jù)結(jié)構(gòu),并讓相關(guān)的會話記錄和會話狀態(tài)的改變保持實時的同步.另外,對于數(shù)據(jù)包7層以上協(xié)議數(shù)據(jù)的分析,要盡量保證在會話流起始的一個或者幾個數(shù)據(jù)包中完成判斷[15].

    2) 高效模擬CAS指令

    在申威指令集不提供CAS指令的情況下,用申威指令模擬實現(xiàn)一個功能完全一致的CAS函數(shù),可以最大程度上減少代碼移植的工作量.

    在實際移植工作中我們反復(fù)實驗,最終確定了用11條申威匯編指令組成的最優(yōu)CAS模擬,經(jīng)過實際測試,效果令人滿意,不但功能滿足要求,性能表現(xiàn)也足夠優(yōu)異.

    3) 封裝申威SIMD

    SIMD技術(shù)廣泛應(yīng)用于通用處理器,為提升程序性能提供了硬件支持.實際工程經(jīng)驗顯示,如能充分發(fā)掘程序中的并行性,進(jìn)行基于SIMD的優(yōu)化,可以使應(yīng)用的性能得到50%~70%的提升.DPDK中就大量使用了SIMD進(jìn)行各類并行化數(shù)據(jù)處理.

    申威指令集也提供了對SIMD的支持,而且出于超算的需要,技術(shù)上成熟、高效——通過使用申威的SIMD擴(kuò)展指令系統(tǒng),可以完成256 b的8倍字整數(shù)數(shù)據(jù)的單指令存取,將8~64 b的待運算數(shù)據(jù)合并為一個256 b的超長數(shù)據(jù),然后使用一條指令完成傳統(tǒng)多條指令才能完成的運算.

    但申威指令集與Intel的SIMD指令集對應(yīng)性不強,移植中有大量相關(guān)代碼需要手工修改,如不采取相關(guān)技術(shù)手段會導(dǎo)致移植工作繁瑣雜亂,并且給代碼以后的升級維護(hù)造成障礙.

    我們?nèi)匀徊捎昧撕湍MCAS指令相類似的技術(shù)手段,通過一系列細(xì)致的分析和編程工作,對申威SIMD指令進(jìn)行了較為徹底的封裝,使DPDK的代碼無需任何修改即可直接在申威處理器上運行,讓程序員從繁冗復(fù)雜的移植編碼工作中解脫出來,提高了移植工作的效率,并使得整個移植后的系統(tǒng)具備了較為良好的可擴(kuò)展性.

    3.3 技術(shù)要點

    DPDK的本質(zhì)是網(wǎng)絡(luò)數(shù)據(jù)處理的“最優(yōu)工程實踐經(jīng)驗”的總結(jié),在移植工作中只知道照搬照抄是很難體會其思想內(nèi)涵的.在本節(jié)內(nèi)容中,我們嘗試不局限于DPDK,總結(jié)了幾點我們對基于國產(chǎn)申威處理器進(jìn)行高性能網(wǎng)絡(luò)數(shù)據(jù)處理功能研發(fā)的一些“實踐經(jīng)驗”,希望能讓在國產(chǎn)申威處理器上研發(fā)各類網(wǎng)絡(luò)產(chǎn)品的同行有所借鑒.

    1) 網(wǎng)卡的多隊列機(jī)制和申威CPU多核的緊密結(jié)合

    當(dāng)前主流的千兆、萬兆網(wǎng)卡芯片都提供了內(nèi)置的負(fù)載均衡算法,能夠?qū)⒏咚俚木W(wǎng)絡(luò)數(shù)據(jù)流分為多個數(shù)據(jù)隊列,這些數(shù)據(jù)隊列以內(nèi)存硬件通道的形式展現(xiàn)在CPU的面前,CPU可以讓自己不同的核去訪問不同的通道,核之間對隊列的數(shù)據(jù)讀寫不會相互影響[16].

    申威處理器相比X86處理器,可以高效集成更多的處理器核心,配以網(wǎng)卡的多隊列機(jī)制,理論上可以獲得更高的并發(fā)處理能力.

    但是,如果對PCI-E總線的訪問不能做到高效,會導(dǎo)致并行數(shù)據(jù)流處理帶來的性能優(yōu)勢部分損失.

    這就需要深入理解和分析申威處理器的PCI-E總線接口芯片的工作原理,理解申威處理器PCI-E事務(wù)的基本數(shù)據(jù)包交換單元TLP(transaction layer packet)和網(wǎng)卡數(shù)據(jù)包之間的關(guān)系.在此基礎(chǔ)上,可以通過調(diào)整網(wǎng)卡驅(qū)動對數(shù)據(jù)包的封裝,使之與TLP更匹配,從而做到網(wǎng)卡芯片與申威多核之間的緊密結(jié)合[17].

    另外,減少MMIO的訪問頻度也是提升PCI-E并行傳輸能力的關(guān)鍵點.

    2) 內(nèi)存的高效訪問

    多個CPU核訪問同一段內(nèi)存池甚至同一個環(huán)形緩存區(qū)時,因為每次讀寫時都要進(jìn)行Compare-and-Set操作來保證期間數(shù)據(jù)未被其他核心修改,所以存取效率較低.需要研究的是在應(yīng)用軟件中,通過包括DPDK支持在內(nèi)的手段,盡量讓每個核只訪問自己的數(shù)據(jù),從而使其所要處理的數(shù)據(jù)盡可能緩存在自己的Cache中.另外,盡量對環(huán)形緩存區(qū)進(jìn)行塊讀寫操作,以減少訪問環(huán)形緩存區(qū)的次數(shù)[15].

    3) 收發(fā)包批處理

    收發(fā)包是一個相對復(fù)雜的軟件運算過程,其中主要包含緩存的分配與釋放、描述符的解析與構(gòu)造,涉及多個數(shù)據(jù)結(jié)構(gòu)的讀、寫訪問[18].

    只要涉及比較多的數(shù)據(jù)訪問,就應(yīng)盡量讓數(shù)據(jù)訪問都能在處理器緩存中完成( Cache hit),這是實現(xiàn)高性能網(wǎng)絡(luò)數(shù)據(jù)包處理的重要手段.反之,Cache miss會導(dǎo)致內(nèi)存訪問,引人大量延遲,是性能殺手.

    對收發(fā)包實現(xiàn)批處理是一項細(xì)致但物有所值的工作,其基本原理是把收發(fā)包復(fù)雜的處理過程進(jìn)行分解,打散成不同的相對較小的處理階段,把相鄰的數(shù)據(jù)訪問、相似的數(shù)據(jù)運算集中處理.這樣就能盡可能減少對內(nèi)存或者低一級的處理器緩存的訪問次數(shù),用更少的訪問次數(shù)來完成更多次收發(fā)包運算所需要數(shù)據(jù)的讀或者寫.在這方面,我們還需要有更多的實踐經(jīng)驗積累[19].

    4) 針對小包的Cache預(yù)取機(jī)制優(yōu)化

    申威處理器的Cache line為128 B,Intel平臺的Cache line為64 B;對于64 B小包來說,一次Cache預(yù)取在Intel平臺下剛好完全使用,而申威會浪費一半的Cache資源.為了高效使用申威處理器的Cache,需要重新設(shè)定頻繁訪問的數(shù)據(jù)結(jié)構(gòu)的Cache align(Cache對齊)為128 B,并修正數(shù)據(jù)包內(nèi)存池,以便讓2個64 B小包連續(xù)存儲.這樣在進(jìn)行數(shù)據(jù)包預(yù)取時,一個預(yù)取指令可以緩存2個小包,同時避免了寶貴的Cache資源的浪費,大大提升了申威處理器對小包的處理能力[20].

    4 原型機(jī)簡介

    我們研制的原型機(jī)主要用來驗證影響網(wǎng)絡(luò)數(shù)據(jù)包處理的核心問題——性能,在基于申威處理器的DPDK框架下是否可以得到大幅提升.原型機(jī)在整體結(jié)構(gòu)和應(yīng)用邏輯上的設(shè)計應(yīng)該盡量簡潔,以方便發(fā)現(xiàn)整個系統(tǒng)在DPDK框架下的處理邏輯的性能瓶頸,從而針對相關(guān)瓶頸進(jìn)行性能優(yōu)化.

    原型機(jī)的成果可用于快速評估SW-DPDK在申威平臺上的應(yīng)用效果,相關(guān)測試參數(shù)和軟件構(gòu)架可以指引后續(xù)更復(fù)雜的防火墻、路由器、VPN等其他商用安全產(chǎn)品研發(fā)的可行性分析與架構(gòu)設(shè)計.

    4.1 設(shè)計方案

    以DPDK平臺為基礎(chǔ)開發(fā)平臺,搭建調(diào)度模塊、配置模塊、規(guī)則匹配模塊(含靜態(tài)路由匹配)、流匹配模塊、收包模塊、發(fā)包模塊和日志模塊.

    圖3給出了這些模塊的邏輯關(guān)系:

    圖3 模塊的邏輯關(guān)系圖

    1) 調(diào)度模塊負(fù)責(zé)加載運行其他模塊;

    2) 由人工(或者從存儲數(shù)據(jù)中)輸入ACL規(guī)則、靜態(tài)路由規(guī)則,這些規(guī)則通過規(guī)則邏輯進(jìn)入規(guī)則匹配模塊;

    3) 人工操作(添加、刪除、修改)的ACL規(guī)則、靜態(tài)路由規(guī)則會被日志模塊記錄;

    4) 流匹配模塊是根據(jù)收到的數(shù)據(jù)包和ACL規(guī)則、靜態(tài)路由規(guī)則動態(tài)構(gòu)建的;

    5) 流匹配情況、規(guī)則匹配情況會被日志模塊記錄;

    6) 收到數(shù)據(jù)包后先進(jìn)行流匹配再進(jìn)行規(guī)則匹配,允許通過的數(shù)據(jù)包會通過發(fā)模塊發(fā)出.

    4.2 實施過程

    原型機(jī)的研發(fā)工作分為移植、優(yōu)化和應(yīng)用3個階段:

    1) 移植階段:

    ① 在SW411環(huán)境下重新編譯DPDK代碼;

    ② 初步優(yōu)化匯編指令代碼,包括O3,RTC,CAS鎖等;

    ③ 實現(xiàn)轉(zhuǎn)發(fā)Demo:只做轉(zhuǎn)發(fā),不做查表處理等工作,并初步測試、評估DPDK的能力.

    2) 優(yōu)化階段

    ① 在轉(zhuǎn)發(fā)Demo基礎(chǔ)上進(jìn)行系列的匹配和優(yōu)化工作,主要包括:內(nèi)存訪問到chip的并行、盡量保證Cache的對齊和一致、申威處理器的SIMD功能應(yīng)用、按照core分配內(nèi)存、隊列HASH鎖等;

    ② 深度優(yōu)化:交叉內(nèi)存、Cache、SIMD;

    ③ 結(jié)構(gòu)設(shè)計:網(wǎng)卡多隊列、多核并行.

    3) 應(yīng)用階段

    ① 面向邏輯處理完善系統(tǒng)功能,包括多核并行的表優(yōu)化,使用SIMD進(jìn)行查表等;

    ② 提供基于申威DPDK的防火墻原型機(jī),進(jìn)行性能對比測試.

    4.3 性能對比

    測試對象:SW411平臺通用型設(shè)備、基于DPDK技術(shù)加速的防火墻原型機(jī).

    測試條件:1對千兆口,100條流平均分配到多個處理器核,60 s時長,采用橋模式,默認(rèn)全通配置,初始值100%.

    測試標(biāo)準(zhǔn):RFC2544吞吐、時延.

    測試結(jié)果如表1所示.

    測試結(jié)論:在基于SW411處理器的硬件平臺上應(yīng)用DPDK框架后,64 B小包吞吐率提升12倍以上,1 518 B大包時延降低95%左右.因為已達(dá)到線速,小包吞吐率應(yīng)該仍有進(jìn)一步提升的空間,這將有賴于支持萬兆的原型機(jī)進(jìn)行驗證.

    表1 通用型設(shè)備和基于DPDK技術(shù)加速的防火墻原型機(jī)性能對比表

    5 結(jié)束語

    經(jīng)過10多年的持續(xù)發(fā)展,國產(chǎn)申威處理器在性能、穩(wěn)定性方面都取得了長足的進(jìn)步,已經(jīng)基本具備了與當(dāng)今國際先進(jìn)處理器相抗衡的能力.在網(wǎng)絡(luò)安全領(lǐng)域,已經(jīng)有很多公司采用申威處理器推出了各類產(chǎn)品,但由于申威處理器單核性能的不足,以及缺少先進(jìn)網(wǎng)絡(luò)數(shù)據(jù)包處理模型和框架的支撐,這些產(chǎn)品與采用X86處理器的同類產(chǎn)品相比,在產(chǎn)品性能等方面還存在一些差距.

    DPDK等用戶態(tài)網(wǎng)絡(luò)數(shù)據(jù)包處理器框架的出現(xiàn)給國產(chǎn)申威處理器在網(wǎng)絡(luò)安全等產(chǎn)品的應(yīng)用上帶來了揚長避短的機(jī)會,將DPDK之類的框架移植到申威平臺上可以發(fā)揮申威處理器的多核優(yōu)勢.

    本文分析了將DPDK移植到申威處理器平臺上存在的難點,并提出了應(yīng)對這些難點的解決策略和關(guān)鍵技術(shù).進(jìn)一步,我們總結(jié)了幾點在國產(chǎn)申威處理器平臺上進(jìn)行高性能網(wǎng)絡(luò)產(chǎn)品研發(fā)的實踐經(jīng)驗.最后,介紹了我們基于申威411芯片,在移植DPDK的基礎(chǔ)上研發(fā)的防火墻原型機(jī),驗證了在DPDK的全用戶態(tài)輪詢模式下,網(wǎng)絡(luò)數(shù)據(jù)包收發(fā)系統(tǒng)的性能取得的巨大提升,64 B小包的吞吐率從原始的7.2%提升到了100%線速.

    最后,在此次移植工作的基礎(chǔ)上,我們對未來基于申威處理器平臺和用戶態(tài)數(shù)據(jù)包處理框架的網(wǎng)絡(luò)安全產(chǎn)品的研發(fā)作如下預(yù)測和展望:

    1) 申威處理器的持續(xù)發(fā)展將使DPDK等框架發(fā)揮更大潛力

    申威1621處理器是基于增強版的第三代“申威64”核心的國產(chǎn)高性能多核處理器,單芯片集成了16個64 b RISC結(jié)構(gòu)的申威處理器核心.在指令集和微結(jié)構(gòu)方面,申威1621處理器也提供更多的功能支持,如預(yù)取指令支持、NUMA支持和虛擬化支持等.

    我們初步評估,在申威1621的指令優(yōu)化和16核支撐下,DPDK等框架的潛能可以得到進(jìn)一步的發(fā)揮,將可以實現(xiàn)線速的萬兆防火墻產(chǎn)品.

    2) DPDK等框架會促進(jìn)申威處理器指令集與微架構(gòu)的進(jìn)一步提升

    由于各種原因,申威處理器一直比較注重與超算相關(guān)的浮點運算等能力的提升,對網(wǎng)絡(luò)數(shù)據(jù)包處理能力的重視程度不高.有助于充分發(fā)揮申威多核優(yōu)勢的DPDK等框架的出現(xiàn),會提升申威多核服務(wù)器處理器對高性能網(wǎng)絡(luò)數(shù)據(jù)包處理領(lǐng)域的關(guān)注度.可以預(yù)見,申威處理器在指令集和微架構(gòu)優(yōu)化等關(guān)鍵技術(shù)上將會加大這方面的支持.我們非常期待CAS無鎖指令、類DDIO支持等功能在下一代申威服務(wù)器處理器中的出現(xiàn).

    3) 基于申威處理器和先進(jìn)網(wǎng)絡(luò)數(shù)據(jù)包處理器框架的自主可控網(wǎng)絡(luò)安全生態(tài)建設(shè)將大有可為DPDK等先進(jìn)數(shù)據(jù)包處理框架與申威處理器的結(jié)合,使得多種以網(wǎng)絡(luò)數(shù)據(jù)包處理為基礎(chǔ)支撐的自主可控網(wǎng)絡(luò)安全產(chǎn)品,如自主可控防火墻、自主可控VPN、自主可控IDSIPS、自主可控加密機(jī)等,可以在申威處理器平臺上達(dá)到較高的性能水平,滿足對使用非自主可控處理器的安全產(chǎn)品實施自主可控替代的要求,從而推動自主可控安全產(chǎn)品在軍隊、軍工、政府重要部門的應(yīng)用,進(jìn)一步推進(jìn)我國自主可控安全生態(tài)的建設(shè).

    [1]賈迅, 胡向東, 尹飛. 申威處理器硬件數(shù)據(jù)預(yù)取技術(shù)的實現(xiàn)[J]. 計算機(jī)工程與科學(xué), 2015, 37(11)

    [2]陳左寧,王廣益, 胡蘇太, 等. 大數(shù)據(jù)安全與自主可控[J]. 科學(xué)通報, 2015, 60(5/6): 427-432

    [3]沈昌祥. 可信計算專題綜述[J]. 計算機(jī)安全, 2006 (6): 2-4

    [4]DPDK: Data plane development kit[OL]. [2017-12-15]. http://dpdk.org/

    [5]Casoni M, Grazia C A, Patriciello N. On the performance of Linux Container with Netmap/VALE for networks virtualization[C] //Proc of the 19th IEEE Int Conf on Networks (ICON). Piscataway, NJ: IEEE, 2013: 1-6

    [6]Stevens W R. TCP/IP詳解(卷1)——協(xié)議[M]. 北京: 機(jī)械工業(yè)出版社, 2011

    [7]Rizzo L. Netmap: A novel framework for fast packet I/O[C] //Proc of the 2012 USENIX Conf on Annual Technical Conf. Berkeley, CA: USENIX Association, 2012: 9-9

    [8]Wright G R, Stevens W R, et al. TCP/IP詳解(卷2)——實現(xiàn)[M]. 北京: 人民郵電出版社, 2010

    [9]劉軍衛(wèi). 用戶態(tài)驅(qū)動框架的研究與實現(xiàn)[D]. 合肥: 中國科學(xué)技術(shù)大學(xué), 2011

    [10]卡耐基梅隴大學(xué)并行實驗室[OL]. [2017-12-15]. http://www.pdl.cmu.edu/

    [11]DPDK技術(shù)白皮書[M]. 廣州: 中國電信股份有限公司廣州研究院. 2015年10月

    [12]Morari A, Gioiosa R, Wisniewski R W, et al. Evaluating the impact of TLB misses on future HPC systems[C] //Proc of the 26th IEEE Int Parallel and Distributed Processing Symp. Los Alamitos, CA: IEEE Computer Society, 2012: 1010-1021

    [13]Koka P, Mccracken M O, Schwetman H D, et al. Combining a remote TLB lookup and a subsequent Cache miss into a single coherence operation: US, US9003163[P]. 2015-04-07

    [14]蔣苑青. 多處理器系統(tǒng)的線程調(diào)度策略研究[D]. 成都: 電子科技大學(xué), 2012

    [15]肖月振, 華蓓, 基于多核處理器的無鎖零拷貝數(shù)據(jù)包轉(zhuǎn)發(fā)框架[J]. 計算機(jī)工程, 2013, 39(12): 35-39

    [16]周偉明. 多核計算與程序設(shè)計[M]. 武漢: 華中科技大學(xué)出版社, 2009

    [17]童浩, 陳興蜀, 嚴(yán)宏. 改進(jìn)及優(yōu)化Linux網(wǎng)絡(luò)協(xié)議棧[J]. 電子科技大學(xué)學(xué)報, 2007, 36(S3): 1493-1496

    [18]劉寶辰. 高性能數(shù)據(jù)包捕獲系統(tǒng)的研究與實現(xiàn)[D]. 上海: 上海交通大學(xué), 2013

    [19]Rizzo L, Lettieri G, Maffione V. Speeding up packet I/O in virtual machines[C] //Proc of Architectures for Networking and Communications Systems. Piscataway, NJ: IEEE, 2013: 47-58

    [20]Rizzo L, Carbone M, Catalli G. Transparent acceleration of software packet forwarding using netmap[C] //Proc of IEEE INFOCOM 2012. Piscataway, NJ: IEEE, 2012: 2471-2479

    猜你喜歡
    網(wǎng)卡內(nèi)核線程
    在DDS 中間件上實現(xiàn)雙冗余網(wǎng)卡切換的方法
    萬物皆可IP的時代,我們當(dāng)夯實的IP內(nèi)核是什么?
    強化『高新』內(nèi)核 打造農(nóng)業(yè)『硅谷』
    Server 2016網(wǎng)卡組合模式
    基于嵌入式Linux內(nèi)核的自恢復(fù)設(shè)計
    Linux內(nèi)核mmap保護(hù)機(jī)制研究
    淺談linux多線程協(xié)作
    挑戰(zhàn)Killer網(wǎng)卡Realtek網(wǎng)游專用Dragon網(wǎng)卡
    Linux線程實現(xiàn)技術(shù)研究
    么移動中間件線程池并發(fā)機(jī)制優(yōu)化改進(jìn)
    色在线成人网| 精品久久久精品久久久| 黑人欧美特级aaaaaa片| 99久久99久久久精品蜜桃| 国产精品久久久久久精品电影小说| 欧美黄色淫秽网站| 2018国产大陆天天弄谢| 老司机午夜十八禁免费视频| 人人妻人人澡人人看| 国产一区二区在线观看av| 黑人欧美特级aaaaaa片| 999精品在线视频| 他把我摸到了高潮在线观看 | 一级毛片女人18水好多| 免费在线观看影片大全网站| 亚洲精品美女久久av网站| 亚洲av国产av综合av卡| 国产高清videossex| 我要看黄色一级片免费的| 黄色怎么调成土黄色| 国产亚洲av高清不卡| 久久精品国产综合久久久| 男女高潮啪啪啪动态图| 日韩大片免费观看网站| 日本vs欧美在线观看视频| 一区二区三区精品91| 国内毛片毛片毛片毛片毛片| 欧美黑人欧美精品刺激| 精品人妻1区二区| 久久婷婷成人综合色麻豆| 亚洲午夜理论影院| netflix在线观看网站| 一区二区三区乱码不卡18| 不卡av一区二区三区| 纯流量卡能插随身wifi吗| 日本vs欧美在线观看视频| 少妇猛男粗大的猛烈进出视频| 亚洲成人免费电影在线观看| 亚洲av成人不卡在线观看播放网| 午夜免费成人在线视频| 黄色视频在线播放观看不卡| 王馨瑶露胸无遮挡在线观看| 国产aⅴ精品一区二区三区波| 久久ye,这里只有精品| 在线十欧美十亚洲十日本专区| 亚洲成人免费av在线播放| 岛国毛片在线播放| 国产成人精品久久二区二区91| 91av网站免费观看| 狠狠狠狠99中文字幕| 天天添夜夜摸| 亚洲一区二区三区欧美精品| 无人区码免费观看不卡 | 亚洲自偷自拍图片 自拍| 手机成人av网站| 999久久久精品免费观看国产| 新久久久久国产一级毛片| 国产一区二区三区视频了| 脱女人内裤的视频| 欧美性长视频在线观看| 亚洲 欧美一区二区三区| 高潮久久久久久久久久久不卡| 青青草视频在线视频观看| 天天躁日日躁夜夜躁夜夜| 成年版毛片免费区| 夜夜骑夜夜射夜夜干| 一边摸一边抽搐一进一小说 | 亚洲色图 男人天堂 中文字幕| av福利片在线| 日本撒尿小便嘘嘘汇集6| 久久精品国产99精品国产亚洲性色 | 国产男靠女视频免费网站| 成在线人永久免费视频| 国产伦理片在线播放av一区| 热99久久久久精品小说推荐| av线在线观看网站| 亚洲成人国产一区在线观看| 日韩欧美三级三区| 19禁男女啪啪无遮挡网站| 亚洲国产欧美一区二区综合| 两性夫妻黄色片| 国产精品秋霞免费鲁丝片| 成人国语在线视频| 视频区图区小说| 首页视频小说图片口味搜索| 免费在线观看日本一区| 无限看片的www在线观看| 亚洲欧美日韩高清在线视频 | 国产高清激情床上av| 国产伦理片在线播放av一区| 中文字幕另类日韩欧美亚洲嫩草| 国产免费福利视频在线观看| 欧美成人免费av一区二区三区 | 岛国在线观看网站| 欧美黑人欧美精品刺激| 最新在线观看一区二区三区| 欧美性长视频在线观看| 久久精品国产亚洲av香蕉五月 | av又黄又爽大尺度在线免费看| 高潮久久久久久久久久久不卡| 午夜视频精品福利| 精品国产乱码久久久久久男人| 成人国语在线视频| 国产精品亚洲一级av第二区| 五月开心婷婷网| 日韩一卡2卡3卡4卡2021年| 亚洲午夜理论影院| 91成人精品电影| 久久中文字幕一级| 国产成人啪精品午夜网站| 久热爱精品视频在线9| 在线永久观看黄色视频| 99精品久久久久人妻精品| 亚洲成人手机| 丁香六月天网| 母亲3免费完整高清在线观看| 色尼玛亚洲综合影院| 建设人人有责人人尽责人人享有的| 国产伦理片在线播放av一区| 国产国语露脸激情在线看| 99国产精品99久久久久| 精品一区二区三卡| 成人手机av| 日日夜夜操网爽| 97在线人人人人妻| 亚洲精品中文字幕一二三四区 | 岛国毛片在线播放| 2018国产大陆天天弄谢| 午夜视频精品福利| 男女下面插进去视频免费观看| 色尼玛亚洲综合影院| 妹子高潮喷水视频| 少妇裸体淫交视频免费看高清 | 亚洲九九香蕉| www.精华液| 热re99久久精品国产66热6| 欧美激情极品国产一区二区三区| 色综合欧美亚洲国产小说| 精品福利观看| 日韩三级视频一区二区三区| 午夜老司机福利片| 777久久人妻少妇嫩草av网站| 大型av网站在线播放| 精品午夜福利视频在线观看一区 | 国产有黄有色有爽视频| 熟女少妇亚洲综合色aaa.| 亚洲欧美日韩另类电影网站| 久久精品人人爽人人爽视色| 欧美另类亚洲清纯唯美| 妹子高潮喷水视频| 国产福利在线免费观看视频| 久久热在线av| 人人妻,人人澡人人爽秒播| 久久人妻熟女aⅴ| av一本久久久久| 精品国产超薄肉色丝袜足j| 国产91精品成人一区二区三区 | 精品国产一区二区久久| www.精华液| 久久 成人 亚洲| 超碰成人久久| 一区二区三区激情视频| 精品亚洲成a人片在线观看| 在线永久观看黄色视频| 亚洲性夜色夜夜综合| 欧美精品一区二区免费开放| 亚洲人成伊人成综合网2020| 午夜免费鲁丝| 久久久久网色| 午夜两性在线视频| 国产精品免费视频内射| 国产精品久久久久久精品古装| 成年人午夜在线观看视频| 久久精品国产a三级三级三级| 国产欧美日韩一区二区三| 成人亚洲精品一区在线观看| 久久久久久久久久久久大奶| 国产欧美日韩综合在线一区二区| 2018国产大陆天天弄谢| 欧美另类亚洲清纯唯美| 50天的宝宝边吃奶边哭怎么回事| 国精品久久久久久国模美| 国产亚洲一区二区精品| 他把我摸到了高潮在线观看 | 下体分泌物呈黄色| 久久人人97超碰香蕉20202| 日韩欧美一区二区三区在线观看 | 国产野战对白在线观看| 成人亚洲精品一区在线观看| 日韩有码中文字幕| 久久人妻av系列| 91字幕亚洲| 99国产精品一区二区蜜桃av | 久久久精品区二区三区| 国产精品av久久久久免费| 国产精品免费大片| 国产精品久久久久久精品古装| 少妇裸体淫交视频免费看高清 | 免费看十八禁软件| 咕卡用的链子| 亚洲美女黄片视频| 老熟女久久久| 亚洲欧美精品综合一区二区三区| 男女午夜视频在线观看| 9色porny在线观看| 久久精品亚洲精品国产色婷小说| 亚洲色图av天堂| 91成人精品电影| 欧美亚洲 丝袜 人妻 在线| 一区二区三区国产精品乱码| 考比视频在线观看| 一区二区av电影网| a级毛片黄视频| 91精品三级在线观看| 狂野欧美激情性xxxx| 午夜两性在线视频| 黄频高清免费视频| 精品卡一卡二卡四卡免费| 一区二区日韩欧美中文字幕| 亚洲成a人片在线一区二区| 国产日韩欧美视频二区| cao死你这个sao货| 咕卡用的链子| 国产三级黄色录像| 国产aⅴ精品一区二区三区波| 国产野战对白在线观看| 制服诱惑二区| 国产精品亚洲一级av第二区| 99国产精品一区二区蜜桃av | 超碰成人久久| 91麻豆精品激情在线观看国产 | 热99久久久久精品小说推荐| 国产精品九九99| 男女之事视频高清在线观看| 极品人妻少妇av视频| 中文字幕av电影在线播放| 欧美 日韩 精品 国产| 狠狠狠狠99中文字幕| 日日爽夜夜爽网站| 欧美老熟妇乱子伦牲交| 少妇的丰满在线观看| 精品国产亚洲在线| 一级,二级,三级黄色视频| 9191精品国产免费久久| 老汉色av国产亚洲站长工具| 大码成人一级视频| 男女午夜视频在线观看| 国产av又大| 9热在线视频观看99| 日韩熟女老妇一区二区性免费视频| 国产精品欧美亚洲77777| 久久精品国产a三级三级三级| 欧美日韩成人在线一区二区| 日韩免费高清中文字幕av| 美女高潮喷水抽搐中文字幕| 亚洲精品国产色婷婷电影| 亚洲 国产 在线| 午夜福利在线观看吧| 午夜91福利影院| 中文字幕人妻丝袜一区二区| 亚洲国产欧美在线一区| www.自偷自拍.com| 如日韩欧美国产精品一区二区三区| 亚洲自偷自拍图片 自拍| 亚洲精品粉嫩美女一区| 欧美久久黑人一区二区| 国产不卡一卡二| 亚洲人成电影免费在线| 久久久久视频综合| 欧美日韩黄片免| 一级片免费观看大全| 热re99久久国产66热| 美女高潮喷水抽搐中文字幕| 国产人伦9x9x在线观看| 国产xxxxx性猛交| 在线观看免费午夜福利视频| 国产成人欧美| 国产av又大| 亚洲专区国产一区二区| 99国产精品一区二区蜜桃av | 亚洲精品在线美女| 国产亚洲欧美在线一区二区| 久久免费观看电影| 精品视频人人做人人爽| 大型av网站在线播放| 午夜久久久在线观看| 亚洲一区中文字幕在线| 一区福利在线观看| 国产免费福利视频在线观看| 国产精品久久电影中文字幕 | 男人操女人黄网站| svipshipincom国产片| 热re99久久精品国产66热6| 一区二区日韩欧美中文字幕| 欧美激情 高清一区二区三区| 日韩有码中文字幕| 欧美久久黑人一区二区| 久久久久久久国产电影| 亚洲精品一二三| 亚洲人成伊人成综合网2020| 精品福利观看| 国产av一区二区精品久久| 欧美乱妇无乱码| 中文字幕精品免费在线观看视频| 啦啦啦免费观看视频1| 香蕉丝袜av| av片东京热男人的天堂| 免费在线观看视频国产中文字幕亚洲| 日韩熟女老妇一区二区性免费视频| 亚洲情色 制服丝袜| 久久精品国产亚洲av香蕉五月 | 精品少妇内射三级| 国产午夜精品久久久久久| 国产人伦9x9x在线观看| 另类亚洲欧美激情| 国产成人啪精品午夜网站| 天天躁狠狠躁夜夜躁狠狠躁| bbb黄色大片| 老熟妇乱子伦视频在线观看| 一边摸一边抽搐一进一出视频| 蜜桃国产av成人99| 中文字幕另类日韩欧美亚洲嫩草| 成人影院久久| 国产精品99久久99久久久不卡| 在线观看免费视频网站a站| 十八禁人妻一区二区| 色视频在线一区二区三区| 欧美 日韩 精品 国产| 十八禁网站网址无遮挡| 高清av免费在线| 国产一区有黄有色的免费视频| 午夜老司机福利片| 人人妻,人人澡人人爽秒播| 操出白浆在线播放| 久久久久久人人人人人| 亚洲一卡2卡3卡4卡5卡精品中文| 精品国产超薄肉色丝袜足j| 最新的欧美精品一区二区| 欧美日韩精品网址| 国产免费福利视频在线观看| 久久久久网色| 亚洲国产欧美一区二区综合| 又紧又爽又黄一区二区| 男女边摸边吃奶| 免费日韩欧美在线观看| 欧美在线一区亚洲| 国产精品国产高清国产av | 91国产中文字幕| 午夜两性在线视频| 欧美成狂野欧美在线观看| 精品少妇一区二区三区视频日本电影| 麻豆av在线久日| 亚洲午夜精品一区,二区,三区| 久久精品国产亚洲av高清一级| 成人永久免费在线观看视频 | 激情在线观看视频在线高清 | 亚洲第一欧美日韩一区二区三区 | bbb黄色大片| 中文字幕制服av| 国产av又大| 亚洲精品中文字幕在线视频| 欧美日韩福利视频一区二区| 999久久久国产精品视频| 精品熟女少妇八av免费久了| 黑人巨大精品欧美一区二区蜜桃| 国产一区二区在线观看av| av线在线观看网站| 亚洲免费av在线视频| 女人高潮潮喷娇喘18禁视频| 免费观看a级毛片全部| 免费在线观看影片大全网站| bbb黄色大片| 久久人人97超碰香蕉20202| 国产极品粉嫩免费观看在线| 免费在线观看影片大全网站| 无人区码免费观看不卡 | 免费久久久久久久精品成人欧美视频| avwww免费| 无人区码免费观看不卡 | 亚洲国产中文字幕在线视频| 免费少妇av软件| 99香蕉大伊视频| 黄色怎么调成土黄色| 精品午夜福利视频在线观看一区 | 飞空精品影院首页| 日本欧美视频一区| 国产精品 国内视频| 亚洲欧美日韩高清在线视频 | aaaaa片日本免费| 国产精品免费视频内射| 极品教师在线免费播放| 久久午夜综合久久蜜桃| 日韩视频在线欧美| 亚洲五月婷婷丁香| 国产一区二区三区视频了| 国产av又大| 久久久久久人人人人人| 日韩一卡2卡3卡4卡2021年| 新久久久久国产一级毛片| 日韩大片免费观看网站| 成年动漫av网址| 色综合欧美亚洲国产小说| 日韩精品免费视频一区二区三区| 一级毛片电影观看| 18禁国产床啪视频网站| 亚洲 欧美一区二区三区| 久久久水蜜桃国产精品网| 免费在线观看日本一区| 午夜福利在线免费观看网站| 不卡av一区二区三区| 天天操日日干夜夜撸| 国产精品免费视频内射| 国产av又大| 天天躁夜夜躁狠狠躁躁| 一本—道久久a久久精品蜜桃钙片| 国产在线观看jvid| 国产亚洲午夜精品一区二区久久| 18禁国产床啪视频网站| 一级毛片精品| 成在线人永久免费视频| 国产精品国产高清国产av | 一级毛片电影观看| 91精品三级在线观看| 日日爽夜夜爽网站| 香蕉丝袜av| 亚洲成人免费av在线播放| 在线av久久热| 国产高清激情床上av| av一本久久久久| 深夜精品福利| 国产1区2区3区精品| 91成年电影在线观看| 啦啦啦中文免费视频观看日本| 久久久国产精品麻豆| 香蕉久久夜色| 国产成人精品久久二区二区91| 在线观看66精品国产| 黄片大片在线免费观看| 久久人人97超碰香蕉20202| 十分钟在线观看高清视频www| 国产xxxxx性猛交| 久久久久精品国产欧美久久久| 亚洲视频免费观看视频| 亚洲欧美日韩高清在线视频 | 成年版毛片免费区| 青草久久国产| 天天躁夜夜躁狠狠躁躁| 亚洲第一欧美日韩一区二区三区 | 在线观看免费午夜福利视频| 两性午夜刺激爽爽歪歪视频在线观看 | 亚洲色图av天堂| 最新的欧美精品一区二区| 久久婷婷成人综合色麻豆| 欧美精品人与动牲交sv欧美| 激情视频va一区二区三区| 日韩有码中文字幕| 国产在线观看jvid| 久久午夜综合久久蜜桃| 亚洲av日韩精品久久久久久密| 在线观看免费高清a一片| 黄色视频,在线免费观看| 两性午夜刺激爽爽歪歪视频在线观看 | 极品少妇高潮喷水抽搐| 法律面前人人平等表现在哪些方面| 黄片小视频在线播放| 日日摸夜夜添夜夜添小说| 大陆偷拍与自拍| 9热在线视频观看99| 在线观看免费日韩欧美大片| 狠狠精品人妻久久久久久综合| 首页视频小说图片口味搜索| 国产欧美日韩一区二区三| 精品国内亚洲2022精品成人 | 最近最新免费中文字幕在线| 欧美 日韩 精品 国产| 最新在线观看一区二区三区| 国产精品国产av在线观看| 一级毛片女人18水好多| 久久人妻福利社区极品人妻图片| 午夜激情av网站| 国产欧美日韩一区二区精品| 免费黄频网站在线观看国产| 久久ye,这里只有精品| 大香蕉久久网| 不卡av一区二区三区| 国产成人影院久久av| 成人av一区二区三区在线看| 亚洲免费av在线视频| av视频免费观看在线观看| 午夜免费鲁丝| 免费观看av网站的网址| 激情在线观看视频在线高清 | 免费在线观看视频国产中文字幕亚洲| 19禁男女啪啪无遮挡网站| 人人澡人人妻人| 午夜福利乱码中文字幕| 亚洲国产av影院在线观看| 日韩中文字幕欧美一区二区| 99riav亚洲国产免费| 亚洲三区欧美一区| 男女之事视频高清在线观看| 一本综合久久免费| 色94色欧美一区二区| 国产成人精品久久二区二区免费| 成人免费观看视频高清| 午夜福利视频精品| 日韩视频一区二区在线观看| 久久精品国产综合久久久| 精品国产乱码久久久久久男人| 国产精品久久久久成人av| 性色av乱码一区二区三区2| 少妇 在线观看| 视频区图区小说| 国产精品香港三级国产av潘金莲| 亚洲 欧美一区二区三区| 一夜夜www| 亚洲成人免费电影在线观看| 桃花免费在线播放| 欧美激情 高清一区二区三区| 亚洲av成人一区二区三| 一级片免费观看大全| 狠狠精品人妻久久久久久综合| 午夜激情久久久久久久| 91精品三级在线观看| 我要看黄色一级片免费的| 久久精品亚洲av国产电影网| 久久久国产欧美日韩av| 久久人人爽av亚洲精品天堂| 叶爱在线成人免费视频播放| 建设人人有责人人尽责人人享有的| 色婷婷av一区二区三区视频| 91成人精品电影| 免费不卡黄色视频| 国产精品影院久久| e午夜精品久久久久久久| tube8黄色片| 精品午夜福利视频在线观看一区 | 男女床上黄色一级片免费看| 久久午夜综合久久蜜桃| videos熟女内射| 国产精品免费一区二区三区在线 | 欧美精品一区二区大全| 欧美人与性动交α欧美软件| 中文字幕另类日韩欧美亚洲嫩草| 不卡av一区二区三区| 性色av乱码一区二区三区2| 欧美性长视频在线观看| 一级片免费观看大全| 日韩中文字幕欧美一区二区| 国产av又大| 精品亚洲乱码少妇综合久久| 菩萨蛮人人尽说江南好唐韦庄| www.自偷自拍.com| e午夜精品久久久久久久| 丁香欧美五月| 免费av中文字幕在线| av视频免费观看在线观看| 中文字幕最新亚洲高清| 国产精品二区激情视频| 丰满迷人的少妇在线观看| 一区福利在线观看| 最近最新中文字幕大全电影3 | 欧美精品av麻豆av| 国产一卡二卡三卡精品| 天堂8中文在线网| 在线天堂中文资源库| 国产成人精品久久二区二区免费| 国产有黄有色有爽视频| a级毛片黄视频| 亚洲人成电影观看| 天堂俺去俺来也www色官网| 波多野结衣一区麻豆| 国产高清视频在线播放一区| 极品人妻少妇av视频| 欧美精品高潮呻吟av久久| 国产精品免费大片| 精品人妻在线不人妻| 最近最新中文字幕大全电影3 | 一区二区三区国产精品乱码| 中文字幕人妻丝袜制服| 一本大道久久a久久精品| 亚洲黑人精品在线| 婷婷成人精品国产| 女警被强在线播放| tube8黄色片| 91大片在线观看| 亚洲熟妇熟女久久| 成人永久免费在线观看视频 | 精品少妇一区二区三区视频日本电影| 亚洲天堂av无毛| 午夜福利视频在线观看免费| 亚洲成a人片在线一区二区| videos熟女内射| 午夜久久久在线观看| 十八禁网站免费在线| 香蕉久久夜色| 欧美在线一区亚洲| 欧美日韩亚洲高清精品| 99久久精品国产亚洲精品| 久久狼人影院| 久久久久久久久免费视频了| 露出奶头的视频| 亚洲一区中文字幕在线| 青草久久国产| 亚洲美女黄片视频| 制服人妻中文乱码| 露出奶头的视频| 激情在线观看视频在线高清 | 亚洲伊人久久精品综合| 国产淫语在线视频| 成人18禁高潮啪啪吃奶动态图| 美女高潮到喷水免费观看| 夜夜骑夜夜射夜夜干| 午夜福利在线观看吧| 精品国产亚洲在线|