Designing a future Internet: Architecture and requirements
Download
Report
Transcript Designing a future Internet: Architecture and requirements
The Internets we did not build
David Clark
MIT CSAIL
November 2008
1
Background
FIND (Future Internet Design) is a U.S.
NSF program to look at what our global
network of 15 years from now should be.
Challenges us to think about why we built
what we built.
2
Similar efforts in Asia and Europe.
A lot we got right (perhaps surprising…)
A lot is almost an accident.
The Internet is a success
So why would we want to rethink its design?
It is not that some broad class of application is
unsupported.
Application designers have shown the broad utility of
the Internet.
The issues are centered in the broader context
within which the Internet is positioned.
3
It’s not the data plane.
Packets have proven their generality, and we have
polished the data forwarding function for years.
Need to consider a broad range of requirements.
Issues to consider
4
Security
Availability and resilience
Better management
Economic viability
Meet society’s needs
Support for tomorrow’s computing
Exploit tomorrow’s networking
Support tomorrow’s applications
Fit for purpose (it works…)
Outline of this talk
Look at some of these important objectives
Describe some emerging proposals and
approaches
Sometimes conflicting, sometimes clear.
(Sometimes my personal point of view.)
So wander between requirements and
mechanism.
5
What is wrong with the network of today?
Why is it worth considering alternative designs?
Mechanism is easier to think about.
Requirements are more fundamental.
What was that list??
Those were not requirements.
They are a wish list.
It is a big jump from any of these items to
the design of mechanism.
6
Desiderata
An aide-memoire
And that is a big issue.
Design methodology
We must think about the process of moving from objectives to
specific requirements to mechanisms and architecture.
If the problem is to big to consider at once, must modularize the design
process.
7
Beware an over-dependence on layering.
That list of issues represents a broad set of criteria:
Not just the “traditional”: performance/optimization, generality,
new technology
Implies a multi-dimensional assessment of new ideas. Implies
tradeoff and balancing.
We understand a lot more now than we did in 1974.
This current work should be based on methodical design,
analysis, theory.
Security
Use as a first example of a requirement.
Hard and important.
Why is the problem so hard?
We don’t agree on the definition of good security
We want different outcomes in different contexts.
We cannot correct the insecurity of end-nodes.
Old ideas: (good ideas, but not why we thought.)
Disclosure, integrity, availability
How does this relate to firewalls, VPNs?
8
A balance among stake-holders.
After the fact--not a part of the network
A different modularity
Attacks on communication
Attacks on the host
Infiltration (can lead to most anything)
So either prevent infiltration or limit its consequences.
Denial of service
9
Confidentiality and integrity addressed with
encryption.
Availability?? The central objective of networks.
What else?
A special case of availability.
Availability
First, as much as possible, make attacks on
communication into failures of availability.
Limit the range of attacks and responses.
Mechanism: wrap an end-to-end confirmation of identity around
a connection.
Cleanly makes many attacks on/by the network into an availability
problem.
Second, develop a theory of availability.
At a high level:
10
Think: what is excluded…?
All critical resources must be supported in a rich, heterogeneous,
diverse form.
It must be possible to detect and distinguish (to some degree)
failures.
The point of detection must be able to invoke different resources.
In general, only the end-points can detect failures.
Examples of attacks
Byzantine packet handling.
Re-routing, adding and dropping.
Only end-node can detect, so end-node must
be able to request re-routing.
Explicit
Implicit
Multi-homed end-nodes
DNS corruption (pharming)
No architectural support today to mitigate this.
11
Design is redundant, but not in face of malice.
End-to-end checks
To turn misdirection attacks into “availability problems”,
need a means to confirm with whom you are
communicating.
An issue of identity and shared information.
12
What notion(s) of identity will be suitable? (See below.)
“You” means the end-nodes, but not just the human. If
the end-node can be trusted, software can help.
Corrupted end-nodes are a central issue here.
Can a trusted helper node help?
To detect byzantine attacks, fault detection must be
integrated into the carriage of data.
Security and management are entangled.
Economic viability
Fundamentals:
Our preferences:
13
Different parts of the network are built by
different actors.
Physical facilities (fibers, towers, etc.) require
capital investment.
Investors must be motivated to invest.
Facilities owners must not control the future of
the network. Just invest in it.
What happens today?
How do facilities owners operate and interact?
One answer is that they become ISPs.
ISPs serve a critical business function today.
14
Measure/model usage
Track customers and markets
Control routing.
They don’t just move packets, but manage capital
and risk. Important economic role.
But is this role fundamental?
Some specific requirements
15
ISPs must be able to model usage and demand
sufficiently well to make investment decisions.
Users must be able to select among paths through the
network that avoid failures.
The network design must allow users a degree of choice
among providers so as to impose the discipline of
competition.
I avoided saying “routing”.
(A wrong way to say that…)
ISPs must have control of routing to ensure that
forwarding paths align with business
arrangements.
Users must have control over routing to allow
them to route around failures and improve
performance.
Users must have control of routing to allow user
choice and the discipline of competition.
Routing is a mechanism, not a requirement.
16
In a future network, might do routing differently, and
there would be no conflict…
A new idea--virtual networks
In a virtual network, facilities (routers, links, etc.)
are virtualized and then used by higher-level
service providers to implement different
networks, possibly using very different
architectures.
In a world of virtual networks, why would
someone invest in expensive facilities?
17
VPNs are a limited version of this idea today.
A new form of competition.
Owner does not control routing, so where should the
links go?
Another new ideas: futures
If investment in facilities is a “up-front” or “sunk”
cost, with a long period of depreciation and cost
recovery;
And virtual networks anticipate flexible access to
resources over a short term;
Then there must be some way to insulate
facilities investors from risk so that they will
invest.
Consider a futures market for bandwidth.
18
Happens today with really expensive cables.
A new interface
Do we need to standardize the interface
that defines this futures market?
Not sure, but if we do, it is an odd sort of
standard.
Not moving packets, but money.
Not just bandwidth, but in a location.
19
Has a lot in common with other commodity
markets.
Compare to spectrum auctions.
The alternatives?
Mandatory facilities unbundling.
Public sector investment.
20
As was called for in the Telecommunications Act of
1996 for access facilities.
As is being done in Europe today for access facilities.
Regulated rate of return or mandatory structural
separation.
Works where the motivation to invest is compelling.
Failure so far… (a controversial statement, I know.)
Interfaces define the industry
ISPs exist because of IP, and the protocols that
connect regions together.
Protocols define the services that can be
created across multiple regions.
So by creating protocols, we create
opportunities for service (e.g. revenue) creation.
21
There is no fundamental reason why ISPs look the
way they do.
Which are possible, which are dangerous?
Region interconnection
Old idea: BGP.
New ideas:
Interconnection of advanced services
Direct expression of business constraints
Routing overlays
Fault localization and correction
Interconnection of traffic aggregates
Short-term markets for service
Security issues
22
Control of DDoS
Detection of corrupted or untrustworthy regions
Observations
Management has a lot to do with
security,availability and economics.
23
These areas are not “modules”.
Cannot have a “security” or a “management”
design sub-group.
For all these areas, we have lots of great
ideas, but must sharpen the architectural
framework.
Network management
Even less structured than security.
Possible decomposition:
Fault isolation and resolution.
Network planning and configuration.
Does this framing actually decompose the
problem?
24
No real consideration in original design.
Remote management of boxes.
Do we know the modules of management?
New ideas:
Critical interfaces:
Between layers to integrate application, network and technology.
Between regions to allow cross-domain capabilities.
Expression of end-user intent.
25
Critical in solving availability problem.
Better tools for abstracting the manager’s job.
This interface is fundamental. It reflects reality.
Critical in solving availability problem.
Default management automatic, just like dynamic host
configuration.
Instrumenting the data plane to detect problems.
Back to security
Earlier we discussed protecting
communication from attacks in the net.
Other aspects include:
Consider infiltration attacks.
26
Infiltration
DDoS attacks
Either prevent infiltration or limit
consequential damage.
Start from fundamentals
Node security
Classic end-nodes will always be insecure, but we can build
fixed-function nodes that are pretty good.
What parts do we have to work with?
Applications define the range of patterns of communication that
can be utilized, and what can be seen/modified in the
communication.
Elements in the network can examine what is revealed.
End-node controls the initiation of connections and what is
sent.
Encryption blunts the power of examination/modification.
Network controls topology and completion of connections.
27
Can we build secure virtual machines?
A tussle over availability.
Practice vs. theory
These asymmetries are understood in
practice…
28
Firewall topology
“Port 80” mode in apps.
VPNs.
But are not recognized or exploited in the
design of the network.
The design challenge
What trusted components, combined with
application modes that exploit them, can
protect untrustworthy end-nodes from
attack (in particular infiltration, sabotage
and exfiltration)?
The network can enforce the needed
patterns of communication.
Network elements can examine what the
application chooses to reveal.
29
Trusted and untrusted…
Prevent infiltration
Require identity as part of session initiation.
“Firewall of the future”
Represents a loss of privacy, so use selectively.
Host-centric actions.
30
Make port scans less effective.
Inspect incoming data for “bad stuff”.
Allow end-node (or trusted helper) to open ports dynamically.
Eliminate well-known ports.
Use agent to validate incoming service requests.
Virtual machines for risky actions.
Outsource risky apps to different machine.
Prevent exfiltration
If a machine is penetrated, limit the bad
consequences.
The problem with controlling theft:
31
Could be use as zombie, deletion or
corruption of data, or theft.
Theft is a major problem today.
How can an external agent tell if the transfer
is legitimate?
The dilemma
Two stories:
Foreign hackers penetrate a system and send
information back to their country.
Foreign citizens download public information from a U.S.
web site.
Their country try to block it.
What is the difference?
32
We try to block it.
We relabeled the actors.
In one case, had to penetrate the sender to implement the pattern.
In one case, the sender’s regime tries to block, in the other the
receiver’s regime tries to block.
The design challenge, part two
33
How can we design applications and
patterns of communication that can
distinguish between these two stories,
even if the sending machine has been
penetrated?
Distinguish the stories
In the first story:
In the second story:
Put the data into an open publish-subscribe or peerto-peer distribution system.
Another example of the theory of availability.
But protect the privacy of the requester…
Balance the interests…
34
Require that data being sent get an export permit
(from a trusted machine), that the user must concur,
and that we get a strong identity of the receiver
before issuing the permit.
Don’t forget the third story, pushing information out.
Information--moving up-layer
Old idea: an application issue (ignore it.)
New idea: need a framework
Naming and identity of information.
Independent of how you get it.
But: think about privacy.
Dissemination
35
If you shout for information, the whole world hears.
Swarms, P2P: (heterogeneous).
Should this be the basic service, or on top of a transport
service?
Improves availability of information if it is pushed into the
network.
Issues to consider
36
Security
Availability and resilience
Better management
Economic viability
Meet society’s needs
Support for tomorrow’s computing
Exploit tomorrow’s networking
Support tomorrow’s applications
Fit for purpose (it works…)
The role of identity
A requirement for identity comes up often:
37
Detect misdirection attacks on communication.
Detect invalid (unauthentic) pieces of information.
Validate identity/authority of incoming connections to
prevent infiltration attacks.
Allow application/network to pick desired
communication pattern, to insert the desired degree
of checking into the path between communicating
parties, depending on the degree of trust between the
parties.
Designing identity schemes
There is more than one way we could approach identity.
A private matter among end-nodes.
Signal of identity that is visible in the network.
E.g. encrypted or meaningless except at end points.
Surveillance cameras in cyberspace.
Facilitate both policing (perhaps) and repression.
Third-party credentials vs. continuity-based familiarity.
Revocable anonymity.
Anonymity can only be revoked by its creators.
Probably need all in different circumstances, so
architecture should not constrain.
These are not choices to be made by technologists
alone.
Need a multi-disciplinary conversation.
38
I am very fearful of getting this wrong.
Identity schemes imply deception
Both a human and a technical problem.
How do you know what information to trust?
Credentials? Continuity?
Collaborative filtering (trust again).
Identity itself should be rich and heterogeneous
How can we avoid illusion on the screen?
Remember that a human is not always present.
39
Integrity through availability.
Need ability (perhaps in restricted circumstances) to
delegate decision to a program.
Mechanism design
40
The previous discussion (very incomplete)
hints at the range of issues that designers
of a future network should consider.
A future network will have mechanisms
that (at a high level) are familiar, but they
may take very different forms.
Multiplexing--a basic issue
Old (1960’s) idea: packets.
Seems to have worked out well.
New ideas:
integrated management of packets and circuits (aggregates).
Virtualization of routers and links
41
Integrated management.
Fault recovery, routing/traffic engineering.
Integrate future concepts in optics (routing vs. TE)
Avoid need to have one design.
Needs assessment against our broad list of considerations.
And these two ideas need to be harmonized.
Addressing
Old view: designed for efficient forwarding.
New view: take into account
Security issues
Management issues
Do you really want to address physical nodes?
42
Accountability, privacy, deterrence, hiding.
How about services? Information? Anycast?
But consider lower-layer management issues.
Multi-homing
Routing
Old view:
New
Find the lowest cost route
Load-based dynamics lead to instability.
ideas:
Random route selection.
Avoids DoS on link
Avoids traffic engineering.
User route selection
Multi-path routing.
Machine learning to achieve
high-level policies
43
Move route computation out
of forwarders.
Multiple simultaneous routing
schemes.
Routing regions that do not
match facilities ownership.
Connection establishment
Old idea: minimize the round trips.
New ideas:
Need a phase for exchange of identity.
May need a “cross-layer” initial exchange.
Re-modularize TCP to be less layered.
Need to diffuse attacks.
Adding a round trip or two (esp. if not always)
worth the cost in order to allow an E2E check.
44
Part of availability framework.
Fit this thinking into the DTN paradigm.
Application design
Old view (simplistic): our machines talk.
New view:
Lots of servers and services.
Need for cross-application core services.
45
Identity management, social networks.
Modulate behavior based on trust.
Application design patterns and building
blocks should be part of the future
network.
Lots of things we did not discuss
46
Naming (of all sorts of things).
Location (physical).
Social context.
Other aspects of security (e.g., DDoS),
management, economics.
Computing and network technology.
Observations
Mechanism (e.g. routing) is a response to
a set of requirements, not a given.
47
Derive mechanism, don’t presume it.
The (new) interesting interfaces will not
involve packets but control, investment,
social context, etc.
Standardize as little as possible, but no
less.