ARCHITECTURE AND
REQUIREMENTS
Robert Braden, David Clark, Scott Shenker, and John Wroclawski. Developing a Next-Generation
Internet Architecture. July 15, 2000.
https://groups.csail.mit.edu/ana/Publications/DevelopingaNextGenerationI nternetArchitecture.pdf
NGI Architecture
2
Summary
3
¨
1 Introduction
¨
2 Defining the Problem Space
¤
2.1 What is Network architecture?
¤
2.2 Example: the Internet Architecture
¤
2.3 Why is Architecture Important?
¤
2.4 The Original Requirements
Summary
4
¨
3 Developing A New Architecture
¤
3.1 New Architecture Requirements
¤
3.2 New Architecture Design
n 3.2.1 New Architectural Principles
n 3.2.2 New Meta-Architectural Principle
¨
4 Project Organization
¤
4.1 Design Team
¤
4.2 Proof-of-Concept for New Architecture
¤
4.3 Technology Transfer
¨
5 Conclusions
Original Internet Architecture Requirements
5
¨
Internetworking
¨
Robustness
¨
Heterogeneity
¨
Distributed management
¨
Cost
¨
Ease of Attachment
¨
Accountability
CLARK, David. Designing an Internet. MIT Press.
2018.
Chapter 3
Architecture and Design
6
What is Architecture?
7
¨
A process
¤
It involves putting components and design elements together to make an entity that serves a purpose.
¨
An outcome
¤
It describes a set of entities that are defined by their form
¨
A discipline
¤
It is what architects are trained to do.
All three apply to Computer Science
Architecture as a process
8
¨
Putting components together:
¤
Design patterns such as: modularity, interfaces,
dependency, layering, abstraction, and component reuse.
¨
For a purpose:
¤
What the system is intended to do, as well as what it
cannot do
Architecture as an outcome
9
¨
Single copy of the result x multiple copies
¨
A class of design
¨
Many different networks built based on the same design:
¤
Public global network (“the Internet”)
¤
Private networks (eg. corporative, military, etc.)
¤
Special-use networks (e.g. financial networks)
Architecture as a discipline
10
¨
“Real” architects do not normally concern
themselves with issues such as structural engineering;
they leave that to others.
¨
Architects are primarily trained in the process of design.
¨
They look at lots of buildings and ask questions such as:
¤ Do they meet the needs of the user?
¤ Are they visually attractive?
¤ How were the design trade-offs handled?
What is not included in the architecture?
11
¨
Differences in:
¤ Performance
¤ Degree of resilience
¤ Tolerance of mobility
¤ Attention to security
¨
Design decisions at this level build on the core
architecture but are not specified by the core
architecture.
Elements of Network Architecture
12
¨
Criteria that can determine whether a particular issue rises to the level of architecture:
¤
Whether agreement on the issue is necessary for the system to function
¤
Whether it is convenient to agree on an issue
¤
Whether the issue defines the basic modularity or functional dependency of the system
¤
Whether it is important that the issue in question be
stable over time.
Issues on which we must all agree
13
¨
Packet header format
¤
Could be different in different regions. The architecture would describe what sort of architectural support is
provided for the conversion.
¨
Single, global address space
¤
It is now clear that there need not be global agreement on a uniform meaning of addresses.
¨
Autonomous System (ASs) exchange of information
¤
BGP, AS numbers, multicast classes
Issues on which it is convenient to agree
14
¨
Use of DNS
¨
Use of TCP
¨
Since they are heavily used by applications.
The basic modularity of the system
15
¨
Modules and interfaces
¨
Service interface (above and below)
¤ IP service interface: best-effort packet-level delivery model
¨
AS interface
¨
The specific details are not part of the architectural
specification.
Functional dependencies
16
¨
The proper operation of the Internet depends on the proper functioning of the routers.
¨
An early Internet design goal was: “If there are two computers hooked to a network, and each one
knows the address of the other, they should be able to communicate. Nothing else should be needed.”
¤ Minimal functional dependencies goal.
Long-lasting Aspects
17
¨
Longevity requires the ability to change, and to upgrade and replace aspects of the system.
¨
There are aspects that seem like durable invariants,
specifying them as part of the design can provide
stable points around which the rest of the system
can evolve.
The role of interfaces
18
¨
Specification of how modules interconnect to make up the overall system.
¨
Fixed points in the architecture, which are hard to change because many modules depend on them.
¨
“constraints that deconstrain”:
¤
Points of fixed functionality that separate modules so
that the modules can evolve independently rather than
being intertwined.
Layering
19
¨
A particular kind of modularity.
¨
Asymmetry of dependence:
¤
Two modules have a layered relationship, if the correct
functioning of the lower-layer module does not depend
on the correct functioning of the higher-layer module.
Summary
20
¨
Key principle: architectural minimality
¨
Paraphrasing Einstein: “the architecture should be as minimal as possible, but no less.”
¨
It should include only those aspects that fit the
framework presented here, given the requirements
that a given architecture sets out to address.
CLARK, David. Designing an Internet. MIT Press.
2018.
Chapter 4
Requirements
21
Fitness for Purpose – What is a Network For?
22
¨
First requirement: provide a useful service.
¨
Service model of the original Internet:
¤
Deliver a packet (of a certain maximum size) as best as it can from any source to a destination specified by an IP address.
¤
It is silent on what the network should not do, opening
the door to the malicious behavior seen on the Internet
today.
Should the Network Do More?
23
¨
Trade-off between what the network should do and what a service layer on top of the network could do for a class of applications.
¨
Several threads of network research are exploring the addition of new functionality to the network.
¨
New services added to the Internet specification:
¤ Anycast, multicast
¤ QoS forwarding
Rethinking the basic service
24
¨
A packet could be delivered to a more abstract conception of a destination, a service.
¤
Generalization of the anycast concept.
¤
Routing and forwarding schemes must be scaled to deal with a very large number of such addresses.
¨
The network should deliver to the requester a
packet of contents, without the requester knowing anything about the location of the contents.
¤
Information-centric networking (ICN)
Generality of Purpose
25
¨
The Internet is a general-purpose network.
¨
Drawback:
¤
The service a general network delivers is almost certainly not optimal for any particular application.
¤
It may also take more effort to design each application than if the network were tailored to that application.
¨
Dominant application over the years:
¤
Email, Web, streaming
Generality of Technology
26
¨
The Internet was structured so that it could work over a wide range of communications technologies.
¨
The architecture made minimal assumptions about
what these technologies could do.
Longevity
27
¨
A long-lived network must be evolvable
¤
It must have the adaptability and flexibility to deal with changing requirements while remaining
architecturally coherent.
¨
Stability of the system:
¤
the ability of the system to provide a platform that
does not change in disruptive ways.
Longevity: subsidiary requirements
28
¨
Support for tomorrow’s computing
¤ From small sensors (things) thru high-end processing
¤ We will see the emergence of more than one network architecture (each target toward a subset of devices).
¨
Utilize tomorrow’s networking
¤ Wireless and optical
¤ A FIA should allow more variation in how functions are realized.
¨
Support tomorrow’s applications
¤ Security and privacy requirements, support for highly available applications, real-time services, new sorts of naming, etc.
Security
29
¨
Ideally, an internet architecture would have a
coherent security framework that makes clear what role the network, the application, the end node, and other components have in enabling and maintaining good security.
¨
More on Chapter 10.
Availability and Resilience
30
¨
Improving availability requires attention to:
¤ Security
¤ Good network management and preventing errors by operators
¤ Good fault detection and recovery.
¨
The research community does not have an architectural view of availability.
¨
More on Chapter 11.
Management
31
¨
It was not clear early on (and is not yet clear) what aspects of network operation would (or should)
involve human operators and which would preferably be automated if possible.
¨
There may note be a single coherent issue that is management.
¨
More on Chapter 13.
Economic Viability
32
¨
The set of entities (e.g., commercial firms) the
architecture implies, each will have the incentive to play the role the architecture defines for it.
¨
In the current Internet the fundamental tussle is the tension between an open architecture and the
desire to monetize infrastructure.
¨
More on Chapter 12.
Meeting the Needs of Society
33
¨
Important social considerations:
¤
Balance between surveillance and accountability, and anonymous action and privacy.
¨
Users want a network that is reliable and trustworthy
¤
But they do not want either the private sector or
government watching what they (and the criminals as well) are doing.
¨
More on Chapter 14.
Moving beyond Requirements
34
¨
There are no well-honed design methods to aid in the process of moving from these requirements to mechanisms and architecture.
¨
Design is not optimization along a single dimension but rather a balancing of different priorities.
¤ And most are just qualitative objectives.
¨
The fundamental modularity of the system had
better be specified before the design process itself is modularized.
¤ The modularity dictates the design process.
Requirements and Architecture
35
¨
How do the requirements relate to architecture?
¨
An architecture does not directly specify a system that meets these requirements
¤ It provides a framework within which it is possible to design a system that meets these requirements.
Leitura
36
¨