Learn

Now that we have a conceptual model of everything it takes for data to travel in a network, let’s talk about some of the most common network protocols we use everyday.

What are network protocols? They are simply a set of standards for devices interacting on the Internet! It’s important to understand these protocols from the angle of network security. Threat actors often abuse the rules of a protocol to gain access to sensitive information.

In this exercise, we’ll talk about a few protocols within the TCP/IP implementation Application layer.


DNS

The Domain Name System (DNS) protocol converts domain names to IP addresses. Think of it as a phonebook for the Internet. It’s hard to remember an exact IP address when we want to access a website. When we request the URL codecademy.com, our computer sends a DNS request to a DNS server. The server then returns the correct IP addresses to route data to and from Codecademy.

HTTP

The HTTP (The Hyper Text Transfer Protocol) handles our web requests to servers. HTTP uses a set of verbs, like GET, POST, PUT, and HEAD, to retrieve and send data. Anytime a page is loaded, there are multiple web requests to retrieve content like images, text, and formatting code.

IMAP, POP, and SMTP

How does email work? IMAP (Internet Message Access Protocol) and POP (Post Office Protocol) allow users to access emails stored on a remote web server. In IMAP, servers store your email and return copies to you, allowing you to access the same email on multiple devices. In POP3 (POP version 3), however, emails are generally downloaded from the server onto just a single device.

To send email, the standard is SMTP (Simple Mail Transfer Protocol).


How do data packets get routed to these services from the transport layer? Specific numbers called ports are reserved so that packets for different services can come in at the same time. Think of ports as lanes for network traffic!

Transport Protocol Port Number
DNS TCP/UDP 53
HTTP TCP 80/8080
IMAP TCP 143
POP3 TCP 110
SMTP TCP 25/587

Instructions

Let’s see some HTTP requests in real-time! Open up your browser’s “Inspection”/“Developer” tools. You can generally search for it in your browser’s “Settings” or in the “Tools” menu. Once you’re there, go to the “Network” tab.

Refresh this page to see all the HTTP requests that are required to load this lesson!

Take this course for free

By signing up for Codecademy, you agree to Codecademy's Terms of Service & Privacy Policy.
Already have an account?