cse 461: protocols and layering - university of washington · pdf fileall messages are sent...

12
CSE 461: Protocols and Layering This Lecture 1. A top-down look at the Internet 2. Mechanics of protocols and layering 3. The Internet protocol stack

Upload: nguyenanh

Post on 12-Feb-2018

219 views

Category:

Documents


2 download

TRANSCRIPT

CSE 461: Protocols and Layering

This Lecture

1. A top-down look at the Internet2. Mechanics of protocols and layering3. The Internet protocol stack

1. A Brief Tour of the Internet

What happens when you “click” on a web link?

This is the view from 10,000 ft …

You at home(client) www.google.com

(server)

Internetrequest

response

9,000 ft: Caching

Lookup a cache before making the full request

Check cache (local or proxy) for a copy Check with server for a new version Question: what does caching improve?

Cache

“Changed?”

“Here it is.”

“Have it?”“No”

google

8,000 ft: Naming (DNS)

Map domain names to IP network addresses

All messages are sent using IP addresses So we have to translate names to addresses first But we cache translations to avoid doing it next time

(how do we check for consistency?)

“What’s the IP address for www.google.com?”

“It’s 207.200.75.200”

128.95.2.106

Nameserver

128.95.2.1

7,000 ft: Sessions (HTTP)

A single web page can be multiple “objects”

Fetch each “object” either sequentially or in parallel

Question: what attributes should the communicationlayer have?

GET index.html

GET ad.gif

GET logo.gif

google

6,000 ft: Reliability (TCP)

Messages can get lost

We acknowledge successful receipt and detect andretransmit lost messages (e.g., timeouts)

(lost)retransmission

acknowledgment

5,000 ft: Congestion (TCP)

Need to allocate bandwidth between users

Senders balance available and required bandwidths byprobing network path and observing the response

How fast canI send?

4,000 ft: Packets (TCP/IP)

Long messages are broken into packets Maximum Ethernet packet is 1.5 Kbytes Typical web page is 10 Kbytes

Number the segments for reassembly

1. GET2. inde3. x.ht4. ml

GET index.html

3,000 ft: Routing (IP)

Packets are directed through many routers

R

R

R

RRHH

H

H

H

R

RH

R

H: Hosts

R: RoutersInternet

2,000 ft: Multi-access (e.g., Cable)

May need to share links with other senders

Poll headend to receive a timeslot to send upstream Headend controls all downstream transmissions A lower level of addressing (than IP addresses) is used …

why?

Headend

1,000 ft: Framing/Modulation

Protect, delimit and modulate payload as signal

E.g, for cable, take payload, add error protection (Reed-Solomon), header and framing, then turn into a signal Modulate data to assigned channel and time (upstream) Downstream, 6 MHz (~30 Mbps), Upstream ~2 MHz (~3

Mbps)

Sync / Unique Payload w/ error correcting codeHeader

2. Protocols and Layering

We need abstractions to handle all this system complexity

A protocol is an agreement dictating the form and functionof data exchanged between parties to effect communication

Two parts: Syntax: format -- where the bits go Semantics: meaning -- what the words mean, what to do with

them Examples:

IP, the Internet protocol TCP and HTTP, for the Web

Protocol Standards

Different functions require different protocols Thus there are many protocol standards

E.g., IP, TCP, UDP, HTTP, DNS, FTP, SMTP, NNTP, ARP,Ethernet/802.3, 802.11, RIP, OPSF, 802.1D, NFS, ICMP,IGMP, DVMRP, IPSEC, PIM-SM, BGP, …

Organizations: IETF, IEEE, ITU IETF (www.ietf.org) specifies Internet-related protocols

RFCs (Requests for Comments) “We reject kings, presidents and voting. We believe in

rough consensus and running code.” – Dave Clark.

Layering and Protocol Stacks

Layering is how we combine protocols Higher level protocols build on services provided by

lower levels Peer layers communicate with each other

Layer N+1e.g., HTTP

Layer Ne.g., TCP

Home PC Netscape

Example – Layering at work

Ethernet

IP

TCP

CATV

IP

TCP

CATVEthernet

IPIP

host host

home router

Layering Mechanics

Encapsulation and de(en)capsulation

Hdr

Hdr Data

Data+

+

Messagespassedbetween

layers

A Packet on the Wire

Starts looking like an onion!

This isn’t entirely accurate ignores segmentation and reassembly, etc.

But you can see that layering adds overhead

IP Hdr Payload (Web object)TCP Hdr HTTP HdrEthernet Hdr

Start of packet End of packet

More Layering Mechanics

Multiplexing and demultiplexing in a protocol graph

UDPTCP

ARPIP

Ethernet

SMTP HTTP

802.2 identifier

IP protocol field

TCP port number

3. Internet Protocol Stacks

Key Question: What functionality goes in which protocol?

The “End to End Argument” (Reed, Saltzer, Clark, 1984):

Functionality should be implemented at a lower layer onlyif it can be correctly and completely implemented.

(Sometimes an incomplete implementation can be usefulas a performance optimization.)

Tends to push functions to the endpoints, which has aided theextensibility of the Internet.

Internet Protocol Framework

Network

Link

Transport

Application

IP

Many(Ethernet, …)

TCP / UDP

Many(HTTP,SMTP)

Model Protocols

What’s Inside a Packet

FROM=00:30:65:0a:ea:62,TO=00:30:64:9a:11:22,

SIZE=200,…FROM=128.95.1.32,

TO=28.2.5.1,SIZE=200-SIZEOF(Ehdr)

Ethernet Header:

IP Header:

FROM=Port 5000,TO=Port 80,Byte#=23,

SIZE=200-SIZEOF(Ehdr)-SIZEOF(IPHdr)HTTP v.1.0, Internet Explorer v5.1,…

TCP Header:

HTTP Hdr:

IP Hdr Payload (Web object)TCP Hdr HTTP HdrEthernet Hdr

GET http://www.google.comGood Stuff

Top (start)

Bottom (end)

Key Concepts

Protocol layers are the modularity that is used in networks tohandle complexity

The Internet layer model give us a roadmap of what kind offunction belongs at what layer