This document provides an overview of Open Fabric Interfaces (OFI), which are high-performance APIs that allow applications to access fabric hardware with low latency. OFI defines interfaces for control, communication, completion, and data transfer services. It has an object-oriented design with objects like fabrics, domains, endpoints, and memory regions. OFI supports both connected and connectionless communication models and is agnostic to the underlying networking protocols and hardware implementations.
The document provides an overview and agenda for the libfabric software interface. It discusses the design guidelines, user requirements, software development strategies, architecture, providers, and getting started with libfabric. The key points are that libfabric provides portable low-level networking interfaces, has an object-oriented design, supports multiple fabric hardware through providers, and gives applications high-level and low-level interfaces to optimize performance.
The document provides an overview of a presentation on developing the OpenFabrics Interfaces libfabric. It discusses design guidelines for libfabric, including optimizing the software path to hardware, being scalable, implementation agnostic, and open source. It then covers libfabric architecture, including modes, capabilities, object model, endpoint types, address vectors, data transfer types, and API bootstrap. It provides examples of how Gasnet usage maps libfabric objects and initialization, address exchange, and using multi-receive buffers. The presentation aims to provide a lightning fast introduction to libfabric version 1.5.
The document provides an overview of the libfabric interface for high performance networking. It discusses the high-level architecture including interfaces, services, and the object model. It describes the control interface for querying capabilities and attributes. It also presents a simple ping-pong example using reliable datagram messaging endpoints to illustrate basic usage.
Cisco's journey from Verbs to LibfabricJeff Squyres
This document summarizes Cisco's transition from using the Verbs API to using the Libfabric API for their usNIC network interface card. The Verbs API has limitations that make it difficult to support Ethernet features. Libfabric addresses these issues and more closely matches Cisco's hardware. Performance tests show Libfabric outperforming Verbs. Open MPI was adapted to support Libfabric through new plugins. This allows Libfabric to be used for both provider-specific and portable communication, benefiting MPI implementations. Cisco believes Libfabric is the best path forward as it matches their hardware, has performance benefits, and features MPI implementations have wanted.
Slides presented by Jeff Squyres at the 2015 OpenFabrics Software Developers' Workshop. This talk discusses Cisco's experiences implementing an ultra-low latency Ethernet plugin / provider for the Linux Verbs API and for for the Libfabric API.
IPFS is a protocol designed to create a permanent and decentralized method of storing and sharing files faster, safer and more openly. It aims to replace HTTP and build a better web for all. IPFS uses a fully distributed network where each client acts as both client and server. It allows for distributing high volumes of data with high efficiency unlike HTTP which downloads from a single source. Any data structure can be represented as a directed acyclic graph (DAG) in IPFS.
Integration and Interoperation of existing Nexus networks into an ACI Archite...Cisco Canada
Mike Herbert, Principal Engineer INSBU, at Cisco Connect Toronto focused on the integration and interoperation of existing nexus networks into an ACI architecture.
The document provides an overview and agenda for the libfabric software interface. It discusses the design guidelines, user requirements, software development strategies, architecture, providers, and getting started with libfabric. The key points are that libfabric provides portable low-level networking interfaces, has an object-oriented design, supports multiple fabric hardware through providers, and gives applications high-level and low-level interfaces to optimize performance.
The document provides an overview of a presentation on developing the OpenFabrics Interfaces libfabric. It discusses design guidelines for libfabric, including optimizing the software path to hardware, being scalable, implementation agnostic, and open source. It then covers libfabric architecture, including modes, capabilities, object model, endpoint types, address vectors, data transfer types, and API bootstrap. It provides examples of how Gasnet usage maps libfabric objects and initialization, address exchange, and using multi-receive buffers. The presentation aims to provide a lightning fast introduction to libfabric version 1.5.
The document provides an overview of the libfabric interface for high performance networking. It discusses the high-level architecture including interfaces, services, and the object model. It describes the control interface for querying capabilities and attributes. It also presents a simple ping-pong example using reliable datagram messaging endpoints to illustrate basic usage.
Cisco's journey from Verbs to LibfabricJeff Squyres
This document summarizes Cisco's transition from using the Verbs API to using the Libfabric API for their usNIC network interface card. The Verbs API has limitations that make it difficult to support Ethernet features. Libfabric addresses these issues and more closely matches Cisco's hardware. Performance tests show Libfabric outperforming Verbs. Open MPI was adapted to support Libfabric through new plugins. This allows Libfabric to be used for both provider-specific and portable communication, benefiting MPI implementations. Cisco believes Libfabric is the best path forward as it matches their hardware, has performance benefits, and features MPI implementations have wanted.
Slides presented by Jeff Squyres at the 2015 OpenFabrics Software Developers' Workshop. This talk discusses Cisco's experiences implementing an ultra-low latency Ethernet plugin / provider for the Linux Verbs API and for for the Libfabric API.
IPFS is a protocol designed to create a permanent and decentralized method of storing and sharing files faster, safer and more openly. It aims to replace HTTP and build a better web for all. IPFS uses a fully distributed network where each client acts as both client and server. It allows for distributing high volumes of data with high efficiency unlike HTTP which downloads from a single source. Any data structure can be represented as a directed acyclic graph (DAG) in IPFS.
Integration and Interoperation of existing Nexus networks into an ACI Archite...Cisco Canada
Mike Herbert, Principal Engineer INSBU, at Cisco Connect Toronto focused on the integration and interoperation of existing nexus networks into an ACI architecture.
Call Home is an innovative system that enables network functions virtualization (NFV) and software-defined networking (SDN) in situations where virtual customer premises equipment (vCPE) is protected by a cable modem or a firewall. In this presentation, ADVA Optical Networking’s engineers outlined this new technique and explained how it makes secure NFV/SDN deployment possible when a NETCONF client is otherwise unable to initiate an SSH connection directly to the NETCONF server.
Rajendra Nagabhushan and Vikram Darsi discussed how the IETF draft for NETCONF Call Home Using SSH can be implemented as an OpenDaylight feature. They demonstrated how the technology can be applied in a real-world use-case and outlined how an ADVA Optical Networking product is being developed ahead of its 2017 release.
This document provides instructions for setting up and attending an eBPF workshop. It includes links for setting up the workshop platform, background slides, and code repository. It also lists an agenda with topics that will be covered, including setting up the eBPF lab, an introduction, eBPF 101, writing eBPF programs, BCC, and a tutorial. Attendees are asked to let the presenter know if they have any problems setting up.
BPF & Cilium - Turning Linux into a Microservices-aware Operating SystemThomas Graf
Container runtimes cause Linux to return to its original purpose: to serve applications interacting directly with the kernel. At the same time, the Linux kernel is traditionally difficult to change and its development process is full of myths. A new efficient in-kernel programming language called eBPF is changing this and allows everyone to extend existing kernel components or glue them together in new forms without requiring to change the kernel itself.
This document discusses configuring a Cisco router to act as a DHCP server. It describes the steps to create DHCP pools for two networks, 10.10.10.0/24 and 20.20.20.0/24, and configure the router's interfaces. It also explains the DHCP process and provides configuration snippets from the router to illustrate excluding addresses and verifying the configuration. The goal is to prepare readers for the Cisco CCNA certification exam.
Cilium - API-aware Networking and Security for Containers based on BPFThomas Graf
Cilium provides network security and visibility for microservices. It uses eBPF/XDP to provide fast and scalable networking and security controls at layers 3-7. Key features include identity-based firewalling, load balancing, and mutual TLS authentication between services. It integrates with Kubernetes to apply network policies using standard Kubernetes resources and custom CiliumNetworkPolicy resources for finer-grained control.
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.
VXLAN is a protocol that allows large numbers of virtual LANs to be overlaid on a physical network by encapsulating Ethernet frames within UDP packets and transporting them over an IP network. It addresses the scalability limitations of VLANs in large multi-tenant cloud environments by using a 24-bit segment ID rather than a 12-bit VLAN ID. The document provides an overview of VXLAN, why it is used, key concepts like VTEPs and VNIs, and demonstrations of VXLAN configuration on Cisco and Arista switches.
Linux Native, HTTP Aware Network SecurityThomas Graf
Cilium is open source software for transparently securing the network connectivity between application services deployed using Linux container management platforms like Docker and Kubernetes.
At the foundation of Cilium is a new Linux kernel technology called BPF, which enables the dynamic insertion of powerful security visibility and control logic within Linux itself. Because BPF runs inside the Linux kernel itself, Cilium security policies can be applied and updated without any changes to the application code or container configuration.
In the Cloud Native community, eBPF is gaining popularity, which can often be the best solution for solving different challenges with deep observability of system. Currently, eBPF is being embraced by major players.
Mydbops co-Founder, Kabilesh P.R (MySQL and Mongo Consultant) illustrates on debugging linux issues with eBPF. A brief about BPF & eBPF, BPF internals and the tools in actions for faster resolution.
Cisco ACI (Application Centric Infrastructure) is a software-defined networking solution that provides centralized management of network policies and abstraction of physical network details. It uses a leaf-spine topology with the APIC (Application Policy Infrastructure Controller) as the central controller. ACI implements software-defined networking concepts like logical abstraction of networks, centralized management, and vendor-neutral standards like OpFlex. It enables network segmentation, security, and automation through concepts like endpoint groups, contracts, and programmable APIs.
This document provides an overview of cBPF and eBPF. It discusses the history and implementation of cBPF, including how it was originally used for packet filtering. It then covers eBPF in more depth, explaining what it is, its history, implementation including different program types and maps. It also discusses several uses of eBPF including networking, firewalls, DDoS mitigation, profiling, security, and chaos engineering. Finally, it introduces XDP and DPDK, comparing XDP's benefits over DPDK.
Segment Routing provides simplified packet forwarding by encoding forwarding instructions as segments rather than per-flow state. This document compares different encodings of segments: 32-bit segments encoded directly in MPLS or UDP over IPv4/IPv6 (SRoMPLS, SRoUDP); and 128-bit segments encoded in a new IPv6 extension header (SRv6). SRoMPLS and SRoUDP are well-suited for brownfield networks as they can reuse existing MPLS and IP infrastructure with minimal overhead. SRv6 is designed for native IPv6 but has higher overhead. All approaches simplify operations but have different performance implications depending on the network environment.
Cisco® Application Centric Infrastructure (ACI) is an innovative architecture that radically simplifies, optimizes, and accelerates the entire application deployment lifecycle. Cloud, mobility, and big data applications are causing a shift in the data center model. Cisco ACI redefines the power of IT, enabling IT to be more responsive to changing business and application needs, enhancing agility, and adding business value. Cisco ACI delivers a transformational operating model for next-generation data center and cloud applications. This Cisco ACI hands lab will step you through from the ACI Fabric concepts to deployment. • Cisco ACI Overview • ACI Fabric Discovery • ACI Building Basic Network Constructs • ACI Building Policy Filters and Contracts • : Deploying a 3-Tier Application Network Profile • ACI Integrating with VMware • Deploying a Service Graph with Application Network Profile • Exploring Monitoring and Troubleshooting
OpenEBS is an open source container attached storage solution for Kubernetes that simplifies running stateful workloads. It provides containerized storage that is native to Kubernetes using features like CSI, dynamic provisioning of volumes, and integration with common DevOps tools. OpenEBS offers both local and replicated volume types to meet different use cases for availability, performance, and scalability. Developers can use OpenEBS volumes like any other Kubernetes storage by creating persistent volume claims in their applications.
Enable DPDK and SR-IOV for containerized virtual network functions with zunheut2008
Zun is an OpenStack service that manages containers as first-class resources without relying on virtual machines. The document discusses enabling DPDK and SR-IOV support in Zun to accelerate containerized network functions (NFV). It outlines challenges in using containers for NFV and how Zun addresses gaps. Benchmark tests show containers leveraging DPDK and SR-IOV through Zun can achieve near-physical server performance for networking workloads.
Cilium is an open source software that provides networking and security for Kubernetes. It implements Kubernetes networking, security policies, load balancing, and service mesh capabilities using eBPF. Cilium provides multi-cluster networking by coupling multiple Kubernetes clusters into a cluster mesh with a shared control plane. It also offers a sidecar-less service mesh that uses eBPF and Envoy for L4 and L7 traffic management instead of injecting proxies into each pod. Demos showed Cilium's multi-cluster load balancing and policies as well as its service mesh capabilities.
Redfish is an IPMI replacement standardized by the DMTF. It provides a RESTful API for server out of band management and a lightweight data model specification that is scalable, discoverable and extensible. (Cf: http://www.dmtf.org/standards/redfish). This presentation will start by detailing its role and the features it provides with examples. It will demonstrate the benefits it provides to system administrator by providing a standardized open interface for multiple servers, and also storage systems.
We will then cover various tools such as the DMTF ones and the python-redfish library (Cf: https://github.com/openstack/python-redfish) offering Redfish abstractions.
Kubernetes in Hybrid Environments with SubmarinerKublr
Submariner enables direct networking between Pods and Services in different Kubernetes clusters, either on-premises or in the cloud.
As Kubernetes gains adoption, teams are finding they must deploy and manage multiple clusters to facilitate features like geo-redundancy, scale, and fault isolation for their applications. With Submariner, your applications and services can span multiple cloud providers, data centers, and regions.
Submariner is completely open source, and designed to be network plugin (CNI) agnostic.
Submariner Provides: cross-cluster L3 connectivity using encrypted VPN tunnels; service Discovery across clusters; subctl, a friendly deployment tool; support for interconnecting clusters with overlapping CIDRs
The document discusses various data structures and functions related to network packet processing in the Linux kernel socket layer. It describes the sk_buff structure that is used to pass packets between layers. It also explains the net_device structure that represents a network interface in the kernel. When a packet is received, the interrupt handler will raise a soft IRQ for processing. The packet will then traverse various protocol layers like IP and TCP to be eventually delivered to a socket and read by a userspace application.
Virtual port channels (vPC) allow links that are physically connected to two different switches to appear as a single port channel, avoiding STP blocking. Two switches are considered vPC peers and form a vPC domain. A peer link connects the two switches to synchronize information. A peer keepalive link provides a backup communication path if the peer link fails. VLANs allowed on the peer link are considered vPC VLANs.
The document discusses middleware technologies, providing an overview of middleware categories and services. It describes middleware as software that connects diverse computer systems and formats. The main categories of middleware services discussed are data management, communication, distribution, object management, application cooperation, presentation, and system management services. Examples of specific middleware technologies like CORBA, COM/DCOM, and TAPI are also summarized. The document outlines some advantages of middleware like enabling real-time access and streamlining processes, as well as disadvantages such as high costs and immature products.
The document discusses internetworking models and the OSI reference model. It provides details on each of the 7 layers of the OSI model:
1. The Application layer handles communication between applications and users.
2. The Presentation layer translates and formats data for transmission.
3. The Session layer establishes and manages communication sessions between devices.
4. The Transport layer segments data, establishes logical connections, and ensures reliable delivery between hosts.
Call Home is an innovative system that enables network functions virtualization (NFV) and software-defined networking (SDN) in situations where virtual customer premises equipment (vCPE) is protected by a cable modem or a firewall. In this presentation, ADVA Optical Networking’s engineers outlined this new technique and explained how it makes secure NFV/SDN deployment possible when a NETCONF client is otherwise unable to initiate an SSH connection directly to the NETCONF server.
Rajendra Nagabhushan and Vikram Darsi discussed how the IETF draft for NETCONF Call Home Using SSH can be implemented as an OpenDaylight feature. They demonstrated how the technology can be applied in a real-world use-case and outlined how an ADVA Optical Networking product is being developed ahead of its 2017 release.
This document provides instructions for setting up and attending an eBPF workshop. It includes links for setting up the workshop platform, background slides, and code repository. It also lists an agenda with topics that will be covered, including setting up the eBPF lab, an introduction, eBPF 101, writing eBPF programs, BCC, and a tutorial. Attendees are asked to let the presenter know if they have any problems setting up.
BPF & Cilium - Turning Linux into a Microservices-aware Operating SystemThomas Graf
Container runtimes cause Linux to return to its original purpose: to serve applications interacting directly with the kernel. At the same time, the Linux kernel is traditionally difficult to change and its development process is full of myths. A new efficient in-kernel programming language called eBPF is changing this and allows everyone to extend existing kernel components or glue them together in new forms without requiring to change the kernel itself.
This document discusses configuring a Cisco router to act as a DHCP server. It describes the steps to create DHCP pools for two networks, 10.10.10.0/24 and 20.20.20.0/24, and configure the router's interfaces. It also explains the DHCP process and provides configuration snippets from the router to illustrate excluding addresses and verifying the configuration. The goal is to prepare readers for the Cisco CCNA certification exam.
Cilium - API-aware Networking and Security for Containers based on BPFThomas Graf
Cilium provides network security and visibility for microservices. It uses eBPF/XDP to provide fast and scalable networking and security controls at layers 3-7. Key features include identity-based firewalling, load balancing, and mutual TLS authentication between services. It integrates with Kubernetes to apply network policies using standard Kubernetes resources and custom CiliumNetworkPolicy resources for finer-grained control.
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.
VXLAN is a protocol that allows large numbers of virtual LANs to be overlaid on a physical network by encapsulating Ethernet frames within UDP packets and transporting them over an IP network. It addresses the scalability limitations of VLANs in large multi-tenant cloud environments by using a 24-bit segment ID rather than a 12-bit VLAN ID. The document provides an overview of VXLAN, why it is used, key concepts like VTEPs and VNIs, and demonstrations of VXLAN configuration on Cisco and Arista switches.
Linux Native, HTTP Aware Network SecurityThomas Graf
Cilium is open source software for transparently securing the network connectivity between application services deployed using Linux container management platforms like Docker and Kubernetes.
At the foundation of Cilium is a new Linux kernel technology called BPF, which enables the dynamic insertion of powerful security visibility and control logic within Linux itself. Because BPF runs inside the Linux kernel itself, Cilium security policies can be applied and updated without any changes to the application code or container configuration.
In the Cloud Native community, eBPF is gaining popularity, which can often be the best solution for solving different challenges with deep observability of system. Currently, eBPF is being embraced by major players.
Mydbops co-Founder, Kabilesh P.R (MySQL and Mongo Consultant) illustrates on debugging linux issues with eBPF. A brief about BPF & eBPF, BPF internals and the tools in actions for faster resolution.
Cisco ACI (Application Centric Infrastructure) is a software-defined networking solution that provides centralized management of network policies and abstraction of physical network details. It uses a leaf-spine topology with the APIC (Application Policy Infrastructure Controller) as the central controller. ACI implements software-defined networking concepts like logical abstraction of networks, centralized management, and vendor-neutral standards like OpFlex. It enables network segmentation, security, and automation through concepts like endpoint groups, contracts, and programmable APIs.
This document provides an overview of cBPF and eBPF. It discusses the history and implementation of cBPF, including how it was originally used for packet filtering. It then covers eBPF in more depth, explaining what it is, its history, implementation including different program types and maps. It also discusses several uses of eBPF including networking, firewalls, DDoS mitigation, profiling, security, and chaos engineering. Finally, it introduces XDP and DPDK, comparing XDP's benefits over DPDK.
Segment Routing provides simplified packet forwarding by encoding forwarding instructions as segments rather than per-flow state. This document compares different encodings of segments: 32-bit segments encoded directly in MPLS or UDP over IPv4/IPv6 (SRoMPLS, SRoUDP); and 128-bit segments encoded in a new IPv6 extension header (SRv6). SRoMPLS and SRoUDP are well-suited for brownfield networks as they can reuse existing MPLS and IP infrastructure with minimal overhead. SRv6 is designed for native IPv6 but has higher overhead. All approaches simplify operations but have different performance implications depending on the network environment.
Cisco® Application Centric Infrastructure (ACI) is an innovative architecture that radically simplifies, optimizes, and accelerates the entire application deployment lifecycle. Cloud, mobility, and big data applications are causing a shift in the data center model. Cisco ACI redefines the power of IT, enabling IT to be more responsive to changing business and application needs, enhancing agility, and adding business value. Cisco ACI delivers a transformational operating model for next-generation data center and cloud applications. This Cisco ACI hands lab will step you through from the ACI Fabric concepts to deployment. • Cisco ACI Overview • ACI Fabric Discovery • ACI Building Basic Network Constructs • ACI Building Policy Filters and Contracts • : Deploying a 3-Tier Application Network Profile • ACI Integrating with VMware • Deploying a Service Graph with Application Network Profile • Exploring Monitoring and Troubleshooting
OpenEBS is an open source container attached storage solution for Kubernetes that simplifies running stateful workloads. It provides containerized storage that is native to Kubernetes using features like CSI, dynamic provisioning of volumes, and integration with common DevOps tools. OpenEBS offers both local and replicated volume types to meet different use cases for availability, performance, and scalability. Developers can use OpenEBS volumes like any other Kubernetes storage by creating persistent volume claims in their applications.
Enable DPDK and SR-IOV for containerized virtual network functions with zunheut2008
Zun is an OpenStack service that manages containers as first-class resources without relying on virtual machines. The document discusses enabling DPDK and SR-IOV support in Zun to accelerate containerized network functions (NFV). It outlines challenges in using containers for NFV and how Zun addresses gaps. Benchmark tests show containers leveraging DPDK and SR-IOV through Zun can achieve near-physical server performance for networking workloads.
Cilium is an open source software that provides networking and security for Kubernetes. It implements Kubernetes networking, security policies, load balancing, and service mesh capabilities using eBPF. Cilium provides multi-cluster networking by coupling multiple Kubernetes clusters into a cluster mesh with a shared control plane. It also offers a sidecar-less service mesh that uses eBPF and Envoy for L4 and L7 traffic management instead of injecting proxies into each pod. Demos showed Cilium's multi-cluster load balancing and policies as well as its service mesh capabilities.
Redfish is an IPMI replacement standardized by the DMTF. It provides a RESTful API for server out of band management and a lightweight data model specification that is scalable, discoverable and extensible. (Cf: http://www.dmtf.org/standards/redfish). This presentation will start by detailing its role and the features it provides with examples. It will demonstrate the benefits it provides to system administrator by providing a standardized open interface for multiple servers, and also storage systems.
We will then cover various tools such as the DMTF ones and the python-redfish library (Cf: https://github.com/openstack/python-redfish) offering Redfish abstractions.
Kubernetes in Hybrid Environments with SubmarinerKublr
Submariner enables direct networking between Pods and Services in different Kubernetes clusters, either on-premises or in the cloud.
As Kubernetes gains adoption, teams are finding they must deploy and manage multiple clusters to facilitate features like geo-redundancy, scale, and fault isolation for their applications. With Submariner, your applications and services can span multiple cloud providers, data centers, and regions.
Submariner is completely open source, and designed to be network plugin (CNI) agnostic.
Submariner Provides: cross-cluster L3 connectivity using encrypted VPN tunnels; service Discovery across clusters; subctl, a friendly deployment tool; support for interconnecting clusters with overlapping CIDRs
The document discusses various data structures and functions related to network packet processing in the Linux kernel socket layer. It describes the sk_buff structure that is used to pass packets between layers. It also explains the net_device structure that represents a network interface in the kernel. When a packet is received, the interrupt handler will raise a soft IRQ for processing. The packet will then traverse various protocol layers like IP and TCP to be eventually delivered to a socket and read by a userspace application.
Virtual port channels (vPC) allow links that are physically connected to two different switches to appear as a single port channel, avoiding STP blocking. Two switches are considered vPC peers and form a vPC domain. A peer link connects the two switches to synchronize information. A peer keepalive link provides a backup communication path if the peer link fails. VLANs allowed on the peer link are considered vPC VLANs.
The document discusses middleware technologies, providing an overview of middleware categories and services. It describes middleware as software that connects diverse computer systems and formats. The main categories of middleware services discussed are data management, communication, distribution, object management, application cooperation, presentation, and system management services. Examples of specific middleware technologies like CORBA, COM/DCOM, and TAPI are also summarized. The document outlines some advantages of middleware like enabling real-time access and streamlining processes, as well as disadvantages such as high costs and immature products.
The document discusses internetworking models and the OSI reference model. It provides details on each of the 7 layers of the OSI model:
1. The Application layer handles communication between applications and users.
2. The Presentation layer translates and formats data for transmission.
3. The Session layer establishes and manages communication sessions between devices.
4. The Transport layer segments data, establishes logical connections, and ensures reliable delivery between hosts.
This document describes the architecture for mobile computing. It discusses three tiers: the presentation tier which deals with the user interface; the application tier which handles business logic and transactions; and the data tier which manages database access and storage. It also covers various middleware technologies used to connect these tiers, including message-oriented middleware, transaction processing middleware, and database middleware like ODBC and JDBC. Context-awareness and adapting content to different devices based on context is also discussed.
A brief introduction to task communication in real time operating system.It covers Inter-process communication like concepts of shared memory , message passing, remoteprocedure call .Interprocess communication (IPC) refers specifically to the mechanisms an operating system provides to allow the processes to manage shared data. Typically, applications can use IPC, categorized as clients and servers, where the client requests data and the server responds to client requests.Many applications are both clients and servers, as commonly seen in distributed computing.
The document discusses processes and threads in distributed systems. It explains that threads allow multiple executions within the same process by sharing resources like memory. Distributed systems can use multithreaded clients and servers to improve performance. Code migration is also discussed, where a program's code and execution state can be moved between machines for better load balancing or to reduce communication costs. The challenges of migrating local resources that may be fixed to a particular machine are also covered.
Internet basics and Cloud Computing- Manish Jhamanish jha
The document discusses various aspects of computer networking including hardware components, protocols, transmission media, and cloud computing. It defines modem, connectors, cables, adapters, circuits, and switches as key hardware components. It explains protocols like TCP/IP, X.25, and how protocols work by breaking data into packets and ensuring consistent transmission and reception. The document also covers OSI layers, IP addressing, domain name servers, and types of cloud computing services.
Manish Jha- Research Scholar- Internet Basics RequriementManish Jha
The document discusses various aspects of computer networking including definitions of modem, connectors, cables, adapters, circuits, switches, and leased lines. It then discusses hardware/software requirements, protocols, transmission media, and email in networking. It provides descriptions of common protocols like TCP/IP, X.25, frame relay, ATM, and sonet. It also discusses functions of protocols, how protocols work at sending and receiving computers, and differences between TCP and IP.
The OSI Model (Open Systems Interconnection Model) is a conceptual framework used to describe the functions of a networking system. The OSI model characterizes computing functions into a universal set of rules and requirements in order to support interoperability between different products and software. In the OSI reference model, the communications between a computing system are split into seven different abstraction layers: Physical, Data Link, Network, Transport, Session, Presentation, and Application.
TCP/IP Model helps you to determine how a specific computer should be connected to the internet and how data should be transmitted between them. It helps you to create a virtual network when multiple computer networks are connected together. The purpose of the TCP/IP model is to allow communication over large distances.
The document summarizes the OSI model and TCP/IP model. The OSI model has 7 layers (physical, data link, network, transport, session, presentation, application) that define a framework for network architecture. The TCP/IP model has 4 layers (application, transport, internet, network interface) and focuses on data transmission between networked computers. Both models break communication functions into layers to define protocols and network interactions.
The document discusses network layering and protocols. It describes how layering decomposes complex network systems into more manageable components and provides a modular design. Protocols define rules for data communication, including syntax, semantics, and timing. Key elements of protocols include service interfaces and peer interfaces. The OSI model is presented as a standard with 7 layers from physical to application. TCP/IP is also summarized as a 4 layer model. Socket programming interfaces are introduced as the main way for applications to connect to networks.
The document describes the OSI reference model and TCP/IP reference model. The OSI model has 7 layers - physical, data link, network, transport, session, presentation and application layer. Each layer has distinct functions and handles different aspects of managing communications. The TCP/IP model also has 4 layers - link, internet, transport and application layer. It was developed for ARPANET and focuses on reliable end-to-end delivery of packets between hosts over diverse network types.
The document discusses the OSI model which defines 7 layers of abstraction for networking including the physical, data link, network, transport, session, presentation and application layers. It then explains each of these layers and their functions. The document also covers the TCP/IP model which has 4 layers - application, transport, internet and network interface layers - and describes the purpose and role of each layer.
Inter-Process Communication (IPC) techniques on Mac OS XHEM DUTT
Inter-process communication (IPC) refers to techniques for exchanging data between processes and threads. Common IPC methods include message passing, synchronization, shared memory, and remote procedure calls. IPC is useful for information sharing, increasing computational speed, modularity, convenience, and privilege separation. Common IPC techniques on Mac OS X include shared memory, Mach ports, sockets, Apple Events, distributed notifications, pasteboards, and distributed objects. Each method has advantages and disadvantages for different use cases.
The document discusses interprocess communication in distributed systems. It introduces four widely used communication models: remote procedure call (RPC), message-oriented middleware (MOM), stream-oriented communication, and multicast communication. RPC allows processes to call procedures located on other machines transparently. MOM supports persistent asynchronous communication through message queues.
OPC is the world’s most popular standards-based data-connectivity method. It is used to answer one of the automation industry’s biggest challenges: how to communicate between devices, controllers, and/or applications without getting caught up in the usual custom driver-based connectivity problems.
SIMULATION OF SOFTWARE DEFINED NETWORKS WITH OPEN NETWORK OPERATING SYSTEM AN...ijcsit
With the emergence of recent technologies in the field of computer network, traditional infrastructure in the field of networks have become obsolete and incompatible with respect to the new architectures of open networks that emerge with force. This is how software-defined networks emerge by enabling cloud computing ecosystem, enterprise data centers, and telecommunications service providers. The major contribution of this paper is the simulation of an ecosystem based on a software defined network by making use of certain types of networks topologies and using the virtualization of the open network operating system (ONOS) and Mininet as a network emulator.
With the emergence of recent technologies in the field of computer network, traditional infrastructure in the field of networks have become obsolete and incompatible with respect to the new architectures of open networks that emerge with force. This is how software-defined networks emerge by enabling cloud computing ecosystem, enterprise data centers, and telecommunications service providers. The major contribution of this paper is the simulation of an ecosystem based on a software defined network by making use of certain types of networks topologies and using the virtualization of the open network operating system (ONOS) and Mininet as a network emulator.
The document discusses routers and the OSI reference model. It provides details on each of the 7 layers of the OSI model and what they are used for. The physical layer deals with transmission of raw data while the upper layers like application layer deal with application-specific functions. Routers operate at layer 3 and use IP addressing to forward packets between different networks by using routing tables maintained by routing protocols.
Cataloging Of Sessions in Genuine Traffic by Packet Size Distribution and Ses...IOSR Journals
Abstract: Cataloging traffic keen on precise network applications is vital for application-aware network
organization and it turn into more taxing because modern applications incomprehensible their network
behaviors. Whereas port number-based classifiers work merely for a little renowned application and signaturebased
classifiers are not significant to encrypted packet payloads, researchers are inclined to classify network
traffic rooted in behaviors scrutinized in network applications. In this document, a session level Flood
Cataloging (SLFC) approach is proposed to organize network Floods as a session, which encompasses of
Floods in the equal discussion. SLFC initially classifies flood into the analogous applications by packet size
distribution (PSD) and subsequently faction Floods as sessions by port locality. With PSD, each Flood is
distorted into a set of points in a two-Dimension space and the remoteness among all Flood and the
representatives of preselected applications are calculated. The Flood is predicted as the application having a
least distance. Meanwhile, port locality is accustomed to cluster Floods as sessions since an application often
uses successive port statistics surrounded by a session. If flood of a session are categorized into diverse
applications, an arbitration algorithm is invoked to make the improvement.
Keywords: Flood Cataloging; session grouping; session Cataloging; packet size distribution
The Internet relies on both hardware infrastructure and a layered software architecture defined by standards. The Internet Engineering Task Force develops these standards through open working groups. Key standards include the Internet Protocol Suite, which divides networking functions into layers like the Application Layer and Internet Layer. The most important component is the Internet Protocol, which provides addressing and allows internetworking. A new version, IPv6, is being adopted to address limitations of the widely used but exhausted IPv4 protocol.
Microservice Teams - How the cloud changes the way we workSven Peters
A lot of technical challenges and complexity come with building a cloud-native and distributed architecture. The way we develop backend software has fundamentally changed in the last ten years. Managing a microservices architecture demands a lot of us to ensure observability and operational resiliency. But did you also change the way you run your development teams?
Sven will talk about Atlassian’s journey from a monolith to a multi-tenanted architecture and how it affected the way the engineering teams work. You will learn how we shifted to service ownership, moved to more autonomous teams (and its challenges), and established platform and enablement teams.
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...XfilesPro
Wondering how X-Sign gained popularity in a quick time span? This eSign functionality of XfilesPro DocuPrime has many advancements to offer for Salesforce users. Explore them now!
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Łukasz Chruściel
No one wants their application to drag like a car stuck in the slow lane! Yet it’s all too common to encounter bumpy, pothole-filled solutions that slow the speed of any application. Symfony apps are not an exception.
In this talk, I will take you for a spin around the performance racetrack. We’ll explore common pitfalls - those hidden potholes on your application that can cause unexpected slowdowns. Learn how to spot these performance bumps early, and more importantly, how to navigate around them to keep your application running at top speed.
We will focus in particular on tuning your engine at the application level, making the right adjustments to ensure that your system responds like a well-oiled, high-performance race car.
Most important New features of Oracle 23c for DBAs and Developers. You can get more idea from my youtube channel video from https://youtu.be/XvL5WtaC20A
WWDC 2024 Keynote Review: For CocoaCoders AustinPatrick Weigel
Overview of WWDC 2024 Keynote Address.
Covers: Apple Intelligence, iOS18, macOS Sequoia, iPadOS, watchOS, visionOS, and Apple TV+.
Understandable dialogue on Apple TV+
On-device app controlling AI.
Access to ChatGPT with a guest appearance by Chief Data Thief Sam Altman!
App Locking! iPhone Mirroring! And a Calculator!!
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdfVALiNTRY360
Salesforce Healthcare CRM, implemented by VALiNTRY360, revolutionizes patient management by enhancing patient engagement, streamlining administrative processes, and improving care coordination. Its advanced analytics, robust security, and seamless integration with telehealth services ensure that healthcare providers can deliver personalized, efficient, and secure patient care. By automating routine tasks and providing actionable insights, Salesforce Healthcare CRM enables healthcare providers to focus on delivering high-quality care, leading to better patient outcomes and higher satisfaction. VALiNTRY360's expertise ensures a tailored solution that meets the unique needs of any healthcare practice, from small clinics to large hospital systems.
For more info visit us https://valintry360.com/solutions/health-life-sciences
Artificia Intellicence and XPath Extension FunctionsOctavian Nadolu
The purpose of this presentation is to provide an overview of how you can use AI from XSLT, XQuery, Schematron, or XML Refactoring operations, the potential benefits of using AI, and some of the challenges we face.
Mobile App Development Company In Noida | Drona InfotechDrona Infotech
Drona Infotech is a premier mobile app development company in Noida, providing cutting-edge solutions for businesses.
Visit Us For : https://www.dronainfotech.com/mobile-application-development/
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesQuickdice ERP
Explore the seamless transition to e-invoicing with this comprehensive guide tailored for Saudi Arabian businesses. Navigate the process effortlessly with step-by-step instructions designed to streamline implementation and enhance efficiency.
UI5con 2024 - Bring Your Own Design SystemPeter Muessig
How do you combine the OpenUI5/SAPUI5 programming model with a design system that makes its controls available as Web Components? Since OpenUI5/SAPUI5 1.120, the framework supports the integration of any Web Components. This makes it possible, for example, to natively embed own Web Components of your design system which are created with Stencil. The integration embeds the Web Components in a way that they can be used naturally in XMLViews, like with standard UI5 controls, and can be bound with data binding. Learn how you can also make use of the Web Components base class in OpenUI5/SAPUI5 to also integrate your Web Components and get inspired by the solution to generate a custom UI5 library providing the Web Components control wrappers for the native ones.
Using Query Store in Azure PostgreSQL to Understand Query PerformanceGrant Fritchey
Microsoft has added an excellent new extension in PostgreSQL on their Azure Platform. This session, presented at Posette 2024, covers what Query Store is and the types of information you can get out of it.
When it is all about ERP solutions, companies typically meet their needs with common ERP solutions like SAP, Oracle, and Microsoft Dynamics. These big players have demonstrated that ERP systems can be either simple or highly comprehensive. This remains true today, but there are new factors to consider, including a promising new contender in the market that’s Odoo. This blog compares Odoo ERP with traditional ERP systems and explains why many companies now see Odoo ERP as the best choice.
What are ERP Systems?
An ERP, or Enterprise Resource Planning, system provides your company with valuable information to help you make better decisions and boost your ROI. You should choose an ERP system based on your company’s specific needs. For instance, if you run a manufacturing or retail business, you will need an ERP system that efficiently manages inventory. A consulting firm, on the other hand, would benefit from an ERP system that enhances daily operations. Similarly, eCommerce stores would select an ERP system tailored to their needs.
Because different businesses have different requirements, ERP system functionalities can vary. Among the various ERP systems available, Odoo ERP is considered one of the best in the ERp market with more than 12 million global users today.
Odoo is an open-source ERP system initially designed for small to medium-sized businesses but now suitable for a wide range of companies. Odoo offers a scalable and configurable point-of-sale management solution and allows you to create customised modules for specific industries. Odoo is gaining more popularity because it is built in a way that allows easy customisation, has a user-friendly interface, and is affordable. Here, you will cover the main differences and get to know why Odoo is gaining attention despite the many other ERP systems available in the market.
E-commerce Development Services- Hornet DynamicsHornet Dynamics
For any business hoping to succeed in the digital age, having a strong online presence is crucial. We offer Ecommerce Development Services that are customized according to your business requirements and client preferences, enabling you to create a dynamic, safe, and user-friendly online store.
Top 9 Trends in Cybersecurity for 2024.pptxdevvsandy
Security and risk management (SRM) leaders face disruptions on technological, organizational, and human fronts. Preparation and pragmatic execution are key for dealing with these disruptions and providing the right cybersecurity program.
1. An Introduction to Open Fabric Interfaces
Abstract: OFI are high-performance software interfaces that provide low-latency access to fabric
hardware.
Architectural Overview
Open Fabric Interfaces, or OFI, are a set of application programming interfaces (APIs) that export
communication services to applications. OFI is specifically designed to meet the performance and
scalability requirements of high-performance computing (HPC) applications, such as MPI, SHMEM, PGAS,
DBMS, and enterprise applications, running in a tightly coupled network environment. OFI is agnostic to
the underlying networking protocols, as well as the implementation of the networking devices.
OFI is instantiated in the libfabric library. Libfabric is supported on commonly available Linux based
distributions.
OFI is architected to support process direct I/O. Process direct I/O, historically referred to as RDMA,
allows an application to access network resources without operating system interventions. Data
transfers can occur between networking hardware and application memory with minimal software
overhead. Although OFI supports process direct I/O, it does not mandate any implementation or require
operating system bypass.
The following diagram highlights the general architecture of the interfaces exposed by OFI. For
reference, the diagram shows OFI in reference to a NIC. This is provided as an example only of how
process direct I/O may be supported.
2. OFI Architecture
OFI is divided into two separate components. The main component is the OFI framework, which defines
the interfaces that applications use. The OFI frameworks provides some generic services; however, the
bulk of the OFI implementation resides in the providers. Providers plug into the framework and supply
access to fabric hardware and services. Providers are often associated with a specific hardware device
or NIC. Because of the structure of the OFI framework, applications access the provider implementation
directly for most operations, in order to ensure the lowest possible software latencies.
As captured in the architecture diagram, OFI can be grouped into four main collections of interface sets.
Control Services: These are used by applications to discover information about the types of
communication services are available in the system. For example, discovery will indicate what fabrics
are reachable from the local node, and what sort of communication each provides.
Communication Services: These interfaces are used to setup communication between nodes. It
includes calls to establish connections (connection management), as well as functionality used to
address connectionless endpoints (address vectors).
Completion Services: OFI exports asynchronous interfaces. Completion services are used to report the
results of submitted operations. Completions may be reported using event queues, which provide
details about the operation that completed. Or, completions may be reported using lower-impact
counters that simply return the number of operations that have completed.
3. Data Transfer Services: These are sets of interfaces designed around different communication
paradigms. Although shown outside the data transfer services, triggered operations are strongly related
to the data transfer operations.
There are four basic data transfer interface sets. Message queues expose the ability to send and receive
data with message boundaries being maintained. Message queues act as FIFOs, with sent messages
matched with receive buffers in the order that messages are received. Tag matching is similar to
message queues in that it maintains message boundaries. Tag matching differs from message queues in
that received messages are directed into buffers based on small steering tags that are carried in the sent
message.
RMA stands for remote memory access. RMA transfers allow an application to write data directly into a
specific memory location in a target process, or to read memory from a specific address at the target
process and return the data into a local buffer. Atomic operations are similar to RMA transfers, in that
they allow direct access to the memory on the target process. Atomic operations allow for manipulation
of the memory, such as incrementing the value found in memory. Because RMA and atomic operations
provide direct access to a process’s memory buffers, additional security synchronization is needed.
Object Model
Interfaces exposed by OFI are associated with different objects. The following diagram shows a high-
level view of the parent-child relationships.
OFI Parent-Child Object Relationships
Fabric: A fabric represents a collection of hardware and software resources that access a single physical
or virtual network. For example, a fabric may be a single network subnet. All network ports on a system
that can communicate with each other through the fabric belong to the same fabric domain. A fabric
shares network addresses and can span multiple providers.
4. Domain: A domain represents a logical connection into a fabric. For example, a domain may map to a
physical or virtual NIC. A domain defines the boundary within which fabric resources may be associated.
Each domain belongs to a single fabric.
Passive Endpoint: Passive endpoints are used by connection-oriented protocols to listen for incoming
connection requests. Passive endpoints often map to software constructs and may span multiple
domains.
Event Queues: EQs are used to collect and report the completion of asynchronous operations and
events. Event queues handle events that are not directly associated with data transfer operations,
referred to as control events. For example, connection requests and asynchronous errors that are not
associated with a specific data transfer are reported using event queues.
Wait Sets: Although OFI allows the use of native operating system constructs for applications to use
when waiting for events, it defines an optimized method for applications to use when waiting on events
across multiple event queues, completion queues, and counters. Wait sets allow a single underlying
wait object to be signaled whenever a specified condition occurs on an associated event queue,
completion queue, or counter.
Active Endpoint: Active endpoints are data transfer communication portals. Active endpoints are used
to perform data transfers, and are conceptually similar to a socket. Active endpoints are often
associated with a single hardware NIC.
Completion Queue: Completion queues are high-performance queues used to report the completion of
data transfer operations. Unlike fabric event queues, completion queues are often associated with a
single hardware NIC.
Completion Counter: Completion counters are used to report the number of completed data transfer
operations. Completion counters are considered lighter weight than completion queues, in that a
completion simply increments a counter, rather than placing an entry into a queue.
Poll Set: OFI allows providers to use an application’s thread to process asynchronous requests. This can
provide performance advantages for providers that use software to progress the state of a data transfer.
Poll sets allow an application to group together multiple objects, such that progress can be driven across
all associated data transfers. In general, poll sets are used to simplify applications where manual
progress model is employed.
Memory Region: Memory regions describe application’s local memory buffers. In order for fabric
resources to access application memory, the application must first grant permission to the fabric
provider by constructing a memory region. Memory regions are required for specific types of data
transfer operations, such as RMA and atomic operations.
Address Vectors: Address vectors are used by connectionless endpoints. They map higher level
addresses, such as IP addresses, which may be more natural for an application to use, into fabric specific
addresses. The use of address vectors allows providers to reduce the amount of memory required to
maintain large address look-up tables, and eliminate expensive address resolution and look-up methods
during data transfer operations.
5. Connection-Oriented Communication
OFI supports both connected and connectionless communication. The following diagram highlights the
general usage behind connection-oriented communication.
Connected Endpoints
Connections require the use of both passive and active endpoints. In order to establish a connection, an
application must first create a passive endpoint and associate it with an event queue. The event queue
will be used to report the connection management events. The application then calls listen on the
passive endpoint. A single passive endpoint can be used to form multiple connections.
The connecting peer allocates an active endpoint, which is also associated with an event queue.
Connect is called on the active endpoint, which results in sending a connection request (CONNREQ)
message to the passive endpoint. The CONNREQ event is inserted into the passive endpoint’s event
queue, where the listening application can process it.
Upon processing the CONNREQ, the listening application will allocate an active endpoint to use with the
connection. The active endpoint is bound with an event queue. Although the diagram shows the use of
a separate event queue, the active endpoint may use the same event queue as used by the passive
endpoint. Accept is called on the active endpoint to finish forming the connection. It should be noted
that the OFI accept call is different than the accept call used by sockets. The differences result from OFI
supporting process direct I/O.
OFI does not define the connection establishment protocol, but does support a traditional three-way
handshake used by many technologies. After calling accept, a response is sent to the connecting active
endpoint. That response generates a CONNECTED event on the remote event queue. If a three-way
handshake is used, the remote endpoint will generate an acknowledgement message that will generate
a CONNECTED event for the accepting endpoint. Regardless of the connection protocol, both the active
6. and passive sides of the connection will receive a CONNECTED event that signals that the connection has
been established.
Connectionless Communications
Connectionless communication allows data transfers between active endpoints without going through a
connection setup process. The diagram below shows the basic components needed to setup
connectionless communication.
Connectionless Endpoints
OFI requires the addresses of peer endpoints be inserted into a local addressing table, or address vector,
before data transfers can be initiated against the remote endpoint. Address vectors abstract fabric
specific addressing requirements and avoid long queuing delays on data transfers when address
resolution is needed. For example, IP addresses may need to be resolved into Ethernet MAC addresses.
Address vectors allow this resolution to occur during application initialization time. OFI does not define
how an address vector be implemented, only its conceptual model.
Address vectors may be associated with an event queue. After an address is inserted into an address
vector and the fabric specific details have been resolved, a completion event is generated on the event
queue. Data transfer operations against that address are then permissible on active endpoints that are
associated with the address vector. Connectionless endpoints must be associated with an address
vector.
Endpoints
Endpoints represent communication portals, and all data transfer operations are initiated on endpoints.
OFI defines the conceptual model for how endpoints are exposed to applications, as demonstrated in
the diagrams below.
7. Basic Endpoint Architecture
Endpoints are usually associated with a transmit context and a receive context. Transmit and receive
contexts are often implemented using hardware queues that are mapped directly into the process’s
address space, though OFI does not require this implementation. Although not shown, an endpoint may
be configured only to transmit or receive data. Data transfer requests are converted by the underlying
provider into commands that are inserted into transmit and/or receive contexts.
Endpoints are also associated with completion queues. Completion queues are used to report the
completion of asynchronous data transfer operations. An endpoint may direct completed transmit and
receive operations to separate completion queues, or the same queue (not shown).
A more advanced usage model of endpoints that allows for resource sharing is shown below.
Shared Transmit and Receive Contexts
Because transmit and receive contexts may be associated with limited hardware resources, OFI defines
mechanisms for sharing contexts among multiple endpoints. The diagram above shows two endpoints
each sharing transmit and receive contexts. However, endpoints may share only the transmit context or
only the receive context or neither. Shared contexts allow an application or resource manager to
prioritize where resources are allocated and how shared hardware resources should be used.
Completions are still associated with the endpoints, with each endpoint being associated with their own
completion queue(s).
The final endpoint model is known as a scalable endpoint. Scalable endpoints allow a single endpoint to
take advantage of multiple underlying hardware resources.
8. Scalable Endpoints
Scalable endpoints have multiple transmit and/or receive contexts. Applications can direct data
transfers to use a specific context, or the provider can select which context to use. Each context may be
associated with its own completion queue. Scalable contexts allow applications to separate resources to
avoid thread synchronization or data ordering restrictions.