Download presentation
Presentation is loading. Please wait.
Published byLynn Mills Modified over 9 years ago
1
Resolving the Transport “Tussle” Recursive InterNetwork Architecture @ Computer Science Boston U. http://csr.bu.edu/rina 1
2
2 What this talk is (NOT) about NOT about specific protocols, algorithms, interfaces, implementation It’s about architecture, i.e., objects and how they relate to each other It’s based on the IPC model, not a specific implementation “Networking is inter-process communication” --Robert Metcalfe ’72
3
What’s wrong with today’s Internet? The new brave world m Larger scale, more diverse technologies m New services: content-driven, context-aware, mobile, socially-driven, secure, profitable, … Custom point-solutions: No or little “science” Lots of problems: Denial-of-service attacks, unpredictable performance, hard to manage, … 3 Mesh router with gateway Wireless Mesh Backbone Internet Cell phone Base Station VoIP + video/TV streaming Cellular Data Network Laptop PDA Ad-Hoc Wireless Network Laptop PDA Cell phone Sink Sensor Event Wireless Sensor Network
4
Questions? Is the Internet’s architecture fundamentally broken that we need to “clean slate”? m Yes Can we find a new architecture that is complete, yet minimal? If so, what is it? m RINA? Can we transition to it without requiring everyone to adopt it? m Yes 4
5
Internet’s view: one big, flat, open net Network Transport Data Link Physical Application Network Transport Data Link Physical Application Network DL PHY Web, email, ftp, … There’s no building block The “hour-glass” model imposed a least common denominator We named and addressed the wrong things (i.e. interfaces) We exposed addresses to applications www.cs.bu.edu 128.197.15.10 128.197.15.1 128.10.127.25 128.10.0.0 128.197.0.0 IP protocol TCP, UDP, … 5
6
6 Ex1: Bad Addressing & Routing Naming “interfaces” – i.e., (early) binding (of) objects to their attributes (Point-of-Attachment addresses) – makes it hard to deal with multihoming and mobility m Mobility is a dynamic form of multihoming Destination application process identified by a well- known (static) port number Bob Alice I1I1 I2I2 Want to send message to “Bob” multi-homed destination To: I 1 “Bob” I 1
7
7 Ex2: Ad hoc Scalability & Security Network Address Translator aggregates private addresses NAT acts as firewall m preventing attacks on private addresses & ports But, hard to coordinate communication across domains when we want to can’t initiate connection NAT, id A B, id B B A NAT To: NAT, id A To: B, id B Mapping Table message
8
8 Our Solution: divide-and-conquer Application processes communicate over (distributed) IPC facility How IPC managed is hidden from applications better security IPC processes are application processes of lower IPC facilities Recurse as needed better management & scalability Well-defined service interfaces predictable service quality m Applications ask for a location-independent service m The underlying IPC layer maps it to a location-dependent node name, i.e. address
9
9 Recursive Architecture based on IPC Base CaseRepeat 0-DIF 1-DIF 2-DIF node 1 node 2 node 3 node 4 DIF = Distributed IPC Facility (locus of shared state=scope) Policies are tailored to scope of DIF
10
10 What Goes into a DIF? All what is needed to manage a “private” (overlay) network m A DIF integrates routing, transport and management m In TCP/IP, we artificially isolated functions of same IPC / scope IPC Transfer IPC Control IPC Management Delimiting Transfer Relaying/ Muxing PDU Protection Common Application Protocol Applications, e.g., routing, resource allocation, access control, etc. DTSVRIB
11
11 What Goes into a DIF? Processing at 3 timescales, decoupled by either a State Vector or a Resource Information Base m IPC Transfer actually moves the data (tightly coupled mechanisms) m IPC Control (optional) for error, flow control, etc. Good we split TCP, but we split it in the wrong direction! m IPC Management for routing, resource allocation, locating applications, access control, monitoring lower layer, etc. We need only one “stateless” Common Application Protocol to access objects: CREATE, DELETE, UPDATE, … IPC Transfer IPC Control IPC Management Delimiting Transfer Relaying/ Muxing PDU Protection Common Application Protocol Applications, e.g., routing, resource allocation, access control, etc. DTSVRIB
12
Only one Data Transfer Protocol RINA decouples port allocation and access control from data transfer Allocating conn ID (ports) is done by management, IPC Access (Flow Allocation) Protocol, in a hard-state (HS) fashion Once allocated, Data Transfer can start, ala Delta-t [Watson’81] m Flows without data transfer control are UDP-like. Flows without reliability requirement do not ACK. Different policies support different requirements Delta-t is a soft-state (SS) protocol If there is a long idle period, conn state (DTSV) is discarded, but ports remain IPC Access Protocol 12
13
RINA allows scoping of services Network Transport Data Link Physical Application Network Transport Data Link Physical Application Network DL PHY TCP, UDP, … IP Web, email, ftp, … DIF The DIF is the building block and can be composed Good we split TCP, but we split TCP in the wrong direction! E2E (end-to-end principle) is not relevant m Each DIF layer provides (transport) service / QoS over its scope IPv6 is/was a waste of time! m We can have many layers / levels and not need too many addresses within a DIF layer 13
14
14 RINA: Good Addressing – private mgmt Destination application is identified by “name” Each IPC Layer (DIF) is privately managed m It assigns private node addresses to IPC processes m It internally maps app/service name to node address m Need a global namespace, but not address space m Destination application process is assigned a port number dynamically BA I1I1 I2I2 want to send message to “Bob” DIF To: B “Bob” B Bob DIF
15
15 RINA: Good Addressing - late binding Addressing is relative: node address is name for lower IPC Layer, and point-of-attachment (PoA) for higher IPC Layer Late binding of node name to PoA address A machine subscribes to different DIF layers BA I1I1 I2I2 want to send message to “Bob” BI2BI2 To: B Bob DIF B,, are IPC processes on same machine I1I1 I2I2
16
16 RINA: Better Scalability & Security – secure containers Nothing more than applications establishing communication m Authenticating that A is a valid member of the DIF m Initializing it with current DIF information m Assigning it an internal address for use in coordinating IPC m This is enrollment B A NAT? Not really!
17
17 RINA: Good Routing Back to naming-addressing basics [Saltzer ’82] m Service name (location-independent) node name (location-dependent) PoA address (path-dependent) path We clearly distinguish the last 2 mappings Route: sequence of node names (addresses) Late binding of next-hop’s node name to PoA at lower DIF level source destination
18
18 Mobility is Inherent Mobile joins new DIF layers and leaves old ones Local movement results in local routing updates CHMH
19
19 Mobility is Inherent Mobile joins new DIF layers and leaves old ones Local movement results in local routing updates CH
20
20 Mobility is Inherent Mobile joins new DIF layers and leaves old ones Local movement results in local routing updates CH
21
Compare to loc/id split (1) Basis of solutions to the multihoming issue Claim: the IP address semantics are overloaded as both location and identifier LISP (Location ID Separation Protocol) ’06 EID x EID y RLOC 1x RLOC 2y Mapping: EID y RLOC 2y 21
22
Compare to loc/id split (2) Ingress Border Router maps ID to loc, which is the location of destination Egress BR Problem: loc is path-dependent, does not name the ultimate destination EID x EID y RLOC 1x RLOC 2y Mapping: EID y RLOC 2y 22
23
LISP vs. RINA vs. … Total Cost per loc / interface change = Cost of Loc / Routing Update + [ P cons *DeliveryCost + (1-P cons )*InconsistencyCost ] : expected packets per loc change P cons: probability of no loc change since last pkt delivery RINA’s routing modeled over a binary tree of IPC Layers: update at top level involves route propagation over the whole network diameter D; update at leaf involves route propagation over D/2 h, h is tree height 23
24
LISP 24
25
LISP 25
26
RINA 26
27
RINA 27
28
RINA 28
29
MobileIP 29
30
LISP vs. RINA vs. … RINA 8x8 Grid Topology RINA uses 5 IPC levels; on average, 3 levels get affected per move LISP 30
31
Simulation: Packet Delivery Ratio BRITE generated 2- level topology Average path length 14 hops Random walk mobility model Download BRITE from www.cs.bu.edu/brite 31 RINA LISP
32
Simulation: Packet Delay 32 LISP RINA
33
Bottom Line: RINA is less costly RINA inherently limits the scope of location update & inconsistency RINA uses “direct” routing to destination node 33
34
34 Adoptability ISPs get into the IPC business and compete with host providers m Provide transport services everywhere A user joins any IPC network she chooses All IPC networks are private We could still have a public network with weak security properties, i.e., the current Internet Many IPC providers can join forces and compete with other groups
35
35 Related Work Back to networking basics m Networking is IPC and only IPC [Metcalfe ’72] Back to naming-addressing basics m Service name (location-independent) node name (location-dependent) PoA address (path-dependent) path [Saltzer ’82] m We clearly distinguish the last 2 mappings m Route: sequence of node names (addresses) m Map next-hop’s node name to PoA at lower IPC level Recursive [Touch et al. ’06] but we recurse IPC over different scopes m Beyond “middleware” and “tunneling” Loc/id split [LISP ’06] approaches: “loc” does not name the dest!
36
36 Current / Future Work Complete specification of IPC mechanism (data transfer & control) and management (routing, security, resource allocation, …) Prototyping and evaluation m Local testbed m Wide-area testbed: PlanetLab, GENI m Support for mobility, multihoming, service composition, … Experiment with new services m E.g., EaaS (Enclave as a Service), where a secure DIF is dynamically created
37
More @ http://csr.bu.edu/rina 37
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.