Friday, January 25, 2013

TCP/IP Notes

Reference: wiki W3school


The Internet protocol suite is the set of communications protocols used for the Internet and similar networks, and generally the most popular protocol stack for wide area networks. It is commonly known as TCP/IP, because of its most important protocols: Transmission Control Protocol (TCP) and Internet Protocol (IP), which were the first networking protocols defined in this standard.

TCP/IP provides end-to-end connectivity specifying how data should be formatted, addressed, transmitted, routed and received at the destination. It has four abstraction layers which are used to sort all Internet protocols according to the scope of networking involved. From lowest to highest, the layers are:

  • The link layer contains communication technologies for a local network.
  • The internet layer (IP) connects local networks, thus establishing internetworking.
  • The transport layer handles host-to-host communication.
  • The application layer contains all protocols for specific data communications services on a process-to-process level. For example, HTTP specifies the web browser communication with a web server.

The TCP/IP model and related protocols are maintained by the Internet Engineering Task Force (IETF).

Inside TCP/IP

Inside the TCP/IP standard there are several protocols for handling data communication:
  • TCP (Transmission Control Protocol) communication between applications
  • UDP (User Datagram Protocol) simple communication between applications
  • IP (Internet Protocol) communication between computers
  • ICMP (Internet Control Message Protocol) for errors and statistics
  • DHCP (Dynamic Host Configuration Protocol) for dynamic addressing

TCP Uses a Fixed Connection

TCP is for communication between applications.
If one application wants to communicate with another via TCP, it sends a communication request. This request must be sent to an exact address. After a "handshake" between the two applications, TCP will set up a "full-duplex" communication between the two applications.
The "full-duplex" communication will occupy the communication line between the two computers until it is closed by one of the two applications.
UDP is very similar to TCP, but simpler and less reliable.

IP Routers

When an IP packet is sent from a computer, it arrives at an IP router.
The IP router is responsible for "routing" the packet to the correct destination, directly or via another router.
The path the packet will follow might be different from other packets of the same communication. The router is responsible for the right addressing, depending on traffic volume, errors in the network, or other parameters.


TCP/IP is TCP and IP working together.
TCP takes care of the communication between your application software (i.e. your browser) and your network software.
IP takes care of the communication with other computers.
TCP is responsible for breaking data down into IP packets before they are sent, and for assembling the packets when they arrive.
IP is responsible for sending the packets to the correct destination.

IP Addresses

Each computer must have an IP address before it can connect to the Internet.
Each IP packet must have an address before it can be sent to another computer.
This is an IP address:
This might be the same IP address:

An IP Address Contains 4 Numbers.

Each computer must have a unique IP address.
This is your IP address:
TCP/IP uses four numbers to address a computer. The numbers are always between 0 and 255.
IP addresses are normally written as four numbers separated by a period, like this:

32 Bits = 4 Bytes

In computer terms, TCP/IP uses 32 bits addressing. One byte is 8 bits. TCP/IP uses 4 bytes.
One byte can contain 256 different values:
00000000, 00000001, 00000010, 00000011, 00000100, 00000101, 00000110, 00000111, 00001000 .......and all the way up to 11111111.
Now you know why a TCP/IP address is four numbers between 0 and 255.

Domain Names

A name is much easier to remember than a 12 digit number.
Names used for TCP/IP addresses are called domain names. is a domain name.
When you address a web site, like, the name is translated to a number by a Domain Name Server (DNS).
All over the world, DNS servers are connected to the Internet. DNS servers are responsible for translating domain names into TCP/IP addresses.
When a new domain name is registered together with a TCP/IP address, DNS servers all over the world are updated with this information.

TCP/IP Related Protocols

TCP/IP is a large collection of different communication protocols based upon the two original protocols TCP and IP.

TCP - Transmission Control Protocol

TCP is used for transmission of data from an application to the network.

TCP is responsible for breaking data down into IP packets before they are sent, and for assembling the packets when they arrive.

IP - Internet Protocol

IP takes care of the communication with other computers.

IP is responsible for the sending and receiving data packets over the Internet.

HTTP - Hyper Text Transfer Protocol

HTTP takes care of the communication between a web server and a web browser.

HTTP is used for sending requests from a web client (a browser) to a web server, returning web content (web pages) from the server back to the client.


HTTPS takes care of secure communication between a web server and a web browser.

HTTPS typically handles credit card transactions and other sensitive data.

SSL - Secure Sockets Layer

The SSL protocol is used for encryption of data for secure data transmission.

SMTP - Simple Mail Transfer Protocol

SMTP is used for transmission of e-mails.

MIME - Multi-purpose Internet Mail Extensions

The MIME protocol lets SMTP transmit multimedia files including voice, audio, and binary data across TCP/IP networks.

IMAP - Internet Message Access Protocol

IMAP is used for storing and retrieving e-mails.

POP - Post Office Protocol

POP is used for downloading e-mails from an e-mail server to a personal computer.

FTP - File Transfer Protocol

FTP takes care of transmission of files between computers.

NTP - Network Time Protocol

NTP is used to synchronize the time (the clock) between computers.

DHCP - Dynamic Host Configuration Protocol

DHCP is used for allocation of dynamic IP addresses to computers in a network.

SNMP - Simple Network Management Protocol

SNMP is used for administration of computer networks.

LDAP - Lightweight Directory Access Protocol

LDAP is used for collecting information about users and e-mail addresses from the internet.

ICMP - Internet Control Message Protocol

ICMP takes care of error-handling in the network.

ARP - Address Resolution Protocol

ARP is used by IP to find the hardware address of a computer network card based on the IP address.

RARP - Reverse Address Resolution Protocol

RARP is used by IP to find the IP address based on the hardware address of a computer network card.

BOOTP - Boot Protocol

BOOTP is used for booting (starting) computers from the network.

PPTP - Point to Point Tunneling Protocol

PPTP is used for setting up a connection (tunnel) between private networks.

No comments:

Post a Comment