cs 43: computer networkschaganti/cs43/f19/... · cs 43: computer networks 11: cdns and transport...

64
CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019

Upload: others

Post on 13-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

CS 43: Computer Networks

11: CDNs and Transport LayerOctober 8, 2019

Page 2: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

Reading Quiz

Slide 3

Page 3: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

Overlay Network

• A network made up of “virtual” or logical links

• Virtual links map to one or more physical links

Slide 7

Page 4: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

High-Performance Content Distribution

• Problem: You have a service that supplies lots of data. You want good performance for all users!

(often “lots of data” means media files)

Lecture 13 - Slide 8

Page 5: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

Key Components of a CDN

• Distributed servers– Usually located inside of other ISPs– Often located in IXPs (coming up next)

• High-speed network connecting them• Clients (eyeballs)– Can be located anywhere in the world– They want fast web performance

• Glue– Something that binds clients to “nearby” replica

servers

9

Page 6: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

CDN Challenges– How do we direct the user to a nearby replica instead

of the centralized source?– How do we determine which replica is the best to

send them to?– Ensure that replicas are always available?

Server

Clients

Backbone ISP

ISP-1 ISP-2

Page 7: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

Challenge: Finding the CDN

• Three main options:– Application redirect (e.g., HTTP)– “Anycast” routing– DNS resolution (most popular in practice)

• Example: CNN + Akamai

Lecture 13 - Slide 11

Page 8: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

CNN + Akamai

www.cnn.com

Request: cnn.com/articleResponse: HTML with linkto cache.cnn.com media

Content servers: serve media.

Lecture 13 - Slide 12

Page 9: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

CNN + Akamai

www.cnn.com

Request: cnn.com/articleResponse: HTML with linkto cache.cnn.com media

Root DNS Servers

com DNS servers org DNS servers edu DNS servers

swarthmore.eduDNS servers

cnn.comDNS servers

pbs.orgDNS servers

Content servers: serve media.

Lecture 13 - Slide 13

Page 10: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

CNN + Akamai

www.cnn.com

Request: cnn.com/articleResponse: HTML with linkto cache.cnn.com media

Root DNS Servers

com DNS servers org DNS servers edu DNS servers

swarthmore.eduDNS servers

cnn.comDNS servers

pbs.orgDNS servers

akamai.net DNS servers…

Content servers: serve media.

Akamai’s DNS response directs user to selected server.

Retrieve media file.

Lecture 13 - Slide 14

Page 11: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

CNN + Akamai

www.cnn.com

Request: cnn.com/articleResponse: HTML with linkto cache.cnn.com media

Root DNS Servers

com DNS servers org DNS servers edu DNS servers

swarthmore.eduDNS servers

cnn.comDNS servers

pbs.orgDNS servers

akamai.net DNS servers…

Content servers: serve media.

Akamai’s DNS response directs user to selected server.

Retrieve media file.

How to choose?

Lecture 13 - Slide 15

Page 12: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

Which metric is most important when choosing a server? (CDN or otherwise)

A. RTT latency

B. Data transfer rate / throughput

C. Hardware ownership

D. Geographic location

E. Some other metic(s) (such as?)

This is the CDN operator’s secret sauce!

Slide 16

Page 13: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

Content in today’s Internet

• Most flows are HTTP

– Web is at least 52% of traffic

– Median object size is 2.7K, average is 85K (as of 2007)

• Is the Internet designed for this common case?

– Why?

Slide 17

Page 14: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

Why speed matters

• Impact on user experience– Users navigating away from pages– Video startup delay

• 4x increase in abandonmentwith 10s increase in delay

Slide 18

Page 15: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

Streaming Media

• Straightforward approach: simple GET

• Challenges:– Dynamic network characteristics– Varying user device capabilities– User mobility

Slide 19

Page 16: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

Dynamic Adaptive Streaming over HTTP (DASH)

• Encode several versions of the same media file– low / medium / high / ultra quality

• Break each file into chunks

• Create a “manifest” to map file versions to chunks / video time offset

Slide 20

Page 17: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

Dynamic Adaptive Streaming over HTTP (DASH)

• Client requests manifest file, chooses version

• Requests new chunks as it plays existing ones

• Can switch between versions at any time!

Slide 21

Page 18: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

Summary

• Peer-to-peer architectures for:– High performance: BitTorrent– Decentralized lookup: DHTs

• CDNs: locating “good” replica for media server

• DASH: streaming despite dynamic conditions

Slide 22

Page 19: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

Application Layer

Does whatever an application does!

Slide 23

Chrome Thunderbird SkypeDNS

Page 20: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

Slide 24

Transport Layer

Page 21: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

Moving down a layer!

Application Layer

Transport: end-to-end connections, reliability

Network: routing

Link (data-link): framing, error detection

Physical: 1’s and 0’s/bits across a medium (copper, the air, fiber)

Slide 25

Page 22: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

Recall: Addressing and Encapsulation

Application: HTTP

Transport: TCP

Network: IP data

Link: Ethernet data

data

Slide 26

Human-readable strings: www.example.com

Assigning ports to socket ID

IP addresses (IPv4, IPv6)

(Network dependent) Ethernet: 48-bit MAC address

Page 23: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

Message Encapsulation

• Higher layer within lower layer

• Each layer has different concerns, provides abstract services to those above

Application

Transport: TCP

Network: IP data

Link: Ethernet data

data

Slide 27

Page 24: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

Transport Layer perspective

Transport: executing within the OS kernel

Network: ours to command!

Slide 28

Application is the boss

Page 25: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

Transport Layer perspective

Transport: executing within the OS kernel

What commands can we send to the network layer?

Slide 29

Looked at Application Layer

Page 26: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

What services does the network layer provide to the transport layer?

Slide 30

Transport: executing within the OS kernel

What commands can we send to the network layer?

Looked at Application Layer

A. Find paths through the network

B. Reliable transfer, with guaranteed delivery rates

C. Best-effort delivery

Page 27: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

send_to_host (data, host) : logical communication between end-hosts

✔ Find paths through the network

✔ Best-effort delivery!

Slide 31

Network Layer API

Source Destination

reliable data transfer

guaranteed delivery (or rate!)

Page 28: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

Provides logical communication between processes.

send_data_to_application (data, port, socket)

applicationtransportnetworkdata linkphysical

logical end-end transportapplicationtransportnetworkdata linkphysical

Slide 32

Transport Layer API

Page 29: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

Transport Layer: Runs on end systems

Slide 33

HTTP,DNS..

TCP

IP

Ethernetinterface

HTTP,DNS...

TCP

IP

Ethernetinterface

host host

IP

Ethernetinterface

SONETinterface

router

IP

Ethernetinterface

SONETinterface

router

Logical communication between processes

Page 30: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

How many of these services might we provide at the transport layer? Which?

• Reliable transfers• Error detection• Error correction• Bandwidth guarantees• Latency guarantees

• Encryption• Message ordering• Link sharing fairness

A. 4 or fewerB. 5C. 6

D. 7E. All 8

Lecture 15 - Slide 34

Page 31: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

How many of these services might we provide at the transport layer? Which?

• Reliable transfers (T)• Error detection (U, T)• Error correction (T)• Bandwidth guarantees• Latency guarantees

• Encryption• Message ordering (T)• Link sharing fairness (T)

A. 4 or fewerB. 5C. 6

D. 7E. All 8

Critical question: Can it be done at the end host?

Lecture 15 - Slide 35

Page 32: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

TCP sounds great! UDP…meh. Why do we need it?

A. It has good performance characteristics.

B. Sometimes all we need is error detection.

C. We still need to distinguish between sockets.

D. It basically just fills a gap in our layering model.

Lecture 15 - Slide 36

Page 33: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

• Nothing comes for free

• Data given by application

• Apply header– Keeps transport state– Attached by sender– Decoded by receiver

Payload Data

Payload DataTCP/UDP

Lecture 15 - Slide 37

Adding Features

Page 34: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

• Establishing state (making a connection)– Recall HTTP 1.0 vs. HTTP 1.1– Extra communication round trip

• Delays due to loss / reordering.

• Playing fair might cost you!

Lecture 15 - Slide 38

TCP Overhead

Page 35: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

Socket Abstraction

Slide 39

Page 36: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

Socket Abstraction

40

socket socketUser process User process

OperatingSystem

OperatingSystemInternet

Applications communicate using �sockets�Stream socket: reliable stream of bytes Message socket: unreliable message delivery

Page 37: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

Socket Abstraction

41

socket socketUser process User process

OperatingSystem

OperatingSystemInternet

Applications communicate using �sockets�/mailboxesDifferent mail-delivery service choices: TCP, UDP, ICMP, SCTP

Page 38: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

App

TCP

IP

Ethernetinterface

App

TCP

IP

Ethernetinterface

IP IP

Ethernetinterface

Ethernetinterface

SONETinterface

SONETinterface

host host

router router

Addressing Applications using Ports

Lecture 15 - Slide 42

Page 39: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

Multiplexing

Lecture 15 - Slide 43

App

Transport

App

TransportTransport

Network Layer

App App

(Simultaneous transmission of two or more signals/messages over a single channel.)

Page 40: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

Multiplexing

App

Transport

App

TransportTransport

Network Layer

App App

• The network is a shared resource.– It does NOT care about your applications, sockets, etc.

• Senders mark segments, in header, with identifier (port)

(Simultaneous transmission of two or more signals/messages over a single channel.)

Lecture 15 - Slide 44

Page 41: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

Multiplexing

App

Transport

App

TransportTransport

Network Layer

App App

• The network is a shared resource.– It does NOT care about your applications, sockets, etc.

• Senders mark segments, in header, with identifier (port)

(Simultaneous transmission of two or more signals/messages over a single channel.)

Lecture 15 - Slide 45

Page 42: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

De-multiplexing

App

Transport

App

TransportTransport

Network Layer

App App

• The network is a shared resource.– It does NOT care about your applications, sockets, etc.

• Receivers check header, deliver data to correct socket.

(Simultaneous transmission of two or more signals/messages over a single channel.)

Lecture 15 - Slide 46

Page 43: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

De-multiplexing

App

Transport

App

TransportTransport

Network Layer

App App

• The network is a shared resource.– It does NOT care about your applications, sockets, etc.

• Receivers check header, deliver data to correct socket.

(Simultaneous transmission of two or more signals/messages over a single channel.)

Lecture 15 - Slide 47

Page 44: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

De-multiplexing

App

Transport

App

TransportTransport

Network Layer

App App

• The network is a shared resource.

– It does NOT care about your applications, sockets, etc.

• Receivers check header, deliver data to correct socket.

(Simultaneous transmission of two or more signals/messages over a single channel.)

?

Lecture 15 - Slide 48

Page 45: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

De-multiplexing

App

Transport

App

TransportTransport

Network Layer

App App

• The network is a shared resource.

– It does NOT care about your applications, sockets, etc.

• Receivers check header, deliver data to correct socket.

(Simultaneous transmission of two or more signals/messages over a single channel.)

?

Lecture 15 - Slide 49

Page 46: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

Two Main Transport Layers

• User Datagram Protocol (UDP)– Unreliable, unordered delivery

• Transmission Control Protocol (TCP)– Reliable in-order delivery

50

Page 47: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

UDP – User Datagram Protocol

• Unreliable, unordered service• Adds:– multiplexing, – checksum (error detection)

Page 48: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

UDP: User Datagram Protocol [RFC 768]

• �No frills,� �Bare bones� Internet transport protocol– RFC 768 (1980)– Length of the document?

Lecture 15 - Slide 52

Page 49: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

UDP: User Datagram Protocol [RFC 768]

• �Best effort� service, • UDP segments may be:

– Lost– Delivered out of order (same as underlying network layer)

Lecture 15 - Slide 53

¯\_(�)_/¯

Page 50: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

How many of the following steps does UDP implement? (which ones?)

1. exchange an initiate handshake (connection setup) 2. break up packet into segments at the source and number

them3. place segments in order at the destination4. error-checking with checksum

Lecture 15 - Slide 54

A. 1 B. 2C. 3D. 4

Page 51: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

UDP Segment

SrcPort DstPort

ChecksumLength

Data

0 16 31

Page 52: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

source port # dest port #

applicationdata (variable length)

Urg data pointerFSRPAUhead

lennotused

checksumreceive window

sequence number

acknowledgement number

options (variable length)

Lecture 15 - Slide 56

32 bits

TCP Segment!

Page 53: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

UDP Checksum

• Goal: Detect transmission errors (e.g. flipped bits)– Router memory errors– Driver bugs– Electromagnetic interference

Lecture 15 - Slide 57

Page 54: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

UDP Checksum

RFC: “Checksum is the 16-bit one's complement of the one's complement sum of a pseudo header of information from the IP header, the UDP header, and the data, padded with zero octets at the end (if necessary) to make a multiple of two octets.”

Lecture 15 - Slide 58

Page 55: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

• Treat the entire segment as 16-bit integer values• Add them all together (sum)• Put the 1’s complement in the checksum header field

Lecture 15 - Slide 59

UDP Checksum at the Sender

Page 56: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

• In bitwise compliment, all of the bits in a binary number are flipped.

• So 1111000011110000 -> 0000111100001111

Lecture 15 - Slide 60

One’s Compliment

Page 57: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

example: add two 16-bit integers

1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 01 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1

1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 0 01 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1

sumchecksum

wraparound

Note: when adding numbers, a carryout from the most significant bit needs to be added to the result

1

Lecture 15 - Slide 61

Checksum example

Page 58: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

• Add all the received data together as 16-bit integers

• Add that to the checksum

• If result is not 1111 1111 1111 1111, there are errors!

Lecture 15 - Slide 62

Receiver

Page 59: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

If our checksum addition yields all ones, are we guaranteed to be error-free?

A. Yes

B. No

Lecture 15 - Slide 63

Page 60: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

• Latency sensitive– Quick request/response (DNS)– Network management (SNMP, TFTP)– Voice/video chat

• Error correction unnecessary (periodic msgs)

• Communicating with lots of others

Lecture 15 - Slide 64

UDP Applications

Page 61: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

A. Sorry, you’re out of luck.

B. Write your own transport protocol.

C. Add in the features you want at the application layer.

What if you want something more reliable than UDP, but faster/not as full featured as TCP?

Lecture 15 - Slide 65

Page 62: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

With TCP, send() blocks if buffer full.

Lecture 15 - Slide 66

Recall: TCP send() blocking

Page 63: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

With TCP, send() blocks if buffer full.

• Does UDP need to block? Should it?

A. Yes, if buffers are full, it should.B. It doesn’t need to, but it might be useful.C. No, it does not need to and shouldn’t do so.

Lecture 15 - Slide 67

UDP sendto() blocking

Page 64: CS 43: Computer Networkschaganti/cs43/f19/... · CS 43: Computer Networks 11: CDNs and Transport Layer October 8, 2019. Reading Quiz Slide 3. Overlay Network •A network made up

• UDP: No frills transport protocol.

• Simple, 8-byte header with ports, len, cksum

• Checksum protects against most bit flips

Lecture 15 - Slide 68

Summary