Transcript PowerPoint-presentatie - IRATI Investigating RINA as an Alternative
Unreliable inter process communication in Ethernet: Migrating to RINA with the shim DIF
27/04/2020 Sander Vrijders, Dimitri Staessens, Didier Colle, Mario Pickavet Ghent University Grasa i2CAT Boston University – iMinds Eleni Trouva, Eduard John Day, Lou Chitkushev 1
Communication between application
processes
Not to be confused with communication between interfaces TCP/IP !!!
Basic premise: All networking is inter process communication
and IPC only
All communication goes through three phases: Enrollment Flow allocation Data transfer 27/04/2020 2
Enrollment
Creates/maintains/distributes/deletes the information within a layer that is needed to create instances of communication Often
ignored
in the current internet architecture Addresses, maximum packet size, … More well-formed enrollment phases in IEEE 802.11 (WiFi) and IEEE 802.1q (VLAN) 27/04/2020 3
Flow allocation
Creates/maintains/deletes the shared state between
connection endpoint-ids
necessary to support the functions of the data transfer phase For unicast: between
2 communication processes
Also often
ignored, forgotten
Without a flow allocation phase, all Protocol Data Units (PDUs) are implicitly accepted 4 27/04/2020
Data transfer
The actual sending of data In the current architecture the other phases are often skipped Immediately skipping to data transfer causes
unreliable inter process communication
27/04/2020 5
Examining the Ethernet Header
Ethernet II: specification released by DEC, Intel, Xerox (hence also called DIX Ethernet)
Preamble MAC dest MAC src
7 bytes 6 bytes 6 bytes
802.1q header (optional)
4 bytes
Ethertype Payload
2 bytes 42-1500 bytes
FCS
4 bytes
Interfram e gap
12 bytes 27/04/2020 6
Examining the Ethernet header
IEEE 802.3 Frame
Preamble MAC dest MAC src
7 bytes 6 bytes 6 bytes
802.1q header (optional)
4 bytes
Length
2 bytes
Payload FCS
42-1500 bytes 4 bytes
Interfram e gap
12 bytes Combined with IEEE 802.2 (LLC)
DSAP
1 byte
SSAP
1 byte
Control
1-2 bytes
Information
M bytes (M>=0 ) 7 27/04/2020
Ethertype
Identifies the
syntax
of the encapsulated protocol Layers below need to know the syntax of the layer above Layer violation!
Same for the protocol id in the IPv4 header 27/04/2020 8
Consequences of using an Ethertype
Also means only
one flow
can be distinguished between an address pair The MAC address doubles as the connection endpoint-id 27/04/2020 9
Same problem with LLC?
Source and Destination Service Access Points (SAPs) are the connection endpoint-ids Allow for more than one flow to be distinguished between two communicating nodes Still
fixed endpoints
All traffic will still be accepted 27/04/2020 10
Recursive InterNet Architecture (RINA)
New internetwork architecture Unified theory of networking A layer = a distributed application that provides IPC over a certain scope, called a Distributed IPC Facility (DIF) Recurse as much as needed Can be configured to a certain policy 27/04/2020 11
Architectural model
Application Specific Tasks Other Mgt. Tasks IPC Mgt. Tasks Multipl exing IPC Resource Mgt.
SDU Protec tion Inter DIF Directory System (Host) Appl. Process Mgmt Agemt System (Router) Mgmt Agemt Appl. Process System (Host) IPC Process IPC Process DIF IPC Process Shim IPC Process Shim DIF over TCP/UDP Shim IPC Process Shim IPC Process Shim DIF over Ethernet Shim IPC Process Mgmt Agemt Data Transfer SDU Delimiting Data Transfer Data Transfer Relaying and Multiplexing SDU Protection IPC API Data Transfer Control Transmission Control Control Retransmission Control Control RIB Daemon Flow Control Flow Control Flow Control RIB Layer Management CACEP Authentication CDAP Parser/Generator Enrollment Flow Allocation Resource Allocation Forwarding Table Generator Increasing timescale (functions performed less often) and complexity
Recursive InterNet Architecture
Recognizes the three phases all communication goes through!
Other advantages of RINA: Inherent support for QoS Multihoming and mobility More secure 27/04/2020 13
Flow allocation in RINA
Application A performs a flow allocation request Application B responds to this request Accept Deny If positive reply, a flow is created: Port-id is assigned for further reference Connection (with CEP-id) is maintained in lower layer while there is active data transfer 14 27/04/2020
After flow allocation
27/04/2020 15
Flow allocation in TCP/IP
UDP has the same problem as Ethernet No flow allocation “Well-known ports” security risk Either manual configuration needed for flow allocation Or use of other protocols (for instance SIP) TCP has an incomplete flow allocation phase But, overloads the uses of the TCP port (port-id and CEP-id) another security risk So, no decoupling of the flow allocation (port-id) and data transfer phase (CEP-id) 16 27/04/2020
Shim IPC process for 802.1q
Interfaces a new model to a legacy implementation shim Allows RINA DIFs to use it unchanged Only provides the capability of a legacy layer Simulates flow allocation 27/04/2020 17
Shim IPC process over 802.1q
Spans a single Ethernet segment VLAN id is shim DIF name: joining the VLAN is considered enrolling in the shim DIF Uses Ethernet II: Only one user of the shim DIF Reuses the Address Resolution Protocol (ARP) In RINA knowing which application is available at what address(es) is part of enrollment For DIFs with small scope it can be part of flow allocation, just broadcast the allocate request 27/04/2020 18
Placement of the different PMs
27/04/2020 19
State diagram
27/04/2020 20
Conclusion
Creating the shim DIF over Ethernet reveals something about the nature of layers For reliable inter process communication, three phases have to be present Port-id and CEP-id have to be decoupled!
Port-ids seem to be a necessity for a clean separation of layers 27/04/2020 21
Questions ?
27/04/2020 Sander Vrijders [email protected]
www.ibcn.intec.ugent.be
Internet Based Communication Networks and Services (IBCN) Department of Information Technology (INTEC) Ghent University - iMinds 22