1 / 16

Introduction

Introduction. UIUC CS438: Communication Networks Summer 2014 Fred Douglas Slides: Fred, Kurose&Ross. Today’s Key Conecpts. Layering The end-to-end principle. Modularity based on abstraction is the way things get done -Barbara Liskov , popularized for networking by Scott Shenker.

judson
Télécharger la présentation

Introduction

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction UIUC CS438: Communication Networks Summer 2014 Fred Douglas Slides: Fred, Kurose&Ross

  2. Today’s Key Conecpts • Layering • The end-to-end principle

  3. Modularity based on abstraction is the way things get done-Barbara Liskov, popularized for networking by Scott Shenker

  4. A Nightmare Scenario • Goal: send “Hello” to cs.illinois.edu, receive “world!” • Look up IP address of cs.illinois.edu in hard coded /etc/hosts file, fail if not there • Find a path to cs.illinois.edu in your 100GB+, updated-every-second map of the whole internet • Encode the ASCII characters as electrical signals • Somehow handle data corruption between you and cs.illinois.edu • Somehow, you and a billion other conversations should avoid causing interference

  5. Network Programming Reality* serv = connect(“cs.illinois.edu”); send(serv, “Hello“); printf(receive(serv)); //prints “world!” *The actual C sockets library is slightly uglier, sorry 

  6. Layers Provides Assumes Any service the programmer wants to provide - Logical channel -Reliable? -Uncongested? Application -Best-effort delivery of packets to any address in the world -Channel to a partner -Multiplexing -Reliability (TCP) -Congestion control (TCP) Transport (UDP) TCP MAGIC -Best-effort delivery of packets to local addresses -Best-effort delivery of packets to any address in the world Routing Network IP(v4, v6) -Ability to send bits to direct physical neighbors -Best-effort delivery to local addresses (-Medium Access Control: don’t talk over each other) Link Spanning tree, ARP, learning switches Ethernet, 802.11 Sending bits to direct physical neighbors Physical

  7. What’s the Internet: “nuts and bolts” view millions of connected computing devices: hosts = end systems running network apps PC server wireless laptop smartphone wireless links wired links router mobile network global ISP home network • communication links • fiber, copper, radio, satellite • transmission rate: bandwidth regional ISP • Packet switches: forward packets (chunks of data) • routers and switches institutional network

  8. Fun internet appliances (Internet of Things) Web-enabled toaster + weather forecaster IP picture frame http://www.ceiva.com/ Tweet-a-watt: monitor energy use Slingbox: watch, control cable TV remotely Internet refrigerator Internet phones

  9. Layering Postscript • OSI model: • Application • Presentation • Hide complexities of data from the application, e.g., apply cryptography without involving the application • Session • Maintain conceptual “sessions”, because maybe end of connection != end of session • Transport • Network • Link • Physical • Why are these layers a historical footnote? • The end-to-end principle

  10. End-to-end Principle • A sensible philosophy for system design • Do most things at the “end” • Let the “middle” do simple tasks well • Two motivations • If you want a job done right, do it yourself • Other components might not care • Other components might not be able to

  11. If you want a job done right… • Spinach is grown, picked, packed, transported, and eaten. Who should ensure it’s clean? • Recyclable waste is generated, picked up, and transported to a processing facility. Who should separate out metal/glass/etc? • A political candidate instructs their staff to publicize a positive statistic from their time in a previous office. The staff does a press release, news organizations report it, and voters hear about it. Who should verify its truth? • File transfer: a lot of things can go wrong; the application itself should check the data.

  12. End-to-end Principle • A sensible philosophy for system design • Do most things at the “end” • Let the “middle” do simple tasks well • Two motivations • If you want a job done right, do it yourself • Other components might not care • Other components might not be able to • If I don’t want a job done at all, don’t do it for me • Unnecessary overhead • Might interfere with my operation

  13. Don’t do things for me • Skype doesn’t need reliability, and does NOT want reliability’s overhead

  14. Course Roadmap • (week 1) Application • HTTP, DNS, email, FTP, client-server vs. peer-to-peer • (week 2-3) Transport (HTTP MP1 due end of week 2) • Multiplexing (“the 5-tuple”), reliable transport, congestion control • (week 4-7) Network & The Internet (TCP MP2 due end of week 6) • Routing protocols, routing implementations & hardware, IP address hierarchy, ISP/Autonomous System-level routing, AS economics • (week 8) Link • Learning switches, spanning tree, DHCP, ARP • (week 9)Physical (Routing MP3 due end of week 9) • MAC, error detection/correction, digital-analog encoding, basic properties of copper/fiber optics/wireless • (week 10) Misc. topics, review, wiggle room • Security, software defined networking, data centers, exotic alternative internet architectures

  15. Logistics • On the website: • Link to Beej’s guide • Look through it tonight: we’ll discuss tomorrow • How to use svn • Standard MP Notes • How to use the autograder • Minor penalties for various details • Academic Honesty • Grading breakdown • Link to Piazza • Written homework (none yet) • MP1: due June 12th • 4th Hour Projects

  16. 4th Hour Projects • Groups ok, in proportion to amount of work • Interesting coding project, beyond MP • Network simulation (Mininet, ns-3) • Network deployment (Quagga) • Literature survey • Research • Internet economics, simulation • VPNs + anti-censorship, implementation • Please give me your proposed project by June 9th • Checkpoint in early July

More Related