Sie sind auf Seite 1von 43

HOST-TO-HOST CONGESTION CONTROL FOR TCP

PROJECT GUIDE: RANJANA MATTUR


ASSISTANT PROFESSOR

BY: NITEESH NADIGER SHRUTHI VENKATESH SUKRUTHI R SUREKHA SHARAD MUZUMDAR

ABSTRACT
The

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 SURVEY
Internet

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 SURVEY
Performance

of the Internet depends on how well TCP works. is congestion? Higher rate of inputs to a router than outputs are effects of congestion? Delays Loss

What

What

LITERATURE SURVEY
When

too many packets are contending for the same link The queue overflows Packets get dropped Network is congested! should provide a congestion control mechanism to deal with such a situation.

Network

SYSTEM ANALYSIS

EXISTING SYTEM
System Drawback

Initial version of TCP TCP Tahoe

Congestion collapse Slow start rate(bandwidth not utilized) Retransmission took lot of time Detects and retransmits only one packet Could not detect the type of loss No packet reordering

TCP Reno
TCP New Reno SACK TCP ACK TCP

EXISTING SLIDING WINDOW


GO-BACK-N:

If one of the packet is lost, all the packets are resent. Congestion increases. Repeat: Only one packet which was lost was resent. all the above sliding window only flow control mechanism was present. was no slow start and congestion avoidance.

Selective

In

There

PROPOSED SYSTEM
In

the sliding window algorithm, both the hosts maintain a data structure called a window. receiver will initially give the maximum number of packets that it can receive. sender starts with a small sized window and gradually increases the size of the window. size of the window is increased when ACKs are received.

The

The

The

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 DEVELOPMENT
HARDWARE

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 DESIGN

SYSTEM ARCHITECTURE
RECIEVER NODE 1
ACK OR NACKS

Router NODE 1

ACK OR NACKS

RECIEVER NODE N
CONTROL TREE

SENDER NODE

RECIEVER NODE 1
ACK OR NACKS

Router NODE N

ACK OR NACKS

RECIEVER NODE N

DATA CHANNEL

CLASS DIAGRAM
SERVER SIDE server Main Window Thread

main()

String RouterInfo1 String RouterInfo2 String AckStatus

AckStatus

InitializeComponents() EventHandlerForSend() EventHandlerForSelectFile() run()

CLIENT SIDE

Client FE String filename

Client int AckNumbers[ ] String buffer

InitializeComponents() EventHandlerReceive()

main() getIP() getMsg() SendAck()

ROUTER Thread Router FE Router String filename String ReceiveInfo String pktFlowInfo String AckInfo run() SendData() ReceiveMsg() getIP() SendAck() ReceiveAck()

IntializeComponents() EventHandlerReceiver()

DATA FLOW DIAGRAM


SENDER NODE

Router 1

Router 2

Router N

RECEIVER 1 RECEIVER N

RECEIVER 1

RECEIVER N

RECEIVER 1

RECEIVER N

DFD LEVEL 2- REPAIR HEAD


SENDER NODE

DATA PROCESS

CONGESTION CONTROL

DATA TRANSMISSSION

RECEVIER NODE

DFD LEVEL 3-CONTROL TREE


PACKET SEQUENCE NUMBERS

DATA QUEUE

PACKET TYPES

CONTROL TRAFFIC MANAGEMENT

CONFIRM DELIVERY

UML SEQUENCE DIAGRAM


server connect router client

connect
data data
Cwnd size gets doubled

ack data Data loss

ack

Time out Cwnd size decreases

data

data ack

ack

IMPLEMENTATION

TCP SEGMENT

TCP Segment is a class which acts like TCP Packet. It has following information:
Sequence no. of packet Length of the packet Acknowledgement 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- CLIENT

Code snippet:
Class TCPReceiver { TCPSegment buffer[memory] lastByteReceived nextByteReceived receiverWindow lastBufferedIndex getRcvWindow(){.} receive(){.} outOfSequence(){} }

//variables used

in this class

DESCRIPTION
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- ROUTER

Class 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 PROJECT

SCREEN SHOTS

SCREEN 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 ENHANCEMENT
The

proposed system has been implemented for text files only. can be enhanced for other types of filesimages, audios and videos.

It

REFERENCES

Alexander 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/Afanasye v/Host-tohost%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

Das könnte Ihnen auch gefallen