Skip to content

Commit 9545f85

Browse files
authored
Merge pull request #266504 from joemarshallmsft/joe/nexus-npb
NPB documentation.
2 parents b268df0 + 70705ba commit 9545f85

File tree

3 files changed

+197
-0
lines changed

3 files changed

+197
-0
lines changed

articles/operator-nexus/TOC.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,8 @@
4545
href: concepts-nexus-route-policies-overview.md
4646
- name: Availability
4747
href: concepts-nexus-availability.md
48+
- name: Network Packet Broker
49+
href: concepts-nexus-network-packet-broker.md
4850
- name: Quickstarts
4951
items:
5052
- name: Before you start workload deployment
@@ -230,6 +232,8 @@
230232
href: reference-near-edge-storage.md
231233
- name: Limits & quotas
232234
href: reference-limits-and-quotas.md
235+
- name: Neighbor Group Configuration Overview
236+
href: reference-neighbor-group-configuration.md
233237
- name: Route Policy
234238
expanded: false
235239
items:
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
---
2+
title: "Azure Operator Nexus Network Packet Broker Overview"
3+
description: Overview of Network Packet Broker for Azure Operator Nexus.
4+
author: joemarshallmsft
5+
ms.author: joemarshall
6+
ms.service: azure-operator-nexus
7+
ms.topic: conceptual
8+
ms.date: 02/16/2024
9+
ms.custom: template-concept
10+
---
11+
12+
# Network Packet Broker Overview
13+
14+
The Network Packet Broker (NPB) allows operators to monitor service traffic flows by tapping into the network and sending copies of the network packets to special probe applications. These applications provide the operations team with network-level visibility to help with service planning and troubleshooting.
15+
16+
NPB enables packet filtering and forwarding based on user-defined rules. NPB can perform various actions on the matched packets, such as dropping, counting, redirecting, mirroring, and logging. NPB supports both static and dynamic match conditions, which can be based on various L2/L3 parameters, such as VLAN, IP, port, protocol, or encapsulation type. NPB also supports GTPv1 encapsulation for matching packets in mobile networks.
17+
18+
## Key benefits of the Network Packet Broker
19+
20+
- **Improved Network Visibility:** NPB provides a centralized management interface for configuring and controlling the flow of network traffic to monitoring tools (vProbes). It provides visibility into network traffic, allowing operators to monitor, analyze, troubleshoot, and identify potential security threats. 
21+
22+
- **Improved Network Troubleshooting:** NPB facilitates network troubleshooting by capturing and presenting packet-level data for analysis. Operators can use an NPB to inspect packets in detail and identify the source of the problem quickly. 
23+
24+
- **Network Performance Optimization:** NPB provides insights into network traffic patterns and performance metrics, helping to identify network bottlenecks and congestion points, and to design better networks.
25+
26+
- **Filtering and Packet Manipulation:** NPB can filter out irrelevant or redundant traffic, reducing the volume of data sent to monitoring tools. It can also manipulate packets, enabling actions like packet slicing and timestamping, which further enhance the efficiency of monitoring and analysis. 
27+
28+
- **Compliance and Regulatory Requirements:** NPB helps organizations meet compliance and regulatory requirements by ensuring proper monitoring of network activities and data traffic. 
29+
30+
## Key capabilities of the Network Packet Broker
31+
32+
- **Mirroring & Aggregation**
33+
34+
- Mirroring network traffic from multiple distributed applications in the Azure Operator Network (AON) instance. 
35+
36+
- Processing the entire network traffic of the AON instance. 
37+
38+
- Providing designated endpoint definitions via scalable resource models. 
39+
40+
- **Filtering & Forwarding**
41+
42+
- Advanced matching and filtering capabilities based on L3 parameters. 
43+
44+
- On demand changes to filtering and forwarding criteria.
45+
46+
- Secure and scalable forwarding of filtered traffic to designated external and internal networks and devices.  
47+
48+
## Resources
49+
50+
To use NPB, you need to create and manage the following resources:
51+
52+
- **Network TAP Rule**: A set of matching configurations and actions that define the packet brokering logic. You can create a network TAP rule either inline or via a file. The inline method allows you to enter the values using AzCli, Resource Manager, or the portal. The file-based method allows you to upload a file that contains the network TAP rule content from a storage URL. The file can be updated periodically using a pull or push mechanism.
53+
54+
- **Neighbor Group**: A logical grouping of destinations where you want to send the network traffic. A neighbor group can include network interfaces, load balancers, or network virtual appliances.
55+
56+
- **Network TAP**: A resource that references the network TAP rule and the neighbor group that you created. A network TAP also specifies the source network interface from which the traffic is captured. You can create a network TAP using AzCli, Resource Manager, or the portal. You can also enable or disable a network TAP to start or stop the packet brokering process.
57+
58+
59+
## Using an NPB
60+
61+
This section describes the steps you need to follow to use an NPB.
62+
63+
First, create the prerequisite resources:
64+
65+
- A bootstrapped Network Fabric Instance.
66+
67+
- A Layer 3 isolation domain and an internal network with the NPB extension flag set (only required if the isolation domain is being used to reach vProbes).
68+
69+
Then follow these steps:
70+
71+
1. Create a network TAP rule that defines the match configuration for the network traffic that you want to capture and forward. You can use the `az networkfabric taprule` command to create, update, delete, or show a network TAP rule.
72+
73+
1. Create a neighbor group that defines the destinations for the network traffic that you want to send to. You can use the `az networkfabric neighborgroup` command to create, update, delete, or show a neighbor group.
74+
75+
1. Create a network TAP that references the network TAP rule and the neighbor group that you created. A network TAP also specifies the source network interface from which the traffic is captured. You can use the `az networkfabric tap` command to create, update, delete, or show a network TAP.
76+
77+
1. Enable the network TAP to start the packet brokering process. You can use the `az networkfabric tap update-admin-state` command to enable or disable a network TAP.
Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
---
2+
title: Azure Operator Nexus neighbor group configuration
3+
description: Configuration details and examples for Azure Operator Nexus neighbor groups.
4+
author: joemarshallmsft
5+
ms.author: joemarshall
6+
ms.service: azure-operator-nexus
7+
ms.topic: reference
8+
ms.date: 02/19/2024
9+
ms.custom: template-reference
10+
---
11+
12+
# Neighbor Group Configuration Overview
13+
14+
A neighbor group allows you to group endpoints (either IPv4 or IPv6) under a single logical resource. A neighbor group can be used to send load-balanced filtered traffic across different probe endpoints. You can use the same Neighbor group across different Network TAPs & Network Tap rules.
15+
16+
## Parameters for a Neighbor Group
17+
18+
| Parameter | Description | Example | Required |
19+
|--|--|--|--|
20+
| resource-group | The resource group that contains the neighbor group. | ResourceGroupName | True |
21+
| resource-name | The name of the neighbor group. | example-Neighbor | True |
22+
| location | The Azure region that contains the neighbor group. | eastus | True |
23+
| destination | List of Ipv4 or Ipv6 destinations to forward traffic. | 10.10.10.10 | True |
24+
25+
## Creating a Neighbor Group
26+
27+
The following command creates a neighbor group:
28+
29+
```azurecli
30+
az networkfabric neighborgroup create \
31+
--resource-group "example-rg" \
32+
--location "westus3" \
33+
--resource-name "example-neighborgroup" \
34+
--destination "{ipv4Addresses:['10.10.10.10']}"
35+
```
36+
37+
Expected output:
38+
39+
```
40+
{
41+
"properties": {
42+
"networkTapIds": [
43+
],
44+
"networkTapRuleIds": [
45+
],
46+
"destination": {
47+
"ipv4Addresses": [
48+
"10.10.10.10",
49+
]
50+
},
51+
"provisioningState": "Succeeded",
52+
"annotation": "annotation"
53+
},
54+
"tags": {
55+
"keyID": "KeyValue"
56+
},
57+
"location": "eastus",
58+
"id": "/subscriptions/subscriptionId/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/neighborGroups/example-neighborGroup",
59+
"name": "example-neighborGroup",
60+
"type": "microsoft.managednetworkfabric/neighborGroups",
61+
"systemData": {
62+
"createdBy": "[email protected]",
63+
"createdByType": "User",
64+
"createdAt": "2023-05-23T05:49:59.193Z",
65+
"lastModifiedBy": "[email protected]",
66+
"lastModifiedByType": "User",
67+
"lastModifiedAt": "2023-05-23T05:49:59.194Z"
68+
}
69+
}
70+
```
71+
72+
73+
## Show a Neighbor Group
74+
75+
This command displays an IP extended community resource:
76+
77+
```azcli
78+
az networkfabric neighborgroup show \
79+
--resource-group "example-rg" \
80+
--resource-name "example-neighborgroup"
81+
```
82+
83+
Expected output:
84+
85+
```
86+
{
87+
"properties": {
88+
"networkTapIds": [
89+
],
90+
"networkTapRuleIds": [
91+
],
92+
"destination": {
93+
"ipv4Addresses": [
94+
"10.10.10.10",
95+
]
96+
},
97+
"provisioningState": "Succeeded",
98+
"annotation": "annotation"
99+
},
100+
"tags": {
101+
"keyID": "KeyValue"
102+
},
103+
"location": "eastus",
104+
"id": "/subscriptions/subscriptionId/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/neighborGroups/example-neighborGroup",
105+
"name": "example-neighborGroup",
106+
"type": "microsoft.managednetworkfabric/neighborGroups",
107+
"systemData": {
108+
"createdBy": "[email protected]",
109+
"createdByType": "User",
110+
"createdAt": "2023-05-23T05:49:59.193Z",
111+
"lastModifiedBy": "[email protected]",
112+
"lastModifiedByType": "User",
113+
"lastModifiedAt": "2023-05-23T05:49:59.194Z"
114+
}
115+
}
116+
```

0 commit comments

Comments
 (0)