If you want to get good at system design,
learn these 8 network protocols:
1 Hypertext Transfer Protocol Secure (HTTPS)
↳ It's used for secure communication over the internet
↳ It encrypts HTTP traffic using Transport Layer Security
↳ But it needs TLS certificates and extra setup
——
2 User Datagram Protocol (UDP)
↳ It's used in gaming, video calls, and live streams
↳ It sends packets without waiting for replies for speed
↳ But there's a risk of losing or reordering data
——
3 Transmission Control Protocol (TCP)
↳ It's used on websites, emails, and file downloads
↳ It opens a connection and checks each packet
↳ It ensures reliable and ordered delivery
↳ But adds delay and overhead
——
4 Internet Protocol (IP)
↳ It's used to send data packets across the internet
↳ It adds the source and destination addresses to each packet
↳ It's fast, but doesn't ensure delivery or the correct order
——
5 Secure File Transfer Protocol (SFTP)
↳ It's used to send files securely between systems
↳ It runs over SSH and encrypts the session
↳ But it won’t work with plain FTP tools
——
6 Simple Mail Transfer Protocol (SMTP)
↳ It's used to send emails between mail servers
↳ But it doesn’t handle inbox access
——
7 Secure Shell (SSH)
↳ It's used to access a remote server securely
↳ It opens an encrypted channel using keys or passwords
↳ But it's necessary to manage keys properly
——
8 Domain Name System (DNS)
↳ It maps site names to IP addresses
↳ It queries DNS servers to find the server
↳ It makes the internet human-friendly
↳ But it adds latency to the first request
What else should make this list?