Network Connectivity Use Case Modeling and YAML Syntax

Slides:



Advertisements
Similar presentations
Fraunhofer FOKUS 2007 VoIP Defender The Future of VoIP Protection Fraunhofer FOKUS Institute, Germany.
Advertisements

Mapping Service Templates to Concrete Network Semantics Some Ideas.
Umut Girit  One of the core members of the Internet Protocol Suite, the set of network protocols used for the Internet. With UDP, computer.
1 Web Servers / Deployment Alastair Dawes Original by Bhupinder Reehal.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 04. Other.
CS 340 UML Class Diagrams. A model is an abstraction of a system, specifying the modeled system from a certain viewpoint and at a certain level of abstraction.
Internet Networking Spring 2006 Tutorial 12 Web Caching Protocols ICP, CARP.
K. Salah 1 Chapter 31 Security in the Internet. K. Salah 2 Figure 31.5 Position of TLS Transport Layer Security (TLS) was designed to provide security.
© 2010, Robert K. Moniot Chapter 1 Introduction to Computers and the Internet 1.
CS3771 Today: network programming with sockets  Previous class: network structures, protocols  Next: network programming Sockets (low-level API) TODAY!
Component and Deployment Diagrams
Objectives The key roles an architecture description plays in a software project. The key roles an architecture description plays in a software project.
Lesson 1: Configuring Network Load Balancing
Lesson 19: Configuring Windows Firewall
Software Component (Container + Containee) Software Component (Container + Containee) WebServer HostedOn Compute (Container) Compute (Container) Exploring.
Common Mechanisms in UML
© 2004, Robert K. Moniot Chapter 1 Introduction to Computers and the Internet.
What Is TCP/IP? The large collection of networking protocols and services called TCP/IP denotes far more than the combination of the two key protocols.
Core 3: Communication Systems. On any network there are two types of computers present – servers and clients. By definition Client-Server architecture.
I NTRODUCTION OF S OCKET P ROGRAMMING L.Aseel AlTurki King Saud University.
UML Class Diagrams: Basic Concepts. Objects –The purpose of class modeling is to describe objects. –An object is a concept, abstraction or thing that.
NETWORK FILE SYSTEM (NFS) By Ameeta.Jakate. NFS NFS was introduced in 1985 as a means of providing transparent access to remote file systems. NFS Architecture.
Chapter 26 Client Server Interaction Communication across a computer network requires a pair of application programs to cooperate. One application on one.
1 Enabling Secure Internet Access with ISA Server.
Unicenter Desktop & Server Management Network Challenges -Latest Revision 11/28/2005.
TCP Sockets Reliable Communication. TCP As mentioned before, TCP sits on top of other layers (IP, hardware) and implements Reliability In-order delivery.
Additional SugarCRM details for complete, functional, and portable deployment.
CS355 - Theory of Computation Lecture 2: Mathematical Preliminaries.
CSE 331 Software Design & Implementation Hal Perkins Autumn 2012 Java Classes, Interfaces, and Types 1.
Connectivity Capability Features TOSCA. Aspects of Connectivity GenericIP Connectivity Resolvability: ARP: IP/MAC DNS: Name/IP MDNS: Netconf Routing/bridging/tunneling:
Firewall and Internet Access Mechanism that control (1)Internet access, (2)Handle the problem of screening a particular network or an organization from.
Presented by Xiaoyu Qin Virtualized Access Control & Firewall Virtualization.
Proposal by CA Technologies, IBM, SAP, Vnomic
October 8, 2015 University of Tulsa - Center for Information Security Microsoft Windows 2000 DNS October 8, 2015.
TOSCA Monitoring Working Group Status Roger Dev June 17, 2015.
NETWORKING COMPONENTS AN OVERVIEW OF COMMONLY USED HARDWARE Christopher Johnson LTEC 4550.
Software Component (Container + Containee) Software Component (Container + Containee) WebServer HostedOn Compute (Container) Compute (Container) Exploring.
Inter-process communication: Socket. socket Internet socket From Wikipedia, the free encyclopedia Jump to: navigation,
Computer Science 6390 – Advanced Computer Networks Dr. Jorge A. Cobb Deering, Estrin, Farinacci, Jacobson, Liu, Wei SIGCOMM 94 An Architecture for Wide-Area.
Unit 1 INTRODUCTION TO MODELING AND CLASS MODEL Ref : L7-UML.PDF.
Objective Propose a simple and concise set of “Core” Entities and Relations for TOSCA useful for any application deployment in a cloud Enable users to.
Overview of TCP/IP protocols –Application layer (telnet, ssh, http, ftp, etc) The things that we use daily. –Transport layer (TCP, UDP) Allows processes.
CS201: Data Structures and Discrete Mathematics I
Relations, Functions, and Matrices Mathematical Structures for Computer Science Chapter 4 Copyright © 2006 W.H. Freeman & Co.MSCS Slides Relations, Functions.
SugarCRM Service Template
Protocols COM211 Communications and Networks CDA College Olga Pelekanou
Eric Tryon Brian Clark Christopher McKeowen. System Architecture The architecture can be broken down to three different basic layers Stub/skeleton layer.
LAN Switching Concepts. Overview Ethernet networks used to be built using repeaters. When the performance of these networks began to suffer because too.
ER/EER to Relational Mapping Chapter 9. STEP 1 ENTITY TYPE E (non weak) -> NEW RELATION T RELATION T: – includes all simple attributes (non composite,
The Client-Server Model And the Socket API. Client-Server (1) The datagram service does not require cooperation between the peer applications but such.
Socket Programming.
Making SIP NAT Friendly Jonathan Rosenberg dynamicsoft.
 Socket class ◦ provides a rich set of methods and properties for network communications. The Socket class allows you to perform both synchronous and.
Normative Types & connectsTo The RelationshipType base type of “connectsTo” in the current draft on Normative Types in Tosca seems to be incomplete. In.
Identifying classes, Packages and drawing class Diagrams, Object Diagrams and composite structure diagrams Week 07 1.
GIS A RCHITECTURE FOR THE E NTERPRISE M ODELING A T ECHNOLOGY S OLUTION IN UML Robert W. McKitrick Jr. NC Department of Transportation GIS Unit February.
Data Communications and Networks Chapter 6 – IP, UDP and TCP ICT-BVF8.1- Data Communications and Network Trainer: Dr. Abbes Sebihi.
Objective Propose a simple and concise set of “Core” Entities and Relations for TOSCA useful for any application deployment in a cloud Enable users to.
1 K. Salah Application Layer Module K. Salah Network layer duties.
25/09/ Firewall, IDS & IPS basics. Summary Firewalls Intrusion detection system Intrusion prevention system.
COP Introduction to Database Structures
Determining Topology from a Capture File
Set, Combinatorics, Probability & Number Theory
5. End-to-end protocols (part 1)
Entity-Relationship Model
UML Class Diagrams: Basic Concepts
Instance Model Structure
Unified Modeling Language
Setting Up Firewall using Netfilter and Iptables
Starting TCP Connection – A High Level View
Presentation transcript:

Network Connectivity Use Case Modeling and YAML Syntax

Use Cases 1.Client to Server connectivity a.Single L4 port b.Multiple network L4 ports or protocols required to realize the connectivity c.Network connection in opposite direction than Req/Cap relationship 2.Symmetric connectivity a.Both A and B can connect to each other in any order 2

1(a) Client Server, Single L4 port Already supported with specific syntax – Server-side port specified – Client-side port not specified, assumed ephemeral Do we want to keep special syntax for this case or support only a more general syntax which expresses any number of ports? 3 port: type: integer constraints: - greater_or_equal: 1 - less_or_equal: 65535

1(b,c) Client Server, Multiple L4 ports 4 initiator: *consumer| provider | symmetric port_specs: - nfsd_udp: ip_proto: udp dest_port: nfsd_tcp: ip_proto: tcp dest_port: 2049 … - lockd_tcp: ip_proto: tcp dest_port: Initiator indicates which side of the connectsTo relationship initiates the connection. Symmetric means either side (any order). Consumer is default matching today’s semantic. 2.Any combination of ports can be specified. 3.‘src_port’ specifies client side 4.‘dest_port’ specifies server side 5.‘src_from’ and ‘src_to’ specify client port range 6.‘dest_from’ and ‘dest_to’ specify server port range

2(a) Symmetric connectivity 5 initiator: symmetric port_specs: - jgroups_multicast: ip_proto: igmp dest_port: All providers can initiate in any order. This means the orchestrator can ignore order. 2.connectsTo is about order. This means we cannot allow connectsTo with end points with symmetric initiation. I.e. this is a completely different relationship type. 3.For servers derived from same compute node we don’t need to say more. 4.For different compute nodes we need a relation to denote the members of the symmetric connectivity group. This is an n-ary relation if we want to support 3 or more compute nodes in the same symmetric group.

2(a) Symmetric connectivity Binary relation with group name property. All providers targeted by the relation with same name belong to same group. – Pros Allows us to continue to use binary relation syntax – Cons Still implies directionality. For every pair of nodes need relation in both directions because it is the server which denotes symmetric connectivity unless we make an exception this for this relation – Explore a non-directional relation. Not obvious since Requirement/Capabilities, the meta construct for relations, is currently fundamentally directional (asymmetric) 6

Backup Slides

Requires/Provides Component AComponent B Connector Requires (E1) Provides (E1) EndPoints are Capabilities Component A requires and endpoint E1 which B provides Component A resolves to B (and its subclasses) at assembly time

ConnectsTo (thus far) Component AComponent B ConnectsTo Requires (E1) Provides (E1) Component A connectsTo Component B i.e. Component A requires a connection to Component B Connection has been assumed to be a single network connection, e.g. Client connection of TCP to MySQL at well known port 3306 over one network connection. Client side of connection is assumed to be the requiring side of the relationship. ClientServer Connection

Additional Use Cases Multiple network L4 ports or protocols required to realize the connectivity Network connection in opposite direction than Req/Cap relationship Symmetric connectivity – Both A and B can connect to each other in any order 10

Multiple network L4 ports or protocols Consider NFS – TCP or UDP: 2049(nfsd), 111(rpcbind), 892(mountd), 662(statd) – TCP (lockd) – UDP (lockd) We must be able to express – Multiple ports – Connection direction (see opposite direction use case) Consider firewall filter tuple syntax and treat as directional flow Use white-listing (assume everything is disabled by default) NOT black-listing (we don’t know what is open by default!) 11

Network connection in opposite direction than Req/Cap A DB is deployed – It requires needs monitoring implemented by an additional monitoring node – Monitoring node connects to DB node via SSH (could be any protocol, it is the direction that is important here) to collect metrics Need to be able to express this 12 Component AComponent B Requires (E1) Provides (E1) Client Server Connection

Symmetric connectivity Consider a cluster – They may know each others’ IP address and connect to each other via the same well known port over TCP – They may use a multi-cast cluster discovery/group membership protocol This is peer-to-peer – Any member can initiate communication – Expresses membership – Order is not important (for orchestration) 13

2(a) Symmetric connectivity Options for denoting groups – N-ary membership relation Pros – Concisely captures the required semantics Cons – New construct placed in a top level element which references the end endpoints in the member nodes Need to explore syntax details – *Binary relation with group name property. All providers targeted by the relation with same name belong to same group. Pros – Allows us to continue to use binary relation syntax Cons – Still implies directionality. For every pair of nodes need relation in both directions because it is the server which denotes symmetric connectivity unless we make an exception this for this relation Explore a non-directional relation. Not obvious since Requirement/Capabilities, the meta construct for relations, is currently fundamentally directional (asymmetric) – Add a group name to the endpoint properties Pros – Sounds simple and is – The name implies membership Cons – Has implications in composability but not worse than cross document relations – Not a real relationship so tooling needs a special understanding of this 14

1(b) Client Server, Multiple L4 ports It’s useful to define sets of port_specs and refer to them by name, e.g. nfs_udp, nfs_tcp and compose them: 15 port_specs: - nfs_tcp - nfs_udp 1.‘port_spec_defs’ should be scoped by namespace 2.They can be provided at the root level of documents and implicitly as part of the environment 3.They could be generalized as part of a more general ‘connectivity spec’ port_spec_ defs: - nfs_udp - nfsd_udp: ip_proto: udp dest_port: 2049 …