TCP/IP is a family of protocols for communication between computers.
What is TCP/IP?
TCP/IP stands for Transmission Control Protocol / Internet Protocol. It defines how electronic devices (like computers) should be connected over the Internet, and how data should be transmitted between them.
TCP - Transmission Control Protocol
TCP is responsible for breaking data down into small packets before they can be sent over a network, and for assembling the packets again when they arrive.
IP - Internet Protocol
IP takes care of the communication between computers. It is responsible for addressing, sending and receiving the data packets over the Internet.
TCP/IP Protocols For the Web
Web browsers and servers use TCP/IP protocols to connect to the Internet. Common TCP/IP protocols are:
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 - Secure HTTP
HTTPS takes care of secure communication between a web server and a web browser. HTTPS typically handles credit card transactions and other sensitive data.
FTP - File Transfer Protocol
FTP takes care of transmission of files between computers.
IP is Connection-Less
IP is a "connection-less" communication protocol.
IP does not occupy the communication line between two computers. This reduces the need for network lines. Each line can be used for communication between many different computers at the same time.
With IP, messages (or other data) are broken up into small independent "packets" and sent between computers via the Internet. IP is responsible for "routing" each packet to the correct destination.
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.
Analogy: Communicating via IP is like sending a long letter as a large number of small postcards, each finding its own (often different) way to the receiver.
IP uses 32 bits, or four numbers between 0 and 255, to address a computer.
IP addresses are normally written as four numbers separated by a period, like this: 192.168.1.50.
Each computer must have an unique 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: 18.104.22.168. This might be the same address: www.w3schools.com
This is your IP address: 22.214.171.124
In computer terms, TCP/IP uses 32 bits addressing. It uses 4 bytes. One byte is 8 bits. One byte can contain 256 different values:
00000000, 00000001, 00000010, 00000011, 00000100, 00000101, 00000110, 00000111, 00001000 .......and all the way up to 11111111.
A name is much easier to remember than a 12 digit number.
Names used for TCP/IP addresses are called domain names.
w3schools.com is a domain name.
When you address a web site, like http://www.w3schools.com, 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 Protocols for Email
E-mail programs use TCP/IP for sending and receiving e-mails. The TCP/IP protocols for email are:
SMTP - Simple Mail Transfer Protocol
SMTP takes care of sending emails. Often emails are sent to an email server (SMTP server), then to other servers, and finally to its destination. SMTP can only transmit pure text. It cannot transmit binary data like pictures, sounds or movies.
MIME - Multi-purpose Internet Mail Extensions
The MIME protocol lets SMTP transmit multimedia files including voice, audio, and binary data across TCP/IP networks. The MIME protocol converts binary data to pure text, before it is sent.
POP - Post Office Protocol
The POP protocol is used by email programs to retrieve emails from an email server. If your email program uses POP, all your emails are downloaded to your email program (also called email client), each time it connects to your email server.
IMAP - Internet Message Access Protocol
The IMAP protocol works much like the POP protocol. The main difference is that the IMAP protocol will not automatically download all your emails each time your email program connects to your email server.
The IMAP protocol allows you to look through your email messages at the email server before you download them. With IMAP you can choose to download your messages or just delete them. This way IMAP is perfect if you need to connect to your email server from different locations, but only want to download your messages when you are back in your office.
Other TCP/IP Protocols
ARP - Address Resolution Protocol
ARP is used by IP to find the hardware address of a computer network card based on the IP address.
BOOTP - Boot Protocol
BOOTP is used for booting (starting) computers from the network.
DHCP - Dynamic Host Configuration Protocol
DHCP is used for allocation of dynamic IP addresses to computers in a network.
ICMP - Internet Control Message Protocol
ICMP takes care of error-handling in the network.
LDAP - Lightweight Directory Access Protocol
LDAP is used for collecting information about users and e-mail addresses from the internet.
NTP - Network Time Protocol
NTP is used to synchronize the time (the clock) between computers.
PPTP - Point to Point Tunneling Protocol
PPTP is used for setting up a connection (tunnel) between private networks.
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.
SNMP - Simple Network Management Protocol
SNMP is used for administration of computer networks.
SSL - Secure Sockets Layer
The SSL protocol is used to encrypt data for secure data transmission.
TLS - Transport Layer Security
The TLS protocol is a newer and more secure version of SSL.