TCP TCP Congestion Control & Quality of Service Presenting
By:- Aditya Kumar Dakua Mitali Samal Rahul Kumar Nayak Sribishnu
Das Omm Prasad Routray
Slide 2
Contents TCP/IP Model Protocols using in TCP/IP model. Layers
description Difference between TCP/IP & OSI. TCP(Transmission
Control Protocol) TCP Segment format Congestion Control Open-Loop
Closed-Loop Causes of congestion General Policies of congestion
control QOS(Quality Of Service) Techniques for achieving good
quality of service.
Slide 3
TCP/IP MODEL
Slide 4
TCP/IP The TCP/IP protocol suite was developed prior to the OSI
model. The original TCP/IP protocol suite was defined as having
four layers: host to network, internet, transport and application.
But as compared to OSI model TCP/IP has five layers.
Slide 5
APPLICATION PRESENTATION SESSION TRANSPORT NETWORK DATA LINK
PHYSICAL Application layer SMTPFTPHTTPDNSSNMPTELNET SCTPTCPUDP IP
IGMP RARPARP Host-to-network ICMP
Slide 6
PROTOCOLS USING IN TCP/IP MODEL SMTP- Simple Mail Transfer
Protocol FTP- File Transfer Protocol HTTP- Hyper Text Transfer
Protocol DNS- Domain Name Service/System SNMP- Simple Network
Management Protocol TELNET- Terminal Network SCTP- Stream Control
Transmission Protocol TCP- Transmission Control Protocol UDP- User
Datagram Protocol ICMP- Internet Control Message Protocol IGMP-
Internet Group Message Protocol RARP- Reverse Address Resolution
Protocol ARP- Address Resolution Protocol IP- Internet
Protocol
Slide 7
LAYERS DESCRIPTION PHYSICAL AND DATA LINK LAYER TCP/IP does not
define any specific protocol. A network in TCP/IP internetwork can
be local-area network or a wide-area network. NETWORK LAYER TCP/IP
supports the internetworking protocol. IP in turn uses four
supporting protocols: ARP,RARP,ICMP and IGMP.
Slide 8
TRANSPORT LAYER It is represented in TCP/IP by two protocols.
IP is host to host protocol. UDP and TCP are transport level
protocols. APPLICATION LAYER It is equivalent to combined session,
presentation and application layer in the OSI model.
Slide 9
DIFFERENCE BETWEEN OSI & TCP/IP
Slide 10
TCP/IP o Basically It has 4 Layers. Such as Application,
Transport, Internet, Network access Layer. o Application layer of
TCP/IP model is combination of 3 layers, i.e Application,
Presentation, Session Layer o The data link & physical layer
are combinely to form Network access layer. o When TCP/IP compared
with the OSI model then it acts as 5 layer. i.e Application,
Transport, Internet, Data link & Physical Layer. OSI o It has 7
Layers Such as Application, Presentation, Session, Transport,
Network, Data link, Physical Layer. o In this model each layer
perform a specific task by the respective layer within their
bounded area.
Slide 11
TCP (Transmission control protocol) TCP is a transport layer
protocol which provides connection-oriented service. It is a
process-to-process or program-to-program protocol. It creates a
virtual connection between two TCPs to send data. This protocol
provides error recovery, flow control & reliability which are
not available in UDP. TCP is the protocol used by major Internet
applications such as the world wide web, email, remote
administration & file transfer.
Slide 12
Cont It is a sliding window protocol that provides handling for
both timeouts and retransmissions. TCP establishes a full duplex
virtual connection between two endpoints. Each endpoint is defined
by an IP address and a TCP port number. The operation of TCP is
implemented as a finite state machine. It does not support
multicasting & broadcasting. TCP maintains a checksum on its
header & data. A TCP connection is a byte stream not a message
stream. A Stream of 8-bit bytes is exchanged across the TCP
connection between the two applications.
Slide 13
Header Data Destination port address 16 bits Source port
address 16 bits Sequence number 32 bits Acknowledgement number 32
bits Hlen 4 bits Reser ved 6 bits URGURG ACK ACK PSHPSH RSTRST
SYNSYN FINFIN Window size 16 bits Check sum 16 bits Urgent pointer
16 bits Options & Padding HEADER FORMAT OF TCP (TCP SEGMENT
FORMAT)
Slide 14
Source port address This is a 16-bit field that defines the
port number of the application program in the host that is sending
the segment. Destination port address This is a 16-bit field that
defines the port number of the application program in the host that
is receiving the segment. Sequence number This 32-bit field defines
the number assigned to the first byte of the segment which
indicates the sequence number of that sequence.
Slide 15
Acknowledgement Number 32-bit field. It defines the byte number
that the receiver of the segment is expecting to receive from the
sender. HLEN(Header length) This 4-bit field indicates the number
of 4 byte words in the TCP header. Reserved This is a 6-bit field
reserved for future use.
Slide 16
Controlled field This field defines six different control bits
or flags. URG ACK PSH RST SYN FIN URG(Urgent) Urgent pointer valid
flag. If it is set to 1 the urgent pointer field valid.
ACK(Acknowledgement) Acknowledgment number valid flag. If the ACK
flag is set to 1 the acknowledgement number field is valid.
Slide 17
PSH(Push) Push flag If the field is one then it will push the
data segment for maximum range. RST(Reset) Reset connection flag.
If this flag value is 1 then the connection is reset or
reestablished. SYN(Synchronized) Synchronize sequence numbers flag.
It is used for synchronized sequence number during connection. FIN
Terminate the connection. End of data flag. For termination of the
connection this field is selected to 1.
Slide 18
Congestion Control It refers to the technology & mechanism
that can either used to prevent congestion before it happens or
removes congestion after it happens. This can be broadly defined
into two category. ->Open Loop ->Closed Loop
Slide 19
Congestion Control Closed Loop (After Congestion) Open Loop
(Before Congestion) Retransmission Window Policy Acknowledgement
Discarding Policy Admission Policy Back pressure Choke Packet
Implicit Signaling Backward Forward Explicit Signaling
Slide 20
Open-Loop In open-loop congestion control policies are applied
to prevent congestion before it happens.in this mechanism
congestion control is handled either the source or the destination.
Retransmission Policy It is sometimes unavoidable. If the sender
feels that a send packet is lost or corrupted the packet needs to
be retransmitted. Window Policy According to this policy the type
of window at the sender may also affect congestion. The selective
repeat window is better than the Go-Back-N window for congestion
control.
Slide 21
Acknowledgement Policy This policy imposed by the receiver may
also affect congestion.if the receiver does not acknowledge every
packet it receives, it may slow down the sender & prevent
congestion. Discarding policy A good discarding policy by the
routers may prevent congestion & at the same time may not harm
the integrity of the transmission. Admission Policy An admission
policy,which is a quality of service mechanism can also prevent
congestion in virtual circuit networks switches in a flow first
check the resource requirement of flow before admitting to the
network.
Slide 22
Closed loop This congestion control mechanisms try to alleviate
congestion after it happens. several mechanisms have been used by
different protocols. Back Pressure It refers to a congestion
control mechanisms in which a congested node stops receiving data
from the immediate upstream node or nodes. this may causes the
upstream node or nodes to become congested. In turn reject data
from their upstream node or nodes. this technique can be applied
only to virtual circuit networks in which each node knows the
upstream node from which a flow of data is coming.
Slide 23
Backpressure method for alleviating congestion Choke Packet It
is a packet sent by a node to the source to inform it of
congestion. In this method the warning is from the router, which
has encountered congestion, to the source station directly. The
intermediate nodes through which the packet has traveled are not
warned.
Slide 24
Choke Packet Implicit signaling There is no communication
between the congested node or nodes & the source. The source
guesses that there is congestion some where in the network from
other symptoms.
Slide 25
Backward Signaling In this signaling a bit can be set in a
packet moving in the direction opposite to the congestion. Forward
Signaling In this a bit can be set in a packet moving in the
direction of the congestion. Explicit Signaling In explicit
signaling method the signal is included in the packets that carry
data. It can occur in either the forward or the backward
direction.
Slide 26
Causes of Congestion If the rate at which packets arrive and
queue of exceeds the rate at which packets can be transmitted the
queue size grows, the delay experienced by a packet goes to
infinite The other causes of congestion is slow processor speed. if
the routers CPU speed is slow and performing task like queuing
buffers table updating.queues are built up even through the line
capacity is not fully utilised. The bandwidth of the links is also
important in congestion. The links to be used must be of high
bandwidth to avoid the congestion. Any mismatch between parts of
the system also causes congestion, up grading the processors speed
but not changing the links or vice-versa will causes the
congestion.
Slide 27
General Policies of Congestion Control General policies of
congestion control can be divided into two groups ->Open Loop
->Closed Loop Open Loop Open loop solution attempt to solve the
problem by good design in essence to make sure it dose not occur in
the first place.once the system is up and running, midcourse
corrections are not made. Tools for doing open loop control include
deciding when to accept new traffic, deciding when to discard
packets and which ones,and making scheduling decisions at various
points in the network.
Slide 28
Closed Loop Closed loop solutions are based on the concept of a
feedback loop this approach has three parts when applied to
congestion control. Monitor the system to detect when and where
congestion occurs. Pass this information to place where action can
be taken. Adjust system operation to correct the problem. Metrics
to monitor the subnet for congestion are the average queue lengths,
percentage of all packets discarded for lack of buffer space,
average packed delay, the number of packets that time out are
retransmitted etc.
Slide 29
Quality Of Service(QOS) QOS is an internetworking issue that
has been discussed more than defined. we can roughly defined QOS as
something that a flow seeks to attain. It requires a stream of
packet from a source to a destination which is known as flow &
application with their quality of service requirement. Techniques
for achieving good quality of service There are 4 methods for
improving the QOS Scheduling. Traffic shaping. Admission Control.
Resources Reservation.
Slide 30
Scheduling The intermediate device like router switches
processes the packets which are coming from different source host.
so to process the packets to their corresponding receiver router
should follow a good scheduling mechanism. It is divided into 3
categories:- FIFO Queue Priority Queue Weighted Queue
Slide 31
FIFO queue In FIFO(First-in first-out) queuing packets wait in
a buffer until the node is ready to process them. if the average
arrival rate is higher than the average processing rate. the queue
will fill up & new packets will be discarded.
Slide 32
Priority queuing In priority queuing, packets are first
assigned to a priority class each priority class has its own queue.
The packets in the highest priority queue are processed last. The
system dose not stop serving a queue until it is empty. A priority
queue can provide better QOS than FIFO queue.
Slide 33
Weighted fair queuing A better scheduling method is weighted
pair queuing. In this technique the turning switch selects three
packets from first queue then two packets from second queue
&one packet from the third queue this cycle repeats until all
the queues are empty.
Slide 34
Traffic Shaping It is a mechanism to control the amount &
the rate of the traffic sent to the network. There are two
techniques exists to shape traffic. Leaky Bucket Token Bucket
Slide 35
Leaky bucket
Slide 36
Leaky bucket implementation A leaky bucket algorithm shapes
brusty traffic into fixed-rate traffic by averaging the data rate.
It may drop the packets if the bucket is full.
Slide 37
Token bucket Token bucket is same as leaky bucket algorithm but
it allows the flow of brusty traffic at a regulated maximum
rate.
Slide 38
Admission Control Admission control refers to the mechanism
used by a router, or a switch to accept or reject a flow based on
predefined parameters called flow specifications. Resource
Reservation A flow of data needs resources such as buffer,
bandwidth,CPU time & so on. The QOS is improved if these
resources are reserved before hand.