Introduction
Sponsored Links
This presentation is the property of its rightful owner.
1 / 16

Introduction PowerPoint PPT Presentation


  • 52 Views
  • Uploaded on
  • Presentation posted in: General

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.

Download Presentation

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


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


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


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 


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


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


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


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


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


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


Don’t do things for me

  • Skype doesn’t need reliability, and does NOT want reliability’s overhead


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


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


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


  • Login