Week 13 Review
Week 13 Review
Advanced
Network
Technologies
Week 13 Review
Wei Bao
School of Computer Science
– Lecture
– MQTT and Multipath TPC (Week 11)
– Review
– Final exam schedule
– Q&A
– Tutorial
– Sample questions
– Q&A
The University of Sydney Page 2
Unit of Study Survey is available!
– COMP4416
– https://student-surveys.sydney.edu.au/s/uss901930
– COMP5416
– https://student-surveys.sydney.edu.au/s/uss901963
Publish
Subscriber subscribes topics.
Publisher has a new item of data to distribute.
Publisher sends to broker.
Broker distributes to clients subscribed to the topic.
e.g.,house/room1/maindoor
Fixed header
Remaining length:
Length of the packet (variable header + payload)
Variable Header
Data loss can sill occur if TCP connection is down and messages in
transit is lost.
QoS 0: At most once - the message is sent only once and the client
and broker take no additional steps to acknowledge delivery (fire and
forget).
e.g., temperature sensor
QoS 1: At least once - the message is re-tried by the sender multiple
times until acknowledgement is received (acknowledged delivery).
e.g., door sensor (status of door)
QoS 2: Exactly once - the sender and receiver engage in a two-level
handshake to ensure only one copy of the message is received
(assured delivery).
e.g., smoke sensor (alarm signal)
QoS 0: At most once - the message is sent only once and the client
and broker take no additional steps to acknowledge delivery (fire and
forget).
https://www.hivemq.com/blog/mqtt-essentials-part-6-mqtt-quality-of-service-levels/
https://www.hivemq.com/blog/mqtt-essentials-part-6-mqtt-quality-of-service-levels/
https://www.hivemq.com/blog/mqtt-essentials-part-6-mqtt-quality-of-service-levels/
The University of Sydney Page 13
MPTCP
Multi-path TCP
IETF RFC 6824 (older version)
IETF RFC 8684 (latest version)
Application
MPTCP
Subflow Subflow
(TCP) (TCP)
https://pocketnow.com/multipath-tcp
IP
Different IP addresses for different subflows.
The University of Sydney Page 15
Option Field
SYN+Option
SYN+ACK+Option
ACK
SYN+OtherOption
SYN+ACK+OtherOption
ACK
The University of Sydney Page 16
Token
…
The University of Sydney Page 17
Initiation and Join
SYN
LE
AB
MP_CAP
SYN/A
MP_C CK
APAB
LE
SYN
JOIN
CK
SYN/A
JOIN
source port # dest port # Subflow source port # Subflow dest port #
application application
data data
(variable length) (variable length)
A MPTCP with
two subflows
A regular TCP
𝑚𝑖𝑛
( 𝛼 ∙𝑏𝑦𝑡𝑒𝑠 _ 𝑎𝑐𝑘𝑒𝑑 ∙ 𝑀𝑆𝑆 𝑖 𝑏𝑦𝑡𝑒𝑠 _ 𝑎𝑐𝑘𝑒𝑑 ∙ 𝑀𝑆𝑆 𝑖
𝑐𝑤𝑛𝑑𝑡𝑜𝑡𝑎𝑙
,
𝑐𝑤𝑛𝑑 𝑖 )
𝛼=𝑐𝑤𝑛𝑑 𝑡𝑜𝑡𝑎𝑙 ∙ ¿ ¿
For each packet loss, halve the window size cwnd_i
Wireless
network link
physical
physical
transport
network
link
physical
HTTP: hypertext
transfer protocol
– Web’s application HT
TP
req
layer protocol PC running ues
t
HT
– client/server model Firefox browser TPr
esp
– client: browser ons
e
that requests,
receives, (using u es
t
HTTP protocol) req server
T P nse
and “displays” HT s po running
re Apache Web
Web objects HT
T P
server
– server: Web
server sends
(using HTTP iPhone running
Safari browser
protocol) objects
in response to
requests
The University of Sydney Page 36
FTP: the file transfer protocol
user
mail user
SMTP SMTP access
agent agent
protocol
(e.g., POP,
IMAP)
– host at cis.poly.edu
2
wants IP address 3 TLD DNS server
.edu DNS server
for 4
gaia.cs.umass.edu
5
iterated query:
contacted server local DNS server
replies with name dns.poly.edu
of server to 1 8
7 6
contact
“I don’t know this authoritative DNS server
name, but ask this dns.cs.umass.edu
server” requesting host
cis.poly.edu
recursive query: 2 3
puts burden of 7
6 TLD DNS server
name resolution .edu DNS server
on contacted
name server
heavy load at local DNS server
dns.poly.edu 5 4
upper levels of
1 8
hierarchy?
authoritative DNS server
dns.cs.umass.edu
requesting host
cis.poly.edu
3.5
P2P
Minimum Distribution Time
3
Client-Server
2.5
1.5
0.5
0
0 5 10 15 20 25 30 35
N
The University of Sydney Page 41
4
BitTorrent: tit-for-tat
e sends chunks to those four peers currently sending her chunks at high
2) Alice randomly unchokes Bob
Alice becomes one of Bob’s top-four providers;
Bob becomes one of Alice’s top-four providers
1 Who’s responsible
for key 1110 (14) ?
3
15
4
12
5
10
8
transport
network
link
physical
HTTP
Client
https://mqtt.org/
The University of Sydney Page 46
46
QUIC
Over UDP
Avoid head-of-line blocking.
https://medium.com/faun/http-2-spdy-and-
http-3-quic-bae7d9a3d484
The University of Sydney Page 47
Protocol Stack
application
Socket
transport TCP, UDP, Transport Protocol
network
link
physical
multiplexing at sender:
handle data from demultiplexing at receiver:
multiple use header info to deliver
sockets, add transport received segments to corre
header (later used for socket
demultiplexing)
application
length, in bytes of
32 bits UDP segment,
source port # dest port # including header
length checksum
why is there a UDP?
– no connection
application establishment (which
data can add delay)
(payload) – simple: no connection
state at sender, receiver
– small header size
– no congestion control:
UDP segment format
UDP can blast away as
fast as desired
012345678
0123456789
The University of Sydney Page 53
6-
53
TCP flow control
application
Socket
transport MPTCP
network
link
physical
Application
MPTCP
Subflow Subflow
(TCP) (TCP)
https://pocketnow.com/multipath-tcp
IP
application Video/Audio
SIP, RTP
link
physical
constant bit
rate video client video
constant bit
Cumulative data
transmission reception
rate video
Cannot be played on time playout at client
variable
network Buffer underflow!
buffered
video
delay
Bandwidth
playout-timei = ti + di + Kvi
…
Cumulative data
talk spurt 2
talk spurt 1
di + Kvi adjust
ri – t i Determine di + Kvi
delay
time
Poly SIP
2. UMass proxy forwards request registrar
to Poly registrar server
2 3 3. Poly server returns redirect response,
indicating that it should try [email protected]
2
1 3 4 5
arrivals
packet
in 1 3 2 4 5
service
departures
1 3 3 4 5
token bucket: limit input to specified burst size and average rate (useful
to police the flow)
application
transport
network
Wireless
link network Principles Linear Block Code
SNR vs. BER of CRC Code
CDMA Convolutional Code
physical
modulation:
BER
10-4
10-7
10 20 30 40
SNR(dB)
QAM256 (8 Mbps)
QAM16 (4 Mbps)
BPSK (1 Mbps)
Inner product(received
Sender 1 x 1’s chipping
sequence
signal, 1’s chipping
sequence)
Inner product(received
Sender 2 x 2’s chipping
sequence
signal, 2’s chipping
sequence)
+
… … …
Inner product(received
Sender N x N’s chipping
sequence
signal, N’s chipping
sequence)
B
A
foreign agent
receives packets,
correspondent forwards forwards to mobile
to foreign agent visited
network
home
network
3
1 2
4
mobile replies
correspondent
directly to
requests, receives
correspondent
foreign address of
mobile
cell MSC
covers
geographical
Mobile
region Switching
base station Center
Public telephone
(BS) network
mobile users
air-interface:
Mobile
Switching
Center
wired network
Mobility
Management Home Subscriber Service
Mobile device Entity (MME) (HSS)
(UE)
Base station
(eNode-B)
to
Internet
PDN gateway (P-GW)
source BS
S-GW 3
1 4 5 target BS informs MME that it
2 6
P-GW is new BS for mobile
5 7 MME instructs S-GW to
5 change tunnel endpoint to
MME target BS be (new) target BS
physical
User 1
User 2
B 1/3
Bottleneck!
1/3
C 1/3
1/3
1/3 D 1/3
Bottleneck!
NQ + ρ = N Number
W + X = T Time
• W: average waiting time in queue
• X: average service time
• T: average time spent in system (T = W + X)
• NQ = average number of customers in queue
• ρ = utilization = average number of customers in service
• N = average number of customer in system (N = NQ + ρ)
• Want to show later: N = λT (Little’s theorem)
• λ Average arrival rate
λ λ λ λ λ
M/M/ … …
m/m
(m=S)
μ 2μ 3 k (S −1) μ
μ
μ Sμ
Q: What is the probability if a new arrival is dropped?
PS
λ λ λ λ λ λ λ λ
M/M/m
… … S+1 S+2 …
(m=S)
μ 2μ 3 k (S −1) μ Sμ Sμ Sμ
μ
μ Sμ
– No programming questions
– No Wireshark questions