cs 557 lecture 2 emergence of packet switching
play

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


  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

  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?

  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

  4. Types of Networks Common Telco Designs Proposed Mesh

  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

  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.

  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

  8. How To Select Routes • Pre-select a single path (clearly bad) • Pre-select several paths • Dynamic routing What is the Intuition behind This?

  9. Packets • Proposes to use a standard common header: • Why a standard header? • Does this look familiar today?

  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?

  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

  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.

  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?

  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...

  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

  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

  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, or must provide fragmentation • Different Services – Primarily reliability – What should the network provide? • Different Ways to Express Errors – Important for handling retransmissions

  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

  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.

  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

  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?

  22. Fragmentation

  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?

  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.

  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

Recommend


More recommend