ONOS
Open Network Operating System
An Open-Source Distributed SDN OS
Pankaj Berde, Jonathan Hart, Masayoshi Kobayashi, Pavlin Radoslavov, Pingping Lin, Rachel Sverdlov, Suibin Zhang, William Snow, Guru Parulkar
Presentation detailed about SDN (Software Defined Network) overview . It covers from basics like different controllers and touches upon some technical details.
Covers Terminologies used, OpenFlow, Controllers, Open Day light, Cisco ONE, Google B4, NFV,etc
OpenFlow is a standard protocol that allows separation of the control plane from the data plane in network devices like switches. It defines communications between controllers and switches. Controllers install flow entries in switches' flow tables which determine how traffic is forwarded. This allows centralized control over distributed switches using protocols like OpenFlow to program their forwarding behavior.
Network virtualization logically separates network resources and allows multiple virtual networks to operate over a shared physical infrastructure. It provides benefits like efficient usage of network resources, logical isolation of traffic between users, and accommodating dynamic server virtualization. Key enablers of network virtualization are cloud computing, server virtualization, software-defined networking (SDN), and network functions virtualization (NFV). A virtual tenant network (VTN) uses an underlay physical network and an overlay virtual network to logically isolate traffic for different users or groups. Common uses of network virtualization are in data centers and telecommunication networks.
This document discusses load balancing, which is a technique for distributing work across multiple computing resources like CPUs, disk drives, and network links. The goals of load balancing are to maximize resource utilization, throughput, and response time while avoiding overloads and crashes. Static load balancing involves preset mappings, while dynamic load balancing distributes workload in real-time. Common load balancing algorithms are round robin, least connections, and response time-based. Server load balancing distributes client requests to multiple backend servers and can operate in centralized or distributed architectures using network address translation or direct routing.
Kubernetes is an open-source system for managing containerized applications across multiple hosts. It includes key components like Pods, Services, ReplicationControllers, and a master node for managing the cluster. The master maintains state using etcd and schedules containers on worker nodes, while nodes run the kubelet daemon to manage Pods and their containers. Kubernetes handles tasks like replication, rollouts, and health checking through its API objects.
Cloud computing is the delivery of computing resources like servers, storage, databases, and software over the Internet. There are different types of cloud including public, private, and hybrid clouds. Google Cloud Platform (GCP) provides various computing, storage, networking, security, and other services to users. GCP offers products and services for compute, storage, networking, security, big data, machine learning, and management tools to build solutions in the cloud. Some advantages of GCP include flexible billing, fast scaling, global datacenter network, and petabyte data processing capabilities.
The Open Network Operating System (ONOS) is the first open source SDN network operating system targeted specifically at the Service Provider and mission critical networks. ONOS is purpose built to provide the high availability (HA), scale-out, and performance these networks demand.
Presentation detailed about SDN (Software Defined Network) overview . It covers from basics like different controllers and touches upon some technical details.
Covers Terminologies used, OpenFlow, Controllers, Open Day light, Cisco ONE, Google B4, NFV,etc
OpenFlow is a standard protocol that allows separation of the control plane from the data plane in network devices like switches. It defines communications between controllers and switches. Controllers install flow entries in switches' flow tables which determine how traffic is forwarded. This allows centralized control over distributed switches using protocols like OpenFlow to program their forwarding behavior.
Network virtualization logically separates network resources and allows multiple virtual networks to operate over a shared physical infrastructure. It provides benefits like efficient usage of network resources, logical isolation of traffic between users, and accommodating dynamic server virtualization. Key enablers of network virtualization are cloud computing, server virtualization, software-defined networking (SDN), and network functions virtualization (NFV). A virtual tenant network (VTN) uses an underlay physical network and an overlay virtual network to logically isolate traffic for different users or groups. Common uses of network virtualization are in data centers and telecommunication networks.
This document discusses load balancing, which is a technique for distributing work across multiple computing resources like CPUs, disk drives, and network links. The goals of load balancing are to maximize resource utilization, throughput, and response time while avoiding overloads and crashes. Static load balancing involves preset mappings, while dynamic load balancing distributes workload in real-time. Common load balancing algorithms are round robin, least connections, and response time-based. Server load balancing distributes client requests to multiple backend servers and can operate in centralized or distributed architectures using network address translation or direct routing.
Kubernetes is an open-source system for managing containerized applications across multiple hosts. It includes key components like Pods, Services, ReplicationControllers, and a master node for managing the cluster. The master maintains state using etcd and schedules containers on worker nodes, while nodes run the kubelet daemon to manage Pods and their containers. Kubernetes handles tasks like replication, rollouts, and health checking through its API objects.
Cloud computing is the delivery of computing resources like servers, storage, databases, and software over the Internet. There are different types of cloud including public, private, and hybrid clouds. Google Cloud Platform (GCP) provides various computing, storage, networking, security, and other services to users. GCP offers products and services for compute, storage, networking, security, big data, machine learning, and management tools to build solutions in the cloud. Some advantages of GCP include flexible billing, fast scaling, global datacenter network, and petabyte data processing capabilities.
The Open Network Operating System (ONOS) is the first open source SDN network operating system targeted specifically at the Service Provider and mission critical networks. ONOS is purpose built to provide the high availability (HA), scale-out, and performance these networks demand.
The document discusses software-defined networking (SDN) and OpenFlow, including:
1) OpenFlow allows the control logic to be separated from the forwarding hardware by defining an open interface between the two. This enables more flexible and programmable networks.
2) OpenFlow works by defining flows that match packets and actions that are applied to the matched packets. The flows are populated and managed by an external controller through the OpenFlow protocol.
3) OpenFlow is being deployed in over 100 organizations and is enabling network innovation through its programmable and customizable nature.
This document discusses network virtualization from an architectural and technological perspective. It covers the principles of network virtualization including coexistence, recursion, inheritance, and revisitation. It then discusses different types of network device virtualization including NIC, router, link, and data path virtualization. It also covers network virtualization technologies like overlay networks and virtual private networks. Finally, it discusses applications of network virtualization like provisioning independent networks, improving robustness and reducing hardware costs.
Cloud Network Virtualization with Juniper Contrailbuildacloud
Description: Contrail Technology will be discussed covering architecture, capabilities and use cases. It will be followed by a demonstration on current Contrail implementation on CloudStack/Openstack.
Parantap works as a Sr. Director of Solutions Engineering for Contrail Product within Juniper. Before Juniper, Parantap led the network architecture team for Microsoft Online Services (Windows Azure, MS Bing). Prior to Microsoft, Parantap worked as a core engineering manager for UUNet Technologies building Internet backbones.
NetScaler SD-WAN provides software-defined wide area networking and cloud access capabilities that are secure, reliable and ensure high application quality. It offers various editions with standard features including bonding multiple WAN circuits into a single logical circuit, monitoring link conditions, and delivering applications over the best circuit. The product provides centralized configuration and management without requiring branch configurations.
Introduction to OpenDaylight & Application DevelopmentMichelle Holley
This document provides an introduction to OpenDaylight, an open source platform for Software-Defined Networking (SDN). It outlines what OpenDaylight is, its community and releases, the components within OpenDaylight including northbound and southbound interfaces, and some example network applications that can be built on OpenDaylight. It also provides an overview of how to develop applications using OpenDaylight, covering technologies like OSGi, MD-SAL, and the Yang modeling language.
OpenStack is an open source cloud computing platform used to build private and public clouds. It controls large pools of compute, storage, and networking resources throughout a data center. OpenStack provides an API and dashboard for provisioning resources on-demand. It uses a modular architecture with components like Nova (compute), Swift (object storage), Cinder (block storage), Neutron (networking), and Keystone (identity). BRAC adopted OpenStack in 2014 to transform its IT infrastructure from physical servers to a private cloud, gaining agility, scalability and cost savings.
Tutorial: Using GoBGP as an IXP connecting routerShu Sugimoto
- Show you how GoBGP can be used as a software router in conjunction with quagga
- (Tutorial) Walk through the setup of IXP connecting router using GoBGP
Red Hat is a leading provider of open source solutions, founded in 1993. It was acquired by IBM in 2019 for $34 billion. Red Hat's flagship products are Red Hat Enterprise Linux and OpenShift, an enterprise Kubernetes platform. OpenShift provides a full platform for developing, hosting, and managing containerized applications, and includes additional services beyond just Kubernetes. It offers advantages for security, automation, and developer experience compared to managing raw Kubernetes. Operators are an innovative approach in OpenShift to package and automate application logic using Kubernetes as the automation engine.
Here are the key steps:
1. Kill any existing controllers running on the system
2. Clear out any existing Mininet topology using mn -c
3. Start the Ryu OpenFlow controller by running:
ryu-manager --verbose ./simple_switch_13.py
This starts the Ryu controller with the simple_switch_13.py application, which provides basic OpenFlow switch functionality. The --verbose flag prints debug information from the controller. We have now initialized the SDN environment with Ryu acting as the controller.
SD WAN simplifies branch office connectivity and management while improving application performance and network visibility. It uses software to direct traffic over multiple connection types, including broadband internet and private links. This allows traffic to automatically switch to the best available connection. SD WAN provides benefits like lower costs, easier management, and application-aware routing compared to traditional router-based WANs. Various vendors offer SD WAN solutions targeting enterprises, communication service providers, or as cloud-based offerings.
This document provides an overview and introduction to Terraform, including:
- Terraform is an open-source tool for building, changing, and versioning infrastructure safely and efficiently across multiple cloud providers and custom solutions.
- It discusses how Terraform compares to other tools like CloudFormation, Puppet, Chef, etc. and highlights some key Terraform facts like its versioning, community, and issue tracking on GitHub.
- The document provides instructions on getting started with Terraform by installing it and describes some common Terraform commands like apply, plan, and refresh.
- Finally, it briefly outlines some key Terraform features and example use cases like cloud app setup, multi
Introduction to GCP (Google Cloud Platform)Pulkit Gupta
This document outlines a presentation on Google Cloud Platform (GCP) services. The agenda includes an introduction to GCP and its main service, Google Compute Engine (GCE). GCE allows users to create and manage virtual machines on GCP. The presentation defines GCP and its main components like Compute, Storage, Big Data and Machine Learning services. It highlights benefits of GCP such as scalability, mixing services, and competitive pricing. The document demonstrates how to create a virtual machine on GCE and discusses other GCP storage and compute features before concluding with a question and answer session.
Linux is an open-source, Unix-like operating system that runs on multiple hardware platforms. It began in 1991 when Linus Torvalds began developing the Linux kernel. Major milestones in Linux's history include the first Red Hat commercial Linux distribution in 1994 and the kernel version 2.4 in 2001 which supported essential PC functions. Linux is widely used for web hosting, home servers, media centers, and more. Popular Linux distributions include Ubuntu, Debian, Red Hat Enterprise Linux, and Archlinux. Reasons to switch to Linux include security, low cost, stability, ease of use, compatibility with other operating systems, and widespread community support.
Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications. It groups containers that make up an application into logical units for easy management and discovery called Pods. ReplicaSets ensure that a specified number of pod replicas are running at any given time. Key components include Pods, Services for enabling network access to applications, and Deployments to update Pods and manage releases.
SDN & NFV Introduction - Open Source Data Center NetworkingThomas Graf
This document introduces software defined networking (SDN) and network functions virtualization (NFV) concepts. It discusses challenges with traditional networking and how SDN and NFV address these by decoupling the control and data planes, centralizing network intelligence, and abstracting the underlying network infrastructure. It then provides examples of open source SDN technologies like OpenDaylight, Open vSwitch, and OpenStack that can be used to build programmable software-defined networks and virtualized network functions.
This presentation covers the basics about OpenvSwitch and its components. OpenvSwitch is a Open Source implementation of OpenFlow by the Nicira team.
It also also talks about OpenvSwitch and its role in OpenStack Networking
The document discusses software-defined networking (SDN) and OpenFlow, including:
1) OpenFlow allows the control logic to be separated from the forwarding hardware by defining an open interface between the two. This enables more flexible and programmable networks.
2) OpenFlow works by defining flows that match packets and actions that are applied to the matched packets. The flows are populated and managed by an external controller through the OpenFlow protocol.
3) OpenFlow is being deployed in over 100 organizations and is enabling network innovation through its programmable and customizable nature.
This document discusses network virtualization from an architectural and technological perspective. It covers the principles of network virtualization including coexistence, recursion, inheritance, and revisitation. It then discusses different types of network device virtualization including NIC, router, link, and data path virtualization. It also covers network virtualization technologies like overlay networks and virtual private networks. Finally, it discusses applications of network virtualization like provisioning independent networks, improving robustness and reducing hardware costs.
Cloud Network Virtualization with Juniper Contrailbuildacloud
Description: Contrail Technology will be discussed covering architecture, capabilities and use cases. It will be followed by a demonstration on current Contrail implementation on CloudStack/Openstack.
Parantap works as a Sr. Director of Solutions Engineering for Contrail Product within Juniper. Before Juniper, Parantap led the network architecture team for Microsoft Online Services (Windows Azure, MS Bing). Prior to Microsoft, Parantap worked as a core engineering manager for UUNet Technologies building Internet backbones.
NetScaler SD-WAN provides software-defined wide area networking and cloud access capabilities that are secure, reliable and ensure high application quality. It offers various editions with standard features including bonding multiple WAN circuits into a single logical circuit, monitoring link conditions, and delivering applications over the best circuit. The product provides centralized configuration and management without requiring branch configurations.
Introduction to OpenDaylight & Application DevelopmentMichelle Holley
This document provides an introduction to OpenDaylight, an open source platform for Software-Defined Networking (SDN). It outlines what OpenDaylight is, its community and releases, the components within OpenDaylight including northbound and southbound interfaces, and some example network applications that can be built on OpenDaylight. It also provides an overview of how to develop applications using OpenDaylight, covering technologies like OSGi, MD-SAL, and the Yang modeling language.
OpenStack is an open source cloud computing platform used to build private and public clouds. It controls large pools of compute, storage, and networking resources throughout a data center. OpenStack provides an API and dashboard for provisioning resources on-demand. It uses a modular architecture with components like Nova (compute), Swift (object storage), Cinder (block storage), Neutron (networking), and Keystone (identity). BRAC adopted OpenStack in 2014 to transform its IT infrastructure from physical servers to a private cloud, gaining agility, scalability and cost savings.
Tutorial: Using GoBGP as an IXP connecting routerShu Sugimoto
- Show you how GoBGP can be used as a software router in conjunction with quagga
- (Tutorial) Walk through the setup of IXP connecting router using GoBGP
Red Hat is a leading provider of open source solutions, founded in 1993. It was acquired by IBM in 2019 for $34 billion. Red Hat's flagship products are Red Hat Enterprise Linux and OpenShift, an enterprise Kubernetes platform. OpenShift provides a full platform for developing, hosting, and managing containerized applications, and includes additional services beyond just Kubernetes. It offers advantages for security, automation, and developer experience compared to managing raw Kubernetes. Operators are an innovative approach in OpenShift to package and automate application logic using Kubernetes as the automation engine.
Here are the key steps:
1. Kill any existing controllers running on the system
2. Clear out any existing Mininet topology using mn -c
3. Start the Ryu OpenFlow controller by running:
ryu-manager --verbose ./simple_switch_13.py
This starts the Ryu controller with the simple_switch_13.py application, which provides basic OpenFlow switch functionality. The --verbose flag prints debug information from the controller. We have now initialized the SDN environment with Ryu acting as the controller.
SD WAN simplifies branch office connectivity and management while improving application performance and network visibility. It uses software to direct traffic over multiple connection types, including broadband internet and private links. This allows traffic to automatically switch to the best available connection. SD WAN provides benefits like lower costs, easier management, and application-aware routing compared to traditional router-based WANs. Various vendors offer SD WAN solutions targeting enterprises, communication service providers, or as cloud-based offerings.
This document provides an overview and introduction to Terraform, including:
- Terraform is an open-source tool for building, changing, and versioning infrastructure safely and efficiently across multiple cloud providers and custom solutions.
- It discusses how Terraform compares to other tools like CloudFormation, Puppet, Chef, etc. and highlights some key Terraform facts like its versioning, community, and issue tracking on GitHub.
- The document provides instructions on getting started with Terraform by installing it and describes some common Terraform commands like apply, plan, and refresh.
- Finally, it briefly outlines some key Terraform features and example use cases like cloud app setup, multi
Introduction to GCP (Google Cloud Platform)Pulkit Gupta
This document outlines a presentation on Google Cloud Platform (GCP) services. The agenda includes an introduction to GCP and its main service, Google Compute Engine (GCE). GCE allows users to create and manage virtual machines on GCP. The presentation defines GCP and its main components like Compute, Storage, Big Data and Machine Learning services. It highlights benefits of GCP such as scalability, mixing services, and competitive pricing. The document demonstrates how to create a virtual machine on GCE and discusses other GCP storage and compute features before concluding with a question and answer session.
Linux is an open-source, Unix-like operating system that runs on multiple hardware platforms. It began in 1991 when Linus Torvalds began developing the Linux kernel. Major milestones in Linux's history include the first Red Hat commercial Linux distribution in 1994 and the kernel version 2.4 in 2001 which supported essential PC functions. Linux is widely used for web hosting, home servers, media centers, and more. Popular Linux distributions include Ubuntu, Debian, Red Hat Enterprise Linux, and Archlinux. Reasons to switch to Linux include security, low cost, stability, ease of use, compatibility with other operating systems, and widespread community support.
Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications. It groups containers that make up an application into logical units for easy management and discovery called Pods. ReplicaSets ensure that a specified number of pod replicas are running at any given time. Key components include Pods, Services for enabling network access to applications, and Deployments to update Pods and manage releases.
SDN & NFV Introduction - Open Source Data Center NetworkingThomas Graf
This document introduces software defined networking (SDN) and network functions virtualization (NFV) concepts. It discusses challenges with traditional networking and how SDN and NFV address these by decoupling the control and data planes, centralizing network intelligence, and abstracting the underlying network infrastructure. It then provides examples of open source SDN technologies like OpenDaylight, Open vSwitch, and OpenStack that can be used to build programmable software-defined networks and virtualized network functions.
This presentation covers the basics about OpenvSwitch and its components. OpenvSwitch is a Open Source implementation of OpenFlow by the Nicira team.
It also also talks about OpenvSwitch and its role in OpenStack Networking
Distributed systems allow autonomous computers to communicate and cooperate over various communication lines. A distributed operating system provides transparency and facilitates sharing and access of remote resources. Real-time systems must process within defined time constraints or fail. They prioritize quick event response over user convenience. Real-time operating systems rely on policies like meeting scheduling deadlines.
This document discusses distributed systems applications in real life, including three key areas: distributed rendering in computer graphics, peer-to-peer networks, and massively multiplayer online gaming. It describes how distributed rendering parallelizes graphics processing across multiple computers. Peer-to-peer networks are defined as decentralized networks where nodes act as both suppliers and consumers of resources. Examples of peer-to-peer applications include file sharing and content delivery networks. The document also outlines the challenges of designing multiplayer online games using a distributed architecture rather than a traditional client-server model.
The document outlines the roadmap for ONOS, an open source SDN controller, in 2015. Key points include:
- Regular 3 month release cadence, with names like Avocet and Blackbird. Blackbird release in February 2015 will focus on stability, performance, and high availability.
- Areas of focus for 2015 include building out the distributed core using RAFT, improving the intent framework, adding southbound drivers, and exploring new use cases.
- Planned proof of concepts and deployments include AT&T use cases, NTT/NEC optical networking, an Internet2 deployment, and community labs.
- Goals for 2015 include expanding the developer community, influencing standards,
Tech Talk: ONOS- A Distributed SDN Network Operating Systemnvirters
This event takes us to the cusp of Distributed Software Development and SDN Controllers. We will be hosting Madan and Brian who have been involved in the architecture and development of ONOS (Open Network Operating System).
Synopsis
ONOS is a distributed SDN network operating system architected to provide performance, scale-out, resiliency, and well-defined northbound and southbound abstractions. Madan and Brian, both from ON.Lab, will start the talk with a deep-dive into ONOS architecture, including the key technical challenges that were solved to build this platform. They will also walk us through a live demo of building a SDN application on ONOS.
Details:
ONOS Architecture
ONOS Abstractions and Modularity
ONOS Distributed architecture
ONOS APIs and their usage
Live demo- Building a SDN app on ONOS
Speaker Bios
Madan Jampani, Distributed Systems Architect, ONOS
Madan is Distributed Systems Architect at ON.Lab focusing on the core distributed systems problems for ONOS. Prior to joining ON.Lab in Sep 2014, Madan worked at Amazon for around 10 years. At Amazon, Madan was instrumental in building several key technologies ranging from Amazon retail ordering systems, distributed data stores and shared compute clusters for running large-scale data processing and machine learning workloads.
Brian O’Connor, Lead Developer, ONOS
Brian is the ONOS Application Intent Framework lead and a core developer at ON.Lab, working on ONOS and Mininet. Brian O’Connor received Bachelor’s and Master’s degrees in Computer Science from Stanford University. At Stanford, he helped develop “An Introduction to Computer Networking,” one of Stanford’s first MOOCs (Massively Open Online Courses).
ABOUT ON.LAB and ONOS
Open Networking Lab (ON.Lab) is a non-profit organization founded by SDN inventors and leaders from Stanford University and UC Berkeley to foster an open source community for developing tools and platforms to realize the full potential of SDN. ON.Lab brings innovative ideas from leading edge research and delivers high quality open source platforms on which members of its ecosystem and the industry can build real products and solutions.
ONOS, a SDN network operating system for service provider and mission critical networks, was open sourced on Dec 5th, 2014. ONOS delivers a highly available, scalable SDN control plane featuring northbound and southbound abstractions and interfaces for a diversity of management, control, service applications and network devices. ONOS ecosystem comprises of ON.Lab, organizations who are funding and contributing to the ONOS initiative including AT&T, NTT Communications, SK Telecom, Ciena, Cisco, Ericsson, Fujitsu, Huawei, Intel, NEC; members who are collaborating and contributing to ONOS include ONF, Infoblox, SRI, Internet2, Happiest Minds, CNIT, Black Duck, Create-Net and the broader ONOS community. Learn how you can get involved with ONOS at onosproject.org.
Distributed systems allow independent computers to appear as a single coherent system by connecting them through a middleware layer. They provide advantages like increased reliability, scalability, and sharing of resources. Key goals of distributed systems include resource sharing, openness, transparency, and concurrency. Common types are distributed computing systems, distributed information systems, and distributed pervasive systems.
This document discusses the evolution of software defined networking (SDN) and application-centric infrastructure. It describes how SDN has progressed from early implementations using OpenFlow (SDN 1.0) to separating the control and data planes (SDN 2.0) to the current approach of an application-centric infrastructure with a centralized controller and policy-based automation (SDN 3.0). It emphasizes how the new approach simplifies infrastructure management, enables intelligent services, and provides dynamic security through a centralized control plane.
System models for distributed and cloud computingpurplesea
This document discusses different types of distributed computing systems including clusters, peer-to-peer networks, grids, and clouds. It describes key characteristics of each type such as configuration, control structure, scale, and usage. The document also covers performance metrics, scalability analysis using Amdahl's Law, system efficiency considerations, and techniques for achieving fault tolerance and high system availability in distributed environments.
This document summarizes a presentation about odl-mdsal-clustering, which provides a distributed data store for OpenDaylight. The presentation covers the components, requirements, design, testing, monitoring, challenges and insights of the distributed data store. It uses Akka clustering and Raft consensus to provide a highly available datastore across multiple nodes. Future work includes improving remote notifications, dynamic server management and more fine-grained sharding capabilities.
Database operation with nested transaction handlingAshwinPoojary
The document describes using MuleSoft's transactional scope to provide reliable database operations. Key components used include a poll, database connectors, flow variables, a choice router, transactional scope, for each scope, and exception strategies. The flow polls a database, selects data, and uses nested transactions to either batch insert or individually insert records into a second database, rolling back on any errors.
(Slides) A Method for Distributed Computaion of Semi-Optimal Multicast Tree i...Naoki Shibata
The document proposes a distributed method for constructing semi-optimal multicast trees in mobile ad hoc networks (MANETs) that satisfies quality of service constraints and optimizes a given objective such as power consumption or stability. The method uses genetic algorithms to compute local and global multicast trees in a hierarchical, distributed manner. Evaluation experiments found the method scales well to large networks and recomputes trees more efficiently than existing approaches in response to topology changes.
This presentation summarizes a distributed airline reservation system created by a group of students. The system allows customers to make, cancel, and view flight reservations, and allows airline representatives and administrators to manage flights and user accounts. Key aspects include a MySQL database to store user and flight data, .NET sockets for the client interface, BSD sockets for the server, and C# code to build the graphical user interface. The presentation demonstrates screenshots and discusses challenges in integrating the different programming languages and databases.
The document discusses different models for distributed systems including physical, architectural and fundamental models. It describes the physical model which captures the hardware composition and different generations of distributed systems. The architectural model specifies the components and relationships in a system. Key architectural elements discussed include communicating entities like processes and objects, communication paradigms like remote invocation and indirect communication, roles and responsibilities of entities, and their physical placement. Common architectures like client-server, layered and tiered are also summarized.
This document discusses different distributed computing system (DCS) models:
1. The minicomputer model consists of a few minicomputers with remote access allowing resource sharing.
2. The workstation model consists of independent workstations scattered throughout a building where users log onto their home workstation.
3. The workstation-server model includes minicomputers, diskless and diskful workstations, and centralized services like databases and printing.
It provides an overview of the key characteristics and advantages of different DCS models.
The document provides an overview of Software Defined Networking (SDN). It discusses the history and disadvantages of traditional networking approaches. It then defines SDN, describing its architecture and key components like the data plane, control plane, and management plane. It outlines the needs and benefits of SDN, such as virtualization, orchestration, programmability, and automation. It also covers SDN concepts like the OpenFlow protocol and SDN controllers.
ONOS is an open source distributed network operating system for software defined networking. It provides a global network view through a distributed architecture and network graph abstraction. Key features include high availability through fault tolerance using a distributed registry for control isolation, and scalability through a simple scale-out design where each instance is responsible for building and maintaining part of the network graph.
Many thanks to Nick McKeown (Stanford), Jennifer Rexford (Princeton), Scott Shenker (Berkeley), Nick Feamster (Princeton), Li Erran Li (Columbia), Yashar Ganjali (Toronto)
This document provides an overview of SDN and Openflow. It describes the current state of networking with tightly coupled control and data planes. SDN is defined as having decoupled control and data planes, flow-based forwarding instead of destination-based, control logic in a controller, and a programmable network. The SDN architecture has layers including the infrastructure, Openflow southbound interface, network operating system controller, northbound APIs, programming languages, and applications.
The document discusses how application architects traditionally focused on solving IO bottlenecks in servers by offloading processing to intelligent network interface cards. With modern distributed applications spanning thousands of servers, application architects now must consider network topology, segmentation, and control plane protocols to optimize latency and bandwidth. The rise of virtualization and cloud computing has changed traffic patterns in datacenters from north-south traffic to dominant east-west traffic between servers. This requires new datacenter fabric designs beyond the traditional three-tiered topology.
Software defined network and Virtualizationidrajeev
Virtualization techniques allow network resources to be shared in a flexible manner. Software defined networking separates the control plane and data plane, enabling the network to be programmed and customized. OpenFlow is an example of a standard interface that allows programming of packet forwarding hardware from a controller. FlowVisor is a network hypervisor that uses the OpenFlow protocol to virtualize network resources and provide isolation between slices allocated to different users or experiments.
Software defined networking (SDN) uses OpenFlow to separate the control plane of network switches from the data plane. This allows for network programmability and innovation through open protocols and APIs. SDN has the potential to reduce network costs, increase flexibility, and lead to new use cases. However, challenges remain around OpenFlow limitations, scalability, and vendor dependence.
The document discusses software defined networking (SDN) and OpenFlow, including their history, key concepts, potential uses and challenges. SDN aims to separate the network control and forwarding functions through open standards like OpenFlow. This could make networks more programmable and innovative while reducing costs. However, challenges include limitations of the current standards and ensuring scalability and interoperability across vendors.
Software Innovations and Control Plane Evolution in the new SDN Transport Arc...Cisco Canada
Loukas Paraschis, Technology Solution Architecture at Cisco presents software innovation and control plane evolution in the new SDN transport at Cisco Connect Toronto 2015.
The document is a slide presentation on Software Defined Networking (SDN) and the SDN control plane. It discusses key characteristics of the SDN architecture including flow-based forwarding, separation of the control and data planes, externalization of control functions, and a programmable network. It describes the main components of the SDN control plane including the SDN controller, network control applications, and protocols like OpenFlow. The SDN controller maintains network-wide state and interacts with control applications and switches using northbound and southbound APIs respectively.
Software defined networking (SDN) aims to decouple the network control and data planes by providing an open standard application programming interface (API). This allows for a logically centralized controller that maintains a global view of the network. The controller can programmatically configure forwarding rules on SDN switches using the API. This new architecture enables more flexible, programmable networks and has consequences for both industry and research. For industry, it promises to accelerate innovation, lower costs, and create new services. For research, it provides opportunities to develop new network programming languages and abstractions that simplify network specification and management.
Software defined networking (SDN) separates the network control plane from the forwarding plane, allowing a single, centralized control plane to control multiple forwarding devices. SDN gives network administrators the ability to abstract the underlying network infrastructure and program how network traffic is handled. This allows SDN to simplify network management and make the network more flexible, programmable, and adaptable to changing needs. However, implementing SDN also presents challenges related to changing traditional network architectures, security, and specialized technical knowledge requirements.
This document provides an overview of software defined networking (SDN), including its evolution from traditional router architectures, the seminal Clean Slate project and OpenFlow protocol, and the current SDN architecture. It discusses key SDN concepts like the separation of the control and data planes, standardization bodies, example applications like VOLTHA and ONOS, and related technologies like NFV and P4.
This document summarizes an article about SDN, OpenFlow, and the ONF. It discusses how OpenFlow and SDN are emerging technologies that have the potential to enable network innovation and optimize costs. It also introduces the Open Networking Foundation (ONF) and how the community around SDN and OpenFlow has grown rapidly.
This document provides an overview of network programmability and Software Defined Networking (SDN). It discusses the evolution from traditional networks to SDN, including early concepts like active networking and separating the control and data planes. OpenFlow is introduced as an SDN protocol that enables an external controller to program the forwarding behavior of network switches. Key benefits of SDN like network programmability, innovation, and direct control over the data plane are covered. The roles of the SDN controller and OpenFlow switches are described. Examples of SDN applications and components like controllers are also mentioned.
Networking revolution in last 6-7 years. This document shows the very brief of high level concept in changing Networking technology from legacy networking to future ideas.
The Challenges of SDN/OpenFlow in an Operational and Large-scale NetworkOpen Networking Summits
Jun Bi
Professor & Director
Tsinghua University
Outline
• Intra-AS (campus level) IPv6 source address validation using OpenFlow (with extension)
– Good for introducing new IP services to network
• Planning next step if we run SDN as a common infrastructure for new services and architectures
– Some personal viewpoints and thoughts on design challenges
– Forwarding abstraction for Post-IP architectures
– Control abstraction for scalable NOS and programmable/manageable virtualization platform
– Inter-AS policies negotiation abstraction
ONS2015: http://bit.ly/ons2015sd
ONS Inspire! Webinars: http://bit.ly/oiw-sd
Watch the talk (video) on ONS Content Archives: http://bit.ly/ons-archives-sd
SDN models can be categorized as canonical/OpenFlow, broker/API-based, proactive/declarative, overlay, and hybrid models. The canonical model uses a logically centralized controller and "dumb" switches. Broker models use an API to interact between applications and the network. Proactive models use a compiler to translate high-level network definitions. Overlay models program edge devices to manage tunnels. Hybrid models combine centralized and distributed control. Future work is needed to maximize the benefits of combining models while limiting complexity.
Similar to ONOS: Open Network Operating System. An Open-Source Distributed SDN Operating System (20)
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfMalak Abu Hammad
Discover how MongoDB Atlas and vector search technology can revolutionize your application's search capabilities. This comprehensive presentation covers:
* What is Vector Search?
* Importance and benefits of vector search
* Practical use cases across various industries
* Step-by-step implementation guide
* Live demos with code snippets
* Enhancing LLM capabilities with vector search
* Best practices and optimization strategies
Perfect for developers, AI enthusiasts, and tech leaders. Learn how to leverage MongoDB Atlas to deliver highly relevant, context-aware search results, transforming your data retrieval process. Stay ahead in tech innovation and maximize the potential of your applications.
#MongoDB #VectorSearch #AI #SemanticSearch #TechInnovation #DataScience #LLM #MachineLearning #SearchTechnology
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Speck&Tech
ABSTRACT: A prima vista, un mattoncino Lego e la backdoor XZ potrebbero avere in comune il fatto di essere entrambi blocchi di costruzione, o dipendenze di progetti creativi e software. La realtà è che un mattoncino Lego e il caso della backdoor XZ hanno molto di più di tutto ciò in comune.
Partecipate alla presentazione per immergervi in una storia di interoperabilità, standard e formati aperti, per poi discutere del ruolo importante che i contributori hanno in una comunità open source sostenibile.
BIO: Sostenitrice del software libero e dei formati standard e aperti. È stata un membro attivo dei progetti Fedora e openSUSE e ha co-fondato l'Associazione LibreItalia dove è stata coinvolta in diversi eventi, migrazioni e formazione relativi a LibreOffice. In precedenza ha lavorato a migrazioni e corsi di formazione su LibreOffice per diverse amministrazioni pubbliche e privati. Da gennaio 2020 lavora in SUSE come Software Release Engineer per Uyuni e SUSE Manager e quando non segue la sua passione per i computer e per Geeko coltiva la sua curiosità per l'astronomia (da cui deriva il suo nickname deneb_alpha).
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!SOFTTECHHUB
As the digital landscape continually evolves, operating systems play a critical role in shaping user experiences and productivity. The launch of Nitrux Linux 3.5.0 marks a significant milestone, offering a robust alternative to traditional systems such as Windows 11. This article delves into the essence of Nitrux Linux 3.5.0, exploring its unique features, advantages, and how it stands as a compelling choice for both casual users and tech enthusiasts.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
“An Outlook of the Ongoing and Future Relationship between Blockchain Technologies and Process-aware Information Systems.” Invited talk at the joint workshop on Blockchain for Information Systems (BC4IS) and Blockchain for Trusted Data Sharing (B4TDS), co-located with with the 36th International Conference on Advanced Information Systems Engineering (CAiSE), 3 June 2024, Limassol, Cyprus.
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...Zilliz
Join us to introduce Milvus Lite, a vector database that can run on notebooks and laptops, share the same API with Milvus, and integrate with every popular GenAI framework. This webinar is perfect for developers seeking easy-to-use, well-integrated vector databases for their GenAI apps.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/building-and-scaling-ai-applications-with-the-nx-ai-manager-a-presentation-from-network-optix/
Robin van Emden, Senior Director of Data Science at Network Optix, presents the “Building and Scaling AI Applications with the Nx AI Manager,” tutorial at the May 2024 Embedded Vision Summit.
In this presentation, van Emden covers the basics of scaling edge AI solutions using the Nx tool kit. He emphasizes the process of developing AI models and deploying them globally. He also showcases the conversion of AI models and the creation of effective edge AI pipelines, with a focus on pre-processing, model conversion, selecting the appropriate inference engine for the target hardware and post-processing.
van Emden shows how Nx can simplify the developer’s life and facilitate a rapid transition from concept to production-ready applications.He provides valuable insights into developing scalable and efficient edge AI solutions, with a strong focus on practical implementation.
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
ONOS: Open Network Operating System. An Open-Source Distributed SDN Operating System
1. ONOS
Open Network Operating System
An Open-Source Distributed SDN OS
Pankaj Berde, Jonathan Hart, Masayoshi Kobayashi, Pavlin Radoslavov, Pingping Lin, Rachel
Sverdlov, Suibin Zhang, William Snow, Guru Parulkar
2. Software Defined Network (SDN)
f ( Map)
f ( Map)
f ( Map)
Control
Program
Control
Program
Control
Program
Global Network Map
Network OS
Abstract
Forwarding
Model
(e.g. OpenFlow)
Packet
Forwarding
Packet
Forwarding
Packet
Forwarding
Packet
Forwarding
Packet
Forwarding
3. Match-Action Forwarding Abstraction
Action Primitives
1.
2.
3.
4.
5.
6.
“Plumbing primitives”
“Forward to ports 4 & 5”
“Push header Y after bit 12”
“Pop header bits 8-12”
“Decrement bits 13-18”
“Drop packet”
…
H’
H
Match Action
F
Action(F)
G
Action(G)
H
Action(H)
4. Software Defined Network (SDN)
firewall.c
…
if( TCP_port == SMTP)
Control
dropPacket();
Program
…
Control
Program
Control
Program
Global Network Map
Network OS
Match
Action
Match
B
Match
Action
Action(F)
Packet
Forwarding
G
Action(G)
F
H
Action(H)
Action(B)
Match
Action
C
Action(C)
X
Action(X)
Z
Action(Z)
Match
Action
A
Action(A)
D
Action(D)
Packet
G
Action(G)
Forwarding
Packet
Y
Action(Y)
Forwarding
Action
A
Packet
A
Action(A)
Forwarding
Action(A)
H
Action(H)
Packet
G
Action(G)
Forwarding
5. ONOS Use Cases For Service Provider
Networks
• WAN core backbone
– Multiprotocol Label Switching (MPLS) with Traffic Engineering (TE)
• Cellular access network
– LTE for a metro area
• Metro Ethernets
– Access network for enterprises
• Wired access/aggregation
– Access network for homes
– DSL/Cable
Cellular
Metro
Core
Access
5
6. WAN Traffic Engineering Use Case Scenario
ONOS instances
Single DC
• Single ONOS Cluster in a Data Center*
• 8-16 ONOS instances max for
storage/compute capacity
• Out-of-band connection between
ONOS and Switches
• O(10)ms delay
AT&T Backbone Network
(*) Other configurations possible with tradeoffs: e.g., ONOS cluster per region
6
7. WAN Traffic Engineering Use Case Scenario
ONOS instances
Single DC
• Single ONOS Cluster in a Data Center*
• 8-16 ONOS instances max
• Out-of-band connection between
ONOS and Switches
• O(10)ms delay
•
•
•
•
150 Core Switches (AT&T/Global Crossing)
300 Edge Switches (AT&T/Global Crossing)
AT&T Backbone Network
50K edge-to-edge tunnels (Global Crossing)
400K IP prefixes (current BGP table size)
(Numbers based on Stanford Ph.D thesis (Saurav Das) and interview with Google & Global Crossing)
7
8. Cellular Core Network Use Case*
(*) Based on Jen Rexford’s study at Princeton
ONOS nodes
Single DC
Base
O(1) ms delay
Station
Access Edge
~100 Switches, 1000 Base Stations
~1 million UEs
~10 million flows
~400 Gbps – 2 Tbps
Cellular Core Network
Gateway
Edge
~1K Ues per BS
~10K flows per BS
~1 – 10 Gbps per BS
Middle boxes
(firewall, IDS, etc.)
Internet
8
9. ONOS: Open Network OS
Routing
TE
Mobility
Global network view
Global Network View
Openflow
Scale-out
Design
Packet
Forwarding
Fault Tolerance
Packet
Forwarding
Programmable
Base Station
Packet
Forwarding
10. Prior Work
NOX, POX, Beacon, Floodlight, Trema controllers
Single
Instance
Helios, Midonet, Hyperflow, Maestro, Kandoo, …
Distributed control platform for large-scale networks
Distributed:
ONIX
ONIX: closed source; datacenter + virtualization focus
ONOS design influenced by ONIX
Community needs an open source distributed network OS
11. ONOS Phase 1: Goals
December 2012 – December 2013
Demo Key Functionality
Fault-Tolerance: Highly Available control plane
Scale-out: Using distributed architecture
Global Network View: Network Graph abstraction
Non Goals
Performance optimization
Stress testing
15. ONOS Scale-Out
Network Graph
Global network view
Distributed
Network OS
Instance 1
Instance 2
Instance 3
Data plane
An instance is responsible for maintaining a part of network graph
Control capacity can grow with network size or application need
16. ONOS Control Plane Failover
Distributed
Registry
Master
Master
Switch AA==ONOS 1
Switch
NONE
Switch A = ONOS 2
Candidates = ONOS 2,
Candidates = ONOS 3
ONOS 3
Distributed
Network OS
Host
Master
Master
Switch AA = NONE
Switch = ONOS 1
Switch A = ONOS 2
Candidates = ONOS 2,
Candidates =
Candidates = ONOS 3
ONOS 3
Instance 1
A
Instance 2
Instance 3
E
C
B
Master
Master
Switch AA==ONOS 1
Switch
NONE
Switch A = ONOS 2
Candidates = ONOS 2,
ONOS 2,
Candidates = ONOS 3
ONOS 3
D
Host
F
Host
20. Example: Path Computation App on Network
Graph
flow
Flow entry
flow
Flow path
inport
Flow entry
outport
switch
switch
port
switch
on
port
port
link
port
host
device
port
on
switch
port
host
device
• Application computes path by traversing the links from source to destination
• Application writes each flow entry for the path
Thus path computation app does not need to worry about topology maintenance
21. Example: A simpler abstraction on network
graph?
Virtual network objects
Edge Port
Real network objects
Logical Crossbar
physical
physical
port
switch
Edge Port
on
port
port
host
device
port
link
port
on
switch
port
host
device
• App or service on top of ONOS
• Maintains mapping from simpler to complex
Thus makes applications even simpler and enables new abstractions
22. Network Graph and Switches
Network Graph: Switches
Switch Manager
OF
OF
Switch Manager
OF
OF
Switch Manager
OF
OF
23. Network Graph and Link Discovery
Network Graph: Links
Link Discovery
SM
LLDP
Link Discovery
SM
LLDP
Link Discovery
SM
24. Devices and Network Graph
Network Graph: Devices
Device Manager
Device Manager
Device Manager
SM
SM
SM
LD
LD
LD
PKTIN
Host
PKTIN
Host
PKTIN
Host
27. ONOS High Level Architecture
Applications
Control Application
Control Application
Network Graph
Distributed Network
Graph/State
Titan Graph DB
Eventually consistent
Cassandra In-Memory DHT
Distributed Registry
Strongly Consistent
Coordination
Instance 1
OpenFlow
Controller+
Scale-out
Zookeeper
Instance 2
OpenFlow
Controller+
Instance 3
OpenFlow
Controller+
Host
+Floodlight
Drivers
Host
Host
28. Reflections/Lessons Learned:
Things we got right
Control isolation (sharding)
Divide network into parts and control them exclusively
Load balancing -> we can do more
Distributed data store
That scales with controller nodes with HA -> though we need low
latency distributed data store
Dynamic controller assignment to parts of network
Dynamically assign which part of network is controlled by which
controller instance -> we can do better with sophisticated algorithms
Graph abstraction of network state
Easy to visualize and correlate with topology
Enables several standard graph algorithms
28
29. Reflections/Lessons Learned: Limitations
Performance
Several layers of open source sw means lower performance
Very little visibility under-the-hood
Different types of network state treated the same way
Debuggability
Debugging for performance as well as correctness is difficult due to
lack of visibility
Cannot customize to our needs
Heavyweight building blocks
Spectrum of use cases
Routing, TE, and BGP are the only use cases tried – need more
Features
Meant to be a prototype and so didn’t consider config, measurements, …
29
30. Next Phase: Architectural Directions
• Optimize for different types of network state
Identify different types of network state and usage patterns
Quantify the requirements for each type of state
Understand the performance needs and strategize for optimal usage
Control over sharding
Optimize for different types of network states
Lockless concurrent operations on network state
Customize our data model to our sharding
Maximize local reads/writes
Reduce need for remote read/writes as far as possible
Use lean and high performance open source if possible
For example reduce dependency on general purpose open source DHT
Engage network providers and vendors
Feature set and use cases
31. ONOS: Many Challenges Ahead …
Goal: Functionality with performance, visibility, customization
Modular building blocks
Swap-in and out with commercial or different open-source components
Low latency distributed data store and state synchronization
Low latency events and notifications
Distributed state management
Choice of consistency models for different network state
CAP theorem implications on applications programming
Sharding and replication of network state
Optimize handling different types of network states (replicate/shard)
Optimize data models for our purpose
Lockless concurrent operation on the network states
Northbound Abstraction
Network Graph API for applications
• Hierarchical control - Recursive SDN (with Berkeley)
31
33. onos.onlab.us
The ONOS team:
Pankaj Berde
Masayoshi Kobayashi
Brian O’Conner
Rachel Sverdlov
Naoki Shiota
William Snow
Pavlin Radoslavov
Jonathan Hart
Pingping Lin
Suibin Zhang
Yuta Higuchi
Guru Parulkar
Editor's Notes
Introduction:Acronym ONOS -> Open Network Operating System -> Platform to open networks to realize pure SDN
OpenFlow provides a simple forwarding abstraction by create rules on the data plane. A packet is matched against a rule and action of the rule is determined. The packet takes the path determined by the this simple match/action rules.
----- Meeting Notes (11/20/13 22:24) -----The focus for ONOS has been service provider networks.A service provider network is has a core back bone network and various access networks attached to them.The typical WAN core backbone is programmed using MPLS and a application to allocate resources and capacity to various traffic needs is called Traffic Engineering.Similarly the various access networks like cellular, metro or wired access network have their own characteristics and applications.For this discussion we will drill down a bit on Traffic Engineering
----- Meeting Notes (11/20/13 23:20) -----This is a picture of AT&T backbone networkHere you see various metro regions are connected with high bandwidth connectivity. Lets assume that we are controlling the complete core network using a single cluster of ONOS servers. Typically we will need 8-16 servers to control similar network. ONOS controls the core switches using an out-of-band connection. Typical latency between the switch and ONOS is around 10-50 ms.
----- Meeting Notes (11/20/13 23:20) -----Lets see some sizing information on a core backbone bases on prior research on AT&T and Global Crossing's core networks.
----- Meeting Notes (11/20/13 23:20) -----Just like the Core network we are trying to understand the control plane needs for a Cellular core network. We are working closely with Jen Rexford and her student from Princeton.Based on their study we can show a cellular core network and how ONOS would control it. On a cellular network the end devices are shown as user agents on this network which initiate all the requests. The user agent or the end devices connect to a base station and intiates the traffic request. There are several base stations spread across the metro and these base stations aggregate into a cellular cell network which forwards the traffic out to internet on edge gateways. All the traffic eventually aggregates into these gateway edges. ONOS can control all these swtiches using a single cluster with out-of-band connection to the swtiches.Here are some effort to size this network.
This is a clean SDN reference architecture. There are three questions we still need to answer. Number 1, will the Network OS become a performance bottleneck? Or can we scale the Network OS horizontally as we need more horse power? Number 2, will the Network OS become a single point of failure? Or can we make the Network OS and the control plane fault tolerant? The third question has to do with Northbound API. What is the best abstraction the Network OS can offer to application writers that enables reusable and pluggable network control and management applications? ONOS attempts to address exactly these issues…
ONIX did attempt to solve these issues. There are few more efforts. To enable more research in this area community needs an open distributed NOS.
Started in December with a primary goal to demonstrate we can build ONOS with scale-out distributed architecture which has high-availability and global network view as network graph.----- Meeting Notes (11/20/13 17:23) -----reactive flows should be dropped
Built on two distributed data constructs1> Network Graph which is the global network view containing the network state represented as a graph which is eventually consistent2> Distributed Registry is the global cluster management state stored in Zookeeper using transactional consistency.Multiple instances of ONOS control different parts of network and help realize a single global network view by cooperatively using these two distributed data constructs.----- Meeting Notes (5/15/13 14:21) -----Distribruted Registry keeps information on who is in control of the switch objects and has write permissions to update the network graph. In general it stores the resource ownership in a strongly consistent way.----- Meeting Notes (7/29/13 12:57) -----order animationremove floodlight
A part of network is solely controlled by a single ONOS instance and the same instance is also solely responsible for maintaining the state of the partition into the network graph. [We also refer this as Control isolation.] This enables simpler scale-out design. As the network grows beyond the control capacity one can add another instance which will be responsible for a new part of network . As this part is realized into Network Graph, applications will get a global network view.----- Meeting Notes (7/29/13 12:57) -----Fix animation
Switch A is being controlled by Instance 1 and the registry shows it as master for switch A.Instance 1 has a failure and dies.Registry detects that instance 1 is down and release the mastership for Switch A. Remaining candidates join the mastership election within registry. Lets say Instance 2 wins the election and is marked in registry as the master for Switch A.The channel with Instance 2 becomes the active channel and other channel becomes passive.This enables a quick failover of switch when there is a control plane failure.----- Meeting Notes (7/29/13 12:57) -----Mention strong consistency and elegent coordination
Network graph is organized as a graph database. Vertices as network objects and connected by edges as relation between the vertices.We use Titan as graph DB with Cassandra as its backend. Cassandra is eventually consistent
Network is naturally a graph with switches, ports, devices as objects as vertices. Similarly links and attachment points are modeled as edges.Applications can traverse and write to this graph to program the data plane. How? Lets look at this example application
Path Computation is an application which is using Network Graph. The application can find a path from source to destination by traversing links and program this path with flow entries to create a flow-path. These flow-entries are translated by ONOS core into flow table rules and pushed onto the topology. Last bullet: Application is made simple and stateless. It does not need to worry about topology maintenance.----- Meeting Notes (5/14/13 14:16) -----start without text. Bring in text at end and make one point
Network graph simplifies applications but can it be used to accelerate innovations of simpler abstractions in control plane?Here is an example of Logical Crossbar. The complexity of network state and topology is hidden. One can build hierarchy of these abstractions further hiding the complexity. Last bullet: We feel network graph will unlock innovations.7 minute Marker
Let us see how ONOS builds the network graph. Each ONOS node has a switch manager. When switches connect, switches and ports are get added as switches register with an ONOS node. When switches disconnect, they get marked as inactive in the network graph.
Each node sends out LLDP on the switches connected to it. Links with source and destination port controlled by different ONOS nodes can also be discovered using the network graph.
Host packet Ins are used to learn about devices, their attachment points. The network graph is updated with this information.
Flow paths are provisioned in ONOS.The source dpid of a flow is used to partition which node will compute the path. Computed paths and flow entries are also stored in the network graph.Flow entries have relationship to the switches.
Each flow manager programs the switches connected to it using the state in the network graph.When a link fails, PC will recompute a new path and Flow Manager will push new flow entries.
Built on two distributed data constructs1> Network Graph which is the global network view containing the network state represented as a graph which is eventually consistent2> Distributed Registry is the global cluster management state stored in Zookeeper using transactional consistency.Multiple instances of ONOS control different parts of network and help realize a single global network view by cooperatively using these two distributed data constructs.----- Meeting Notes (5/15/13 14:21) -----Distribruted Registry keeps information on who is in control of the switch objects and has write permissions to update the network graph. In general it stores the resource ownership in a strongly consistent way.----- Meeting Notes (7/29/13 12:57) -----order animationremove floodlight
----- Meeting Notes (11/20/13 23:20) -----We got few things right. Partitioning the network into parts to be controlled exclusively helps in basic load balancing. And ofcourse we could do better.Scalability and HA was weill handled using distributed data stores.Dynamic fail-over and assignment of part of network to controller helps very well in HA. We could have done better using sophisticated algorithms.Network Graph as northbound abstraction is appealing to many and we can do better by formalizing a graph model for ONOS.
----- Meeting Notes (11/20/13 17:49) -----Limitations:1> Performance2> Debuggability3> Lack of use cases4> several features are miissingNext phase:architectural directions1> state usage pattern2> control over sharding3> Customizing to data model to our sharding (Maximize local reads/writes)3> Using lean and high perfomance open source4> Engaging network providers and vendors for use cases----- Meeting Notes (11/20/13 23:20) -----ONOS has few limitationsFirst we have several features missing and as we learn we will add them.Open source tools are good for rapid prototype but do not help in customizng to our performance needs.While designing and developing we lacked several use cases and may have incorrect assumptions on network state. Now we are investigating different types of network states and their usage patterns.Debugging ONOS is not easy due to lack of visibility of open source tools under-the-hood.
Started in December with a primary goal to demonstrate we can build ONOS with scale-out distributed architecture which has high-availability and global network view as network graph.----- Meeting Notes (11/20/13 17:33) -----drop the non-goalsdemonstrate service provider use cases
----- Meeting Notes (11/20/13 17:49) -----hierarchical control plane at the endcombine under-> Modular building blocks-> Distributed state management-> Sharding and repllication-> Northbound abstraction
In this demo we will create isolated virtual networks, each with their own topology. Each virtual network is connected to its own network operating system. Finally, we show demonstrate the resiliency features of OVX.