SDN and Juniper Contrail system
This blog, I am writing with my understanding about SDN. All
positive comments are most welcome.
SDN allows network administrators to manage network services through abstraction of lower-level functionality. This
is done by separating control plane and data plane of a system. For
communicating between data plane and control plane multiple methods are used,
one of the method is open flow.
SDN architecture is defined
in such a way that it can be programmed directly. It is agile, centrally manageable,
and based on open standard and vendor neutral.
SDN architecture can be
defined by following components (Figure 1):
1. SDN application
2.
SDN controller
3.
SDN Datapath
4.
SDN Control to Data-Plane Interface (CDPI)
5.
SDN northbound interfaces (NBI)
Figure1: SDN
Architecture
SDN application:
SDN Applications are programs that explicitly,
directly, and programmatically communicate their network requirements and
desired network behavior to the SDN Controller via a northbound
interface (NBI). In addition they may consume an abstracted view of the
network for their internal decision making purposes. An SDN Application
consists of one SDN Application Logic and one or more NBI Drivers. SDN
Applications may themselves expose another layer of abstracted network control,
thus offering one or more higher-level NBIs through respective NBI agents.
SDN
controller: SDN controller do multiple functions. It translates the
requirement from SDN application layer to SDN data path. It provides SDN
application with an abstract view of network. An SDN Controller consists of one
or more NBI Agents, the SDN Control Logic, and the Control to Data-Plane
Interface (CDPI) driver.
SDN Data path: An SDN Data
path comprises a CDPI agent and a set of one or more traffic forwarding engines
and zero or more traffic processing functions. These engines and functions may
include simple forwarding between the data path’s external interfaces or internal
traffic processing or termination functions. SDN datapath can consist
multiple vrouter and vswitches. One or more SDN Datapaths may be contained in a
single (physical) network element—an integrated physical combination of
communications resources, managed as a unit. An SDN Datapath may also be
defined across multiple physical network elements. This logical definition
neither prescribes nor precludes implementation details such as the logical to
physical mapping, management of shared physical resources, virtualization or
slicing of the SDN Datapath, interoperability with non-SDN networking, nor the
data processing functionality, which can include L4-7 functions.
SDN Control to Data-Plane Interface (CDPI):
The SDN CDPI is the interface defined between an SDN Controller and an
SDN Datapath, which provides at least (i) programmatic control of all
forwarding operations, (ii) capabilities advertisement, (iii) statistics
reporting, and (iv) event notification. One value of SDN lies in the
expectation that the CDPI is implemented in in an open, vendor-neutral and
interoperable way.
SDN Northbound Interfaces (NBI):
SDN NBIs are interfaces between SDN Applications and SDN Controllers and
typically provide abstract network views and enable direct expression of
network behavior and requirements. This may occur at any level of abstraction
(latitude) and across different sets of functionality (longitude). One value of
SDN lies in the expectation that these interfaces are implemented in an open,
vendor-neutral and interoperable way.
I have studied Contrail architecture to understand more about SDN details
about architecture. Juniper has defined this architecture beautifully.
Contrail system basically consists of two parts - a logically centralized but physically distributed
Contrail SDN controller and a set of Contrail vRouters that serve as software
forwarding elements implemented in the hypervisors of general purpose
virtualized servers.
Contrail system provides three interfaces: 1. Northbound interfaces
which talks with orchestration system and applications 2. Southbound
interfaces, which talks with vrouter and physical network (gateway router and
switches 3. East-west interfaces, which is used to peer with other controller.
Internally, Contrail SDN controller has three main components:
1. Configuration
nodes: it is responsible for translation high-level data model into low level
form suitable for interacting with network elements.
2. Control
nodes: it is used for propagating this low-level states to and from network
elements and peer systems in an eventually consistent way.
3. Analytical
nodes: This responsible for capturing real time data from network element,
abstracting it and presenting it in a form suitable for application to consume.
Figure 2: Contrail Architecture
The contrail system implements three basic block: 1. Multi-tenancy
is the ability to create virtual networks that provide closed user groups to
sets of VMs
2. Gateway functions refers to the ability to connect virtual
networks to physical networks via a gateway router and the ability to attach a
non-virtualized server or networking service to virtual network via a gateway.
3. Service chaining is the ability to steer flows of through
a sequence of physical or virtual network services such as firewalls, DPI or
load balancers.
Continued ......
No comments:
Post a Comment