diff options
Diffstat (limited to 'docs')
10 files changed, 198 insertions, 124 deletions
diff --git a/docs/configguide/vTC/README.rst b/docs/configguide/vTC/README.rst deleted file mode 100644 index ae6fefa59..000000000 --- a/docs/configguide/vTC/README.rst +++ /dev/null @@ -1,87 +0,0 @@ -========================== -Virtual Traffic Classifier -========================== - -Overview -======== - -The virtual Traffic Classifier VNF [1], comprises in the current version of -1 VNFC [2]. The VNFC contains both the Traffic Inspection module, and the -Traffic forwarding module, needed to run the VNF. The exploitation of DPI -methods for traffic classification is built around two basic assumptions: - -(i) third parties unaffiliated with either source or recipient are able to -inspect each IP packet’s payload and -(ii) the classifier knows the relevant syntax of each application’s packet -payloads (protocol signatures, data patterns, etc.). - -The proposed DPI based approach will only use an indicative, small number of -the initial packets from each flow in order to identify the content and not -inspect each packet. - -In this respect it follows the Packet Based per Flow State (PBFS). -This method uses a table to track each session based on the 5-tuples -(src address,dest address,src port,dest port,transport protocol) -that is maintained for each flow. - -Concepts -======== - -Traffic Inspection: The process of packet analysis and application -identification of network traffic that passes through the vTC. - -Traffic Forwarding: The process of packet forwarding from an incoming -network interface to a pre-defined outgoing network interface. - -Traffic Rule Application: The process of packet tagging, based on a -predefined set of rules. Packet tagging may include e.g. ToS field -modification. - -Architecture -============ - -The Traffic Inspection module is the most computationally intensive component -of the VNF. It implements filtering and packet matching algorithms in order to -support the enhanced traffic forwarding capability of the VNF. The component -supports a flow table (exploiting hashing algorithms for fast indexing of -flows) and an inspection engine for traffic classification. - -The implementation used for these experiments exploits the nDPI library. -The packet capturing mechanism is implemented using libpcap. When the DPI -engine identifies a new flow, the flow register is updated with the -appropriate information and transmitted across the Traffic Forwarding module, -which then applies any required policy updates. - -The Traffic Forwarding moudle is responsible for routing and packet forwarding. -It accepts incoming network traffic, consults the flow table for classification -information for each incoming flow and then applies pre-defined policies -marking e.g. type of Service/Differentiated Services Code Point (TOS/DSCP) -multimedia traffic for QoS enablement on the forwarded traffic. -It is assumed that the traffic is forwarded using the default policy until it -is identified and new policies are enforced. - -The expected response delay is considered to be negligible,as only a small -number of packets are required to identify each flow. - -Graphical Overview -================== - -Install -======= - -run the build.sh with root privileges - -Run -=== - -sudo ./pfbridge -a eth1 -b eth2 - -Custom Image -============ - -TBD - -Development Environment -======================= - -Ubuntu 14.04 >= VM diff --git a/docs/configguide/vTC/abbreviations.rst b/docs/configguide/vTC/abbreviations.rst deleted file mode 100644 index a713ee66b..000000000 --- a/docs/configguide/vTC/abbreviations.rst +++ /dev/null @@ -1,5 +0,0 @@ -Abbreviations for the virtual Traffic Classifier -================================================ - -[1] VNF - Virtual Network Function -[2] VNFC - Virtual Network Function Component diff --git a/docs/configguide/yardstick_testcases/03-list-of-tcs.rst b/docs/configguide/yardstick_testcases/03-list-of-tcs.rst index 99be668b8..f72d80b75 100644 --- a/docs/configguide/yardstick_testcases/03-list-of-tcs.rst +++ b/docs/configguide/yardstick_testcases/03-list-of-tcs.rst @@ -12,7 +12,8 @@ Yardstick test cases are divided in two main categories: described in :doc:`02-methodology` * *OPNFV Feature Test Cases* - Test Cases developed to verify one or more -aspect of a feature delivered by an OPNFV Project. +aspect of a feature delivered by an OPNFV Project, including the test cases +developed for the :term:`VTC`. Generic NFVI Test Case Descriptions =================================== @@ -28,15 +29,38 @@ Generic NFVI Test Case Descriptions opnfv_yardstick_tc010.rst opnfv_yardstick_tc012.rst opnfv_yardstick_tc014.rst - opnfv_yardstick_tc027.rst opnfv_yardstick_tc037.rst opnfv_yardstick_tc038.rst - opnfv_yardstick_tc040.rst OPNFV Feature Test Cases ======================== +IPv6 +---- + +.. toctree:: + :maxdepth: 1 + + opnfv_yardstick_tc027.rst + +Parser +------ + +.. toctree:: + :maxdepth: 1 + + opnfv_yardstick_tc040.rst + +virtual Traffic Classifier +-------------------------- + +.. toctree:: + :maxdepth: 1 + opnfv_yardstick_tc006.rst + opnfv_yardstick_tc007.rst + opnfv_yardstick_tc020.rst + opnfv_yardstick_tc021.rst Templates ========= diff --git a/docs/configguide/yardstick_testcases/04-vtc-overview.rst b/docs/configguide/yardstick_testcases/04-vtc-overview.rst new file mode 100644 index 000000000..95159a9bc --- /dev/null +++ b/docs/configguide/yardstick_testcases/04-vtc-overview.rst @@ -0,0 +1,114 @@ +========================== +Virtual Traffic Classifier +========================== + +Abstract +======== + +.. _TNOVA: http://www.t-nova.eu/ +.. _TNOVAresults: http://www.t-nova.eu/results/ +.. _Yardstick: https://wiki.opnfv.org/yardstick + +This chapter provides an overview of the virtual Traffic Classifier, a +contribution to OPNFV Yardstick_ from the EU Project TNOVA_. +Additional documentation is available in TNOVAresults_. + +Overview +======== + +The virtual Traffic Classifier :term:`VNF`, the :term:`VTC`, comprises of a +:term:`VNFC`. The :term:`VNFC` contains both the Traffic Inspection module, and +the Traffic forwarding module, needed to run the VNF. The exploitation of +:term:`DPI` methods for traffic classification is built around two basic +assumptions: + +* third parties unaffiliated with either source or recipient are able to +inspect each IP packet’s payload + +* the classifier knows the relevant syntax of each application’s packet +payloads (protocol signatures, data patterns, etc.). + +The proposed :term:`DPI` based approach will only use an indicative, small +number of the initial packets from each flow in order to identify the content +and not inspect each packet. + +In this respect it follows the :term:`PBFS`. This method uses a table to track +each session based on the 5-tuples (src address, dest address, src port,dest +port, transport protocol) that is maintained for each flow. + +Concepts +======== + +* *Traffic Inspection*: The process of packet analysis and application +identification of network traffic that passes through the :term:`VTC`. + +* *Traffic Forwarding*: The process of packet forwarding from an incoming +network interface to a pre-defined outgoing network interface. + +* *Traffic Rule Application*: The process of packet tagging, based on a +predefined set of rules. Packet tagging may include e.g. :term:`ToS` field +modification. + +Architecture +============ + +The Traffic Inspection module is the most computationally intensive component +of the :term:`VNF`. It implements filtering and packet matching algorithms in +order to support the enhanced traffic forwarding capability of the :term:`VNF`. +The component supports a flow table (exploiting hashing algorithms for fast +indexing of flows) and an inspection engine for traffic classification. + +The implementation used for these experiments exploits the nDPI library. +The packet capturing mechanism is implemented using libpcap. When the +:term:`DPI` engine identifies a new flow, the flow register is updated with the +appropriate information and transmitted across the Traffic Forwarding module, +which then applies any required policy updates. + +The Traffic Forwarding moudle is responsible for routing and packet forwarding. +It accepts incoming network traffic, consults the flow table for classification +information for each incoming flow and then applies pre-defined policies +marking e.g. :term:`ToS`/:term:`DSCP` multimedia traffic for :term:`QoS` +enablement on the forwarded traffic. +It is assumed that the traffic is forwarded using the default policy until it +is identified and new policies are enforced. + +The expected response delay is considered to be negligible, as only a small +number of packets are required to identify each flow. + +Graphical Overview +================== + +.. code-block:: console + + +----------------------------+ + | | + | Virtual Traffic Classifier | + | | + | Analysing/Forwarding | + | ------------> | + | ethA ethB | + | | + +----------------------------+ + | ^ + | | + v | + +----------------------------+ + | | + | Virtual Switch | + | | + +----------------------------+ + +Install +======= + +run the build.sh with root privileges + +Run +=== + +sudo ./pfbridge -a eth1 -b eth2 + +Development Environment +======================= + +Ubuntu 14.04 diff --git a/docs/configguide/yardstick_testcases/glossary.rst b/docs/configguide/yardstick_testcases/glossary.rst index 67e126f58..8ce9a6ba0 100644 --- a/docs/configguide/yardstick_testcases/glossary.rst +++ b/docs/configguide/yardstick_testcases/glossary.rst @@ -5,11 +5,29 @@ Yardstick Glossary .. glossary:: :sorted: + DPI + Deep Packet Inspection + + DSCP + Differentiated Services Code Point + + PBFS + Packet Based per Flow State + + QoS + Quality of Service + VNF Virtual Network Function + VNFC + Virtual Network Function Component + NFVI Network Function Virtualization Infrastructure + ToS + Type of Service + VTC Virtual Traffic Classifier diff --git a/docs/configguide/yardstick_testcases/index.rst b/docs/configguide/yardstick_testcases/index.rst index ccea55ccb..55d4ea3e1 100644 --- a/docs/configguide/yardstick_testcases/index.rst +++ b/docs/configguide/yardstick_testcases/index.rst @@ -7,5 +7,6 @@ Yardstick Overview 01-introduction 02-methodology + 04-vtc-overview 03-list-of-tcs glossary diff --git a/docs/configguide/yardstick_testcases/opnfv_yardstick_tc006.rst b/docs/configguide/yardstick_testcases/opnfv_yardstick_tc006.rst index b9fbf016e..b68315078 100644 --- a/docs/configguide/yardstick_testcases/opnfv_yardstick_tc006.rst +++ b/docs/configguide/yardstick_testcases/opnfv_yardstick_tc006.rst @@ -1,13 +1,14 @@ -.. _DPDKpktgen: https://github.com/Pktgen/Pktgen-DPDK/ -.. _rfc2544: https://www.ietf.org/rfc/rfc2544.txt - - ************************************* Yardstick Test Case Description TC006 ************************************* + +.. _DPDKpktgen: https://github.com/Pktgen/Pktgen-DPDK/ +.. _rfc2544: https://www.ietf.org/rfc/rfc2544.txt + +-----------------------------------------------------------------------------+ |Network Performance | -+==============+==============================================================+ +| | ++--------------+--------------------------------------------------------------+ |test case id | OPNFV_YARDSTICK_TC006_Virtual Traffic Classifier Data Plane | | | Throughput Benchmarking Test. | | | | @@ -74,7 +75,9 @@ Yardstick Test Case Description TC006 | | | +--------------+--------------------------------------------------------------+ |references | DPDK Pktgen: DPDKpktgen_ | +| | | | | ETSI-NFV-TST001 | +| | | | | RFC 2544: rfc2544_ | | | | +--------------+--------------------------------------------------------------+ @@ -99,10 +102,10 @@ Yardstick Test Case Description TC006 | | (For further instructions please refer to the ApexLake | | | documentation). | | | | -+-----------------------------------------------------------------------------+ ++--------------+--------------------------------------------------------------+ |test sequence | Description and expected results | | | | -+-----------------------------------------------------------------------------+ ++--------------+--------------------------------------------------------------+ |step 1 | The vTC is deployed, according to the user-defined | | | configuration | | | | diff --git a/docs/configguide/yardstick_testcases/opnfv_yardstick_tc007.rst b/docs/configguide/yardstick_testcases/opnfv_yardstick_tc007.rst index ec372c232..a7a4776d5 100644 --- a/docs/configguide/yardstick_testcases/opnfv_yardstick_tc007.rst +++ b/docs/configguide/yardstick_testcases/opnfv_yardstick_tc007.rst @@ -1,15 +1,14 @@ -.. image:: ../../etc/opnfv-logo.png - :height: 40 - :width: 200 - :alt: OPNFV - :align: left - ************************************* Yardstick Test Case Description TC007 ************************************* + +.. _DPDKpktgen: https://github.com/Pktgen/Pktgen-DPDK/ +.. _rfc2544: https://www.ietf.org/rfc/rfc2544.txt + +-----------------------------------------------------------------------------+ |Network Performance | -+==============+==============================================================+ +| | ++--------------+--------------------------------------------------------------+ |test case id | OPNFV_YARDSTICK_TC007_Virtual Traffic Classifier Data Plane | | | Throughput Benchmarking Test in Presence of Noisy | | | neighbours | @@ -89,9 +88,11 @@ Yardstick Test Case Description TC007 | | hence it needs to be installed by the user. | | | | +--------------+--------------------------------------------------------------+ -|references | DPDK Pktgen: https://github.com/Pktgen/Pktgen-DPDK/ | +|references | DPDKpktgen_ | +| | | | | ETSI-NFV-TST001 | -| | RFC 2544 https://www.ietf.org/rfc/rfc2544.txt | +| | | +| | rfc2544_ | | | | +--------------+--------------------------------------------------------------+ |applicability | Test can be configured with different flavors, vNIC type | diff --git a/docs/configguide/yardstick_testcases/opnfv_yardstick_tc020.rst b/docs/configguide/yardstick_testcases/opnfv_yardstick_tc020.rst index cda5420b0..9a5130f71 100644 --- a/docs/configguide/yardstick_testcases/opnfv_yardstick_tc020.rst +++ b/docs/configguide/yardstick_testcases/opnfv_yardstick_tc020.rst @@ -1,15 +1,14 @@ -.. image:: ../../etc/opnfv-logo.png - :height: 40 - :width: 200 - :alt: OPNFV - :align: left - ************************************* Yardstick Test Case Description TC020 ************************************* + +.. _DPDKpktgen: https://github.com/Pktgen/Pktgen-DPDK/ +.. _rfc2544: https://www.ietf.org/rfc/rfc2544.txt + +-----------------------------------------------------------------------------+ |Network Performance | -+==============+==============================================================+ +| | ++--------------+--------------------------------------------------------------+ |test case id | OPNFV_YARDSTICK_TC0020_Virtual Traffic Classifier | | | Instantiation Test | | | | @@ -71,9 +70,11 @@ Yardstick Test Case Description TC020 | | hence it needs to be installed by the user. | | | | +--------------+--------------------------------------------------------------+ -|references | DPDK Pktgen: https://github.com/Pktgen/Pktgen-DPDK/ | +|references | DPDKpktgen_ | +| | | | | ETSI-NFV-TST001 | -| | RFC 2544 https://www.ietf.org/rfc/rfc2544.txt | +| | | +| | rfc2544_ | | | | +--------------+--------------------------------------------------------------+ |applicability | Test can be configured with different flavors, vNIC type | diff --git a/docs/configguide/yardstick_testcases/opnfv_yardstick_tc021.rst b/docs/configguide/yardstick_testcases/opnfv_yardstick_tc021.rst index 1094e4f29..a493ddfc0 100644 --- a/docs/configguide/yardstick_testcases/opnfv_yardstick_tc021.rst +++ b/docs/configguide/yardstick_testcases/opnfv_yardstick_tc021.rst @@ -1,12 +1,14 @@ -.. _DPDKpktgen: https://github.com/Pktgen/Pktgen-DPDK/ -.. _rfc2544: https://www.ietf.org/rfc/rfc2544.txt - ************************************* Yardstick Test Case Description TC021 ************************************* + +.. _DPDKpktgen: https://github.com/Pktgen/Pktgen-DPDK/ +.. _rfc2544: https://www.ietf.org/rfc/rfc2544.txt + +-----------------------------------------------------------------------------+ |Network Performance | -+==============+==============================================================+ +| | ++--------------+--------------------------------------------------------------+ |test case id | OPNFV_YARDSTICK_TC0021_Virtual Traffic Classifier | | | Instantiation Test in Presence of Noisy Neighbours | | | | @@ -83,7 +85,9 @@ Yardstick Test Case Description TC021 | | | +--------------+--------------------------------------------------------------+ |references | DPDK Pktgen: DPDK Pktgen: DPDKpktgen_ | +| | | | | ETSI-NFV-TST001 | +| | | | | RFC 2544: rfc2544_ | | | | +--------------+--------------------------------------------------------------+ |