From e8ad8c59e4390aff768631d37267b5683a854924 Mon Sep 17 00:00:00 2001 From: milexm Date: Thu, 18 Nov 2021 08:48:25 -0800 Subject: [PATCH 1/3] Fixed image, title and content --- documents/SDN-Features-Packet-Transforms.md | 28 +++++++++++++++----- media/dash-visio.vsdx | Bin 0 -> 41334 bytes media/sdn/high-cps-flow-sku-for-nva.png | Bin 0 -> 35727 bytes 3 files changed, 22 insertions(+), 6 deletions(-) create mode 100644 media/dash-visio.vsdx create mode 100644 media/sdn/high-cps-flow-sku-for-nva.png diff --git a/documents/SDN-Features-Packet-Transforms.md b/documents/SDN-Features-Packet-Transforms.md index 036963461..8ba9ef78a 100644 --- a/documents/SDN-Features-Packet-Transforms.md +++ b/documents/SDN-Features-Packet-Transforms.md @@ -1,20 +1,36 @@ -# SDN Features, Packet Transforms and Scale +--- +title: SDN Features Packet Transforms Scale +description: Learn about highly optimized path, on dedicated appliance, with little processing or Encapsulation to SDN appliance and policies on an SDN appliance +keywords: +author: tbd +ms.author: tbd +manager: tbd +ms.topic: article +ms.service: dash +ms.date: 11/29/2021 +--- -## First Target Scenario: Highly Optimized Path, Dedicated Appliance, Little Processing or Encap to SDN Appliance and Policies on an SDN Appliance -Why do we need this scenario? There is a huge cost associated with establishing the first connection (and the CPS that can be established). +# SDN Features Packet Transforms Scale -- A high Connections per Second (CPS) / Flow SKU for Networked Virtual Appliances (NVA) +## First Target Scenario -![NVA](https://raw.githubusercontent.com/Azure/DASH/main/dash_images/image001_high_cps_flow_sku_for_nva.png) +Software Defined Networking (SDN) has a huge cost associated with establishing the first connection and the Connections per Second (CPS) that can be created. + +This scenario addresses the issue by providing a **highly optimized path**, **dedicated appliance**, **little processing** or encapsulation to SDN appliance and policies on an SDN aspliance. + +The following figure shows a high CPS/Flow SKU for **Networked Virtual Appliances** (NVA) + +![NVA](../media/sdn/high-cps-flow-sku-for-nva.png) ## Scale per DPU (Card) + **Note: Below are the expected numbers per Data Processing Unit (DPU); this applies to both IPV4 and IPV6 underlay and overlay* **IPV6 numbers will be lower* | Syntax | Description | | ----------- | ----------- | -| Flow Scale | • 1+ million flows per v-port (aka ENI) | +| Flow Scale | - 1+ million flows per v-port (aka ENI) - 50 million per DPU/Card| | | • 50 million per DPU/Card | | | o single encap IPv4 overlay and IPV6 underlay | | | o single encap IPv6 overlay and IPV6 underlay. (This can be lower) | diff --git a/media/dash-visio.vsdx b/media/dash-visio.vsdx new file mode 100644 index 0000000000000000000000000000000000000000..70a836f835cd07bcad53288eb8660df16f417d3d GIT binary patch literal 41334 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�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 SE&+g(gcpMF4wL-*(|-VQa^{i% literal 0 HcmV?d00001 diff --git a/media/sdn/high-cps-flow-sku-for-nva.png b/media/sdn/high-cps-flow-sku-for-nva.png new file mode 100644 index 0000000000000000000000000000000000000000..e925459109ffdd8b37c09aabcbc08ec583985346 GIT binary patch literal 35727 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 P@TYssKr8d8)$RWRt|n5Q literal 0 HcmV?d00001 From f766e176d9dab7eefce9b333e341c71bdce79a46 Mon Sep 17 00:00:00 2001 From: milexm Date: Thu, 18 Nov 2021 09:36:31 -0800 Subject: [PATCH 2/3] Changed image type and fixed table Changed image type and fixed table --- documents/SDN-Features-Packet-Transforms.md | 17 +- media/sdn/high-cps-flow-sku-for-nva.png | Bin 35727 -> 0 bytes media/sdn/high-cps-flow-sku-for-nva.svg | 209 ++++++++++++++++++++ 3 files changed, 215 insertions(+), 11 deletions(-) delete mode 100644 media/sdn/high-cps-flow-sku-for-nva.png create mode 100644 media/sdn/high-cps-flow-sku-for-nva.svg diff --git a/documents/SDN-Features-Packet-Transforms.md b/documents/SDN-Features-Packet-Transforms.md index 8ba9ef78a..2f7357ed8 100644 --- a/documents/SDN-Features-Packet-Transforms.md +++ b/documents/SDN-Features-Packet-Transforms.md @@ -24,19 +24,14 @@ The following figure shows a high CPS/Flow SKU for **Networked Virtual Appliance ## Scale per DPU (Card) -**Note: Below are the expected numbers per Data Processing Unit (DPU); this applies to both IPV4 and IPV6 underlay and overlay* - -**IPV6 numbers will be lower* +Below are the expected numbers per Data Processing Unit (DPU); this applies to both IPV4 and IPV6 underlay and overlay. +> [!NOTE] +> **IPV6 numbers will be lower.** | Syntax | Description | -| ----------- | ----------- | -| Flow Scale | - 1+ million flows per v-port (aka ENI) - 50 million per DPU/Card| -| | • 50 million per DPU/Card | -| | o single encap IPv4 overlay and IPV6 underlay | -| | o single encap IPv6 overlay and IPV6 underlay. (This can be lower) | -| | o single encap IPV4 | -| | o Encap IPv6 and IPV4 | -| | *These are complex flows, details are below* +| ---------- | ----------- | +| Flow Scale |
  • 1+ million flows per v-port (aka ENI)
  • 50 million per DPU/Card
  • single encap IPv4 overlay and IPV6 underlay
  • single encap IPv6 overlay and IPV6 underlay. (This can be lower)
  • single encap IPV4
  • Encap IPv6 and IPV4
| +| | *Complex flows details are listed below* | CPS | 4 million+ (max) | | Routes | 100k per v-port (max) | | ACLs | 100k IP-Prefixes, 10k Src/Dst ports per v-port (max) | diff --git a/media/sdn/high-cps-flow-sku-for-nva.png b/media/sdn/high-cps-flow-sku-for-nva.png deleted file mode 100644 index e925459109ffdd8b37c09aabcbc08ec583985346..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35727 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 P@TYssKr8d8)$RWRt|n5Q diff --git a/media/sdn/high-cps-flow-sku-for-nva.svg b/media/sdn/high-cps-flow-sku-for-nva.svg new file mode 100644 index 000000000..2cb5bde98 --- /dev/null +++ b/media/sdn/high-cps-flow-sku-for-nva.svg @@ -0,0 +1,209 @@ + + + + + + + + + + + + + + + + + + + + + Page-1 + + + + Sheet.29 + + Rounded Rectangle + + + + + + + + + + + + + + + + + + + + + + + Rectangle + CPS optimized VM + + + + + + + + CPS optimized VM + + Rectangle.4 + SDN Agent + + + + + + + + SDN Agent + + Rectangle.5 + VPN Not in CPS Path + + + + + + + + VPN Not in CPS Path + + Sheet.6 + Azure Host + + + + Azure Host + + Rectangle.10 + SDN Appliance + + + + + + + + SDN Appliance + + Rectangle.11 + SDN Appliance Pair in DC + + + + + + + + SDN Appliance Pair in DC + + Rectangle.12 + DSTVM/PE/MNAT/MDNAT + + + + + + + + DSTVM/PE/MNAT/MDNAT + + Dynamic connector + + + + Dynamic connector.14 + + + + Dynamic connector.15 + + + + Dynamic connector.16 + + + + Rectangle.17 + FPGA + + + + + + + + FPGA + + 2-D word balloon + Packets are tunneled to appliance as opposed to local VFP for... + + + + + + + + + Packets are tunneled to appliance as opposed to local VFP for CPS optimized VM + + Rectangle.25 + + + + + + + + Dynamic connector.26 + + + + + From 3e7a384a567494b56792b5be2172fb9476c2a56a Mon Sep 17 00:00:00 2001 From: milexm Date: Thu, 18 Nov 2021 09:40:40 -0800 Subject: [PATCH 3/3] Update SDN-Features-Packet-Transforms.md Used svg type for the image. --- documents/SDN-Features-Packet-Transforms.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documents/SDN-Features-Packet-Transforms.md b/documents/SDN-Features-Packet-Transforms.md index 2f7357ed8..7072ee030 100644 --- a/documents/SDN-Features-Packet-Transforms.md +++ b/documents/SDN-Features-Packet-Transforms.md @@ -20,7 +20,7 @@ This scenario addresses the issue by providing a **highly optimized path**, **de The following figure shows a high CPS/Flow SKU for **Networked Virtual Appliances** (NVA) -![NVA](../media/sdn/high-cps-flow-sku-for-nva.png) +![NVA](../media/sdn/high-cps-flow-sku-for-nva.svg) ## Scale per DPU (Card)