You are on page 1of 21

A project on

Faster
transmission of
TCP packets
Project Members...

• Kishan Majhi BE/10552/2016


• Ravi Shankar Bhagat BE/10355/2016
• Mayank Oraon BE/10120/2016
• Mentor – Asst. Prof. Sabina Priyadarshini
Abstract.

• The standard TCP format entails large overhead of


sequence number and acknowledgement
whenever this connection oriented protocol is
used. This project proposes a method to solve
this big overhead issue and also suggests a method
for congestion control for better performance.
INTRODUCTION
• Transmission Control Protocol (TCP) is a protocol in
transport layer . Transport layer transports
application layer messages between the client and
server sides of an application
Work to be done...

• The real time comparison between standard TCP and proposed TCP is yet to
be performed using socket programming.
Paper Title Author Publishing Year Summary
Towards a Deeper Dominik Scholz , BBR has a general problem
Understanding of TCP Benedikt Jaeger , of overestimating the BDP.
The second problem is the
BBR Congestion Control Lukas Schwaighofer,
2018 time until a bandwidth
Daniel Raumer , equilibrium is regained. This
Fabien Geyer , can last up to 30s, which is
Georg Carle. bad for shortlived flows,
common in today’s Internet.
This paper identifies that this
is correlated with the trigger
for synchronization, i.e. the
Probe RTT phase, draining
the queues. Consequently,
without reducing the time
between Probe RTT phases,
the worst case time until
flows synchronize cannot be
improved further. Their
framework as well as the raw
data for all figures presented
is available online for
replicability of their results
and to allow further
investigations by the
research community.
Paper Title Author Publishing Year Summary
NTCP: Network Zhuo Jiang ; Qian In this paper, they are
assisted TCP for long Wu ; Hewu Li. 2016. taking an exploration of
delay satellite increasing TCP initial
network cwnd and studying its
benefits in satellite
environment. To
embrace the benefits of
larger initial cwnd as well
as avoiding bringing too
much burden on a
already congested
network, they have
proposed a SDN
enhanced TCP initial
cwnd increase method.
The benefits and efficacy
are also verified in the
evaluation part.
Paper Title Author Publishing Year Summary
TCP CUBIC: A In this paper, the performance
Mudassar Ahmad ; of TCP CUBIC is evaluated by
Transport Protocol Awais Ahmad ; 2018. tuning its congestion control
for Improving the Sohail Jabbar ;
parameters. Extensive
simulation results proved that if
Performance of TCP the default values of its
Muhammad Asif ;
in Long Distance High congestion control parameters
Bandwidth Cyber- Muhammad Asif are changed, a very high
improvement in TCP CUBIC*
Physical Systems Habib ; Syed fairness and TCP friendliness is
Hassan Ahmed, observed. After tuning the
parameters values and results
analysis, TCP CUBIC β and α
definitions are changed from
0.2 to 0.3 and 0.3 to 0.5
respectively. Finally, a new
variant of TCP CUBIC with new
definitions of congestion
control parameters is proposed.
Simulation results proved that
TCP CUBIC* has better
performance regarding
goodput, protocol fairness, TCP
friendliness, stability and
convergence time as compared
to TCP CUBIC in any network
condition or network scenario.
Paper Title Author Publishing Year Summary
Using Data Center The proposed way to deploy
Miraj DCTCP in the Internet requires
TCP (DCTCP) in the Kuhlewind,David P. 2014. instantaneous and more accurate
ECN feedback. Today ECN is
Internet Wargner, Juna defined as a “drop equivalent”
and therefore provides only small
Manuel Reyes performance gains and
Espinosa, Bob consequently has not seen wide
deployment. With a change in
Briscoe . semantics, ECN could be used as
an enabler for new low latency
services also implementing a
different response to congestion,
similar to DCTCP.

Apart from a more accurate ECN


signal, where a proposal by the
authors has already been
adopted onto the IETF's agenda,
we also see a need to standardize
a change to the semantics of ECN
to provide immediate congestion
information without any further
delays in the network. This work
provides further input on the
needs for a future, immediate,
and therefore more beneficial
ECN-based congestion control
loop and proposes an approach
for how congestion control could
react to such signal.
Paper Title Author Publishing Year Summary

Comparison of TCP In this paper, they evaluated


Digvyaysinha the performance characteristics
congestion control Kumpavat, Paras S. 2013. of various TCP congestion
mechanisms Tahoe, Gosai, Vyomal N.
control schemes under the
wired network conditions with
Newreno and Vegas bottleneck end-to-end link
Pandya. capacities, and both type of
traffic TCP and UDP. They did
conclude based on throughput
calculation that TCP vegas
gives highest performance as it
can change its congestion
window based on network
traffic situation. However in
wireless network the whole
scenario may differ. This is
because any packet loss over
the wireline links is mainly on
account of congestion unlike
wireless links where packet
losses can result both due to
congestion and random losses.
Since, TCP does not distinguish
between congestion losses and
random losses, the throughput
of a TCP connection over a
wireless link may suffers.
TCP congestion control
TCP congestion control is done in three ways :
a>There is an Explicit Forward Congestion Indication (EFCI) bit present in each
data cell. Router sets it to 1 to signal congestion to destination. There is a Resource
Management (RM) cell that is sent by sender after every 32 data cells. It contains
the EFCI bit. The destination sees the EFCI bit and sets Congestion Indication bit
(EFCI) of RM cell to 1 and sends it to sender. Thus, sender is notified of congestion.
b> Resource Management cells also contain a No Increase (NI) and Congestion
Indication (CI) bit. Switches set CI to 1 to indicate severe congestion and NI bit to 1
to indicate mild congestion.
c> Resource Management cells also contain an Explicit Rate (ER) field which is a
two byte field. Congested switches can set a lower value for ER field in a passing
RM cell.
Proposed Method

• According to the proposed TCP, for every 32 packets, an acknowledgment-


sequence is sent. Before sending any packet, a 32 bit acknowledgment-
sequence packet is sent. This field contains 32 bits. Each bit corresponds to
one bit carried by the following 32 TCP segments. Each TCP packet sent
thereafter has one bit acknowledgment field. For example, if the 32 bit
acknowledgment sequence received before sending packets, is
01010101010101010101010101010101, then, the first TCP packet sent
thereafter, has its acknowledgment bit set to 0, second packet
has acknowledgment bit set to 1 , third packet has acknowledgment bit set
to 0, fourth packet has acknowledgment bit set to 1 and so on till 32
packets.
• The acknowledgment sequence can be either
01010101010101010101010101010101 or
10101010101010101010101010101010. The receiver extracts the
acknowledgment bit from all the 32 packets when they are received, and
checks that the odd numbered packets have come with an ack bit set to 0 or
1 according to its acknowledgment sequence sent before. In this way, the
overhead of 32 bit acknowledgment number in each packet is reduced to 1
bit in each packet. Both the sender and receiver send their 32 bit
acknowledgment sequence prior to sending 32 packets, thereafter.
• The sequence number in the first packet is 32 bit in length. But the
subsequent 32 packets are sent with only the last 16 bits of the sequence
number incremented by 1 for each subsequent packet. There is an “attached
bit” (1 bit in length) in each of the 32 packets set to 1 signalling that the
packets are attached to the first packet and they have a sequence number
which consists of the first 16 bits of sequence number of the first packet and
last 16 bits of the sequence number explicitly specified in the 16 bits
sequence number field. After 32 packets, again, a 32 bit sequence number
packet is sent and so on. So, all the attached packets have a 1 bit
acknowledgment field, 1 bit attached field and 16 bits sequence number
field. The total overhead is 18 bits per packet instead of 64 bits per packet.
The transmission is therefore, faster.
The first 32 segments sent by sender and receiver looks in the
figure as follows:

Source port number Destination Port number

Sequence Number
(32 bits)
Header length Unused URG PSH RST SYN FIN Receive
window
Internet checksum Urgent data pointer

Options

Data
The next 32 sender and receiver side segments sent have a structure as
given in the figure as follows:
TCP segment structure for rest 32 packets

Source port number Destination Port number

Acknowledgment bit(1 bit) Attached bit(1 bit) Sequence number(16 bit)

Header Unused URG PSH RST SYN FIN Receive


length window
Internet checksum Urgent data pointer

Options

Data
• For TCP congestion control, a Congestion Indication bit is sent from sender
to each router on the way to destination. Each router sets the Congestion
indication bit to 1 if there is congestion and 0 otherwise and sends it back to
sender. If a Congestion Indication bit is 1, the number of packets being sent
is reduced by 1/4th of the total number of packets sent by the sender. If N is
the total number of packets and M is the new number of packets, then

M=N-(1/4*N)=N-N/4
• If congestion indication bit is set to 0, then, there is no curtailment in the
number of packets being sent. For example, if there are 3 routers in the way
from sender to receiver, and one router sends a 0 congestion indication bit
and two routers send a 1 in congestion indication bit, then, the number of
packets sent is reduced by 1/4th plus 1/4th of the total number of packets. If N
is the total number of packets and M be the new number of packets, then

S=N-(1/4*N)=N-N/4
M=S-(1/4*S)=S-S/4
Where S is the intermediate total number of packets. In this way, congestion
can be reduced. This value has been obtained empirically.
Advantage
The advantage of this proposed TCP is that the transmission
would be faster as the overhead of each packet would be less.
So, there is an advantage of both connection oriented protocol
and less overhead per packet.
Conclusion
Faster communication is a need these days. A new TCP has been proposed
in this project which aims at reducing the length of the packets being sent. The
number of bits in sequence number field and acknowledgment field together
is reduced from 64 bits to 18 bits. This improves the speed of transmission and
therefore, the communication can be done faster. Also, congestion can be
reduced by curtailing 1/4th of the total number of packets being sent for every
router that says that there is congestion.

Future Scope
The Project can be extended with consideration for out of order delivery. Also,
security features using encryption can be added.

You might also like