An Introduction to the InternetInternet Protocols [Archives:2003/638/Education]

June 2 2003

Adnan A. Al-Harazi
Academic Head
NCC Education, Yemen Center

In the previous article, we said that for computers to communicate in the Internet they need to follow and use some of the Internet protocols. These protocols are one of the most important factors for the success of the Internet. They define the rules that allow the Internet entities made by different vendors to function. Most of these protocols are created by national and international standards organizations, and are documented in standards documents. So any company that needs to manufacture a piece of hardware or software that could be used in a networked system must follow these protocols. Some of the most common Internet protocols are:
– Internet Protocol (IP).
– Transmission Controlling Protocol (TCP).
– User Data gram Protocol (UDP).
– Domain Name System (DNS).

Each of these protocols covers different aspects of the Internet communication and some of them can be used instead of or with the others such as TCP/IP which are actually the two protocols TCP and IP . Because of their importance, we need to learn more about these protocols.

Internet Protocol (IP)
This protocol defines the rules of transferring packets from one host to another. All of this process depends on the use of the numerical IP addresses discussed in the previous lesson, and which every Internet connected host must have. But what is not good about this protocol is that it doesn't guarantee the delivery of packets in a specific time or in a specific sequence or what is worse, it does not deliver the packets at all. So you may ask how the whole Internet could depend on such a weak protocol. In practice this is not the case. Further protocols can be added to work with IP to reliably transfer the packets.

Transmission Control Protocol (TCP)
Well, the problems we face with the IP can be solved by using this powerful protocol. It operates on top of IP to produce a reliable delivery of data from one host to another. It takes care of the process of dividing the messages into small packet-sized chunks at the sender computer. It also takes care of re-assembling of these packets at the receiver computer. Moreover, TCP checks the validity of the packets. In case a packet got corrupted in transmission, TCP can recognize this and request the sending computer to resend the corrupted packets. Even if the packets get safely to the destination, the TCP sends acknowledgement message to the sender computer that the transmission has been completed perfectly. If we concentrate on these processes we notice that the TCP protocol is using the transmission medium aggressively by resending packets and confirmation messages. So the cost of the reliability of this protocol is consuming a lot of the transmission bandwidth.

User Datagram Protocol (UDP)
This protocol is slightly different from the TCP protocol. Similar to TCP, the UDP operates on top of IP but it avoids a lot of the complications of TCP which results in better performance. Performance here means faster communication between the hosts. The price of this better performance is that UDP does not have the same capability to ensure reliable communication. In case a packet is lost in the transmission, UDP does not ask the sender to send it again. So if we try to link all of what we got until now about these protocols to find out which one is suitable for the Internet, we discover that all are suitable but in different situations. UDP can be used in the communication of data that needs higher bandwidth and does not get affected by losing part of the data. For example UDP can be used in the transmission of video files where losing some frames of the clip does not destroy the whole idea of it. On the other hand, TCP can be used in the transmission of data that needs accuracy like text messages where losing lines or a paragraph will badly demolish the content of the message.

Domain Name System (DNS)
Since each host requires a unique dotted quad address, it would quickly become difficult and inconvenient to remember all these numerical addresses. For example what is easier for us to remember “” or I am sure all of us prefer to remember the textual address of a host rather than the numerical address. Ok, but hosts communicate with each other by using this numerical address. And when I want to go to YT web site I just type in my browser and that's it. So what is hiding the numerical address from the users? Well, it's the Domain Name System that hides it. Each host can be given a textual name that may be used in place of the numerical IP address. The name is built up from a number of domains (words) separated by dots. There can be several domains within a name, typically three to five. The Domain Name System translates these names to the corresponding numerical address. Most of the domain names are three parts. The system accesses the DNS through a resolver. The resolver gets the hostname and returns the IP address or gets an IP address (fig.1) and looks up a hostname.
Each host in the Internet must have a unique domain name. The domain name should reflect the category of the domain and the country of the host. The domain names are divided into three parts:
1. “Arpa” is a special domain used for address-to-name mapping.
2. The seven 3-character domain names (generic (organizational) domains).
3. The 2-character domains are based on the country codes like “.ye” for Yemen.
The seven generic domains and their meanings are:
.COM Commercial organizations
.EDU Educational institutions
.GOV Government institutions
.MIL Military groups
.NET Major network support centers
.ORG Organizations other than those above
.INT International organizations

I hope that I have succeeded in giving the reader a broad idea about the most important Internet protocols. Next week we will log into the available Internet applications and services.