• <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蜜桃av| √禁漫天堂资源中文www| 国产成人精品久久久久久| 久热爱精品视频在线9| 大片电影免费在线观看免费| 天天添夜夜摸| 欧美+亚洲+日韩+国产| 王馨瑶露胸无遮挡在线观看| 18禁黄网站禁片午夜丰满| 欧美激情极品国产一区二区三区| 免费看av在线观看网站| 久久青草综合色| 欧美日韩福利视频一区二区| 老汉色av国产亚洲站长工具| www.自偷自拍.com| 精品卡一卡二卡四卡免费| 一区二区av电影网| 成在线人永久免费视频| 男人舔女人的私密视频| 亚洲色图综合在线观看| av福利片在线| 人人妻人人澡人人爽人人夜夜| 国产日韩欧美亚洲二区| 日韩免费高清中文字幕av| 国产精品一区二区在线不卡| 高清av免费在线| 日本av免费视频播放| 中文字幕另类日韩欧美亚洲嫩草| 高清视频免费观看一区二区| 青春草视频在线免费观看| 国产视频一区二区在线看| 热re99久久国产66热| 国产人伦9x9x在线观看| 日韩伦理黄色片| 大型av网站在线播放| 欧美人与善性xxx| 少妇精品久久久久久久| 国产黄色视频一区二区在线观看| 午夜福利视频精品| 亚洲欧美一区二区三区国产| 在线观看免费午夜福利视频| 国产高清不卡午夜福利| 欧美av亚洲av综合av国产av| 免费日韩欧美在线观看| 久久精品久久精品一区二区三区| 中文字幕色久视频| 亚洲美女黄色视频免费看| 99精国产麻豆久久婷婷| 国产精品久久久人人做人人爽| 超碰97精品在线观看| 99国产精品一区二区三区| 黑人欧美特级aaaaaa片| bbb黄色大片| cao死你这个sao货| 国产欧美日韩精品亚洲av| 在线观看一区二区三区激情| 国产精品免费视频内射| 久久99热这里只频精品6学生| 少妇的丰满在线观看| 汤姆久久久久久久影院中文字幕| 久久久久精品人妻al黑| 18禁观看日本| 亚洲午夜精品一区,二区,三区| 国产精品一区二区免费欧美 | 男人舔女人的私密视频| 亚洲自偷自拍图片 自拍| 国产av国产精品国产| 自拍欧美九色日韩亚洲蝌蚪91| 在线观看免费午夜福利视频| 色94色欧美一区二区| 丁香六月天网| 国产精品99久久99久久久不卡| 久久久久久久久免费视频了| 国产97色在线日韩免费| 色精品久久人妻99蜜桃| 亚洲中文av在线| 亚洲第一av免费看| 精品人妻1区二区| 黄色视频在线播放观看不卡| 国产av国产精品国产| 性少妇av在线| 十八禁人妻一区二区| 男女下面插进去视频免费观看| 色94色欧美一区二区| 一区福利在线观看| 亚洲精品一区蜜桃| 国产一区有黄有色的免费视频| 99久久人妻综合| 久久久精品区二区三区| 亚洲五月色婷婷综合| 免费在线观看视频国产中文字幕亚洲 | 国产爽快片一区二区三区| 久热爱精品视频在线9| 国产在视频线精品| 亚洲欧美日韩高清在线视频 | 色婷婷久久久亚洲欧美| 伦理电影免费视频| 高清av免费在线| 老司机午夜十八禁免费视频| a级毛片在线看网站| 成人亚洲欧美一区二区av| 国产伦理片在线播放av一区| 精品视频人人做人人爽| 在线观看人妻少妇| 亚洲av综合色区一区| 欧美精品亚洲一区二区| netflix在线观看网站| 青青草视频在线视频观看| 国产男女内射视频| 亚洲国产av新网站| 青草久久国产| 国产精品 国内视频| 国产亚洲精品久久久久5区| 一二三四社区在线视频社区8| 在线精品无人区一区二区三| 熟女av电影| 乱人伦中国视频| 在线观看www视频免费| 人妻人人澡人人爽人人| 国产av国产精品国产| 欧美大码av| 亚洲欧洲日产国产| bbb黄色大片| 国产熟女午夜一区二区三区| 精品福利永久在线观看| 丝袜人妻中文字幕| 亚洲av欧美aⅴ国产| 午夜老司机福利片| 国产熟女午夜一区二区三区| 日韩av不卡免费在线播放| 性色av乱码一区二区三区2| 亚洲中文av在线| 十八禁网站网址无遮挡| www.999成人在线观看| www.999成人在线观看| 看免费成人av毛片| 1024香蕉在线观看| 国产真人三级小视频在线观看| 久久久国产欧美日韩av| 欧美成人精品欧美一级黄| 狂野欧美激情性bbbbbb| 欧美精品啪啪一区二区三区 | 男女下面插进去视频免费观看| 久久中文字幕一级| 人人妻人人澡人人爽人人夜夜| 十八禁网站网址无遮挡| 国产一卡二卡三卡精品| av视频免费观看在线观看| 日韩视频在线欧美| 日本91视频免费播放| 亚洲av成人不卡在线观看播放网 | 久久午夜综合久久蜜桃| 国产国语露脸激情在线看| 十八禁人妻一区二区| 丝袜人妻中文字幕| 大话2 男鬼变身卡| 成人亚洲欧美一区二区av| 肉色欧美久久久久久久蜜桃| 日韩av不卡免费在线播放| 亚洲美女黄色视频免费看| 天天躁夜夜躁狠狠久久av| 啦啦啦 在线观看视频| 精品国产一区二区三区四区第35| 国产精品一二三区在线看| 亚洲欧美激情在线| 真人做人爱边吃奶动态| 日本av手机在线免费观看| 久久人人爽av亚洲精品天堂| 亚洲av电影在线观看一区二区三区| 欧美精品av麻豆av| 精品一区在线观看国产| 一边亲一边摸免费视频| 久久这里只有精品19| 香蕉国产在线看| 一区二区三区精品91| 在线观看免费日韩欧美大片| 日韩大码丰满熟妇| 久久天躁狠狠躁夜夜2o2o | 久久热在线av| 搡老乐熟女国产| 久久午夜综合久久蜜桃| 免费av中文字幕在线| 亚洲国产欧美在线一区| 最新在线观看一区二区三区 | √禁漫天堂资源中文www| 女人精品久久久久毛片| 国产麻豆69| 亚洲av男天堂| 国产一区亚洲一区在线观看| 高清av免费在线| 国产成人91sexporn| 欧美日韩福利视频一区二区| 久久精品久久久久久噜噜老黄| 精品国产乱码久久久久久男人| 国产伦人伦偷精品视频| 人体艺术视频欧美日本| 女人久久www免费人成看片| 国产不卡av网站在线观看| 男人添女人高潮全过程视频| 日本五十路高清| 精品国产超薄肉色丝袜足j| 亚洲熟女毛片儿| 激情视频va一区二区三区| 悠悠久久av| 精品一品国产午夜福利视频| 午夜福利在线免费观看网站| 色94色欧美一区二区| 欧美老熟妇乱子伦牲交| 欧美变态另类bdsm刘玥| 一区福利在线观看| 亚洲人成网站在线观看播放| 日韩 欧美 亚洲 中文字幕| 日本五十路高清| 天天躁狠狠躁夜夜躁狠狠躁| 青春草视频在线免费观看| 国产淫语在线视频| av视频免费观看在线观看| 国产一区有黄有色的免费视频| 国产av一区二区精品久久| 亚洲成人国产一区在线观看 | 在线观看免费日韩欧美大片| 麻豆国产av国片精品| 别揉我奶头~嗯~啊~动态视频 | 精品久久久久久久毛片微露脸 | 亚洲精品第二区| 欧美人与性动交α欧美软件| 精品一区二区三区四区五区乱码 | 中文字幕另类日韩欧美亚洲嫩草| 中文字幕人妻丝袜制服| 国产成人精品无人区| 纵有疾风起免费观看全集完整版| 狠狠婷婷综合久久久久久88av| 久久中文字幕一级| 51午夜福利影视在线观看| 最近中文字幕2019免费版| 最近中文字幕2019免费版| 亚洲七黄色美女视频| 18在线观看网站| 亚洲一卡2卡3卡4卡5卡精品中文| 女警被强在线播放| 亚洲伊人久久精品综合| 大码成人一级视频| 男女高潮啪啪啪动态图| 亚洲av电影在线观看一区二区三区| 久久午夜综合久久蜜桃| 午夜免费鲁丝| 亚洲国产欧美网| 久久精品久久久久久噜噜老黄| 男女边摸边吃奶| 久久精品亚洲av国产电影网| 亚洲欧美成人综合另类久久久| 七月丁香在线播放| 久久久精品94久久精品| 黄片播放在线免费| 高潮久久久久久久久久久不卡| 久久人人爽av亚洲精品天堂| 丁香六月欧美| 久久精品亚洲熟妇少妇任你| 秋霞在线观看毛片| 亚洲精品国产av蜜桃| 精品亚洲成a人片在线观看| 日韩电影二区| 免费看不卡的av| 宅男免费午夜| av有码第一页| 免费观看人在逋| 亚洲激情五月婷婷啪啪| 国产熟女午夜一区二区三区| 日本wwww免费看| 亚洲精品乱久久久久久| 亚洲精品国产一区二区精华液| 国产高清国产精品国产三级| 久久99热这里只频精品6学生| 亚洲色图综合在线观看| 婷婷色综合www| 国产视频一区二区在线看| 午夜视频精品福利| 国产一区有黄有色的免费视频| 欧美老熟妇乱子伦牲交| 夫妻性生交免费视频一级片| 一级,二级,三级黄色视频| 亚洲欧洲国产日韩| 成年女人毛片免费观看观看9 | 宅男免费午夜| 女性生殖器流出的白浆| 永久免费av网站大全| a级毛片在线看网站| 国产欧美日韩综合在线一区二区| 国产97色在线日韩免费| 国产片内射在线| 一级毛片女人18水好多 | 丝袜喷水一区| 欧美97在线视频| 亚洲精品美女久久av网站| 免费女性裸体啪啪无遮挡网站| 又大又爽又粗| 日韩伦理黄色片| 婷婷丁香在线五月| 久久青草综合色| 午夜激情av网站| 久久精品熟女亚洲av麻豆精品| 狠狠婷婷综合久久久久久88av| 91国产中文字幕| 成人国产av品久久久| 精品久久久精品久久久| 亚洲专区国产一区二区| av线在线观看网站| 日韩欧美一区视频在线观看| 国产精品九九99| 视频在线观看一区二区三区| 成人影院久久| 蜜桃国产av成人99| 久久精品人人爽人人爽视色| 操美女的视频在线观看| 大片电影免费在线观看免费| 亚洲,一卡二卡三卡| 曰老女人黄片| 久久人人97超碰香蕉20202| 成人午夜精彩视频在线观看| 亚洲人成77777在线视频| 免费高清在线观看视频在线观看| 18禁裸乳无遮挡动漫免费视频| 天堂8中文在线网| 欧美性长视频在线观看| 中文字幕制服av| 考比视频在线观看| 肉色欧美久久久久久久蜜桃| 欧美精品一区二区免费开放| 国产精品 国内视频| 欧美日韩福利视频一区二区| 久久性视频一级片| 国产精品亚洲av一区麻豆| 久久国产亚洲av麻豆专区| 欧美成人午夜精品| 欧美黑人精品巨大| 午夜福利在线免费观看网站| 青草久久国产| 国产视频首页在线观看| 久久精品国产综合久久久| 亚洲三区欧美一区| 国产精品久久久av美女十八| 欧美黄色片欧美黄色片| 亚洲欧美一区二区三区黑人| 免费在线观看黄色视频的| 男女高潮啪啪啪动态图| 国产精品久久久久成人av| 少妇粗大呻吟视频| 久热这里只有精品99| 国产精品一区二区在线观看99| 91国产中文字幕| 一边亲一边摸免费视频| 91九色精品人成在线观看| 999精品在线视频| 精品人妻在线不人妻| 国产有黄有色有爽视频| 欧美日韩福利视频一区二区| 成人18禁高潮啪啪吃奶动态图| 久久久久网色| 精品人妻一区二区三区麻豆| 久久久久精品人妻al黑| 免费看十八禁软件| 爱豆传媒免费全集在线观看| 男男h啪啪无遮挡| 婷婷成人精品国产| 精品人妻在线不人妻| 黄频高清免费视频| 国产成人一区二区三区免费视频网站 | 亚洲九九香蕉| 亚洲熟女精品中文字幕| 久久国产精品人妻蜜桃| 久久久久网色| 无遮挡黄片免费观看| 亚洲av日韩精品久久久久久密 | 又大又黄又爽视频免费| 久久久久精品国产欧美久久久 | 国产一区二区三区av在线| 久久ye,这里只有精品| 老司机在亚洲福利影院| 免费少妇av软件| 国产免费福利视频在线观看| 一级毛片 在线播放| 91精品伊人久久大香线蕉| 老司机靠b影院| 黄色一级大片看看| 一区二区av电影网| 黄色a级毛片大全视频| 亚洲精品中文字幕在线视频| 国产精品二区激情视频| 制服诱惑二区| 日日夜夜操网爽| 国产成人欧美| 大香蕉久久网| 精品久久蜜臀av无| 丰满饥渴人妻一区二区三| 精品国产乱码久久久久久男人| 欧美久久黑人一区二区| 欧美亚洲日本最大视频资源| 看免费成人av毛片| 国产欧美日韩综合在线一区二区| 国产成人免费无遮挡视频| 狠狠精品人妻久久久久久综合| 久久鲁丝午夜福利片| 18禁黄网站禁片午夜丰满| 中文字幕高清在线视频| 精品亚洲成国产av| 国产免费福利视频在线观看| 国产亚洲欧美精品永久| 老司机在亚洲福利影院| 热99久久久久精品小说推荐| 国产精品偷伦视频观看了| 免费在线观看日本一区| 纯流量卡能插随身wifi吗| 女人久久www免费人成看片| 久久这里只有精品19| 我要看黄色一级片免费的| 日韩视频在线欧美| 国产精品久久久久久人妻精品电影 | 欧美精品av麻豆av| av天堂在线播放| 国产亚洲精品久久久久5区| 久久久国产一区二区| 曰老女人黄片| 精品一品国产午夜福利视频| 欧美在线一区亚洲| 在线av久久热| 精品国产国语对白av| 另类精品久久| 人妻 亚洲 视频| 国产免费又黄又爽又色| 美女脱内裤让男人舔精品视频| 国产成人免费观看mmmm| 国产成人av激情在线播放| 欧美变态另类bdsm刘玥| 欧美日韩亚洲综合一区二区三区_| 亚洲免费av在线视频| 成人18禁高潮啪啪吃奶动态图| 国产精品熟女久久久久浪| videos熟女内射| 性高湖久久久久久久久免费观看| 国产成人91sexporn| 一区二区三区四区激情视频| 一边摸一边做爽爽视频免费| 99国产精品免费福利视频| 欧美精品人与动牲交sv欧美| 日韩一卡2卡3卡4卡2021年| 高清欧美精品videossex| www.自偷自拍.com| 国产精品av久久久久免费| 欧美日韩视频精品一区| 一级毛片电影观看| 久久久精品区二区三区| 人妻 亚洲 视频| 久久中文字幕一级| 熟女少妇亚洲综合色aaa.| 一本综合久久免费| 国产精品香港三级国产av潘金莲 | 满18在线观看网站| av一本久久久久| 欧美国产精品va在线观看不卡| 中文字幕最新亚洲高清| 王馨瑶露胸无遮挡在线观看| 久久久久久久大尺度免费视频| 午夜免费男女啪啪视频观看| 嫁个100分男人电影在线观看 | 欧美日韩精品网址| 丝袜喷水一区| 女性生殖器流出的白浆| 一本—道久久a久久精品蜜桃钙片| 男男h啪啪无遮挡| 国产精品一区二区在线不卡| 中文乱码字字幕精品一区二区三区| 考比视频在线观看| 大话2 男鬼变身卡| 一本色道久久久久久精品综合| 老司机影院成人| 欧美精品高潮呻吟av久久| 日韩av不卡免费在线播放| 国产男女内射视频| 蜜桃国产av成人99| 久久女婷五月综合色啪小说| 50天的宝宝边吃奶边哭怎么回事| av天堂在线播放| 一级片免费观看大全| 美女扒开内裤让男人捅视频| 亚洲精品av麻豆狂野| 国产日韩欧美在线精品| 高清黄色对白视频在线免费看| 久久热在线av| 久久久久久免费高清国产稀缺| 少妇裸体淫交视频免费看高清 | 精品人妻一区二区三区麻豆| 国产有黄有色有爽视频| 看免费av毛片| 亚洲av成人不卡在线观看播放网 | 亚洲国产欧美日韩在线播放| 国产精品久久久久久人妻精品电影 | 熟女少妇亚洲综合色aaa.| 在线观看人妻少妇| 91国产中文字幕| 欧美成人精品欧美一级黄| 亚洲人成电影观看| netflix在线观看网站| 五月开心婷婷网| 久久久国产一区二区| 国产精品久久久av美女十八| 久久性视频一级片| 亚洲欧美日韩另类电影网站| 久久精品国产亚洲av涩爱| 亚洲国产精品一区三区| 精品亚洲成国产av| 性少妇av在线| a 毛片基地| 亚洲黑人精品在线| 男人爽女人下面视频在线观看| 国产在线视频一区二区| 我的亚洲天堂| 人妻 亚洲 视频| 国产精品三级大全| 国产爽快片一区二区三区| 欧美日韩一级在线毛片| 欧美 亚洲 国产 日韩一| 中文字幕另类日韩欧美亚洲嫩草| netflix在线观看网站| 亚洲第一青青草原| 在线观看国产h片| 久久久久久久国产电影| 在线精品无人区一区二区三| 操出白浆在线播放| 午夜激情av网站| 这个男人来自地球电影免费观看| 狂野欧美激情性bbbbbb| 国产av精品麻豆| 高清欧美精品videossex| 久久精品人人爽人人爽视色| 亚洲专区国产一区二区| 日韩一卡2卡3卡4卡2021年| 精品亚洲成国产av| 在线av久久热| 精品视频人人做人人爽| 国产亚洲欧美精品永久| av视频免费观看在线观看| 久久性视频一级片| 国产一级毛片在线| 熟女少妇亚洲综合色aaa.| 国产在线免费精品| 高清不卡的av网站| a级毛片在线看网站| 久久人人97超碰香蕉20202| 免费观看a级毛片全部| 青春草视频在线免费观看| 啦啦啦中文免费视频观看日本| 99re6热这里在线精品视频| 国产精品熟女久久久久浪| 日本午夜av视频| 亚洲精品国产区一区二| av又黄又爽大尺度在线免费看| 捣出白浆h1v1| 国精品久久久久久国模美| 母亲3免费完整高清在线观看| 韩国精品一区二区三区| bbb黄色大片| 另类亚洲欧美激情| 欧美少妇被猛烈插入视频| 久久国产精品大桥未久av| 亚洲欧美激情在线| 又大又爽又粗| 亚洲国产毛片av蜜桃av| 狠狠精品人妻久久久久久综合| 99香蕉大伊视频| 久热这里只有精品99| 好男人视频免费观看在线| 少妇裸体淫交视频免费看高清 | 免费在线观看完整版高清| 中国国产av一级| 精品人妻一区二区三区麻豆| 在线av久久热| 亚洲 国产 在线| 日韩一卡2卡3卡4卡2021年| 麻豆乱淫一区二区| 亚洲人成电影观看| 丰满少妇做爰视频| 香蕉丝袜av| 国产高清国产精品国产三级| 久久久精品免费免费高清| 亚洲熟女精品中文字幕| 国产亚洲av高清不卡| 久久精品人人爽人人爽视色| 高潮久久久久久久久久久不卡| 国产真人三级小视频在线观看| 国产成人啪精品午夜网站| 欧美黑人精品巨大| 在线av久久热| 日韩 欧美 亚洲 中文字幕| 欧美日韩视频精品一区| 三上悠亚av全集在线观看| 午夜老司机福利片| 欧美亚洲日本最大视频资源| 免费人妻精品一区二区三区视频| 五月天丁香电影| 日本a在线网址| av国产精品久久久久影院| 黄色一级大片看看| 一本—道久久a久久精品蜜桃钙片| 亚洲精品国产区一区二| 精品福利永久在线观看| 99久久综合免费| 十八禁网站网址无遮挡| 91精品伊人久久大香线蕉| h视频一区二区三区| 国产一区二区 视频在线| 大香蕉久久网| 99国产精品99久久久久| 大型av网站在线播放| 一区二区三区激情视频|