SMTP, POP3, IMAP
لایه ی کاربرد اصول لایه ی کاربرد Web و HTTP FTP , TFTP TELNET پست الکترونیکی SMTP, POP3, IMAP DNS کاربردهای P2P امنیت
پست الکترونیکی سه جزء اصلی: مامورین کاربر خدمتگزارهای مایل صندوق پستی کاربر صف پیغامهای خروجی user agent سه جزء اصلی: مامورین کاربر خدمتگزارهای مایل simple mail transfer protocol: SMTP مامور کاربر به آن نامه خوان نیز گفنه می شود. نوشتن، ویرایش و خواندن پیغامها مثل Eudora, Outlook, elm, Mozilla Thunderbird پیغامهای ورودی و خروجی در خدمتگزار ذخیره می شوند. mail server user agent SMTP mail server user agent SMTP mail server SMTP user agent user agent user agent
پست الکترونیکی: خدمتگزار مایل user agent خدمتگزار مایل صندوق پستی شامل پیغامهای ورودی کاربر است. صف پیغام حاول پیغامهای خروجی است که باید ارسال شوند. پروتکل SMTP بین خدمتگزارهای مایل اجرا می شود تا پیغامها را ارسال کنند. مشتری: خدمتگزار ارسال کننده ی نامه خدمتگزار: خدمتگزار دریافت کننده ی نامه mail server user agent SMTP mail server user agent SMTP mail server SMTP user agent user agent user agent
پست الکترونیکی: SMTP [RFC 2821] از TCP برای انتقال مطمئن پیغام بین مشتری و خدمتگزار روی پورت ۲۵ استفاده می کند. انتقال مستقیم: از خدمتگزار فرستنده به خدمتگزار گیرنده سه فاز دارد: مذاکره انتقال پیغامها بستن ارتباط تبادل دستور و پاسخ: دستور: متن اسکی پاسخ: کد وضعیت و توضیحات آن پیغامها از اسکی ۷-بیتی استفاده می کنند.
سناریو: ارسال یک نامه توسط آلیس به باب ۴-قسمت مشتری SMTP پیغام آلیس را روی ارتباط TCP میفرستد. ۵-خدمتگزار مایل باب پیغام را در صندوق پستی باب قرار میدهد. ۶- باب با استفاده از UA خود نامه را می خواند. ۱- آلیس از UA برای نوشتن پیغام برای bob@someschool.edu استفاده می کند. ۲- UA پیغام را به خدمتگزار مایل آلیس تحویل میدهد. پیغام وارد صف پیغام می شود. ۳-قسمت مشتری SMTP یک ارتباط TCP با خدمتگزار مایل باب باز می کند. mail server mail server 1 user agent user agent 2 3 6 4 5
یک تعامل ساده در SMTP S: 220 hamburger.edu C: HELO crepes.fr S: 250 Hello crepes.fr, pleased to meet you C: MAIL FROM: <alice@crepes.fr> S: 250 alice@crepes.fr... Sender ok C: RCPT TO: <bob@hamburger.edu> S: 250 bob@hamburger.edu ... Recipient ok C: DATA S: 354 Enter mail, end with "." on a line by itself C: Do you like ketchup? C: How about pickles? C: . S: 250 Message accepted for delivery C: QUIT S: 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: alice@crepes.fr To: bob@hamburger.edu 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
پروتکلهای دسترسی به نامه ها SMTP SMTP access protocol user agent user agent sender’s mail server receiver’s mail server SMTP: تحویل پیغام به خدمتگزار مایل مقصد پروتکلهای دسترسی به مایل: بازیابی نامه ها از خدمتگزار POP: Post Office Protocol [RFC 1939] شامل احراز هویت (مامور خدمتگزار) و دانلود پیغامها IMAP: Internet Mail Access Protocol [RFC 1730] دارای مشخصات بیشتر و پیچیده تر دستکاری پیغامهای ذخیره شده در خدمتگزار HTTP: gmail, Hotmail, Yahoo! Mail, etc.
POP3 و SMTP
پروتکل POP3 فاز احراز هویت فاز مبادله: دستورات مشتری: S: +OK POP3 server ready C: user bob S: +OK C: pass hungry S: +OK user successfully logged on فاز احراز هویت دستورات مشتری: User: اعلام اسم کاربری Pass: رمز عبور پاسخ خدمتگزار: +OK -ERR فاز مبادله: مشتری List: شماره ی پیغامها Retr: استفاده از شماره برای گرفتن نامه ها Dele: حذف quit C: list S: 1 498 S: 2 912 S: . C: retr 1 S: <message 1 contents> C: dele 1 C: retr 2 C: dele 2 C: quit S: +OK POP3 server signing off
POP3 و IMAP IMAP تمام پیغامها در یک محل نگهداری می شوند: خدمتگزار تمام پیغامها در یک محل نگهداری می شوند: خدمتگزار به کاربر اجازه میدهد که پیغامهای خود را در فولدرهای مختلف سازماندهی کنند. IMAP حالت کاربر در جلسات را حفظ میکند: نام فولدرها و نگاشت بین ID پیغامها و اسم فولدر POP3 مثال قبلی از مد دانلود و حذف استفاده می کند. در صورت تغییر میزبان، باب نمیتواند نامهها را دوباره بخواند دانلود و حفظ: نسخههای متعددی از پیغام در جاهای مختلف وجود خواهد داشت. POP3 راجع به جلسات حالت نگهداری نمی کند.
SMTP، FTP وHTTP اتصال: هر سه از TCP استفاده میکنند. SMTP از اتصالهای مصر استفاده میکند. FTP از کانال کنترلی مصر و کانال داده غیر مصر استفاده می کند. HTTP هم از کانال مصر و هم غیر مصر استفاده می کند. جریان داده FTP و HTTP: از pullاستفاده می کنند ۰یعنی کاربر فایل را درخواست میکند) SMTP از push استفاده می کند. (نامه ها بدون این که درخواست شوند، ارسال می شوند. لذا در این پروتکل با مشکل اسپم مواجه هستیم. هر سه از مبادله ی دستور و پاسخ اسکی استفاده می کنند. پاسخ شامل کد وضعیت است. HTTP: هر شی طی یک پاسخ مجزا ارسال میشود. FTP: به ازای هر فایل یک کانال داده داریم. SMTP: در یک پیغام چند قسمتی چندین شی قرار دارد.