Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
Building cloud native network functions - outcomes from the gw-tester nsm implementation
Victor Morales
v.morales@samsung.com
Outcomes from the GW-Tester
NSM implementation
NSM maps the concept of a
service mesh to L2/L3
payloads.
Releases:
• Aug 9, 2019 - 0.1.0 (Andromeda) Per-Pod
Network Services within a single cluster
support
• Nov 17, 2019 - 0.2.0 (Borealis) Introduces
interdomain support
GW Tester
https://github.com/electrocucaracha/gw-tester/
Control and User Plane Separation
https://github.com/networkservicemesh/examples/tree/master/examples/4g-network
https://github.com/wmnsk/go-gtp/issues/70#issuecomment-688414207
Multiple services per one NSM endpoint
https://github.com/networkservicemesh/networkservicemesh/issues/2186
Multiple NSM sidecars
P-GW
sidecar-s5c
sidecar-sgi
sidecar-s5u
pgw
Pod
Container
S-GW
sidecar-s11
sidecar-s1u
sgw
https://github.com/electrocucaracha/gw-tester/blob/master/k8s/pgw_nsm.yml
MME
sidecar-s1c
sgw
eNB
sidecar-euu
enb
HTTP Server
http-server
Client
external-
client
NSM Endpoint & client
https://github.com/networkservicemesh/networkservicemesh/blob/v0.2.0/sdk/README.md#client-list
NIC name
NSE implementation
https://github.com/electrocucaracha/gw-tester/blob/master/k8s/nsm/nse/cmd/main.go
Init script
NICs on demand
Improvised DNS
https://github.com/electrocucaracha/gw-tester/blob/master/k8s/mme_nsm.yml
NSM vs others
CNI Multiplexers Service Meshes
• Networks are defined through
NetworkAttachmentDefinition or
ClusterNetwork/TenantNetwork resources
• Supports Static and Dynamic IP addresses
assignment.
• Creates network interfaces during the Pod Creation
• Allows to specify network interface names.
• Easy to retrieve IP addresses[1].
• Isolated networks
• Networks are defined through NetworkService
resources
• Only provides Dynamic IP addresses assignment
• Network Interfaces are created on demand
• Naming network interfaces is restricted only to
clients[2].
[2]https://github.com/networkservicemesh/networkservicemesh/blo
b/v0.2.0/sdk/endpoint/connection.go#L82-L88
[1] https://github.com/k8snetworkplumbingwg/network-attachment-
definition-client/blob/release-1.16/pkg/utils/net-attach-def.go#L63
Q&A

More Related Content

Building cloud native network functions - outcomes from the gw-tester nsm implementation

Editor's Notes

  1. Short Description: Deep dive session for sharing lessons learned during the testing and Network Service Mesh (NSM) implementation in the GW-Tester project. Detailed Description: The GW-Tester project is a set of tools created for testing GPRS Tunneling protocols. During the last Virtual Event, the journey to transform the GW-Tester to a Cloud-Native architecture was presented. In that session, we discussed some considerations from the Container's design to the CNI multiplexer implementation details. This session covers lessons learned and discovered during the Network Service Mesh (NSM) implementation. NSM offers a different approach compared to Multus and DANM to manage multiple network interfaces and this may result in Architectural changes on the CNF. The audience will get familiar with some considerations to take at the moment to consume NSM SDK. People from the ONAP, OPNFV and CNTT communities might find this information relevant to their projects.