Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
KRnet 2003 2
발표 내용
기존 TCP 적용의 문제점
해결 방안들 TCP-Feedback
ELFN-based Approach
ATCP
TCP-BuS
Fixed RTO
TCP DOOR
결론
KRnet 2003 3
Transmission Control Protocol
Reliable End-to-end Transport Protocol
Congestion Control
Slow Start
Congestion Avoidance
Variants of TCP
TCP-Tahoe, TCP-Reno, TCP-SACK, TCP-Vegas, etc
KRnet 2003 4
Slow-start and Congestion Avoidance
0
2
4
6
8
10
12
14
0 1 2 3 4 5 6 7 8
Time (round trips)
Co
ng
esti
on
Win
do
w s
ize
(seg
men
ts)
Slow-start
Congestion-avoidance
KRnet 2003 5
Timeout Mechanism
0
5
10
15
20
25
0 3 6 9 12 15 20 22 25
Time (round trips)
Co
ng
esti
on
win
do
w (
seg
men
ts)
ssthreshold = 8
cwnd = 20
ssthreshold = 10
timeout
KRnet 2003 6
Fast Recovery
0
2
4
6
8
10
0 2 4 6 8 10 12 14
Time (round trips)
Win
do
w s
ize
(seg
men
ts)
KRnet 2003 7
Internet TCP
Wired Network에 적합하도록 설계
Low BER (Bit Error Rate)
Loss 는 대부분 Congestion으로 인해 발생
Connection 이 진행되는 동안에 경로는 대부분 고정되어 있음
KRnet 2003 8
MANET에 기존 TCP 적용의 문제점
Link 계층에서의 문제
MAC 계층으로 인한 TCP 영향
높은 BER
Network 계층에서의 문제
잦은 경로변화
Network Partition 발생
Multi-path Routing으로 인한 Out-of-order Message 전송
KRnet 2003 9
MAC 계층으로 인한 TCP 영향
• Hidden Terminal or Exposed Problem • Carrier Sensing Range : 200 m • Interference Range : 550 m
• A-B 간의 데이터 전송에 Interference 발생 가능성
KRnet 2003 10
Hidden and Exposed Nodes
1 2 3 4 5
1 2 3 4 5
Sender
Sender
Receiver
Receiver
Transmission
Hidden
RTS
Exposed RTS : no transmission
• Forward data segment 전달에 영향을 주는 경우
• Backward ACK segment 전달에 영향을 주는 경우
Transmission
KRnet 2003 11
높은 BER로 인한 영향
Bit Error 가 패킷들이 Corrupted 되어 Dropped 되게 함
TCP 세그먼트나 ACK 의 손실 유발
Fast Retransmit 혹은 RTO 발생 가능성
계속적인 Error는 송신 노드의 Congestion Window 값을 작게 만들어 처리율 감소를 일으킴
KRnet 2003 12
Network Partitioning 영향
송신 노드와 수신 노드가 노드들의 이동으로 인해 서로 다른 Partition에 위치하게 된다.
연속적인 Timeouts 발생
S
D
S
D
At time t0
At time t1
KRnet 2003 13
경로 변화로 인한 영향
새로운 경로를 찾는 시간이 TCP 송신 노드의 RTO 값 보다 더 클 수가 있다
또한 경로 변화로 인해 packets들이 순간적으로 수신 노드에 out-of-order 로 도착할 수 있다.
S
D
A
B
Time t0
S
A
B
D
Time t1
KRnet 2003 14
Multi-path Routing 의 영향
Some routing protocols (such as TORA) maintain multiple routes between source destination pairs
This sometimes results in a significant number of out-of-sequence packets
This may trigger the fast retransmit mechanisms.
KRnet 2003 15
TCP-Feedback
두 가지 상태 존재: Active and Snooze
RFN (Route Failure Notification) Message makes the sender switch into snooze state. Stopping sending further messages and
freezing all values like retransmission timers and congestion window size
RRN (Route Reestablishment Notification) Message makes the sender come into normal active state Resume all timers and variables.
KRnet 2003 16
동작 예(1/4)
Source
Dest
Source
FP
Dest
KRnet 2003 17
동작 예(2/4)
Source
FP
Dest
RFN
Source
FP
Dest
Discard RFN
Reroute packets
KRnet 2003 18
동작 예(3/4)
Source
Dest
RFN
Source
Dest •Stop sending further packets
•Freeze all timers, window
•Starts a route failure timer
KRnet 2003 19
동작 예(4/4)
Source
Dest
RRN
Source
Dest
•Restarts timers from frozen values
•Resumes transmission
KRnet 2003 20
ELFN-based approach
Explicit Link Failure Notification message
Stand-by mode similar to snooze state of TCP-Feedback
Instead of using RRN, a packet is sent periodically to probe the network to see if a route has been established.
좀 더 정확한 Probe interval 값 요구
KRnet 2003 21
Probe timer 선택
• The smaller the gap between packets, the better the throughput
KRnet 2003 22
Probe packets 사용
Intuitive - Send the first packet in window
Optimistic - Send the packet with lowest sequence number among the packets signaled as lost
No significant difference observed
KRnet 2003 23
ATCP (Ad hoc TCP)
표준 TCP 수정 없이 지원
A thin layer, ATCP between TCP and IP
Network 계층의 feedback 존재 :
ICMP: The Destination Unreachable ICMP message indicates route disruption
ECN: Indicates network congestion
With ECN enabled, time out and 3 dup ACKs are assumed to no longer be due to congestion
KRnet 2003 24
ATCP in the TCP/IP protocol stack
TCP
IP
Link layer
TCP
IP
Link layer
A-TCP
Sender Receiver
KRnet 2003 25
ATCP 특징
High BER 일 경우: Retransmits lost segments without shrinking the
congestion window.
경로 변화 혹은 partition 으로 인한 지연 : Stops transmitting and resumes when a new route
is found.
Multi-path를 이용하는 경우: On receipt of dup ACKs, TCP sender should not
invoke congestion control, because multi-path routing shuffles the order in which segments are received.
KRnet 2003 26
TCP/ATCP Behavior
RTO 발생 혹은 3rd dup ACK 수신 시:
Retransmits unACKed segments
ECN flag를 가진 ACK 수신 시:
Invokes congestion control
Destination Unreachable ICMP message 수신 시:
Stops transmission
Wait until a new route is found resume transmission
ATCP monitors TCP state and spoofs TCP in such a way to achieve the above behaviors
KRnet 2003 27
State Transition Diagram
Disconnected
Normal
Congested Loss
TCP transmits
a segment
Receive
ECN
RTO about
to expire OR
3 dup ACKs
New ACK
Receive
“Destination
Unreachable”
ICMP
CWND 1
Receive dup
ACK or packet
from receiver
ATCP
retransmits
segments in
TCP’s buffer
TCP Sender is put in
persist mode
Start here
KRnet 2003 28
동작 예 Plain TCP ATCP
After 5 RTTs, 15 segs. transmitted
5th RTT
4th RTT
3rd RTT
2nd RTT
1st RTT
After 5 RTTs, 9 segs. transmitted
1
ACK1
4 lost
4
ACK7
4 lost
5th RTT
4th RTT
3rd RTT
2nd RTT
1st RTT
1
ACK1
KRnet 2003 29
TCP-BuS (BUffering capability and Sequence information)
Explicit notification, Selective Retransmission, Extending timeout values, Avoiding unnecessary request for fast retransmission
Taking advantage of Buffering Effect at Intermediate Nodes
주로 intermediate node 에서의 route extension 하는 routing protocol에 적합 (예, ABR)
KRnet 2003 30
Fixed RTO
Route failure recovery 가 Routing algorithm에 의해서 최대한 빨리 이루어진다고 가정함
불필요한 long recovery 지연을 발생할 가능성 있는 Exponential Backoff 방법 회피
Timeout 발생 시 TCP sender는 RTO 를 일단 두 배로 증가. 만약 missing packet 이 새로운 RTO 시간 안에 도착하지 않으면 해당 packet이 계속해서 재전송 되지만 RTO 는 더 이상 증가 안 됨. 경로가 새롭게 발견되고 재전송된 packet이 acknowledged 될 때까지 고정됨.
KRnet 2003 31
TCP-DOOR (Detection of Out-of-Order and Response)
TCP Code 수정을 요구하지만 중간 노드들의 cooperation 이 필요 없음.
Out-of-order (OOO) packets 수신을 통한 Link failure 감지
TCP 수신 노드가 OOO 감지시 송신 노드에게 ACK 패킷의 OOO bit 를 통해 통보
Temporarily Disabling Congestion Control
OOO 통보를 받은 후 T1 시간 동안 RTO 와 CWND 와 같은 state variable 를 keep
Instant Recovery during Congestion Avoidance
OOO 통보를 받은 후 TCP 송신 노드는 지난 T2 시간에 Congestion Control Mechanism이 발생 했는지 여부를 조사.
만약 Congestion Control 수행했다면 Congestion 때문이 아니라 Route change 로 인한 결과임을 숙지 하고 Congestion Control 이전의 state variable 을 그대로 사용
KRnet 2003 32
결론
Reliable transport protocol
TCP 수정 요구 (Route Failure, High BER, Network Partition,….)
중간 노드의 도움을 받는 방법 vs. End-to-end 로 해결 가능한 방법
TCP-F, TCP-ELFN, ATCP and TCP-BuS vs. Fixed RTO and TCP-DOOR
기존 TCP 수정 필요 vs. 수정 없이 지원
ATCP
KRnet 2003 33
참고자료
Nitin H. Vaidya Tutorial 자료 http://www.crhc.uiuc.edu/~nhv K. Chandran et. al., “A Feedback-based scheme for improving TCP Performance in ad hoc wireless networks,” IEEE Personal Comm. Magazine, Feb., 2001. T.D.Dyer, R.V.Boppana, “A Comparision of TCP Performance over three routing protocols for Mobile Ad Hoc Networks,” ACM MOBIHOC, 2001. G. Holland and N. Vaidya, “Analysis of TCP Performance over mobile ad hoc networks,” ACM MOBICOM ’99, 1999. J. Liu and S. Singh, “ATCP: TCP for mobile ad hoc networks,” IEEE JSAC, July, 2001. D. Kim, C.-K. Toh and Y.Choi, “TCP-BuS: Improvement of TCP Performance in Mobile Ad Hoc Networks,” Journal of Communication Networks, 2001. F.Wang and Y.Zhang, “Improving TCP Performance over Mobile Ad Hoc Networks with Out-of-Order Detection and Response,” ACM MOBIHOC, 2002.