CS 557 - Lecture 2 Emergence of Packet Switching On Distributed - - PowerPoint PPT Presentation

cs 557 lecture 2 emergence of packet switching
SMART_READER_LITE
LIVE PREVIEW

CS 557 - Lecture 2 Emergence of Packet Switching On Distributed - - PowerPoint PPT Presentation

CS 557 - Lecture 2 Emergence of Packet Switching On Distributed Communications Neworks Paul Baran, 1964 A Protocol for Packet Network Intercommunication Cerf and Kahn, 1974 Spring 2013 Suggestions on Reading Papers Two Pass Approach to


slide-1
SLIDE 1

CS 557 - Lecture 2 Emergence of Packet Switching On Distributed Communications Neworks

Paul Baran, 1964 A Protocol for Packet Network Intercommunication Cerf and Kahn, 1974

Spring 2013

slide-2
SLIDE 2

Suggestions on Reading Papers

  • Two Pass Approach to Reading the Paper
  • First Pass Objectives:

– Need: what problem is the paper trying to solve? – Approach: how are they addressing the problem? – Benefit: why is this a good solutioin? – Challenges/Competition: related work and limitations

  • Carefully read abstract, intro, main design, and conclusions
  • Skim analysis section
  • Second Pass Objectives

– Start with an assumption the main point is wrong

  • (even if you agree with it :)

– Focus on results/analysis sections.

  • How do the results prove otherwise?

– Review the Benefits and Challenges?

slide-3
SLIDE 3

[Bar64] Main Points

  • Need: A network that survives a massive attack.
  • Approach:

– Propose a distributed network of unreliable components – Send data as packets with dynamic routing.

  • Benefits:

– Evidence supporting distributed networks – Packets and packet headers – Evidence to support dynamic routing – Hot Potato routing

  • Competition:
  • Claim centralized system with reliable hardware won’t survive
slide-4
SLIDE 4

Types of Networks

Common Telco Designs Proposed Mesh

slide-5
SLIDE 5

How To Characterize Distributed Networks

  • Define redundancy level = links/nodes
  • Centralized Star topology has level of 1.

– Star has n nodes and n-1 edges.

  • Best case is a full mesh (clique)

– Every node connects to every other – But clique is expensive in number of links – Does not scale well

slide-6
SLIDE 6

Side Topic: Scale

  • Scale is a fundamental challenge of protocol

design.

  • How do you build a system that can grow to

an arbitrary large size?

  • Why does scale matter?

– Baran talks about high speeds of 1.5 million bits/ sec, what is the rate today? Tomorrow? – ARPANet (yet to be invented) with few dozen nodes will grow to Internet.

  • Consider how design in each paper will scale.
slide-7
SLIDE 7

Survivability and Redundancy

  • Do we need a full mesh?

– If yes, solution seems less realistic. – Result is redundancy of 3 may suffice Engineering Trade-Offs: “perfect” solution not feasible… justify why you make a decision

slide-8
SLIDE 8

How To Select Routes

  • Pre-select a single path (clearly bad)
  • Pre-select several paths
  • Dynamic routing

What is the Intuition behind This?

slide-9
SLIDE 9

Packets

  • Proposes to use a standard common

header:

  • Why a standard header?
  • Does this look familiar today?
slide-10
SLIDE 10

Dynamic Routing

  • Interesting concept, but how can this

work?

– Built a rich distributed network – Built packet with source and destination – Claim we need dynamic routes

  • To get around failed links
  • But how would you compute routes?

– What about storage, buffering, etc?

slide-11
SLIDE 11

Hot Potato Routing

  • Two equal objectives:

– Send along shortest working path to dest. – Forward packet as soon as you get it

  • Conflict: many packets want to go out

the same interface for shortest path.

  • Trade-off: send along the shortest

available path

slide-12
SLIDE 12

Side Topic: Trade-offs

  • The reason this course and this field

exists.

  • We can’t satisfy all constraint or goals.
  • Result is varying trade-offs and analysis

to support these decisions.

  • Look for the important trade-offs in each

paper.

slide-13
SLIDE 13

Hot Potato Routing (2)

  • Send along the shortest available path

– How do you compute the distance?

  • Later we add routing algorithms (RIP, OSPF,

BGP, etc)

  • Solution here:

– listen for incoming traffic, – use hop count to estimate distance back to the source

  • Is this idea in use today?
slide-14
SLIDE 14

[Bar64] Summary

  • Paper to provide some context and history for

network systems.

– Suggests a move to dynamic packet switching networks rather than centralized circuits.

  • Introduces some basic building block for Internet

design

– Distributed networks – Packet headers – A dynamic routing algorithm

  • Now continue on with evolution of packet switching...
slide-15
SLIDE 15

The Story So Far….

  • Identified a need for a distributed packet

network.

– Multiple paths between any pairs – Dynamic routing to discover path after faults – Common header to cross multiple types of networks.

  • Today we provide some details on

– Contents of the common header – How to link diverse networks into one Internet – How to control transmissions between processes

slide-16
SLIDE 16

[CK74] Main Points

  • Need: A network and protocols that enable process to

communicate, even when they are on different physical networks.

  • Approach:

– Define some basic network layer features including gateways, addressing, and fragmentation. – Define a Transport Control Protocol (TCP) for processes

  • Benefits:

– Gateways concept – IP Fragmentation – TCP Version 0: acks, sliding window, retransmit rules, etc.

  • Competition:

– Very different from circuit switched networks – Builds on Baran, adding essential details

slide-17
SLIDE 17

Differences In Packet Networks

  • Different Addressing Formats

– Must all agree or must define some higher level address

  • Different Maximum Packet Sizes

– Must all agree, or must send only smallest packet,

  • r must provide fragmentation
  • Different Services

– Primarily reliability – What should the network provide?

  • Different Ways to Express Errors

– Important for handling retransmissions

slide-18
SLIDE 18

Gateway

  • Device (router) that sits on boundary

between two distinct networks

  • Transforms data crossing between

networks

– Implemented as “Two Halves”

  • Must solve the problems of:

– Addressing – Different Packet Sizes

slide-19
SLIDE 19

Addressing

  • Networks will keep their own local formats

– Global agreement unrealistic – All packets start with a local header

  • Ethernet, WiFi, ATM, SONET, FDDI, etc.
  • Add an InterNetwork Header

– Source and Destination Address – Allows for Fragmentation

  • Reassembly at the end hosts
  • More later today….
  • Review IP Fragmentation from Undergrad
  • This is IPv4 fragmentation in slightly less detail.
slide-20
SLIDE 20

Process Level Communication

  • Choice One: Hosts or Process

– Choose to assign all TCP state to a process

  • Introduces the Concept of Ports

– Associate a port number with a process – Allow OS to figure out the mapping

slide-21
SLIDE 21

Process Level Communication

  • Choice One: Hosts or Process

– Choose to assign all TCP state to a process

  • Introduces the Concept of Ports

– Associate a port number with a process – Allow OS to figure out the mapping

  • Treat connection as a continuous byte stream

– Packet identifies starting point in stream – Each packet carries header – Include flags to mark end of segment and end of message

  • Did this survive to today?
slide-22
SLIDE 22

Fragmentation

slide-23
SLIDE 23

Retransmission (1/2)

  • Sliding Window Protocol

– Sender sends up to “w” packets where “w” = window size – Receiver acks leftmost packet received

  • Example: window size of 4

– Sender sends packet 1,2,3,4 – Receiver gets 1 and sends ack1, gets 2 and sends ack2, three is lost so no ack, 4 is out of order so no ack. – Acks for 1 and 2 allow sender to move window forward and send 5,6. Timeout causes retransmit of 3,4,5,6. – What does receiver do with the out of order packet 4?

slide-24
SLIDE 24

Retransmission (2/2)

  • How Big Can Window Be?

– Answer: must ensure retransmission not mistaken for new packet.

  • How Does Receiver Signal His State?

– Flow Control – Receiver announces suggested window size.

slide-25
SLIDE 25

Summary

  • Paper provides IP and TCP (version 0).

– Splits TCP and IP – Defines fundamental ideas of processes, gateways, fragments, and sliding windows.

  • This should all look very familiar….

– IP protocol across networks that could be wireless, ethernet, fiber optic, etc. – Deering’s Hour Glass with a thin IP layer at the middle – Sliding window and base TCP concepts