Upload
leliem
View
227
Download
3
Embed Size (px)
Citation preview
Introduction
Chapter 1: roadmap1.1 what is the Internet?1.2 network edge
end systems, access networks, links1.3 network core
packet switching, circuit switching, network structure1.4 delay, loss, throughput in networks1.5 protocol layers, service models1.6 networks under attack: security1.7 history
1-3
Introduction
Internet: “network of networks” Interconnected ISPs
protocols control sending, receiving of msgs e.g., TCP, IP, HTTP, Skype, 802.11
Internet standards RFC: Request for comments IETF: Internet Engineering Task Force
What’s the Internet: “nuts and bolts” view
mobile network
global ISP
regional ISP
home network
institutional network
1-6
What’s the Internet: a service view
Infrastructure that provides services to applications: Web, VoIP, email, games, e-
commerce, social nets, … provides programming
interface to apps hooks that allow sending
and receiving app programs to “connect” to Internet
provides service options, analogous to postal service
mobile network
global ISP
regional ISP
home network
institutional network
Introduction 1-7
Introduction
Chapter 1: roadmap1.1 what is the Internet?1.2 network edge
end systems, access networks, links1.3 network core
packet switching, circuit switching, network structure1.4 delay, loss, throughput in networks1.5 protocol layers, service models1.6 networks under attack: security1.7 history
1-10
Introduction
A closer look at network structure:
network edge: hosts: clients and servers servers often in data
centers
access networks, physical media: wired, wireless communication links
network core: interconnected routersnetwork of networks
mobile network
global ISP
regional ISP
home network
institutional network
1-11
Introduction
Access net: digital subscriber line (DSL)
central office
ISP
telephonenetwork
DSLAM
voice, data transmittedat different frequencies over
dedicated line to central office
use existing telephone line to central office DSLAM data over DSL phone line goes to Internet voice over DSL phone line goes to telephone net
< 2.5 Mbps upstream transmission rate (typically < 1 Mbps) < 24 Mbps downstream transmission rate (typically < 10 Mbps)
DSLmodem
splitter
DSL access multiplexer
1-13
Introduction
Access net: cable network
cablemodem
splitter
…
cable headend
Channels
VIDEO
VIDEO
VIDEO
VIDEO
VIDEO
VIDEO
DATA
DATA
CONTROL
1 2 3 4 5 6 7 8 9
frequency division multiplexing: different channels transmittedin different frequency bands
1-14
Introduction
Access net: home network
to/from headend or central office
cable or DSL modem
router, firewall, NAT
wired Ethernet (100 Mbps)
wireless access point (54 Mbps)
wirelessdevices
often combined in single box
1-16
Introduction
Enterprise access networks (Ethernet)
typically used in companies, universities, etc 10 Mbps, 100Mbps, 1Gbps, 10Gbps transmission rates today, end systems typically connect into Ethernet switch
Ethernet switch
institutional mail,web servers
institutional router
institutional link to ISP (Internet)
1-17
Introduction
Wireless access networks
shared wireless access network connects end system to router via base station aka “access point”
wireless LANs: within building (100 ft) 802.11b/g (WiFi): 11, 54 Mbps
transmission rate
wide-area wireless access provided by telco (cellular)
operator, 10’s km between 1 and 10 Mbps 3G, 4G: LTE
to Internet
to Internet
1-18
Introduction
Physical media
bit: propagates betweentransmitter/receiver pairs
physical link: what lies between transmitter & receiver
guided media: signals propagate in solid
media: copper, fiber, coax unguided media:
signals propagate freely, e.g., radio
twisted pair (TP) two insulated copper
wires Category 5: 100 Mbps, 1
Gpbs Ethernet Category 6: 10Gbps
1-20
Introduction
Physical media: coax, fiber
coaxial cable: two concentric copper
conductors bidirectional broadband:
multiple channels on cable HFC
fiber optic cable: glass fiber carrying light
pulses, each pulse a bit high-speed operation:
high-speed point-to-point transmission (e.g., 10’s-100’s Gpbs transmission rate)
low error rate: repeaters spaced far apart immune to electromagnetic
noise
1-21
Introduction
Physical media: radio
signal carried in electromagnetic spectrum
no physical “wire” bidirectional propagation environment
effects: reflection obstruction by objects interference
radio link types: terrestrial microwave
e.g. up to 45 Mbps channels LAN (e.g., WiFi)
11Mbps, 54 Mbps wide-area (e.g., cellular)
3G cellular: ~ few Mbps satellite
Kbps to 45Mbps channel (or multiple smaller channels)
270 msec end-end delay geosynchronous versus low
altitude
1-22
Introduction
Chapter 1: roadmap1.1 what is the Internet?1.2 network edge
end systems, access networks, links
1.3 network core packet switching, circuit switching, network structure
1.4 delay, loss, throughput in networks1.5 protocol layers, service models1.6 networks under attack: security1.7 history
1-23
Introduction
mesh of interconnected routers
packet-switching: hosts break application-layer messages into packets forward packets from one
router to the next, across links on path from source to destination
each packet transmitted at full link capacity
The network core
1-24
Network Layer 4-27
Two key network-core functionsforwarding: move packets from router’s input to appropriate router output
routing: determines source-destination route taken by packets
routing algorithms
routing algorithm
local forwarding table
header value output link
0100010101111001
3221
1
23
0111
dest address in arrivingpacket’s header
Introduction
Alternative core: circuit switchingend-end resources allocated
to, reserved for “call” between source & dest:
In diagram, each link has four circuits. call gets 2nd circuit in top
link and 1st circuit in right link.
dedicated resources: no sharing circuit-like (guaranteed)
performance circuit segment idle if not used
by call (no sharing) Commonly used in traditional
telephone networks1-28
Internet structure: network of networks
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnetaccess
net
accessnet
…
………
…
…
… and content provider networks (e.g., Google, Microsoft, Akamai ) may run their own network, to bring services, content close to end users
ISP B
ISP A
ISP B
IXP
IXP
regional net
Content provider network
Introduction
Chapter 1: roadmap1.1 what is the Internet?1.2 network edge
end systems, access networks, links1.3 network core
packet switching, circuit switching, network structure1.4 delay, loss, throughput in networks1.5 protocol layers, service models1.6 networks under attack: security1.7 history
1-42
Introduction
Four sources of packet delay
dproc: nodal processing check bit errors determine output link typically < msec
A
B
propagation
transmission
nodalprocessing queueing
dqueue: queueing delay time waiting at output link
for transmission depends on congestion
level of router
dnodal = dproc + dqueue + dtrans + dprop
1-44
Introduction
Packet loss queue (aka buffer) preceding link in buffer has finite
capacity packet arriving to full queue dropped (aka lost) lost packet may be retransmitted by previous node, by
source end system, or not at all
A
B
packet being transmitted
packet arriving tofull buffer is lost
buffer (waiting area)
1-51* Check out the Java applet for an interactive animation on queuing and loss
Introduction
Throughput throughput: rate (bits/time unit) at which bits
transferred between sender/receiver instantaneous: rate at given point in time average: rate over longer period of time
server, withfile of F bits
to send to client
link capacity Rs bits/sec
link capacity Rc bits/sec
server sends bits (fluid) into pipe
pipe that can carryfluid at rate Rs bits/sec)
pipe that can carryfluid at rate Rc bits/sec)
1-52
Introduction
Chapter 1: roadmap1.1 what is the Internet?1.2 network edge
end systems, access networks, links1.3 network core
packet switching, circuit switching, network structure1.4 delay, loss, throughput in networks1.5 protocol layers, service models1.6 networks under attack: security1.7 history
1-55
Introduction
Internet protocol stack application: supporting network
applications FTP, SMTP, HTTP
transport: process-process data transfer TCP, UDP
network: routing of datagrams from source to destination IP, routing protocols
link: data transfer between neighboring network elements Ethernet, 802.111 (WiFi), PPP
physical: bits “on the wire”
application
transport
network
link
physical
1-60
Introduction
source
applicationtransportnetwork
linkphysical
HtHn M
segment Ht
datagram
destination
applicationtransportnetwork
linkphysical
HtHnHl M
HtHn M
Ht M
M
networklink
physical
linkphysical
HtHnHl M
HtHn M
HtHn M
HtHnHl M
router
switch
Encapsulationmessage M
Ht M
Hn
frame
1-62
Introduction
Chapter 1: roadmap1.1 what is the Internet?1.2 network edge
end systems, access networks, links1.3 network core
packet switching, circuit switching, network structure1.4 delay, loss, throughput in networks1.5 protocol layers, service models1.6 networks under attack: security1.7 history
1-63
Introduction
Chapter 1: roadmap1.1 what is the Internet?1.2 network edge
end systems, access networks, links1.3 network core
packet switching, circuit switching, network structure1.4 delay, loss, throughput in networks1.5 protocol layers, service models1.6 networks under attack: security1.7 history
1-69
Application Layer 2-2
Chapter 2: outline
2.1 principles of network applications
2.2 Web and HTTP2.3 FTP 2.4 electronic mail
SMTP, POP3, IMAP2.5 DNS
2.6 P2P applications2.7 socket programming
with UDP and TCP
Application Layer 2-3
Chapter 2: application layer
our goals: conceptual,
implementation aspects of network application protocols transport-layer
service models client-server
paradigm peer-to-peer
paradigm
learn about protocols by examining popular application-level protocols HTTP FTP SMTP / POP3 / IMAP DNS
creating network applications socket API
Application Layer 2-6
Application architectures
possible structure of applications: client-server peer-to-peer (P2P)
Application Layer 2-10
Sockets process sends/receives messages to/from its socket socket analogous to door
sending process shoves message out door sending process relies on transport infrastructure on
other side of door to deliver message to socket at receiving process
Internet
controlledby OS
controlled byapp developer
transport
application
physical
link
network
process
transport
application
physical
link
network
processsocket
Application Layer 2-15
Internet transport protocols services
TCP service: reliable transport between
sending and receiving process
flow control: sender won’t overwhelm receiver
congestion control: throttle sender when network overloaded
does not provide: timing, minimum throughput guarantee, security
connection-oriented: setup required between client and server processes
UDP service: unreliable data transfer
between sending and receiving process
does not provide: reliability, flow control, congestion control, timing, throughput guarantee, security, orconnection setup,
Q: why bother? Why is there a UDP?
Application Layer 2-18
Chapter 2: outline
2.1 principles of network applications app architectures app requirements
2.2 Web and HTTP2.3 FTP 2.4 electronic mail
SMTP, POP3, IMAP2.5 DNS
2.6 P2P applications2.7 socket programming
with UDP and TCP
Application Layer 2-22
HTTP connections
non-persistent HTTP at most one object
sent over TCP connection connection then
closed downloading multiple
objects required multiple connections
persistent HTTP multiple objects can
be sent over single TCP connection between client, server
Application Layer 2-30
Method types
HTTP/1.0: GET POST HEAD
asks server to leave requested object out of response
HTTP/1.1: GET, POST, HEAD PUT
uploads file in entity body to path specified in URL field
DELETE deletes file specified in
the URL field
Application Layer 2-35
Cookies: keeping “state” (cont.)
client server
usual http response msg
usual http response msg
cookie file
one week later:
usual http request msgcookie: 1678 cookie-
specificaction
access
ebay 8734usual http request msg Amazon server
creates ID1678 for user create
entry
usual http response set-cookie: 1678
ebay 8734amazon 1678
usual http request msgcookie: 1678 cookie-
specificaction
access
ebay 8734amazon 1678
backenddatabase
Application Layer 2-37
Web caches (proxy server)
user sets browser: Web accesses via cache
browser sends all HTTP requests to cache object in cache: cache
returns object else cache requests
object from origin server, then returns object to client
goal: satisfy client request without involving origin server
client
proxyserver
client
HTTP request
HTTP response
HTTP request HTTP request
origin server
origin server
HTTP response HTTP response
institutionalnetwork
1 Gbps LAN
Application Layer 2-41
Caching example: install local cache
originservers
1.54 Mbps access link
local web cache
assumptions: avg object size: 100K bits avg request rate from browsers to
origin servers:15/sec avg data rate to browsers: 1.50 Mbps RTT from institutional router to any
origin server: 2 sec access link rate: 1.54 Mbps
consequences: LAN utilization: 15% access link utilization = 100% total delay = Internet delay + access
delay + LAN delay = 2 sec + minutes + usecs
??
How to compute link utilization, delay?
Cost: web cache (cheap!)
public Internet
Application Layer 2-44
Chapter 2: outline
2.1 principles of network applications app architectures app requirements
2.2 Web and HTTP2.3 FTP 2.4 electronic mail
SMTP, POP3, IMAP2.5 DNS
2.6 P2P applications2.7 socket programming
with UDP and TCP
Application Layer 2-48
Chapter 2: outline
2.1 principles of network applications app architectures app requirements
2.2 Web and HTTP2.3 FTP 2.4 electronic mail
SMTP, POP3, IMAP2.5 DNS
2.6 P2P applications2.7 socket programming
with UDP and TCP
Application Layer 2-49
Electronic mail
Three major components: user agents mail servers simple mail transfer
protocol: SMTP
User Agent a.k.a. “mail reader” composing, editing, reading
mail messages e.g., Outlook, Thunderbird,
iPhone mail client outgoing, incoming
messages stored on server
user mailbox
outgoing message queue
mailserver
mailserver
mailserver
SMTP
SMTP
SMTP
useragent
useragent
useragent
useragent
useragent
useragent
Application Layer 2-57
Mail access protocols
SMTP: delivery/storage to receiver’s server mail access protocol: retrieval from server
POP: Post Office Protocol [RFC 1939]: authorization, download
IMAP: Internet Mail Access Protocol [RFC 1730]: more features, including manipulation of stored msgs on server
HTTP: gmail, Hotmail, Yahoo! Mail, etc.
sender’s mail server
SMTP SMTPmail access
protocol
receiver’s mail server
(e.g., POP, IMAP)
useragent
useragent
Application Layer 2-60
Chapter 2: outline
2.1 principles of network applications app architectures app requirements
2.2 Web and HTTP2.3 FTP 2.4 electronic mail
SMTP, POP3, IMAP2.5 DNS
2.6 P2P applications2.7 socket programming
with UDP and TCP
Application Layer 2-63
Root DNS Servers
com DNS servers org DNS servers edu DNS servers
poly.eduDNS servers
umass.eduDNS servers
yahoo.comDNS servers
amazon.comDNS servers
pbs.orgDNS servers
DNS: a distributed, hierarchical database
client wants IP for www.amazon.com; 1st approx: client queries root server to find com DNS server client queries .com DNS server to get amazon.com DNS server client queries amazon.com DNS server to get IP address for
www.amazon.com
… …
Application Layer 2-68
45
6
3
recursive query: puts burden of name
resolution on contacted name server
heavy load at upper levels of hierarchy?
requesting hostcis.poly.edu
gaia.cs.umass.edu
root DNS server
local DNS serverdns.poly.edu
1
27
authoritative DNS serverdns.cs.umass.edu
8
DNS name resolution example
TLD DNS server
Application Layer 2-75
Chapter 2: outline
2.1 principles of network applications app architectures app requirements
2.2 Web and HTTP2.3 FTP 2.4 electronic mail
SMTP, POP3, IMAP2.5 DNS
2.6 P2P applications2.7 socket programming
with UDP and TCP
Application Layer 2-81
P2P file distribution: BitTorrent
tracker: tracks peers participating in torrent
torrent: group of peers exchanging chunks of a file
Alice arrives …
file divided into 256Kb chunks peers in torrent send/receive file chunks
… obtains listof peers from tracker… and begins exchanging file chunks with peers in torrent
Distributed Hash Table (DHT)
DHT: a distributed P2P database database has (key, value) pairs; examples:
key: ss number; value: human name key: movie title; value: IP address
Distribute the (key, value) pairs over the (millions of peers)
a peer queries DHT with key DHT returns values that match the key
peers can also insert (key, value) pairsApplication 2-85
Circular DHT with shortcuts
each peer keeps track of IP addresses of predecessor, successor, short cuts.
reduced from 6 to 2 messages. possible to design shortcuts so O(log N) neighbors, O(log N)
messages in query
1
3
4
5
810
12
15
Who’s responsible
for key 1110?
Application 2-91
Peer churn
example: peer 5 abruptly leavespeer 4 detects peer 5 departure; makes 8 its immediate successor; asks 8 who its immediate successor is; makes 8’s immediate successor its second successor.what if peer 13 wants to join?
1
3
4
5
810
12
15
handling peer churn:peers may come and go (churn)each peer knows address of its two successors each peer periodically pings its two successors to check alivenessif immediate successor leaves, choose next successor as new immediate successor
Application 2-92
Application Layer 2-93
Chapter 2: outline
2.1 principles of network applications app architectures app requirements
2.2 Web and HTTP2.3 FTP 2.4 electronic mail
SMTP, POP3, IMAP2.5 DNS
2.6 P2P applications2.7 socket programming
with UDP and TCP
Application Layer 2-94
Socket programming
goal: learn how to build client/server applications that communicate using sockets
socket: door between application process and end-end-transport protocol
Internet
controlledby OS
controlled byapp developer
transport
application
physical
link
network
process
transport
application
physical
link
network
processsocket
Transport Layer 3-3
Chapter 3 outline
3.1 transport-layer services
3.2 multiplexing and demultiplexing
3.3 connectionless transport: UDP
3.4 principles of reliable data transfer
3.5 connection-oriented transport: TCP segment structure reliable data transfer flow control connection management
3.6 principles of congestion control
3.7 TCP congestion control
Transport Layer 3-4
Transport services and protocols provide logical communication
between app processes running on different hosts
transport protocols run in end systems send side: breaks app
messages into segments, passes to network layer
rcv side: reassembles segments into messages, passes to app layer
more than one transport protocol available to apps Internet: TCP and UDP
applicationtransportnetworkdata linkphysical
logical end-end transportapplicationtransportnetworkdata linkphysical
Transport Layer 3-7
Chapter 3 outline
3.1 transport-layer services
3.2 multiplexing and demultiplexing
3.3 connectionless transport: UDP
3.4 principles of reliable data transfer
3.5 connection-oriented transport: TCP segment structure reliable data transfer flow control connection management
3.6 principles of congestion control
3.7 TCP congestion control
Transport Layer 3-11
Connectionless demux: exampleDatagramSocket serverSocket = new DatagramSocket
(6428);
transport
application
physical
link
network
P3transport
application
physical
link
network
P1
transport
application
physical
link
network
P4
DatagramSocket mySocket1 = new DatagramSocket (5775);
DatagramSocket mySocket2 = new DatagramSocket (9157);
source port: 9157dest port: 6428
source port: 6428dest port: 9157
source port: ?dest port: ?
source port: ?dest port: ?
Transport Layer 3-14
Connection-oriented demux: example
transport
application
physical
link
network
P3transport
application
physical
link
transport
application
physical
link
network
P2
source IP,port: A,9157dest IP, port: B,80
source IP,port: B,80dest IP,port: A,9157
host: IP address A
host: IP address C
server: IP address B
network
P3
source IP,port: C,5775dest IP,port: B,80
source IP,port: C,9157dest IP,port: B,80
P4
threaded server
Transport Layer 3-15
Chapter 3 outline
3.1 transport-layer services
3.2 multiplexing and demultiplexing
3.3 connectionless transport: UDP
3.4 principles of reliable data transfer
3.5 connection-oriented transport: TCP segment structure reliable data transfer flow control connection management
3.6 principles of congestion control
3.7 TCP congestion control
Transport Layer 3-16
UDP: User Datagram Protocol [RFC 768]
“no frills,” “bare bones” Internet transport protocol
“best effort” service, UDP segments may be: lost delivered out-of-order
to app connectionless:
no handshaking between UDP sender, receiver
each UDP segment handled independently of others
UDP use: streaming multimedia
apps (loss tolerant, rate sensitive)
DNS SNMP
reliable transfer over UDP: add reliability at
application layer application-specific error
recovery!
Transport Layer 3-20
Chapter 3 outline
3.1 transport-layer services
3.2 multiplexing and demultiplexing
3.3 connectionless transport: UDP
3.4 principles of reliable data transfer
3.5 connection-oriented transport: TCP segment structure reliable data transfer flow control connection management
3.6 principles of congestion control
3.7 TCP congestion control
Transport Layer 3-24
Reliable data transfer: getting started
sendside
receiveside
rdt_send(): called from above, (e.g., by app.). Passed data to deliver to receiver upper layer
udt_send(): called by rdt,to transfer packet over
unreliable channel to receiver
rdt_rcv(): called when packet arrives on rcv-side of channel
deliver_data(): called by rdt to deliver data to upper
Transport Layer 3-39
rdt3.0 sendersndpkt = make_pkt(0, data, checksum)udt_send(sndpkt)start_timer
rdt_send(data)
Wait for
ACK0
rdt_rcv(rcvpkt) && ( corrupt(rcvpkt) ||isACK(rcvpkt,1) )
Wait for call 1 from
above
sndpkt = make_pkt(1, data, checksum)udt_send(sndpkt)start_timer
rdt_send(data)
rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) && isACK(rcvpkt,0)
rdt_rcv(rcvpkt) && ( corrupt(rcvpkt) ||isACK(rcvpkt,0) )
rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) && isACK(rcvpkt,1)
stop_timerstop_timer
udt_send(sndpkt)start_timer
timeout
udt_send(sndpkt)start_timer
timeout
rdt_rcv(rcvpkt)
Wait for call 0from
above
Wait for
ACK1
rdt_rcv(rcvpkt)
Transport Layer 3-41
rdt3.0 in action
rcv pkt1send ack1
(detect duplicate)
pkt1
sender receiver
rcv pkt1
rcv pkt0
send ack0
send ack1
send ack0
rcv ack0
send pkt0
send pkt1
rcv ack1
send pkt0rcv pkt0
pkt0
pkt0
ack1
ack0
ack0
(c) ACK loss
ack1X
loss
pkt1timeout
resend pkt1
rcv pkt1send ack1
(detect duplicate)
pkt1
sender receiver
rcv pkt1
send ack0rcv ack0
send pkt1
send pkt0rcv pkt0
pkt0
ack0
(d) premature timeout/ delayed ACK
pkt1timeout
resend pkt1
ack1
send ack1
send pkt0rcv ack1
pkt0
ack1
ack0
send pkt0rcv ack1 pkt0
rcv pkt0send ack0ack0
rcv pkt0
send ack0(detect duplicate)
Transport Layer 3-46
Pipelined protocols: overviewGo-back-N: sender can have up to
N unacked packets in pipeline
receiver only sends cumulative ack doesn’t ack packet if
there’s a gap sender has timer for
oldest unacked packet when timer expires,
retransmit all unacked packets
Selective Repeat: sender can have up to N
unack’ed packets in pipeline
rcvr sends individual ack for each packet
sender maintains timer for each unacked packet when timer expires,
retransmit only that unacked packet
Transport Layer 3-47
Go-Back-N: sender k-bit seq # in pkt header “window” of up to N, consecutive unack’ed pkts allowed
ACK(n): ACKs all pkts up to, including seq # n - “cumulative ACK” may receive duplicate ACKs (see receiver)
timer for oldest in-flight pkt timeout(n): retransmit packet n and all higher seq # pkts in
window
Transport Layer 3-52
Selective repeat: sender, receiver windows
Transport Layer 3-56
Chapter 3 outline
3.1 transport-layer services
3.2 multiplexing and demultiplexing
3.3 connectionless transport: UDP
3.4 principles of reliable data transfer
3.5 connection-oriented transport: TCP segment structure reliable data transfer flow control connection management
3.6 principles of congestion control
3.7 TCP congestion control
Transport Layer 3-57
TCP: Overview RFCs: 793,1122,1323, 2018, 2581
full duplex data: bi-directional data flow
in same connection MSS: maximum segment
size connection-oriented:
handshaking (exchange of control msgs) inits sender, receiver state before data exchange
flow controlled: sender will not
overwhelm receiver
point-to-point: one sender, one receiver
reliable, in-order byte steam: no “message
boundaries” pipelined:
TCP congestion and flow control set window size
Transport Layer 3-64
Chapter 3 outline
3.1 transport-layer services
3.2 multiplexing and demultiplexing
3.3 connectionless transport: UDP
3.4 principles of reliable data transfer
3.5 connection-oriented transport: TCP segment structure reliable data transfer flow control connection management
3.6 principles of congestion control
3.7 TCP congestion control
Transport Layer 3-65
TCP reliable data transfer TCP creates rdt service
on top of IP’s unreliable service pipelined segments cumulative acks single retransmission
timer retransmissions
triggered by: timeout events duplicate acks
let’s initially consider simplified TCP sender: ignore duplicate acks ignore flow control,
congestion control
Transport Layer 3-73
Chapter 3 outline
3.1 transport-layer services
3.2 multiplexing and demultiplexing
3.3 connectionless transport: UDP
3.4 principles of reliable data transfer
3.5 connection-oriented transport: TCP segment structure reliable data transfer flow control connection management
3.6 principles of congestion control
3.7 TCP congestion control
Transport Layer 3-74
TCP flow controlapplication
process
TCP socketreceiver buffers
TCPcode
IPcode
application
OS
receiver protocol stack
application may remove data from
TCP socket buffers ….
… slower than TCP receiver is delivering(sender is sending)
from sender
receiver controls sender, so sender won’t overflow receiver’s buffer by transmitting too much, too fast
flow control
Transport Layer 3-76
Chapter 3 outline
3.1 transport-layer services
3.2 multiplexing and demultiplexing
3.3 connectionless transport: UDP
3.4 principles of reliable data transfer
3.5 connection-oriented transport: TCP segment structure reliable data transfer flow control connection management
3.6 principles of congestion control
3.7 TCP congestion control
Transport Layer 3-80
TCP 3-way handshake
SYNbit=1, Seq=x
choose init seq num, xsend TCP SYN msg
ESTAB
SYNbit=1, Seq=yACKbit=1; ACKnum=x+1
choose init seq num, ysend TCP SYNACKmsg, acking SYN
ACKbit=1, ACKnum=y+1
received SYNACK(x) indicates server is live;send ACK for SYNACK;
this segment may contain client-to-server data
received ACK(y) indicates client is live
SYNSENT
ESTAB
SYN RCVD
client state
LISTEN
server state
LISTEN
Transport Layer 3-83
FIN_WAIT_2
CLOSE_WAIT
FINbit=1, seq=y
ACKbit=1; ACKnum=y+1
ACKbit=1; ACKnum=x+1 wait for server
close
can stillsend data
can no longersend data
LAST_ACK
CLOSED
TIMED_WAIT
timed wait for 2*max
segment lifetime
CLOSED
TCP: closing a connection
FIN_WAIT_1 FINbit=1, seq=xcan no longersend but can receive data
clientSocket.close()
client state server state
ESTABESTAB
Transport Layer 3-84
Chapter 3 outline
3.1 transport-layer services
3.2 multiplexing and demultiplexing
3.3 connectionless transport: UDP
3.4 principles of reliable data transfer
3.5 connection-oriented transport: TCP segment structure reliable data transfer flow control connection management
3.6 principles of congestion control
3.7 TCP congestion control
Transport Layer 3-93
four senders multihop paths timeout/retransmit
Q: what happens as in and in’
increase ?
finite shared output link buffers
Host A out
Causes/costs of congestion: scenario 3
Host B
Host CHost D
in : original data
'in: original data, plus
retransmitted data
A: as red in’ increases, all arriving
blue pkts at upper queue are dropped, blue throughput 0
Transport Layer 3-96
Case study: ATM ABR congestion control
ABR: available bit rate: “elastic service” if sender’s path
“underloaded”: sender should use
available bandwidth if sender’s path
congested: sender throttled to
minimum guaranteed rate
RM (resource management) cells:
sent by sender, interspersed with data cells
bits in RM cell set by switches (“network-assisted”) NI bit: no increase in rate
(mild congestion) CI bit: congestion
indication RM cells returned to sender
by receiver, with bits intact
Transport Layer 3-98
Chapter 3 outline
3.1 transport-layer services
3.2 multiplexing and demultiplexing
3.3 connectionless transport: UDP
3.4 principles of reliable data transfer
3.5 connection-oriented transport: TCP segment structure reliable data transfer flow control connection management
3.6 principles of congestion control
3.7 TCP congestion control
Transport Layer 3-99
TCP congestion control: additive increase multiplicative decrease
approach: sender increases transmission rate (window size), probing for usable bandwidth, until loss occurs additive increase: increase cwnd by 1 MSS every
RTT until loss detectedmultiplicative decrease: cut cwnd in half after loss cwnd:
TC
P s
ende
r co
nges
tion
win
dow
siz
e
AIMD saw toothbehavior: probing
for bandwidth
additively increase window size ……. until loss occurs (then cut window in half)
time
Transport Layer 3-104
Summary: TCP Congestion Control
timeoutssthresh = cwnd/2
cwnd = 1 MSSdupACKcount = 0
retransmit missing segment
cwnd > ssthresh
congestionavoidance
cwnd = cwnd + MSS (MSS/cwnd)dupACKcount = 0
transmit new segment(s), as allowed
new ACK.
dupACKcount++
duplicate ACK
fastrecovery
cwnd = cwnd + MSStransmit new segment(s), as allowed
duplicate ACK
ssthresh= cwnd/2cwnd = ssthresh + 3
retransmit missing segment
dupACKcount == 3
timeoutssthresh = cwnd/2cwnd = 1 dupACKcount = 0retransmit missing segment
ssthresh= cwnd/2cwnd = ssthresh + 3retransmit missing segment
dupACKcount == 3cwnd = ssthreshdupACKcount = 0
New ACK
slow start
timeoutssthresh = cwnd/2
cwnd = 1 MSSdupACKcount = 0
retransmit missing segment
cwnd = cwnd+MSSdupACKcount = 0transmit new segment(s), as allowed
new ACKdupACKcount++
duplicate ACK
cwnd = 1 MSSssthresh = 64 KBdupACKcount = 0
NewACK!
NewACK!
NewACK!
Network Layer 4-3
4.1 introduction4.2 virtual circuit and
datagram networks4.3 what’s inside a router4.4 IP: Internet Protocol
datagram format IPv4 addressing ICMP IPv6
4.5 routing algorithms link state distance vector hierarchical routing
4.6 routing in the Internet RIP OSPF BGP
4.7 broadcast and multicast routing
Chapter 4: outline
Network Layer 4-6
1
23
0111
value in arrivingpacket’s header
routing algorithm
local forwarding tableheader value output link
0100010101111001
3221
Interplay between routing and forwarding
routing algorithm determinesend-end-path through network
forwarding table determineslocal forwarding at this router
Network Layer 4-10
4.1 introduction4.2 virtual circuit and
datagram networks4.3 what’s inside a router4.4 IP: Internet Protocol
datagram format IPv4 addressing ICMP IPv6
4.5 routing algorithms link state distance vector hierarchical routing
4.6 routing in the Internet RIP OSPF BGP
4.7 broadcast and multicast routing
Chapter 4: outline
Network Layer 4-14
VC forwarding table12 22 32
12
3
VC numberinterfacenumber
Incoming interface Incoming VC # Outgoing interface Outgoing VC #
1 12 3 222 63 1 18 3 7 2 171 97 3 87… … … …
forwarding table innorthwest router:
VC routers maintain connection state information!
Network Layer 4-17
1
23
Datagram forwarding table
IP destination address in arriving packet’s header
routing algorithm
local forwarding tabledest address output
linkaddress-range 1address-range 2address-range 3address-range 4
3221
4 billion IP addresses, so rather than list individual destination addresslist range of addresses(aggregate table entries)
Network Layer 4-21
4.1 introduction4.2 virtual circuit and
datagram networks4.3 what’s inside a router4.4 IP: Internet Protocol
datagram format IPv4 addressing ICMP IPv6
4.5 routing algorithms link state distance vector hierarchical routing
4.6 routing in the Internet RIP OSPF BGP
4.7 broadcast and multicast routing
Chapter 4: outline
Network Layer 4-22
Router architecture overviewtwo key router functions: run routing algorithms/protocol (RIP, OSPF, BGP) forwarding datagrams from incoming to outgoing link
high-seed switching
fabric
routing processor
router input ports router output ports
forwarding data plane (hardware)
routing, managementcontrol plane (software)
forwarding tables computed,pushed to input ports
Network Layer 4-32
4.1 introduction4.2 virtual circuit and
datagram networks4.3 what’s inside a router4.4 IP: Internet Protocol
datagram format IPv4 addressing ICMP IPv6
4.5 routing algorithms link state distance vector hierarchical routing
4.6 routing in the Internet RIP OSPF BGP
4.7 broadcast and multicast routing
Chapter 4: outline
Network Layer 4-33
The Internet network layer
forwardingtable
host, router network layer functions:
routing protocols• path selection• RIP, OSPF, BGP
IP protocol• addressing conventions• datagram format• packet handling conventions
ICMP protocol• error reporting• router “signaling”
transport layer: TCP, UDP
link layer
physical layer
networklayer
Network Layer 4-37
4.1 introduction4.2 virtual circuit and
datagram networks4.3 what’s inside a router4.4 IP: Internet Protocol
datagram format IPv4 addressing ICMP IPv6
4.5 routing algorithms link state distance vector hierarchical routing
4.6 routing in the Internet RIP OSPF BGP
4.7 broadcast and multicast routing
Chapter 4: outline
Network Layer 4-42
how many? 223.1.1.1
223.1.1.3
223.1.1.4
223.1.2.2223.1.2.1
223.1.2.6
223.1.3.2223.1.3.1
223.1.3.27
223.1.1.2
223.1.7.0
223.1.7.1223.1.8.0223.1.8.1
223.1.9.1
223.1.9.2
Subnets
Network Layer 4-46
DHCP client-server scenario
223.1.1.0/24
223.1.2.0/24
223.1.3.0/24
223.1.1.1
223.1.1.3
223.1.1.4 223.1.2.9
223.1.3.2223.1.3.1
223.1.1.2
223.1.3.27223.1.2.2
223.1.2.1
DHCPserver
arriving DHCPclient needs address in thisnetwork
Network Layer 4-56
NAT: network address translation
10.0.0.1
10.0.0.2
10.0.0.3
10.0.0.4
138.76.29.7
local network(e.g., home network)
10.0.0/24
rest ofInternet
datagrams with source or destination in this networkhave 10.0.0/24 address for source, destination (as usual)
all datagrams leaving localnetwork have same single
source NAT IP address: 138.76.29.7,different source
port numbers
Network Layer 4-64
4.1 introduction4.2 virtual circuit and
datagram networks4.3 what’s inside a router4.4 IP: Internet Protocol
datagram format IPv4 addressing ICMP IPv6
4.5 routing algorithms link state distance vector hierarchical routing
4.6 routing in the Internet RIP OSPF BGP
4.7 broadcast and multicast routing
Chapter 4: outline
Network Layer 4-71
Tunneling
physical view:
IPv4 IPv4
A B
IPv6 IPv6
E
IPv6 IPv6
FC D
logical view:
IPv4 tunnel connecting IPv6 routers
E
IPv6 IPv6
FA B
IPv6 IPv6
Network Layer 4-72
flow: Xsrc: Adest: F
data
A-to-B:IPv6
Flow: XSrc: ADest: F
data
src:Bdest: E
B-to-C:IPv6 inside
IPv4
E-to-F:IPv6
flow: Xsrc: Adest: F
data
B-to-C:IPv6 inside
IPv4
Flow: XSrc: ADest: F
data
src:Bdest: E
physical view:A B
IPv6 IPv6
E
IPv6 IPv6
FC D
logical view:
IPv4 tunnel connecting IPv6 routers
E
IPv6 IPv6
FA B
IPv6 IPv6
Tunneling
IPv4 IPv4
Network Layer 4-73
4.1 introduction4.2 virtual circuit and
datagram networks4.3 what’s inside a router4.4 IP: Internet Protocol
datagram format IPv4 addressing ICMP IPv6
4.5 routing algorithms link state distance vector hierarchical routing
4.6 routing in the Internet RIP OSPF BGP
4.7 broadcast and multicast routing
Chapter 4: outline
Network Layer 4-78
4.1 introduction4.2 virtual circuit and
datagram networks4.3 what’s inside a router4.4 IP: Internet Protocol
datagram format IPv4 addressing ICMP IPv6
4.5 routing algorithms link state distance vector hierarchical routing
4.6 routing in the Internet RIP OSPF BGP
4.7 broadcast and multicast routing
Chapter 4: outline
Network Layer 4-81
w3
4
v
x
u
5
37 4
y
8
z2
7
9
Dijkstra’s algorithm: example
Step N'D(v)
p(v)
012345
D(w)p(w)
D(x)p(x)
D(y)p(y)
D(z)p(z)
u ∞ ∞ 7,u 3,u 5,uuw ∞ 11,w 6,w 5,u
14,x 11,w 6,wuwxuwxv 14,x 10,v
uwxvy 12,y
notes: construct shortest path tree by
tracing predecessor nodes ties can exist (can be broken
arbitrarily)
uwxvyz
Network Layer 4-85
4.1 introduction4.2 virtual circuit and
datagram networks4.3 what’s inside a router4.4 IP: Internet Protocol
datagram format IPv4 addressing ICMP IPv6
4.5 routing algorithms link state distance vector hierarchical routing
4.6 routing in the Internet RIP OSPF BGP
4.7 broadcast and multicast routing
Chapter 4: outline
Network Layer 4-87
Bellman-Ford example
u
yx
wv
z2
2
13
1
1
2
53
5clearly, dv(z) = 5, dx(z) = 3, dw(z) = 3
du(z) = min { c(u,v) + dv(z), c(u,x) + dx(z), c(u,w) + dw(z) } = min {2 + 5, 1 + 3, 5 + 3} = 4
node achieving minimum is nexthop in shortest path, used in forwarding table
B-F equation says:
Network Layer 4-96
4.1 introduction4.2 virtual circuit and
datagram networks4.3 what’s inside a router4.4 IP: Internet Protocol
datagram format IPv4 addressing ICMP IPv6
4.5 routing algorithms link state distance vector hierarchical routing
4.6 routing in the Internet RIP OSPF BGP
4.7 broadcast and multicast routing
Chapter 4: outline
Network Layer 4-99
3b
1d
3a
1c2aAS3
AS1
AS21a
2c2b
1b
Intra-ASRouting algorithm
Inter-ASRouting algorithm
Forwardingtable
3c
Interconnected ASes
forwarding table configured by both intra- and inter-AS routing algorithm intra-AS sets entries
for internal dests inter-AS & intra-AS
sets entries for external dests
Network Layer 4-104
4.1 introduction4.2 virtual circuit and
datagram networks4.3 what’s inside a router4.4 IP: Internet Protocol
datagram format IPv4 addressing ICMP IPv6
4.5 routing algorithms link state distance vector hierarchical routing
4.6 routing in the Internet RIP OSPF BGP
4.7 broadcast and multicast routing
Chapter 4: outline
Network Layer 4-108
w x yz
A
C
D B
destination subnet next router # hops to dest
w A 2y B 2
z B 7x -- 1…. …. ....
routing table in router D
A 5
dest next hops w - 1 x - 1 z C 4 …. … ...
A-to-D advertisement
RIP: example
Network Layer 4-113
Hierarchical OSPFboundary router
backbone router
area 1
area 2
area 3
backboneareaborderrouters
internalrouters
Network Layer 4-116
BGP basics
when AS3 advertises a prefix to AS1: AS3 promises it will forward datagrams towards that prefix AS3 can aggregate prefixes in its advertisement
AS3
AS2
3b
3c
3a
AS1
1c1a
1d1b
2a2c
2b
othernetworks
othernetworks
BGP session: two BGP routers (“peers”) exchange BGP messages: advertising paths to different destination network prefixes (“path vector”
protocol) exchanged over semi-permanent TCP connections
BGP message
Network Layer 4-124
4.1 introduction4.2 virtual circuit and
datagram networks4.3 what’s inside a router4.4 IP: Internet Protocol
datagram format IPv4 addressing ICMP IPv6
4.5 routing algorithms link state distance vector hierarchical routing
4.6 routing in the Internet RIP OSPF BGP
4.7 broadcast and multicast routing
Chapter 4: outline
Link Layer 5-3
Link layer, LANs: outline
5.1 introduction, services5.2 error detection,
correction 5.3 multiple access
protocols5.4 LANs
addressing, ARP Ethernet switches VLANS
5.5 link virtualization: MPLS5.6 data center networking5.7 a day in the life of a web
request
Link Layer 5-6
Link layer services framing, link access:
encapsulate datagram into frame, adding header, trailer channel access if shared medium “MAC” addresses used in frame headers to identify source,
dest • different from IP address!
reliable delivery between adjacent nodes we learned how to do this already (chapter 3)! seldom used on low bit-error link (fiber, some twisted pair) wireless links: high error rates• Q: why both link-level and end-end reliability?
Link Layer 5-7
flow control: pacing between adjacent sending and receiving nodes
error detection: errors caused by signal attenuation, noise. receiver detects presence of errors:
• signals sender for retransmission or drops frame error correction:
receiver identifies and corrects bit error(s) without resorting to retransmission
half-duplex and full-duplex with half duplex, nodes at both ends of link can transmit, but not at
same time
Link layer services (more)
Link Layer 5-10
Link layer, LANs: outline
5.1 introduction, services5.2 error detection,
correction 5.3 multiple access
protocols5.4 LANs
addressing, ARP Ethernet switches VLANS
5.5 link virtualization: MPLS5.6 data center networking5.7 a day in the life of a web
request
Link Layer 5-12
Parity checkingsingle bit parity: detect single bit
errors
two-dimensional bit parity: detect and correct single bit errors
0 0
Link Layer 5-16
Link layer, LANs: outline
5.1 introduction, services5.2 error detection,
correction 5.3 multiple access
protocols5.4 LANs
addressing, ARP Ethernet switches VLANS
5.5 link virtualization: MPLS5.6 data center networking5.7 a day in the life of a web
request
Link Layer 5-17
Multiple access links, protocolstwo types of “links”: point-to-point
PPP for dial-up access point-to-point link between Ethernet switch, host
broadcast (shared wire or medium) old-fashioned Ethernet upstream HFC 802.11 wireless LAN
shared wire (e.g., cabled Ethernet)
shared RF (e.g., 802.11 WiFi)
shared RF(satellite)
humans at acocktail party
(shared air, acoustical)
Link Layer 5-22
FDMA: frequency division multiple access channel spectrum divided into frequency bands each station assigned fixed frequency band unused transmission time in frequency bands go idle example: 6-station LAN, 1,3,4 have pkt, frequency bands 2,5,6
idle
freq
uenc
y ba
nds
time
FDM cable
Channel partitioning MAC protocols: FDMA
Link Layer 5-23
Random access protocols when node has packet to send
transmit at full channel data rate R. no a priori coordination among nodes
two or more transmitting nodes ➜ “collision”, random access MAC protocol specifies:
how to detect collisions how to recover from collisions (e.g., via delayed
retransmissions) examples of random access MAC protocols:
slotted ALOHA ALOHA CSMA, CSMA/CD, CSMA/CA
Link Layer 5-25
Pros: single active node can
continuously transmit at full rate of channel
highly decentralized: only slots in nodes need to be in sync
simple
Cons: collisions, wasting slots idle slots nodes may be able to detect
collision in less than time to transmit packet
clock synchronization
Slotted ALOHA1 1 1 1
2
3
2 2
3 3
node 1
node 2
node 3
C C CS S SE E E
Link Layer 5-32
CSMA/CD (collision detection)
spatial layout of nodes
Link Layer 5-37
token passing: control token passed from
one node to next sequentially.
token message concerns:
token overhead latency single point of failure
(token)
T
data
(nothingto send)
T
“Taking turns” MAC protocols
Link Layer 5-40
Summary of MAC protocols channel partitioning, by time, frequency or code
Time Division, Frequency Division random access (dynamic),
ALOHA, S-ALOHA, CSMA, CSMA/CD carrier sensing: easy in some technologies (wire), hard in
others (wireless) CSMA/CD used in Ethernet CSMA/CA used in 802.11
taking turns polling from central site, token passing bluetooth, FDDI, token ring
Link Layer 5-41
Link layer, LANs: outline
5.1 introduction, services5.2 error detection,
correction 5.3 multiple access
protocols5.4 LANs
addressing, ARP Ethernet switches VLANS
5.5 link virtualization: MPLS5.6 data center networking5.7 a day in the life of a web
request
R
1A-23-F9-CD-06-9B222.222.222.220
111.111.111.110E6-E9-00-17-BB-4BCC-49-DE-D0-AB-7D
111.111.111.112
111.111.111.11174-29-9C-E8-FF-55
A
222.222.222.22249-BD-D2-C7-56-2A
222.222.222.22188-B2-2F-54-1A-0F
B
Link Layer 5-50
Addressing: routing to another LAN
IP src: 111.111.111.111 IP dest: 222.222.222.222
R forwards datagram with IP source A, destination B R creates link-layer frame with B's MAC address as dest, frame contains A-
to-B IP datagram
MAC src: 1A-23-F9-CD-06-9B MAC dest: 49-BD-D2-C7-56-2A
IPEthPhy
IPEthPhy
Link Layer 5-53
Link layer, LANs: outline
5.1 introduction, services5.2 error detection,
correction 5.3 multiple access
protocols5.4 LANs
addressing, ARP Ethernet switches VLANS
5.5 link virtualization: MPLS5.6 data center networking5.7 a day in the life of a web
request
Link Layer 5-55
Ethernet: physical topology bus: popular through mid 90s
all nodes in same collision domain (can collide with each other) star: prevails today
active switch in center each “spoke” runs a (separate) Ethernet protocol (nodes do not
collide with each other)
switch
bus: coaxial cablestar
Link Layer 5-60
Link layer, LANs: outline
5.1 introduction, services5.2 error detection,
correction 5.3 multiple access
protocols5.4 LANs
addressing, ARP Ethernet switches VLANS
5.5 link virtualization: MPLS5.6 data center networking5.7 a day in the life of a web
request
A
A’
B
B’ C
C’
1 2
345
6
Link Layer 5-66
Self-learning, forwarding: exampleA A’
Source: ADest: A’
MAC addr interface TTL
switch table (initially empty)
A 1 60
A A’A A’A A’A A’A A’
frame destination, A’, location unknown: flood
A’ A
destination A location known:
A’ 4 60
selectively send on just one link
Link Layer 5-68
Self-learning multi-switch exampleSuppose C sends frame to I, I responds to C
Q: show switch tables and packet forwarding in S1, S2, S3, S4
A
B
S1
C D
E
FS2
S4
S3
H
I
G
Link Layer 5-72
VLANsport-based VLAN: switch ports grouped
(by switch management software) so that single physical switch ……
switch(es) supporting VLAN capabilities can be configured to define multiple virtual LANS over single physical LAN infrastructure.
Virtual Local Area Network
1
8
9
16102
7
…
Electrical Engineering(VLAN ports 1-8)
Computer Science(VLAN ports 9-16)
15
…
Electrical Engineering(VLAN ports 1-8)
…
1
82
7 9
1610
15
…
Computer Science(VLAN ports 9-16)
… operates as multiple virtual switches
Link Layer 5-76
Link layer, LANs: outline
5.1 introduction, services5.2 error detection,
correction 5.3 multiple access
protocols5.4 LANs
addressing, ARP Ethernet switches VLANS
5.5 link virtualization: MPLS5.6 data center networking5.7 a day in the life of a web
request
Link Layer 5-77
Multiprotocol label switching (MPLS)
initial goal: high-speed IP forwarding using fixed length label (instead of IP address) fast lookup using fixed length identifier (rather than
shortest prefix matching) borrowing ideas from Virtual Circuit (VC) approach but IP datagram still keeps IP address!
PPP or Ethernet header
IP header remainder of link-layer frameMPLS header
label Exp S TTL
20 3 1 5
Link Layer 5-80
R2
D
R3R4R5
A
R6
MPLS versus IP paths
IP-onlyrouter
IP routing: path to destination determined by destination address alone
MPLS and IP router
MPLS routing: path to destination can be based on source and dest. address fast reroute: precompute backup routes in
case of link failure
entry router (R4) can use different MPLS routes to A based, e.g., on source address
Link Layer 5-83
Link layer, LANs: outline
5.1 introduction, services5.2 error detection,
correction 5.3 multiple access
protocols5.4 LANs
addressing, ARP Ethernet switches VLANS
5.5 link virtualization: MPLS5.6 data center networking5.7 a day in the life of a web
request
Link Layer 5-85
Server racks
TOR switches
Tier-1 switches
Tier-2 switches
Load balancer
Load balancer
B
1 2 3 4 5 6 7 8
A C
Border router
Access router
Internet
Data center networks load balancer: application-layer routingreceives external client requestsdirects workload within data centerreturns results to external client (hiding data center internals from client)
Link Layer 5-87
Link layer, LANs: outline
5.1 introduction, services5.2 error detection,
correction 5.3 multiple access
protocols5.4 LANs
addressing, ARP Ethernet switches VLANS
5.5 link virtualization: MPLS5.6 data center networking5.7 a day in the life of a web
request
Wireless, Mobile Networks 6-3
Chapter 6 outline
6.1 Introduction
Wireless6.2 Wireless links,
characteristics CDMA
6.3 IEEE 802.11 wireless LANs (“Wi-Fi”)
6.4 Cellular Internet Access architecture standards (e.g., GSM)
Mobility6.5 Principles: addressing and
routing to mobile users6.6 Mobile IP6.7 Handling mobility in
cellular networks6.8 Mobility and higher-layer
protocols
6.9 Summary
Wireless, Mobile Networks 6-8
Characteristics of selected wireless links
Indoor10-30m
Outdoor50-200m
Mid-rangeoutdoor
200m – 4 Km
Long-rangeoutdoor
5Km – 20 Km
.056
.384
1
4
5-11
54
2G: IS-95, CDMA, GSM
2.5G: UMTS/WCDMA, CDMA2000
802.15
802.11b
802.11a,g
3G: UMTS/WCDMA-HSPDA, CDMA2000-1xEVDO
4G: LTWE WIMAX
802.11a,g point-to-point
200 802.11n
Dat
a ra
te (
Mbp
s)
Wireless, Mobile Networks 6-12
Chapter 6 outline
6.1 Introduction
Wireless6.2 Wireless links,
characteristics CDMA
6.3 IEEE 802.11 wireless LANs (“Wi-Fi”)
6.4 Cellular Internet Access architecture standards (e.g., GSM)
Mobility6.5 Principles: addressing and
routing to mobile users6.6 Mobile IP6.7 Handling mobility in
cellular networks6.8 Mobility and higher-layer
protocols
6.9 Summary
Wireless, Mobile Networks 6-15
Wireless network characteristicsMultiple wireless senders and receivers create additional
problems (beyond multiple access):
AB
C
Hidden terminal problem B, A hear each other B, C hear each other A, C can not hear each other
means A, C unaware of their interference at B
A B C
A’s signalstrength
space
C’s signalstrength
Signal attenuation: B, A hear each other B, C hear each other A, C can not hear each other
interfering at B
Wireless, Mobile Networks 6-19
Chapter 6 outline
6.1 Introduction
Wireless6.2 Wireless links,
characteristics CDMA
6.3 IEEE 802.11 wireless LANs (“Wi-Fi”)
6.4 Cellular Internet Access architecture standards (e.g., GSM)
Mobility6.5 Principles: addressing and
routing to mobile users6.6 Mobile IP6.7 Handling mobility in
cellular networks6.8 Mobility and higher-layer
protocols
6.9 Summary
Wireless, Mobile Networks 6-23
802.11: passive/active scanning
AP 2AP 1
H1
BBS 2BBS 1
1
23
1
passive scanning: (1) beacon frames sent from APs(2) association Request frame sent: H1 to
selected AP (3) association Response frame sent from
selected AP to H1
AP 2AP 1
H1
BBS 2BBS 1
122
3 4
active scanning: (1) Probe Request frame broadcast
from H1(2) Probe Response frames sent
from APs(3) Association Request frame sent:
H1 to selected AP (4) Association Response frame sent
from selected AP to H1
Wireless, Mobile Networks 6-27
Collision Avoidance: RTS-CTS exchange
APA B
time
RTS(A)RTS(B)
RTS(A)
CTS(A) CTS(A)
DATA (A)
ACK(A) ACK(A)
reservation collision
defer
Wireless, Mobile Networks 6-32
802.11: advanced capabilities
Rate adaptation base station, mobile
dynamically change transmission rate (physical layer modulation technique) as mobile moves, SNR varies
QAM256 (8 Mbps)QAM16 (4 Mbps)
BPSK (1 Mbps)
10 20 30 40SNR(dB)
BE
R
10-1
10-2
10-3
10-5
10-6
10-7
10-4
operating point
1. SNR decreases, BER increase as node moves away from base station
2. When BER becomes too high, switch to lower transmission rate but with lower BER
Wireless, Mobile Networks 6-35
Chapter 6 outline
6.1 Introduction
Wireless6.2 Wireless links,
characteristics CDMA
6.3 IEEE 802.11 wireless LANs (“Wi-Fi”)
6.4 Cellular Internet access architecture standards (e.g., GSM)
Mobility6.5 Principles: addressing and
routing to mobile users6.6 Mobile IP6.7 Handling mobility in
cellular networks6.8 Mobility and higher-layer
protocols
6.9 Summary
Wireless, Mobile Networks 6-36
Mobile Switching
Center
Public telephonenetwork
Mobile Switching
Center
Components of cellular network architecture
connects cells to wired tel. net. manages call setup (more later!) handles mobility (more later!)
MSC
covers geographical region base station (BS) analogous to 802.11 AP mobile users attach to network through BS air-interface: physical and link layer protocol between mobile and BS
cell
wired network
Wireless, Mobile Networks 6-40
radionetwork controller
MSC
SGSN
Public telephonenetwork
GatewayMSC
G
Public Internet
GGSN
G
radio access networkUniversal Terrestrial Radio Access Network (UTRAN)
core networkGeneral Packet Radio Service
(GPRS) Core Network
publicInternet
radio interface(WCDMA, HSPA)
3G (voice+data) network architecture
Wireless, Mobile Networks 6-41
Chapter 6 outline
6.1 Introduction
Wireless6.2 Wireless links,
characteristics CDMA
6.3 IEEE 802.11 wireless LANs (“Wi-Fi”)
6.4 Cellular Internet Access architecture standards (e.g., GSM)
Mobility6.5 Principles: addressing and
routing to mobile users6.6 Mobile IP6.7 Handling mobility in
cellular networks6.8 Mobility and higher-layer
protocols
6.9 Summary
Wireless, Mobile Networks 6-49
Mobility via indirect routing
wide area network
homenetwork
visitednetwork
3
2
41
correspondent addresses packets using home address of mobile
home agent intercepts packets, forwards to foreign agent
foreign agent receives packets, forwards to mobile
mobile replies directly to correspondent
1 23
4
Wireless, Mobile Networks 6-52
Mobility via direct routing
homenetwork
visitednetwork
correspondent requests, receives foreign address of mobile
correspondent forwards to foreign agent
foreign agent receives packets, forwards to mobile
mobile replies directly to correspondent
Wireless, Mobile Networks 6-55
Chapter 6 outline
6.1 Introduction
Wireless6.2 Wireless links,
characteristics CDMA
6.3 IEEE 802.11 wireless LANs (“Wi-Fi”)
6.4 Cellular Internet Access architecture standards (e.g., GSM)
Mobility6.5 Principles: addressing and
routing to mobile users6.6 Mobile IP6.7 Handling mobility in
cellular networks6.8 Mobility and higher-layer
protocols
6.9 Summary
Wireless, Mobile Networks 6-57
Mobile IP: indirect routing
Permanent address: 128.119.40.186
Care-of address: 79.129.13.2
dest: 128.119.40.186
packet sent by correspondent
dest: 79.129.13.2 dest: 128.119.40.186
packet sent by home agent to foreign agent: a packet within a packet
dest: 128.119.40.186
foreign-agent-to-mobile packet
Wireless, Mobile Networks 6-62
Public switched telephonenetwork
mobileuser
homeMobile
Switching Center
HLR home network
visitednetwork
correspondent
Mobile Switching
Center
VLR
GSM: indirect routing to mobile
1 call routed to home network
2
home MSC consults HLR,gets roaming number ofmobile in visited network
3
home MSC sets up 2nd leg of callto MSC in visited network
4
MSC in visited network completescall through base station to mobile
Wireless, Mobile Networks 6-65
home network
Home MSC
PSTN
correspondent
MSC
anchor MSC
MSCMSC
(a) before handoff
GSM: handoff between MSCs
anchor MSC: first MSC visited during call call remains routed
through anchor MSC new MSCs add on to end of
MSC chain as mobile moves to new MSC
optional path minimization step to shorten multi-MSC chain
Multimedia networking: outline
7.1 multimedia networking applications7.2 streaming stored video7.3 voice-over-IP7.4 protocols for real-time conversational
applications7.5 network support for multimedia
Multmedia Networking 7-2
Multimedia networking: outline
7.1 multimedia networking applications7.2 streaming stored video7.3 voice-over-IP7.4 protocols for real-time conversational
applications7.5 network support for multimedia
Multmedia Networking 7-9
constant bit rate videotransmission
Cum
ulat
ive
data
time
variablenetwork
delay
client videoreception
constant bit rate video playout at client
client playoutdelay
buff
ered
vid
eo
client-side buffering and playout delay: compensate for network-added delay, delay jitter
Multmedia Networking 7-12
Streaming stored video: revisted
Client-side buffering, playout
Multmedia Networking 7-13
variable fill rate, x(t)
client application buffer, size B
playout rate,e.g., CBR r
buffer fill level, Q(t)
video server
client
Streaming multimedia: HTTP multimedia file retrieved via HTTP GET send at maximum possible rate under TCP
fill rate fluctuates due to TCP congestion control, retransmissions (in-order delivery)
larger playout delay: smooth TCP delivery rate HTTP/TCP passes more easily through firewalls
Multmedia Networking 7-17
variable rate, x(t)
TCP send buffer
videofile
TCP receive buffer
application playout buffer
server client
CDN: “simple” content access scenario
Multmedia Networking 7-22
Bob (client) requests video http://netcinema.com/6Y7B23Vvideo stored in CDN at http://KingCDN.com/NetC6y&B23V
netcinema.com
KingCDN.com
1
1. Bob gets URL for for video http://netcinema.com/6Y7B23Vfrom netcinema.com web page 2
2. resolve http://netcinema.com/6Y7B23Vvia Bob’s local DNS
netcinema’sauthorative DNS
3
3. netcinema’s DNS returns URL http://KingCDN.com/NetC6y&B23V
4
4&5. Resolve http://KingCDN.com/NetC6y&B23via KingCDN’s authoritative DNS, which returns IP address of KIingCDN server with video
56. request video fromKINGCDN server,streamed via HTTP
KingCDNauthoritative DNS
Case study: Netflix
Multmedia Networking 7-25
1
1. Bob manages Netflix account
Netflix registration,accounting servers
Amazon cloud
Akamai CDN
Limelight CDN
Level-3 CDN
22. Bob browsesNetflix video
3
3. Manifest filereturned for requested video
4. DASH streaming
upload copies of multiple versions of video to CDNs
Multimedia networking: outline
7.1 multimedia networking applications7.2 streaming stored video7.3 voice-over-IP7.4 protocols for real-time conversational
applications7.5 network support for multimedia
Multmedia Networking 7-26
constant bit ratetransmission
Cum
ulat
ive
data
time
variablenetwork
delay(jitter)
clientreception
constant bit rate playout at client
client playoutdelay
buff
ered
data
Delay jitter
end-to-end delays of two consecutive packets: difference can be more or less than 20 msec (transmission time difference)
Multmedia Networking 7-30
packets
time
packetsgenerated
packetsreceived
loss
r
p p'
playout schedulep' - r
playout schedulep - r
sender generates packets every 20 msec during talk spurt. first packet received at time r first playout schedule: begins at p second playout schedule: begins at p’
Multmedia Networking 5-32
VoIP: fixed playout delay
interleaving to conceal loss: audio chunks divided into
smaller units, e.g. four 5 msec units per 20 msec audio chunk
packet contains small units from different chunks
if packet lost, still have most of every original chunk
no redundancy overhead, but increases playout delay
Multmedia Networking 7-38
VoiP: recovery from packet loss (3)
Application Layer 2-39
supernode overlay network
Voice-over-IP: Skype proprietary application-
layer protocol (inferred via reverse engineering) encrypted msgs
P2P components:
Skype clients (SC)
clients: skype peers connect directly to each other for VoIP call
super nodes (SN): skype peers with special functions
overlay network: among SNs to locate SCs
login server
Skype login server supernode (SN)
Multimedia networking: outline
7.1 multimedia networking applications7.2 streaming stored video7.3 voice-over-IP7.4 protocols for real-time conversational
applications: RTP, SIP7.5 network support for multimedia
Multmedia Networking 7-42
RTP runs on top of UDP
RTP libraries provide transport-layer interface that extends UDP:
• port numbers, IP addresses• payload type identification• packet sequence numbering• time-stamping
Multmedia Networking 5-44
SIP: Session Initiation Protocol [RFC 3261]
long-term vision: all telephone calls, video conference calls take
place over Internet people identified by names or e-mail addresses,
rather than by phone numbers can reach callee (if callee so desires), no matter
where callee roams, no matter what IP device callee is currently using
Multmedia Networking 7-55
SIP services SIP provides
mechanisms for call setup: for caller to let
callee know she wants to establish a call
so caller, callee can agree on media type, encoding
to end call
determine current IP address of callee: maps mnemonic
identifier to current IP address
call management: add new media
streams during call change encoding
during call invite others transfer, hold calls
Multmedia Networking 7-56
SIP example: [email protected] calls [email protected]
Multmedia Networking 7-63
1
1. Jim sends INVITEmessage to UMass SIP proxy.
2. UMass proxy forwards request to Poly registrar server
2 3. Poly server returns redirect response,indicating that it should try [email protected]
3
5. eurecom registrar forwards INVITE to 197.87.54.21, which is running keith’s SIP client
5
4
4. Umass proxy forwards request to Eurecom registrar server
86
76-8. SIP response returned to Jim
9
9. Data flows between clients
UMass SIP proxy
Poly SIPregistrar
Eurecom SIPregistrar
197.87.54.21
128.119.40.186
Multimedia networking: outline
7.1 multimedia networking applications7.2 streaming stored video7.3 voice-over-IP7.4 protocols for real-time conversational
applications7.5 network support for multimedia
Multmedia Networking 7-65
Scenario 1: mixed HTTP and VoIP example: 1Mbps VoIP, HTTP share 1.5 Mbps link.
HTTP bursts can congest router, cause audio loss want to give priority to audio over HTTP
packet marking needed for router to distinguish between different classes; and new router policy to treat packets accordingly
Principle 1
R1R2
Multmedia Networking 7-70
Principles for QOS guarantees (more) what if applications misbehave (VoIP sends higher
than declared rate) policing: force source adherence to bandwidth allocations
marking, policing at network edge
provide protection (isolation) for one class from othersPrinciple 2
R1 R2
1.5 Mbps link
1 Mbps phone
packet marking and policing
Multmedia Networking 7-71
allocating fixed (non-sharable) bandwidth to flow: inefficient use of bandwidth if flows doesn’t use its allocation
while providing isolation, it is desirable to use resources as efficiently as possible
Principle 3
R1R2
1.5 Mbps link
1 Mbps phone
1 Mbps logical link
0.5 Mbps logical link
Multmedia Networking 7-72
Principles for QOS guarantees (more)
Weighted Fair Queuing (WFQ): generalized Round Robin each class gets weighted amount of service in
each cycle real-world example?
Multmedia Networking 7-76
Scheduling policies: still more
Policing mechanisms: implementation
token bucket: limit input to specified burst size and average rate
bucket can hold b tokens tokens generated at rate r token/sec unless bucket
full over interval of length t: number of packets admitted
less than or equal to (r t + b)Multmedia Networking 7-78
Policing and QoS guarantees
token bucket, WFQ combine to provide guaranteed upper bound on delay, i.e., QoS guarantee!
WFQ
token rate, r
bucket size, b
per-flowrate, R
D = b/Rmax
arrivingtraffic
Multmedia Networking 7-79
arrivingtraffic
edge router: per-flow traffic management
marks packets as in-profile and out-profile
core router:
per class traffic management
buffering and scheduling based on marking at edge
preference given to in-profile packets over out-of-profile packets
Diffserv architecture
Multmedia Networking 7-81
r
b
marking
scheduling
...
Classification, conditioningmay be desirable to limit traffic injection rate of
some class: user declares traffic profile (e.g., rate, burst size) traffic metered, shaped if non-conforming
Multmedia Networking 7-84