SlideShare uma empresa Scribd logo
1 de 38
TCP FLAVOUR
MAJ DAMANDEEP SINGH
MAJ ARPIT GULERIA
Topics
• Retransmission mechanisms
• Timeout
• Fast retransmission
• TCP congestion control
• Slow start
• Additive increase multiplicative decrease (AIMD)
• Fast recovery
• TCP flavors
• TCP Tahoe
• TCP Reno
• TCP New Reno
• TCP Vegas
• TCP freeze
• Conclusion
Main Function of TCP(recap)
• Connection –orientation mech
• Ensure presence of receiver before Tx
• Seq and ACK
• Ensure proper order of segments
• Flow control
• To handle the slow receiver pbm
• Retransmission control
• Take care of lost or error packets
• Congestion control
• Take care of network bottlenecks
Retransmission Mechanism (recap)
 Lack of ack is an indication that the packet is lost and
retransmission is required.
Retransmission Mechanism
• Time out based retransmission
• Fast retransmission
Timeout
• Packet is retransmitted if ack is not received within Timeout
• In TCP timeout is a function of RTT.
• How RTT is calculated ?
• Measure sample_RTT for each seg- ack pair
• Compute weighted average of RTT(Est_RTT)
Est_RTT = a Est_RTT + b sample_RTT
a + b=1
• Set timeout= 2 X Est_RTT
Fast Retransmission
• If packet n is lost but packet n+1,n+2,n+3 ……… reached
the destination, the receiver will keep on sending ack
indicating that nth packet is awaited
• nth packet is lost
• All packets after nth packets were received
• In Fast Retransmission, only the nth packet is
retransmitted before timeout
IN TCP SENDER RETRANSMIT DATA AFTER 3 DUP ACK
TCP Congestion Control
TCP requires to have some mech of congestion control
TCP assumes that if there is an ACK loss then it is due to congestion
TCP starts taking steps for congestion control
TCP starts taking steps for congestion control
Congestion control Mechanism
• Slow Start
• Additive increase and multiplicated decrease
Slow Start
Idea
• Start with congestion window = 1
packet
• Double congestion window each RTT
• Till reaching ss_th or packet loss
AIMD
• TCP maintain a congestion window for each connection
• Congestion window is used to limit how much data can be
transmitted to prevent congestion
Algo –
• Inc cwnd by one packet per RTT (Linear Inc)
• Divide cwnd by 2 whenever a timeout occurs (Multiplicative dec)
Fast Recovery
This tech possible to quickly recover lost data
packets
Idea
• After receiving 3 duplicate ACKs in a row:
. Set ss_thresh to one-half of the current
congestion window.
. Retransmit the missing segment.
. set cwnd = ss_thresh + 3.
. Each time another duplicate ACK arrives, set
cwnd = cwnd + 1.
. Once receive a new ACK, exit fast
recovery. Set cwnd to ssthresh. Then,
continue with linear increasing.
TCP Flavours
Evolution Of TCP (congestion control)
• TCP Tahoe
• TCP Reno
• TCP new Reno
• TCP Vegas
• Slow Start
• Additive increase
• Fast Retransmission
• Fast Recovery
TCP Tahoe
TCP Tahoe
Idea : Slow start + Additive Inc + Fast
transmission
Algo: Set cwnd to 1 for both timeout
and 3 dup ack
TCP Tahoe – State Diagram
Congestion avoidance
Fast Retransmission
Start
cwnd >= ss_th
cwnd = cwnd +1/cwnd
cwnd = 1
cwnd = cwnd +1
Slow Start
ACK DATA
Retransmission timeout
All ack
Dup ack >=3
Send missing packet
ss_th= cwnd/2
cwnd =1
Congestion avoidance
Slow Start
TCP Tahoe
Cwnd = 8
Sender Receiver
1.
Cwnd = 8
2.
Cwnd = 1
3.
Cwnd = 1
4.
Comments
31
32
33
34
35
36
37
38
Sender sent segment 31 - 38
30
30
30
30
31
Receiver replied seven duplicate ACKs
of segment 30
Sender received three dupacks and
cwnd is changed to 1 packet. The lost
segment 31 is retransmitted
39
32
Receiver replied the ACK of packet 38
when it received the retransmitted
packet 31.
32
07 Dupacks
On 3 DuPacks
Retx 31
ACK 38
cwnd =1
Send 39
TCP Reno
TCP RENO
 Slow start + Additive Inc + Fast
transmission + Fast Recovery
Idea: In case of Dup Ack , 3 Dup Ack
indicates the network capability of
delivering seg so . Cwnd is cut to half (
instead of 1 as in Tahoe) and then it
increase linearly
Congestion avoidance
Fast Retransmission
Start
cwnd = cwnd +1/cwnd
cwnd = cwnd +1
Slow Start
ACK DATA
Dup ack >=3
Dup ack >=3
Fast Recovery
cwnd >= ss_th
Send missing packet
ss_th= cwnd/2
cwnd =ss_th
cwnd = cwnd +1
ACK DATA
cwnd = ss_th
Non dup
ack> x
cwnd = cwnd +1
cwnd = 1
All ack
Retransmission timeout
TCP Reno
Cwnd = 8
Sender Receiver
1.
Cwnd = 8
2.
Cwnd = 11
3.
Cwnd = 4
4.
Comments
31
32
33
34
35
36
37
38
Sender sent segment 31 - 38
30
30
30
30
30
31
30
30
Receiver replied seven duplicate ACKs
of segment 30
Sender received three dupacks and
cwnd is changed to (8/2)+3 packets.
The lost segment 31 is retransmitted
39
32
Receiver replied the ACK of 38 when
it received the retransmitted packet
31.
32
Pkts 31 get
lost
07 Dupacks
On 3 DuPacks
Retx 31
Send 3 new pkts Ack 38 for re tx
Back to ai cwnd =4
Sender exist fast retx cwnd=4
Comparison between TCP Reno and TCP Tahoe
Optional statement
Why TCP is Fair?
TCP : NEW RENO
Multiple Packet loss problem
Cwnd = 8
Sender Receiver
1.
Cwnd = 8
2.
Cwnd = 7
3.
Cwnd = 9
4.
Comments
31
32
33
34
35
36
37
38
Sender sent segment 31 - 38
30
30
30
30
30
31
30
30
Receiver replied five duplicate ACKs
of segment 30
Sender received three dupacks and
cwnd is changed to (8/2)+3 packets.
The lost segment 31 is retransmitted
39
32
Receiver replied the ACK of packet 32
when it received the retransmitted
packet 31. This is Partial ACK
32
Pkts 31, 33 &
34 lost
05 Dupacks
On 3 DuPacks
Retx 31
Partial ACK
Multiple Packet loss problem
Sender Receiver
5. Cwnd = 4
Cwnd = 4
6.
Comments
Sender exits from Fast Recovery and
entered the congestion avoidance
state after receiving the Partial ACK.
Cwnd is changed to 4 MSS
Sender waited until timeout
32
Exit FastRecovery
Cwnd = 4
Sender Timeout
Limitation of Reno
• Multiple Packet Loss
• Partial ack will be received when first packet is retransmitted
• Ack causes moving out of Fast Recovery state
• Cwnd halved – wait for timeout
• Affects Reno performance
• Solution : TCP New Reno
• Extend fast recovery Phase – Do not exit Fast recovery Phase after getting Partial
acknowledgement
• Alternate Solution
• TCP SACK : Explicitly ACK lost segments
• TCP Vegas : Using RTT to Signal Congestion
TCP NewReno
Cwnd = 8
Sender Receiver
1.
Cwnd = 8
2.
Cwnd = 7
3.
Cwnd = 9
4.
Comments
31
32
33
34
35
36
37
38
Sender sent segment 31 - 38
30
30
30
30
30
31
30
30
Receiver replied five duplicate ACKs
of segment 30
Sender received three dupacks and
cwnd is changed to (8/2)+3 packets.
The lost segment 31 is retransmitted
39
32
Receiver replied the ACK of packet 32
when it received the retransmitted
packet 31. This is Partial ACK
32
Pkts 31, 33 &
34 lost
05 Dupacks
On 3 DuPacks
Retx 31
Partial ACK
TCP NewReno
Cwnd = 8
Sender Receiver
5.
Cwnd = 9
6.
Cwnd = 9
7.
Cwnd = 10
8.
Comments
33
40
Sender receives the partial Ack of pkt 32
and immediately retransmitted the lost
segment 33. Cwnd is changed to 9-2+1
33
33
41
33
Sender receivesed a DupAck and added
Cwnd by 1, thus segment 41 is kicked
out. Receiver replied a partial ACK and
a duplicate ACK of pkt 33
The partial ACK triggered the sender
Re-Tx pkt 34. Receiver replied an ACK
of pkt 33 upon receiving segment 34
34
ReTX 33
Tx 40
32
32
34
33
Cwnd ++
Tx 41
Partial +
Duplicate ACK 33
ReTx 34
42
43
33
Cwnd ++
Tx 42,43
Upon receiving the duplicate ACK of pkt
33, Cwnd was advanced by 1. Two new
pkts were also sent.
(since Awnd < Cwnd)
TCP NewReno
Cwnd = 11
Sender Receiver
9.
Cwnd = 11
10.
Cwnd = 4
11.
Comments
34
42
43
On receiving the duplicate ACK of pkt
33, Cwnd was advanced by 1 and thus
pkt 44 was Triggered out
43
42
41 44
Receiver replied ACKs of Pkt 30, 42,
43 & 44
Sender Exited Fast recovery upon
receiving the ACK pkt 40.
Cwnd = 4
44
43 44
42
TCP : VEGAS
TCP : VEGAS
• Totally different approach
• Emphasizes pkt delay, rather than packet loss, as a signal to help determine
the rate at which to send packets
• Change in triggering Fast Retransmit
• On receiving first dupAck check the following:-
If((Current_time – Sending_time ) + MinRTT > Timeoutvalue)
Trigger Fast-Retransmit without 3 dupAcks
• Use of fine-grained RTT to improve congestion control
• Anticipate Congestion based on minimum RTT
TCP VEGAS – Anticipating Congestion Control
• Base RTT = Minimum RTT
• Expected sending rate & Actual sending rate
• Expected = Cwnd/BaseRTT
• Diff = Expected – Actual
• If Diff < a, Cwnd ++ per RTT
else if Diff > b, Cwnd --
(a and b are two thresholds that control utilization of bandwidth without overloading)
• Implementation with Runo ???
Performance of Vegas degrades because Vegas reduces its sending rate before Reno, as it
detects congestion early and hence gives greater bandwidth to co-existing TCP Reno flows
TCP : FREEZE
SNOOP TCP
• SNOOP Agent : TCP aware with limited powers
• SNOOP can buffer TCP Segments
• Upto certain numbers of lost ACKs are allowed
SH/FH SNOOP MH
Effective
Not much effective
Congestion Window will be controlled by mobile host in this case
M-TCP
• Delayed duplicate ACK
• Drawback : Base station is central entity
SH/FH BS MH
MH
ZWA
FWA
TCP : FREEZE
• Involve MH as TCP receiver
• During handoff, ZWA is sent by MH to FH
• On reconnection FWA is sent by MH to FH
How MH will get to know that Handoff is initiated ?
When Antenna Signal strength is getting down and pkt loss
increases consequtively. It implies that handoff has been initiated
• On reconnection, FWA along with three Dupacks will be
forwarded by MH to BS as well. From three Dupacks BS will send
buffered data to MH
SH/FH BS MH
MH
ZWA
FWA
Mobile comn.pptx

Mais conteúdo relacionado

Semelhante a Mobile comn.pptx

Mobile Transpot Layer
Mobile Transpot LayerMobile Transpot Layer
Mobile Transpot LayerMaulik Patel
 
TCP congestion control
TCP congestion controlTCP congestion control
TCP congestion controlShubham Jain
 
features of tcp important for the web
features of tcp  important for the webfeatures of tcp  important for the web
features of tcp important for the webrinnocente
 
Computer network (13)
Computer network (13)Computer network (13)
Computer network (13)NYversity
 
tcpflowcontrolanurag-150513130509-lva1-app6892 (1).pptx
tcpflowcontrolanurag-150513130509-lva1-app6892 (1).pptxtcpflowcontrolanurag-150513130509-lva1-app6892 (1).pptx
tcpflowcontrolanurag-150513130509-lva1-app6892 (1).pptxGOKULKANNANMMECLECTC
 
Congestion control in TCP.pptx
Congestion control in TCP.pptxCongestion control in TCP.pptx
Congestion control in TCP.pptxkamalakantas
 
TCP protocol flow control
TCP protocol flow control TCP protocol flow control
TCP protocol flow control anuragjagetiya
 
Congestion control in tcp
Congestion control in tcpCongestion control in tcp
Congestion control in tcpsamarai_apoc
 
Designing TCP-Friendly Window-based Congestion Control
Designing TCP-Friendly Window-based Congestion ControlDesigning TCP-Friendly Window-based Congestion Control
Designing TCP-Friendly Window-based Congestion Controlsoohyunc
 
High Performance Networking with Advanced TCP
High Performance Networking with Advanced TCPHigh Performance Networking with Advanced TCP
High Performance Networking with Advanced TCPDilum Bandara
 
Comparison of TCP congestion control mechanisms Tahoe, Newreno and Vegas
Comparison of TCP congestion control mechanisms Tahoe, Newreno and VegasComparison of TCP congestion control mechanisms Tahoe, Newreno and Vegas
Comparison of TCP congestion control mechanisms Tahoe, Newreno and VegasIOSR Journals
 
Comparison of TCP congestion control mechanisms Tahoe, Newreno and Vegas
Comparison of TCP congestion control mechanisms Tahoe, Newreno and VegasComparison of TCP congestion control mechanisms Tahoe, Newreno and Vegas
Comparison of TCP congestion control mechanisms Tahoe, Newreno and VegasIOSR Journals
 
Lecture 5
Lecture 5Lecture 5
Lecture 5ntpc08
 

Semelhante a Mobile comn.pptx (20)

Mobile Transpot Layer
Mobile Transpot LayerMobile Transpot Layer
Mobile Transpot Layer
 
Introduction to TCP
Introduction to TCPIntroduction to TCP
Introduction to TCP
 
TCP congestion control
TCP congestion controlTCP congestion control
TCP congestion control
 
features of tcp important for the web
features of tcp  important for the webfeatures of tcp  important for the web
features of tcp important for the web
 
Computer network (13)
Computer network (13)Computer network (13)
Computer network (13)
 
tcpflowcontrolanurag-150513130509-lva1-app6892 (1).pptx
tcpflowcontrolanurag-150513130509-lva1-app6892 (1).pptxtcpflowcontrolanurag-150513130509-lva1-app6892 (1).pptx
tcpflowcontrolanurag-150513130509-lva1-app6892 (1).pptx
 
Congestion control in TCP.pptx
Congestion control in TCP.pptxCongestion control in TCP.pptx
Congestion control in TCP.pptx
 
TCP protocol flow control
TCP protocol flow control TCP protocol flow control
TCP protocol flow control
 
Congestion control in tcp
Congestion control in tcpCongestion control in tcp
Congestion control in tcp
 
TCP timers.ppt
TCP timers.pptTCP timers.ppt
TCP timers.ppt
 
persist timer.ppt
persist timer.pptpersist timer.ppt
persist timer.ppt
 
Designing TCP-Friendly Window-based Congestion Control
Designing TCP-Friendly Window-based Congestion ControlDesigning TCP-Friendly Window-based Congestion Control
Designing TCP-Friendly Window-based Congestion Control
 
Part9-congestion.pptx
Part9-congestion.pptxPart9-congestion.pptx
Part9-congestion.pptx
 
High Performance Networking with Advanced TCP
High Performance Networking with Advanced TCPHigh Performance Networking with Advanced TCP
High Performance Networking with Advanced TCP
 
Wmc assi 1
Wmc assi 1Wmc assi 1
Wmc assi 1
 
Wmc assi 1
Wmc assi 1Wmc assi 1
Wmc assi 1
 
Comparison of TCP congestion control mechanisms Tahoe, Newreno and Vegas
Comparison of TCP congestion control mechanisms Tahoe, Newreno and VegasComparison of TCP congestion control mechanisms Tahoe, Newreno and Vegas
Comparison of TCP congestion control mechanisms Tahoe, Newreno and Vegas
 
Comparison of TCP congestion control mechanisms Tahoe, Newreno and Vegas
Comparison of TCP congestion control mechanisms Tahoe, Newreno and VegasComparison of TCP congestion control mechanisms Tahoe, Newreno and Vegas
Comparison of TCP congestion control mechanisms Tahoe, Newreno and Vegas
 
Lecture 5
Lecture 5Lecture 5
Lecture 5
 
Congestion Control
Congestion ControlCongestion Control
Congestion Control
 

Último

CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun serviceCALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun serviceanilsa9823
 
FULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCR
FULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCRFULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCR
FULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCRnishacall1
 
BDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort ServiceDelhi Call girls
 
Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost Lover
Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost LoverPowerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost Lover
Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost LoverPsychicRuben LoveSpells
 
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,Pooja Nehwal
 
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual serviceCALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual serviceanilsa9823
 
9892124323 | Book Call Girls in Juhu and escort services 24x7
9892124323 | Book Call Girls in Juhu and escort services 24x79892124323 | Book Call Girls in Juhu and escort services 24x7
9892124323 | Book Call Girls in Juhu and escort services 24x7Pooja Nehwal
 

Último (7)

CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun serviceCALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
 
FULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCR
FULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCRFULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCR
FULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCR
 
BDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort Service
 
Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost Lover
Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost LoverPowerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost Lover
Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost Lover
 
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
 
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual serviceCALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
 
9892124323 | Book Call Girls in Juhu and escort services 24x7
9892124323 | Book Call Girls in Juhu and escort services 24x79892124323 | Book Call Girls in Juhu and escort services 24x7
9892124323 | Book Call Girls in Juhu and escort services 24x7
 

Mobile comn.pptx

  • 1. TCP FLAVOUR MAJ DAMANDEEP SINGH MAJ ARPIT GULERIA
  • 2. Topics • Retransmission mechanisms • Timeout • Fast retransmission • TCP congestion control • Slow start • Additive increase multiplicative decrease (AIMD) • Fast recovery • TCP flavors • TCP Tahoe • TCP Reno • TCP New Reno • TCP Vegas • TCP freeze • Conclusion
  • 3. Main Function of TCP(recap) • Connection –orientation mech • Ensure presence of receiver before Tx • Seq and ACK • Ensure proper order of segments • Flow control • To handle the slow receiver pbm • Retransmission control • Take care of lost or error packets • Congestion control • Take care of network bottlenecks
  • 4. Retransmission Mechanism (recap)  Lack of ack is an indication that the packet is lost and retransmission is required. Retransmission Mechanism • Time out based retransmission • Fast retransmission
  • 5. Timeout • Packet is retransmitted if ack is not received within Timeout • In TCP timeout is a function of RTT. • How RTT is calculated ? • Measure sample_RTT for each seg- ack pair • Compute weighted average of RTT(Est_RTT) Est_RTT = a Est_RTT + b sample_RTT a + b=1 • Set timeout= 2 X Est_RTT
  • 6. Fast Retransmission • If packet n is lost but packet n+1,n+2,n+3 ……… reached the destination, the receiver will keep on sending ack indicating that nth packet is awaited • nth packet is lost • All packets after nth packets were received • In Fast Retransmission, only the nth packet is retransmitted before timeout IN TCP SENDER RETRANSMIT DATA AFTER 3 DUP ACK
  • 7. TCP Congestion Control TCP requires to have some mech of congestion control TCP assumes that if there is an ACK loss then it is due to congestion TCP starts taking steps for congestion control TCP starts taking steps for congestion control
  • 8. Congestion control Mechanism • Slow Start • Additive increase and multiplicated decrease
  • 9. Slow Start Idea • Start with congestion window = 1 packet • Double congestion window each RTT • Till reaching ss_th or packet loss
  • 10. AIMD • TCP maintain a congestion window for each connection • Congestion window is used to limit how much data can be transmitted to prevent congestion Algo – • Inc cwnd by one packet per RTT (Linear Inc) • Divide cwnd by 2 whenever a timeout occurs (Multiplicative dec)
  • 11. Fast Recovery This tech possible to quickly recover lost data packets Idea • After receiving 3 duplicate ACKs in a row: . Set ss_thresh to one-half of the current congestion window. . Retransmit the missing segment. . set cwnd = ss_thresh + 3. . Each time another duplicate ACK arrives, set cwnd = cwnd + 1. . Once receive a new ACK, exit fast recovery. Set cwnd to ssthresh. Then, continue with linear increasing.
  • 13. Evolution Of TCP (congestion control) • TCP Tahoe • TCP Reno • TCP new Reno • TCP Vegas • Slow Start • Additive increase • Fast Retransmission • Fast Recovery
  • 15. TCP Tahoe Idea : Slow start + Additive Inc + Fast transmission Algo: Set cwnd to 1 for both timeout and 3 dup ack
  • 16. TCP Tahoe – State Diagram Congestion avoidance Fast Retransmission Start cwnd >= ss_th cwnd = cwnd +1/cwnd cwnd = 1 cwnd = cwnd +1 Slow Start ACK DATA Retransmission timeout All ack Dup ack >=3 Send missing packet ss_th= cwnd/2 cwnd =1 Congestion avoidance Slow Start
  • 17. TCP Tahoe Cwnd = 8 Sender Receiver 1. Cwnd = 8 2. Cwnd = 1 3. Cwnd = 1 4. Comments 31 32 33 34 35 36 37 38 Sender sent segment 31 - 38 30 30 30 30 31 Receiver replied seven duplicate ACKs of segment 30 Sender received three dupacks and cwnd is changed to 1 packet. The lost segment 31 is retransmitted 39 32 Receiver replied the ACK of packet 38 when it received the retransmitted packet 31. 32 07 Dupacks On 3 DuPacks Retx 31 ACK 38 cwnd =1 Send 39
  • 19. TCP RENO  Slow start + Additive Inc + Fast transmission + Fast Recovery Idea: In case of Dup Ack , 3 Dup Ack indicates the network capability of delivering seg so . Cwnd is cut to half ( instead of 1 as in Tahoe) and then it increase linearly
  • 20. Congestion avoidance Fast Retransmission Start cwnd = cwnd +1/cwnd cwnd = cwnd +1 Slow Start ACK DATA Dup ack >=3 Dup ack >=3 Fast Recovery cwnd >= ss_th Send missing packet ss_th= cwnd/2 cwnd =ss_th cwnd = cwnd +1 ACK DATA cwnd = ss_th Non dup ack> x cwnd = cwnd +1 cwnd = 1 All ack Retransmission timeout TCP Reno
  • 21. Cwnd = 8 Sender Receiver 1. Cwnd = 8 2. Cwnd = 11 3. Cwnd = 4 4. Comments 31 32 33 34 35 36 37 38 Sender sent segment 31 - 38 30 30 30 30 30 31 30 30 Receiver replied seven duplicate ACKs of segment 30 Sender received three dupacks and cwnd is changed to (8/2)+3 packets. The lost segment 31 is retransmitted 39 32 Receiver replied the ACK of 38 when it received the retransmitted packet 31. 32 Pkts 31 get lost 07 Dupacks On 3 DuPacks Retx 31 Send 3 new pkts Ack 38 for re tx Back to ai cwnd =4 Sender exist fast retx cwnd=4
  • 22. Comparison between TCP Reno and TCP Tahoe Optional statement
  • 23. Why TCP is Fair?
  • 24. TCP : NEW RENO
  • 25. Multiple Packet loss problem Cwnd = 8 Sender Receiver 1. Cwnd = 8 2. Cwnd = 7 3. Cwnd = 9 4. Comments 31 32 33 34 35 36 37 38 Sender sent segment 31 - 38 30 30 30 30 30 31 30 30 Receiver replied five duplicate ACKs of segment 30 Sender received three dupacks and cwnd is changed to (8/2)+3 packets. The lost segment 31 is retransmitted 39 32 Receiver replied the ACK of packet 32 when it received the retransmitted packet 31. This is Partial ACK 32 Pkts 31, 33 & 34 lost 05 Dupacks On 3 DuPacks Retx 31 Partial ACK
  • 26. Multiple Packet loss problem Sender Receiver 5. Cwnd = 4 Cwnd = 4 6. Comments Sender exits from Fast Recovery and entered the congestion avoidance state after receiving the Partial ACK. Cwnd is changed to 4 MSS Sender waited until timeout 32 Exit FastRecovery Cwnd = 4 Sender Timeout
  • 27. Limitation of Reno • Multiple Packet Loss • Partial ack will be received when first packet is retransmitted • Ack causes moving out of Fast Recovery state • Cwnd halved – wait for timeout • Affects Reno performance • Solution : TCP New Reno • Extend fast recovery Phase – Do not exit Fast recovery Phase after getting Partial acknowledgement • Alternate Solution • TCP SACK : Explicitly ACK lost segments • TCP Vegas : Using RTT to Signal Congestion
  • 28. TCP NewReno Cwnd = 8 Sender Receiver 1. Cwnd = 8 2. Cwnd = 7 3. Cwnd = 9 4. Comments 31 32 33 34 35 36 37 38 Sender sent segment 31 - 38 30 30 30 30 30 31 30 30 Receiver replied five duplicate ACKs of segment 30 Sender received three dupacks and cwnd is changed to (8/2)+3 packets. The lost segment 31 is retransmitted 39 32 Receiver replied the ACK of packet 32 when it received the retransmitted packet 31. This is Partial ACK 32 Pkts 31, 33 & 34 lost 05 Dupacks On 3 DuPacks Retx 31 Partial ACK
  • 29. TCP NewReno Cwnd = 8 Sender Receiver 5. Cwnd = 9 6. Cwnd = 9 7. Cwnd = 10 8. Comments 33 40 Sender receives the partial Ack of pkt 32 and immediately retransmitted the lost segment 33. Cwnd is changed to 9-2+1 33 33 41 33 Sender receivesed a DupAck and added Cwnd by 1, thus segment 41 is kicked out. Receiver replied a partial ACK and a duplicate ACK of pkt 33 The partial ACK triggered the sender Re-Tx pkt 34. Receiver replied an ACK of pkt 33 upon receiving segment 34 34 ReTX 33 Tx 40 32 32 34 33 Cwnd ++ Tx 41 Partial + Duplicate ACK 33 ReTx 34 42 43 33 Cwnd ++ Tx 42,43 Upon receiving the duplicate ACK of pkt 33, Cwnd was advanced by 1. Two new pkts were also sent. (since Awnd < Cwnd)
  • 30. TCP NewReno Cwnd = 11 Sender Receiver 9. Cwnd = 11 10. Cwnd = 4 11. Comments 34 42 43 On receiving the duplicate ACK of pkt 33, Cwnd was advanced by 1 and thus pkt 44 was Triggered out 43 42 41 44 Receiver replied ACKs of Pkt 30, 42, 43 & 44 Sender Exited Fast recovery upon receiving the ACK pkt 40. Cwnd = 4 44 43 44 42
  • 32. TCP : VEGAS • Totally different approach • Emphasizes pkt delay, rather than packet loss, as a signal to help determine the rate at which to send packets • Change in triggering Fast Retransmit • On receiving first dupAck check the following:- If((Current_time – Sending_time ) + MinRTT > Timeoutvalue) Trigger Fast-Retransmit without 3 dupAcks • Use of fine-grained RTT to improve congestion control • Anticipate Congestion based on minimum RTT
  • 33. TCP VEGAS – Anticipating Congestion Control • Base RTT = Minimum RTT • Expected sending rate & Actual sending rate • Expected = Cwnd/BaseRTT • Diff = Expected – Actual • If Diff < a, Cwnd ++ per RTT else if Diff > b, Cwnd -- (a and b are two thresholds that control utilization of bandwidth without overloading) • Implementation with Runo ??? Performance of Vegas degrades because Vegas reduces its sending rate before Reno, as it detects congestion early and hence gives greater bandwidth to co-existing TCP Reno flows
  • 35. SNOOP TCP • SNOOP Agent : TCP aware with limited powers • SNOOP can buffer TCP Segments • Upto certain numbers of lost ACKs are allowed SH/FH SNOOP MH Effective Not much effective Congestion Window will be controlled by mobile host in this case
  • 36. M-TCP • Delayed duplicate ACK • Drawback : Base station is central entity SH/FH BS MH MH ZWA FWA
  • 37. TCP : FREEZE • Involve MH as TCP receiver • During handoff, ZWA is sent by MH to FH • On reconnection FWA is sent by MH to FH How MH will get to know that Handoff is initiated ? When Antenna Signal strength is getting down and pkt loss increases consequtively. It implies that handoff has been initiated • On reconnection, FWA along with three Dupacks will be forwarded by MH to BS as well. From three Dupacks BS will send buffered data to MH SH/FH BS MH MH ZWA FWA

Notas do Editor

  1. 1