SMTP & DNS (Week 6)
First: E-mail System
Components of E-mail System
The email system consists of 3 main parts:
-
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)
-
SMTP Handshaking: Greeting between servers. (e.g.,
HELO,250 Hello) - SMTP Message Transfer: Sending email content.
- 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
Local DNS Server
أول سيرفر الجهاز يكلمه (غالبًا تابع للـ ISP). يرد من Cache أو يسأل باقي DNS hierarchy.
DNS Queries & Caching
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