0% found this document useful (0 votes)
15 views28 pages

Lecture 3

The document outlines a course on Network Virtualization and Software Defined Networking (SDN), detailing objectives and chapters covering various topics such as network hypervisors, NFV, and OpenStack. It includes exercises for practical understanding of VLAN communication and switch configurations, as well as a tutorial on OpenVirteX. Additionally, it discusses the architecture and components of ONOS, P4 programming language, and examples of packet processing in networking devices.

Uploaded by

Idk Kano
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views28 pages

Lecture 3

The document outlines a course on Network Virtualization and Software Defined Networking (SDN), detailing objectives and chapters covering various topics such as network hypervisors, NFV, and OpenStack. It includes exercises for practical understanding of VLAN communication and switch configurations, as well as a tutorial on OpenVirteX. Additionally, it discusses the architecture and components of ONOS, P4 programming language, and examples of packet processing in networking devices.

Uploaded by

Idk Kano
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

16/10/2024 Prof.

Ahmed Didouh 1
Course Objectives
• Chapter 1: Introduction to Network Virtualization and SDN

• Chapter 2: Network Hypervisors and Flow Management

• Chapter 3: Network Virtualization Platforms


• ONOS Plateform
• OpenDayLight
• Chapter 4: Network Function Virtualization (NFV)

• Chapter 5: Overview of OpenStack for NFV Deployment

16/10/2024 Prof. Ahmed Didouh 2


Intuitive
exercice 1
• A network administrator must configure the switches and the
router in the figure so that the machines from VLAN3 and
VLAN4 can communicate with the company server in
VLAN2. Which two Ethernet segments need to be
configured as trunk links?

16/10/2024 Prof. Ahmed Didouh 3


Intuitive
exercice 2
A switch has been configured as shown in the figure above. Host 1 is connected to port 0/4
with the IP address 192.168.1.22/28. Host 2 is connected to port 0/5 with the IP address
192.168.1.33/28. Host 3 is connected to port 0/6 with the IP address 192.168.1.30/28.
1. Can Host 1 ping Host 2?
2. Can Host 1 ping Host 3?
3. Can Host 2 ping Host 3?

16/10/2024 Prof. Ahmed Didouh 4


Lab2 tutorial : OpenVirteX

16/10/2024 Prof. Ahmed Didouh 5


Server virtualisation vs Network virtualisation

16/10/2024 Prof. Ahmed Didouh 6


Network Virtualization

• Virtual networks
• VLAN (MAC layer)
• VPN : Tunnels (Multiple routing
table)

• Network Slicing
• Network resources (bandwidth
on a network link)
• Compute resources
(processing power within
network elements or servers)
• Storage (flow table space)

16/10/2024 Prof. Ahmed Didouh 7


Software Defined Network (SDN)
Single control plane controls several forwarding devices

Traffic
Routing Engineering
Mobility

Network OS
Control plane physically separate from data plane
Packet
Forwarding
Packet
Forwarding

Packet
Forwarding
Packet
Forwarding
Packet
Forwarding
A Disaggregated Solution
Central TE Server

Northbound API

SDN apps: TE, Routing, Flow

OpenFlow
SDN Controller OpenFlow Agent

Linux OS Linux OS

Commodity Server Open Compute Switch

Controller cluster DC Gateway switches

Datacenter Site
About Open Networking Lab

• Non-profit lab founded in 2012


• Mission to develop, distribute, support open-source tools and
platforms for SDN
• Projects:
• Mininet: emulate an OpenFlow network on your laptop/EC2
• Flowvisor: share OpenFlow switches
• Open Network OS: distributed SDN controller
• OpenvirteX: network hypervisor
• OpenCloud: unified service orchestration in a cloud
Motivation for ONOS
Routing TE Mobility
Scale-out?

Distributed Network OS
Instance Instance Instance Instance
1 2 3 …
Fault Tolerance?

Retain global
global network view?

Community needs an open source distributed SDN OS


ONOS High Level Architecture
Network Graph
Eventually consistent
Titan Graph DB

Cassandra In-Memory DHT

Distributed Registry
Strongly Consistent Zookeeper

Instance 1 Instance 2 Instance 3

ONOS ONOS ONOS


core core core
Floodlight Floodlight Floodlight

Host

Host

Host
ONOS Architecture
• External Apps
• interact with the REST API,
GUI, and CLI.
• Core services include
Mobility, Proxy ARP, L2
Forwarding, and SDN IP/BGP.
• Modules for Device
Configuration, Discovery,
Network Virtualization, and
Topology.
• Protocols such as OpenFlow,
NetConf, and OVSDB support
the underlying architecture.

16/10/2024 Prof. Ahmed Didouh 13


ONOS Architecture

16/10/2024 Prof. Ahmed Didouh 14


ONOS Subcomponent

16/10/2024 Prof. Ahmed Didouh 15


Events and descriptions

16/10/2024 Prof. Ahmed Didouh 16


Onos GUI

16/10/2024 Prof. Ahmed Didouh 17


P4 Language
• P4 is a programming language for controlling packet forwarding planes in networking
devices, such as routers and switches.

From Bottum-up approach to Top-Down

Source : P4F
16/10/2024 Prof. Ahmed Didouh 18
PISA: Protocol-Independent Switch Architecture

Source : P4F
16/10/2024 Prof. Ahmed Didouh 19
PISA in Action
• Packet is parsed into individual headers (parsed representation)
• Headers and intermediate results can be used for matching and actions
• Headers can be modified, added or removed
• Packet is deparsed (serialized)

Source : P4F
16/10/2024 Prof. Ahmed Didouh 20
Example Architectures and Targets

Source : P4.org
16/10/2024 Prof. Ahmed Didouh 21
Programming a P4 Target

16/10/2024 Prof. Ahmed Didouh 22


P416 Program Template (V1Model)
• ingress_port - the port on which the packet arrived
• egress_spec - the port to which the packet should be sent to
• egress_port - the port that the packet will be sent out of (read only in egress pipeline)

16/10/2024 Prof. Ahmed Didouh 23


Example: IPv4_LPM Table
• Data Plane (P4) Program
• Defines the format of the
table
• Key Fields
• Actions
• Action Data
• Performs the lookup
• Executes the chosen action

• Control Plane (IP stack,


Routing protocols)
• Populates table entries with
specific information
• Based on the configuration
• Based on automatic
discovery
• Based on protocol
calculations

16/10/2024 Prof. Ahmed Didouh 24


•The type match_kind is special in P4
The standard library (core.p4) defines three
standard match kinds
• Exact match
• Ternary match
• LPM match

The architecture (v1model.p4) defines two


additional match kinds:
• range
• selector

Other architectures may define (and provide
implementation for) additional match kinds

16/10/2024 Prof. Ahmed Didouh 25


FPGA (Field Programmable Gate Array)

16/10/2024 Prof. Ahmed Didouh 26


P4→NetFPGA
• Prototype and evaluate P4 programs in real hardware!
• 4x10G network interfaces
• Special price for academic users :)
• https://github.com/NetFPGA/P4-NetFPGA-public/wiki

16/10/2024 Prof. Ahmed Didouh 27


BEHAVIORAL MODEL (bmv2)

16/10/2024 Prof. Ahmed Didouh 28

You might also like