Basic Networking Protocols: Part 1
Read on as I introduce you to some important protocols used at the network layer of the OSI model. The knowledge you are about to gain from this information is essential, especially for those of you who have already decided to follow the path of the Network Engineer.
Today I’ll cover the most important protocol suite known today from its wide usage in the Internet: Transmission Control Protocol (TCP) / Internet Protocol (IP).
In Part 2 I will talk about two application layer protocols which are extensively used in every kind of network infrastructure: Domain Name Service (DNS) and Dynamic Host Configuration Protocol (DHCP).
What Is a Network Protocol?
You’re probably familiar with this bit of information already, but let me start off with a proper definition of Network Protocols. As you know, a protocol is nothing more than a set of rules that that govern the format of messages so they can be exchanged successfully. A network protocol is a set of rules that allow for communication between network devices.
Transmission Control Protocol (TCP)
You should try to use appropriate networking definitions as often as you possibly can, especially when you’re still learning. Therefore, to correctly begin our introduction to TCP, I’ll take this opportunity to inform you that data coming from an application are chunked into Segments when they reach the transport layer. Segments, is the right expression to use when referring to data units at the transport layer.
A separate TCP header is added at the beginning of each segment prior to transmission. The format of this header is shown in the diagram below. Beneath the diagram, you will find a brief explanation of TCP header’s most important field.
- Source Port and Destination Port fields together identify the two local end points of the particular connection. A port plus its hosts IP address forms a unique end point. Ports are used to communicate with the upper layer and distinguish different application sessions on the host.
- The Sequence Number and Acknowledgment Number fields specify bytes in the byte stream. The sequence number is used for segment differentiation and is useful for reordering or retransmitting lost segments. The Acknowledgment number is set to the next segment expected.
- Data offset or TCP header length indicates how many 4-byte words are contained in the TCP header.
- Window indicates how many bytes can be transmitted before an acknowledgment is received.
- Checksum is used to provide extra reliability and security to the TCP segment.
- User data represents the actual data which are always included at end of the header.
The TCP Header was designed in this way so that it would provide the following operations – capabilities:
- Sequencing of segments so that the destination TCP protocol could reorder received segments.
- Acknowledging segments so that lost segments could be retransmitted.
- Negotiating the maximum amount of segments in transit without being acknowledged.
- Controlling flow of data by operating special background algorithms.
- Avoiding congestion situations by backing off aggressive traffic streams.
Internet Protocol (IP)
Segments from the transport layer are forwarded to the network layer where an IP header is attached to the beginning of each segment. Application data units along with the TCP header are called Packets here. The IP header fields and short description of the important fields are given below:
- Version indicates if it is an IP version 4 or IP version 6 header
- ToS Provides precedence characteristics to the packet. Describes how the packet should be handled during its transmission state.
- Total length indicates the length of the packet including header and data.
- Flags identify whether fragmentation of the packet is supported or not.
- TTL indicates the number of hops remaining for the packet to traverse prior to be dropped.
- Source IP Address provides the 32-bit address of the sending host.
- Destination IP address provides the 32-bit address of the receiving host.
The IP Header provides the following operations-capabilities:
- Carrying quality of service information instructing networking devices along the transmission path to treat packets accordingly.
- Protecting the network from packet loops with the help of TTL field by dropping packets that wander around in the network for a long time.
- Routing packets to their proper destination and providing the means for routing back replies to their proper recipient.
- Fragmenting and reassembling packets appropriately based on the bandwidth capabilities of the links along the path.
That’s all the information I have for you today! Don’t miss Part 2 of Basic Networking Protocols where I’ll give you an introduction to two application layer protocols used extensively in network infrastructures: Domain Name Service (DNS) and Dynamic Host Configuration Protocol (DHCP).