abstractions of the data plane
play

ABSTRACTIONS OF THE DATA PLANE DIMACS Working Group on - PowerPoint PPT Presentation

ABSTRACTIONS OF THE DATA PLANE DIMACS Working Group on Abstractions for Network Services, Architecture, and Implementation Pamela Zave AT&T LaboratoriesResearch Florham Park, New Jersey, USA joint work with Jennifer Rexford, Princeton


  1. ABSTRACTIONS OF THE DATA PLANE DIMACS Working Group on Abstractions for Network Services, Architecture, and Implementation Pamela Zave AT&T Laboratories—Research Florham Park, New Jersey, USA joint work with Jennifer Rexford, Princeton University

  2. WHAT WE ATE FOR LUNCH CHINESE FOOD, OF COURSE, AND LEARNED THAT . . . “We find comfort among those who agree with us— growth among those who don’t.”

  3. THE PREVAILING ABSTRACTION OF THE DATA PLANE applications and APPLICATION LAYER mnemonic names reliable (or TRANSPORT LAYER unreliable) transport best-effort global NETWORK LAYER packet delivery best-effort local LINK LAYER packet delivery physical transfer PHYSICAL LAYER of bits abstractions from “The future of networking, and the past of protocols” [Shenker 2011]

  4. WHY SHOULD WE QUESTION THIS? 1 Because there are many applications and APPLICATION LAYER mnemonic names serious problems with the reliable (or TRANSPORT LAYER current Internet, and we must unreliable) transport look at all possible solutions. best-effort global NETWORK LAYER packet delivery 2 Because the purpose of the best-effort local LINK LAYER packet delivery control plane is to manage the physical transfer data plane, so a well-structured PHYSICAL LAYER of bits data plane may be the key to a well-structured control plane. For example, “An axiomatic basis for communication” is intended to formalize what routers do . . . . . . but much of the space is devoted to a careful discussion of the behavior of the data plane. [Karsten, Keshav, Prasad & Beg 2007]

  5. WHY SHOULD WE QUESTION THIS? 3 Because it is not realistic. headers in a typical AT&T packet Cloud Service HTTP TCP 15+ load balancing / routing algorithms are involved in getting this packet to its IP destination . . . IPsec . . . most with different goals in mind; IP . . . most have been analyzed / designed in some state of isolation; GTP (QoS, billing) . . . all are getting more dynamic every day UDP IP from “Cloud computing and my worries about the network that enables it” MPLS [Spatscheck 2010] MPLS Ethernet

  6. A BETTER ABSTRACTION OF THE DATA PLANE? APPLICATION LAYER MIDDLEWARE LAYER TRANSPORT LAYER this is more realistic, . . . LISP LAYER . . . but consensus would be difficult to achieve . . . NETWORK LAYER . . . and not long-lasting MPLS LAYER LINK LAYER PHYSICAL LAYER

  7. A DIFFERENT VIEW OF THE DATA PLANE upper interface is a specification of communication services (provided) Each layer is a distributed includes transport, system with the same routing, and abstract functionality LAYER forwarding and the same abstract state. lower interface is a specification of communication services (used) This pattern is LAYER LAYER instantiated many this hypothesis times in a network comes from architecture, for Patterns in many purposes, at Network LAYER many levels, and Architecture with many different scopes. [Day 2008] LAYER LAYER LAYER

  8. WE CALL THIS THE “GEOMORPHIC VIEW” OF NETWORKS . . . . . . BECAUSE THE ARRANGEMENT OF LAYERS RESEMBLES THE EARTH’S CRUST it is inspired by Day’s ideas, with many changes in terminology and (we hope) improvements

  9. OUTLINE 1 Basic information about layers 2 Frequently-asked questions 3 Examples 4 Summary and conclusions

  10. LAYERS: MACHINES AND PROCESSES machine machine the OPERATING SYSTEM creates these processes and enables them to communicate quickly and reliably with each other this communication is assumed as a building block these processes can only communicate through a NETWORK, with all of the challenges we know well we can choose to regard a virtual . . . and to regard communication machine as a machine . . . through the hypervisor and softswitch of a physical machine as networked communication, and an object of study

  11. LAYERS: MEMBERS, NAMES, AND ROUTING a member has a name that is unique a member is a process each layer and permanent (although re-usable) that represents its has its own machine in that layer name space OVERLAY B E (higher layer) a link is an instance or usage member process link of a communication service e b d UNDERLAY (lower layer) c a members are connected because there is usually not a routing protocol to each other by links link between each pair of members, maintains routes routes tell members how to reach as links change each other

  12. LAYERS: REGISTRATIONS a registration maps an both processes are the underlay process is a overlay process to an on the same machine process in the lower layer underlay process that represents the overlay process to the network here these OVERLAY registrations B E (higher layer) are attachments registrations e here these b d UNDERLAY registrations (lower layer) are locations c a registrations can be created or destroyed by either layer

  13. LAYERS: CHANNELS a channel is an instance or usage of a communication service a channel can be implemented as a service by an underlay for an overlay in the overlay, OVERLAY the channel is B E (higher layer) called a link higher endpoint lower endpoint in the underlay, e b d the channel is UNDERLAY called a session (lower layer) c a when b receives a channel request underlay includes a transport from B for E , it uses locations protocol that enforces the to find that E is located at e service specification

  14. LAYERS: SCOPE AND LEVEL layers are arranged in a the scope of a layer is the set or class usage hierarchy, which of processes that could be members defines levels application process APPLICATION LAYERS IP interface of networked machine this is the geomorphic INTERNET view of the CORE classic (IP, TCP, UDP) Internet architecture LANs AND WANs Ethernet port interface gateway

  15. LAYERS: VARIATIONS here there is no routing, because members are fully connected by communication “The end- services to-end Web argument server appli- client and cation applica- tion design: The here the communication role of trust” services offered might here the purpose of routing [Clark & include security, is to provide services such Blumenthal anycast, broadcast, etc. as security 2011] security server client cloud filter “CloudNaaS: A cloud networking here the filter is platform for enterprise applications” here the communication “in the network” [Benson, Akella, services might be only Shaikh & Sahu 2011] point-to-point here the filter is an “endpoint” here the purpose of routing is reachability host router host Internet router host

  16. LAYERS: SOFTWARE STATE OF A LAYER a layer is a distributed software system overlay this is a snapshot of its distributed, dynamic state locations: set Registration related to serving sessions: set Channel overlays members: set Process strictly depends on internal forwarding: set Route related to attachments: set Registration using underlays links: set Channel underlay underlay

  17. OUTLINE 1 Basic information about layers 2 Frequently-asked questions 3 Examples 4 Summary and conclusions

  18. FAQ: HOW IS THE GEOMORPHIC VIEW DIFFERENT FROM OVERLAYS? “MOSAIC: Unified geomorphic view declarative platform attempts to explain for dynamic overlay what is in each composition” layer, as well as how they compose LAYER [Mao, Loo, Ives & Smith 2008] LAYER LAYER layering bridging LAYER geomorphic view has no unique reference point, so LAYER LAYER LAYER there is nothing for an “overlay” to be “over”

  19. FAQ: IS THE GEOMORPHIC VIEW DESCRIPTIVE OR PRESCRIPTIVE? there should be no major function or FUNCTIONALLY, IT IS DESCRIPTIVE design that cannot be described HOWEVER, THERE ARE FEWER no arguing about names vs. identifiers MECHANISMS THAN ARE FOUND vs. locators vs. addresses—each layer “IN THE WILD” has one name space, designed and used for the purposes of the layer no tunneling used as an intra-layer exception to the routing system—just inter-layer interfaces FEWER MECHANISMS COULD MEAN: GOAL IS TO CHOOSE THE MECHANISMS THAT ARE THE BEST each design has exactly one BECAUSE THEY FACILITATE . . . correct description . . . composition—of layers, designs can be compared easily mechanisms within a layer, or reasoning methods it is possible to map out structured spaces of design trade-offs . . . separation of concerns, so that diverse goals can be met without it is possible to get implementations interfering with each other by code generation and re-use

  20. OUTLINE 1 Basic information about layers 2 Frequently-asked questions 3 Examples 4 Summary and conclusions

  21. EXAMPLE: COMPARING RESEARCH RESULTS WHAT DO LISP AND SEATTLE HAVE IN COMMON? Locator/Identifier Separation Protocol edge routers are fully connected Endpoint RLOC (IP by IP links Identifier (EID) address) enterprise site enterprise site LISP layer R1A R2C E2 E1 R1B R2D when E1 sends to E2, R1A or R1B needs route to E2, because IP forwarding tables are sparsely layer R1A R2D populated route is (routes are) the same from every router, so the route can be obtained by directory lookup

Recommend


More recommend