The Transmission Control Protocol TCP provides a communication service at an intermediate level between
an application program and the Internet protocol, it provides host a host connectivity at the transport
layer of the Internet model.
DCP works with the Internet Protocol IP, which defines how computers send packets of data to each other
together, TCP and IP are basic rules defining the Internet.
TCP is a connection oriented protocol, which means a connection is establish and maintain until the
application programs at each end have finished exchanging messages.
It determines how to fragment application data into packets that networks can deliver, sends packets
to and accepts packets from the network layer manages flow control and because it is meant to provide
error free data transmission handles retransmission of dropped or garbled packets, as well as acknowledgement
of all packets that arrive.
Let's see the connection oriented error-free communication of TCP and an example, when a Web server
sends an HTML file to a client, it uses the HTTP protocol to do so.
The program layer asks the TCP layer to set up the connection and send the file.
The TCP stack divides the file into packets, numbers them and then forwards them individually to the
IP layer for delivery.
Although each packet in the transmission will have the same source and destination IP addresses, packets
may be sent along multiple routes.
The TCP program layer in the client computer waits until all of the packets have arrived, then acknowledges
those it receives and asks for the retransmission on any it does not based on missing packet numbers,
then assembled them into a file and delivers the file to the receiving application.
The DCP three way handshake is a method used by TCP to set up a connection, PCP's threeway handshaking
technique is often referred to as Sin Sinak Act.
Because there are three messages transmitted by TCP to negotiate and started TCP session between two
computers.
This three way handshake process is also designed so the both ends can initiate and negotiate separate
TCP socket connections at the same time.
That means the connection is full duplex.
You know what?
We have to take a break at this point and talk about TCP Flagg's.
There are one bit flags in TCP headers, which are called TCP flags, TCP flags are used within TCP
packet transfers to indicate a particular connection state or provide additional information.
Ignoring EKI, CWA and NSA flags, for now, there are basically six TCP flags.
The sin or synchronization flag is used as a first step in establishing a three way handshake between
two hosts, only the first packet from both the sender and the receiver should have this flag said.
The ACT flag, which stands for acknowledgement, is used to acknowledge the successful receipt of a
packet.
The risk flag, which stands for Reset, get sent from receiver to the sender when a packet is sent
to a particular host that was not expecting it.
The Finn flag, which stands for finished, means there is no more data from the sender, therefore
it is used in the last packet sent from the sender.
The flag, which stands for Bush is somewhat similar to the flag and tells a receiver to process these
packets as they are received instead of buffering them.
The U.S. flag is used to notify the receiver to process the urgent packets before processing all other
packets.
So every legitimate TCP connection begins with a DCP three way handshake, which is used to exchange
sequence numbers so that lost packets can be retransmitted and packets can be placed in the proper order.
If Machine wants to initiate a connection to Machine B, it will start by sending a DCP packet with
sin control bit set.
This packet will include an initial sequence number, which I'll call here is an A because it comes
from machinery.
Which is 32 bits long and typically generated in a pseudo random fashion by the DCPI software on the
shiny.
The act number, another 32 bits in the TCP header is typically set to zero because it is ignored in
this initial spin.
Some operating system variance may make this act number non-zero, but either way, it's ignored by
the destination machine.
So if the destination port is open, that is, there is something listening on that port, it must respond
with a Sinak packet back a packet that has both the Sin and Act control bit set at the same time.
This packet will have a sequence number of ES and be a pseudo random number assigned by Machine B for
this connection.
The Sinak packet will have an acknowledgement number of is an A plus one indicating that Machine B has
acknowledged this in packet from Machine A.
To complete the three way handshake machine responds with an Act packett, which has a sequence number
of is an A plus one, it's the next packet.
So the sequence number has to change from the value in the original sin packet.
Acknowledgement no field is set to Essene B plus one, thereby acknowledging this inact packet, right?
So we have now exchange sequence numbers, all packets going from A to B. We'll have increasing sequence
numbers starting at Issei plus one going up by value of one for each byte of data transmitted in the
payloads of a to be packets.
Likewise, all responses back from B. We'll have sequence numbers start again is B plus one and going
up for each byte of data from Betawi.
In essence, we have two streams of sequence numbers in this series.
Packet's one from A to B, originally based on Iceni and the other from Betawi, originally based on
ice and B.