Lecture 1 - Introduction to Nerwork Services and Virtualization
Lecture 1 - Introduction to Nerwork Services and Virtualization
=>
Organization of the mini
course
• Lecture 1: introduction to types of
network functions and the pathway
to virtualizing them
• Lecture 2: A concrete example of a
technology enabler for virtualizing
network functions
• Lecture 3: Synergy between SDN and
Lecture 1: Introduction
to Network Functions
Outline
● What are network functions?
● Middleboxes for realizing network functions as standalone services
● Network management and proliferation of middleboxes
● Network services as software entities
● Virtualization technology for hosting network services as software
entities
What are network functions?
● Firewall
○ Filters traffic based on pre-defined rules.
○ Rules are simple since filtering is in the critical path of packet flow
● Intrusion detection/prevention
○ Perform more complicated analysis of packet traffic
○ Identify complex patterns of network traffic belonging to an attack/suspicious activity
● Network Address Translation (NAT)
○ Translates private IP address space to public IP address space and vice versa
○ Useful for organizations that have limited a public IP network presence
● WAN Optimizers
○ Reduce WAN bandwidth consumption of an enterprise
○ Perform multiple techniques like caching, traffic compression, etc. for reducing traffic and latency
● Load balancer
○ Distribute traffic to a pool of backend services
● Virtual Private Network (VPN) Gateway
○ Provides abstraction of same IP address space for networks that are physically separate
○ Multiple sites communicate over WAN using tunnels between gateways
Why do enterprises need these network
functions?
User’s view of an enterprise
goog
le amazo
n
ebay
Why do enterprises need these network
functions?
Internal view of an
enterprise computing
environment
● Clusters of machines
serving many internal
functions
○ Sales, marketing,
inventory, purchasing,
etc.
○ Employees accessing
them on-premises, and
remotely
Why do enterprises need these network
functions? Region
Internal view of an al
enterprise computing office
environment
● Clusters of machines
serving many internal
functions interne
○ t
Sales, marketing,
inventory, purchasing,
etc. Region
○ Employees accessing al
office
them on-premises, and
remotely Head
● office
Enterprises may have
Why do enterprises need these network
functions?
Internal view of an
Microsoft
enterprise computing
environment
● Clusters of machines
serving many internal
functions interne
○ t
Sales, marketing,
inventory, purchasing,
Intel
etc.
○ Employees accessing
them on-premises, and
remotely
Samsung
● Enterprises may have
Why do enterprises need these network
functions?
● Network functions give the necessary safeguards and facilities for
enterprises
○ Intrusion Prevention: Performs inspection of packet payload to identify suspicious
traffic
○ Firewall: Filters packets based on their src, dst IPs, ports and protocol
○ Load balancer: Evenly distributes incoming connections to one of the backend
servers
○ WAN Accelerator: Reduces WAN bandwidth consumption by data deduplication and
compression
○ VPN: Provides illusion of same network address space across multiple sites. Provides
encryption for inter-site traffic.
Outline
● What are network functions?
● Middleboxes for realizing network functions as standalone services
● Network management and proliferation of middleboxes
● Network services as software entities
● Virtualization technology for hosting network services as software
entities
Middleboxes
● Standalone hardware boxes (aka
network appliances) providing specific
network functions (e.g., firewall)
Middleboxes
● Standalone hardware boxes (aka
network appliances) providing specific
network functions (e.g., firewall)
● Example of Middleboxes deployed in an
enterprise
Middleboxes
Consider the example of a retail organization
(like Walmart) that holds inventory information
● Standalone hardware boxes (aka on premises, but uses an enterprise
network appliances) providing specific datacenter for long-running batch processing
(demand prediction, etc.)
network functions (e.g., firewall) End-clients communicate with on-premise
Source: https://tools.cisco.com/security/center/ipshome.x
Another Example: HTTP Proxy
● Performance-improving
appliance
● Caches web content to reduce
page-load time
● Reduces bandwidth Cisco Web Security Appliance S170
consumption https://www.cisco.com/c/en/us/support/security/web-security-
appliance-s170/model.html
● Can filter out blocked websites
Middleboxes in core cellular networks
1. Serving Gateway (S-GW)
a. Responsible for routing/forwarding of packets
b. Executes handoff between neighbouring base stations
2. Packet Gateway (P-GW)
a. Acts as interface between cellular network and Internet
b. NAT between internal IP subnet and Internet
c. Traffic shaping
3. Mobility Management Entity (MME)
a. Key control node of LTE
b. Performs selection of S-GW and P-GW
c. Sets up connection when device is roaming
4. Home Subscriber Server
a. User identification and addressing using IMSI number
b. User profile info: service subscription rates and QoS
https://ccronline.sigcomm.org/wp-content/uploads/2019/05/acmdl19-289.pdf
How are middleboxes different from
router/switch?
Middleboxes are stateful
Function Middleboxes
Security Firewall, IDS, IPS, ….
Performance- HTTP proxy, WAN
enhancement accelerator, Load
balancer, …
Cross-protocol NAT (IPv6 <-> IPv4),
interoperability VPN, …
Billing and usage …
monitoring
Network management and proliferation of
middleboxes
● Similar challenges that motivated shift of IT to cloud services
● Leads to lock-in to the hardware vendor of each specific middlebox
○ Difficult and expensive to migrate to a different solution
● Failures of middleboxes lead to network outages
● High Capital and Operational expenditure
○ Provisioning is done based on peak capacity
○ Management/maintenance cost is high
Outline
● What are network functions?
● Middleboxes for realizing network functions as standalone services
● Network management and proliferation of middleboxes
● Network services as software entities
● Virtualization technology for hosting network services as software
entities
Network functions as software entitites on
COTS servers
● Replace middleboxes by software
entities
● Run such network functions as an
“application” on general-purpose
servers
● Benefits
○ Low cost of deployment
○ Better resource utilization
○ Scaling is easily possible: lower CapEx
○ Can switch between vendors easily
○ Failures are easier to deal with
Examples of “software” middleboxes
● Linux iptables: provides NAT and
Firewall
● SoftEther VPN
● Squid HTTP proxy
● nginx load balancers
● Bro Intrusion Detection System (circa
1999)
Fundamental components of software
middleboxes
● Use Unix sockets → opening a socket creates a file descriptor
● Use system calls read() and write() calls to Linux kernel for reading
and writing to a socket
○ Raw Linux sockets enable developer to read/write raw bytes (MAC layer data)
from/to NIC
Architecture of a load balancer network
function Packet 5- Backend Service
● Distribute client connections to tuple Instance
If match
found Send packet
to backend
instance