Sunday, October 4, 2015

Recursive SDN Architecture for scalability


In this post, I will explain SDN recursive architecture to meet carrier grade scalability requirement.

Background
For scalability, typical ISP network is designed in 3 tier architecture as shown in figure below:

Traffic from multiple access points, gets aggregated by the L2 Metro Ethernet before going to the IP Edge network. All traffic types are backhauled to a BNG (Broadband Network Gateway) before going to a PoP (Point of Presence) or P-Router location that is connected to the ISP backbone. The BNG, which is deeper in the network, executes multicast replication, subscriber termination functionality, and IP QoS policies. For Broadcast video's IP Multicast, the traffic starts from the edge router and is transmitted to customer premises over L2 multicast VLANs.
Three tiered hierarchical architecture provides required scalability, by adding  L1 access points and  L2 Aggregation points as traffic grows.
Each network components, in above mentioned 3 tier hierarchical network, control plan in embedded in same hardware as data plane, as shown in figure 2. Tight coupling of Control & Data plane in single proprietary box, restricts CSP’s capacity to innovate, brings new features in networking, etc.. To develop any feature CSP has to rely on their EV partner, which follows its own product release cycle, regardless of CSP’s requirement.
 
Concept behind SDN controller is to decouple control plane & data plane by separating packet policy from packet forwarding as shown in figure below. This architecture will bring abstraction into networking domain. Networking abstraction will bring new ideas and opportunities in networking domain e.g Big data analytics on real time traffic,  Traffic specific routing, Application based on L7  policy control. Due to SDN based decoupling, CSP can develop networking applications in feature rich Java or similar languages (the way developers write Android applications, without need to know much about phone hardware).

SDN Scalability
Prime concern behind SDN deployment is carrier grade scalability. SDN Architecture has to offer scalable solution for large scale CSP(as shown in figure 10).
Proposed use case is to deploy SDN controller to configure & manage virtual network elements as vSwitch, vRouter or OpenVSwitch residing in hypervisor to manage east/west (intra vDC) and north/south traffic (inter vDC).  Problem with this arrangement is scalability.
Consider CSP is having 4 virtual datacenters(vDC) namely A,B,C &D. Each datacenter is managed by respective SDN controller. To provision Layer 7 load balancing or firewall, policy for an application, CSP requires to configure each SDN controller individually. Now consider large CSP with thousands of Data centers globally with hundreds of SDN controllers managing them. This sort of individual policy configuration does not scale, as shown in figure below.

 
 
SDN architecture has to scale the way current 3 tier data plane architecture scales (figure 1) to meet carrier grade deployment.  Here comes concept of Global SDN, or Master SDN or SDN Gateway.
Global SDN
Global SDN will have end to end topology view of entire network and it provides following features
1)      Global policy configuration
2)      Layer 4-7 Application (Firewall, Load Balancer etc) configuration
3)      PNF (Physical/Legacy network function) configuration.
4)      Virtual DC selection for VM placement
As Global SDN has complete topology and vDC capability view, it can choose correct vDC for application VM placement. Another important aspect of Global SDN is it’s ability to integrate with Legacy Network elements(PNF). This is much required capability, as CSP network will consist legacy network elements for foreseeable future, thus for Global policy management, integration with those legacy boxes is much required. As shown in figure below, high level architecture of Global SDN will consist of various policy, layer 4-7 application, Traffic Engineering applications at North bound, while vDC SDN controller’s & PNF’s plugins at South bound. 
 
SDN Recursiveness
Recursion is the process of repeating items in a self-similar way. A visual form of recursion known as the Droste effect(figure above) . The woman in this image holds an object that contains a smaller image of her holding an identical object, which in turn contains a smaller image of herself holding an identical object, and so forth.
 
Recursive Architecture enables single, tunable protocol for different layers of the protocol stack, reusing basic protocol operations across different protocol layers to avoid reimplementation. In telco networking terms, recursion can be used to describe packet forwarding workflow, from access switch line card to core switch. Similar workflow of lookup is repeated at each network points from access to edge to core i.e from lowest layer(access switch line card)  to highest layer (core switch).
The way current ISP PoP architecture is designed, SDN recursiveness can implement SDN hierarchy as shown in figure below starting from Local SDN controllers at Tier 0, Area SDN controllers at tier 1 and finally Global SDN at top most position in hierarchy. Each layer will work on similar logic and workflow as previous one , while abstracting details, from higher layer. This abstraction will make sure only necessary metadata will be sent at higher layers and this will bring policy & failure locality as well as required scalability.

 
SDN recursive architecture implements aggregation function by aggregating  state changes of tier-0 SDN controller towards Global SDN controller. Similarly fan-out function can distribute global policy configuration towards tier 0 SDN controllers.  Each level of recursion can aggregate the information traveling upwards through the hierarchy, and “fan out” information traveling down through the hierarchy. For example, vDC can aggregate vDC port details to Area SDN controller, while Area SDN controllers can aggregate links(connected by Port) details for Global SDN. And Global SDN can aggregate all links information create end to end network topology view. Similarly Fan Out function can implement Global policy update from Global SDN controller to vDC SDN controller as shown in figure below:
 
Summary
Proposed  SDN deployment has policy & configuration locality and does not have entire network topology view, which restricts their functionality to Layer 2&3 only. This also limits required carrier grade scalability. To scale SDN architecture to accommodate layer 4-7 functionality and Global policy update, Global SDN controller is conceptualized. SDN recursive hierarchy  will bring ISP PoP like geographical spread of SDN controllers, where Global SDN controller will be in  top-most position and vDC SDN controller will be at tier-0.
Reference

This blog represents my personal understanding of the subject matter).