سرور (محاسبات)
سرور (محاسبات)
در محاسبات ، سرور قطعهای از سختافزار یا نرمافزار رایانه ( برنامه رایانهای ) است که عملکردی برای برنامهها یا دستگاههای دیگر به نام « کلینت » فراهم میکند. این معماری مدل کلاینت-سرور نامیده می شود . سرورها می توانند عملکردهای مختلفی را ارائه دهند که اغلب به آنها “سرویس” گفته می شود، مانند به اشتراک گذاری داده ها یا منابع بین چندین مشتری، یا انجام محاسبات برای یک کلاینت. یک سرور واحد می تواند به چندین مشتری سرویس دهد و یک کلاینت می تواند از چندین سرور استفاده کند. یک فرآیند مشتری ممکن است در یک دستگاه اجرا شود یا ممکن است از طریق یک شبکه به یک سرور در دستگاه دیگری متصل شود. [1]سرورهای معمولی عبارتند از سرورهای پایگاه داده ، سرورهای فایل ، سرورهای پست الکترونیکی ، سرورهای چاپ ، سرورهای وب ، سرورهای بازی ، و سرورهای برنامه . [2]
سیستمهای سرویس گیرنده-سرور معمولاً اغلب توسط مدل درخواست-پاسخ (و اغلب با آن شناسایی میشوند) پیادهسازی میشوند : یک کلاینت درخواستی را به سرور میفرستد، که برخی از اقدامات را انجام میدهد و پاسخی را به مشتری ارسال میکند، معمولاً با یک نتیجه یا تأیید. . تعیین یک کامپیوتر به عنوان “سخت افزار کلاس سرور” به این معنی است که برای اجرای سرورها بر روی آن تخصصی است. این اغلب به این معنی است که قدرتمندتر و قابل اعتمادتر از رایانه های شخصی استاندارد است ، اما در عوض، خوشه های محاسباتی بزرگ ممکن است از بسیاری از اجزای سرور نسبتاً ساده و قابل تعویض تشکیل شده باشند.
فهرست مطالب
تاریخچه
استفاده از کلمه سرور در محاسبات از تئوری صف می آید ، [3] جایی که به اواسط قرن بیستم باز می گردد، که به طور مشخص در کندال (1953) (همراه با «سرویس»)، مقاله ای که نماد کندال را معرفی کرد، استفاده شد. در مقالات قبلی، مانند Erlang (1909) ، از اصطلاحات دقیق تر مانند “اپراتورهای [تلفن]” استفاده شده است.
در محاسبات، “سرور” حداقل به RFC 5 (1969)، [4] یکی از اولین اسنادی است که ARPANET (سلف اینترنت ) را توصیف می کند، و با “کاربر” در تضاد است و دو نوع میزبان را متمایز می کند : “سرور- میزبان” و “میزبان کاربر”. استفاده از “سرویس” نیز به اسناد اولیه، مانند RFC 4، [5] در تضاد “serving-host” با “using-host” برمی گردد.
فایل Jargon ” سرور ” را به معنای رایج فرآیندی که سرویس را برای درخواست ها انجام می دهد، معمولاً از راه دور، با خواندن نسخه 1981 ( 1.1.0 ) تعریف می کند:
سرور n. نوعی DAEMON که سرویسی را برای درخواست کننده انجام می دهد که اغلب بر روی رایانه ای غیر از رایانه ای که سرور روی آن اجرا می شود اجرا می شود.
عملیات
به بیان دقیق، عبارت سرور به یک برنامه یا فرآیند کامپیوتری (برنامه در حال اجرا) اشاره دارد. از طریق metonymy ، به دستگاهی اطلاق میشود که برای اجرای یک یا چند برنامه سرور استفاده میشود (یا دستگاهی که به آن اختصاص داده شده است). در یک شبکه، چنین دستگاهی میزبان نامیده می شود . علاوه بر سرور ، کلمات serve و service (به ترتیب به عنوان فعل و به عنوان اسم) به طور مکرر استفاده می شود، اگرچه سرویس دهنده و خدمتکار اینگونه نیستند. [a] کلمه سرویس (اسم) ممکن است به یکی از شکل های انتزاعی عملکرد اشاره کند، به عنوان مثال سرویس وب. یا ممکن است به یک برنامه کامپیوتری اشاره داشته باشد که کامپیوتر را به سرور تبدیل می کند، به عنوان مثال سرویس ویندوز . در ابتدا به عنوان «سرورها به کاربران خدمت میکنند» (و «کاربران از سرورها استفاده میکنند»)، به معنای «اطاعت» استفاده میشد، امروزه اغلب میگویند که «سرورها به دادهها خدمت میکنند»، به همان معنای «دادن». به عنوان مثال، وب سرورها “صفحات وب را به کاربران ارائه می دهند” یا “درخواست های آنها را سرویس می دهند”.
سرور بخشی از مدل مشتری-سرور است . در این مدل، یک سرور داده ها را برای مشتریان ارائه می دهد . ماهیت ارتباط بین مشتری و سرور درخواست و پاسخ است. این در تضاد با مدل همتا به همتا است که در آن رابطه متقابل بر اساس تقاضا است. در اصل، هر فرآیند رایانهای که میتواند توسط فرآیند دیگری مورد استفاده یا فراخوانی قرار گیرد (به ویژه از راه دور، به ویژه برای اشتراکگذاری یک منبع) یک سرور است و فرآیند یا فرآیندهای فراخوانی یک سرویس گیرنده است. بنابراین هر کامپیوتر همه منظوره متصل به یک شبکه می تواند میزبان سرورها باشد. برای مثال، اگر فایلهای روی یک دستگاه توسط فرآیندی به اشتراک گذاشته شود، آن فرآیند یک سرور فایل است . به طور مشابه، نرم افزار وب سرور می تواندبر روی هر کامپیوتری قابل اجرا باشد و بنابراین یک لپ تاپ یا یک کامپیوتر شخصی می تواند میزبان وب سرور باشد.
در حالی که درخواست-پاسخ رایج ترین طراحی مشتری-سرور است، موارد دیگری مانند الگوی انتشار-اشتراک وجود دارد. در الگوی انتشار-اشتراک، مشتریان با یک سرور pub-sub ثبت نام می کنند و در انواع مشخصی از پیام ها مشترک می شوند. این ثبت نام اولیه ممکن است با درخواست-پاسخ انجام شود. پس از آن، سرور pub-sub پیامهای منطبق را بدون هیچ درخواست دیگری به کلاینتها ارسال میکند: سرور پیامها را به سمت کلاینت میفرستد، نه اینکه کلاینت پیامها را از سرور مانند درخواست پاسخ میگیرد. [6]
هدف
نوع سرور | هدف | مشتریان |
---|---|---|
برنامه ی سرور | میزبان برنامههای وب (برنامههای رایانهای که در یک مرورگر وب اجرا میشوند) به کاربران شبکه اجازه میدهد بدون نیاز به نصب کپی روی رایانههای خود، آنها را اجرا و استفاده کنند. برخلاف آنچه از نام ممکن است دلالت کند، این سرورها نیازی به بخشی از شبکه جهانی وب ندارند . هر شبکه محلی انجام خواهد داد. | کامپیوتر با مرورگر وب |
سرور کاتالوگ | فهرست یا فهرستی از محتویات اطلاعاتی را که میتوان در یک شبکه توزیعشده بزرگ، مانند رایانهها، کاربران، فایلهای به اشتراک گذاشته شده در سرورهای فایل و برنامههای وب، یافت، حفظ میکند. سرورهای دایرکتوری و سرورهای نام نمونه هایی از سرورهای کاتالوگ هستند. | هر برنامه رایانه ای که نیاز به یافتن چیزی در شبکه دارد، مانند یک عضو Domain که تلاش می کند وارد سیستم شود، یک سرویس گیرنده ایمیل که به دنبال آدرس ایمیل است، یا کاربری که به دنبال یک فایل است. |
سرور ارتباطات | یک محیط مورد نیاز برای یک نقطه پایانی ارتباطی (کاربر یا دستگاه) برای یافتن سایر نقاط پایانی و برقراری ارتباط با آنها را حفظ می کند. بسته به باز بودن و پارامترهای امنیتی شبکه، ممکن است شامل فهرستی از نقاط پایانی ارتباط و سرویس تشخیص حضور باشد یا نباشد. | نقاط پایانی ارتباط (کاربران یا دستگاه ها) |
سرور محاسباتی | مقادیر زیادی از منابع محاسباتی، به ویژه CPU و حافظه با دسترسی تصادفی را از طریق شبکه به اشتراک می گذارد. | هر برنامه کامپیوتری که به قدرت CPU و RAM بیشتری نسبت به رایانه شخصی نیاز دارد، احتمالاً می تواند هزینه کند. مشتری باید یک کامپیوتر تحت شبکه باشد. در غیر این صورت، هیچ مدل مشتری-سرور وجود نخواهد داشت. |
سرور پایگاه داده | هر شکلی از پایگاه داده (مجموعه های سازماندهی شده از داده ها با ویژگی های از پیش تعریف شده که ممکن است در یک جدول نمایش داده شوند) را در یک شبکه نگهداری و به اشتراک می گذارد. | صفحات گسترده ، نرمافزار حسابداری ، نرمافزار مدیریت دارایی یا تقریباً هر برنامه رایانهای که دادههای به خوبی سازماندهی شده را مصرف میکند، به ویژه در حجم زیاد |
سرور فکس | یک یا چند دستگاه فکس را از طریق شبکه به اشتراک میگذارد، بنابراین دردسر دسترسی فیزیکی را از بین میبرد | هر فرستنده یا گیرنده فکس |
سرور فایل | فایلها و پوشهها ، فضای ذخیرهسازی برای نگهداری فایلها و پوشهها ، یا هر دو را از طریق شبکه به اشتراک میگذارد | کامپیوترهای تحت شبکه مشتریان مورد نظر هستند، حتی اگر برنامه های محلی می توانند مشتری باشند |
سرور بازی | چندین رایانه یا دستگاه بازی را قادر میسازد تا بازیهای ویدیویی چند نفره را انجام دهند | رایانه های شخصی یا کنسول های بازی |
سرور ایمیل | برقراری ارتباط با ایمیل را به همان روشی که یک اداره پست امکان برقراری ارتباط با ایمیل حلزون را امکان پذیر می کند | فرستندگان و گیرندگان ایمیل |
سرور رسانه | ویدئوی دیجیتال یا صدای دیجیتال را از طریق شبکه از طریق جریان رسانه به اشتراک میگذارد (انتقال محتوا به گونهای که بتوان بخشهای دریافتی را در حین رسیدن تماشا کرد یا به آن گوش داد، برخلاف دانلود کل فایل و سپس استفاده از آن) | کامپیوترهای شخصی با حضور کاربر مجهز به مانیتور و بلندگو |
سرور چاپ | یک یا چند چاپگر را از طریق یک شبکه به اشتراک میگذارد، بنابراین مشکل دسترسی فیزیکی را از بین میبرد | کامپیوترهایی که نیاز به چاپ چیزی دارند |
سرور صدا | برنامههای رایانهای را قادر میسازد تا صدا را به صورت جداگانه یا مشترک پخش و ضبط کنند | برنامه های رایانه ای همان رایانه و مشتریان شبکه. |
سرور پروکسی | به عنوان یک واسطه بین یک کلاینت و یک سرور عمل می کند و ترافیک ورودی از مشتری را می پذیرد و آن را به سرور ارسال می کند. دلایل انجام این کار شامل کنترل و فیلتر محتوا، بهبود عملکرد ترافیک، جلوگیری از دسترسی غیرمجاز به شبکه یا صرفاً مسیریابی ترافیک در یک شبکه بزرگ و پیچیده است. | هر کامپیوتر شبکه ای |
سرور مجازی | منابع سخت افزاری و نرم افزاری را با سایر سرورهای مجازی به اشتراک می گذارد. فقط همانطور که در نرم افزار تخصصی به نام Hypervisor تعریف شده است وجود دارد . Hypervisor سخت افزار مجازی را به گونه ای به سرور ارائه می دهد که گویی یک سخت افزار فیزیکی واقعی است. [7] مجازی سازی سرور امکان زیرساخت کارآمدتر را فراهم می کند. [8] | هر کامپیوتر شبکه ای |
وب سرور | میزبان صفحات وب وب سرور چیزی است که وب جهانی را ممکن می کند. هر وب سایت دارای یک یا چند وب سرور است. همچنین هر سرور می تواند چندین وب سایت را میزبانی کند. | کامپیوتر با مرورگر وب |
تقریباً کل ساختار اینترنت مبتنی بر مدل مشتری-سرور است. سرورهای نام ریشه سطح بالا ، DNS و روترها ترافیک اینترنت را هدایت می کنند. میلیون ها سرور متصل به اینترنت وجود دارد که به طور مداوم در سراسر جهان در حال اجرا هستند [9] و عملاً هر اقدامی که توسط یک کاربر معمولی اینترنت انجام می شود نیاز به یک یا چند تعامل با یک یا چند سرور دارد. استثناهایی وجود دارد که از سرورهای اختصاصی استفاده نمی کنند. برای مثال، اشتراکگذاری فایلهای همتا به همتا و برخی پیادهسازیهای تلفن (مانند اسکایپ قبل از مایکروسافت ).
سخت افزار
نیاز به سخت افزار برای سرورها بسته به هدف سرور و نرم افزار آن بسیار متفاوت است. سرورها اغلب قدرتمندتر و گرانتر از کلاینت هایی هستند که به آنها متصل می شوند.
از آنجایی که سرورها معمولاً از طریق یک شبکه قابل دسترسی هستند، بسیاری از آنها بدون مانیتور کامپیوتر یا دستگاه ورودی، سخت افزار صوتی و رابط های USB کار می کنند. بسیاری از سرورها رابط کاربری گرافیکی (GUI) ندارند. آنها از راه دور پیکربندی و مدیریت می شوند. مدیریت از راه دور می تواند از طریق روش های مختلفی از جمله کنسول مدیریت مایکروسافت (MMC)، PowerShell ، SSH و سیستم های مدیریت خارج از باند مبتنی بر مرورگر مانند iDRAC Dell یا iLo HP انجام شود .
دیدگاهتان را بنویسید