Transcript 投影片 1
DCCP: Transport Protocol with
Congestion Control and Unreliability
Source:Yuan-Cheng Lai IEEE Internet
Computing ,2008 October
Reporter : Chang, Yi Jui
Student ID : M9756003
2016/4/11
國立屏東科技大學
1
Outline
Introduction
Packet format
Connection Phases
◦ Connection establishment
◦ Data transfer
◦ Connection termination
Congestion Control
◦ CCID 2
◦ CCID 3
Comparisons
2016/4/11
國立屏東科技大學
2
TCP Version
Tahoe
Reno
New Reno
SACK
2016/4/11
國立屏東科技大學
3
TCP behavior
2016/4/11
4
2016/4/11
國立屏東科技大學
4
Introduction-Why not use TCP?
IP phones, video conferencing, video on
demand (VoD), and online games have
consequently become extremely popular.
Real-time operation, delay sensitivity, and
low reliability.
2016/4/11
國立屏東科技大學
5
Introduction-Why not use TCP?
TCP’s reliability mechanism retransmits lost
packets, but retransmitting expired packets is
redundant.
TCP reduces the transmission rate on
detecting packet loss, reducing quality of
service (QoS) for the user.
TCP executes a congestion-control
mechanism, it uses less than its fair share of
bandwidth when compared to UDP.
2016/4/11
國立屏東科技大學
6
Introduction
Multimedia applications have increased,
UDP traffic has become widespread
throughout the Internet, causing network
congestion and threatening TCP traffic.
DCCP has two basic functions:
◦ Establish, maintain, and tear down(or close) unreliable
connections.
◦ Utilize the congestion-control mechanism for
unreliable connections.
2016/4/11
國立屏東科技大學
7
Introduction
DCCP’s main characteristics:
◦
◦
◦
◦
◦
◦
Unreliable data transfer
Reliable connection establishment
Adequate packet options
Dynamic choice of congestion control
Dynamic adjustment of acknowledgment rate
Prevention of SYN flooding attack
2016/4/11
國立屏東科技大學
8
Packet format
The diagram shows
(a) DCCP’s packet format.
(b) a DCCP generic header.
(c) the acknowledgment number sub-header.
2016/4/11
國立屏東科技大學
9
Packet format
CCval: indicates the congestion control
mechanism used (CCID 2 or CCID 3).
CsCov: (checksum coverage) determines
what range the checksum covers.
These two particular fields, CCval and
CsCov, didn’t appear in previous
protocols.
2016/4/11
國立屏東科技大學
10
Packet format
CCval lets the application dynamically
adopt a suitable congestion-control
mechanism according to its requirement
and network.
CsCov enhances performance on errorprone links for applications.
DCCP has defined 10 packet types.
2016/4/11
國立屏東科技大學
11
Connection Phases
DCCP is a connection-oriented protocol
and provides a bidirectional connection.
Connection establishment, data transfer,
and connection termination.
DCCP has defined nine states that signify
these phases’ processes: CLOSED, LISTEN,
REQUEST, RESPOND, PARTOPEN, OPEN,
CLOSEREQ, CLOSING, and TIMEWAIT.
2016/4/11
國立屏東科技大學
12
Connection establishment
DCCP uses a three-way handshake
to establish a connection.
2016/4/11
國立屏東科技大學
13
Connection establishment
Why not go to OPEN state? Prevent a
deadlock.
If a DCCPAck/DCCP-DataAck packet is
lost, the server doesn’t enter the OPEN
state and thus can’t send data.
Maximum segment lifetime(MSL) expires
4 times.
2016/4/11
國立屏東科技大學
14
Data transfer
The data packet exchange between the
client and server is unreliable but
restricted to congestion control.
During the transfer process, DCCP
endpoints might use DCCP-Sync and
DCCP-SyncAck packets for
synchronization.
2016/4/11
國立屏東科技大學
15
Data transfer
DCCP can use
DCCP-Sync and
DCCP-SyncAck
packets to
synchronize the
sequence numbers
of both sides.
2016/4/11
國立屏東科技大學
16
Connection termination
DCCP uses two- or three-way handshakes
to terminate a connection.
2016/4/11
國立屏東科技大學
17
Congestion Control
CCID2: additive increase/ multiplicative
decrease (AIMD) congestion-control
mechanism whereby the sender adopts a
congestion window to control the
transmission rate.
Congestion window-based congestion
control.
2016/4/11
國立屏東科技大學
18
Congestion Control
CCID3: TFRC(TCP-Friendly Rate Control)
congestion control. The sender uses the loss
event ratio the receiver measures, calculates
the transmission rate T via the following
formula, and accordingly adjusts its sending
rate.
Rate-based congestion control.
◦
◦
◦
◦
◦
T is transmission rate
S is packet size
RTT is round-trip time
tRTO is retransmission timeout
p is loss event ratio
2016/4/11
國立屏東科技大學
19
Comparisons
2016/4/11
國立屏東科技大學
20