سرور چیست و چگونه کار می کند؟
یکشنبه 04 مهر 1400
سرور چیست و چگونه کار می کند؟

سرور چیست؟
در دنیای امروز، شبکه اینترنت به یکی از اصلی ترین و بزرگترین شبکه های ارتباطی جهان تبدیل شده است. این شبکه عظیم، میلیاردها کاربر را به هم متصل می کند و امکان ارسال و دریافت اطلاعات را با سرعت بالا و به صورت گسترده فراهم می کند. درست است که برای انتقال اطلاعات در این شبکه از انواع مختلفی از تجهیزات و سیستم ها استفاده می شود، اما از جمله مهم ترین عواملی که نقش حیاتی در عملکرد اینترنت ایفا می کند، سرورها هستند. واژه سرور می تواند هم به یک دستگاه فیزیکی و هم یک دستگاه مجازی و یا نرم افزاری اشاره کند که سرویس های سرور را اجرا می کند. طرز کار یک سرور بسته به این که چه کاربردی دارد متفاوت است. در زبان فارسی کلمه سرور (Server) سرویس دهنده معنی شده است و در زبان IT و کامپیوتر نیز سرویس دهنده به کاربرد سرور اشاره دارد. در واقع سرور درخواستی را از سیستم کاربر می گیرد و پس از پردازش آن توسط خود یا ارسال به سیستم دیگری و پردازش توسط آن سیستم، نتیجه را به کاربر درخواست کننده نمایش می دهد. از این رو سرویس دهنده می تواند معنی مناسبی برای سرور باشد.
انواع سرور از نظر تخصیص منابع- سرور اختصاصی
- سرور مجازی
سرور سخت افزاری یک دستگاه فیزیکی متصل به یک شبکه کامپیوتری است که اغلب در مرکز داده (DataCenter) با شرایط بسیار به خصوصی نگهداری می شود و منابع بالایی دارد. بر روی سرور فیزیکی یک یا چند سرور نرم افزاری در کنار سیستم عامل اجرا می شوند. سرور فیزیکی مانند کامپیوتری است که به عنوان سرویس دهنده در برابر کلاینت عمل می کند و اطلاعات روی آن ذخیره می شوند.
سرور نرم افزاری چیست؟سرور نرم افزاری برنامه ای است که خدمات تخصصی مشخصی را ارائه می دهد تا توسط سایر برنامه ها (کلاینت ها) به صورت محلی در همان سرور و یا از طریق شبکه مورد استفاده قرار گیرد. خدمات ارائه شده در سرور نرم افزاری به نوع نرم افزار سرور بستگی دارد. مدل کلاینت/سرور اساس این ارتباط است و زمانی که صحبت از تبادل داده می شود، درواقع از پروتکل های ارتباطی خاص استفاده می شود.
نرم افزار سرورهر سرور دست کم به دو جزء نرم افزاری نیاز دارد: یک سیستم عامل و یک اپلیکیشن. سیستم عامل به عنوان یک پلتفرم برای اجرای اپلیکیشن های سرور عمل می کند. این مؤلفه نرم افزاری امکان دسترسی به منابع سخت افزاری سیستم را فراهم ساخته و سرویس های وابسته ای که برای کارکرد صحیح اپلیکیشن ها لازم هستند را تأمین می کند.
سرور اختصاصی چیست؟به سرور فیزیکی، سرور اختصاصی نیز می گویند. در واقع، سرور اختصاصی تنها برای یک کاربر استفاده می شود و معمولا از امنیت بسیار بالایی برخوردار است.
سرور مجازی یا VPS چیست؟سرور مجازی نوعی از سرور است که به آن VPS (Virtual Private Server) نیز گفته می شود. سرور مجازی نیز مانند سرور فیزیکی، شامل سیستم عامل و برنامه های کاربردی است. VPS یا همان سرور مجازی، از فناوری مجازی ساز برای تقسیم سرور به چندین بخش استفاده می کند که هر کدام از این بخش ها یک سرور مجازی و مختص به یک کاربر است. تمامی منابع هر سرور مجازی می تواند کاملا اختصاصی باشد. برای ایجاد سرور مجازی (vps) از تکنولوژی مجازی سازی استفاده می شود که یک سرور فیزیکی را به چند سرور مجازی با منابع مجزا تقسیم می کند. در واقع با نصب یک نرم افزار مجازی ساز روی سرور فیزیکی، آن سرور به میزبان سرورهای مجازی تقسیم می شود.
تفاوت کامپیوتر شخصی و سروررایانه های دسکتاپ هم تفاوت ها و هم شباهت هایی دارند. اغلب سرورها بر مبنای معماری پردازنده X86/X64 کار می کنند و از این رو می توانند همان کدی که برای رایانه دسکتاپ با این معماری نوشته شده است را اجرا کنند. اما سرورهای فیزیکی برخلاف رایانه های دسکتاپ غالباً چندین سوکت پردازنده و حافظه با قابلیت اصلاح خطا دارند. سرورها همچنین عموماً از حجم بسیار بالاتری از حافظه نسبت به کامپیوترهای دسکتاپ پشتیبانی می کنند. از آنجا که سخت افزار سرور معمولاً کارهای سنگین و بسیار حساسی را اجرا می کند، سازندگان سخت افزار سرور آن ها را طوری طراحی می کنند تا از اجزای تکراری و متعددی پشتیبانی کنند. برای نمونه یک سرور ممکن است مجهز به چندین منبع تغذیه و چندین اینترفیس شبکه باشد. این اجزای تکراری به سرور امکان می دهند که حتی در صورت خراب شدن یک جزء به کار خود ادامه دهد.
سخت افزار سرور از نظر فاکتور فرم نیز با رایانه های دسکتاپ متفاوت است. رایانه های مدرن دسکتاپ می توانند به صورت مینی تاور موجود باشند که برای قرار گرفتن زیر یک میز طراحی شده اند. با این که همچنان ارائه دهندگانی وجود دارند که سرورهای تاور را می سازند، اما اغلب سرورها امروزه طوری طراحی می شوند که روی رک (Rack) نصب شوند. این سیستم های نصب رک به طور معمول با اصطلاح های فاکتور فرم 1U، 2U، یا 4U توصیف می شوند. فاکتور فرم رک به فضایی که سرور می تواند اشغال کند اشاره دارد. برای نمونه یک سرور 2U دو برابر یک سرور 1U فضا اشغال می کند.
معرفی انواع سرورنحوه ارتباط کلاینت و سرور به سرویس خاصی بستگی دارد و توسط یک پروتکل خاص هم تعیین می شود. این موضوع را می توان با معرفی نمونه هایی از انواع سرور توضیح داد. سرورها عموماً بر حسب اهدافشان دسته بندی می شوند. برخی نمونه های سرورها به شرح زیر هستند:
وب سروروظیفه اصلی یک Web Server (درست مثل مرورگرهای وب یا خزنده های موتورهای جستجو) ذخیره، پردازش و ارائه وب سایت به کلاینت ها است، ارتباط بین سرور (نرم افزار) و کلاینت از طریق پروتکل HTTP یا نسخه رمزگذاری شده آن، HTTPS انجام می شود. اسناد HTML و عناصر درون آن مانند تصاویر، استایل ها یا اسکریپت ها از همین طریق منتقل می شوند. از وب سرورهای مهم می توان به وب سرور آپاچی، وب سرور انجین اکس، وب سرور مایکروسافت به نام IIS، وب سرور تام کت و یا وب سرور لایت اسپید اشاره کرد.
سرور فایلFile Server از طریق شبکه امکان دسترسی به داده ها را برای کلاینت ها فراهم می کند. شرکت ها برای ارائه دسترسی چندین گروه کاری به یک فایل از فایل سرور استفاده می کنند. اگر دسترسی به فایل سرور از طریق اینترنت باشد، از پروتکل های انتقال مانند FTP ،SFTP ،FTPS یا SCP استفاده می شود. همچنین در شبکه های کامپیوتری محلی (LAN) از پروتکل های SMB (Block Message Server) و NFS (Network File System) استفاده می شود.
سرور ایمیلMail Server از چند ماژول نرم افزاری تشکیل شده که با هم کار می کنند و امکان ارسال، دریافت و بازیابی ایمیل ها را فراهم می نمایند. پروتکل SMTP وظیفه انجام این کارها را بر عهده دارد. کاربرانی که تمایل دارند به سرور ایمیل دسترسی داشته باشند، به یک ایمیل کلاینت (Client Email) برای ارسال و دریافت ایمیل ها از سرور و مشاهده آنها در صندوق پستی خود نیاز دارند. این کار توسط پروتکل IMAP یا POP انجام می شود.
سرور پایگاه دادهDatabase Server یک برنامه رایانه ای است که از طریق شبکه به برنامه های دیگر امکان دسترسی به یک یا چند دیتابیس دیگر را می دهد. از دیتابیس های معروف می توان به Microsoft SQL Server یا MySQL اشاره کرد. سرورهای دیتابیس همچنین با ذخیره و تحویل داده ها، از وب سرورها نیز پشتیبانی می کنند.
سرور بازیGame Server ها به صورت تخصصی برای بازی های چند نفره آنلاین کاربرد دارند. این سرورها داده های بازی آنلاین را مدیریت می کنند و تعامل با دنیای مجازی را امکان پذیر می سازند. سخت افزار گیم سرور می تواند از دیتاسنتر یا یک شرکت ارائه دهنده خدمات میزبانی وب تامین گردد.
سرور پراکسیProxy Server به عنوان یک رابط بین شبکه های کامپیوتری عمل می کند. پراکسی سرور درخواست های شبکه را دریافت کرده و سپس آنها را از طریق آدرس IP خودش ارسال می کند. پراکسی ها برای فیلتر کردن ارتباطات، کنترل پهنای باند، افزایش دسترس پذیری از طریق لودبالانسینگ و یا ذخیره داده ها استفاده می شوند. سرور پراکسی همچنین به ناشناس ماندن یک کامپیوتر در شبکه کمک می کند چرا که آدرس IP آن کامپیوتر در پشت Proxy مخفی می شود.
سرور نام دامنهDNS Server مسئول تفکیک نام دامنه ها در شبکه است. سرور DNS در واقع نام دامنه هایی که به آسانی در خاطر انسان به یاد سپرده می شود را به آدرس IP همان نام ترجمه می کند، بنابراین دیگر نیازی نیست شما برای باز کردن وب سایت ها در مروگر خود، آدرس آی پی های طولانی را وارد کنید.
سرور انتقال فایلFTP Server برای انتقال فایل ها از یک کامپیوتر به کامپیوتر دیگر استفاده می شود. فایل هایی که آپلود می شوند از رایانه شما به سرور منتقل می شوند در حالی که فایل های دانلود شده از سرور بر روی دستگاه شما دریافت می شوند. پروتکل FTP همچنین به روش استفاده از سرور برای اتصال یک رایانه به رایانه دیگر به منظور اشتراک گذاری ایمن داده ها اشاره دارد.
سرور چاپPrint Server امکان اتصال از راه دور به رایانه های درون شبکه را فراهم می سازد تا بتوان بدون نیاز به حضور فیزیکی عملیات چاپ را انجام داد. پرینت سرورها امکان استفاده از یک چاپگر را برای استفاده در تمامی بخش های یک کسب و کار فراهم می کنند، بنابراین در کاهش هزینه های سازمان تاثیرگذار خواهند بود.
سرور مانیتورینگMonitoring Server ها وظیفه نظارت و رصد درخواست کاربران در شبکه را بر عهده دارند. همچنین کاربرد دیگر آنها در ثبت رویدادها و مشکلاتی است که ممکن است از کاهش عملکرد سرور ناشی شود. سرورهای مانیتورینگ برای مدیران شبکه بسیار کاربردی هستند.
سرور تیغهBlade به یک شاسی سرور گفته می شود که میزبان چندین بورد الکتریکی الکترونیکی ماژولار نازک است که به نام تیغه سرور شناخته می شوند. هر بلِید یک سرور برای خود محسوب می شود و معمولاً برای یک اپلیکیشن منفرد اختصاص می یابد.
سرور اپلیکیشنApplication Server برنامه ای روی یک رایانه در یک شبکه توزیع یافته است که منطق بیزینس را برای یک برنامه اپلیکیشن تأمین می کند. اپلیکیشن سرور می تواند به منظور توسعه یا اجرای وب اپلیکیشن ها مورد استفاده قرار گیرد. انواع بسیار متفاوتی از سرورهای اپلیکیشن مانند Java، PHP و فریمورک NET. وجود دارند. سرور اپلیکیشن مزیت های مختلفی ارائه می کند. با بهره گیری از اپلیکیشن سرور می توانید یکپارچگی داده و کد بیشتری را با رویکردی متمرکزتر ارائه کنید و اپلیکیشن ها را به این ترتیب به روز رسانی کرده و ارتقا دهید. همچنین با توجه به متمرکز شدن رویه ها، امنیت دسترسی به آن ها نیز ارتقا می یابد.
سرور پالیسیPolicy Server به یک مؤلفه امنیتی شبکه مبتنی بر پالیسی گفته می شود که سرویس های احراز هویت را عرضه کرده و ردگیری و کنترل فایل ها را تسهیل می کند.
چرا سرورها همیشه روشن هستند؟از سرورها برای ارائه خدماتی که به طور دائم مورد نیاز هستند استفاده می شود، طبیعتا برای این حالت سرورها هرگز نباید خاموش شوند. زمانی که سرورها از دسترس خارج شوند، می توانند مشکلات زیادی خصوصا برای کاربران شبکه ایجاد کنند. برای کاهش احتمال بروز این مشکلات، سرورها معمولاً به گونه ای تنظیم می شوند که آستانه تحمل بالایی داشته باشند.
انتخاب سرور مناسبزمانی که نوبت به انتخاب سرور از جمله سرور مجازی و مجزا سازی کانتینری می رسد، عوامل مختلفی وجود دارند که باید در نظر گرفته شوند. زمانی که می خواهیم یک سرور را انتخاب کنیم اهمیت قابلیت های خاص را بر مبنای کاربردهایشان می سنجیم. قابلیت های امنیتی نیز مهم هستند و همچنین برخی حفاظت ها، قابلیت تشخیص و بازیابی از جمله رمزنگاری داده ها برای حفاظت از داده ها و همچنین وجود گزارش گیری از داده ها برای ثبت همه فعالیت ها جزو مواردی هستند که باید در نظر داشت. اگر سرور از یک ذخیره سازی درونی بهره می گیرد، انتخاب نوع دیسک و ظرفیت آن نیز مهم است، زیرا می تواند تأثیر مهمی روی ورودی/خروجی و پایداری سرور داشته باشد.