کاربردها و خدمات شبکه
کاربردها و خدمات شبکه، برنامهها و پروتکلهایی هستند که در لبه شبکه اجرا میشوند و به کاربران ارزش ارائه میدهند — از وب و ایمیل گرفته تا سیستم نام دامنه و شبکههای توزیع محتوا — که بر اساس خدمات انتقال زیرین خود ساخته شدهاند.
Definition
لایه کاربرد بالاترین لایه پروتکل است، جایی که فرآیندهای کاربردی شبکهای پیامها را مطابق با پروتکلهای خاص کاربرد مبادله میکنند؛ خدمات شبکه زیرساختهای پشتیبانیکننده هستند، مانند نامگذاری و تحویل محتوا، که این کاربردها به آنها وابسته هستند.
Scope
این حوزه شامل لایه کاربرد و خدمات زیرساختی است که از آن پشتیبانی میکنند: معماریهای کاربردی (مشتری-سرور و همتا به همتا)، پروتکلهای کاربردی اصلی مانند HTTP، SMTP و FTP، سیستم نام دامنه که نامهای قابل خواندن برای انسان را به آدرسها نگاشت میکند، شبکههای توزیع محتوا که محتوا را در نزدیکی کاربران تکثیر میکنند، و یک نمای کلی از امنیت شبکه که در مورد سیستمهای ارتباطی اعمال میشود. این حوزه مکانیسمهای لایه انتقال را که به آنها متکی است، مستثنی میکند و در عوض بر خدمات کاربردی که ارائه میدهند و پروتکلهایی که با آنها صحبت میکنند، تمرکز دارد.
Sub-topics
Core questions
- کاربردهای شبکه چگونه ساختار یافتهاند — مشتری-سرور در مقابل همتا به همتا — و مزایا و معایب آنها چیست؟
- پروتکلهای کاربردی اصلی مانند HTTP و SMTP چگونه قالبها و تعاملات پیام را تعریف میکنند؟
- سیستم نام دامنه چگونه نامها را به آدرسها به روشی مقیاسپذیر و توزیعشده ترجمه میکند؟
- شبکههای توزیع محتوا چگونه با تکثیر محتوا در نزدیکی کاربران، تأخیر و بار را کاهش میدهند؟
- کاربردهای شبکهای چه ویژگیهای امنیتی — محرمانگی، یکپارچگی، احراز هویت — را باید فراهم کنند و چگونه؟
Key concepts
- معماری مشتری-سرور
- معماری همتا به همتا
- HTTP و وب
- پروتکلهای ایمیل (SMTP, IMAP)
- سیستم نام دامنه (DNS)
- کشینگ و سلسلهمراتب DNS
- شبکههای توزیع محتوا (CDNs)
- سوکتها و APIهای کاربردی
- محرمانگی، یکپارچگی و احراز هویت
- امنیت لایه انتقال (TLS)
Key theories
- معماریهای مشتری-سرور و همتا به همتا
- کاربردها یا حول سرورهای همیشه روشن که مشتریان با آنها تماس میگیرند سازماندهی میشوند، که مدیریت را متمرکز میکند اما بار را افزایش میدهد، یا به عنوان سیستمهای همتا به همتا که میزبانهای شرکتکننده هم درخواست میدهند و هم سرویس میدهند، که با جمعیت کاربران مقیاسپذیر است اما مدیریت و امنیت را پیچیده میکند.
- نامگذاری سلسلهمراتبی و توزیعشده (DNS)
- سیستم نام دامنه نامها را از طریق یک سلسلهمراتب از سرورهای معتبر واگذار شده و کشینگ تهاجمی به آدرسها تبدیل میکند و یک سرویس جستجوی مقیاسپذیر و مقاوم را فراهم میکند که هیچ سازمان واحدی آن را به طور کامل کنترل نمیکند.
- تکثیر و توزیع محتوا
- شبکههای توزیع محتوا نسخههایی از محتوا را روی سرورهای نزدیک به کاربران قرار میدهند و هر درخواست را به یک کپی مناسب هدایت میکنند، که تأخیر، بار سرور مبدأ و ترافیک ستون فقرات را کاهش میدهد — یک دلیل کلیدی برای عملکرد خوب خدمات وب و جریان داده در مقیاس بزرگ.
Clinical relevance
لایه کاربرد همان چیزی است که کاربران واقعاً تجربه میکنند: وب، رسانههای جاری، پیامرسانی و خدمات ابری همگی در اینجا قرار دارند. DNS یک وابستگی حیاتی برای تقریباً هر تعامل آنلاین است و قطعی در آن به طور گستردهای گسترش مییابد. شبکههای توزیع محتوا سهم بزرگی از ترافیک اینترنت را حمل میکنند و برای ارائه ویدئو و نرمافزار در مقیاس بزرگ حیاتی هستند، در حالی که امنیت لایه کاربرد از طریق TLS از محرمانگی و یکپارچگی ارتباطات روزمره محافظت میکند.
History
کاربردهای اولیه اینترنت ایمیل و انتقال فایل بودند؛ شبکه جهانی وب، که توسط تیم برنرز-لی در حدود سال 1990 با HTTP و HTML اختراع شد، اینترنت را به یک رسانه جمعی تبدیل کرد. سیستم نام دامنه (موکاپتریس، اواسط دهه 1980) یک فایل مسطح از نامهای میزبان را با یک دایرکتوری توزیعشده مقیاسپذیر جایگزین کرد. شبکههای توزیع محتوا در اواخر دهه 1990 برای مقابله با رشد وب ظهور کردند و رمزنگاری لایه کاربرد از SSL به TLS برای ایمنسازی ارتباطات تکامل یافت.
Debates
- خدمات ابری متمرکز مشتری-سرور در مقابل سیستمهای همتا به همتا غیرمتمرکز
- معماریهای ابری متمرکز قابلیت مدیریت و عملکرد ثابت را ارائه میدهند اما کنترل را متمرکز کرده و نقاط تکشکست ایجاد میکنند، در حالی که طراحیهای همتا به همتا و غیرمتمرکز بار و کنترل را با هزینه پیچیدگی توزیع میکنند؛ این تعادل در اشتراکگذاری فایل، تحویل محتوا و تلاشهای نوظهور وب غیرمتمرکز تکرار میشود.
Key figures
- Tim Berners-Lee
- Paul Mockapetris
- Roy Fielding
- Jon Postel
Related topics
Seminal works
- kurose2021
- rfc9110
- rfc1035
Frequently asked questions
- سیستم نام دامنه چه کاری انجام میدهد؟
- DNS نامهای کاربرپسند مانند example.com را به آدرسهای IP که لایه شبکه برای مسیریابی بستهها نیاز دارد، ترجمه میکند. این یک پایگاه داده توزیعشده و سلسلهمراتبی با کشینگ است، بنابراین جستجوها سریع هستند و سیستم بدون اینکه هیچ سرور واحدی همه نامها را نگه دارد، به کل اینترنت مقیاسپذیر است.
- یک شبکه توزیع محتوا چگونه سرعت وب را افزایش میدهد؟
- یک CDN نسخههایی از محتوا را روی بسیاری از سرورهای پراکنده در سراسر جهان ذخیره میکند و درخواست هر کاربر را به یک کپی نزدیک هدایت میکند. این مسیر شبکه را کوتاه میکند، تأخیر و از دست دادن بسته را کاهش میدهد، در حالی که بار سرور مبدأ را نیز کاهش میدهد و ترافیک طولانیمدت را کم میکند، که همه اینها با هم سرعت و قابلیت اطمینان را بهبود میبخشند.