course introduction - pages.cs.wisc.edupages.cs.wisc.edu/~suman/courses/640/lectures/intro.pdf ·...

21
CS 640 1 Course Introduction Outline Networking Basics Internet Timeline Statistical Multiplexing Performance Metrics Protocol layering and ISO architecture

Upload: lymien

Post on 10-Mar-2018

220 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Course Introduction - pages.cs.wisc.edupages.cs.wisc.edu/~suman/courses/640/lectures/intro.pdf · Course Introduction Outline ... every host directly connected to every ... – How

CS 640 1

Course Introduction

OutlineNetworking BasicsInternet TimelineStatistical MultiplexingPerformance MetricsProtocol layering and ISO architecture

Page 2: Course Introduction - pages.cs.wisc.edupages.cs.wisc.edu/~suman/courses/640/lectures/intro.pdf · Course Introduction Outline ... every host directly connected to every ... – How

CS 640 2

Basics• Host vs Router

– Router is a device with multiple interfaces and allows “data” forwarding between interfaces

– Host may have multiple interfaces too

• IP address identifies an interface• A trivial network: every host directly connected to every

other host– Not a scalable construction

• Alternative: A hierarchical structure of hosts– Nodes (hosts or routers) grouped into network clouds– Network clouds are interconnected to form internetworks or

internets– Internet (with capital I) refers to THE wide-area Internet we know

today

Page 3: Course Introduction - pages.cs.wisc.edupages.cs.wisc.edu/~suman/courses/640/lectures/intro.pdf · Course Introduction Outline ... every host directly connected to every ... – How

CS 640 3

A Brief History of Networking

• Roots traced to public telephone network of the 60’s– How can computers be connected together?

• Three groups were working on packet switching as an efficient alternative to circuit switching

• L. Kleinrock had first published work in ‘61– Showed packet switching was effective for bursty traffic

• P. Baran had been developing packet switching at Rand Institute and plan was published in ‘67– Basis for ARPAnet

• First contract to build network switches awarded to BBN

• First network had four nodes in ‘69

Page 4: Course Introduction - pages.cs.wisc.edupages.cs.wisc.edu/~suman/courses/640/lectures/intro.pdf · Course Introduction Outline ... every host directly connected to every ... – How

CS 640 4

History of the Internet contd.

• By ’72 network had grown to 15 nodes– Network Control Protocol - first end-to-end protocol

(RFC001)

– Email was first application – R. Tomlinson, ’72

• In ’73 R. Metcalfe invented Ethernet

• In ’74 V. Cerf and R. Kahn developed open architecture for Internet– TCP and IP

Page 5: Course Introduction - pages.cs.wisc.edupages.cs.wisc.edu/~suman/courses/640/lectures/intro.pdf · Course Introduction Outline ... every host directly connected to every ... – How

CS 640 5

History of the Internet contd.

• By ’79 the Internet had grown to 200 nodes and by the end of ’89 it had grown to over 100K!– Much growth fueled by connecting universities– L. Landweber from UW was an important part of this!

• Major developments– TCP/IP as standard– DNS

• In ’89 V. Jacobson made MAJOR improvements to TCP• In ’91 T. Berners-Lee invented the Web

• In ’93 M. Andreesen invented Mosaic

• The rest should be pretty familiar…

Page 6: Course Introduction - pages.cs.wisc.edupages.cs.wisc.edu/~suman/courses/640/lectures/intro.pdf · Course Introduction Outline ... every host directly connected to every ... – How

CS 640 6

Building Blocks

• Nodes: PC, special-purpose hardware…– hosts– Switches and routers

• Links: coax cable, optical fiber…– point-to-point

– multiple access…

Page 7: Course Introduction - pages.cs.wisc.edupages.cs.wisc.edu/~suman/courses/640/lectures/intro.pdf · Course Introduction Outline ... every host directly connected to every ... – How

CS 640 7

Switched Networks

– two or more nodes connected by a link, or

– two or more networks connected by nodes

• A network can be defined recursively as...

Page 8: Course Introduction - pages.cs.wisc.edupages.cs.wisc.edu/~suman/courses/640/lectures/intro.pdf · Course Introduction Outline ... every host directly connected to every ... – How

CS 640 8

Strategies

• Circuit switching: carry bit streams along determined paths– original telephone network

• Packet switching: store-and-forward messages– Internet

• Homework assignment: What is aVirtual circuit?

Page 9: Course Introduction - pages.cs.wisc.edupages.cs.wisc.edu/~suman/courses/640/lectures/intro.pdf · Course Introduction Outline ... every host directly connected to every ... – How

CS 640 9

Multiplexing

• Resouce sharing

• Analogous to CPU sharing among processes in OS

L1

L2

L3

R1

R2

R3Switch 1 Switch 2

Page 10: Course Introduction - pages.cs.wisc.edupages.cs.wisc.edu/~suman/courses/640/lectures/intro.pdf · Course Introduction Outline ... every host directly connected to every ... – How

CS 640 10

Statistical Multiplexing• Resources made available on-demand

• Packets from different sources interleaved on link

• Buffer packets that are contending for the link

• Buffer (queue) overflow is called congestion

– Can lead to packet losses

Page 11: Course Introduction - pages.cs.wisc.edupages.cs.wisc.edu/~suman/courses/640/lectures/intro.pdf · Course Introduction Outline ... every host directly connected to every ... – How

CS 640 11

Statistical Multiplexing

• Simple example in class:– Each conversation has instantaneous load of 1 Mbps with 1/10

probability– No delay permissible: only 1 conversation– If some delay allowed: 5 simultaneous conversations

• Delay on link about 6% of the time

Bandwidth: 1 Mbps

Page 12: Course Introduction - pages.cs.wisc.edupages.cs.wisc.edu/~suman/courses/640/lectures/intro.pdf · Course Introduction Outline ... every host directly connected to every ... – How

CS 640 12

Internet Goals

• Connectivity– Nodes, links, clouds

• Efficient resource sharing– Statistical multiplexing

• Services– Reliable channel– Request/reply or bit-stream channel

Page 13: Course Introduction - pages.cs.wisc.edupages.cs.wisc.edu/~suman/courses/640/lectures/intro.pdf · Course Introduction Outline ... every host directly connected to every ... – How

CS 640 13

Performance Metrics• Bandwidth: physical property of link• Throughput: actual data transmitted per time unit• link versus end-to-end

– notation • KB = 210 bytes

• Mbps = 106 bits per second

• Latency (delay)– time to send message from point A to point B– one-way versus round-trip time (RTT)– components

Latency = Propagation + Transmit + QueuePropagation = Distance / Speed (of light)Transmit = Size / Bandwidth

• Actual delays on Internet is much greater than propagation

Page 14: Course Introduction - pages.cs.wisc.edupages.cs.wisc.edu/~suman/courses/640/lectures/intro.pdf · Course Introduction Outline ... every host directly connected to every ... – How

CS 640 14

Bandwidth versus Latency

• Relative importance

• Assume propagation delay is 100 ms

• Transfer 1 Kb, bw 1 Mbps– Latency: 100 + 1 (transmission delay) = 101 ms

• Transfer 1 Mb– Latency 100 + 1000 (transmission delay) = 1100 ms

Page 15: Course Introduction - pages.cs.wisc.edupages.cs.wisc.edu/~suman/courses/640/lectures/intro.pdf · Course Introduction Outline ... every host directly connected to every ... – How

CS 640 15CS 640

Layering

• Use abstractions to hide complexity• Abstraction naturally lead to layering• Alternative abstractions at each layer

Request/replychannel

Message streamchannel

Application programs

Hardware

Host-to-host connectivity

Page 16: Course Introduction - pages.cs.wisc.edupages.cs.wisc.edu/~suman/courses/640/lectures/intro.pdf · Course Introduction Outline ... every host directly connected to every ... – How

CS 640 16CS 640

Protocols

• Building blocks of a network architecture

• Each protocol object has two different interfaces– service interface: operations on this protocol

– peer-to-peer interface: messages exchanged with peer

• Term “protocol” is overloaded– specification of peer-to-peer interface

– module that implements this interface

Page 17: Course Introduction - pages.cs.wisc.edupages.cs.wisc.edu/~suman/courses/640/lectures/intro.pdf · Course Introduction Outline ... every host directly connected to every ... – How

CS 640 17CS 640

Host 1

Protocol

Host 2

Protocol

High-levelobject

High-levelobject

Service

interface

Peer-to-peer

interface

Interfaces

Page 18: Course Introduction - pages.cs.wisc.edupages.cs.wisc.edu/~suman/courses/640/lectures/intro.pdf · Course Introduction Outline ... every host directly connected to every ... – How

CS 640 18

Machinery

• Multiplexing and Demultiplexing (demux key)• Encapsulation (header/body)

RRP DataHHP

Applicationprogram

Applicationprogram

Host 1 Host 2

Data

RRP

RRP Data

HHP

Data

RRP

RRP Data

HHP

Page 19: Course Introduction - pages.cs.wisc.edupages.cs.wisc.edu/~suman/courses/640/lectures/intro.pdf · Course Introduction Outline ... every host directly connected to every ... – How

CS 640 19CS 640

ISO Architecture

Application

Presentation

Session

Transport

End host

One or more nodeswithin the network

Network

Data link

Physical

Network

Data link

Physical

Network

Data link

Physical

Application

Presentation

Session

Transport

End host

Network

Data link

Physical

Page 20: Course Introduction - pages.cs.wisc.edupages.cs.wisc.edu/~suman/courses/640/lectures/intro.pdf · Course Introduction Outline ... every host directly connected to every ... – How

CS 640 20CS 640

Internet Architecture

• Defined by Internet Engineering Task Force (IETF)1. Application: interacts with user to initiate data transfers (browser,

media player, command line)2. Transport: reliable, in-order delivery of data (TCP and UDP)3. Network: addressing and routing (IP)4. Data Link: defines how hosts access physical media (Ethernet)5. Physical: defines how bits are represented on wire (Manchester)

• Information is passed between layers via encapsulation– Header information is attached to data passed down layers

• Multiplexing between layers

• Layers access other layers via API’s (eg. sockets)• Communication at a specific layer is enabled by a protocol

Page 21: Course Introduction - pages.cs.wisc.edupages.cs.wisc.edu/~suman/courses/640/lectures/intro.pdf · Course Introduction Outline ... every host directly connected to every ... – How

CS 640 21CS 640

Hourglass Design

• Single protocol at network level insures packets will get from source to destination while allowing for flexibility

FTP HTTP NV TFTP

TCP UDP

IP

NET1 NET2 NETn