Design Principles of Internet David D. Clarks paper The Design - - PowerPoint PPT Presentation

design principles of internet david d clark s paper the
SMART_READER_LITE
LIVE PREVIEW

Design Principles of Internet David D. Clarks paper The Design - - PowerPoint PPT Presentation

Design Principles of Internet David D. Clarks paper The Design Philosophy of the DARPA Internet Protocols 1988 Why Internet is the way it is? Early Goals Make disjoint networks talk to each other effectively Choices A. Build a


slide-1
SLIDE 1

Design Principles of Internet

slide-2
SLIDE 2

David D. Clark’s paper “The Design Philosophy

  • f the DARPA Internet

Protocols” 1988

slide-3
SLIDE 3

Why Internet is the way it is?

slide-4
SLIDE 4
slide-5
SLIDE 5

Early Goals

Make disjoint networks talk to each other effectively

slide-6
SLIDE 6

Choices

A. Build a tightly integrated, unified network B. Interconnect existing network

slide-7
SLIDE 7

Why ?

more practical. Networks represents separately administered entities.

slide-8
SLIDE 8

Choices

A. Packet Switching B. Circuit Switching

slide-9
SLIDE 9

Why ?

The networks to be integrated are packet switched network. Packet switch is natural choice for the applications at the time (remote login).

slide-10
SLIDE 10

More Goals

Robust - work despite failure of networks or gateways Versatile - support a variety of services and networks Permit distributed management of resources Cost effective Easy to add new hosts Permit accounting of resources

slide-11
SLIDE 11

Top Goal

“Survivability in the Face of Failure” Communication between two entities should continue after temporary disruption without needing to reestablish connection states. Or Mask transient failure

slide-12
SLIDE 12

Store connection states in A. packet switching nodes B. end nodes

slide-13
SLIDE 13

Why ?

Easier to implement than

  • replication. Replication only

protects against finite number

  • f node failures.
slide-14
SLIDE 14

Fate-Sharing

The only way the states are lost is the failure of end hosts.

slide-15
SLIDE 15

Consequences

Stateless packet switchers. Need to trust end hosts.

slide-16
SLIDE 16

Goal No. 2

“Support a variety of services”

slide-17
SLIDE 17

Services

Remote login - low delay, reliable File transfer - delay not important, reliable Teleconferencing - reliability not important, low delay

slide-18
SLIDE 18

Choice

  • A. Break into multiple

protocols.

slide-19
SLIDE 19

Protocols

IP - datagram-based, best effort TCP - reliable service over IP UDP - unreliable service over IP

slide-20
SLIDE 20

Compared to

X.25 - provides reliable services (that cannot be switched off!)

slide-21
SLIDE 21

Goal No. 3

“Support a variety of networks”

slide-22
SLIDE 22

Make minimal assumptions Can transport packets Best effort delivery Addressing Minimum packet size

slide-23
SLIDE 23

Not assuming Reliability Ordered delivery Packet prioritization Broadcast/multicast Knowledge of network stats

slide-24
SLIDE 24

Goals

Robust - work despite failure of networks or gateways Versatile - support a variety of services and networks Permit distributed management of resources Cost effective Easy to add new hosts Permit accounting of resources

slide-25
SLIDE 25

Another David D. Clark’s paper “End-to-End Arguments in System Design” 1984 (with Saltzer and Reed)

slide-26
SLIDE 26

E2E Argument

A tool to guide designers: which layer to implement a given functionality?

slide-27
SLIDE 27

Example

Reliable file transfer between host A and host B

slide-28
SLIDE 28

Steps

  • 1. A reads file from disk
  • 2. A transmits file as packets
  • 3. Network delivers packets
  • 4. B receives packets
  • 5. B write data to disk
slide-29
SLIDE 29

Possible Errors

  • 1. Disk failure
  • 2. Software bugs
  • 3. Packet loss
  • 4. Processor/Memory errors
  • 5. OS crashes
slide-30
SLIDE 30

Choices

A. Make sure every step is reliable B. End-to-end check and retry (compare checksum, resend if error)

slide-31
SLIDE 31

The Argument

To achieve careful file transfer, the transfer application must apply application-specific, end- to-end reliability guarantee.

slide-32
SLIDE 32

” “

The Argument

The end-to-end check of the file transfer application must still be implemented no matter how reliable the communication system becomes.

slide-33
SLIDE 33

Conclusion

No need to provide reliability guarantee at lower level (e.g. network, OS, hardware)

slide-34
SLIDE 34

Actually,

Lower level reliability can improve performance.

slide-35
SLIDE 35

To implement at low-level?

Additional cost for applications that do not require the feature. Less information than the “end”, less efficient.

slide-36
SLIDE 36

Other Example: Data Encryption

slide-37
SLIDE 37

Choices

A. Encrypt at the network- level B. Encrypt in the application

slide-38
SLIDE 38

Why?

Intercept before reaching the network Need to trust the network Still need to authenticate

slide-39
SLIDE 39

Other Example: RISC

slide-40
SLIDE 40

The Argument

Any attempt by the computer designer to anticipate the client’s requirements will probably miss the target and the client will end up re-implementing it anyway.

slide-41
SLIDE 41

The End Point?

slide-42
SLIDE 42

Applications? Users? Hosts?

slide-43
SLIDE 43

The end-point is a trustworthy entity.

slide-44
SLIDE 44

Example

Reliable file transfer between host A and host B

slide-45
SLIDE 45

If I don’t trust the file transfer application, I need to check for error myself.

slide-46
SLIDE 46

” “

E2E Argument

The function in question can completely and correctly be implemented only with the knowledge and help of the application standing at the endpoints of the communication system. Therefore, providing the questioned function as a feature of the communication system itself is not possible. (Sometimes an incomplete version

  • f the function provided by the communication

system may be useful as a performance enhancement)