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

    SDN 數(shù)據(jù)平面軟件一致性測試用例生成方法?

    2020-11-03 12:25:42張雯雯許天予鄭孝遙
    軟件學報 2020年9期
    關鍵詞:表項編程語言測試用例

    張雯雯 , 許天予 , 章 玥 , 鄭孝遙

    1(上海市高可信計算重點實驗室(華東師范大學),上海 200062)

    2(華東師范大學 教育部軟硬件協(xié)同設計技術與應用工程研究中心,上海 200062)

    3(上海移動通信有限公司,上海 200070)

    4(安徽師范大學 計算機與信息學院,安徽 蕪湖 241002)

    在網(wǎng)絡需求不斷增加、網(wǎng)絡靈活性要求不斷提高的背景下,SDN(software-defined network)解決了架構復雜且分散的傳統(tǒng)網(wǎng)絡出現(xiàn)的問題,使網(wǎng)絡具有更強的靈活性.SDN 使網(wǎng)絡控制平面和轉(zhuǎn)發(fā)平面分離,使網(wǎng)絡具有可編程性.斯坦福大學的Nick 教授及其團隊研究出P4 高級編程語言,P4 是一種協(xié)議獨立的針對數(shù)據(jù)轉(zhuǎn)發(fā)平面編程的語言,旨在允許我們定義交換機將識別(或“解析”)的表頭、如何匹配每個表頭以及我們希望交換機在每個表頭上執(zhí)行的操作.P4 語言的特征在于,用戶可以直接根據(jù)自己對處理數(shù)據(jù)包的需求定義P4 程序.

    OpenFlow 協(xié)議是比較流行的SDN 南向協(xié)議,目前,針對OpenFlow 協(xié)議的一致性測試工作展開了很多,但是面向P4 編程語言的一致性測試研究甚少,缺乏成熟的一致性測試方案.P4 編程語言具有巨大的靈活性且傳統(tǒng)的人工構造測試用例是一項繁瑣耗時費力的工作,面向P4 編程語言研究SDN 數(shù)據(jù)平面軟件一致性測試用例生成方法具有重要意義.

    面向P4 編程語言的一致性測試,本質(zhì)上是將測試用例發(fā)送給P4 網(wǎng)絡設備,通過比較實際輸出和預期輸出的一致程度,保證了P4 網(wǎng)絡設備在錯綜復雜的網(wǎng)絡環(huán)境中的表現(xiàn)與預期表現(xiàn)一致性.面向P4 編程語言的SDN數(shù)據(jù)平面軟件一致性測試,目的在于保障控制器與網(wǎng)絡設備之間的互操作性.

    裝載了P4 程序的網(wǎng)絡設備基本的工作機制為:接收數(shù)據(jù)包;解析器以有限狀態(tài)機的形式解析數(shù)據(jù)包包頭,從初始狀態(tài)開始,每一種狀態(tài)解析一種協(xié)議,從低層協(xié)議解析匹配首部定義的協(xié)議進而轉(zhuǎn)移到高層協(xié)議字段,最終轉(zhuǎn)移至目標狀態(tài);執(zhí)行Match-Action 動作,數(shù)據(jù)包頭的目的地址與表的匹配字段進行匹配,當數(shù)據(jù)包中的字段和匹配字段根據(jù)給定的匹配類型匹配成功時,就會執(zhí)行對應的動作,如果匹配不成功,則會執(zhí)行默認動作(default_action).

    本文重點描述面向P4 編程語言的SDN 數(shù)據(jù)平面軟件一致性測試用例生成方法進行綜述.具體來說,通過研究SDN 架構、P4 程序的工作原理,我們發(fā)現(xiàn)表和動作是實現(xiàn)轉(zhuǎn)發(fā)功能的核心部分:動作可以處理數(shù)據(jù),定義轉(zhuǎn)發(fā)等動作;而表是匹配動作表(match-action tables)的簡稱,表會定義匹配字段(key)、匹配方式以及匹配成功后執(zhí)行的對應動作.本文生成測試用例的核心思想是:通過劃分測試用例類型,獲取P4 目標網(wǎng)絡設備控制命令集,依據(jù)P4 程序表和動作具體信息構造測試用例.本文設計并實現(xiàn)了自動生成批量測試用例的工具,并以裝載P4程序的simple_switch 虛擬交換機為測試對象說明測試用例的生成過程.

    1 相關工作

    本節(jié)介紹SDN 體系架構、SDN 領域的P4 編程語言介紹及相關研究和面向OpenFlow 協(xié)議以及面向P4編程語言的一致性測試的相關研究.

    1.1 SDN體系架構

    SDN 是由美國斯坦福大學Clean State 課題研究組提出的,是網(wǎng)絡虛擬化的一種實現(xiàn)方式[1].2007 年,Casado博士基于SANE 實現(xiàn)了采用集中式控制器來管理網(wǎng)絡的Ethane 項目[2].SANE/Ethane 項目正是SDN 和OpenFlow 的前身.SDN 的核心在于:利用分層的思想,實現(xiàn)數(shù)據(jù)平面與控制平面相分離.SDN 的優(yōu)勢在于增強了傳統(tǒng)網(wǎng)絡靈活性,解決了傳統(tǒng)網(wǎng)絡可控性差的問題.

    如圖1 所示,SDN 體系架構[3]分為3 層:最底層為架構層(也被稱為數(shù)據(jù)層、轉(zhuǎn)發(fā)層),主要功能是實現(xiàn)數(shù)據(jù)轉(zhuǎn)發(fā);中間層為控制層,實現(xiàn)SDN 的主要功能,集中存儲網(wǎng)絡設備的控制邏輯,其控制邏輯控制數(shù)據(jù)平面數(shù)據(jù)包轉(zhuǎn)發(fā);最上層為應用層,包含錯綜復雜的業(yè)務應用.控制層的控制邏輯通過SDN 北向接口(northbound interface,簡稱NBI)與應用層進行通信,使用戶按實際需求定制開發(fā).控制層和數(shù)據(jù)層通過SDN 南向接口(southbound interface,簡稱SBI)進行通信,控制數(shù)據(jù)層數(shù)據(jù)轉(zhuǎn)發(fā).

    交換機等路由設備是數(shù)據(jù)層的基本網(wǎng)絡元素,不同的轉(zhuǎn)發(fā)規(guī)則形成元素之間不同的數(shù)據(jù)通路連接.P4 編程語言具有設備無關性,用戶無需關心底層元素的實現(xiàn)細節(jié),僅僅通過簡明易懂的編程就可以實現(xiàn)快捷開發(fā)迅速部署.因而,程序員可以通過可編程的控制邏輯控制整個SDN 網(wǎng)絡.具體來說,控制邏輯通過轉(zhuǎn)換應用程序?qū)?shù)據(jù)層元素進行低級控制,同時提供相關信息,還可以根據(jù)策略協(xié)調(diào)對于有限網(wǎng)絡資源的需求,從而真正實現(xiàn)了軟件定義網(wǎng)絡.

    1.2 P4編程語言介紹

    隨著SDN 的發(fā)展,OpenFlow 協(xié)議作為SDN 的南向協(xié)議,一時間成為流行的標準用于控制平面和數(shù)據(jù)平面的交互.OpenFlow 假設交換機具有固定的、眾所周知的行為,通常在交換機ASIC 的數(shù)據(jù)表中描述.傳統(tǒng)的高性能交換芯片支持一組固定的協(xié)議,因為它們直接在芯片中實現(xiàn)IEEE 和IETF 標準協(xié)議.用戶無法更改其行為并添加新協(xié)議或測量和控制數(shù)據(jù)路徑的新方法.

    然而OpenFlow 并不真正控制交換機行為,它為我們提供了一種填充一組眾所周知的表的方法.SDN 通常與OpenFlow 協(xié)議相關聯(lián),OpenFlow 協(xié)議是SDN 的南向接口,目前已經(jīng)發(fā)布了許多版本,其匹配域個數(shù)也不斷增加,但是每次更新匹配域,對應交換機的協(xié)議棧和數(shù)據(jù)包處理邏輯就要更新,降低了OpenFlow 協(xié)議的可擴展性、可編程性,因此對其協(xié)議的推廣造成負面影響.

    針對此問題,斯坦福大學的Nick 教授及其團隊研究出P4 高級編程語言.2015 年6 月在斯坦福大學[4]展開對P4 的相關工作.P4 是一種協(xié)議獨立的語言,提供了編碼結構,其范圍從通用CPU 到網(wǎng)絡處理器、FPGA 和定制ASIC.P4 編程語言的特征在于用戶可以直接根據(jù)自己對處理數(shù)據(jù)包的需求定義P4 程序,然后經(jīng)過編譯過程生成適配文件將用戶需求配置到網(wǎng)絡設備.

    P4 編程語言如今分為P414和P416兩個版本,最新的版本P416相比P414在語法和語義方面的進行了許多修改.P4 程序有5 個基本組成部分,分別是首部(header)、解析器(parser)、動作(actions)、表(tables)、控制模塊(control blocks)[5].首部類型是由成員字段組成的有序列表,每一個成員字段都有其名稱和字段長度,用戶可以根據(jù)需要定義協(xié)議字段;解析器的工作是把數(shù)據(jù)包中的頭和元數(shù)據(jù)解析出來,解析器是以有限狀態(tài)機的形式實現(xiàn);表和動作是實現(xiàn)數(shù)據(jù)包處理的核心部分,動作可以處理數(shù)據(jù),定義轉(zhuǎn)發(fā)等操作;表是匹配動作表(match-action tables)的簡稱,表會定義匹配字段(key)、匹配方式以及匹配成功后執(zhí)行的動作;控制平面制定控制流,將管理數(shù)據(jù)包處理的規(guī)則插入到流水線中,當規(guī)則與數(shù)據(jù)包匹配時,將使用控制平面提供的參數(shù)作為規(guī)則的一部分來調(diào)用其操作.

    P4 的3 個主要目標是協(xié)議無關性、可重新配置性以及可移植性:協(xié)議無關性是指協(xié)議和設備無關性,設備不會指定協(xié)議;可重新配置性指協(xié)議重構性,程序員能夠在部署后繼續(xù)根據(jù)需求修改設備的行為;可移植性指P4 程序不與特定的網(wǎng)絡設備相關聯(lián).通過P4 程序,我們可以定義交換機將識別(或“解析”)的表頭、如何匹配每個表頭以及我們希望交換機在每個表頭上執(zhí)行的操作.因此,通過P4 語言,用戶可以對網(wǎng)絡設備的硅處理芯片(如交換機、路由器、網(wǎng)絡接口等)進行管理.由于傳統(tǒng)交換機只有一種轉(zhuǎn)發(fā)數(shù)據(jù)包的方式,功能固定,所以傳統(tǒng)網(wǎng)絡功能呈“自下而上”構建;P4 可編程網(wǎng)絡則呈現(xiàn)“自上而下”的網(wǎng)絡功能.

    現(xiàn)在,P4 語言已經(jīng)成為 Linux 基金會投資組織的一部分,并作為開放網(wǎng)絡基金會(open networking foundation,簡稱ONF)[6]旗下的項目之一.P4 開發(fā)環(huán)境也在逐漸發(fā)展壯大起來,目前,P4 社區(qū)不僅擁有強大的編譯器,還擁有了架構獨立的P4 交換機,其主要可編程目標包括可編程NIC、高端交換芯片、軟件交換機(如OVS和eBPF)等.P4 成為開發(fā)新型數(shù)據(jù)平面設計的一種越來越受歡迎的選擇,目前,阿里巴巴、AT&T、思科、Juniper、Netronome、Vmare、Xilinx 和中興通訊等大廠也加入了P4 聯(lián)盟,其應用包括NetFlow,Paxos 等方面的研究,且范圍范圍還在擴展,但有關P4 程序的測試工作有待開展.

    在Sigcomm 2017 年會上,來自清華大學的余舟等人進行了P4 模塊化編程[7]以及P4 驅(qū)動的網(wǎng)絡模擬器[8]的演示,其P4 模塊化編程體系結構ClickP4 簡化了P4 程序的開發(fā)過程,ClickP4 的網(wǎng)絡策略具有可靠性.P4 首次應用于模擬網(wǎng)絡的研究成果是網(wǎng)絡模擬器NS4,NS4 簡化了模擬器內(nèi)部模型開發(fā)過程,構建了虛擬的P4 網(wǎng)絡設備及環(huán)境系統(tǒng),是一款拓展性強的P4 行為模型驗證工具.2019 年11 月,ONF 開源了包括NG-SDN 接口和模型的交換機操作系統(tǒng) Stratum[9],以提供全生命周期的控制、配置和接口操作管理.Stratum 對外呈現(xiàn) P4、P4Runtime、gNMI/OpenConfig 和gNOI 等接口,基于上述接口的Stratum 一致性測試框架正在研究制定中.

    P4 和OpenFlow 協(xié)議的主要區(qū)別在于:OpenFlow 協(xié)議功能固定、協(xié)議更新時間長,而P4 編程語言可以告訴交換機如何識別、處理數(shù)據(jù)包,讓網(wǎng)絡架構師或程序員可以控制交換機、指定轉(zhuǎn)發(fā)行為,讓填充定義表成為可能.某種意義上來說,P4 編程語言可以真正意義上的完全實現(xiàn)軟件定義網(wǎng)絡.

    1.3 一致性測試相關研究

    全球已經(jīng)存在許多獨立的針對OpenFlow 協(xié)議一致性測試的實驗室,如北京互聯(lián)網(wǎng)研究院(BII)、韓國電子通信研究院(ETRI),這些實驗室已經(jīng)提出OpenFlow 協(xié)議一致性測試測試方案并獲得了SDN 標準化組織ONF的認可.2013 年,ONF 宣布啟動OpenFlow 一致性測試項目,目的在于認證網(wǎng)絡供應商在交換機、路由器和網(wǎng)絡軟件中SDN 協(xié)議的實施.ONF 提供了完全一致性、三層一致性以及二層一致性這3 種針對OpenFlow 的一致性測試規(guī)范,網(wǎng)絡供應商可以根據(jù)實際要求選擇測試規(guī)范對數(shù)據(jù)轉(zhuǎn)發(fā)設備進行測試.目前,ONF 已經(jīng)認證并投入使用的工具包括OFCheck,OFsuite,OFTest 等.

    P4 編程語言的可編程性和靈活性是提高網(wǎng)絡性能的關鍵,符合錯綜復雜的網(wǎng)絡需求對未來網(wǎng)絡發(fā)展方向的要求.通信協(xié)議按照標準落地,是協(xié)議設計的初衷和目的,是保證設備之間按照協(xié)議設定進行通信的關鍵.檢測評估協(xié)議是否落地,一致性測試必不可少.針對P4 編程語言的測試工具有p4pktgen,p4app 以及ptf 數(shù)據(jù)平面測試框架.

    · p4pktgen[10]是一個可以為P4 程序自動化生成測試用例的開源工具.p4pktgen 不直接依賴P4 程序,而是解析P4 程序經(jīng)編譯后的JSON 格式文件,并為給定程序中的路徑生成數(shù)據(jù)包和表配置,用戶可以選擇生成所有路徑的測試用例,也可以生成優(yōu)先考慮分支覆蓋范圍的測試用例.隨后,p4pktgen 配置BMv2 交換機、發(fā)送測試包并驗證數(shù)據(jù)包的轉(zhuǎn)發(fā)是否和預期的路徑一致.p4pktgen 支持P414和P416兩個版本的P4 程序,其功能上尚且有一些沒有修復的bug,生成的數(shù)據(jù)包不能隨P4 程序更新而靈活改變,其針對性有待改進;

    · p4app 是一個可以構建、運行、調(diào)試和測試P4 程序的工具,其工作過程具體包括:p4app 運行一個以.p4app 為后綴的程序包,該程序包可以封裝P4 程序、JSON 格式文件等,還可以封裝P4 編譯器、抓包、發(fā)包等工具.在測試過程中,stf 測試框架直接編譯p4app 程序包將生成一個.stf 文件,發(fā)送.stf 文件中的報文并驗證BMv2 交換機發(fā)出的報文與預期是否一致;

    · ptf 是一個用python 實現(xiàn)的數(shù)據(jù)平面測試框架,主要功能來自OFTest 測試框架.ptf 專注于數(shù)據(jù)平面,并且不依賴于OpenFlow,且添加了Filters、Ternary matching 和Test timeout 等功能.

    上述常見的測試工具已經(jīng)部分應用于P4 程序的功能測試.2019 年11 月,ONF 先后發(fā)布了交換機操作系統(tǒng)Stratum 和目前正在開發(fā)中的針對Stratum 交換機測試的Test Vector Framework,該框架正在致力于開發(fā)一系列供應商無關的測試來檢驗目標交換機與Stratum 的一致性.本文著重針對面向P4 編程語言的一致性測試用例生成方法進行相關研究.

    2 一致性測試用例覆蓋標準

    軟件測試的覆蓋指標包括語句覆蓋、判定覆蓋、路徑覆蓋等,而面向P4 程序的一致性測試指標定義尚未明確.通過分析P4 程序,我們發(fā)現(xiàn)首部(header)、解析器(parser)、動作(actions)、表(tables)、控制模塊(control blocks)這5 個P4 編程語言的基本組成部分的工作都是與匹配動作表(match-action tables)相關聯(lián),而P4 網(wǎng)絡設備也是通過匹配流水線(pipeline)中的表來執(zhí)行相應處理數(shù)據(jù)包的操作.因此,我們可以通過P4 網(wǎng)絡設備的控制命令來進行面向P4 編程語言的SDN 數(shù)據(jù)平面軟件一致性測試,則相應的測試用例為控制命令.

    由于每條控制命令所含字段不同,每條字段的合法類型也不同,經(jīng)過分析,本文將面向P4 編程語言的SDN數(shù)據(jù)平面軟件一致性測試用例覆蓋標準確立為:生成足夠的測試用例,使得所有針對match-action tables 操作的控制命令都被執(zhí)行,其中每條命令的每個字段都要覆蓋合法和不合法兩種測試結果.

    3 面向P4 編程語言的一致性測試用例自動生成方法設計

    本節(jié)設計了一致性測試用例自動化生成方法,詳細介紹了P4 程序經(jīng)過編譯、解析、測試用例生成的整個自動化過程.

    如圖2 所示,本節(jié)設計的測試用例自動生成方法基本流程為:P4 程序經(jīng)過編譯過程,生成解析過程所需要的P4 信息文件(.p4info 文件)和P4 數(shù)據(jù)平面描述文件;所述P4 數(shù)據(jù)平面描述文件包括JSON 格式的網(wǎng)絡設備配置文件;解析過程包括獲取目標網(wǎng)絡設備控制命令集,依據(jù)每條控制命令格式,從所述P4 程序編譯單元生成的P4信息文件中解析出TABLE_NAME,ACTION_NAME,MATCH_KEY,PARAMETERS 字段信息,最終生成控制信息實體集合;測試用例生成過程劃分了測試用例類型,將所述解析過程生成的控制信息實體集按照測試用例類型組織,最終生成面向P4 編程語言SDN 數(shù)據(jù)平面軟件一致性測試用例集.

    3.1 編譯過程

    p4c 編譯器是為P4 編譯器設計的編譯器基礎設施,同時支持P414以及P416兩個版本的P4 語言.如圖3 所示:p4c 提供了標準的前端和中間件,通過在編譯時添加選項,可以和特定目標的后端相結合使用.p4c 編譯器支持EBPF Backend,BMv2 Backend 和P4test Backend.其中EBPF 能夠生成可以擴展Berkeley 數(shù)據(jù)包過濾程序的C 代碼,BMv2 能夠生成用于簡單的網(wǎng)絡交換仿真的JSON 格式文件,P4test 是一個測試用的后端編譯器.最新的后端編譯器詳情請見https://p4.org/.

    圖3 所示為P4 程序的編譯過程,本文使用的是p4c-bm2-ss 來編譯P4 程序,p4c-bm2-ss 是p4c 項目編譯完后的產(chǎn)物之一,具體編譯過程為:p4c 編譯器首先將P414和P416編寫的P4 源程序轉(zhuǎn)換成通用的中間表示IR,然后經(jīng)過前端編譯器,生成為通用的后端中間表示IR 和P4 信息文件(.p4info 文件),中間表示IR 經(jīng)過p4c-bm2-ss編譯生成一個JSON 格式的數(shù)據(jù)文件,此文件專門用于將P4 程序編譯生成BMv2 使用的數(shù)據(jù)平面描述文件.我們研究發(fā)現(xiàn):由于P4 官方提供了一個Helper 類以幫助解析.p4info 文件,該文件格式更加便于處理,因此,.p4info文件可用于P4 表信息的解析過程.

    3.2 解析過程

    由于面向P4 編程語言的SDN 的實現(xiàn),是通過定義匹配動作表(match-action tables)來部署P4 網(wǎng)絡設備.匹配動作表(match-action tables)是面向P4 編程語言的SDN 實現(xiàn)的關鍵載體,也是體現(xiàn)P4 編程語言特性的重要部分.用戶可以直接把自己對處理數(shù)據(jù)包的需求編寫成P4 程序來部署網(wǎng)絡設備,因而網(wǎng)絡架構師等人員可以通過控制網(wǎng)絡設備、指定轉(zhuǎn)發(fā)行為、填充定義表來實現(xiàn)SDN.而確定裝載P4 程序的網(wǎng)絡設備是否真正實現(xiàn)用戶需求,則需要對目標網(wǎng)絡設備進行一致性測試.一致性測試用例的生成,需要通過解析P4 目標設備的控制命令集來獲取每條命令所需要的表名、匹配字段、動作、動作參數(shù)信息.

    · 控制命令信息類結構設計

    我們以面向?qū)ο蟮乃枷雭斫?刂泼钚畔ommand 類,該類成員包括CommandName,CommandFormat,TableName,ActionName,MatchField,ActionParameter1,ActionParameter2,如圖4 所示.

    · 解析控制命令集

    我們研究發(fā)現(xiàn),不同的P4 網(wǎng)絡設備具有不同的控制命令集.生成用于P4 網(wǎng)絡設備的測試用例首先需要解析P4 網(wǎng)絡設備的控制命令集,進而生成包含控制命令頭、控制命令格式以及控制命令字段的控制命令信息實體.本節(jié)設計了用以解析控制命令集的方法,生成控制命令信息實體列表,其工作流程如圖5 所示.

    · 解析P4 信息文件

    .p4info 文件記錄了P4 程序匹配動作表(match-action tables).P4 官方提供了一個Helper 類,以幫助解析.p4info 文件,實現(xiàn)了根據(jù)id 查找表名、動作名,根據(jù)表名、動作名查詢對應的id、匹配字段、動作參數(shù)的功能.因此考慮從.p4info 文件中解析命令所需要的字段,其工作流程如圖6 所示.

    其中,解析.p4info 文件具體過程為:解析命令信息實體命令名稱,解析該命令信息實體所需字段信息,利用Helper 類所提供的方法對.p4info 文件中所有匹配動作表(match-action tables)進行線性查找,將控制命令格式和每個匹配動作表(match-action tables)對應的TABLE_NAME,ACTION_NAME,MATCH_KEY,PARAMETERS 字段信息寫入命令信息實體.

    (1) 解析表名

    表名層級關系為table→preamble→name.解析表名的流程如圖7 所示,每獲取一個表名,會判斷當前表是否為最后一張表:若有,則繼續(xù)獲取;若沒有,則結束.隨后,所有的表名都會從文件中被提取出來.

    (2) 解析匹配字段

    匹配字段的層級關系為table→match_fields→(id,name,bitwidth).解析匹配字段的流程如圖8 所示,匹配字段和表名一一對應,輸入表名后判斷該表是否存在:若存在,則能成功獲取匹配字段;否則報錯.在操作正確的情況下,表的對應匹配字段會從文件中被提取出來.

    (3) 解析動作

    動作名的層級關系為actions→preamble→name.解析動作的流程如圖9 所示,根據(jù)表名獲取該表的所有動作ID 后,根據(jù)ID 獲取動作名,判斷該ID 是否為最后一個ID:若不是,則繼續(xù)獲取ID.表對應的所有動作名都會被從文件解析出來.

    (4) 解析動作參數(shù)

    動作參數(shù)的層級關系為actions→params→(id,name,bitwidth),解析動作參數(shù)的流程如圖10 所示,根據(jù)動作名判斷該動作是否有參數(shù):若有,則獲取所有參數(shù)的信息;若沒有,則結束.

    每解析得到一個命令信息實體,命令信息實體即被插入命令信息實體列表.經(jīng)過以上解析過程,最終生成測試用例所需的命令信息實體集合.

    3.3 測試用例生成過程

    前兩節(jié)生成的命令信息實體集合為面向P4 編程語言的SDN 數(shù)據(jù)平面軟件一致性測試用例的生成提供了數(shù)據(jù)基礎,然而測試用例實體的生成需要一定的組織規(guī)范.本節(jié)不僅劃分了測試用例類型,還分別設計了針對每種測試用例類型的測試用例構造方法.測試用例生成方法可分為生成單條測試用例和批量生成全部測試用例.

    · 測試用例類型

    本節(jié)依據(jù)測試用例結果類型,將最終生成的測試用例實體分為5 種類型:命令合法、表名不合法、動作不合法、匹配域不合法、參數(shù)不合法.

    · 構造測試用例

    單條測試用例生成過程為:用戶依次選擇測試用例類型、控制命令類型,再根據(jù)命令類型所需字段選擇或編輯表名、動作名、匹配域、參數(shù)信息,最后生成單條測試用例.

    批量生成全部測試用例集的過程為:以測試用例類型為組織單位構造測試用例,遍歷解析過程生成的命令信息實體列表.若測試用例類型為命令合法,則直接依據(jù)每個命令信息實體的命令格式和字段信息構造測試用例;若測試用例類型為表名不合法,則將命令信息實體中的TABLE_NAME 字段修改為錯誤的TABLE_NAME字段,再依據(jù)命令格式與其他字段信息構造測試用例;同理,動作不合法、匹配域不合法、參數(shù)不合法類型的測試用例構造方法與命令不合法類似.

    4 測試用例生成示例

    本節(jié)以裝載P4 程序的simple_switch 虛擬交換機為測試對象,說明一致性測試用例生成過程.

    4.1 解析控制命令集

    simple_switch 虛擬交換機的控制命令集如圖11 所示.

    由于控制命令集包含許多功能類似的表項操作命令,并且不同的P4 網(wǎng)絡設備控制命令集并不完全相同,因此,本實驗并沒有對全部控制命令生成一致性測試用例,而是選取simple_switch 虛擬機中具有代表性的表操作控制命令table_add,table_delete,table_dump,table_modify 來生成一致性測試用例.

    4.2 控制命令類型及格式

    · table_add 表項增加命令

    合法的增加表項的命令格式如下:

    插入一個表項需要確定表名、動作名、匹配域、動作參數(shù).以命令“table_add ipv4_lpm drop 0/32 0/32?0”為測試用例進行說明.其中,ipv4_lpm 指定了該命令是向ipv4_lpm 這張表插入表項,ipv4_forward 指定了表項匹配成功時執(zhí)行的動作為ipv4_forward,0xffffffff/32 指定了匹配字段是16 進制的ffffffff,?是命令的格式需要所定義的箭頭形狀,?后的0x0 0x0 指定了ipv4_forward 動作的兩個參數(shù)均為0,命令中的動作需要幾個參數(shù),?符號后就應當給出幾個參數(shù).命令中/后的數(shù)字如0/32 表示的是該數(shù)長度為32 位.

    · table_delete 表項刪除命令

    合法的刪除表項的命令格式如下:

    刪除一個表項需要確定表項所在表的表名以及該表項在表中的編號,在這里被稱為entry handle.以命令“table_delete ipv4_lpm 0”為測試用例進行說明.其中,ipv4_lpm 指定了該命令刪除的表項在表ipv4_lpm 中,0 說明了該命令會刪除表中編號為0 的表項.

    · table_dump 表項查詢命令

    合法的查詢表項的命令格式如下:

    查詢表項需要確定需要查詢的表項所在表的表名.以命令“table_dump ipv4_lpm”為測試用例進行說明.其中,ipv4_lpm 指定了該命令查詢的是名為ipv4_lpm 這張表中的所有表項.

    · table_modify 表項修改命令

    合法的修改表項的命令格式如下:

    修改表項需要確定表項所在表的表名、表項中的動作名、表項的編號、動作的參數(shù).以命令“table_modify ipv4_lpm ipv4_forward 0 0x123456654321 1”為測試用例進行說明.其中,ipv4_lpm 指定了該命令修改的是表ipv4_lpm 中的表項,ipv4_forward 說明了該命令修改的表項中的動作為ipv4_forward,0 指定了該命令修改的是表 ipv4_lpm 中編號為 0 的表項,0x123456654321 1 指定了該命令是將 ipv4_forward 的兩個參數(shù)改成0x123456654321 1.命令要修改的表項中的動作有幾個參數(shù),就要給出幾個參數(shù).

    4.3 生成測試用例集

    如圖12 所示為測試用例生成的算法映射圖,以測試用例類型命令合法、表名不合法、動作不合法、匹配域不合法、參數(shù)不合法為組織單位,以一個個命令信息實體為信息體,構造對應類型的 TABLE_NAME,ACTION_NAME,MATCH_KEY,PARAMETERS 字段,生成table_add,table_delete,table_dump,table_modify 命令.

    如圖13 所示,本節(jié)以增刪改查命令類型的測試用例生成過程為例進行說明.在完成了對P4 信息文件(.p4info 文件)的解析后,以測試用例類型為組織單位,構造符合測試用例類型的字段,依據(jù)命令信息實體的命令格式,生成測試用例.表項的增加和修改動作需要用到表名、匹配字段、動作名和動作參數(shù),而表項的查詢和刪除命令需要用到表名.本節(jié)實現(xiàn)的SDN 數(shù)據(jù)平面軟件一致性測試用例生成工具不直接依賴于P4 程序,而是直接依賴于編譯后的P4 信息文件(.p4info 文件).

    · 參數(shù)默認值的設定原則

    命令中,用戶需要自行填寫的參數(shù)有匹配字段(match_field)和動作參數(shù)(action_params),這兩個參數(shù)不能由.p4info 確定,需要用戶根據(jù)從.p4info 文件中提取出參數(shù)的位數(shù)自行填入.程序可以識別十進制數(shù)并轉(zhuǎn)換成十六進制,但是交換機中記錄的是十六進制的格式,目前的IP 地址格式是32 位二進制數(shù).為了方便也分成了4 段,每段8 位.考慮到以十進制數(shù)表示IP 地址不直觀也非當今主流,所以需要根據(jù)參數(shù)的位數(shù)給出一個默認的參數(shù),以確定一個參數(shù)的格式.匹配字段中的參數(shù)往往是目的地址或者是源地址之類的IP 地址.匹配字段的長度必須是8bits 的整數(shù)倍.參考參數(shù)見表1.

    Table 1 Reference parameters表1 參考參數(shù)

    · 單個測試用例示例

    本節(jié)設計了測試用例實體結構,每個測試用例實體分為4 部分:命令格式CF(CommandFormat)、前提條件PC(Precondition)、測試用例TC(TestCase)、期望輸出結果EO(ExpectedOutput).設計該結構的目的在于規(guī)范測試用例實體,使測試用例實體信息更加清晰明了,方便面向P4 編程語言的SDN 數(shù)據(jù)平面軟件一致性測試實際結果與預期結果比對過程.前提條件PC 和期望輸出結果EO 為測試系統(tǒng)初期部署過程所作工作,本文不作贅述.

    圖14 所示為一個測試用例實例,其中,

    · 命令格式CF 為“table_add ipv4_lpm myTunnel_ingress 0xffffffff/32?0x0 0x0”;

    · 前提條件PC 為“The entity to be added should not be duplicate”;

    · 測試用例TC 為“table_add ipv4_lpm myTunnel_ingress 0xffffffff/32?0x0 0x0”;

    · 期望輸出結果EO 為“Entry has been added with handleN”.

    TC 中,table_add 和ipv4_lpm 代表向ipv4_lmp 表插入表項,0xffffffff/32 代表匹配字段是32 位的0xffffffff,匹配成功則向表中插入?yún)?shù)為0x0 和0x0 的動作myTunnel_ingress.

    · 測試用例集示例(如圖15 所示)

    4.4 測試用例自動生成工具測試

    本節(jié)對我們已經(jīng)實現(xiàn)的SDN 數(shù)據(jù)平面軟件一致性測試用例自動生成工具進行一致性測試用例生成測試實驗,該實驗選取了3 個P4 程序作為測試工具的輸入,通過分析生成測試用例覆蓋程度驗證其有效性.

    · demo1 含有1 張表,名為ipv4_lpm,表中有3 個動作:ipv4_forward,drop,NoAction,因此,預期生成3 條表項的插入命令、1 條表項的查詢命令、1 條表項的刪除命令、3 條表項的修改命令;

    · demo2 含有 3 張表,分別是 ipv4_da_lpm,mac_da,send_frame.其中,表 ipv4_da_lpm 中有 2 個動作:set_l2ptr,my_drop,表mac_da 中有2 個動作:set_bd_dmac,my_drop,表send_frame 中有2 個動作:rewrite_mac,mydrop.預期生成6 條表項的插入命令、3 條表項的查詢命令、3 條表項的刪除命令、6 條表項的修改命令;

    · demo3 含有2 張表,分別是ipv4_lpm,myTunnel_exact.其中,ipv4_lpm 表中有4 個動作:ipv4_forward,myTunnel_ingress,drop,NoAction,表 myTunnel_exact 中有 3 個動作:myTunnel_forward,myTunnel_egress,drop.預期生成7 條表項的插入命令、2 條表項的查詢命令、2 條表項的刪除命令、7 條表項的修改命令.

    如表2 所示,3 個P4 程序共12 條被測控制命令通過一致性測試用例自動生成工具進行一致性測試用例生成測試.我們發(fā)現(xiàn):生成測試用例的實際結果與預期結果完全一致,每條被測命令生成的測試用例集都覆蓋了該控制命令字段所有可能出現(xiàn)的情況,實現(xiàn)了全覆蓋.則以上實驗驗證了面向P4 編程語言的SDN 數(shù)據(jù)平面軟件一致性測試用例自動生成工具具有有效性.

    Table 2 Test case automatic generation tool test data table表2 測試用例自動生成工具測試數(shù)據(jù)表

    4.5 測試工具界面

    測試用例生成工具的界面如圖18 所示,在用戶選定.p4info 文件的后,點擊Write In 按鈕,則生成.p4info 文件對應的全部測試用例.在選定.p4info 文件后,依次選擇table、actions 下拉框,隨后讀取match_field 和action_params,點擊Generate entry 按鈕,即在下方空白處顯示表項的信息.

    5 總結

    面向P4 編程語言的一致性測試本質(zhì)上是在將測試用例發(fā)送給P4 網(wǎng)絡設備,通過比較實際輸出和預期輸出的一致程度,保證了P4 網(wǎng)絡設備在錯綜復雜的網(wǎng)絡環(huán)境中的表現(xiàn)與預期表現(xiàn)一致性.測試用例是執(zhí)行一致性測試的載體,傳統(tǒng)的人工構造測試用例是一項繁瑣耗時費力的工作.本文介紹了SDN 架構、P4 編程語言特性,調(diào)研了SDN 領域一致性測試現(xiàn)有工作情況,設計了用于面向P4 編程語言的SDN 數(shù)據(jù)平面軟件一致性測試用例生成方法,實現(xiàn)了面向P4 編程語言的SDN 數(shù)據(jù)平面軟件一致性測試用例自動生成工具.實驗結果表明:該測試工具能夠由用戶自己選擇或編輯生成單條測試用例,也可以按照預期生成任意P4 程序的測試用例集.

    除此之外,在實際應用中,本文工作還有進一步提升空間.

    本文是面向P4 編程語言的SDN 數(shù)據(jù)平面軟件一致性測試用例生成研究工作,在本文工作的基礎上,可以針對P4 編程語言的SDN 數(shù)據(jù)平面軟件進行真實網(wǎng)絡環(huán)境下的一致性測試工作研究;

    面向P4 編程語言的SDN 數(shù)據(jù)平面軟件一致性測試過程需要包括測試環(huán)境搭建、測試系統(tǒng)初期部署、一致性測試用例生成、一致性測試等階段.后續(xù)工作可以設計面向P4 編程語言的SDN 數(shù)據(jù)平面軟件一致性測試一體化過程,可以基于gRPC 框架對真實網(wǎng)絡環(huán)境下的測試用例的發(fā)送、測試服務調(diào)用和測試結果接收過程進行研究.

    交換機操作系統(tǒng)Stratum 支持P4 API、P4Runtime API,可以基于本文提出的面向P4 編程語言的SDN 數(shù)據(jù)平面軟件一致性測試用例生成方法進行Stratum 交換機一致性測試的研究.

    猜你喜歡
    表項編程語言測試用例
    一種改進的TCAM路由表項管理算法及實現(xiàn)
    通信技術(2022年5期)2022-06-11 00:47:44
    壓力-體積轉(zhuǎn)換在CFC編程語言中的實現(xiàn)解析
    基于SmartUnit的安全通信系統(tǒng)單元測試用例自動生成
    基于ARMA模型預測的交換機流表更新算法
    Java編程語言的特點與應用
    基于混合遺傳算法的回歸測試用例集最小化研究
    淺談不同編程語言對計算機軟件開發(fā)的影響
    電子制作(2018年1期)2018-04-04 01:48:36
    SDN數(shù)據(jù)中心網(wǎng)絡基于流表項轉(zhuǎn)換的流表調(diào)度優(yōu)化
    面向?qū)ο骔eb開發(fā)編程語言的的評估方法
    基于依賴結構的測試用例優(yōu)先級技術
    亚洲欧美日韩东京热| 国产一区二区在线av高清观看| 两个人视频免费观看高清| 午夜爱爱视频在线播放| 国产成人a区在线观看| 婷婷亚洲欧美| 婷婷色综合大香蕉| 日日摸夜夜添夜夜爱| 非洲黑人性xxxx精品又粗又长| 国产乱人偷精品视频| 看免费成人av毛片| 精品国产三级普通话版| 嫩草影院新地址| 欧美色欧美亚洲另类二区| 99久久精品一区二区三区| 国内精品美女久久久久久| 亚洲av.av天堂| 卡戴珊不雅视频在线播放| 麻豆av噜噜一区二区三区| 成人午夜精彩视频在线观看| 欧美又色又爽又黄视频| 国产精品精品国产色婷婷| 成人性生交大片免费视频hd| 99热精品在线国产| 一区二区三区高清视频在线| 国产精品日韩av在线免费观看| 一本久久精品| 国产探花在线观看一区二区| 在线观看av片永久免费下载| 成年女人永久免费观看视频| 三级毛片av免费| 精品久久久噜噜| 国产熟女欧美一区二区| 久久中文看片网| 18禁在线无遮挡免费观看视频| 午夜福利成人在线免费观看| 三级男女做爰猛烈吃奶摸视频| 男人舔女人下体高潮全视频| 午夜福利在线观看吧| 免费黄网站久久成人精品| 天天一区二区日本电影三级| 国产精品av视频在线免费观看| 一个人免费在线观看电影| 秋霞在线观看毛片| 伦精品一区二区三区| 只有这里有精品99| 一区二区三区四区激情视频 | 欧美又色又爽又黄视频| 亚洲欧洲日产国产| 少妇熟女欧美另类| 久久久久免费精品人妻一区二区| 婷婷色综合大香蕉| 18禁裸乳无遮挡免费网站照片| 日本三级黄在线观看| 白带黄色成豆腐渣| 丰满人妻一区二区三区视频av| 欧美xxxx黑人xx丫x性爽| 蜜桃久久精品国产亚洲av| 天天一区二区日本电影三级| 久久婷婷人人爽人人干人人爱| 99国产精品一区二区蜜桃av| 国产高清三级在线| 国产乱人视频| 天美传媒精品一区二区| 亚洲不卡免费看| h日本视频在线播放| avwww免费| 毛片一级片免费看久久久久| 丝袜喷水一区| 日韩av不卡免费在线播放| 久久精品综合一区二区三区| 一级黄片播放器| 亚洲欧美成人精品一区二区| 黄片wwwwww| 亚洲七黄色美女视频| 中出人妻视频一区二区| 欧美区成人在线视频| 免费av毛片视频| 午夜老司机福利剧场| 老师上课跳d突然被开到最大视频| 美女脱内裤让男人舔精品视频 | 男人狂女人下面高潮的视频| 三级男女做爰猛烈吃奶摸视频| 国产私拍福利视频在线观看| 乱系列少妇在线播放| a级一级毛片免费在线观看| 欧美一区二区精品小视频在线| 天堂√8在线中文| 1024手机看黄色片| 日韩成人伦理影院| 成人国产麻豆网| 男女视频在线观看网站免费| 日本一本二区三区精品| 欧美一区二区精品小视频在线| 亚洲国产欧美人成| 中出人妻视频一区二区| 夜夜看夜夜爽夜夜摸| av又黄又爽大尺度在线免费看 | 国产单亲对白刺激| 夫妻性生交免费视频一级片| 精品久久国产蜜桃| 亚洲av.av天堂| 国内精品宾馆在线| 国产伦理片在线播放av一区 | 熟女人妻精品中文字幕| 国产伦一二天堂av在线观看| 精品一区二区免费观看| 最近手机中文字幕大全| 91精品一卡2卡3卡4卡| 日本与韩国留学比较| 免费观看人在逋| 女人被狂操c到高潮| 伦精品一区二区三区| eeuss影院久久| 六月丁香七月| 国产精品野战在线观看| 91av网一区二区| 一个人观看的视频www高清免费观看| 久久精品国产鲁丝片午夜精品| 人体艺术视频欧美日本| 综合色av麻豆| 免费黄网站久久成人精品| 在线天堂最新版资源| 少妇的逼好多水| 午夜激情欧美在线| av天堂中文字幕网| 一级毛片电影观看 | 内地一区二区视频在线| 一级黄色大片毛片| 有码 亚洲区| 国产69精品久久久久777片| 日韩,欧美,国产一区二区三区 | 日韩高清综合在线| 亚洲人成网站在线观看播放| 少妇被粗大猛烈的视频| 亚洲四区av| av专区在线播放| 国产精品福利在线免费观看| 一区二区三区免费毛片| 成人欧美大片| avwww免费| 午夜精品在线福利| 国产伦一二天堂av在线观看| 爱豆传媒免费全集在线观看| 亚洲一区高清亚洲精品| 成人亚洲欧美一区二区av| 亚洲18禁久久av| 国产中年淑女户外野战色| 搞女人的毛片| 99热只有精品国产| 啦啦啦啦在线视频资源| 日本黄大片高清| 综合色av麻豆| 亚洲天堂国产精品一区在线| 自拍偷自拍亚洲精品老妇| 69av精品久久久久久| 久久久久久久亚洲中文字幕| 精品人妻视频免费看| 亚洲婷婷狠狠爱综合网| 久久久欧美国产精品| 五月伊人婷婷丁香| 亚洲欧美中文字幕日韩二区| 老熟妇乱子伦视频在线观看| 综合色av麻豆| 色尼玛亚洲综合影院| 悠悠久久av| 国产精品女同一区二区软件| 国产成人精品一,二区 | 亚洲在线自拍视频| 欧美日韩在线观看h| 男女视频在线观看网站免费| 亚洲人成网站在线观看播放| av国产免费在线观看| 午夜福利在线观看吧| 可以在线观看毛片的网站| 91aial.com中文字幕在线观看| 一边摸一边抽搐一进一小说| 国产午夜精品论理片| 99热网站在线观看| 色视频www国产| 波野结衣二区三区在线| 我要搜黄色片| 精品国内亚洲2022精品成人| avwww免费| 麻豆成人午夜福利视频| av福利片在线观看| 综合色丁香网| 天堂网av新在线| 欧美日本亚洲视频在线播放| 国内精品宾馆在线| 亚洲色图av天堂| 男女边吃奶边做爰视频| 午夜久久久久精精品| 日韩精品青青久久久久久| 99久久无色码亚洲精品果冻| 国产伦理片在线播放av一区 | 校园春色视频在线观看| 欧美精品一区二区大全| 欧美成人a在线观看| 精品国内亚洲2022精品成人| 免费av毛片视频| 一级黄片播放器| 变态另类成人亚洲欧美熟女| 国产黄色小视频在线观看| 亚洲国产精品国产精品| 欧美日本亚洲视频在线播放| 午夜爱爱视频在线播放| 国产白丝娇喘喷水9色精品| 99在线人妻在线中文字幕| 亚洲欧美精品综合久久99| 亚洲一区二区三区色噜噜| 日本爱情动作片www.在线观看| 久久久精品大字幕| 26uuu在线亚洲综合色| 成人性生交大片免费视频hd| 全区人妻精品视频| 欧美激情在线99| 可以在线观看毛片的网站| 午夜a级毛片| 国产成人aa在线观看| 三级经典国产精品| 九九热线精品视视频播放| 色尼玛亚洲综合影院| 午夜福利在线在线| 成人av在线播放网站| 黄色一级大片看看| 亚洲精品粉嫩美女一区| 国产亚洲av片在线观看秒播厂 | 国产成人freesex在线| 国产男人的电影天堂91| 国产久久久一区二区三区| 精品人妻偷拍中文字幕| 男人的好看免费观看在线视频| 麻豆成人av视频| 黑人高潮一二区| 嘟嘟电影网在线观看| 99久久久亚洲精品蜜臀av| 69av精品久久久久久| 美女被艹到高潮喷水动态| 97人妻精品一区二区三区麻豆| 99久国产av精品国产电影| 久久鲁丝午夜福利片| 精品久久久久久久久av| 亚洲天堂国产精品一区在线| 成人国产麻豆网| 免费在线观看成人毛片| 国产高潮美女av| 成人午夜高清在线视频| 国产午夜精品论理片| 深夜精品福利| 亚洲国产精品国产精品| 只有这里有精品99| 狂野欧美白嫩少妇大欣赏| 你懂的网址亚洲精品在线观看 | 最近的中文字幕免费完整| 人体艺术视频欧美日本| 性插视频无遮挡在线免费观看| 免费一级毛片在线播放高清视频| 99热只有精品国产| 亚洲图色成人| eeuss影院久久| 51国产日韩欧美| h日本视频在线播放| 综合色av麻豆| 欧美最黄视频在线播放免费| 国产蜜桃级精品一区二区三区| 成年免费大片在线观看| 成人毛片60女人毛片免费| 岛国在线免费视频观看| 亚洲国产日韩欧美精品在线观看| 精品久久国产蜜桃| 一本精品99久久精品77| av国产免费在线观看| 在线免费十八禁| 久久鲁丝午夜福利片| 少妇的逼好多水| 色尼玛亚洲综合影院| 免费看a级黄色片| 麻豆成人午夜福利视频| 免费无遮挡裸体视频| 中文字幕熟女人妻在线| 小蜜桃在线观看免费完整版高清| 长腿黑丝高跟| 国产日韩欧美在线精品| 国产精品久久久久久精品电影| 如何舔出高潮| 亚洲精品日韩av片在线观看| 少妇熟女欧美另类| 91久久精品电影网| 国模一区二区三区四区视频| 国产精品一区二区在线观看99 | 日韩中字成人| 干丝袜人妻中文字幕| 国产成人精品久久久久久| av视频在线观看入口| 国产av麻豆久久久久久久| 我的女老师完整版在线观看| 成年av动漫网址| 日产精品乱码卡一卡2卡三| 国产淫片久久久久久久久| 三级男女做爰猛烈吃奶摸视频| 观看美女的网站| 看片在线看免费视频| 在线免费观看的www视频| 久久草成人影院| 国产爱豆传媒在线观看| 毛片女人毛片| 全区人妻精品视频| 亚洲高清免费不卡视频| 伊人久久精品亚洲午夜| 综合色丁香网| 精品久久久久久久人妻蜜臀av| 九九久久精品国产亚洲av麻豆| 日本黄色片子视频| 国产av在哪里看| 精品欧美国产一区二区三| 大香蕉久久网| 女人十人毛片免费观看3o分钟| 欧美日本视频| 国产一区二区在线av高清观看| 观看免费一级毛片| 国产精品一及| 欧美极品一区二区三区四区| 免费看a级黄色片| 久久精品夜色国产| 91午夜精品亚洲一区二区三区| 亚洲高清免费不卡视频| av福利片在线观看| 亚洲高清免费不卡视频| 色综合色国产| 嫩草影院入口| 久久久久久久久久久免费av| 天美传媒精品一区二区| 内射极品少妇av片p| 乱人视频在线观看| a级一级毛片免费在线观看| 亚洲av男天堂| 日韩欧美国产在线观看| 久久久久久久久久黄片| 国产在视频线在精品| 久久精品夜夜夜夜夜久久蜜豆| 蜜桃亚洲精品一区二区三区| 久久99蜜桃精品久久| 中文字幕精品亚洲无线码一区| 亚洲成人久久性| 中国美女看黄片| 日韩,欧美,国产一区二区三区 | 成人鲁丝片一二三区免费| 日韩av不卡免费在线播放| 国产人妻一区二区三区在| 国产一级毛片七仙女欲春2| 日本一二三区视频观看| 日本-黄色视频高清免费观看| 国模一区二区三区四区视频| 欧美最新免费一区二区三区| 一本久久精品| 免费观看在线日韩| 久久久国产成人免费| 国产精品久久久久久久电影| 国产亚洲av嫩草精品影院| 精品不卡国产一区二区三区| 禁无遮挡网站| 国产成人精品久久久久久| 一本久久精品| 国产极品精品免费视频能看的| 国产亚洲精品久久久com| 亚洲人成网站在线播放欧美日韩| 亚洲精品国产av成人精品| 在线观看66精品国产| 少妇猛男粗大的猛烈进出视频 | 国产片特级美女逼逼视频| 亚洲第一区二区三区不卡| 嫩草影院入口| 国产精品久久久久久久电影| 男人的好看免费观看在线视频| 你懂的网址亚洲精品在线观看 | 日本一本二区三区精品| 亚洲国产欧洲综合997久久,| 国产激情偷乱视频一区二区| 亚洲精品粉嫩美女一区| 国产在线男女| 免费大片18禁| 亚洲在久久综合| 日本免费a在线| 国产成人freesex在线| 校园人妻丝袜中文字幕| 九草在线视频观看| 中国美女看黄片| 亚洲av二区三区四区| 毛片一级片免费看久久久久| 熟女电影av网| 高清毛片免费观看视频网站| 久久精品91蜜桃| 99久久精品国产国产毛片| 欧美区成人在线视频| 一级毛片我不卡| 免费观看在线日韩| 午夜免费激情av| h日本视频在线播放| videossex国产| 女同久久另类99精品国产91| 最后的刺客免费高清国语| 女同久久另类99精品国产91| 亚洲欧美日韩高清专用| 亚洲精品日韩在线中文字幕 | 国产精品av视频在线免费观看| 亚洲精品乱码久久久v下载方式| 男人舔女人下体高潮全视频| 高清在线视频一区二区三区 | a级毛片a级免费在线| 天堂av国产一区二区熟女人妻| 国国产精品蜜臀av免费| 日日摸夜夜添夜夜添av毛片| 99在线人妻在线中文字幕| 日韩大尺度精品在线看网址| 国国产精品蜜臀av免费| 欧美日本视频| 国产黄色小视频在线观看| 岛国毛片在线播放| 六月丁香七月| 国产精品久久久久久久电影| 可以在线观看的亚洲视频| 中文字幕av成人在线电影| 久99久视频精品免费| 日本免费一区二区三区高清不卡| 麻豆精品久久久久久蜜桃| 91午夜精品亚洲一区二区三区| 亚洲人与动物交配视频| 成人三级黄色视频| 亚洲一区高清亚洲精品| 日韩中字成人| 国产色爽女视频免费观看| 黑人高潮一二区| 精品久久久噜噜| 色综合站精品国产| 尾随美女入室| 69人妻影院| 免费av不卡在线播放| 国产亚洲精品久久久com| 欧美精品一区二区大全| 欧美丝袜亚洲另类| 美女大奶头视频| 久久久国产成人精品二区| 久久精品夜夜夜夜夜久久蜜豆| 久久精品国产鲁丝片午夜精品| 日日撸夜夜添| 午夜精品一区二区三区免费看| a级毛片免费高清观看在线播放| 久久久欧美国产精品| 超碰av人人做人人爽久久| 国产白丝娇喘喷水9色精品| 亚洲婷婷狠狠爱综合网| 国产高潮美女av| 少妇熟女欧美另类| 欧美日本亚洲视频在线播放| 国产精品永久免费网站| 97超视频在线观看视频| 成人综合一区亚洲| 久久久精品欧美日韩精品| 伦精品一区二区三区| 性插视频无遮挡在线免费观看| 你懂的网址亚洲精品在线观看 | 免费av不卡在线播放| 综合色av麻豆| 成人高潮视频无遮挡免费网站| 六月丁香七月| 天堂中文最新版在线下载 | 欧美不卡视频在线免费观看| 春色校园在线视频观看| 国产精品久久久久久亚洲av鲁大| 久久精品久久久久久久性| 男人舔女人下体高潮全视频| 亚洲av成人精品一区久久| 国产黄a三级三级三级人| 尾随美女入室| 免费搜索国产男女视频| 在线观看免费视频日本深夜| 日韩 亚洲 欧美在线| 亚洲真实伦在线观看| 亚洲av电影不卡..在线观看| 深夜精品福利| 久久久欧美国产精品| 亚洲av第一区精品v没综合| 变态另类成人亚洲欧美熟女| 毛片女人毛片| 久久人人精品亚洲av| 如何舔出高潮| 丰满人妻一区二区三区视频av| 国产在线男女| а√天堂www在线а√下载| 精品不卡国产一区二区三区| 在线免费十八禁| 亚洲乱码一区二区免费版| 直男gayav资源| 国产精品人妻久久久影院| 国产精品不卡视频一区二区| 少妇裸体淫交视频免费看高清| 伦理电影大哥的女人| 久久国内精品自在自线图片| 男人舔奶头视频| 精品日产1卡2卡| 九九久久精品国产亚洲av麻豆| 联通29元200g的流量卡| 乱人视频在线观看| 国产精品一区二区在线观看99 | 亚州av有码| av在线老鸭窝| 深爱激情五月婷婷| 欧美+日韩+精品| 在线观看午夜福利视频| 中文字幕av成人在线电影| 久久精品久久久久久久性| 免费观看a级毛片全部| 性欧美人与动物交配| 久久精品人妻少妇| 午夜激情欧美在线| 悠悠久久av| 国产淫片久久久久久久久| 不卡一级毛片| 日本一二三区视频观看| 国产午夜福利久久久久久| 69人妻影院| 久久精品国产亚洲av涩爱 | 亚洲不卡免费看| 五月伊人婷婷丁香| 欧美3d第一页| 波多野结衣高清无吗| 午夜激情欧美在线| 亚洲激情五月婷婷啪啪| 亚洲欧美中文字幕日韩二区| 日本黄大片高清| 国产亚洲av嫩草精品影院| 我的老师免费观看完整版| 国产亚洲精品久久久com| 精品不卡国产一区二区三区| 免费搜索国产男女视频| 成人高潮视频无遮挡免费网站| 校园人妻丝袜中文字幕| 日韩,欧美,国产一区二区三区 | 日本一二三区视频观看| 日本-黄色视频高清免费观看| 欧美色视频一区免费| 久久久久久九九精品二区国产| 三级毛片av免费| 午夜福利在线在线| 久久久久性生活片| 欧美日本亚洲视频在线播放| 国产91av在线免费观看| 久久人人爽人人爽人人片va| 国产精品一区二区三区四区免费观看| 国产淫片久久久久久久久| 国产不卡一卡二| 成人一区二区视频在线观看| 日韩av在线大香蕉| 欧美一区二区精品小视频在线| 国产精品久久电影中文字幕| 国产视频首页在线观看| av福利片在线观看| 99热这里只有是精品在线观看| 久久精品国产清高在天天线| 日韩成人伦理影院| 亚洲欧美清纯卡通| 亚洲成人中文字幕在线播放| 国产又黄又爽又无遮挡在线| 日韩成人av中文字幕在线观看| 天堂中文最新版在线下载 | 中文亚洲av片在线观看爽| 1024手机看黄色片| 不卡一级毛片| 国产成人影院久久av| 网址你懂的国产日韩在线| 日日干狠狠操夜夜爽| 大香蕉久久网| 性色avwww在线观看| 亚洲经典国产精华液单| 亚洲va在线va天堂va国产| 寂寞人妻少妇视频99o| 成人性生交大片免费视频hd| 中文欧美无线码| 日韩 亚洲 欧美在线| 亚洲欧美精品专区久久| 亚洲精品乱码久久久v下载方式| 亚州av有码| 日本一本二区三区精品| 久久精品影院6| 色5月婷婷丁香| 嫩草影院入口| 国产精品久久久久久久电影| 91久久精品国产一区二区成人| 99视频精品全部免费 在线| 老司机影院成人| 91午夜精品亚洲一区二区三区| 麻豆av噜噜一区二区三区| 日韩欧美一区二区三区在线观看| 国产又黄又爽又无遮挡在线| 久久人人爽人人爽人人片va| 欧美高清成人免费视频www| 男女视频在线观看网站免费| 在线观看免费视频日本深夜| 国产亚洲精品久久久com| 国产亚洲精品久久久久久毛片| 日韩欧美精品免费久久| 亚洲欧美精品自产自拍| 毛片女人毛片| av在线蜜桃| 国产黄色视频一区二区在线观看 | 亚洲欧美精品自产自拍| 中文字幕精品亚洲无线码一区| 亚洲成人精品中文字幕电影| 亚洲人成网站在线播| 亚州av有码| 中文字幕av在线有码专区| 中国国产av一级| 成人高潮视频无遮挡免费网站| 亚洲五月天丁香|