SMTP & DNS (Week 6)

First: E-mail System

Components of E-mail System

The email system consists of 3 main parts:

User Agent (UA)
SMTP
Mail Server
SMTP
Mail Server
POP3/IMAP
User Agent (UA)
  • 1. User Agent (UA)

    يعني Mail Reader. كتابة، قراءة، تعديل الإيميلات.

    Examples: Gmail, Outlook.

    الإيميلات مش بتتخزن على الجهاز، بتتخزن على السيرفر.

  • 2. Mail Servers

    كل مستخدم له:

    • Mailbox: الإيميلات الواردة.
    • Message Queue: الإيميلات اللي لسه هتتبعت.

    السيرفرات بتكلم بعض باستخدام SMTP.

  • 3. Mail Transfer Protocols
    • SMTP: إرسال الإيميلات.
    • POP3 / IMAP: استلام الإيميلات.

SMTP (Simple Mail Transfer Protocol)

Application Layer Protocol for sending emails.

RFC 5321

Uses TCP on Port 25.

Why TCP?

الإيميل لازم يوصل كامل ومن غير أخطاء (Reliability أهم من السرعة).

SMTP Transfer Phases (3 Phases)

  1. SMTP Handshaking: Greeting between servers. (e.g., HELO, 250 Hello)
  2. SMTP Message Transfer: Sending email content.
  3. SMTP Closure: Ending the connection.

SMTP شبيه HTTP: Commands & Responses, ASCII text, Status codes.

SMTP vs HTTP

Comparison SMTP HTTP
الاستخدام Sending Email Web Pages
Connection Mostly Persistent Persistent or Non
Direction Push Pull
Transport TCP TCP

Second: DNS (Domain Name System)

Why DNS?

الإنسان يتعامل مع Names. الشبكة تتعامل مع IP addresses.

www.google.com → 142.250.184.14

DNS Components

  • 1. Distributed Database:

    مليارات records. Reads أكثر بكتير من Writes. لازم يكون Fast جدًا (milliseconds).

  • 2. DNS Protocol:

    Application Layer Protocol. Converts Name → IP.

Why DNS is NOT centralized?

  • Single point of failure
  • Huge Traffic
  • Slow response
  • Difficult Maintenance

Solution: Distributed & Hierarchical DNS

DNS Hierarchy

Root DNS Servers
TLD Servers
(.com, .org, .edu, .eg)
Authoritative DNS
(Actual IP)

Local DNS Server

أول سيرفر الجهاز يكلمه (غالبًا تابع للـ ISP). يرد من Cache أو يسأل باقي DNS hierarchy.

DNS Queries & Caching

DNS Resolution Process

Visualizing DNS Resolution

1. Iterative Query

كل سيرفر يقول: "مش عارف… اسأل اللي بعدي".

Client visits servers step-by-step.

2. Recursive Query

السيرفر المتصل به يقول: "سيبها عليا أنا".

Server does all the work.

DNS Caching

أي DNS server يحفظ الردود لتقليل Delay و Traffic.

TTL (Time To Live): Cache validity period.

ممكن يبقى Outdated شوية.

Exam Review Questions

  • Q: Why SMTP uses TCP not UDP?

    Reliability, No data loss, Email must arrive complete.

  • Q: DNS uses UDP, why?

    Queries صغيرة، Faster، Overhead أقل. (TCP uses only if response is large).

  • Q: Recursive vs Iterative?

    Recursive: Server completes the job. Iterative: Server refers to the next one.

Summary

  • SMTP = Sending Email (TCP port 25)
  • DNS = Name → IP (UDP, Port 53)
  • DNS is distributed & hierarchical
  • Iterative = step by step | Recursive = server does all work
  • Caching reduces delay

Practice Arena 🎯

1. DNS primary function is to translate ________ into ________.
2. Which port number is traditionally used by SMTP for email transmission?