Transcript User

SMTP, POP3, IMAP
‫الیه ی کاربرد‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫اصول الیه ی کاربرد‬
‫‪Web‬و‪HTTP‬‬
‫‪FTP , TFTP‬‬
‫‪TELNET‬‬
‫پست الکترونیکی‬
‫‪‬‬
‫‪SMTP, POP3, IMAP‬‬
‫‪DNS ‬‬
‫‪ ‬کاربردهای ‪P2P‬‬
‫‪ ‬امنیت‬
‫‪2‬‬
‫پست الکترونیکی‬
‫صف پیغامهای‬
‫خروجی‬
‫صندوق پستی کاربر‬
‫‪user‬‬
‫‪agent‬‬
‫•‬
‫‪mail‬‬
‫‪server‬‬
‫‪user‬‬
‫‪agent‬‬
‫‪ ‬مامورین کاربر‬
‫‪ ‬خدمتگزارهای مایل‬
‫‪ simple mail transfer protocol:‬‬
‫‪SMTP‬‬
‫‪user‬‬
‫‪agent‬‬
‫سه جزء اصلی‪:‬‬
‫‪mail‬‬
‫‪server‬‬
‫‪SMTP‬‬
‫‪SMTP‬‬
‫‪SMTP‬‬
‫‪user‬‬
‫‪agent‬‬
‫‪mail‬‬
‫‪server‬‬
‫مامور کاربر‬
‫‪ ‬به آن نامه خوان نیز گفنه می شود‪.‬‬
‫‪ ‬نوشتن‪ ،‬ویرایش و خواندن پیغامها‬
‫‪ ‬مثل‬
‫‪‬‬
‫‪user‬‬
‫‪agent‬‬
‫‪user‬‬
‫‪agent‬‬
‫‪Eudora, Outlook, elm, Mozilla‬‬
‫‪Thunderbird‬‬
‫‪ ‬پیغامهای ورودی و خروجی در خدمتگزار ذخیره می‬
‫شوند‪.‬‬
‫پست الکترونیکی‪ :‬خدمتگزار مایل‬
‫•‬
‫‪user‬‬
‫‪agent‬‬
‫‪‬‬
‫‪mail‬‬
‫‪server‬‬
‫‪user‬‬
‫‪agent‬‬
‫‪‬‬
‫‪SMTP‬‬
‫‪user‬‬
‫‪agent‬‬
‫‪mail‬‬
‫‪server‬‬
‫‪SMTP‬‬
‫‪SMTP‬‬
‫‪user‬‬
‫‪agent‬‬
‫‪mail‬‬
‫‪server‬‬
‫‪user‬‬
‫‪agent‬‬
‫‪user‬‬
‫‪agent‬‬
‫‪‬‬
‫خدمتگزار مایل‬
‫صندوق پستی شامل پیغامهای ورودی کاربر‬
‫است‪.‬‬
‫صف پیغام حاول پیغامهای خروجی است که‬
‫باید ارسال شوند‪.‬‬
‫پروتکل ‪SMTP‬بین خدمتگزارهای مایل اجرا‬
‫می شود تا پیغامها را ارسال کنند‪.‬‬
‫‪ ‬مشتری‪ :‬خدمتگزار ارسال کننده ی نامه‬
‫‪ ‬خدمتگزار‪ :‬خدمتگزار دریافت کننده ی‬
‫نامه‬
‫پست الکترونیکی‪SMTP [RFC 2821] :‬‬
‫‪ ‬از ‪ TCP‬برای انتقال مطمئن پیغام بین مشتری و خدمتگزار روی پورت‬
‫‪ ۲۵‬استفاده می کند‪.‬‬
‫‪ ‬انتقال مستقیم‪ :‬از خدمتگزار فرستنده به خدمتگزار گیرنده‬
‫‪ ‬سه فاز دارد‪:‬‬
‫‪ ‬مذاکره‬
‫‪ ‬انتقال پیغامها‬
‫‪ ‬بستن ارتباط‬
‫‪ ‬تبادل دستور و پاسخ‪:‬‬
‫‪ ‬دستور‪ :‬متن اسکی‬
‫‪ ‬پاسخ‪ :‬کد وضعیت و توضیحات آن‬
‫‪ ‬پیغامها از اسکی ‪-۷‬بیتی استفاده می کنند‪.‬‬
‫سناریو‪ :‬ارسال یک نامه توسط آلیس به باب‬
‫‪-۴‬قسمت مشتری ‪ SMTP‬پیغام آلیس را‬
‫روی ارتباط ‪ TCP‬میفرستد‪.‬‬
‫‪-۵‬خدمتگزار مایل باب پیغام را در صندوق‬
‫پستی باب قرار میدهد‪.‬‬
‫‪ -۶‬باب با استفاده از ‪ UA‬خود نامه را‬
‫می خواند‪.‬‬
‫‪ -۱‬آلیس از ‪ UA‬برای نوشتن پیغام برای‬
‫‪ [email protected]‬استفاده‬
‫می کند‪.‬‬
‫‪ UA -۲‬پیغام را به خدمتگزار مایل آلیس تحویل‬
‫میدهد‪ .‬پیغام وارد صف پیغام می شود‪.‬‬
‫‪-۳‬قسمت مشتری ‪ SMTP‬یک ارتباط ‪ TCP‬با‬
‫خدمتگزار مایل باب باز می کند‪.‬‬
‫‪user‬‬
‫‪agent‬‬
‫‪mail‬‬
‫‪server‬‬
‫‪6‬‬
‫‪5‬‬
‫‪4‬‬
‫‪mail‬‬
‫‪server‬‬
‫‪3‬‬
‫‪1‬‬
‫‪2‬‬
‫‪user‬‬
‫‪agent‬‬
SMTP ‫یک تعامل ساده در‬
S:
C:
S:
C:
S:
C:
S:
C:
S:
C:
C:
C:
S:
C:
S:
220 hamburger.edu
HELO crepes.fr
250 Hello crepes.fr, pleased to meet you
MAIL FROM: <[email protected]>
250 [email protected]... Sender ok
RCPT TO: <[email protected]>
250 [email protected] ... Recipient ok
DATA
354 Enter mail, end with "." on a line by itself
Do you like ketchup?
How about pickles?
.
250 Message accepted for delivery
QUIT
221 hamburger.edu closing connection
‫قالب نامه الکترونیکی‬
‫• ‪ :SMTP‬پروتکل تبادل پیغامهای الکترونیکی‬
‫• ‪ :RFC 822‬استاندارد قالب پیغامهای متنی‬
‫‪ ‬مثل خطوط سرآیند‬
‫‪To:‬‬
‫‪From:‬‬
‫‪Subject:‬‬
‫خط خالی‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫با دستورات ‪ SMTP‬متفاوت هستند‪.‬‬
‫‪ ‬بدنه‬
‫‪‬‬
‫‪header‬‬
‫پیغام که فقط شامل کاراکترهای اسکی‬
‫است‪.‬‬
‫‪body‬‬
‫قالب پیغام‪ :‬توسعه چند رسانهای‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪ :MIME‬توسعه ی مایل چند رسانه ای ‪, RFC 2045, 2056‬‬
‫در سرآیند پیغام چند خط اضافی راجع به نوع محتوی ‪ MIME‬قرار دارد‪.‬‬
‫انواع‪Uuencode, base64, Quoted-printable :‬‬
‫خروجی تمام انواع ‪ MIME‬کد اسکی هفت بیتی است‪.‬‬
‫‪From: [email protected]‬‬
‫‪To: [email protected]‬‬
‫‪Subject: Picture of yummy crepe.‬‬
‫‪MIME-Version: 1.0‬‬
‫‪Content-Transfer-Encoding: base64‬‬
‫‪Content-Type: image/jpeg‬‬
‫‪base64 encoded data .....‬‬
‫‪.........................‬‬
‫‪......base64 encoded data‬‬
‫نسخه ی ‪MIME‬‬
‫متد مورد استفاده برای‬
‫کد گذاری داده‬
‫نوع و قالب داده ی چند رسانه ای‬
‫اعالن پارامترها‬
‫داده ی کد شده‬
MIME
‫پروتکلهای دسترس ی به نامه ها‬
‫‪user‬‬
‫‪agent‬‬
‫‪SMTP‬‬
‫‪access‬‬
‫‪protocol‬‬
‫‪SMTP‬‬
‫‪user‬‬
‫‪agent‬‬
‫‪receiver’s mail‬‬
‫‪server‬‬
‫‪sender’s mail‬‬
‫‪server‬‬
‫‪ :SMTP ‬تحویل پیغام به خدمتگزار مایل مقصد‬
‫‪ ‬پروتکلهای دسترس ی به مایل‪ :‬بازیابی نامه ها از خدمتگزار‬
‫]‪POP: Post Office Protocol [RFC 1939‬‬
‫• شامل احراز هویت (مامور ‪ ‬خدمتگزار) و دانلود پیغامها‬
‫‪‬‬
‫]‪IMAP: Internet Mail Access Protocol [RFC 1730‬‬
‫• دارای مشخصات بیشتر و پیچیده تر‬
‫‪‬‬
‫• دستکاری پیغامهای ذخیره شده در خدمتگزار‬
‫‪HTTP: gmail, Hotmail, Yahoo! Mail, etc.‬‬
‫‪‬‬
SMTP ‫ و‬POP3
POP3 ‫پروتکل‬
S:
C:
S:
C:
S:
+OK POP3 server ready
user bob
+OK
pass hungry
+OK user successfully logged
C: list
S: 1 498
S: 2 912
S: .
C: retr 1
S: <message 1 contents>
S: .
C: dele 1
C: retr 2
S: <message 1 contents>
S: .
C: dele 2
C: quit
S: +OK POP3 server signing off
‫• فاز احراز هویت‬
on
:‫ دستورات مشتری‬
‫ اعالم اسم کاربری‬:User 
‫ رمز عبور‬:Pass 
:‫ پاسخ خدمتگزار‬
+OK 
-ERR 
:‫فاز مبادله‬
‫مشتری‬
‫ شماره ی پیغامها‬:List 
‫ استفاده از شماره برای گرفتن نامه ها‬:Retr 
‫ حذف‬:Dele 
quit 
‫‪ POP3‬و ‪IMAP‬‬
‫•‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪POP3‬‬
‫مثال قبلی از مد دانلود و حذف‬
‫استفاده می کند‪.‬‬
‫در صورت تغییر میزبان‪ ،‬باب نمیتواند‬
‫نامهها را دوباره بخواند‬
‫دانلود و حفظ‪ :‬نسخههای متعددی از‬
‫پیغام در جاهای مختلف وجود خواهد‬
‫داشت‪.‬‬
‫‪POP3‬راجع به جلسات حالت‬
‫نگهداری نمی کند‪.‬‬
‫• ‪IMAP‬‬
‫‪ ‬تمام پیغامها در یک محل نگهداری می‬
‫شوند‪ :‬خدمتگزار‬
‫‪ ‬به کاربر اجازه میدهد که پیغامهای‬
‫خود را در فولدرهای مختلف‬
‫سازماندهی کنند‪.‬‬
‫‪IMAP ‬حالت کاربر در جلسات را‬
‫حفظ میکند‪:‬‬
‫‪ ‬نام فولدرها و نگاشت بین ‪ID‬‬
‫پیغامها و اسم فولدر‬
‫‪ FTP ،SMTP‬و‪HTTP‬‬
‫‪ ‬هر سه از مبادله ی دستور و پاسخ اسکی‬
‫استفاده می کنند‪ .‬پاسخ شامل کد‬
‫وضعیت است‪.‬‬
‫•‬
‫–‬
‫–‬
‫–‬
‫‪ :HTTP ‬هر ش ی طی یک پاسخ مجزا ارسال‬
‫میشود‪.‬‬
‫‪ :FTP ‬به ازای هر فایل یک کانال داده‬
‫داریم‪.‬‬
‫‪ :SMTP ‬در یک پیغام چند قسمتی چندین‬
‫ش ی قرار دارد‪.‬‬
‫اتصال‪:‬‬
‫–‬
‫•‬
‫هر سه از ‪ TCP‬استفاده میکنند‪.‬‬
‫‪ SMTP‬از اتصالهای مصر استفاده میکند‪.‬‬
‫‪ FTP‬از کانال کنترلی مصر و کانال داده غیر مصر‬
‫استفاده می کند‪.‬‬
‫‪HTTP‬هم از کانال مصر و هم غیر مصر استفاده‬
‫می کند‪.‬‬
‫جریان داده‬
‫– ‪ FTP‬و ‪ :HTTP‬از ‪pull‬استفاده می کنند ‪۰‬یعنی‬
‫کاربر فایل را درخواست میکند)‬
‫– ‪ SMTP‬از ‪ push‬استفاده می کند‪( .‬نامه ها بدون‬
‫این که درخواست شوند‪ ،‬ارسال می شوند‪ .‬لذا‬
‫در این پروتکل با مشکل اسپم مواجه هستیم‪.‬‬