0% found this document useful (0 votes)
30 views20 pages

TCP Project Report for Computer Networks

The micro-project focuses on the Transmission Control Protocol (TCP), aiming to design, implement, and analyze its functionality and performance. It explores TCP's core principles, reliability, efficiency, and compares its performance with alternative transport protocols, enhancing students' understanding of computer networking. The project includes a detailed examination of TCP's operation, advantages, disadvantages, and characteristics, along with a proposed solution to improve TCP performance in data center networks.

Uploaded by

Ronit Patil
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views20 pages

TCP Project Report for Computer Networks

The micro-project focuses on the Transmission Control Protocol (TCP), aiming to design, implement, and analyze its functionality and performance. It explores TCP's core principles, reliability, efficiency, and compares its performance with alternative transport protocols, enhancing students' understanding of computer networking. The project includes a detailed examination of TCP's operation, advantages, disadvantages, and characteristics, along with a proposed solution to improve TCP performance in data center networks.

Uploaded by

Ronit Patil
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Data Communication and

Computer Networks
(22414)

MICRO-PROJECT
Academic year 2023-24

1
YADAVRAO TASGAONKAR POLYTECHNICS
MICRO-PROJECT REPORT
Academics year 2023-24

TITLE OF PROJECT
TCP(Transmission Control Protocol)

DEPARTMENT: Computer Engineering (IV Semester)


SUBJECT: Data Communication and Computer Networks
SUBJECT CODE: (22414)

SUBMITTED BY:
1. Ronit patil
2. Keval Chopade
3. Ruhsikesh Kulkarni

SUBMTTED TO:
Yadavrao Tasgaonkar Polytechnic Bhivpuri For academic
year 2023-24

UNDER THE GUIDENCE OF: Mrs. Sheetal Sardar


(Lecture Incharge)

2
Maharashtra State
Board of Technical Education

CERTIFICATE

This is to certify that Mr. Ronit Jitendra Patil Roll No. 01 of Fourth
Semester of Diploma in Computer Engineering of Institute
Yadavrao Tasgaonkar Polytechnic Bhivpuri Road (code 0960) has
completed the micro-project satisfactorily in subject Data
Communication and Computer Networks (22414) for the academic
year 2023-2024 as prescribed in the curriculum.

Place: Bhivpuri Enroll No. : 2209600001


Date: ________ Exam Seat No. : 141102

Subject Teacher HOD Principal


(Mrs. Sheetal Sardar) (Mrs. Sheetal Sardar) (Mr. Rameshwar khanpate)

_____________ _____________ _____________

Seal of
Institute

3
Maharashtra State
Board of Technical Education

CERTIFICATE

This is to certify that Mr. Keval Chopade Roll No. 04 of Fourth


Semester of Diploma in Computer Engineering of Institute
Yadavrao Tasgaonkar Polytechnic Bhivpuri Road (code 0960) has
completed the micro-project satisfactorily in subject Data
Communication and Computer Networks (22414) for the academic
year 2023-2024 as prescribed in the curriculum.

Place: Bhivpuri Enroll No. : 2209600012


Date: ________ Exam Seat No. : 141107

Subject Teacher HOD Principal


(Mrs. Sheetal Sardar) (Mrs. Sheetal Sardar) (Mr. Rameshwar khanpate)

_____________ _____________ _____________

Seal of
Institute

4
Maharashtra State
Board of Technical Education

CERTIFICATE

This is to certify that Mr. Rushikesh Prashant Kulkarni Roll No. 17


of Fourth Semester of Diploma in Computer Engineering of
Institute Yadavrao Tasgaonkar Polytechnic Bhivpuri Road (code
0960) has completed the micro-project satisfactorily in subject Data
Communication and Computer Networks (22414) for the academic
year 2023-2024 as prescribed in the curriculum.

Place: Bhivpuri Enroll No. : 2209600030


Date: ________ Exam Seat No. : 141120

Subject Teacher HOD Principal


(Mrs. Sheetal Sardar) (Mrs. Sheetal Sardar) (Mr. Rameshwar khanpate)

_____________ _____________ _____________

Seal of
Institute

5
GROUP MEMBERS

Sr. Name of Group Members Roll Enrollment Sign


No. No. No.
1 Ronit Patil 01 2209600001

2 Keval Chopade 04 2209600012

3 Rushikesh Kulkarnni 17 2209600030

6
INDEX

Sr. Content Page


No. No.
1 Aim of Project 8
2 Abstract 9
3 Introduction 10
4 Resource Used 12
5 Workings 13
6 Advantages 17
7 Disadvantages 18
8 Characteristics 19
9 Flowchart 20

7
AIM OF PROJECT

The aim of the TCP project is to design, implement, and analyze


the functionality and performance of the Transmission Control
Protocol. This project focuses on understanding TCP's core principles,
implementing a simplified version of the protocol stack, testing its
reliability and efficiency, and comparing its performance with
alternative transport protocols. Through this project, students gain
practical experience in network protocol design, implementation, and
evaluation, enhancing their understanding of computer networking
concepts and fostering critical thinking skills.

8
ABSTRACT

The Transmission Control Protocol (TCP) is a fundamental


protocol in the TCP/IP protocol suite, providing reliable and ordered
delivery of data over networks. This project aims to explore TCP's
functionality and performance through design, implementation, and
analysis. Key objectives include understanding TCP's core principles,
implementing a simplified version of the protocol stack, testing its
reliability and efficiency, and comparing its performance with
alternative transport protocols. Through hands-on experimentation
and evaluation, this project enhances students' understanding of
network protocols, fosters practical skills in protocol design and
implementation, and promotes critical thinking in the field of
computer networking.

9
INTRODUCTION
TCP is the dominant transport protocol in today’s data center networks (DCNs) which
have been the infrastructures for Internet and cloud computing. However, the widespread
TCP has many inadequacies in meeting the throughput and latency demand of Internet
applications and cloud services. First, TCP Incast [1], which refers to throughput collapse
in many-to-one communication pattern, has risen to be a critical problem in DCNs. Since
the many-to-one communication pattern widely exists in many Internet applications and
cloud services (eg., web search and Map-Reduce), this problem could badly degrade their
performance. Second, in DCNs, short TCP flows often suffer from high delays when long
TCP flows occupy the link bandwidth for a long time. Since a large portion of traffic in
DCNs is short flows which are latency sensitive and latency inversely correlates with
business profit (Amazon estimates every 100ms of latency costs them one percent profit
[2]), this problem is also critical for TCP in DCNs.
Actually, both of the two problems are highly related with TCP timeout. In the case
where TCP Incast occurs, since no TCP sender can transfer a new data unit to the receiver
until all senders finish transferring their current data units, even one flow ’ s timeout can
significantly reduce the whole throughput of all the flows. Moreover, timeout can easily
prolong the flow completion time (FCT), which is the main metric of latency. Unfortunately,
TCP timeout is common in today’s DCNs. The authors of Corrective take a measurement of
billions of TCPconnections from clients to Google DCNs and found that about 10% of the
TCP flows beget at least one packet loss. Furthermore, among all the losses in the
measurement, 77% are recovered by timeout [3].
To improve TCP performance on throughput and latency in DCNs, many solutions that
focus on avoiding timeout are provided [4] – [8]. Compared with transport layer solutions
which need to make changes on switches or network interfaces (e.g., DCTCP [5], ICTCP [7]
and ICaT [8]) and application layer solutions which spend expensive overhead costs in global
real-time scheduling (e.g., [9], [10]), redundant transmission based solutions show great
advantages in deployment and system overhead, and thus become research hotspots.
Existing redundant transmission based solutions for avoiding TCP timeout in DCNs can
be grouped into two categories. The first is pure redundant transmission, which means that
the redundancy is original flow [11], [12] or packet [1]. The second is coding redundant
transmission, which means that the redundancy is coded packet (mixed by original packets
[3]. Compared with pure redundant transmission, coding redundant transmission could be
more efficient, since the coded redundant packet can recover any original packet mixed in it
[13]. However, the existing coding redundant retransmission based solution (e.g., Corrective
[3]) still has weaknesses and can be improved.

10
In this paper, we present a novel coding redundant transmission based solution named
TCP with Adaptive Complementary Coding (TCP-ACC) to improve TCP performance on
throughput and latency in DCNs. Without revising TCP’s congestion control mechanism,
we first design a light-weight coding scheme to prevent timeout and ensure consist
transmission for flows. Compared with Corrective, TCP-ACC is more flexible in
redundancy setting and can recover multiple losses in one window. Second, to determine
the optimal number of
redundant coding packets in our scheme, we model and analyze the tradeoff between
avoiding TCP timeout and aggravating network congestion by a Lyapunov optimization
method [14]. By fast solving this model, TCP-ACC can adapt its coding redundancy to the
real-time packet losses in an near optimal way, and thus can effectively improve TCP
performance on both throughput and latency. Analysis on this model also proves that TCP-
ACC can reduce the flow timeout probability close to that of the optimal complementary
solution. To the best of our knowledge, this is the first work that shows how to apply the
Lyapunov optimization method to schedule the coding process. We carry out extensive
simulations on NS2 to compare the performance of TCP-ACC with other three solutions
for TCP’s problems in DCNs. Simulation results show that TCP-ACC can nearly halve the
FCT and double the throughput with different flow arrival rates and flow sizes.
The remainder of this paper is organized as follows. We first introduce the related works
in Section II. In Section III, we present the details of our TCP-ACC scheme. We further
provide a Lyapunov optimization model for our complementary coding scheme and analyze
it in Section IV. We evaluate the performance of the proposed schemes in Section V and
conclude our work in Section VI

11
Resource Used

Sr. Name of Resource Specification Qty Remark


No
1 Operating System Windows 10 1

2 Software MS word 1

3 Hardware i-5 5th gen 1

12
WORKING
The Transmission Control Protocol (TCP) is a transport protocol that is used on top of
IP to ensure reliable transmission of packets.

TCP includes mechanisms to solve many of the problems that arise from packet-
based messaging, such as lost packets, out of order packets, duplicate packets, and
corrupted packets.

Since TCP is the protocol used most commonly on top of IP, the Internet protocol stack
is sometimes referred to as TCP/IP.

Packet format

When sending packets using TCP/IP, the data portion of each IP packet is formatted as
a TCP segment.

13
Each TCP segment contains a header and data. The TCP header contains many more
fields than the UDP header and can range in size from 202020 to 606060 bytes,
depending on the size of the options field.

The TCP header shares some fields with the UDP header: source port number,
destination port number, and checksum. To remember how those are used, review the
UDP article.

From start to finish

Let's step through the process of transmitting a packet with TCP/IP.

Step 1: Establish connection

When two computers want to send data to each other over TCP, they first need to
establish a connection using a three-way handshake.

The first computer sends a packet with the SYN bit set to 111 (SYN =
"synchronize?"). The second computer sends back a packet with the ACK bit set to 111
(ACK = "acknowledge!") plus the SYN bit set to 111. The first computer replies back
with an ACK.
In fact, the three packets involved in the three-way handshake do not typically
include any data. Once the computers are done with the handshake, they're ready to
receive packets containing actual data.

The SYN and ACK bits are both part of the TCP header:

14
The ACK and SYN bits are highlighted on the fourth row of the header.

Step 2: Send packets of data

When a packet of data is sent over TCP, the recipient must always acknowledge
what they received.

The first computer sends a packet with data and a sequence number. The second
computer acknowledges it by setting the ACK bit and increasing the acknowledgement
number by the length of the received data.

The sequence and acknowledgement numbers are part of the TCP header:

15
Those two numbers help the computers to keep track of which data was
successfully received, which data was lost, and which data was accidentally sent twice.

Step 3: Close the connection

Either computer can close the connection when they no longer want to send or
receive data A computer initiates closing the connection by sending a packet with the
FIN bit set to 1 (FIN = finish). The other computer replies with an ACK and another
FIN. After one more ACK from the initiating computer, the connection is closed.

16
Advantages of the TCP Model

• It helps you to establish/set up a connection between different types of


computers.
• It operates independently of the operating system.
• It supports many routing-protocols.
• It enables the internetworking between the organizations.
• TCP/IP model has a highly scalable client-server architecture.
• It can be operated independently.
• Supports a number of routing protocols.
• It can be used to establish a connection between two computers.

17
Disadvantages of the TCP Model

• TCP/IP is a complicated model to set up and manage.


• The shallow/overhead of TCP/IP is higher-than IPX
(Internetwork Packet Exchange).
• In this, model the transport layer does not guarantee delivery of
packets.
• Replacing protocol in TCP/IP is not easy.
• It has no clear separation from its services, interfaces, and
protocols.

18
Characteristics

• Support for a flexible TCP/IP architecture Adding more system


to a network is easy.
• In TCP/IP, the network remains intact until the source, and
destination machines were functioning properly.
• TCP is a connection-oriented protocol.
• TCP offers reliability and ensures that data which arrives out of
sequence should put back into order.
• TCP allows you to implement flow control, so sender never
overpowers a receiver with data.

19
Flowchart

20

You might also like