ECE 158A: Lecture 2. Fall 2014

ECE 158A: Lecture 2 Fall 2014 Outline     A brief history of the Internet Communication channels:           Capacity Latency Circuit swit...
1 downloads 0 Views 4MB Size
ECE 158A: Lecture 2 Fall 2014

Outline    

A brief history of the Internet Communication channels:    

     

Capacity Latency

Circuit switch Packet switch Statistical Multiplexing

Internet: A Brief History  

Maps from http://www.vox.com/a/internet-maps

1963: ARPANET

1973: ARPANET goes international

1970: ARPANET expands

1984: ARPANET becomes Internet

Internet: A Brief History

1992: NSFNET (backbone)

1994: Privatization backbone

1993: The internet is global

2012: Broadband penetration

Properties of Links A

 

Capacity: “width” of the link  

 

B

number of bits sent (or received) per unit time (bits/sec or bps)

Latency (delay): “length” of the link  

propagation time for data to travel along the link (seconds)

Capacity

Total bits in link Latency

 

Link rate: Peak achievable rates in practice

Example of Communication Media  

Unshielded Twisted Pair (UTP)      

 

Coaxial cable    

 

 

Medium used in telephone line Seven categories of increasing quality Data rates from 0.1Mbps (CAT1) to 600Mbps (CAT6) Audio/TV connectors More resilient to external disturbances than UTP but more expensive, short distances Data rates up to hundreds of Mbps

Fiber optic cable        

Internet backbones No external disturbance, small and inexpensive Difficult interconnections, limited curvature Data rates up to 10Gbps

Examples of Capacity-Delay  

Propagation speed varies on the material, but it is roughly between 0.5 to 0.8 times the speed of light c, i.e., ~ 1.5x108 msec

 

Same city over UTP:      

 

Capacity~100Mbps Latency~0.1msec (~15Km) Total bits in link ~ 10,000bits ~ 1.25KBytes

Cross-country over fiber optic cable:      

Capacity~10Gbps Latency~10msec (~1500Km) Total bits in link ~ 108bits ~ 12.5GBytes

Internet Submarines Cables  

More maps at http://www.submarinecablemap.com/

Internet Submarine cables

https://www.youtube.com/watch? feature=player_embedded&v=1ex7uTQf4bQ

1854

Packet Delay Sending a 100B packet from A to B? A

time=0 Time to transmit one bit = 1/106s Time to transmit 800 bits=800x1/106s

1Mbps, 1ms

100Byte packet

B

Time when that bit reaches B = 1/106+1/103s

The last bit reaches B at Time (800x1/106)+1/103s Packet Delay = Packet Delay = Transmission Delay + Propagation =Delay (Packet Size ÷ Link Capacity) + Link Latency 1.8ms

Packet Delay Sending a 100B packet from A to B? 1GB file in 100B packets

A

1Gbps, 1ms? 1Mbps, 1ms

B

100Byte packet

107 x 100B packets

The last bit in the file reaches B at (107x800x1/109)+1/103s = 8001ms

The last bit Time reaches B at (800x1/109)+1/103s = 1.0008ms

The last bit reaches B at (800x1/106)+1/103s = 1.8ms

Packet Delay: The “pipe” view Sending 100B packets from A to B? 1Mbps, 10ms

B pkt tx time

100Byte packet

100Byte packet

Time

100Byte packet

BW 

A

time 

What if we have more nodes?

One link for every node?

Need a scalable way to interconnect nodes

Solution: A switched network Nodes share network link resources

How is this sharing implemented?

Circuit Switching!

Circuit switching Idea: source reserves network capacity along a path

A

10Mb/s? 10Mb/s?

B

10Mb/s?

(1) Node A sends a reservation request (2) Interior switches establish a connection -- i.e., “circuit” (3) A starts sending data (4) A sends a “teardown circuit” message

Circuit Switching: Sharing a Link!

Time-division  

 

Frequency-division

Each circuit allocated certain time slots

time

 

frequency

 

Each circuit allocated certain frequencies

time

Time-Division Multiplexing!

Frames

Slots = 0 1 2 3 4 5

   

Time divided into frames; frames into slots Relative slot position inside a frame determines to which conversation data belongs  

   

0 1 2 3 4 5

e.g., slot 0 belongs to orange conversation

Slots are reserved (released) during circuit setup (teardown) If a conversation does not use its circuit capacity is lost!

Timing in Circuit Switching

time

Timing in Circuit Switching

time

Timing in Circuit Switching

time

Timing in Circuit Switching

time

Timing in Circuit Switching

Circuit Establishment

time

Timing in Circuit Switching

Circuit Establishment

Transfer

Information time

Timing in Circuit Switching

Circuit Establishment

Transfer

Information time

Circuit Teardown

Circuit switching: pros and cons  

Pros    

 

guaranteed performance fast transfer (once circuit is established)

Cons

Timing in Circuit Switching

Circuit Establishment

Transfer

Information time

Circuit Teardown

Circuit switching: pros and cons  

Pros    

 

guaranteed performance fast transfer (once circuit is established)

Cons  

wastes capacity if traffic is “bursty”

Timing in Circuit Switching

Circuit Establishment

Transfer

Information time

Circuit Teardown

Timing in Circuit Switching

Circuit Establishment Data transfer Information

Circuit Teardown

time

Circuit switching: pros and cons  

Pros    

 

guaranteed performance fast transfers (once circuit is established)

Cons    

wastes capacity if traffic is “bursty” connection setup time is overhead

Circuit switching

A B

Circuit switching doesn’t “route around trouble”

Circuit switching: pros and cons  

Pros    

 

guaranteed performance fast transfers (once circuit is established)

Cons      

wastes capacity if traffic is “bursty” connection setup time is overhead recovery from failure is slow

Circuit switching: pros and cons  

Pros    

 

guaranteed performance fast transfers (once circuit is established)

Cons        

wastes capacity if traffic is “bursty” connection setup adds delay recovery from failure is slow [in the telephone network] designed for a specific app

Packet switching!

Packet Switching    

Data is sent as chunks of formatted bits (Packets) Packets consist of a “header” and “payload”    

   

Switches “forward” packets based on their headers Each packet travels independently  

 

Data is sent as chunks of formatted bits (Packets) Packets consist of a “header” and “payload”

no notion of packets belonging to a “circuit”

No link resources are reserved in advance. Instead packet switching leverages statistical multiplexing payload Data 01000111100010101001110100011001

© Nick McKeown 2006

header Header

Inventors of Packet Switching

Paul Baran  

 

Donald Davies

Leonard Kleinrock

Watch the following interview with Prof. Kleinrock for a historical perspective: https://www.youtube.com/watch?v=qsgrtrwydjw

Timing in Packet Switching payl oad

time

What about the time to process the packet at the switch? •  We’ll assume it’s relatively negligible (mostly true)

Timing in Packet Switching payl oad

time

Could the switch start transmitting as soon as it has processed the header? •  Yes! This would be called a “cut through” switch

Timing in Packet Switching payl oad

time

We will always assume a switch processes/forwards a packet after it has received it entirely. This is called “store and forward” switching

Statistical Multiplexing!

Three Flows with Bursty Traffic Data Rate 1 Time

Data Rate 2 Capacity Time Data Rate 3

Time

When Each Flow Gets 1/3rd of Capacity Data Rate 1

Frequent Overloading Time

Data Rate 2 Time Data Rate 3

Time

When Flows Share Total Capacity

Time

No Overloading Time

Statistical multiplexing relies on the assumption that not all flows burst at the same time. Very similar to insurance, and has same failure case Time

Three Flows with Bursty Traffic Data Rate 1 Time

Data Rate 2 Capacity Time Data Rate 3

Time

Three Flows with Bursty Traffic Data Rate 1 Time

Data Rate 2 Capacity Time Data Rate 3

Time

Three Flows with Bursty Traffic

Data Rate 1+2+3 >> Capacity Time

Capacity Time

What do we do under overload?

Statistical multiplexing: pipe view

BW 

pkt tx time

time 

Statistical multiplexing: pipe view

Statistical multiplexing: pipe view

No Overload!

Statistical multiplexing: pipe view

Queue

Transient Overload Not a rare event!

Statistical multiplexing: pipe view

Queue

Transient Overload Not a rare event!

Statistical multiplexing: pipe view

Queue

Transient Overload Not a rare event!

Statistical multiplexing: pipe view

Queue

Transient Overload Not a rare event!

Statistical multiplexing: pipe view

Queue

Transient Overload Not a rare event!

Statistical multiplexing: pipe view

Queue

Transient Overload Queues absorb Nottransient a rare bursts! event!

Statistical multiplexing: pipe view

What about persistent overload? Will eventually drop packets

Queues introduce queuing delays  

Recall, packet delay = tx delay + prop delay

 

With queues (stat. muxing)  

packet delay = tx delay + prop delay + queuing delay

 

Queuing delay caused by “packet interference”

 

Made worse at high load    

less “idle time” to absorb bursts think about traffic jams at rush hour

Circuit switching: pros and cons  

Pros    

 

guaranteed performance fast transfers (once circuit is established)

Cons      

wastes capacity if traffic is “bursty” connection setup adds delay recovery from failure is slow

Packet switching: pros and cons  

Cons      

 

no guaranteed performance header overhead per packet queues and queuing delays

Pros      

efficient use of capacity (stat. muxing) no overhead due to connection setup resilient -- can `route around trouble’

Suggest Documents