← All lessons
DNS, HTTP and other protocols · Lesson 6 of 7

Email, SSH and other services

Email uses two kinds of protocol. SMTP (Simple Mail Transfer Protocol) sends: your mail app hands a message to your provider's server, which looks up the recipient domain's MX record and passes it to their server over SMTP. Servers talk to each other on port 25; apps send to their server on 587.

Reading is separate. IMAP (port 993 with TLS) leaves your mail on the server and keeps every device in sync: read it on your phone and it's read on your laptop. The older POP3 (995) downloads it to one device. Webmail like Gmail in a browser is just HTTPS, with the provider's servers doing SMTP and storage behind the scenes.

SSH (Secure Shell, port 22) gives you an encrypted command line on another computer, which is how most servers are managed. It can log in with a password, or better with a key pair: a private key that stays on your computer and a public key you put on the server. SSH can also copy files (scp, sftp) and tunnel other traffic.

Some others you'll see: FTP (21), an old file transfer protocol that sends passwords in plain text, now mostly replaced by SFTP. NTP (123) keeps clocks in sync, which matters more than it sounds: certificates and logins fail when a clock is wrong. RDP (3389) is Windows remote desktop. DHCP uses 67 and 68.

Port  Service
  22  SSH
  25  SMTP (server to server)
  53  DNS
  80  HTTP
 123  NTP
 443  HTTPS
 587  SMTP (sending from an app)
 993  IMAP over TLS
3389  RDP

Practice

Which protocol sends email from one server to another?

More info

Quick reference

SMTPSending mail: 25 between servers, 587 from apps.
IMAPReading mail, synced on the server. 993.
POP3Downloading mail to one device. 995.
SSHEncrypted remote command line. 22.
FTP / SFTPFile transfer: plain (21) / over SSH.
NTPClock sync. 123.
RDPWindows remote desktop. 3389.

The other networking courses