ARCHITECTURE AND REQUIREMENTS Prof Jos Augusto Suruagy Monteiro

  • Slides: 36
Download presentation
ARCHITECTURE AND REQUIREMENTS Prof. José Augusto Suruagy Monteiro suruagy@cin. ufpe. br

ARCHITECTURE AND REQUIREMENTS Prof. José Augusto Suruagy Monteiro suruagy@cin. ufpe. br

2 NGI Architecture Robert Braden, David Clark, Scott Shenker, and John Wroclawski. Developing a

2 NGI Architecture 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/Developinga. Next. Gener ation. Internet. Architecture. pdf Arquiteturas de Redes de Computadores (2019. 1)

Summary 3 1 Introduction 2 Defining the Problem Space � 2. 1 What is

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 Arquiteturas de Redes de Computadores (2019. 1)

Summary 4 3 Developing A New Architecture � 3. 1 New Architecture Requirements �

Summary 4 3 Developing A New Architecture � 3. 1 New Architecture Requirements � 3. 2 New Architecture Design 3. 2. 1 New Architectural Principles 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 Arquiteturas de Redes de Computadores (2019. 1)

5 Original Internet Architecture Requirements Internetworking Robustness Heterogeneity Distributed management Cost Ease of Attachment

5 Original Internet Architecture Requirements Internetworking Robustness Heterogeneity Distributed management Cost Ease of Attachment Accountability Arquiteturas de Redes de Computadores (2019. 1)

6 Architecture and Design CLARK, David. Designing an Internet. MIT Press. 2018. Chapter 3

6 Architecture and Design CLARK, David. Designing an Internet. MIT Press. 2018. Chapter 3 Arquiteturas de Redes de Computadores (2019. 1)

What is Architecture? 7 A process � It involves putting components and design elements

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 Arquiteturas de Redes de Computadores (2019. 1)

Architecture as a process 8 Putting components together: � Design patterns such as: modularity,

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 Arquiteturas de Redes de Computadores (2019. 1)

Architecture as an outcome 9 Single copy of the result x multiple copies A

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) Arquiteturas de Redes de Computadores (2019. 1)

Architecture as a discipline 10 “Real” architects do not normally concern themselves with issues

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? Arquiteturas de Redes de Computadores (2019. 1)

11 What is not included in the architecture? Differences in: � Performance � Degree

11 What is not included in the architecture? 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. Arquiteturas de Redes de Computadores (2019. 1)

12 Elements of Network Architecture Criteria that can determine whether a particular issue rises

12 Elements of Network Architecture 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. Arquiteturas de Redes de Computadores (2019. 1)

13 Issues on which we must all agree Packet header format � Could be

13 Issues on which we must all agree 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 Arquiteturas de Redes de Computadores (2019. 1) � BGP, AS numbers, multicast classes

14 Issues on which it is convenient to agree Use of DNS Use of

14 Issues on which it is convenient to agree Use of DNS Use of TCP Since they are heavily used by applications. Arquiteturas de Redes de Computadores (2019. 1)

15 The basic modularity of the system Modules and interfaces Service interface (above and

15 The basic modularity of the system 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. Arquiteturas de Redes de Computadores (2019. 1)

Functional dependencies 16 The properation of the Internet depends on the proper functioning of

Functional dependencies 16 The properation 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. Arquiteturas de Redes de Computadores (2019. 1)

Long-lasting Aspects 17 Longevity requires the ability to change, and to upgrade and replace

Long-lasting Aspects 17 Longevity requires the ability to change, and to upgrade and replace aspects of the system. There 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. Arquiteturas de Redes de Computadores (2019. 1)

The role of interfaces 18 Specification of how modules interconnect to make up the

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. Arquiteturas de Redes de Computadores (2019. 1)

Layering 19 A particular kind of modularity. Asymmetry of dependence: � Two modules have

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. Arquiteturas de Redes de Computadores (2019. 1)

Summary 20 Key principle: architectural minimality Paraphrasing Einstein: “the architecture should be as minimal

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. Arquiteturas de Redes de Computadores (2019. 1)

21 Requirements CLARK, David. Designing an Internet. MIT Press. 2018. Chapter 4 Arquiteturas de

21 Requirements CLARK, David. Designing an Internet. MIT Press. 2018. Chapter 4 Arquiteturas de Redes de Computadores (2019. 1)

22 Fitness for Purpose – What is a Network For? First requirement: provide a

22 Fitness for Purpose – What is a Network For? 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. Arquiteturas de Redes de Computadores (2019. 1)

Should the Network Do More? 23 Trade-off between what the network should do and

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 � Qo. S forwarding Arquiteturas de Redes de Computadores (2019. 1)

Rethinking the basic service 24 A packet could be delivered to a more abstract

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. Arquiteturas de Redes de Computadores (2019. 1)(ICN) � Information-centric networking

Generality of Purpose 25 The Internet is a general-purpose network. Drawback: � The service

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 Arquiteturas de Redes de Computadores (2019. 1)

Generality of Technology 26 The Internet was structured so that it could work over

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. Arquiteturas de Redes de Computadores (2019. 1)

Longevity 27 A long-lived network must be evolvable � It must have the adaptability

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. Arquiteturas de Redes de Computadores (2019. 1)

28 Longevity: subsidiary requirements Support for tomorrow’s computing � From small sensors (things) thru

28 Longevity: subsidiary requirements 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. More on Chapter 9 Arquiteturas de Redes de Computadores (2019. 1)

Security 29 Ideally, an internet architecture would have a coherent security framework that makes

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. Arquiteturas de Redes de Computadores (2019. 1)

Availability and Resilience 30 Improving availability requires attention to: � Security � Good network

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. Arquiteturas de Redes de Computadores (2019. 1)

Management 31 It was not clear early on (and is not yet clear) what

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. Arquiteturas de Redes de Computadores (2019. 1)

Economic Viability 32 The set of entities (e. g. , commercial firms) the architecture

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. Arquiteturas de Redes de Computadores (2019. 1)

Meeting the Needs of Society 33 Important social considerations: � Balance between surveillance and

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. Arquiteturas de Redes de Computadores (2019. 1)

Moving beyond Requirements 34 There are no well-honed design methods to aid in the

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. Arquiteturas de Redes de Computadores (2019. 1)

Requirements and Architecture 35 How do the requirements relate to architecture? An architecture does

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. Arquiteturas de Redes de Computadores (2019. 1)

Leitura 36 D. Clark. 1988. The design philosophy of the DARPA internet protocols. In

Leitura 36 D. Clark. 1988. The design philosophy of the DARPA internet protocols. In Symposium proceedings on Communications architectures and protocols (SIGCOMM '88), Vinton Cerf (Ed. ). ACM, New York, NY, USA, 106 -114. DOI=http: //dx. doi. org/10. 1145/52324. 52336 Arquiteturas de Redes de Computadores (2019. 1)