سرور چیست؟

سرور چیست؟
سرور مجموعهای از سختافزار (Hardware) و نرمافزار (Software) است که برای ارائه خدمات مختلف به کلاینتها (Clients) در محاسبات استفاده میشود. سرورها بخش مهمی از دنیای محاسبات هستند و امروزه هر کاربر اینترنت از خدمات مختلف ارائهشده توسط سرورهای شرکتهای مختلف استفاده میکند. سرورها بخشی از مدل کلاینت-سرور (Client-Server Model) هستند و به طور همزمان توسط چندین کلاینت مورد استفاده قرار میگیرند. معمولاً سرورها از سختافزار و نرمافزار تخصصی تشکیل شدهاند، اما در برخی موارد، سختافزار سرور میتواند یک کامپیوتر معمولی، لپتاپ یا حتی یک دستگاه موبایل باشد که یک برنامه یا سرویس سرور را اجرا میکند.
تاریخچه سرور
اصطلاح “سرور” توسط کندال (Kendall) در سال ۱۹۵۳ در نظریه صفبندی (Queueing Theory) ابداع شد. اولین استفاده فنی و واقعگرایانه از این اصطلاح به سال ۱۹۶۹ برمیگردد، جایی که سرور در سند RFC 5 توضیح داده شد. این سند مربوط به ARPANET بود که پیشدرآمد اینترنت امروزی محسوب میشود.
ویژگیها و خصوصیات سرورها
سرورها با کامپیوترهای شخصی (PCs)، دستگاههای موبایل و سایر دستگاههای مرتبط با فناوری اطلاعات (IT) تفاوتهایی دارند که در ادامه به برخی از این ویژگیها اشاره میشود:
- مقیاسپذیری (Scalability): سختافزار، سیستم عامل (Operating System) و نرمافزار سرورها با قابلیت مقیاسپذیری طراحی شدهاند. این ویژگی باعث میشود سرورها قابلیت اطمینان (Reliability) و عملکرد بالاتری داشته باشند.
- قابلیت اطمینان (Reliability): مهمترین ویژگی سرورها، قابلیت اطمینان آنهاست. سرورها به گونهای طراحی شدهاند که به صورت ۲۴ ساعته و ۷ روز هفته بدون وقفه کار کنند. سختافزار، سیستم عامل و نرمافزار آنها باید به گونهای باشد که بتوانند ماهها یا حتی سالها بدون مشکل کار کنند.
- هزینه (Cost): سرورها به عنوان اجزای فناوری اطلاعات سازمانی (Enterprise IT Components) شناخته میشوند و به همین دلیل هزینه آنها بسیار بیشتر از کامپیوترهای شخصی یا لپتاپهاست. هزینه سرورها همچنین به دلیل استفاده از سختافزارهای افزونه (Redundant Hardware) و نرمافزارهای پیشرفته افزایش مییابد.

انواع سرورها و کاربردهای آنها
سرورها معمولاً برای ارائه خدمات خاصی به کلاینتها از طریق شبکه طراحی و ایجاد میشوند. با پیشرفت فناوری محاسبات، انواع مختلفی از خدمات به کلاینتها ارائه میشود. در این بخش به برخی از انواع سرورها و کاربردهای آنها اشاره میشود:
- سرور برنامههای کاربردی (Application Server): این نوع سرور یکی از محبوبترین نمونههای سرور است که در آن یک یا چند برنامه کاربردی از طریق شبکه به کلاینتها ارائه میشود. سرورهای برنامههای کاربردی معمولاً شامل تمام یا بخش عمدهای از کد برنامه هستند و کلاینتها تنها از طریق مرورگر وب (Web Browser) به این برنامهها متصل میشوند. به عنوان مثال، فیسبوک (Facebook)، گوگل سرچ (Google Search) و توییتر وب (Twitter Web) نمونههایی از برنامههای کاربردی هستند که توسط سرورهای برنامههای کاربردی ارائه میشوند.
- سرور کاتالوگ (Catalog Server): این نوع سرور قدیمیتر است و اطلاعات ساختاریافته و کاتالوگشده را ارائه میدهد. سرورهای کاتالوگ معمولاً اطلاعاتی مانند لیست کامپیوترها، نامهای کاربری، شمارههای تلفن، کاربران و لیست سرورها را ارائه میدهند. این نوع سرور در روزهای اولیه محبوبیت زیادی داشت، اما امروزه کمتر استفاده میشود.
- سرور وب (Web Server): این نوع سرور شبیه به سرور برنامههای کاربردی است، اما کمی متفاوت است. سرور وب ممکن است برنامههای وب را اجرا کند و همچنین منابع وب دیگری مانند تصاویر، اسناد، فایلهای CSS و JavaScript را ارائه دهد. سرورهای وب معمولاً شامل برنامههای سرور وب مانند آپاچی (Apache)، انجیناکس (Nginx) و IIS هستند.
- سرور پایگاه داده (Database Server): این نوع سرور عمدتاً برای ارائه خدمات پایگاه داده طراحی شده است. سرورهای پایگاه داده اطلاعات را به صورت ساختاریافته ذخیره میکنند و دسترسی، بهروزرسانی، حذف و افزودن دادهها را به کلاینتها ارائه میدهند. سرورهای پایگاه داده معمولاً توسط سرورهای برنامههای کاربردی برای ذخیره و مصرف دادهها استفاده میشوند.
- سرور فایل (File Server): این نوع سرور برای ذخیره و ارائه فایلها از طریق شبکه استفاده میشود. سرورهای فایل دسترسی به فایلها را برای چندین کلاینت فراهم میکنند. این نوع سرور محبوب است زیرا فایلها، اسناد، تصاویر و برنامهها میتوانند از یک نقطه واحد بدون نیاز به تکرار در کامپیوترهای مختلف قابل دسترسی باشند.
- سرور بازی (Game Server): این نوع سرور به تازگی ظهور کرده است و به بازیکنان اجازه میدهد تا بازیهای آنلاین را در یک پلتفرم واحد انجام دهند. سرورهای بازی منطق بازی را اجرا میکنند و چندین کلاینت به همان بازی متصل میشوند، در حالی که گرافیک بازی توسط کلاینتها رندر میشود.
- سرور ایمیل (Mail Server): این نوع سرور بخش اصلی فناوری اطلاعات و کسبوکار امروزی است. ایمیلها بخش مهمی از فناوری اطلاعات و ارتباطات هستند و در سرورهای ایمیل ذخیره و منتقل میشوند. کلاینتها از طریق سرورهای ایمیل اقدام به ارسال یا دریافت ایمیل میکنند و نمیتوانند مستقیماً به یکدیگر ایمیل ارسال کنند.
- سرور رسانه (Media Server): این نوع سرور به تازگی با پیشرفت اینترنت و دستگاههای موبایل ظهور کرده است. سرورهای رسانه برای ذخیره و پخش انواع مختلف رسانهها مانند فیلم، موسیقی، تصویر و فایل استفاده میشوند. خدمات رسانهای میتوانند توسط شرکتها یا حتی سرورهای رسانهای خانگی ارائه شوند. نتفلیکس (Netflix) و هولو (Hulu) نمونههایی از سرورهای رسانهای ارائهشده توسط شرکتها هستند.
- سرور چاپ (Print Server): این نوع سرور برای ارائه خدمات چاپ به کلاینتها از طریق شبکه استفاده میشود. چاپگرها به سرور چاپ متصل میشوند و هر درخواست یا کار چاپ به سرور چاپ ارسال میشود و سرور چاپ آن را به چاپگر منتقل میکند. سرورهای چاپ معمولاً در شرکتها استفاده میشوند، اما کاربران خانگی نیز میتوانند سرورهای چاپ راهاندازی کنند.
- سرور پروکسی (Proxy Server): این نوع سرور به عنوان واسطه برای اتصال به سایر سرورها استفاده میشود. سرورهای پروکسی بین ارتباط کلاینت و سرور عمل میکنند. معمولاً شرکتها یا افراد از سرورهای پروکسی وب برای اتصال به سرویسهای وب از راه دور استفاده میکنند. سرورهای پروکسی امکان احراز هویت (Authentication)، امنیت (Security)، محافظت (Protection) و ناشناسماندن (Anonymity) را فراهم میکنند.
- سرور مجازی یا مجازیسازی (Virtual or Virtualization Server): این نوع سرور خدمات مجازیسازی (Virtualization) را ارائه میدهد. سرورهای مجازی عمدتاً در سطح سازمانی استفاده میشوند و منابع مختلفی مانند محاسبات، حافظه، ذخیرهسازی و پردازش گرافیکی را به کلاینتها ارائه میدهند. VMware، HyperV و Citrix نمونههایی از نرمافزارهای سرور مجازیسازی هستند.
- سرورهای ابری (Cloud Servers): این نوع سرور شبیه به سرورهای مجازیسازی است، اما معمولاً خدمات بیشتری ارائه میدهد و توسط ارائهدهندگان خدمات ابری مانند Amazon Web Services، Google Cloud Platform و Microsoft Azure ارائه میشود. سرورهای ابری خدمات متنوعی مانند محاسبات، محاسبات بدون سرور (Server-less Computing)، پردازش گرافیکی و شبکه تحویل محتوا (CDN) را ارائه میدهند.
- سرورهای DNS، FTP و DHCP: این نوع سرورها برای ارائه خدمات شبکه مانند DNS، FTP و DHCP استفاده میشوند. یک سرور میتواند تمام این خدمات را ارائه دهد یا سرورهای مختلف میتوانند خدمات متفاوتی ارائه دهند. این نوع سرورها به دلیل بار کاری کم، با منابع محدود نیز میتوانند کار کنند.
اجزای سرور و معماری آن
همانطور که قبلاً ذکر شد، سرورها از چندین جزء تشکیل شدهاند که به آنها نرمافزار سرور (Server Software) و سختافزار سرور (Server Hardware) گفته میشود. همچنین یک جزء کماهمیتتر به نام سیستم عامل سرور (Server Operating System) وجود دارد. اگرچه همه این اجزا برای اینکه یک سیستم را سرور بنامیم ضروری نیستند، اما معمولاً نرمافزار سرور مهمترین بخش سرور محسوب میشود.
- نرمافزار سرور (Server Software): این بخش مهمترین جزء سرور است که خدمات از طریق آن ارائه میشود. معمولاً نرمافزار سرور به عنوان یک سرویس روی سیستم عمل میکند و به طور خودکار در هنگام راهاندازی سیستم شروع به کار میکند. نرمافزار سرور به صورت ۲۴ ساعته و ۷ روز هفته با وقفههای بسیار کم یا بدون وقفه کار میکند تا خدمات قابل اطمینانی به کلاینتها ارائه دهد.
- سیستم عامل سرور (Server Operating System): سیستم عامل سرور را میتوان جزء کماهمیتتری از سرور دانست. این سیستم عامل مسئول مدیریت سختافزار سرور و ارائه بستری برای اجرای نرمافزار سرور است. امروزه بیشتر سیستمعاملها میتوانند به عنوان سیستم عامل سرور استفاده شوند، اما برای قابلیت اطمینان بیشتر، عملکرد بهتر و کاهش عملیات، بهتر است از سیستمعاملهای سرور که به طور خاص برای این منظور طراحی شدهاند استفاده شود. Microsoft Server 2012، Microsoft Server 2016، Microsoft Server 2019، Ubuntu Server، CentOS و SUSE نمونههایی از سیستمعاملهای سرور محبوب هستند.
- سختافزار سرور (Server Hardware): سختافزار سرور برای ایجاد بخش فیزیکی سرور استفاده میشود و شامل سختافزارهایی است که به طور خاص برای سرورها طراحی شدهاند. اگرچه کامپیوترهای معمولی یا دستگاههای موبایل نیز میتوانند به عنوان سختافزار سرور استفاده شوند، اما از نظر پایداری، دوام و عملکرد به پای سختافزارهای سرور نمیرسند. سختافزار سرور بسیار قابل اطمینانتر از سختافزارهای استاندارد است، اما به دلیل ویژگیها و پایداری سطح سازمانی، هزینه بیشتری نیز دارد.
سختافزار سرور
سختافزار سرور معمولاً رابط کاربری گرافیکی (GUI) کمتری دارد یا اصلاً ندارد، مگر اینکه یک سرور بازی یا رندرینگ باشد.
- پردازنده سرور (Server CPU): پردازندههای سرور باید قابل اطمینان باشند و معمولاً از پردازندههای Intel Xeon استفاده میشود.
- ذخیرهسازی سرور (Server Storage): ذخیرهسازی سرور معمولاً شامل چندین هارد دیسک (HDD) برای افزایش قابلیت اطمینان و عملکرد است.
- کارتهای RAID: سرورها از کارتهای RAID برای افزایش عملکرد و پایداری ذخیرهسازی استفاده میکنند تا بتوانند از چندین دستگاه هارد دیسک به طور همزمان استفاده کنند.
- منبع تغذیه (Power Supply): سرورها از منابع تغذیه پیشرفتهتری استفاده میکنند و حتی ممکن است از چندین منبع تغذیه برای یک سرور استفاده شود تا اطمینان حاصل شود که برق به طور مداوم تأمین میشود.
- محل قرارگیری سرورها: سرورها معمولاً در اتاقها یا مکانهای خاصی مانند اتاق سرور (Server Room) یا مرکز داده (Data Center) قرار میگیرند که به خوبی خنکسازی شدهاند.
تفاوت سرور و کامپیوتر شخصی (PC)
اگرچه کامپیوترهای شخصی، دستگاههای موبایل یا لپتاپها نیز میتوانند به عنوان سرور استفاده شوند، اما تفاوتهایی بین سرورهای رسمی و کامپیوترهای شخصی از نظر سختافزار، سیستم عامل و نرمافزار وجود دارد.
- سختافزار، سیستم عامل و نرمافزار سرورها قابل اطمینانتر از کامپیوترهای شخصی هستند.
- هزینه سختافزار، سیستم عامل و نرمافزار سرورها بیشتر از کامپیوترهای شخصی است.
- سختافزار سرورها معمولاً سنگینتر از سختافزار کامپیوترهای شخصی است.
- سختافزار سرورها معمولاً به صورت تکراری و چندگانه است، در حالی که سختافزار کامپیوترهای شخصی معمولاً تکنمونه است.
- سختافزار، سیستم عامل و نرمافزار کامپیوترهای شخصی میتوانند به عنوان سرور استفاده شوند، اما به اندازه سرورهای رسمی قابل اطمینان نخواهند بود.
- سرورها میتوانند به ویژه از نظر نرمافزار خوشهبندی (Clustered) شوند، اما چندین کامپیوتر شخصی نمیتوانند خوشهبندی شوند.
- سرورها به صورت ۲۴ ساعته و ۷ روز هفته کار میکنند، در حالی که کامپیوترهای شخصی معمولاً ۶ تا ۱۰ ساعت در روز استفاده میشوند.
- سرورها در محیطهای خاصی مانند اتاق سرور یا مرکز داده قرار میگیرند، در حالی که کامپیوترهای شخصی در محیطهای زندگی و کار استفاده میشوند.
- سرورها گرمای بیشتری نسبت به کامپیوترهای شخصی تولید میکنند.
- سرورها معمولاً سر و صدای بیشتری نسبت به کامپیوترهای شخصی تولید میکنند.
- سرورها معمولاً از مانیتور استفاده نمیکنند، در حالی که کامپیوترهای شخصی همیشه با مانیتور استفاده میشوند.
پاسخ به سوالات
۱. سرور چیست و چه نقشی در شبکههای کامپیوتری دارد؟
پاسخ:
سرور یک سیستم کامپیوتری است که از ترکیب سختافزار (Hardware) و نرمافزار (Software) تشکیل شده و خدمات مختلفی را به کلاینتها (Clients) ارائه میدهد. نقش اصلی سرور در شبکههای کامپیوتری، مدیریت و ارائه منابعی مانند دادهها، برنامهها، فایلها و خدمات شبکه به کلاینتهاست. سرورها بخشی از مدل کلاینت-سرور (Client-Server Model) هستند و به طور همزمان توسط چندین کاربر یا دستگاه قابل دسترسی هستند.
۲. تفاوت سرور و کامپیوتر شخصی (PC) چیست؟
پاسخ:
سرورها و کامپیوترهای شخصی از نظر سختافزار، نرمافزار و عملکرد تفاوتهای زیادی دارند:
- قابلیت اطمینان: سرورها برای کار مداوم و بدون وقفه طراحی شدهاند، در حالی که کامپیوترهای شخصی برای استفادههای روزمره و با زمان کار کمتر مناسباند.
- هزینه: سرورها به دلیل استفاده از سختافزارهای پیشرفته و افزونه (Redundant)، هزینه بیشتری دارند.
- محل قرارگیری: سرورها معمولاً در اتاقهای سرور یا مراکز داده (Data Centers) قرار میگیرند، در حالی که کامپیوترهای شخصی در محیطهای اداری یا خانگی استفاده میشوند.
- مقیاسپذیری: سرورها قابلیت گسترش و مدیریت منابع بیشتری را دارند.
۳. سرور وب (Web Server) چیست و چگونه کار میکند؟
پاسخ:
سرور وب نوعی سرور است که صفحات وب و محتوای مرتبط با آنها را به کلاینتها ارائه میدهد. هنگامی که کاربر در مرورگر خود آدرس یک سایت را وارد میکند، درخواست به سرور وب ارسال میشود. سرور وب این درخواست را پردازش کرده و صفحات HTML، تصاویر، فایلهای CSS و JavaScript را به مرورگر کاربر ارسال میکند. نمونههایی از نرمافزارهای سرور وب شامل Apache، Nginx و IIS هستند.
۴. سرور پایگاه داده (Database Server) چه کاربردی دارد؟
پاسخ:
سرور پایگاه داده برای ذخیره، مدیریت و ارائه دادهها به کلاینتها استفاده میشود. این سرورها دادهها را به صورت ساختاریافته در جداول ذخیره میکنند و امکان انجام عملیاتهایی مانند افزودن، حذف، بهروزرسانی و جستجوی دادهها را فراهم میکنند. سرورهای پایگاه داده معمولاً توسط برنامههای کاربردی (Application Servers) برای ذخیره و بازیابی اطلاعات استفاده میشوند. نمونههایی از نرمافزارهای پایگاه داده شامل MySQL، Oracle و Microsoft SQL Server هستند.
۵. سرور ابری (Cloud Server) چیست و چه مزایایی دارد؟
پاسخ:
سرور ابری نوعی سرور است که توسط ارائهدهندگان خدمات ابری مانند Amazon Web Services (AWS)، Google Cloud Platform (GCP) و Microsoft Azure ارائه میشود. این سرورها به جای اینکه روی سختافزار فیزیکی محلی اجرا شوند، روی زیرساختهای ابری میزبانی میشوند. مزایای سرورهای ابری عبارتند از:
- مقیاسپذیری: امکان افزایش یا کاهش منابع بر اساس نیاز.
- دسترسی از راه دور: امکان دسترسی به سرور از هر نقطهای در جهان.
- کاهش هزینهها: پرداخت به ازای استفاده (Pay-as-you-go) و عدم نیاز به سرمایهگذاری اولیه برای سختافزار.
۶. سرور پروکسی (Proxy Server) چه کاربردی دارد؟
پاسخ:
سرور پروکسی به عنوان واسطه بین کلاینت و سرور اصلی عمل میکند. این سرور درخواستهای کلاینتها را دریافت کرده و به جای آنها به سرورهای دیگر ارسال میکند. کاربردهای اصلی سرور پروکسی عبارتند از:
- افزایش امنیت: مخفی کردن آدرس IP کلاینت و محافظت از حریم خصوصی.
- فیلتر کردن محتوا: جلوگیری از دسترسی به سایتهای خاص.
- بهبود عملکرد: ذخیرهسازی موقت (Caching) دادهها برای کاهش زمان بارگذاری.
۷. سرور مجازی (Virtual Server) چیست و چگونه کار میکند؟
پاسخ:
سرور مجازی نوعی سرور است که با استفاده از فناوری مجازیسازی (Virtualization) ایجاد میشود. در این روش، یک سرور فیزیکی به چندین سرور مجازی تقسیم میشود که هر کدام به طور مستقل عمل میکنند. این سرورها منابعی مانند پردازنده، حافظه و ذخیرهسازی را به اشتراک میگذارند، اما از نظر نرمافزار کاملاً جدا هستند. مزایای سرورهای مجازی شامل کاهش هزینهها، انعطافپذیری و استفاده بهینه از منابع است.
۸. سرور ایمیل (Mail Server) چگونه کار میکند؟
پاسخ:
سرور ایمیل برای ارسال، دریافت و ذخیرهسازی ایمیلها استفاده میشود. هنگامی که کاربری یک ایمیل ارسال میکند، سرور ایمیل فرستنده، پیام را به سرور ایمیل گیرنده ارسال میکند. سرور گیرنده نیز ایمیل را در صندوق ورودی کاربر ذخیره میکند. پروتکلهای رایج در سرورهای ایمیل شامل SMTP (برای ارسال ایمیل)، POP3 و IMAP (برای دریافت ایمیل) هستند.
۹. چرا سرورها به سیستمعاملهای خاصی نیاز دارند؟
پاسخ:
سیستمعاملهای سرور (Server Operating Systems) به گونهای طراحی شدهاند که نیازهای خاص سرورها را برآورده کنند. این سیستمعاملها ویژگیهایی مانند:
- پایداری و قابلیت اطمینان: توانایی کار مداوم بدون وقفه.
- امنیت پیشرفته: محافظت از دادهها و منابع در برابر حملات.
- پشتیبانی از منابع گسترده: مدیریت حجم بالای دادهها و درخواستها.
نمونههایی از سیستمعاملهای سرور شامل Windows Server، Ubuntu Server و CentOS هستند.
۱۰. سرور بازی (Game Server) چیست و چگونه عمل میکند؟
پاسخ:
سرور بازی نوعی سرور است که برای میزبانی بازیهای آنلاین استفاده میشود. این سرورها منطق بازی (Game Logic) را اجرا میکنند و به چندین بازیکن اجازه میدهند به طور همزمان به بازی متصل شوند. گرافیک بازی معمولاً روی دستگاههای کلاینتها رندر میشود، اما تمام محاسبات و تعاملات بین بازیکنان توسط سرور بازی مدیریت میشود. سرورهای بازی برای کاهش تأخیر (Latency) و بهبود تجربه کاربری، اغلب در مکانهای جغرافیایی مختلف قرار میگیرند.



