host to host congestion control for tcp

43
HOST-TO-HOST CONGESTION CONTROL FOR TCP

Upload: surekha-muzumdar

Post on 27-Oct-2015

81 views

Category:

Documents


4 download

DESCRIPTION

This is an Project Presentation for Host-to-Host Congestion Control for TCP.

TRANSCRIPT

HOST-to-HOST CONGESTION CONTROL FOR TCP

HOST-to-HOST CONGESTION CONTROL FOR TCP

Project Guide: Ranjana MatturAssistant professor

By:Niteesh NadigerShruthi VenkateshSukruthi RSurekha Sharad Muzumdar

ABSTRACTThe Transmission Control Protocol (TCP) carries most Internet traffic, so performance of the Internet depends on how well TCP works.

The proposed solutions focus on a variety of problems, starting with the basic problem of eliminating the phenomenon of congestion collapse.LITERATURE SURVEYInternet is an interconnection of networks.

There are 2 types of loss that can occur in the network.Wireless loss: Wireless loss of packets is because the connection between computer is wireless.Congestive loss: Congestive loss is because of lot of packets in the network.

LITERATURE SURVEYPerformance of the Internet depends on how well TCP works.

What is congestion?Higher rate of inputs to a router than outputs

What are effects of congestion?DelaysLoss

LITERATURE SURVEYWhen too many packets are contending for the same linkThe queue overflowsPackets get droppedNetwork is congested!

Network should provide a congestion control mechanism to deal with such a situation.

SYSTEM ANALYSIS EXISTING SYTEMSystemDrawbackInitial version of TCPCongestion collapseTCP TahoeSlow start rate(bandwidth not utilized)TCP RenoRetransmission took lot of timeTCP New RenoDetects and retransmits only one packetSACK TCPCould not detect the type of lossACK TCPNo packet reorderingEXISTING SLIDING WINDOWGO-BACK-N: If one of the packet is lost, all the packets are resent. Congestion increases.

Selective Repeat: Only one packet which was lost was resent.

In all the above sliding window only flow control mechanism was present.

There was no slow start and congestion avoidance.PROPOSED SYSTEMIn the sliding window algorithm, both the hosts maintain a data structure called a window.

The receiver will initially give the maximum number of packets that it can receive.

The sender starts with a small sized window and gradually increases the size of the window.

The size of the window is increased when ACKs are received.

PROPOSED SLIDING WINDOW

Receiver will give the window size to sender.

Sender begins to send the packet (slow start).

If receiver gets the packet, send ACK.

If sender receive ACK, then it doubles the size of window and sends data again. Else sender retransmits the packet.

SYSTEM DEVELOPMENTHARDWARE REQUIREMENT:System: Pentium IV 2.4 GHz.Hard Disk: 40 GB.Monitor: 15 VGA Colour.Ram: 256 Mb.

SOFTWARE REQUIREMENT:Operating system : Windows XP Professional.Coding Language: Java.Tool Used: Eclipse.

SYSTEM DESIGNSYSTEM ARCHITECTURESENDERNODERouter NODE 1RouterNODE NRECIEVERNODE 1RECIEVERNODE NRECIEVERNODE 1RECIEVERNODE NACKORNACKSCONTROLTREE DATA CHANNELACKORNACKSACKORNACKSACKORNACKSCLASS DIAGRAMservermain()Main WindowString RouterInfo1String RouterInfo2String AckStatusInitializeComponents()EventHandlerForSend()EventHandlerForSelectFile()ThreadAckStatusrun()SERVER SIDEClient FEString filenameInitializeComponents()EventHandlerReceive()Clientint AckNumbers[ ]String buffer main()getIP()getMsg()SendAck()CLIENT SIDERouter FEString filenameString ReceiveInfoString pktFlowInfoString AckInfo

IntializeComponents()EventHandlerReceiver()ThreadRouterrun()SendData()ReceiveMsg()getIP()SendAck()ReceiveAck()ROUTERdata flow diagram SENDER NODERouter 2Router NRouter 1RECEIVER 1RECEIVER NRECEIVER 1RECEIVER 1RECEIVER NRECEIVER NSENDER NODE CONGESTION CONTROL

DATA TRANSMISSSIONRECEVIER NODE DATAPROCESSDFD LEVEL 2- REPAIR HEADDFD LEVEL 3-CONTROL TREE

PACKETSEQUENCE NUMBERSDATA QUEUEPACKET TYPESCONTROL TRAFFIC MANAGEMENTCONFIRM DELIVERYUML SEQUENCE DIAGRAMserverrouterclientconnectconnectdatadataackackCwnd size gets doubleddataData lossTime outCwnd size decreasesdatadataackackIMPLEMENTATIONTCP SEGMENTTCP Segment is a class which acts like TCP Packet.

It has following information:Sequence no. of packetLength of the packetAcknowledgement Information about error in the packet.MODULE 1: SERVER Class TCPSender{int lastByteSent=-1;int lastByteAcked=-1;int congWindow= [value];int send_mode= SLOW_START;int timer=3;int ssThresh=65535;processAcks(TCPSegement[ ] acks){}processAckCongestionAvoidance(){}onExpired TimeOutTimer(){}.}

Description It is a class which is used for sending information.

It consists of information about the last byte sent.

In this module we are setting slow start rate.

MODULE 2- CLIENTCode snippet:Class TCPReceiver{TCPSegment buffer[memory]lastByteReceivednextByteReceivedreceiverWindowlastBufferedIndexgetRcvWindow(){.}receive(){.}outOfSequence(){}}

//variables used in this classDESCRIPTION It is a class which is used for receiving the information.It consists of following-Array of TCPSegment which acts as a buffer to store the data.Information about the last byte received. Next byte needed.Receiver window size.MODULE 3- ROUTERClass Router1 {getMessage(String msg[]){.}giveMessage() {}callMe() {}.}

Class sendData extends Thread { //send the data that is received }

Class processAck extends thread { //get ack and update display //give this ack to sender }DESCRIPTION It is a class which is used for sending as well as receiving the information.

It contains 2 classes:sendData: To send the data that is received.ProcessAck: to get ack from client and give ack to server.EXECUTION OF THE PROJECTSCREEN SHOTSSCREEN SHOT FOR SERVER

SCREEN SHOT FOR CLIENT

SCREEN SHOT FOR ROUTER1

SCREEN SHOT FOR ROUTER2

SCREEN SHOTS Contd.

SCREEN SHOTS Contd.

SCREEN SHOTS Contd.

CONCLUSION Design of the system based on controlling the packet loss due to the traffic and congestion.

Sliding window algorithm is used for congestion control.

Improved performance.

Enforces flow control and congestion control between sender and receiver.

FUTURE ENHANCEMENTThe proposed system has been implemented for text files only.

It can be enhanced for other types of files- images, audios and videos.REFERENCESAlexander Afanasyev, Neil Tilley, Peter Reiher, and Leonard Kleinrock, Host-to-Host Congestion Control for TCP, 2010 IEEE paper.

http://lasr.cs.ucla.edu/afanasyev/data/files/Afanasyev/Host-to-host%20congestion%20control%20for%20TCP.pdf

K.-C. Leung, V. Li, and D. Yang, An overview of packet reordering in transmission control protocol (TCP): problems, solutions, and challenges, IEEE Trans. Parallel Distrib. Syst., vol. 18, no. 4, pp. 522535, April 2007.REFERENCES contd.K.-C. Leung, V. Li, and D. Yang, An overview of packet reordering in transmission control protocol (TCP): problems, solutions, and challenges, IEEE Trans. Parallel Distrib. Syst., vol. 18, no. 4, pp. 522535, April 2007.

J. Postel, RFC793transmission control protocol, RFC, 1981.

THANK YOU