Presentation is loading. Please wait.

Presentation is loading. Please wait.

لایه ی کاربرد مظفر بگ محمدی 2: Application Layer.

Similar presentations


Presentation on theme: "لایه ی کاربرد مظفر بگ محمدی 2: Application Layer."— Presentation transcript:

1 لایه ی کاربرد مظفر بگ محمدی 2: Application Layer

2 لایه ی کاربرد اصول لایه ی کاربرد Web و HTTP FTP , TFTP TELNET
پست الکترونیکی SMTP, POP3, IMAP DNS کاربردهای P2P امنیت 2: Application Layer

3 بعضی کاربردهای شبکه تلفن IP e-mail ویدیوی بلادرنگ وب کنفرانس ویدیویی
محاسبات گرید دانلود فایل وب پیغام فوری وارد شدن به سیستم از راه دور اشتراک فایل P2P بازیهای شبکه‌ای چندکاربره پخش کلیپهای ویدیویی ذخیره شده 2: Application Layer

4 معماریهای کاربرد مشتری-خدمتگزار نظیر به نظیر (P2P)

5 معماری مشتری-خدمتگزار
خدمتگزار: یک میزبان دائما روشن آدرس IP دائم و ایستا مجموعه ای از سرورها برای افزایش مقیاس پذیری مشتری: با خدمتگزار ارتباط برقرار می کند. ممکن است به صورت متناوب وصل شود. ممکن است آدرس IP دینامیک داشته باشد. مشتریها مستقیماً با هم ارتباطی ندارند. client/server

6 معماری P2P خالص 2: Application Layer سروری که همیشه روشن باشد نداریم.
سروری که همیشه روشن باشد نداریم. نقاط انتهایی می توانند مستقیما با هم ارتباط داشته باشند. ارتباط نظیرها متناوب است و از آدرسهای دینامیک استفاده می‌کنند. مقیاس پذیر ی آن بالا است اما مدیریت آن سخت است. peer-peer 2: Application Layer

7 ترکیب مشتری-خدمتگزار و P2P
Skype یک کاربرد IP تلفنی نظیر به نظیر خدمتگزار مرکزی جهت پیدا کردن آدرس طرف مقابل ارتباط مشتری-مشتری: مستقیم (بدون دخالت سرور) Instant messaging گفتگوی (چت) بین دو کاربر P2P است. خدمتگزار مرکزی برای تشخیص وجود مشتری و مکان آن مشتری آدرس IP خود را موقع ورود به سیستم در سرور مرکزی ثبت می کند. کاربر از سرور مرکزی برای پیدا کردن رفیقهای خود استفاده می کند. 2: Application Layer

8 تعریف پروتکلهای لایه ی کاربرد
انواع پیغامهای مبادله شده مثل درخواست، پاسخ قالب یا محتوی پیغام: چه فیلدهایی در پیغام هست و چگونه از هم جدا شده‌اند. معنای پیغامها معنای اطلاعات موجود در فیلدها قوانینی که مشخص می‌کنند که کی و چگونه پیغامها را پردازش کنیم و به آنها پاسخ دهیم. پروتکلهای عمومی: در RFC ها تعریف شده‌اند. کاربردهای هم نوع باید با هم سازگار باشند. مثل HTTP, SMTP پروتکلهای اختصاصی: مثل Skype 2: Application Layer

9 به چه خدماتی از لایه انتقال نیاز داریم؟
گذردهی بعضی کاربردها (مثل چندرسانه‌ای) به یک نرخ گذردهی حداقل نیاز دارند. بقیه ی کاربردها (کاربردهای کشسان) می‌توانند خود را با تغییرات نرخ گذردهی وفق دهند. امنیت رمزگذاری، جامعیت داده گم شدن بسته‌ها بعضی کاربردها (مثل صوت) می توانند گم شدن بسته ها را تحمل کنند. بعضی کاربردها (مثل انتقال فایل و telnet) به یک خدمت ۱۰۰٪ مطمئن نیاز دارند. زمانبندی بعضی کاربردها (مثل تلفن اینترنتی و بازیهای تعاملی) به تاخیر خیلی کمی نیاز دارند. 2: Application Layer

10 نیازهای کاربردهای متعارف
Application file transfer Web documents real-time audio/vid stored audio/video interactive games instant messaging Data loss no loss loss-tolerant Throughput elastic audio: 5kbps-1Mbps video:10kbps-5Mbps same as above few kbps up Time Sensitive no yes, 100’s msec yes, few secs yes and no 2: Application Layer

11 پروتکلهای لایه ی انتقال
خدمتTCP : اتصال گرا: ابتدا باید یک اتصال بین فرآیندهای مشتری و خدمتگزار برقرار شود. انتقال قابل اعتماد بین فرآیندهای فرستنده و گیرنده کنترل جریان: فرستنده سریع گیرنده کند را دست پاچه نمی‌کند. کنترل ازدحام: فرستنده در هنگام وقوع ازدحام سرعت خود را پایین می‌آورد. فاقد: زمانبندی، تضمین نرخ گذردهی حداقل، امنیت خدمت UDP: انتقال داده غیرقابل اعتماد بین دو فرآیند فاقد: فاز برقراری، قابلیت اعتماد، کنترل جریان، کنترل ازدحام، تضمین گذردهی، زمانبندی، یا امنیت سوال: چرا UDP وجود دارد؟ 2: Application Layer

12 کاربردهای اینترنتی و لایه ی انتقال
Application layer protocol SMTP [RFC 2821] Telnet [RFC 854] HTTP [RFC 2616] FTP [RFC 959] HTTP (eg Youtube), RTP [RFC 1889] SIP, RTP, proprietary (e.g., Skype) Underlying transport protocol TCP TCP or UDP typically UDP Application remote terminal access Web file transfer streaming multimedia Internet telephony 2: Application Layer

13 Web و HTTP ابتدا چند واژه‌ی متداول را معرفی می‌کنیم.
صفحه ی وب شامل اشیاء است. اشیاء می‌توانند فایل HTML، تصویر JPEG، اپلت Java، فایل صوتی و ... باشند. هر صفحه ی وب شامل یک فایل HTML پایه که خود شامل ارجاع به اشیاء دیگر است. هر شئ توسط URL آدرس‌دهی شده است. مثالی از URL: host name path name 2: Application Layer

14 مرور کلی HTTP HTTP: hypertext transfer protocol 2: Application Layer
پروتکل لایه ی کاربرد وب مدل مشتری-خدمتگزار مشتری: مرورگری است که اشیاء وب را درخواست و دریافت می‌کند و آنها را نمایش می‌دهد. خدمتگزار یک خدمتگزار وب است که در پاسخ به درخواستها اشیاء را می‌فرستد. HTTP request PC running Explorer HTTP response HTTP request Server running Apache Web server HTTP response Mac running Navigator 2: Application Layer

15 مرور کلی HTTP (ادامه) HTTP بدون حالت است. از TCP استفاده می‌کند:
خدمتگزار درخواست برقراری اتصال مشتری را می‌پذیرد. مرورگر و خدمتگزار وب پیغامهای HTTP را با هم مبادله می‌کنند. ارتباط TCP بسته می‌شود. HTTP بدون حالت است. خدمتگزار هیچ اطلاعاتی راجع به درخواستهای قبلی مشتری نگهداری نمی‌کند. ملاحظه پروتکلهایی که از حالت نگهداری می‌کنند خیلی پیچیده هستند. تاریخچه گذشته (حالت) باید نگهداری شود. اگر مشتری یا خدمتگزار در حین ارتباط خراب شود، دید دو نفر از حالت با هم همخوانی ندارد و باید تطبیق داده شوند. 2: Application Layer

16 اتصالات HTTP HTTP غیر مصر
روی هر اتصال TCP حداکثر یک شئ می‌توان فرستاد. HTTP مصر می‌توان روی یک اتصال TCP بین مشتری و خدمتگزار چندین شئ را جابجا کرد. 2: Application Layer

17 HTTP غیر مصر زمان 2: Application Layer
فرض کنید URL روبرو شامل ۱۰ ارجاع متنی به تصاویر jpeg باشد. ا-الف: مشتری HTTP ارتباط TCP را با فرآیند خدمتگزار HTTP در روی پورت ۸۰شروع می‌کند. زمان ا-ب: خدمتگزار HTTP در میزبان که منتظر دریافت درخواست برقراری اتصال روی پورت ۸۰ است، اتصال را می‌پذیرد و به مشتری اطلاع می‌دهد. ۲: مشتری HTTP پیغام درخواست HTTP شامل URL فوق را روی سوکت اتصال TCP می‌فرستد. پیغام نشان دهنده ی این است که مشتری شی /home.index را می‌خواهد. ۳: خدمتگزار HTTP درخواست را دریافت می‌کند، پیغام پاسخ که شامل شی موردنظر است را تشکیل می‌دهد و روی سوکت ارسال می کند. 2: Application Layer

18 HTTPغیر مصر (ادامه...) زمان 2: Application Layer
۴: خدمتگزار HTTP ارتباط TCP را می‌بندد. ۵: مشتری HTTP پیغام پاسخ که شامل فایل HTML را دریافت می‌کند و فایل را نمایش می دهد. بعد از تجزیه ی فایل متوجه می‌شود که ۱۰ ارجاع به اشیاء jpeg در آن قرار دارد. زمان ۶: مراحل ۱ تا ۵ برای هر کدام از اشیاء jpeg ده بار تکرار می شود. 2: Application Layer

19 HTTP غیر مصر: زمان پاسخ 2: Application Layer
تعریف RTT: زمانی که لازم است تا یک بسته‌ی کوچک از مشتری به خدمتگزار برود و برگردد. زمان پاسخ: یک RTT برای شروع اتصال TCP یک RTT برای ارسال پیغام درخواست HTTP و دریافت اولین بایتهای پاسخ HTTP. زمان لازم برای انتقال فایل total = 2RTT+transmit time زمان لازم برای انتقال فایل شروع اتصال TCP RTT درخواست فایل دریافت فایل زمان 2: Application Layer

20 HTTP مصر 2: Application Layer مشکلات HTTP غیر مصر: HTTP مصر:
به ازای هر شی به ۲ RTT نیاز است. برای هر اتصال TCP، باید سربار سیستم عامل را نیز تحمل کنیم. مرورگرها معمولاً از چندین اتصال موازی TCP برای دریافت اشیاء استفاده می‌کنند. HTTP مصر: خدمتگزار بعد از ارسال پاسخ، اتصال را نمی بندد. پیغامهای بعدی HTTP بین مشتری/خدمتگزار از این اتصال باز استفاده می‌کند. مشتری هر وقت با یک شئ مواجه شد آنرا درخواست می‌کند. برای دریافت تمام اشیاء به یک RTT نیاز است. 2: Application Layer

21 پیغام درخواست HTTP دو نوع پیغام HTTP داریم: request, response
پیغام درخواست: ASCII (فرمت قابل خواندن توسط انسان) خط درخواست: (GET, POST, HEAD commands) GET /somedir/page.html HTTP/1.1 Host: User-agent: Mozilla/4.0 Connection: close Accept-language:fr (یک CR(carriage return) و LF(line feed) اضافی) خطوط سرآیند CR و LF نشان دهنده ی آخر پیغام هستند. 2: Application Layer

22 قالب عمومی پیغام درخواست در HTTP
2: Application Layer

23 بارگذاری ورودیهای فرم متدPost : برای صفحاتی که مقدار ورودیها زیاد است.
برای صفحاتی که مقدار ورودیها زیاد است. ورودیهای فرم از طریق بدنه‌ی پیغام ارسال می‌شود. متد:URL از متد GET استفاده می‌کند. ورودی از طریق فیلد URL در خط درخواست ارسال می‌شود. 2: Application Layer

24 انواع Method HTTP/1.0 GET POST HEAD HTTP/1.1 GET, POST, HEAD PUT
به خدمتگزار می‌گوید که فایل موجود در قسمت بدنه را در مسیری که توسط فیلد URL تعیین می‌شود قرار دهد. DELETE به خدمتگزار می‌گوید که فایل موجود در مسیری که توسط فیلد URL تعیین می‌شود را حذف کند. 2: Application Layer

25 پیغام پاسخ HTTP 2: Application Layer
خط وضعیت (کد وضعیت پروتکل و توضیحات آن) HTTP/ OK Connection close Date: Thu, 06 Aug :00:15 GMT Server: Apache/1.3.0 (Uni x) Last-Modified: Mon, 22 Jun 1998 …... Content-Length: 6821 Content-Type: text/html data data data data data ... خطوط سرآیند داده، مثلاً فایل HTML درخواستی 2: Application Layer

26 کدهای وضعیت پاسخ در HTTP
در خط اول پاسخ خدمتگزار به مشتری قرار دارد. چند نمونه از کدها: 200 OK درخواست موفقیت آمیر بود و شی درخواستی در ادامه ی پیغام قرار دارد. 301 Moved Permanently شی درخواستی به مکان جدیدی منتقل شده است. مکان جدید در ادامه ی پیغام قرار دارد. (Location:) 400 Bad Request خدمتگزار پیغام درخواست را نمی فهمد. 404 Not Found سند درخواستی پیدا نشد. 505 HTTP Version Not Supported 2: Application Layer

27 telnet remus.rutgers.edu 80
آزمایش HTTP ۱-با telnet به خدمتگزار مورد نظر خود وصل شوید. ارتباط TCP را روی پورت ۸۰ میزبان cis.poly.edu. باز می‌کند. هر چه تایپ کنید به پورت ۸۰ این میزبان ارسال خواهد شد. telnet remus.rutgers.edu 80 ۲-درخواست GET HTTP را تایپ کنید. دقت کنید که CR را دوبار بزنید تا پیغام ارسال شود. این درخواست یک درخواست GET حداقل اما کامل است. GET /~rmartin/ HTTP/1.1 Host: remus.rutgers.edu ۳-به جوابی که خدمتگزار HTTP می‌فرستد دقت کنید. 2: Application Layer

28 حالت کاربر در خدمتگزار: کوکی ها
مثال: علی می‌خواهد از طریق کامپیوتر خود به اینترنت وصل شود. و یک سایت تجاری را برای اولین بار ببیند. وقتی که اولین درخواست به سایت برسد، سایت موارد زیر را ایجاد می‌کند: یک ID یکتا یک ردیف در پایگاه داده برای این ID خیلی از سایتها از کوکی استفاده می‌کنند. چهار جزء: ۱- خط سرآیند کوکی در پیغام پاسخ HTTP ۲- خط سرآیند کوکی در پیغام درخواست HTTP ۳- فایل کوکی که در طرف کاربر ذخیره می‌شود و توسط مرورگر کاربر مدیریت می‌گردد. ۴- یک پایگاه داده در سایت 2: Application Layer

29 حالت کاربر در خدمتگزار: کوکی ها (ادامه ..)
حالت کاربر در خدمتگزار: کوکی ها (ادامه ..) client server ebay 8734 usual http request msg Amazon server creates ID 1678 for user create entry cookie file usual http response Set-cookie: 1678 ebay 8734 amazon 1678 usual http request msg cookie: 1678 cookie- specific action access usual http request msg cookie: 1678 cookie- spectific action access usual http response msg backend database one week later: ebay 8734 amazon 1678 usual http response msg 2: Application Layer

30 کوکی ها (ادامه..) 2: Application Layer ملاحظه کوکی و حریم خصوصی
کوکی به سایت اجازه می‌دهد که در مورد شما مطالبی یاد بگیرد. ممکن است اسم و ایمیل خود را به سایتها بدهید. مزایای کوکی: صدور مجوز سبد خرید ارائه پیشنهاد به کاربر وضعیت جلسه‌ی کاربر نحوه ی نگهدار ی حالت: دو طرف ارتباط حالت تراکنشهای انجام شده را نگهداری می‌کنند. کوکی: حالت از طریق پیغامهای http حمل میشود. 2: Application Layer

31 حافظه‌ی نهان (خدمتگزار میانجی)
هدف: برآورده کردن درخواست کاربر بدون درگیر کردن خدمتگزار. origin server کاربر مرورگر را تنظیم می‌کند تا از حافظه‌ی نهان استفاده کند. مرورگر تمام درخواستهای HTTP را به حافظه‌ی نهان می‌فرستد. اگر شی در حافظه‌ی نهان باشد، شی را بر می‌گرداند. در غیر این صورت، حافظه‌ی نهان شی را از خدمتگزار اصلی درخواست کرده و جواب را به مشتری برمی گرداند. HTTP response Proxy server HTTP request client HTTP request HTTP response client origin server 2: Application Layer

32 استفاده از حافظه‌ی نهان در وب
دلایل استفاده از حافظه‌ی نهان در وب کاهش زمان پاسخ به درخواستهای کاربر کاهش ترافیک روی لینک دسترسی سازمان به اینترنت. به ISP های ضعیف اجازه می‌دهد تا بهتر کار کنند. حافظه‌ی نهان هم به عنوان مشتری و هم به عنوان خدمتگزار عمل می‌کند. معمولاً، حافظه‌ی نهان توسط ISP نصب می‌شود. 2: Application Layer

33 مثال حافظه‌ی نهان 2: Application Layer origin servers مفروضات
اندازه ی متوسط شی ۱۰۰۰۰۰ بیت است. در هر ثانیه ۱۵ درخواست به خدمتگزارها ارسال می شود. تاخیر رفت و برگشت مسیریاب تا هر کدام از خدمتگزارها برابر ۲ ثانیه است. در نتیجه: بهره‌وری LAN برابر ۱۵٪ خواهد بود. بهره‌وری لینک دسترسی برابر ۱۰۰٪ خواهد بود. total delay = Internet delay + access delay + LAN delay = 2 sec + minutes + milliseconds public Internet 1.5 Mbps access link institutional network 10 Mbps LAN institutional cache 2: Application Layer

34 مثال حافظه‌ی نهان (ادامه)
origin servers یک راه حل: پهنای باند لینک دسترسی را به ۱۰مگابایت در ثانیه افزایش دهید. در نتیجه: بهره‌وری LAN برابر ۱۵٪ خواهد بود. بهره‌وری لینک دسترسی برابر ۱۵٪ خواهد بود. Total delay = Internet delay + access delay + LAN delay = 2 sec + msecs + msecs public Internet 10 Mbps access link institutional network 10 Mbps LAN institutional cache 2: Application Layer

35 مثال حافظه‌ی نهان (ادامه ...)
origin servers راه حل: نصب حافظه‌ی نهان فرض کنید نرخ بودن داده‌ها در حافظه‌ی نهان برابر ۰.۴ است. در نتیجه: ۴۰٪ درخواستها بلافاصله پاسخ داده می‌شوند. ۶۰٪ درخواستها از طریق خدمتگزار اصلی جواب داده می‌شوند. بهره‌وری لینک دسترسی به ۶۰٪ کاهش می‌یابد و تاخیر پایین می‌ايد (مثلاً 10 ms) total avg delay = Internet delay + access delay + LAN delay = .6*(2.01) secs + .4*milliseconds < 1.4 secs public Internet 1.5 Mbps access link institutional network 10 Mbps LAN institutional cache 2: Application Layer

36 If-modified-since: <date> If-modified-since: <date>
GET شرطی cache server HTTP request msg If-modified-since: <date> هدف: اگر نسخه ی موجود در حافظه‌ی نهان آخرین نسخه است، شی را نفرست. تاریخ ذخیره ی داده در حافظه‌ی نهان را در درخواست HTTP کپی کنید. If-modified-since: <date> جواب خدمتگزار مشخص می‌کند که آیا نسخه‌ی حافظه‌ی نهان به روز است: HTTP/ Not Modified شی تغییر نکرده است. HTTP response HTTP/1.0 304 Not Modified HTTP request msg If-modified-since: <date> شی تغییر کرده است. HTTP response HTTP/ OK <data> 2: Application Layer


Download ppt "لایه ی کاربرد مظفر بگ محمدی 2: Application Layer."

Similar presentations


Ads by Google