Académique Documents
Professionnel Documents
Culture Documents
Slides from:
Costin Raiciu
Department of Computer Science
University Politehnica of Bucharest
TCP is the main transport protocol on the
Internet
Defined in RFC 793 and used by many apps
Web
Remote login
Chat
Video streaming
Peer-to-peer
The server:
Wait for connections
Reads requests
Writes web-pages
TCP Connection Setup
HTTP server
listening on port 80
TCP Connection Setup
SYN
DPORT 80 SPORT
12572
TCP Connection Setup
SYN/ACK
DPORT 80 SPORT
12572
TCP Connection Setup
ACK
DPORT 80 SPORT
12572
TCP Service:
reliable, in order, byte stream delivery
packets
Sends them over the network
Segments can be lost/reordered
Data: 0-1000
Data: 1000-
Data: 0-1000
2000
Data: 2001-
Data: 1-1000
3000
ACK 1001
there
here
here
link is very
congested
3G celltower
Mobility with TCP
3G celltower
Mobility with TCP
3G celltower
Mobility with TCP
3G celltower
3G celltower
Redundancy is the only way to get reliability
greater than that of all the parts.
3G celltower
Mobile client
Server
Wifi
Multi-homed server
Server
So, why would you care?
STATE 1
CWND
Snd.SEQNO
Rcv.SEQNO
MPTCP Operation
STATE 1
CWND
Snd.SEQNO
Rcv.SEQNO
MPTCP Operation
STATE 1
CWND
Snd.SEQNO
Rcv.SEQNO
MPTCP Operation
STATE 1
CWND
Snd.SEQNO
Rcv.SEQNO
STATE 2
CWND
Snd.SEQNO
Rcv.SEQNO
MPTCP Operation
options
STATE 1
SEQ DSEQ
… … DATA CWND
1000 10000 Snd.SEQNO
Rcv.SEQNO
STATE 2
CWND
Snd.SEQNO
Rcv.SEQNO
MPTCP Operation
options
STATE 1
SEQ DSEQ
… … DATA CWND
1000 10000 Snd.SEQNO
Rcv.SEQNO
STATE 2
CWND
Snd.SEQNO
Rcv.SEQNO
MPTCP Operation
options
STATE 1
SEQ DSEQ
… … DATA CWND
1000 10000 Snd.SEQNO
Rcv.SEQNO
STATE 2
options CWND
Snd.SEQNO
SEQ DSEQ
… … DATA Rcv.SEQNO
5000 11000
MPTCP Operation
options
STATE 1
SEQ DSEQ
… … DATA CWND
1000 10000 Snd.SEQNO
Rcv.SEQNO
STATE 2
options CWND
Snd.SEQNO
SEQ DSEQ
… … DATA Rcv.SEQNO
5000 11000
MPTCP Operation
options
STATE 1
SEQ DSEQ
… … DATA CWND
1000 10000 Snd.SEQNO
Rcv.SEQNO
STATE 2
options CWND
Snd.SEQNO
SEQ DSEQ
… … DATA Rcv.SEQNO
5000 11000
MPTCP Operation
options
STATE 1
SEQ DSEQ
… … DATA CWND
1000 10000 Snd.SEQNO
Rcv.SEQNO
STATE 2
options CWND
Snd.SEQNO
SEQ DSEQ
… … DATA Rcv.SEQNO
5000 11000
MPTCP Operation
STATE 1
ACK
… … CWND
2000 Snd.SEQNO
Rcv.SEQNO
STATE 2
CWND
Snd.SEQNO
Rcv.SEQNO
MPTCP Operation
options
STATE 1
SEQ DSEQ
… … DATA CWND
2000 11000 Snd.SEQNO
Rcv.SEQNO
STATE 2
CWND
Snd.SEQNO
Rcv.SEQNO
Summary
redundancy effectively.