Pamela Zave
AT&T Laboratories—Research Florham Park, New Jersey, USA
Jennifer Rexford Princeton University Princeton, New Jersey, USA
THE GEOMORPHIC VIEW
OF NETWORKING:
THE “CLASSIC” INTERNET ARCHITECTURE
APPLICATION LAYER TRANSPORT LAYER NETWORK LAYER LINK LAYER PHYSICAL LAYER this architecture hassucceeded (beyond most peoples’ wildest dreams) in fostering innovation and
shaping the world we live in
however, it is now widely agreed that it does not meet
society’s present and future requirements security dependability mobility scalability quality of service resource management
the trend is toward a more pluralistic architecture . . . . . . with multiple, customized protocol stacks
A REAL EXAMPLE
headers in a typical AT&T packet (12 instead of 4)
Application HTTP TCP IP IPsec IP GTP UDP IP MPLS MPLS Ethernet multiple layers of resource management cellular service
(mobility, QoS, billing) security
HTTP being used as a transport protocol ( ! ) because it is the only way to traverse NAT boxes and firewalls
A REAL EXAMPLE:
WHAT ARE THE PROBLEMS?
Application HTTP TCP IP IPsec IP GTP UDP IP MPLS MPLS Ethernet COMMUNICATION SERVICES DESIGN PRINCIPLES SOFTWARE DEVELOPMENT we need . . .a broader range of services
security appropriate to each application . . . so that all applications can be developed easily and efficiently
this is not the most efficient way to satisfy the stakeholders’ requirements!
15 load-balancing algorithms apply to each packet; each
designed and analyzed in isolation we need principles that apply to all levels, produce modular and predictable behavior we need to develop all this custom software through code re-use and code generation
A NEW LAYER MODEL:
MEMBERS, ROUTING, AND
FORWARDING
E D B A C LAYER member a process, which is merely a locus of state and controlwith the potential for autonomous action
unique and persistent
within the layer name
link acommunication channel
forwarding protocol enables members to send messages to one another, using the links
routes often there is not a link between every pair of members; routes tell the forwarding protocol how to reach one member from another over the existing links,
with forwarding by intermediate members
e d
b a
A NEW LAYER MODEL:
COMMUNICATION SERVICES
channel an instance of a communication servicesession protocol implements an end-to-end communication service, on top of the basic, fundamentally unreliable,
message delivery provided by the forwarding protocol
link
session a communication channel (as are links)
LAYER
session
from the perspective of one layer,
sessions are more convenient than links
they have longer reach; might be more
reliable, better-behaved (with FIFO delivery), with guaranteed performance, etc.
e d
b a
A NEW LAYER MODEL:
THE “USES” HIERARCHY
session E A link OVERLAY (higher layer) UNDERLAY (lower layer)
when an overlay uses an underlay, a link in the overlay is implemented by a session in the underlay
registration
relates an overlay member to the underlay member that it is using on the same machine
members on the same machine communicate reliably through its operating system
to set up this link/session: A sends request to a
a looks up registration of E, finds e a sends request to e e sends request to E 1 2 3 4
A NEW LAYER MODEL:
THE MAJOR COMPONENTS
STATE PROTOCOLS ALGORITHMS can be centralized or distributed across the members in any way can be centralized or distributed across the members in any way every member must participate members attachments locations sessions links routes session protocol forwarding protocol where members are registered in underlays registrations of overlay members in this layer member algorithm attachment algorithm location algorithm link algorithm routing algorithmA NEW LAYER MODEL:
SCOPE AND LEVEL
APPLICATION LAYERS INTERNET CORE (IP, TCP, UDP) LANs application process IP interface of machine Ethernet interfacelayers are arranged in a “uses” hierarchy, which defines levels
the scope of a layer is the set or class of processes that could be members
gateway this describes the classic Internet architecture in terms of the new layer model or “geomorphic view” 1 1 2 2
THE GEOMORPHIC VIEW
OF NETWORKING
CLASSIC LAYERS OR
OSI REFERENCE MODEL
there is a fixed number of levels there can be any number of levels
each layer/level has a specialized function
each layer is a microcosm of
networking, containing all the basic components (state components and mechanisms)
the scope of each layer is global, so layer = level
some layers have small or local scopes
WE CALL THIS THE “GEOMORPHIC VIEW”
OF NETWORKING . . .
. . . BECAUSE THE COMPLEX ARRANGEMENT OF LAYERS RESEMBLES THE EARTH’S CRUST
HOW CAN THE GEOMORPHIC VIEW HELP?
SIMPLICITY
NO MORE TUNNELS NO MORE ARGUING ABOUT NAMES
vs. IDENTIFIERS vs. LOCATORS vs. ADDRESSES
the only encapsulation is inter-layer encapsulation
each layer has exactly one name space, designed for the purposes of the layer (whatever you wish to call the names)
the goal is to describe architectures with fewer, better-understood mechanisms . . . . . . rather than many ad hoc mechanisms whose interactions we do not understand
hopefully, there will be no constraints on which architectures can be described
purpose of routing is reachability purpose of routing is security
routing is vestigial
browser user
host host host
service
server security
filter
router router
HOW CAN THE GEOMORPHIC VIEW HELP?
GENERALIZATION
APPLICATION LAYER CLOUD LAYER INTERNET LAYERthe same basic mechanism is used for different purposes in different layers . . .
. . . so all layers can
benefit from the same general
A B
b1 b2
b1’ b2’
a
a1’ a2’
HOW CAN THE GEOMORPHIC VIEW HELP?
UNDERSTANDING
SESSION-LOCATION MOBILITY
layer state components
that change: layer state componentsthat change:
attachments links
routes locationssessions
BENEFITING LAYER LAYER IMPLEMENTING MOBILITY LAYERS WHERE ATTACH-MENT CHANGES
THERE ARE TWO DISTINCT
PATTERNS FOR MOBILITY a discovery enabled by the geomorphic view
DYNAMIC ROUTING MOBILITY
as the attachments of a member change, its links change,
and the routing
algorithm must find new routes to it
as the session endpoint in the overlay changes its location in this layer, the session state changes to match it
work session registration when laptop is on the bus registration when laptop is elsewhere bus company router port on bus LAN appli-cation layer implements session-location mobility for laptop —active when
laptop moves on and off bus, not when bus moves
b00 b35
b30
layer implements dynamic routing mobility for bus—active when bus moves, does nothing with individual devices on bus
HOW CAN THE GEOMORPHIC VIEW HELP?
DESIGN
COMPARISON
A DESIGN HAS ONLY ONECORRECT DESCRIPTION AN ORGANIZED SPACE OF POSSIBLE DESIGNS CAN BE GENERATED
picture shows a scalable design for
mobility of routers as well as endpoints (a previously unsolved problem)
layer implements session-location mobility for laptop layer implements dynamic routing
mobility for bus
HOW CAN THE GEOMORPHIC VIEW HELP?
FORMALIZATION
WE HAVE A FORMAL MODEL OF LAYERS ANDLAYER COMPOSITION (the “uses” hierarchy) IN ALLOY
this model becomes more complete as we use it to investigate more issues
FOR EXAMPLE, WE HAVE A COMPLETE MODEL OF DYNAMIC ROUTING AND
SESSION-LOCATION MOBILITY this model has been used to provethat dynamic routing and session-location mobility are compositional within a layer: they co-exist and work without interference
SUMMARY
WE NEED MULTIPLE, CUSTOMIZED PROTOCOL STACKS WITH . . .
better communication services design principles
code generation and re-use
THE GEOMORPHIC VIEW OF
NETWORKING IS A USEFUL TOOL— IT OFFERS . . . simplicity generalization understanding design comparison formalization
Isn’t this all too low-level for middleware and service-oriented architecture? NO! For example, mobility is everywhere you look.
my employer’s payroll my bank account bank A
ident bank Bident FINANCIAL
APPLICATION LAYER BANKING
LAYER
link used for direct deposit if I change banks, the direct deposit of my paycheck should still work