3rd Edition: Chapter 1

Download Report

Transcript 3rd Edition: Chapter 1

Internet structure: network of networks
 a packet passes through many networks!
local
ISP
Tier 3
ISP
Tier-2 ISP
local
ISP
local
ISP
local
ISP
Tier-2 ISP
Tier 1 ISP
Tier 1 ISP
Tier-2 ISP
local
local
ISP
ISP
NAP
Tier 1 ISP
Tier-2 ISP
local
ISP
Tier-2 ISP
local
ISP
Introduction
1-1
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
application
transport
network
link
physical
neighboring network elements

PPP, Ethernet
 physical: bits “on the wire”
Introduction
1-2
Encapsulation
source
message
segment
M
Ht
M
datagram Hn Ht
M
frame Hl Hn Ht
M
application
transport
network
link
physical
link
physical
switch
destination
M
Ht
M
Hn Ht
Hl Hn Ht
M
M
application
transport
network
link
physical
Hn Ht
Hl Hn Ht
M
M
network
link
physical
Hn Ht
M
router
Introduction
1-3
Chapter 2: applications
Introduction
1-4
Architectures
 Client-server
 Peer-to-peer
 Hybrid
Introduction
1-5
HTTP overview
Linux running
Firefox
HTTP: hypertext
transfer protocol
 Web’s application layer
protocol
 client/server model
 client: browser that
requests, receives,
“displays” Web objects
 server: Web server
sends objects in
response to requests
 HTTP 1.0: RFC 1945
 HTTP 1.1: RFC 2068
PC running
Explorer
Server
running
Apache Web
server
Mac running
Navigator
Introduction
1-6
HTTP Review
 TCP
 “Stateless”
 Non-persistent  44 messages, 22 RTT
 Persistent  24 messages
 Non-pipelined  12 RTT
 Pipelined  3 RTT
 HTTP Commands (GET, POST, HEAD, etc)
 HTTP Fields (User-agent, Connection, etc)
 Telnet as a command-line TCP connection
Introduction
1-7
Cookies: keeping “state” (cont.)
client
Cookie file
server
usual http request msg
usual http response +
ebay: 8734
Cookie file
amazon: 1678
ebay: 8734
Set-cookie: 1678
usual http request msg
cookie: 1678
usual http response msg
one week later:
Cookie file
amazon: 1678
ebay: 8734
usual http request msg
cookie: 1678
usual http response msg
server
creates ID
1678 for user
cookiespecific
action
cookiespectific
action
Introduction
1-8
Optimization example (cont)
origin
servers
Install cache
 suppose hit rate is .4
Consequence
public
Internet
 40% requests will be
satisfied almost immediately
 60% requests satisfied by
origin server
 utilization of access link
reduced to 60%, resulting in
negligible delays (say 10
msec)
 total avg delay = Internet
delay + access delay + LAN
delay = .6*(2.01) secs +
.4*milliseconds < 1.4 secs
1.5 Mbps
access link
institutional
network
10 Mbps LAN
institutional
cache
Introduction
1-9
Scenario: Alice sends message to Bob
1) Alice uses UA to compose
message and “to”
[email protected]
2) Alice’s UA sends message
to her mail server; message
placed in message queue
3) Client side of SMTP opens
TCP connection with Bob’s
mail server
1
user
agent
2
mail
server
3
4) SMTP client sends Alice’s
message over the TCP
connection
5) Bob’s mail server places the
message in Bob’s mailbox
6) Bob invokes his user agent
to read message
mail
server
4
5
6
user
agent
Introduction
1-10
Distributed, Hierarchical Database
Root DNS Servers
com DNS servers
yahoo.com
amazon.com
DNS servers DNS servers
org DNS servers
pbs.org
DNS servers
edu DNS servers
poly.edu
umass.edu
DNS serversDNS servers
Client wants IP for www.amazon.com; 1st approx:
 Client queries a 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
Introduction
1-11
Iterative Queries vs Recursive Queries
root DNS server
root DNS server
2
3
2
TLD DNS server
4
3
7
6
TLD
DNS
server
5
local DNS server
local DNS server
Cs.virginia.edu
1
8
requesting host
7
Cs.virginia.edu
6
1
4
8
authoritative DNS server
dns.cs.umass.edu
requesting host
Cs.virginia.edu
5
authoritative DNS serve
dns.cs.umass.edu
Cs.virginia.edu
gaia.cs.umass.edu
gaia.cs.umass.edu
Introduction
1-12
P2P: centralized directory
original “Napster” design
1) when peer connects, it
informs central server:


Bob
centralized
directory server
1
peers
IP address
content
2) Alice queries for “Hey
Jude”
3) Alice requests file from
Bob
1
3
1
2
1
Alice
Introduction
1-13
Gnutella: protocol
 Query message
sent over existing TCP
connections
 peers forward
Query message
 QueryHit
sent over
reverse
Query
path
File transfer:
HTTP
Query
QueryHit
QueryHit
Scalability:
limited scope
flooding
Introduction
1-14
Exploiting heterogeneity: KaZaA
 Each peer is either a
group leader or assigned
to a group leader.


TCP connection between
peer and its group leader.
TCP connections between
some pairs of group
leaders.
 Group leader tracks the
content in all its
children.
ordinary peer
group-leader peer
neighoring relationships
in overlay network
Introduction
1-15
Chapter 3: transport
Introduction
1-16
Transport Layer Review
 Connection-oriented (TCP)
 Acknowledgements (can have retries)
 Flow control
 Congestion control
 Better for most protocols
 Connectionless (UDP)
 No acknowledgements
 Send as fast as needed
 Some packets will get lost
 Better for video, telephony, etc
 Human speech?
Introduction
1-17
Connectionless demux (cont)
DatagramSocket serverSocket = new DatagramSocket(6428);
P2
SP: 6428
SP: 6428
DP: 9157
DP: 5775
SP: 9157
client
IP: A
P1
P1
P3
DP: 6428
SP: 5775
server
IP: C
DP: 6428
Client
IP:B
SP provides “return address”
Introduction
1-18
Connection-oriented demux:
Threaded Web Server
P1
P2
P4
P1P3
SP: 5775
DP: 80
S-IP: B
D-IP:C
SP: 9157
client
IP: A
DP: 80
S-IP: A
D-IP:C
SP: 9157
server
IP: C
DP: 80
S-IP: B
D-IP:C
Client
IP:B
Introduction
1-19
Notice:
 TCP sockets:
Server port required to create listening socket
 Server address and port needed by client for
connection setup
 Nodes can talk freely after that

 UDP sockets
 Server port required to create listening socket
 Every message requires dest address/port
 All reads provide source address/port
Introduction
1-20
Internet Checksum Example
 Note

When adding numbers, a carryout from the
most significant bit needs to be added to the
result
 Example: add two 16-bit integers
1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0
1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
wraparound 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1
sum 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 0 0
checksum 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1
Introduction
1-21
Reliable Transport
 Mechanisms for Reliable Transport
Packet Corruption  Acks/Nacks
 Ack corruption  Sequence #s
 Loss  Timeouts

 Pipelining
 Go-Back-N: cumulative acks, no rxr buffering
 Selective Repeat: individual acks, rxr buffering
• Must be careful that rxrWindow <= max seq no / 2
Introduction
1-22
Pipelining: increased utilization
sender
receiver
first packet bit transmitted, t = 0
last bit transmitted, t = L / R
first packet bit arrives
last packet bit arrives, send ACK
last bit of 2nd packet arrives, send ACK
last bit of 3rd packet arrives, send ACK
RTT
ACK arrives, send next
packet, t = RTT + L / R
Increase utilization
by a factor of 3!
U
sender
=
3*L/R
RTT + L / R
=
.024
30.008
= 0.0008
microsecon
ds
Introduction
1-23
Go-Back-N
Sender:
 ACK(n): ACKs all pkts up to, including seq # n - “cumulative ACK”
may receive duplicate ACKs (see receiver)
 timer for each in-flight pkt
 timeout(n): retransmit pkt n and all higher seq # pkts in window

 k-bit seq # in pkt header
 “window” of up to N, consecutive unack’ed pkts allowed
Introduction
1-24
Selective repeat: sender, receiver windows
Introduction
1-25
TCP ACK generation
[RFC 1122, RFC 2581]
Event at Receiver
TCP Receiver action
Arrival of in-order segment with
expected seq #. All data up to
expected seq # already ACKed
Delayed ACK. Wait up to 500ms
for next segment. If no next segment,
send ACK
Arrival of in-order segment with
expected seq #. One other
segment has ACK pending
Immediately send single cumulative
ACK, ACKing both in-order segments
Arrival of out-of-order segment
higher-than-expect seq. # .
Gap detected
Buffer packet.
Immediately send duplicate ACK,
indicating seq. # of next expected byte
Arrival of segment that
partially or completely fills gap
Immediate send ACK, provided that
segment starts at lower end of gap
Introduction
1-26
TCP Flow control: how it works
 Rcvr advertises spare
(Suppose TCP receiver
discards out-of-order
segments)
 spare room in buffer
room by including value
of RcvWindow in
segments
 Sender limits unACKed
data to RcvWindow

guarantees receive
buffer doesn’t overflow
= RcvWindow
= RcvBuffer-[LastByteRcvd LastByteRead]
Introduction
1-27
Causes/costs of congestion: scenario 3
H
o
s
t
A
l
o
u
t
H
o
s
t
B
Another “cost” of congestion:
 when packet dropped, any “upstream transmission
capacity used for that packet was wasted!
Introduction
1-28
Conservative on Timeout
 After 3 dup ACKs:


CongWin is cut in half
window then grows
linearly
 But after timeout event:



CongWin instead set to
1 MSS;
window then grows
exponentially
to a threshold, then
grows linearly
Philosophy:
 3 dup ACKs indicates
network capable of
delivering some segments
 timeout indicates a “more
alarming” congestion scenario
Introduction
1-29
Summary: TCP Congestion Control
 When CongWin is below Threshold, sender in
slow-start phase, window grows exponentially.
 When CongWin is above Threshold, sender is in
congestion-avoidance phase, window grows linearly.
 When a triple duplicate ACK occurs, Threshold
set to CongWin/2 and CongWin set to
Threshold.
 When timeout occurs, Threshold set to
CongWin/2 and CongWin is set to 1 MSS.
Introduction
1-30
TCP sender congestion control
State
Event
TCP Sender Action
Commentary
Slow Start
(SS)
ACK receipt
for previously
unacked
data
CongWin = CongWin + MSS,
If (CongWin > Threshold)
set state to “Congestion
Avoidance”
Resulting in a doubling of
CongWin every RTT
Congestion
Avoidance
(CA)
ACK receipt
for previously
unacked
data
CongWin = CongWin+MSS *
(MSS/CongWin)
Additive increase, resulting
in increase of CongWin by
1 MSS every RTT
SS or CA
Loss event
detected by
triple
duplicate
ACK
Threshold = CongWin/2,
CongWin = Threshold,
Set state to “Congestion
Avoidance”
Fast recovery,
implementing multiplicative
decrease. CongWin will not
drop below 1 MSS.
SS or CA
Timeout
Threshold = CongWin/2,
CongWin = 1 MSS,
Set state to “Slow Start”
Enter slow start
SS or CA
Duplicate
ACK
Increment duplicate ACK count
for segment being acked
CongWin and Threshold not
changed
Introduction
1-31
Why is TCP fair?
Two competing sessions:
 Additive increase gives slope of 1, as throughout increases
 multiplicative decrease decreases throughput proportionally
R
equal bandwidth share
loss: decrease window by factor of 2
congestion avoidance: additive increase
loss: decrease window by factor of 2
congestion avoidance: additive increase
Connection 1 throughput R
Introduction
1-32
Fixed congestion window (2)
Second case:
 WS/R < RTT + S/R: wait
for ACK after sending
window’s worth of data
sent
delay = 2RTT + O/R
+ (K-1)[S/R + RTT - WS/R]
 K is number of windows
that cover the object
 For fixed W

K=O/(WS)
Introduction
1-33
TCP Delay Modeling (3)
S
 RTT  time from when server starts to send segment
R
until server receives acknowledg ement
initiate TCP
connection
2k 1
S
 time to transmit the kth window
R

request
object
S
k 1 S 

RTT

2
 idle time after the kth window
 R
R 
first window
= S/R
RTT
second window
= 2S/R
third window
= 4S/R
P
O
delay   2 RTT   idleTime p
R
p 1
P
O
S
S
  2 RTT   [  RTT  2 k 1 ]
R
R
k 1 R
O
S
S
  2 RTT  P[ RTT  ]  (2 P  1)
R
R
R
fourth window
= 8S/R
complete
transmission
object
delivered
time at
client
time at
server
Introduction
1-34
Chapter 4: Network Layer
Introduction
1-35
Virtual circuits: signaling protocols
 used to setup, maintain teardown VC
 used in ATM, frame-relay, X.25
 not used in today’s Internet
application
transport 5. Data flow begins
network 4. Call connected
data link 1. Initiate call
physical
6. Receive data application
3. Accept call transport
2. incoming call network
data link
physical
Introduction
1-36
Datagram networks
 no call setup or network-level concept of
“connection”
 packets forwarded using destination host address

packets between same source-dest pair may take
different paths
application
transport
network
data link 1. Send data
physical
application
transport
2. Receive data network
data link
physical
Introduction
1-37
Comparison
 Circuit Switching
Dedicated resources  guarantees
  wasted resource
  setup delays

 Packet Switching
On-demand resources  no guarantees
  congestion
  store and forward delays

Introduction
1-38
Four sources of packet delay
 1. nodal processing:
 check bit errors
 determine output link
 2. queueing
 time waiting at output
link for transmission
 depends on congestion
level of router
A
B
nodal
processing
queueing
Introduction
1-39
Delay in packet-switched networks
3. Transmission delay:
 R=link bandwidth (bps)
 L=packet length (bits)
 time to send bits into
link = L/R
transmission
A
4. Propagation delay:
 d = length of physical link
 s = propagation speed in
medium (~2x108 m/sec)
 propagation delay = d/s
Note: s and R are very
different quantities!
propagation
B
nodal
processing
queueing
Introduction
1-40
How does loss occur?
 packet arrival rate to link exceeds output link capacity
 Queue grows
 When no more space in queue, packets are lost
 lost packet may be retransmitted by previous node, by
source end system, or not retransmitted at all
A
B
packets queueing (delay)
free (available) buffers: arriving packets
dropped (loss) if no free buffers
Introduction
1-41
Input Port Queuing
 Fabric slower than input ports combined -> queueing
may occur at input queues
 Head-of-the-Line (HOL) blocking: queued datagram
at front of queue prevents others in queue from
moving forward
 queueing delay and loss due to input buffer
overflow!
Introduction
1-42
Output port queueing
 buffering when arrival rate via switch exceeds
output line speed
 queueing (delay) and loss due to output port
buffer overflow!
Introduction
1-43
IP addressing: CIDR
CIDR: Classless InterDomain Routing
subnet portion of address of arbitrary length
 address format: a.b.c.d/x, where x is # bits in
subnet portion of address

subnet
part
host
part
11001000 00010111 00010000 00000000
200.23.16.0/23
Introduction
1-44
Hierarchical addressing: route aggregation
Hierarchical addressing allows efficient advertisement of routing
information:
Organization 0
200.23.16.0/23
Organization 1
200.23.18.0/23
Organization 2
200.23.20.0/23
Organization 7
.
.
.
.
.
.
Fly-By-Night-ISP
“Send me anything
with addresses
beginning
200.23.16.0/20”
Internet
200.23.30.0/23
ISPs-R-Us
“Send me anything
with addresses
beginning
199.31.0.0/16”
Introduction
1-45
NAT: Network Address Translation
2: NAT router
changes datagram
source addr from
10.0.0.1, 3345 to
138.76.29.7, 5001,
updates table
2
NAT translation table
WAN side addr
LAN side addr
1: host 10.0.0.1
sends datagram to
128.119.40.186, 80
138.76.29.7, 5001 10.0.0.1, 3345
……
……
S: 10.0.0.1, 3345
D: 128.119.40.186, 80
S: 138.76.29.7, 5001
D: 128.119.40.186, 80
138.76.29.7
S: 128.119.40.186, 80
D: 138.76.29.7, 5001
3: Reply arrives
dest. address:
138.76.29.7, 5001
3
1
10.0.0.1
10.0.0.4
S: 128.119.40.186, 80
D: 10.0.0.1, 3345
10.0.0.2
4
10.0.0.3
4: NAT router
changes datagram
dest addr from
138.76.29.7, 5001 to 10.0.0.1, 3345
Introduction
1-46
Tunneling
Logical view:
Physical view:
A
B
IPv6
IPv6
A
B
C
IPv6
IPv6
IPv4
Flow: X
Src: A
Dest: F
data
A-to-B:
IPv6
E
F
IPv6
IPv6
D
E
F
IPv4
IPv6
IPv6
tunnel
Src:B
Dest: E
Src:B
Dest: E
Flow: X
Src: A
Dest: F
Flow: X
Src: A
Dest: F
data
data
B-to-C:
IPv6 inside
IPv4
B-to-C:
IPv6 inside
IPv4
Flow: X
Src: A
Dest: F
data
E-to-F:
IPv6
Introduction
1-47
Interplay between routing and forwarding
routing algorithm
local forwarding table
header value output link
0100
0101
0111
1001
3
2
2
1
value in arriving
packet’s header
0111
1
3 2
Introduction
1-48
Dijkstra’s algorithm
Step
0
1
2
3
4
5
N'
u
ux
uxy
uxyv
uxyvw
uxyvwz
D(v),p(v) D(w),p(w)
2,u
5,u
2,u
4,x
2,u
3,y
3,y
D(x),p(x)
1,u
2
u
2
1
x
D(z),p(z)
∞
∞
4,y
4,y
4,y
How to convert this
into a routing table?
5
v
D(y),p(y)
∞
2,x
3
w
3
1
5
z
1
y
2
Introduction
1-49
Dijkstra’s algorithm, discussion
Oscillations possible:
 e.g., link cost = amount of carried traffic
D
1
1
0
A
0 0
C
e
1+e
e
initially
B
1
2+e
A
0
D 1+e 1 B
0
0
C
… recompute
routing
0
D
1
A
0 0
C
2+e
B
1+e
… recompute
2+e
A
0
D 1+e 1 B
e
0
C
… recompute
Human Analogy?
Introduction
1-50
node x table
cost to
x y z
x ∞∞ ∞
y ∞∞ ∞
z 71 0
from
from
from
from
x 0 2 7
y 2 0 1
z 7 1 0
cost to
x y z
x 0 2 7
y 2 0 1
z 3 1 0
x 0 2 3
y 2 0 1
z 3 1 0
cost to
x y z
x 0 2 3
y 2 0 1
z 3 1 0
x
2
y
1
7
z
cost to
x y z
from
from
from
x ∞ ∞ ∞
y 2 0 1
z ∞∞ ∞
node z table
cost to
x y z
x 0 2 3
y 2 0 1
z 7 1 0
cost to
x y z
cost to
x y z
from
from
x 0 2 7
y ∞∞ ∞
z ∞∞ ∞
node y table
cost to
x y z
cost to
x y z
x 0 2 3
y 2 0 1
z 3 1 0
time
Introduction
1-51
Puzzle: link goes bad
x 0 4 5
y 4 0 1
z 5 1 0
x 0 4 5
y 6 0 1
z 5 1 0
x 0 4 5
y 6 0 1
z 7 1 0
from
x y z
cost to
x y z
cost to
x y z
x 0 4 5
y 6 0 1
z 5 1 0
x 0 4 5
y 8 0 1
z 7 1 0
from
from
x y z
cost to
x y z
cost to
x y z
x 0 4 5
y 6 0 1
z 7 1 0
x 0 4 5
y 4 0 1
z 7 1 0
from
from
from
x 0 4 5
y 6
4 0 1
z 5 1 0
node z table
cost to
x y z
from
from
x 0 4 5
y 4 0 1
z 5 1 0
node y table
cost to
x y z
from
node x table
cost to
x y z
How many iterations
until convegence?
60
x
4
y
50
Introduction
1
z
1-52
Comparison of LS and DV algorithms
Message complexity
 LS: with n nodes, E links,
O(nE) msgs sent
 DV: exchange between
neighbors only
 convergence time varies
Speed of Convergence
 LS: O(n2) algorithm requires
O(nE) msgs
 may have oscillations
 DV: convergence time varies
 may be routing loops
 count-to-infinity problem
Robustness: what happens
if router malfunctions?
LS:


node can advertise
incorrect link cost
each node computes only
its own table
DV:


DV node can advertise
incorrect path cost
each node’s table used by
others
• error propagate thru
network
Introduction
1-53
Example: Choosing among multiple ASes
 Now suppose AS1 learns from the inter-AS protocol
that subnet x is reachable from AS3 and from AS2.
 To configure forwarding table, router 1d must
determine towards which gateway it should forward
packets for dest x.
 This is also the job on inter-AS routing protocol!
3c
3a
3b
AS3
1a
2a
1c
1d
1b
2c
AS2
2b
AS1
Introduction
1-54
Example: Choosing among multiple ASes
 Now suppose AS1 learns from the inter-AS protocol
that subnet x is reachable from AS3 and from AS2.
 To configure forwarding table, router 1d must
determine towards which gateway it should forward
packets for dest x.
 This is also the job on inter-AS routing protocol!
 Hot potato routing: send packet towards closest of
two routers.
Learn from inter-AS
protocol that subnet
x is reachable via
multiple gateways
Use routing info
from intra-AS
protocol to determine
costs of least-cost
paths to each
of the gateways
Hot potato routing:
Choose the gateway
that has the
smallest least cost
Determine from
forwarding table the
interface I that leads
to least-cost gateway.
Enter (x,I) in
forwarding table
Introduction
1-55
Hierarchical OSPF
Introduction
1-56
BGP routing policy
legend:
B
W
provider
network
X
A
customer
network:
C
Y
Figure 4.5-BGPnew: a simple BGP scenario
 A,B,C are provider networks
 X,W,Y are customer (of provider networks)
 X is dual-homed: attached to two networks
X does not want to route from B via X to C
 .. so X will not advertise to B a route to C

Introduction
1-57
Chapter 5: link layer
Introduction
1-58
Parity Checking
Single Bit Parity:
Detect single bit errors
How Big for Perfect Detection?
Two Dimensional Bit Parity:
Detect and correct single bit errors
• Even parity: numbers of 1’s
is even
• Odd parity: number of 1’s
is odd
•Not robust to burst errors
0
0
Can we do error correction?
Introduction
1-59
CRC Example
R = remainder[
D.2r ]
G
Now, we transmit
< D, R > = < 101110, 011 >
Convince yourself that:
remainder[< D, R> / G ] = 0
Introduction
1-60
Channel Partitioning MAC protocols: TDMA
TDMA: time division multiple access
 access to channel in "rounds"
 each station gets fixed length slot (length = pkt
trans time) in each round
 unused slots go idle
 example: 6-station LAN, 1,3,4 have pkt, slots 2,5,6
idle
Human Analogy?
Introduction
1-61
Channel Partitioning MAC protocols: FDMA
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
Human Analogy?
frequency bands
bands 2,5,6 idle
Introduction
1-62
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)
Human Analogy?
 Examples of random access MAC protocols:
 slotted ALOHA
 ALOHA
 CSMA, CSMA/CD, CSMA/CA
Introduction
1-63
Slotted ALOHA
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
Introduction
1-64
Pure (unslotted) ALOHA
 unslotted Aloha: simpler, no synchronization
 when frame first arrives
 transmit immediately
 collision probability increases:
 frame sent at t0 collides with other frames sent in [t0-1,t0+1]
Introduction
1-65
Sharing the Medium
FDM or TDM make it easy
Send
But what about packet switching?
packet
1 234567
Ethernet protocol:
1. Listen
Collision
2. If channel is clear, send
3. If collision, back off a random time
cable headend
cable distribution
network (simplified)
home
Introduction
1-66
CSMA collisions
spatial layout of nodes
collisions can still occur:
propagation delay means
two nodes may not hear
each other’s transmission
collision:
entire packet transmission
time wasted
note:
role of distance & propagation
delay in determining collision
probability
Introduction
1-67
CSMA varieties
 CSMA/CD: After a collision, wait a random
period and transmit again
Collisions can be detected, so are cheap
 … be aggressive!

 CSMA/CA: wait a random period even
before transmitting the first packet
Collisions cannot be detected, and are
expensive
 … be conservative!

Introduction
1-68
“Taking Turns” MAC protocols
Token passing:
Polling:
 control token passed from
 master node
one node to next
“invites” slave nodes
sequentially.
to transmit in turn
 token message
 concerns:
 concerns:
 polling overhead


latency
single point of
failure (master)



token overhead
latency
single point of failure (token)
Introduction
1-69
 A creates datagram with source A, destination B
 A uses ARP to get R’s MAC address for 111.111.111.110
 A creates link-layer frame with R's MAC address as dest,





frame contains A-to-B IP datagram
A’s adapter sends frame
R’s adapter receives frame
R removes IP datagram from Ethernet frame, sees its
destined to B
R uses ARP to get B’s MAC address
R creates frame containing A-to-B IP datagram sends to B
A
R
B
Introduction
1-70
DHCP client-server scenario
DHCP server: 223.1.2.5
DHCP discover
arriving
client
src : 0.0.0.0, 68
dest.: 255.255.255.255,67
yiaddr: 0.0.0.0
transaction ID: 654
DHCP offer
src: 223.1.2.5, 67
dest: 255.255.255.255, 68
yiaddrr: 223.1.2.4
transaction ID: 654
Lifetime: 3600 secs
DHCP request
time
src: 0.0.0.0, 68
dest:: 255.255.255.255, 67
yiaddrr: 223.1.2.4
transaction ID: 655
Lifetime: 3600 secs
DHCP ACK
src: 223.1.2.5, 67
dest: 255.255.255.255, 68
yiaddrr: 223.1.2.4
transaction ID: 655
Lifetime: 3600 secs
Introduction
1-71
Institutional network
to external
network
mail server
web server
router
switch
IP subnet
hub
hub
hub
Introduction
1-72
Chapter 6: wireless
Introduction
1-73
Review
 No Collision Detection
Hidden Terminal
 Fading

C
A
B
A
B
C
C’s signal
strength
A’s signal
strength
space
Introduction
1-74
Review
 No Collision Detection
 Hidden Terminal
 Fading
 CDMA
Introduction
1-75
Review
 No Collision Detection
Hidden Terminal
 Fading
sender
receiver

 CDMA
 CSMA/CA
DIFS
data
SIFS
ACK
Introduction
1-76
Review
 No Collision Detection
Hidden Terminal
 Fading

A
 CDMA
 CSMA/CA
reservation
collision
 RTS/CTS
A
B
C
B
AP
D
DATA
(A)
defer
time
Introduction
1-77
Components of cellular network architecture
MSC
cell
 connects cells to wide area net
 manages call setup (more later!)
 handles mobility (more later!)
 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
Mobile
Switching
Center
Public telephone
network, and
Internet
Mobile
Switching
Center
wired network
Introduction
1-78
Mobility via Indirect Routing
foreign agent
receives packets,
forwards to mobile
home agent intercepts
packets, forwards to
foreign agent
home
network
visited
network
3
wide area
network
correspondent
addresses packets
using home address
of mobile
1
2
4
mobile replies
directly to
correspondent
Introduction
1-79
Mobility via Direct Routing
correspondent forwards
to foreign agent
foreign agent
receives packets,
forwards to mobile
home
network
4
wide area
network
2
correspondent
requests, receives
foreign address of
mobile
visited
network
1
3
4
mobile replies
directly to
correspondent
Introduction
1-80
Accommodating mobility with direct routing
 anchor foreign agent: FA in first visited network
 data always routed first to anchor FA
 when mobile moves: new FA arranges to have data
forwarded from old FA (chaining)
foreign net visited
at session start
wide area
network
anchor
foreign
agent
1
2
4
5
correspondent
agent
correspondent
3
new foreign
agent
new
foreign
network
Introduction
1-81
Mobile IP: indirect routing
foreign-agent-to-mobile packet
packet sent by home agent to foreign
agent: a packet within a packet
dest: 79.129.13.2
dest: 128.119.40.186
dest: 128.119.40.186
Permanent address:
128.119.40.186
dest: 128.119.40.186
Care-of address:
79.129.13.2
packet sent by
correspondent
Introduction
1-82
GSM: indirect routing to mobile
home
network
HLR
2
home MSC consults HLR,
gets roaming number of
mobile in visited network
correspondent
home
Mobile
Switching
Center
1
3
VLR
Mobile
Switching
Center
4
Public
switched
telephone
network
call routed
to home network
home MSC sets up 2nd leg of call
to MSC in visited network
mobile
user
visited
network
MSC in visited network completes
call through base station to mobile
Introduction
1-83
GSM: handoff with common MSC
VLR Mobile
Switching
Center 2
4
1
8
old BSS
5
7
3
6
new BSS
Handset constantly sends info about
neighboring cells back to BSS
1. old BSS informs MSC of impending
handoff, provides list of 1+ new BSSs
2. MSC sets up path (allocates resources)
to new BSS
3. new BSS allocates radio channel for
use by mobile
4. new BSS signals MSC, old BSS: ready
5. old BSS tells mobile: perform handoff to
new BSS
6. mobile, new BSS signal to activate new
channel
7. mobile signals via new BSS to MSC:
handoff complete. MSC reroutes call
8 MSC-old-BSS resourcesIntroduction
released 1-84
Chapter 8: Security
Introduction
1-85
Symmetric key cryptography
KA-B
KA-B
plaintext
message, m
encryption ciphertext
algorithm
K (m)
A-B
decryption plaintext
algorithm
m = K ( KA-B(m) )
A-B
symmetric key crypto: Bob and Alice share same
(symmetric) key: K
A-B
 e.g., key is knowing substitution pattern in mono
alphabetic substitution cipher
 Q: how do Bob and Alice agree on key value?
Introduction
1-86
Symmetric key
crypto: DES
DES operation
initial permutation
16 identical “rounds” of
function application,
each using different
48 bits of key
final permutation
Introduction
1-87
Public key cryptography
+ Bob’s public
B key
K
K
plaintext
message, m
encryption ciphertext
algorithm
+
K (m)
B
- Bob’s private
B key
decryption plaintext
algorithm message
+
m = K B(K (m))
B
Introduction
1-88
RSA: How?
m = (m e mod n)
d
mod n
Useful number theory result: If p,q prime and
n = pq, then:
y
y mod (p-1)(q-1)
x mod n = x
mod n
e
(m mod n) d mod n = medmod n
= m
ed mod (p-1)(q-1)
mod n
(using number theory result above)
1
= m mod n
(So we choose ed to be divisible by
(p-1)(q-1) with remainder 1 )
= m
Introduction
1-89
Authentication: another try
Protocol ap3.1: Alice says “I am Alice” and sends her
encrypted secret password to “prove” it.
Alice’s encrypted
“I’m Alice”
IP addr password
Alice’s
IP addr
OK
record
and
playback
still works!
Alice’s encrypted
“I’m Alice”
IP addr password
Introduction
1-90
Authentication: ap5.0
ap4.0 requires shared symmetric key
 can we authenticate using public key techniques?
ap5.0: use nonce, public key cryptography
“I am Alice”
R
Bob computes
+ -
-
K A (R)
“send me your public key”
+
KA
KA(KA (R)) = R
and knows only Alice
could have the private
key, that encrypted R
such that
+ K (K (R)) = R
A A
Introduction
1-91
ap5.0: security hole
Man (woman) in the middle attack: Trudy poses as
Alice (to Bob) and as Bob (to Alice)
I am Alice
R
I am Alice
R
K (R)
T
K (R)
A
Send me your public key
+
K
T
Send me your public key
+
K
A
- +
m = K (K (m))
A A
+
K (m)
A
Trudy gets
- +
m = K (K (m))
T Alice
sends T
m to
+
K (m)
T
encrypted with
Alice’s public key
Introduction
1-92
Digital signature = signed message digest
Alice verifies signature and
integrity of digitally signed
message:
Bob sends digitally signed
message:
large
message
m
H: Hash
function
Bob’s
private
key
+
-
KB
encrypted
msg digest
H(m)
digital
signature
(encrypt)
encrypted
msg digest
KB(H(m))
large
message
m
H: Hash
function
KB(H(m))
Bob’s
public
key
+
KB
digital
signature
(decrypt)
H(m)
H(m)
equal
?
Introduction
1-93
Key Distribution Center (KDC)
Q: How does KDC allow Bob, Alice to determine shared
symmetric secret key to communicate with each other?
KDC
generates
R1
KA-KDC(A,B)
Alice
knows
R1
KA-KDC(R1, KB-KDC(A,R1) )
KB-KDC(A,R1)
Bob knows to
use R1 to
communicate
with Alice
Alice and Bob communicate: using R1 as
session key for shared symmetric encryption
Introduction
1-94
Certification Authorities
 Certification authority (CA): binds public key to
particular entity, E.
 E (person, router) registers its public key with CA.



E provides “proof of identity” to CA.
CA creates certificate binding E to its public key.
certificate containing E’s public key digitally signed by CA
– CA says “this is E’s public key”
Bob’s
public
key
Bob’s
identifying
information
+
KB
digital
signature
(encrypt)
CA
private
key
K-
CA
+
KB
certificate for
Bob’s public key,
signed by CA
Introduction
1-95
Certification Authorities
 When Alice wants Bob’s public key:
gets Bob’s certificate (Bob or elsewhere).
 apply CA’s public key to Bob’s certificate, get
Bob’s public key

+
KB
digital
signature
(decrypt)
CA
public
key
Bob’s
public
+
key
KB
+
K CA
Introduction
1-96
Secure e-mail (continued)
• Alice wants to provide secrecy, sender authentication,
message integrity.
-
KA
m
.
H( )
-
.
KA( )
-
KA(H(m))
+
KS
.
KS( )
+
m
KS
+
.
K B( )
+
Internet
+
KB(KS )
KB
Alice uses three keys: her private key, Bob’s public
key, newly created symmetric key
Introduction
1-97