school of computing national university of singaporetbma/teaching/cs5229y... · design principles...

41
Design Principles of Internet Richard T. B. Ma School of Computing National University of Singapore CS 5229: Advanced Compute Networks

Upload: others

Post on 12-Mar-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: School of Computing National University of Singaporetbma/teaching/cs5229y... · Design Principles for Tussles Design for choice Protocols should be designed such that all parties

Design Principles of Internet

Richard T. B. Ma

School of Computing

National University of Singapore

CS 5229: Advanced Compute Networks

Page 2: School of Computing National University of Singaporetbma/teaching/cs5229y... · Design Principles for Tussles Design for choice Protocols should be designed such that all parties

References

David D. Clark, “The Design Philosophy of the DARPA Internet Protocols”, ACM Computer Communication Review Vol. 18, No. 4, August 1988, pp. 106-114.

David D. Clark, John Wroclawski, Karen R. Sollins, Robert Braden, “Tussle in Cyberspace: Defining Tomorrow’s Internet”, IEEE/ACM Transactions on Networking, Vol. 13, No. 3, June 2005.

Page 3: School of Computing National University of Singaporetbma/teaching/cs5229y... · Design Principles for Tussles Design for choice Protocols should be designed such that all parties

The Born of the Internet

The TCP/IP protocol suite was developed by the US Defense Advanced Research Projects Agency (DARPA) in the 70’s.

Fundamental Goal: interconnect disjoint networks and share resources effectively ARPANET and ARPA packet radio network

Enable ARPA packet radio network users access to more powerful ARPANET service machines

Page 4: School of Computing National University of Singaporetbma/teaching/cs5229y... · Design Principles for Tussles Design for choice Protocols should be designed such that all parties

Design Choices and Reasoning

A. Build a tightly integrated, unified network

B. Interconnect existing networks

A. Packet switching

B. Circuit switching

Page 5: School of Computing National University of Singaporetbma/teaching/cs5229y... · Design Principles for Tussles Design for choice Protocols should be designed such that all parties

Design Choices and Reasoning

A. Build a tightly integrated, unified network

B. Interconnect existing networks

Incorporate existing networks is necessary to be practical, and networks represent separately administrated entities.

A. Packet switching

B. Circuit switching

Existing networks used packet switching, natural choice for remote login application.

Page 6: School of Computing National University of Singaporetbma/teaching/cs5229y... · Design Principles for Tussles Design for choice Protocols should be designed such that all parties

The Fundamental Structure

Assumption: Store and forward packet switching techniques

are well understood.

Packet switching networks connected by “gateways”, i.e., the routers

Each router implements a store and forward mechanism

Page 7: School of Computing National University of Singaporetbma/teaching/cs5229y... · Design Principles for Tussles Design for choice Protocols should be designed such that all parties

Second Level Goals

Accommodate a variety of networks

Allow host attachment with minimum effort

Communication must continue despite loss of networks/gateways

Cost effective

Permit distributed management of its resources

Resources must be accountable

Support multiple types of communication services

Page 8: School of Computing National University of Singaporetbma/teaching/cs5229y... · Design Principles for Tussles Design for choice Protocols should be designed such that all parties

Order of Importance/Priorities

Robustness: communication must continue despite loss of networks/routers

Versatility: accommodate a variety of services and networks

Distributiveness: permit distributed management of its resources

Cost effectiveness

User friendliness: allow host attachment with minimum effort

Accountability of resources

Page 9: School of Computing National University of Singaporetbma/teaching/cs5229y... · Design Principles for Tussles Design for choice Protocols should be designed such that all parties

Robustness: Interpretation

Survivability in the face of failure

Communication should continue after temporary disruption without the need to reset high-level connection states.

From above the transport, the only observable failure is total partition, which is achieved by masking transient failures.

High-level on-going state information must be protected.

Page 10: School of Computing National University of Singaporetbma/teaching/cs5229y... · Design Principles for Tussles Design for choice Protocols should be designed such that all parties

Design Choices and Reasoning

Store connection/flow states in:

A. Packet switching nodes (replication)

B. End nodes (fate-sharing)

Easier to implement than replication

Replication only protects against finite number of node failures.

Stateless or datagram network

More trust is placed on the host machines than the network to ensure reliability

Page 11: School of Computing National University of Singaporetbma/teaching/cs5229y... · Design Principles for Tussles Design for choice Protocols should be designed such that all parties

Versatility: Types of Services

Remote login Need low delay and reliability

Throughput is not critical

File transfer Need reliability and high throughput

Delay is not critical

Teleconferencing Need low delay

Reliability is not critical

Page 12: School of Computing National University of Singaporetbma/teaching/cs5229y... · Design Principles for Tussles Design for choice Protocols should be designed such that all parties

Design Choices and Reasoning

How to provide multiple services?

A. A suite of protocols for various services

B. A single protocol to support all services

Difficult, e.g. reliability versus delay

Flexibility, designed protocols cannot turn off features, e.g. X.25 can’t be unreliable

Layered protocol stack TCP (reliable service)/UDP (low delay service)

IP (datagram based, best effort)

Page 13: School of Computing National University of Singaporetbma/teaching/cs5229y... · Design Principles for Tussles Design for choice Protocols should be designed such that all parties

Versatility: Types of Networks

Able to incorporate and utilize Long-haul networks, e. g. ARPANET, X.25 nets

Local area networks, e. g. Ethernet

Broadcast satellite and packet radio networks

Various types of links and ad hoc facilities

Minimally assumed

Can transport packet

Best effort delivery

Addressing (IP)

Minimum packet size

Not Assumed Sequenced delivery

Packet prioritization

Broadcast/multicast

Network states

Page 14: School of Computing National University of Singaporetbma/teaching/cs5229y... · Design Principles for Tussles Design for choice Protocols should be designed such that all parties

Order of Importance/Priorities

Robustness: communication must continue despite loss of networks/routers

Versatility: accommodate a variety of services and networks

Distributiveness: permit distributed management of its resources

Cost effectiveness

User friendliness: allow host attachment with minimum effort

Accountability of resources

Page 15: School of Computing National University of Singaporetbma/teaching/cs5229y... · Design Principles for Tussles Design for choice Protocols should be designed such that all parties

Other Goals

Distributiveness Routing is controlled by autonomous systems

Lack of distributed tools for management

Cost effective Not, compared to more tailored architectures

Header is large (40 bytes for TCP)

End-to-end retransmission can be expensive

Allow host attachment with small effort End hosts need to implement the protocols

Resources accountability Few tools/mechanisms (Why?)

Page 16: School of Computing National University of Singaporetbma/teaching/cs5229y... · Design Principles for Tussles Design for choice Protocols should be designed such that all parties

References

David D. Clark, John Wroclawski, Karen R. Sollins, Robert Braden, “Tussle in Cyberspace: Defining Tomorrow’s Internet”, IEEE/ACM Transactions on Networking, Vol. 13, No. 3, June 2005.

Page 17: School of Computing National University of Singaporetbma/teaching/cs5229y... · Design Principles for Tussles Design for choice Protocols should be designed such that all parties

What Is Tussle?

Page 18: School of Computing National University of Singaporetbma/teaching/cs5229y... · Design Principles for Tussles Design for choice Protocols should be designed such that all parties

Today’s Internet Landscape

Users

Commercial ISPs

Private sector network providers

Governments

Intellectual property rights holders

Providers of content and higher level services

Page 19: School of Computing National University of Singaporetbma/teaching/cs5229y... · Design Principles for Tussles Design for choice Protocols should be designed such that all parties

Tussle: Conflicting Interests

Music lovers want to exchange records; rights holders want to stop them.

People want to talk in private; government wants to tap their conversations.

Corporations put users behind firewalls; users route and tunnel around them.

ISPs give users a single IP address; users attach a network of computers using NAT.

Page 20: School of Computing National University of Singaporetbma/teaching/cs5229y... · Design Principles for Tussles Design for choice Protocols should be designed such that all parties

Why? Engineering Vs. Society

Engineers: solve the problems by designing mechanisms with predictable consequences.

Society: dynamic management of evolving and conflicting interests.

Internet has evolved from an engineering entity to a society.

Page 21: School of Computing National University of Singaporetbma/teaching/cs5229y... · Design Principles for Tussles Design for choice Protocols should be designed such that all parties

Cyber Tussles: How Different?

Traditional tussles occur at Design time

Re-design time

Configuration time

Internet tussles occur at Run time

Not predictable

Page 22: School of Computing National University of Singaporetbma/teaching/cs5229y... · Design Principles for Tussles Design for choice Protocols should be designed such that all parties

Perspectives of Tussles

Business innovation perspective The Innovator’s Dilemma

Law perspective Non-neutral values into the design

Economics perspective Pricing, strategy, behavior, incentive …

System design perspective

Page 23: School of Computing National University of Singaporetbma/teaching/cs5229y... · Design Principles for Tussles Design for choice Protocols should be designed such that all parties

Design Choices and Reasoning

How to shape the nature of tussles?

A. Embed values into design

B. Design for choice at run time

C. Sit outside the tussles

Rigid designs could be biased & irreversible

Flexible, option for evolution and innovation

As designers, we do have values and unique power to create the technology

Page 24: School of Computing National University of Singaporetbma/teaching/cs5229y... · Design Principles for Tussles Design for choice Protocols should be designed such that all parties

Design Principles for Tussles

Design for choice Protocols should be designed such that all

parties have the ability to express preferences without breaking the application

Modularize along tussle boundaries One tussle does not spill over and distort

unrelated issues

Less efficient solution may provide better isolation, e.g. separate trademark from DNS

Example: ToS bit design for IP QoS

Page 25: School of Computing National University of Singaporetbma/teaching/cs5229y... · Design Principles for Tussles Design for choice Protocols should be designed such that all parties

Tussle Space: Economics

Providers tussle as they compete

Consumers tussle with providers to get desired services with low prices

Design for choice and tussle separation come into play

Page 26: School of Computing National University of Singaporetbma/teaching/cs5229y... · Design Principles for Tussles Design for choice Protocols should be designed such that all parties

IP Address Lock-In

ISPs want to lock in their (corporate) customers using static IP addresses

Users want the ability to change providers

Design for choice: incorporate mechanisms that make it easy for a host to change address: DHCP, DNS dynamic update

Modularize tussle: addresses should reflect connectivity, not identity.

Page 27: School of Computing National University of Singaporetbma/teaching/cs5229y... · Design Principles for Tussles Design for choice Protocols should be designed such that all parties

Value Pricing

Service differentiation increases revenue, e.g. “Saturday night stay policy”

ISPs want to charge business rate for users who run a server or a small network

Users want to avoid paying high rate

Design for choice: tunneling and NAT

No value-neutral design here: value shifted toward consumers

Page 28: School of Computing National University of Singaporetbma/teaching/cs5229y... · Design Principles for Tussles Design for choice Protocols should be designed such that all parties

Residential Broadband Access

Concern about reduction in competition

Pessimistic view: 2 choices in future Your telephone or cable company

Regulation for “open access” that forces wire owners to allow multiple ISPs to use

Design for choice: Municipal deployment of fiber optics as a platform for competitors

Isolate tussle: Research becomes how to support competition in high-level services

Page 29: School of Computing National University of Singaporetbma/teaching/cs5229y... · Design Principles for Tussles Design for choice Protocols should be designed such that all parties

Competitive Wide Area Access

Choice for “long distance provider” was not designed for the Internet

Policy-based routing is needed, should users or providers decide policy? User control needs the change for IP!

Pragmatic choice for provider control: BGP

Incentive for providers to deploy

Less service diversity, e.g. no QoS

Need for payment in order to support source routing, incentive matters.

Page 30: School of Computing National University of Singaporetbma/teaching/cs5229y... · Design Principles for Tussles Design for choice Protocols should be designed such that all parties

Tussle Space: Trust, Openness

Users do not trust each other.

the parties they want to talk to

the software they have to run

Suggestion: “design for choice”

Openness ≈ Competition, Innovation Open system versus proprietary systems

Suggestion: isolate the tussle of vertical integration from the wish to sustain innovation

Page 31: School of Computing National University of Singaporetbma/teaching/cs5229y... · Design Principles for Tussles Design for choice Protocols should be designed such that all parties

Lessons: QoS Deployment

Fail to provide QoS as an open end-to-end service, so as multicast services.

Implementation incur costs; ISPs do not have incentives

Competitive pressure is not sufficient

Failure to make value transfer and couple choice of QoS with choice of provider

ToS bit to express user choice; routing?

Page 32: School of Computing National University of Singaporetbma/teaching/cs5229y... · Design Principles for Tussles Design for choice Protocols should be designed such that all parties

More Tussles

Network Neutrality Debate QoS is not provided; however, should ISPs be

allowed to differentiated services?

Drop/price packets based on contents?

ISPs settlement ISPs are connected to one another to provide

universal connectivity; however, compete …

Who should pay who? How much?

If disagreed, how to resolve?

Page 33: School of Computing National University of Singaporetbma/teaching/cs5229y... · Design Principles for Tussles Design for choice Protocols should be designed such that all parties

The End-to-end Argument

In a layered architecture, what services should be implemented at what layer?

A service should be carried out in a layer if needed by all clients of that layer

can be completely implemented in that layer

Design principle: “stupid” network. Minimize lower layer functions, support variety of services, and let applications adapt.

Reliability at transport layer; best-effort datagram delivery at network layer.

Page 34: School of Computing National University of Singaporetbma/teaching/cs5229y... · Design Principles for Tussles Design for choice Protocols should be designed such that all parties

Readings: End-to-end Argument

J. H. Saltzer, D. P. Reed and D. D. Clark, “End-to-end arguments in system design”, ACM Transactions on Computer Systems, Vol. 2, No. 4, pp. 277 –288, 1984.

Marjory S. Blumenthal, David D. Clark, “Rethinking the design of the Internet: the end-to-end arguments vs. the brave new world”, ACM Transactions on Internet Technology, Vol. 1 No. 1, August 2001.

Page 35: School of Computing National University of Singaporetbma/teaching/cs5229y... · Design Principles for Tussles Design for choice Protocols should be designed such that all parties

Readings: Network Neutrality

“Network neutrality”, Wikipedia

Tim Wu, “Network Neutrality, Broadband Discrimination“, J. of Telecommunications and High Technology Law, Vol. 2, 2003

Edward Wyatt, “Google and Verizon Near Deal on Web Pay Tiers”, The New York Times, August 4, 2010.

Page 36: School of Computing National University of Singaporetbma/teaching/cs5229y... · Design Principles for Tussles Design for choice Protocols should be designed such that all parties

Chapter 1 Introduction

Computer Networking: A Top Down Approach , 5th edition. Jim Kurose, Keith Ross Addison-Wesley, April 2009.

A note on the use of these ppt slides: We’re making these slides freely available to all (faculty, students, readers).

They’re in PowerPoint form so you can add, modify, and delete slides

(including this one) and slide content to suit your needs. They obviously

represent a lot of work on our part. In return for use, we only ask the

following:

If you use these slides (e.g., in a class) in substantially unaltered form, that

you mention their source (after all, we’d like people to use our book!)

If you post any slides in substantially unaltered form on a www site, that

you note that they are adapted from (or perhaps identical to) our slides, and

note our copyright of this material.

Thanks and enjoy! JFK/KWR

All material copyright 1996-2010

J.F Kurose and K.W. Ross, All Rights Reserved

Introduction 1-36

Page 37: School of Computing National University of Singaporetbma/teaching/cs5229y... · Design Principles for Tussles Design for choice Protocols should be designed such that all parties

Internet History

1961: Kleinrock - queueing theory shows effectiveness of packet-switching

1964: Baran - packet-switching in military nets

1967: ARPAnet conceived by Advanced Research Projects Agency

1969: first ARPAnet node operational

1972:

ARPAnet public demonstration

NCP (Network Control Protocol) first host-host protocol

first e-mail program

ARPAnet has 15 nodes

1961-1972: Early packet-switching principles

Introduction 1-37

Page 38: School of Computing National University of Singaporetbma/teaching/cs5229y... · Design Principles for Tussles Design for choice Protocols should be designed such that all parties

Internet History

1970: ALOHAnet satellite network in Hawaii

1974: Cerf and Kahn - architecture for interconnecting networks

1976: Ethernet at Xerox PARC

late70’s: proprietary architectures: DECnet, SNA, XNA

late 70’s: switching fixed length packets (ATM precursor)

1979: ARPAnet has 200 nodes

Cerf and Kahn’s internetworking principles: minimalism, autonomy -

no internal changes required to interconnect networks

best effort service model

stateless routers decentralized control

define today’s Internet architecture

1972-1980: Internetworking, new and proprietary nets

Introduction 1-38

Page 39: School of Computing National University of Singaporetbma/teaching/cs5229y... · Design Principles for Tussles Design for choice Protocols should be designed such that all parties

Internet History

1983: deployment of TCP/IP

1982: smtp e-mail protocol defined

1983: DNS defined for name-to-IP-address translation

1985: ftp protocol defined

1988: TCP congestion control

new national networks: Csnet, BITnet, NSFnet, Minitel

100,000 hosts connected to confederation of networks

1980-1990: new protocols, a proliferation of networks

Introduction 1-39

Page 40: School of Computing National University of Singaporetbma/teaching/cs5229y... · Design Principles for Tussles Design for choice Protocols should be designed such that all parties

Internet History

early 1990’s: ARPAnet decommissioned

1991: NSF lifts restrictions on commercial use of NSFnet (decommissioned, 1995)

early 1990s: Web

hypertext [Bush 1945, Nelson 1960’s]

HTML, HTTP: Berners-Lee

1994: Mosaic, later Netscape

late 1990’s: commercialization of the Web

late 1990’s – 2000’s: more killer apps: instant

messaging, P2P file sharing

network security to forefront

est. 50 million host, 100 million+ users

backbone links running at Gbps

1990, 2000’s: commercialization, the Web, new apps

Introduction 1-40

Page 41: School of Computing National University of Singaporetbma/teaching/cs5229y... · Design Principles for Tussles Design for choice Protocols should be designed such that all parties

Internet History

2010:

~750 million hosts

voice, video over IP

P2P applications: BitTorrent (file sharing) Skype (VoIP), PPLive (video)

more applications: YouTube, gaming, Twitter

wireless, mobility

Introduction 1-41