
سرور چیست؟
>اگر از شما بخواهیم که سرور را تعریف کنید، چه چیزی خواهید گفت؟ اصلاً الآن کاری به درست یا غلط بودن تعریف نداریم. چه تصویری در ذهنتان حک میشود؟ اگر حوزه کاریتان مربوط به سرور باشد، کامل با زیروبم آن آشنا هستید؛ اما اگر نباشد، شاید فقط تعریف آن را هم بدانید که شاید یا ناقص باشد یا اشتباه. در ادامه این مقاله ما قصد داریم تا شما را بیشتر با سرور آشنا کنیم. این متن برای آنهایی که شناخت کمی با این واژه و کارکرد آن دارند، بسیار مفید خواهد بود.
قبل از ورود به بحث تخصصی، ابتدا بهتر است که شناخت کمی از سرور پیدا کنیم:
سرور دستگاه سخت افزاری یا نرم افزاری است که درخواستهای ایجاد شده در طول شبکه را گرفته و پاسخ میدهد. دستگاهی که درخواست ایجاد کرده و پاسخ آن را از سرور دریافت میکند، کلاینت است. در اینترنت، واژه یا اصطلاح سرور به طور کلی به سیستم کامپیوتری اشاره دارد که درخواستها را برای فایلهای وب دریافت کرده و آن فایلها را به سمت کلاینت ارسال میکند.
تعریف سرور
سرور کامپیوتر یا سیستم است که منابع، داده، خدمات و برنامههای مورد نیاز را برای دیگر کامپیوترها (کلاینت) در طول شبکه تأمین و ایجاد میکند. از نظر تئوری، هرگاه کامپیوتری منابعی را با دیگر کلاینتها به اشتراک بگذارد، سرور نامیده میشود.
یک سیستم تک میتواند منابع مورد نیاز خود را ایجاد و به صورت همزمان آنها را از سیستم دیگری استفاده کند. این یعنی اینکه یک سیستم میتواند همزمان هم سرور و هم کلاینت باشد. بعضی از اولین سرورها، کامپیوترهای اصلی یا مینی کامپیوترها بودند. مینیها کوچکتر از نوع اصلی بودند، برای همین به این صورت نامگذاری شدند؛ اما با پیشرفت تکنولوژی، اندازه آنها بزرگتر شد تا حدی که امروزه بزرگتر از کامپیوترهای دسکتاپی هستند.
در ابتدا سرورها به کلاینتها متصل میشدند که به آنها ترمینال گفته میشد و هیچ محاسبه خاصی و اصلی را انجام نمیدادند. این ترمینالها به نوع گنگ یا dumb معروف بودند، به سادگی هر ورودی را از صفحه کلید یا کارت خوان قبول میکردند و نتیجه هر نوع محاسبهای را در صفحه نمایش نشان میدادند. محاسبه اصلی در سمت سرور انجام میشد. بعداً سرورها تبدیل به کامپیوترهای تک و قدرتمند در شبکه و متصل به تعدادی کلاینت نیمه قدرتمند شدند. ساختار این شبکه اغلب اشاره به مدل سرور- کلاینت داشت که هر دو دارای قدرت محاسبه بودند؛ اما وظایف خاص در سمت سرور انجام میشد. در مدلهای محاسباتی قبلی، مانند مدلهای ترمینال-اصلی، کامپیوتر یا پردازنده اصلی به عنوان یک سرور عمل میکرد.
با پیشرفت تکنولوژی، تعریف سرورها هم دچار تغییراتی شد. این روزها سرورها بیشتر از یک نرم افزار اجرا شده در یک دستگاه محاسباتی فیزیکی نیستند. چنین سرورهایی بیشتر با نام مجازی شناخته میشوند. در اصل سرور مجازی برای افزایش تعداد عملکردهای سرور که یک دستگاه سخت افزار میتوانست انجام دهد، استفاده میشد. امروزه سرورهای مجازی توسط بخش یا شخص ثالثی در سخت افزار از طریق اینترنت و با ترکیبی به نام پردازش ابری اجرا و مدیریت میشود. یک سرور ممکن است که برای انجام یک وظیفه تک مانند سرور میل طراحی شود که ایمیلها را دریافت و ذخیره کرده و آن را در اختیار مشتری قرار میدهد. بعضی سرورها هم میتوانند چندین وظیفه را انجام دهند؛ مانند سرور پرینت و فایل که میتوانند دستورات فایلها و پرینت را دریافت و ذخیره کرده و آنها را به چاپگر درون شبکه ارسال کنند.
چرا سرورها همیشه روشن هستند؟
از آنجا که خدمات همیشه وجود دارد و برای انجام آنها به سرور نیاز است، پس نمیتوان سرور را خاموش کرد. خاموش بودن لحظهای سرور میتواند مشکلات زیادی را به وجود بیاورد. فرض کنید که یک لحظه سرور پرینت از کار بیفتد و در شرکت چند نفر باید به صورت همزمان اطلاعاتی را روی کاغذ چاپ کنند. چه هرج و مرج میشود؟
سرور چگونه کار میکند؟
برای عملکرد به عنوان یک سرور، دستگاه باید به صورتی پیکربندی شود که بتواند درخواستها را از سمت کلاینت دریافت کند. این قابلیت میتواند به صورت سیستم عامل برای برنامه یا نقش (وظیفه) نصب شده آن وجود داشته باشد؛ برای مثال، سیستم عامل سرور مایکروسافت ویندوز قابلیت گوش کردن و پاسخ به درخواست کلاینتها ایجاد میکند. علاوه بر این خدمات یا نقش نصب شده انواع درخواستهایی که سرور میتواند به کلاینت پاسخ دهد، افزایش خواهد داد. در مثال دیگر، سرور وب آپارچی به درخواستهای مرورگر اینترنت از طریق برنامههای اضافی پاسخ میدهد.
هنگامی که کلاینت داده یا عملکردی را از سرور نیاز داشته باشد، درخواست خود را از طریق شبکه ارسال خواهد کرد. سرور این درخواست را گرفته و با اطلاعات مناسب پاسخ خواهد داد. این مدل دریافت و پاسخ دادن را سرور-کلاینت میگویند و همچنین با مدل تماس و پاسخ هم میشناسند.
یک سرور اصولاً تعداد وظیفههای اضافه و متعددی را به عنوان بخشی از درخواست و پاسخ تک انجام میدهد. این شامل تصدیق و تائید هویت درخواست کننده، اطمینان حاصل کردن از اجازه داشتن کلاینت به دریافت اطلاعات و قالببندی صحیح دریافت و ارسال داده است.

انواع سرور
سرورها انواع مختلفی دارند که هرکدام فعالیتهای متفاوتی را انجام میدهند. در بسیاری از شبکهها حداقل از دو سرور استفاده میشود. در حال کلی سرورها شامل موارد زیر است:
فایل سرور
فایل سرور وظیفه ذخیره و توزیع فایلها را بر عهده دارد. چندین کلاینت یا کاربر ممکن است که فایلها را در یک سرور به اشتراک بگذارند. علاوه بر این، ذخیره فایلها به طور مرکزی امکان پشتیبان گیری یا حل مشکلات برای تأمین و افزایش امنیت و یکپارچگی پروندهها بهتر خواهد کرد.
پرینت سرور
پرینت سرور امکان مدیریت و توزیع قابلیت و عملکرد چاپ را به کاربران میدهد. به جای نصب یک پرینتر برای هر دستگاه، یک پرینت سرور تک میتواند به درخواستهای چاپ از کلاینتهای متعدد پاسخ دهد.
برنامه سرور
برنامه سرور، برنامههای کلاینتها را اجرا میکند. این نوع سرور در حالت کلی برنامههای پرمصرف را اجرا میکند؛ یعنی برنامههایی که توسط کاربران زیادی اجرا میشود. با این کار نیاز هر کاربر به برنامههای پرکاربرد برطرف خواهد شد.
سرور DNS
دی ان اس سرور باعث تبدیل نام مشتری به IP و کدهای قابل فهم ماشین برای درک بهتر میشود. این نوع سرور در دیتابیس نامها و دیگر سرورهای دی ان اس توزیع شده که می توان از هر یک از آنها برای خواست نام رایانه ناشناخته استفاده کرد. وقتی کلاینت به آدرس سیستم نیاز داشته باشد، درخواست دی ان اس را با نام منبع به DNS سرور ارسال خواهد کرد. بعد سرور با استفاده از جدول IP پاسخ مورد نظر را خواهد داد.
میل سرور
میل سرور رایجترین نوع سرورهای برنامه است. این نوع سرور ایمیلهای ارسال شده به کاربر را دریافت و تا زمان درخواست از سمت کاربر ذخیره خواهد کرد.
وب سرور
وب سرور یکی از فراوانترین انواع سرورها در بازار امروز است. وب سرور نوع خاصی از برنامه سرور است که میزبان برنامه و دادههای درخواست شده از سمت کاربر در اینترنت است. سپس این سرور به درخواست مرورگرهای اجرا شده روی کامپیوترهای کاربر برای صفحات وب پاسخ میدهد. آپاچی وب، خدمات اطلاعات اینترنت مایکروسافت (IIS) و Nginx از وب سرورهای معروف هستند.
دیتابیس سرور
مقدار داده استفاده شده توسط شرکتها، کاربران و دیگر خدمات همیشه سرسامآور است. بیشتر این دادهها در پایگاه دادهها ذخیره میشوند. پایگاه دادهها نیاز است که به چندین کلاینت در هر زمان خاص در دسترس باشند و فضای لازم را برای ذخیره سازی داشته باشند. از این رو پایگاه داده سرور ایجاد شد تا به درخواستهای مرتبط این حوزه پاسخ دهد. MySQL، اوراکل و Informix از سرورهای پایگاه داده رایج هستند.
سرور مجازی
سرورهای مجازی به جای نصب به عنوان سیستم عامل در یک ماشین سخت افزاری، فقط در داخل نرم افزارهای تخصصی به نام hypervisor وجود دارند. هرکدام میتوانند صدها یا هزاران سرور مجازی را در یک زمان اجرا کنند.
پراکسی سرور
پراکسی سرور به عنوان یک واسط بین سرور و کلاینت است. این نوع اغلب برای جدا کردن کلاینت یا سرور برای اهداف امنیتی استفاده میشود. این نوع به جای پاسخ به مشتری، درخواست را به سرور یا فرآیند دیگری منتقل میکند. سرور پراکسی پاسخ را از سرور دوم دریافت کرده، سپس به کلاینت اصلی پاسخ میدهد. به نوعی که انگار خود سرور اصلی پاسخ میدهد.
سرور نظارت و مدیریت
بعضی سیستم ها برای مدیریت و نظارت بر دیگر سیستم و سرورها وجود دارند. چندین نوع سرور نظارتی وجود دارد. بعضی از آنها به شبکه گوش کرده و هر درخواست کلاینت مشتری را دریافت میکنند؛ اما بعضی از دادهها در این ارسال یا پاسخ داده نمیشوند. سرور نظارتی برای کنترل همین مسئله است.
ساختار سرور چگونه است؟
مفهوم سرور تقریباً هم قدمت با خود شبکه است. از این گذشته، هدف یک شبکه این است که به یک کامپیوتر اجازه صحبت و برقراری ارتباط کامپیوتر دیگری داده و منابع یا وظایف را توزیع کند. تغییر، تکامل و پیشرفت محاسبات از گذشته تا به امروز باعث شده تا امروزه با انواع ساختار سرور مواجه باشیم.

کامپیوترهای بزرگ یا مینی کامپیوترها
می توان گفت که سرور و کامپیوترهای اصلی و مینی کامپیوترها همه وظایف کاربر را انجام میدادند به جز تعامل با کاربر از طریق صفحه نمایش و صفحه کلید که به سیستم کلاینت واگذار شده بود.
سخت افزار کامپیوتر سرور
مسئله بعدی سرورها شامل سرورهای مبتنی بر رایانه بود. از بسیاری جهات، این سرورها بزرگتر و قدرتمندتر از کامپیوترهای دسکتاپ نبودند؛ اما بسیار گران بودند و فضای ذخیره سازی آنها بسیار دورتر از رایانههای سرویس گیرنده بود. هر سرور برای خود یک واحد خودگردان با مادربرد، پردازنده، حافظه، رم و منبع تغذیه اختصاصی بود. چنین سرورهایی اغلب در اتاقهایی با تهویه مطبوع نگهداری میشدند.
تیغه سرورها
سرورهای کامپیوتری از نظر سخت افزاری در ابتدا بزرگ و در قطعات نگهداری میشدند که میلیونها پوند برای نگهداری آنها هزینه میشد. با گذشت زمان و افزایش سرعت قطعات و پیشرفتهتر شدن آنها، شاهد حذف تک تک قطعات بودیم. همین مسئله باعث شده تا سرورهای امروزی چیزی شبیه به تیغه باشند. مدلهای کوچک تر بوده و تعویض و نگهداریشان راحتتر و کمهزینهتر است.
سرورهای ترکیبی
حتی قبل از مجازی سازی، سرورها از یک استاندارد یک سیستم عامل تک نصب شده روی یک ماشین به دست آمده و استخراج میشدند. فناوریهای به روز نیاز سرور را برای ذخیره سازی از بین برد. از طرفی فناوریهای به وجود آمده مانند آینهسازی و خوشهبندی باعث ترکیب بهتر سخت افزارها با سرور شده است. از این رو با سروری ترکیبی از چندین تیغه و دستگاه ذخیره سازی و غیره همراه خواهیم بود.
سرورها در کجا نگهداری میشوند؟
در شرکتها و ادارات سرورها اصولاً در یک محفظه کمد مانند یا شیشهای نگهداری میشوند. این محفظه در یک اتاق جداگانه بوده و هر کسی حق ورود به این اتاق و دسترسی به آن را ندارد. سرورهایی که از راه دور کنترل میشوند، در یک مرکز داده قرار دارند.
آیا کامپیوتر من میتواند سرور باشد؟
به عنوان سؤال و بحث آخر اینکه هر کامپیوتر حتی نوع شخصی هم میتواند با نصب نرم افزار خاصی تبدیل به سرور شود؛ برای مثال، شما میتوانید با نصب FTP سرور، کامپیوتر خود را منبعی برای اشتراک گذاری فایل تبدیل کنید. فقط باید این نکته را در نظر بگیرید که دستگاه شما برای همیشه باید در دسترس باشد.