ece 8990 advanced computer network systemsmississippi state university comparison of tcp sack and...

18
ECE 8990 Advanced Computer Network Systems Mississippi State University Comparison of TCP SACK Comparison of TCP SACK and TCP Peach and TCP Peach Sriram Rajan Sriram Rajan Vijaykumar Rajaram Vijaykumar Rajaram

Upload: nancy-casey

Post on 14-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

ECE 8990 Advanced Computer Network Systems Mississippi State University

Comparison of TCP SACK Comparison of TCP SACK and TCP Peachand TCP Peach

Sriram RajanSriram Rajan

Vijaykumar RajaramVijaykumar Rajaram

ECE 8990 Advanced Computer Network Systems Comparison of TCP SACK & TCP Peach

OutlineOutline

Purpose of projectPurpose of projectWorking mechanism of TCP SACKWorking mechanism of TCP SACKWorking mechanism of TCP PeachWorking mechanism of TCP PeachImplementation issues of the protocols Implementation issues of the protocols using ML Designer simulation toolusing ML Designer simulation toolComparison of the protocolsComparison of the protocolsConclusionConclusionReferencesReferences

ECE 8990 Advanced Computer Network Systems Comparison of TCP SACK & TCP Peach

Purpose of projectPurpose of project

TCP SACK has better performance in long TCP SACK has better performance in long delay links [9]delay links [9]TCP Peach was introduced especially for TCP Peach was introduced especially for satellite links that contains long delay links satellite links that contains long delay links [5][5]The performance comparison of these The performance comparison of these protocols were not evaluatedprotocols were not evaluatedHence there is need for performance Hence there is need for performance evaluation of these protocolsevaluation of these protocols

ECE 8990 Advanced Computer Network Systems Comparison of TCP SACK & TCP Peach

Working of TCP SACKWorking of TCP SACK

Introduction of SACK option in the TCP Introduction of SACK option in the TCP headerheader

Receiver receives a SACK-Permitted Receiver receives a SACK-Permitted option on the SYN of the TCP headeroption on the SYN of the TCP header

Receiver generates and sends the SACK Receiver generates and sends the SACK optionoption

SACK option conveys extended SACK option conveys extended acknowledgement information to senderacknowledgement information to sender

ECE 8990 Advanced Computer Network Systems Comparison of TCP SACK & TCP Peach

Working of TCP SACKWorking of TCP SACK

SACK option in TCP headerSACK option in TCP header

HL

16 bit SRC Port 16 bit DST Port

32 bit sequence number

32 bit ACK number

16 bit window sizeresvd flags

16 bit urgent pointer16 bit TCP checksum

Options (40 bytes)

Data

ECE 8990 Advanced Computer Network Systems Comparison of TCP SACK & TCP Peach

Working of TCP SACKWorking of TCP SACKEach block definition is 8 Each block definition is 8 bytesbytes

Length is 1 byteLength is 1 byte

Kind (TCP option type Kind (TCP option type identifier) is 1 byteidentifier) is 1 byte

n blocks will have a n blocks will have a length of 8*n+2 byteslength of 8*n+2 bytes

With a 40 byte Options With a 40 byte Options header, only 4 blocks can header, only 4 blocks can really be definedreally be defined

Kind=5Kind=5 Length (n)Length (n)

Left edge of 1Left edge of 1stst block (32 bits) block (32 bits)

Right edge of 1Right edge of 1stst block (32 bits) block (32 bits)

……

Left edge of nth block (32 bits)Left edge of nth block (32 bits)

Right edge of nth block (32 bits)Right edge of nth block (32 bits)

ECE 8990 Advanced Computer Network Systems Comparison of TCP SACK & TCP Peach

Working of TCP PeachWorking of TCP Peach

Introduces sudden start and rapid Introduces sudden start and rapid recovery algorithmsrecovery algorithmsWith sudden start algorithm, the With sudden start algorithm, the congestion window reaches the maximum congestion window reaches the maximum window size rapidlywindow size rapidlyRapid recovery algorithm identifies the Rapid recovery algorithm identifies the cause for loss of packets and works cause for loss of packets and works accordinglyaccordinglyAdapts itself to TCP Reno receiversAdapts itself to TCP Reno receivers

ECE 8990 Advanced Computer Network Systems Comparison of TCP SACK & TCP Peach

Working of TCP PeachWorking of TCP Peach

ECE 8990 Advanced Computer Network Systems Comparison of TCP SACK & TCP Peach

Implementation issues of TCP SACKImplementation issues of TCP SACK

Used ML Designer (MLD)Used ML Designer (MLD)

Modified existing TCP Reno moduleModified existing TCP Reno module

Included variables “kind” and “length” in Included variables “kind” and “length” in the TCPPacket data structurethe TCPPacket data structure

The left and right vectors were included in The left and right vectors were included in the packet informationthe packet information

Separate modules for sender and receiver Separate modules for sender and receiver were developedwere developed

ECE 8990 Advanced Computer Network Systems Comparison of TCP SACK & TCP Peach

Implementation issues of TCP SACKImplementation issues of TCP SACK

A scoreboard was created at the sender A scoreboard was created at the sender end, in order to keep track of the end, in order to keep track of the information from the receiverinformation from the receiver

At receiver’s end, buffers were created in At receiver’s end, buffers were created in order to update the SACK block order to update the SACK block information based on the received information based on the received segmentssegments

ECE 8990 Advanced Computer Network Systems Comparison of TCP SACK & TCP Peach

Implementation issues of TCP PeachImplementation issues of TCP Peach

The TCP Reno module was modified in The TCP Reno module was modified in the MLDthe MLD

A dummy flag was added to the A dummy flag was added to the TCPPacket data structureTCPPacket data structure

For a dummy segment, the dummy flag For a dummy segment, the dummy flag was set to 1was set to 1

The sudden start and rapid recovery The sudden start and rapid recovery algorithms were addedalgorithms were added

ECE 8990 Advanced Computer Network Systems Comparison of TCP SACK & TCP Peach

Implementation issues of TCP PeachImplementation issues of TCP Peach

Separate modules for sender and receiver Separate modules for sender and receiver were createdwere created

At receiver end, the flag for dummy was At receiver end, the flag for dummy was set in the ACK, when a dummy segment set in the ACK, when a dummy segment arrivedarrived

The working of the TCP Peach congestion The working of the TCP Peach congestion control algorithm was implementedcontrol algorithm was implemented

ECE 8990 Advanced Computer Network Systems Comparison of TCP SACK & TCP Peach

Network ScenarioNetwork Scenario

Three TCP sendersThree TCP senders

Three TCP receiversThree TCP receivers

Variable delays as high as 1 secVariable delays as high as 1 sec

Used the random early drop (RED) schemeUsed the random early drop (RED) scheme

The senders were connected to server through a The senders were connected to server through a FIFO queueFIFO queue

The server transmits the packets to the The server transmits the packets to the corresponding receivers through a TCP routercorresponding receivers through a TCP router

ECE 8990 Advanced Computer Network Systems Comparison of TCP SACK & TCP Peach

ComparisonComparison

Throughput of TCP SACK

ECE 8990 Advanced Computer Network Systems Comparison of TCP SACK & TCP Peach

ComparisonComparison

Throughput of TCP Peach

ECE 8990 Advanced Computer Network Systems Comparison of TCP SACK & TCP Peach

ConclusionConclusion

TCP SACK and TCP Peach were TCP SACK and TCP Peach were implemented using ML Designerimplemented using ML Designer

Various implementation issues were Various implementation issues were observedobserved

The performance was analyzed by The performance was analyzed by comparing the throughputcomparing the throughput

TCP SACK performed better than TCP TCP SACK performed better than TCP PeachPeach

ECE 8990 Advanced Computer Network Systems Comparison of TCP SACK & TCP Peach

Future WorkFuture Work

Implement FACK/ SACK option in TCP Implement FACK/ SACK option in TCP PeachPeach

Use the same network scenario to Use the same network scenario to compare with TCP SACKcompare with TCP SACK

ECE 8990 Advanced Computer Network Systems Comparison of TCP SACK & TCP Peach

ReferencesReferences1.1. Gevros, P.; Crowcroft, J.; Kirstein, P.; Bhatti, S.; “Gevros, P.; Crowcroft, J.; Kirstein, P.; Bhatti, S.; “Congestion control mechanisms and the Congestion control mechanisms and the

best effort service model”, Network, IEEE , Volume: 15 , Issue: 3 , May-June 2001, Pages:16 best effort service model”, Network, IEEE , Volume: 15 , Issue: 3 , May-June 2001, Pages:16 – 26– 26

2.2. V. Jacobson, “Congestion Avoidance and Control,” V. Jacobson, “Congestion Avoidance and Control,” ACM Comp. Commun.Rev.ACM Comp. Commun.Rev., vol. 18, no. 4, , vol. 18, no. 4, Aug. 1988, pp. 314–29.Aug. 1988, pp. 314–29.

3.3. R. T. Braden, “Requirements for Internet Hosts — Communication Layers,”, RFC 1122, IETF, R. T. Braden, “Requirements for Internet Hosts — Communication Layers,”, RFC 1122, IETF, Oct. 1989.Oct. 1989.

4.4. A TanenbaumA Tanenbaum; ; ““Computer NetworksComputer Networks”, (4th ed), 2003, pp. 532-540.”, (4th ed), 2003, pp. 532-540.5.5. I.F.Akyildiz, G. Morabito and S. Palazzo; “TCP-Peach: a new congestion control scheme for I.F.Akyildiz, G. Morabito and S. Palazzo; “TCP-Peach: a new congestion control scheme for

satellite IP networks”, satellite IP networks”, IEEE/ACM Transactions on NetworkingIEEE/ACM Transactions on Networking, vol. 9 , June 2001, pp. 307 - , vol. 9 , June 2001, pp. 307 - 321321

6.6. K. Kevin and S. Floyd; “Simulation-based comparisons of Tahoe, Reno and SACK TCP”, K. Kevin and S. Floyd; “Simulation-based comparisons of Tahoe, Reno and SACK TCP”, ACM SIGCOMM Computer Communication ReviewACM SIGCOMM Computer Communication Review, vol. 26, pp. 5-21., vol. 26, pp. 5-21.

7.7. G. Schorcht, I. Troxel, K. Farhangian, P. Unger, D. Zinn , C.K. Mick, A. George, and H. G. Schorcht, I. Troxel, K. Farhangian, P. Unger, D. Zinn , C.K. Mick, A. George, and H. Salzwedel; “System-level simulation modeling with MLDesigner”, Salzwedel; “System-level simulation modeling with MLDesigner”, 11th IEEE/ACM 11th IEEE/ACM International Symposium on Modeling, Analysis and Simulation of Computer International Symposium on Modeling, Analysis and Simulation of Computer Telecommunications SystemsTelecommunications Systems, 2003. MASCOTS, October 2003, pp.207-212, 2003. MASCOTS, October 2003, pp.207-212

8.8. M. Mathis, J. Mahdavi, S. Floyd, and A. Romanow. M. Mathis, J. Mahdavi, S. Floyd, and A. Romanow. Tcp selective Tcp selective acknowledgement optionsacknowledgement options.Technical Report RFC 2018, IETF, 1996..Technical Report RFC 2018, IETF, 1996.

9.9. R. Bruyeron, B. Hemon, L.Zhang; “R. Bruyeron, B. Hemon, L.Zhang; “Experimentations with TCP selective acknowledgement”, Experimentations with TCP selective acknowledgement”, ACM SIGCOMM Computer Communication reveiewm Vol. 3, Issue 2, April 1998, pp. 54 – 77.ACM SIGCOMM Computer Communication reveiewm Vol. 3, Issue 2, April 1998, pp. 54 – 77.