70 likes | 175 Views
Some Network Connectivity Use Cases. dpalma@vnomic.com. Requires/Provides. EndPoints are Capabilities Component A requires and endpoint E1 which B provides Component A resolves to B (and its subclasses) at assembly time. Component A. Component B. Requires (E1). Provides (E1).
E N D
Some Network Connectivity Use Cases dpalma@vnomic.com
Requires/Provides • EndPoints are Capabilities • Component A requires and endpoint E1 which B provides • Component A resolves to B (and its subclasses) at assembly time Component A Component B Requires (E1) Provides (E1) Connector
ConnectsTo (thus far) • Component A connectsTo Component B • i.e. Component A requires a connection to Component B Component A Component B Requires (E1) Provides (E1) ConnectsTo Client Server Connection • 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.
Additional Use Cases • Multiple network L4 ports or protocols required to realize the connectivity • Symmetric connectivity • Both A and B can connect to each other in any order • Network connection in opposite direction than Req/Cap relationship
Multiple network L4 ports or protocols • Consider NFS • TCP or UDP: 2049(nfsd), 111(rpcbind), 892(mountd), 662(statd) • TCP 32803 (lockd) • UDP 32769 (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!)
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)
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 Component A Component B Requires (E1) Provides (E1) Client Server Connection