DCC1
DCC1
DCC1
Advantages:-
Data communication and computer networks have been growing with rapid
technological progress. Computer communication through networking becomes an
essential part of our life. By considering the importance of networking in day-to-day life,
it is essential for students to know the basic concept of networks like network
classification, network topologies, and network devices. This course deal with the
important concepts and techniques related to data communication and enable students
to have an insight into the technology involved to make network communication
possible
2.0 Course outcome addressed.
e. Configure different TCP/IP services.
TCP operates with the Internet Protocol (IP), which defines how computers transmit packets of data
to each other. Together, TCP and IP are the basic rules that determine the internet. The Internet
Engineering Task Force (IETF) defines TCP in the Request for Comment (RFC) standards
document number 793. The Transmission Control Protocol is the most typical transport layer
protocol. It works together with IP and delivers a reliable transport service between processes
Following are some of the services offered by the Transmission Control Protocol (TCP)
to the operations at the application layer:
This means that the data is transmitted and received as a stream of bytes(unlike UDP or IP which
splits the bits into datagrams or packets). Nevertheless, the network layer, that delivers service for
the TCP, sends packets of information not streams of bytes. Hence, TCP groups a number of
bytes jointly into a segment and adds a header to each of these segments, and then provides
these segments to the network layer. At the network layer, each of these segments is
encapsulated in an IP packet for transmission. The TCP header has information that is needed for
control purposes which will be discussed along with the segment structure
Sending and Receiving Buffers
The sending and receiving procedures cannot make and obtain data at the same speed. Hence,
TCP requires a buffer for storage.
There are two techniques of buffers utilized in each dissection, which are as follows:
Sending Buffer
Receiving Buffer
A buffer can be executed by utilizing a circular array of 1-byte locations, as displayed in the figure
below. The figure displays the movement of data in one direction on the sending side.
The buffer has three types of locations, which are as follows:
Empty Locations.
Locations that contain the bytes which have been sent, but not acknowledged. These bytes
The location that includes the bytes which are to be sent by the sending TCP
In practice, the TCP may send only a port of data due to the slowness of the receiving process or
congestion in the network.
The buffer at the receiver is divided into two parts as mentioned below:
The part containing the received bytes, which the sending procedure can consume.
Connection-Oriented Service
We are already mindful that TCP is a connection-oriented protocol. When an operation wants to
intercommunication (send and receive) with another procedure (process -2), the sequence of
operations is as follows:
After finishing the data exchange, when buffers on both sides are blank, the two TCPs
The type of connection in TCP is not physical, but it is virtual. The TCP segment encapsulated in an
IP datagram can be sent out of order. These segments can get lost or deteriorate and may have to
be resent. Each segment may take a distinct path to reach the destination
Reliability
TCP is dependable as it utilizes checksum for mistake detection and tries to recover lost or
corrupted packages by re-transmission, acknowledgment policy, and timers. It utilizes features
like byte number and sequence number and acknowledgment number so as to assure
dependability. Also, it uses congestion control mechanisms.
Multiplexing
TCP accomplishes multiplexing and de-multiplexing at the sender and receiver
ends respectively as a number of logical associations can be established
between port numbers over a physical connection
Byte number, Sequence number, and Acknowledgement number:
All the data bytes that are to be transferred are numbered and the start of this numbering is
random. Sequence numbers are given to the segments so as to reassemble the bytes at the
receiver end even if they come in a distinct order. The sequence number of a segment is the byte
number of the first byte that is being sent. The acknowledgment number is needed since TCP
delivers full-duplex service. The acknowledgment number is the next byte number that the
receiver desires to receive which also supplies acknowledgment for obtaining the previous bytes.
Example:
In this example we see that A transmits an acknowledgment number 1001, which means that it
has acquired data bytes till byte number 1000 and anticipates to receive 1001 next, hence B next
sends data bytes starting from 1001. Similarly, since B has received data bytes till byte number
13001 after the first data transfer from A to B, thus B transmits acknowledgment number 13002,
A TCP segment consists of data bytes to be transmitted and a header that is added to the data by
TCP as indicated
The header of a TCP segment can range from 20-60 bytes. 40 bytes are
options. If there are no options, a header is 20 bytes else it can be of utmost 60
bytes.
Header fields:
Source Port Address –
A 16-bit field that carries the port address of the application that is transmitting the data
segment.
Destination Port Address –
A 16-bit field that carries the port address of the application in the host that is obtaining the
data segment.
Sequence Number –
A 32-bit field that carries the sequence number, i.e, the byte number of the first byte that is
sent in that certain segment. It is utilized to reassemble the message at the receiving end of
the segments that are received out of order.
Acknowledgment Number –
A 32-bit field that holds the acknowledgment number, i.e, the byte number that the receiver
predicts to receive next. It is an acknowledgment of the prior bytes being acquired
successfully.
Header Length (HLEN) –
This is a 4-bit field that shows the length of the TCP header by a number of 4-byte words in the
header, i.e if the header is 20 bytes(min length of TCP header), then this field will hold 5
(because 5 x 4 = 20) and the maximum length: 60 bytes, then it’ll carry the value 15(because
15 x 4 = 60). Hence, the value of this field is always between 5 and 15.
Control flags –
These are 6 1-bit control bits that control connection association, connection ending,
connection abortion, flow control, mode of transfer, etc. Their function is:
URG: Urgent pointer is valid
ACK: Acknowledgement number is valid( utilized in case of cumulative
acknowledgment)
PSH: Request for push
RST: Reset the connection
SYN: Synchronize sequence numbers
FIN: Terminate the connection
Window size –
This field tells the window size of the sending TCP in bytes.
Checksum –
This field holds the checksum for error control. It is required in TCP as opposed to UDP.
Urgent pointer –
This field (valid only if the URG control flag is set) is utilized to point to data that is urgently
needed that requires to reach the receiving procedure at the earliest. The value of this field is
added to the sequence number to get the byte number of the last critical byte.
2. Communication skills