حتما شما هم کلمه سرور را زیاد شنیده اید و می خواهید بدانید معنی و مفهوم سرور چیست و چه کاربردی دارد ولی احساس کرده اید ممکن است با یک سری اصطلاحات قلمبه و سلمبه روبرو شوید و عطایش را به لقایش بخشیددید! اما نگران نباشید ما در این مقاله می خواهیم به زبان ساده در مورد سرور و هر آنچه که باید در مورد آن بدانید با شما صحبت کنیم.
در دنیای امروز، شبکه اینترنت به یکی از اصلیترین و بزرگترین شبکههای ارتباطی جهان تبدیل شده است. این شبکه عظیم، میلیاردها کاربر را به هم متصل میکند و امکان ارسال و دریافت اطلاعات را با سرعت بالا و به صورت گسترده فراهم میکند. درست است که برای انتقال اطلاعات در این شبکه، از انواع مختلفی از تجهیزات و سیستمها استفاده میشود، اما از جمله مهمترین عواملی که نقش حیاتی در عملکرد اینترنت ایفا میکند، سرورها هستند.
اگر تا انتهای این مقاله با ما همراه باشید، می توانید به پاسخ سوالاتی مثل : “سرور چیست و چگونه کار میکند؟”، “سرورها چگونه اطلاعات را بین کاربران انتقال میدهند؟”، “انواع سرورهای موجود کدامند؟” و یا “چه تفاوتی بین سرورهای فیزیکی و سرورهای مجازی وجود دارد؟” برسید.
سرور چیست؟
معنی سرور (به زبان انگلیسی Server) در لغت به معنای سرویس دهنده است. به زبان ساده سرور در دنیای اینترنت عبارت است از یک برنامه یا دستگاه کامپیوتری که خدماتی را به برنامه کامپیوتری دیگر و کاربر آن که به عنوان کلاینت (Client) شناخته می شود، ارائه می دهد.
درواقع سرور درخواست های ارائه شده از طریق شبکه را دریافت کرده و به آنها پاسخ می دهد و دستگاهی که درخواست می کند و پاسخی از سرور دریافت می کند کلاینت نامیده می شود. یک سرور می تواند نیازهای چند کلاینت را پاسخ داده و یک کلاینت می تواند به چندین سرور دسترسی داشته باشد. پس تا اینجای کار متوجه شدیم که در سمت دیگر این داستان، یک شخص یا کامپیوتری وجود دارد که منتظر دریافت یک سری خدمات است که از سمت سرور برای آنها ارسال می شود. حالا در ادامه درباره سرور سخت افزاری و سرور نرم افزاری بیشتر توضیح خواهیم داد.
سرور سخت افزاری چیست؟
سرور سخت افزاری یک دستگاه فیزیکی متصل به یک شبکه کامپیوتری است که اغلب در مرکز داده (DataCenter) با شرایط بسیار به خصوصی نگهداری می شود و منابع بالایی دارد. بر روی سرور فیزیکی یک یا چند سرور نرم افزاری در کنار سیستم عامل اجرا می شوند.
اصطلاح دیگری که می توان به جای سرور سخت افزاری استفاده کرد، همان هاست (Host) یا میزبانی وب است. در اصل، هر کامپیوتری را می توان به عنوان هاست به همراه نرم افزار سرور استفاده کرد.
سرور نرم افزاری چیست؟
سرور نرم افزاری برنامه ای است که خدمات تخصصی مشخصی را ارائه می دهد تا توسط سایر برنامه ها (کلاینت ها) به صورت محلی در همان سرور و یا از طریق شبکه مورد استفاده قرار گیرد. خدمات ارائه شده در سرور نرم افزاری به نوع نرم افزار سرور بستگی دارد. مدل کلاینت/سرور اساس این ارتباط است و زمانی که صحبت از تبادل داده می شود، درواقع از پروتکل های ارتباطی خاص استفاده می شود.
سرورها چه کاری انجام می دهند؟
سرورها کارهای مختلف زیادی می توانند انجام دهند، اما همه آنها در واقع ارائه دهنده اطلاعات هستند. اکثر سرورهای امروزی به صورت تخصصی کار می کنند و فقط یک کار را انجام می دهند. یکی از کارهایی که توسط سرور انجام می شود به عنوان مثال می تواند اطلاعات وب سایت ها را درست مثل وب سرورها ذخیره کنند. این به شما امکان می دهد که با وارد کردن دامنه وب سایت موردنظر در مرورگر خود، بتوانید آن وب سایت را از طریق وب سرور در مرورگر خود باز کنید.
سرور چگونه کار می کند؟
برای درک بهتر شما، نحوه عملکرد یک سرور را با ذکر یک مثال ساده مرحله به مرحله توضیح خواهیم داد.
- فرض کنید یک آدرس اینترنتی (مثلاً google.com) را در مرورگر خود تایپ می کنید و سپس Enter میزنید.
- ابتدا آدرس سایتی که وارد کرده اید توسط سیستم نام دامنه یا Server DNS به IP تبدیل می شود و سپس این آی پی به وب سرور هاستی که از آن سایت میزبانی می کند، ارسال می شود.
- وب سرور درخواست را دریافت می کند و سپس اطلاعات وب سایت را برای شما ارسال می کند. مرورگر سیستم شما هم از این اطلاعات برای نمایش وب سایت استفاده می کند.
از آنجا که ممکن است سرورها هزاران درخواست را در دقیقه دریافت کنند، از سخت افزار و سیستم عامل های تخصصی در آنها استفاده می شود و از آنجایی هم که همیشه باید آماده به کار باشند، سرورها هرگز نباید خاموش شوند.
به همین دلیل در بعضی از سرورها از یک تکنولوژی تخصصی برای دیسک های ذخیره سازی استفاده می شود که به آن RAID (Redundant Array Of Inexpensive Disks) گفته می شود. با استفاده از RAID در صورتی که یکی از هاردهای سرور خراب شد، از هارد دیگری برای ذخیره سازی اطلاعات استفاده می شود و به این صورت از خاموش شدن و توقف سرور جلوگیری می گردد.
آشنایی با اجزاء سرور
سرورهای فیزیکی از قطعات سخت افزاری زیر تشکیل شده اند :
پردازنده (Processor/CPU)
پردازنده یا واحد پردازش مرکزی (CPU)، عملیات محاسباتی را در سرور انجام میدهد. این قطعه مسئول اجرای دستورات و عملیات پردازشی است و تعیین کننده سرعت و قدرت پردازش سرور است.
حافظه (Memory/RAM)
رم یا حافظه تصادفی قابل دسترس (RAM)، بخشی از سرور است که برای ذخیره و دسترسی سریع به دادهها و برنامهها استفاده میشود. حافظه RAM، اطلاعاتی را که در حال استفاده توسط پردازنده هستند، به صورت فوقالعاده سریع ذخیره و اجرا مینماید.
دیسک/هارد (Disk/HardDisk)
از هاردها در سرور برای ذخیرهسازی اطلاعات استفاده میشود. از انواع هاردها می توان به هارد دیسک معمولی (Hard Disk Drives – HDDs)، هارد SSD یا درایو حالت جامد (Solid State Drives – SSDs) و یا حافظه NVMe نام برد. هاردها درواقع حافظه های دائمی هستند که برای ذخیرهسازی فایلها، بانکهای اطلاعاتی، سیستم عامل و سایر برنامهها استفاده میشوند.
کارت شبکه (Network Interface Card – NIC)
کارت شبکه یا NIC، واسطی است که به سرور امکان اتصال به شبکه را میدهد. این کارت به سرعت و اتصال پایدار سرور با شبکه کمک میکند و ارتباط بین سرور و دستگاههای دیگر را فراهم مینماید.
منبع تغذیه (Power Supply Unit – PSU)
منبع تغذیه، برق مورد نیاز سرور را تامین میکند. این قسمت مسئول تامین برق تمامی قطعات سرور است و باید قدرت و پایداری کافی را برای سازگاری با نیازهای سیستم داشته باشد.
سیستم خنککننده (Cooling System)
سیستم خنککننده در سرور برای حفظ دمای مناسب قطعات و جلوگیری از افزایش دما و تاثیر آن بر عملکرد سرور استفاده میشود. سیستم خنککننده شامل فنها، سیستمهای خنککننده مایع (Liquid Cooling) و سایر روشهای خنککنندگی است.
کیس و قطعات فیزیکی (Chassis and Physical Components)
کیس سرور، قطعات داخلی سرور را داخل خود جای داده و از آنها محفاظت میکند. همچنین برای سازماندهی و نصب قطعات هم استفاده میشود. کیس شامل قابها، پنلها، رکها، کابلها و دیگر قطعات فیزیکی سرور است.
در نهایت، بسته به نوع و کاربرد سرور، ممکن است اجزاء دیگری نیز وجود داشته باشد مانند کارت گرافیک (Graphics Card) در سرورهای گرافیکی یا کارت RAID (RAID Card) برای اتصال درایوهای RAID. همچنین، اجزاء یک سرور قابل ارتقا است و تنظیمات مختلفی میتواند داشته باشد تا به نیازهای خاص یک سازمان یا کاربر پاسخ دهد.
معرفی انواع سرور
نحوه ارتباط کلاینت و سرور به سرویس خاصی بستگی دارد و توسط یک پروتکل خاص هم تعیین می شود. این موضوع را می توان با معرفی نمونه هایی از انواع سرور توضیح داد :
وب سرور (Web server)
وظیفه اصلی یک وب سرور (درست مثل مرورگرهای وب یا خزنده های موتورهای جستجو) ذخیره، پردازش و ارائه وب سایت به کلاینت ها است، ارتباط بین سرور (نرم افزار) و کلاینت از طریق پروتکل HTTP یا نسخه رمزگذاری شده آن، HTTPS انجام می شود. اسناد HTML و عناصر درون آن مانند تصاویر، استایل ها یا اسکریپت ها از همین طریق منتقل می شوند. از وب سرورهای مهم می توان به : وب سرور آپاچی، وب سرور مایکروسافت به نام IIS و یا وب سرور لایت اسپید اشاره کرد.
سرور فایل (File server)
سرور فایل از طریق شبکه امکان دسترسی به داده ها را برای کلاینت ها فراهم می کند. شرکت ها برای ارائه دسترسی چندین گروه کاری به یک فایل از فایل سرور استفاده می کنند. اگر دسترسی به File server از طریق اینترنت باشد، از پروتکلهای انتقال مانند FTP ،SFTP ،FTPS یا SCP استفاده میشود. همچنین در شبکه های کامپیوتری محلی (LAN)، از پروتکل های SMB (Block Message Server) و NFS (Network File System) استفاده می شود.
سرور ایمیل (Mail Server)
سرور ایمیل از چند ماژول نرم افزاری تشکیل شده که با هم کار می کنند و امکان ارسال، دریافت و بازیابی ایمیل ها را فراهم می نمایند. پروتکل SMTP وظیفه انجام این کارها را بر عهده دارد. کاربرانی که تمایل دارند به سرور ایمیل دسترسی داشته باشند، به یک ایمیل کلاینت (Email Client) برای ارسال و دریافت ایمیل ها از سرور و مشاهده آنها در صندوق پستی خود نیاز دارند. این کار توسط پروتکل IMAP یا POP انجام می شود.
سرور پایگاه داده (Database server)
سرور پایگاه داده یک برنامه رایانه ای است که از طریق شبکه به برنامه های دیگر امکان دسترسی به یک یا چند دیتابیس دیگر را می دهد. از دیتابیس های معروف می توان به : Microsoft SQL Server یا MySQL اشاره کرد. سرورهای دیتابیس همچنین با ذخیره و تحویل داده ها، از وب سرورها نیز پشتیبانی می کنند.
سرور بازی (Game server)
گیم سرورها به صورت تخصصی برای بازی های چند نفره آنلاین کاربرد دارند. این سرورها داده های بازی آنلاین را مدیریت می کند و تعامل با دنیای مجازی را امکان پذیر می سازند. سخت افزار Game Server می تواند از دیتاسنتر یا یک شرکت ارائه دهنده خدمات میزبانی وب تامین گردد.
سرور پروکسی (Proxy server)
سرور پروکسی به عنوان یک رابط بین شبکه های کامپیوتری عمل می کند. Proxy server درخواست های شبکه را دریافت کرده و سپس آنها را از طریق آدرس IP خودش ارسال می کند. پروکسی ها برای فیلتر کردن ارتباطات، کنترل پهنای باند، افزایش دسترس پذیری از طریق لودبالانسینگ و یا ذخیره داده ها استفاده می شوند. سرور پروکسی همچنین به ناشناس ماندن یک کامپیوتر در شبکه کمک می کند چرا که آدرس IP آن کامپیوتر در پشت Proxy مخفی می شود.
سرور نام دامنه (DNS server)
سرور DNS مسئول تفکیک نام دامنه ها در شبکه است. سرور DNS درواقع نام دامنه هایی که به آسانی در خاطر انسان به یاد سپرده می شود را به آدرس IP همان نام ترجمه می کند، بنابراین دیگر نیازی نیست شما برای باز کردن وب سایت ها در مروگر خود، آدرس IPهای طولانی را وارد کنید.
سرور انتقال فایل (FTP server)
سرور FTP برای انتقال فایل ها از یک کامپیوتر به کامپیوتر دیگر استفاده می شود. فایل هایی که آپلود می شوند از رایانه شما به سرور منتقل می شوند در حالی که فایل های دانلود شده از سرور بر روی دستگاه شما دریافت می شوند. پروتکل FTP همچنین به روش استفاده از سرور برای اتصال یک رایانه به رایانه دیگر به منظور اشتراک گذاری ایمن داده ها اشاره دارد.
سرور چاپ (Print server)
پرینت سرور امکان اتصال از راه دور به رایانه های درون شبکه را فراهم می سازد تا بتوان بدون نیاز به حضور فیزیکی عملیات چاپ را انجام داد. پرینت سرورها امکان استفاده از یک چاپگر را برای استفاده در تمامی بخش های یک کسب و کار فراهم می کند، بنابراین در کاهش هزینه های سازمان تاثیرگذار خواهد بود.
سرور مانیتورینگ (Monitoring server)
سرورهای مانیتورینگ وظیفه نظارت و رصد درخواست کاربران در شبکه را بر عهده دارند. همچنین کاربرد دیگر آنها در ثبت رویدادها و مشکلاتی است که ممکن است از کاهش عملکرد سرور ناشی شود. سرورهای مانیتورینگ برای مدیران شبکه بسیار کاربردی هستند.
معماری سرور چیست؟
منظور از معماری سرور طراحی نحوه عملکرد سرور است. معماری سرور به چیدمان یک سرور در ظرفیت عملیاتی آن اشاره دارد و می توان آن را به صورت زیر تعریف کرد :
- نحوه ارتباط سرور با دستگاه های دیگر
- انواع سیستم عامل سرور
- قطعات سخت افزاری و نرم افزاری
- قابلیت های ذخیره سازی و محاسباتی
- عملکردهای امنیتی سیستم
چرا سرورها همیشه روشن هستند؟
از سرورها برای ارائه خدماتی که به طور دائم مورد نیاز هستند استفاده می شود، طبیعتا برای این حالت سرورها هرگز نباید خاموش شوند. زمانی که سرورها از کار بیوفتند، می توانند مشکلات زیادی در سازمان خصوصا برای کاربران شبکه ایجاد کنند. برای کاهش احتمال بروز این مشکلات، سرورها معمولاً به گونه ای تنظیم می شوند که آستانه تحمل بالایی داشته باشند.
آیا می توانم از رایانه خودم به عنوان سرور استفاده کنم؟
بله. با هر رایانه ای، حتی یک کامپیوتر دسکتاپ خانگی یا یک لپ تاپ، می توانید با نصب نرم افزار مناسب، از آن به عنوان یک سرور استفاده کنید. به عنوان مثال، می توانید یکی از برنامه های مخصوص FTP Server را بر روی رایانه خود نصب کنید تا بتوانید فایل ها را بین کاربران دیگر شبکه به اشتراک بگذارید.
هرچند که امکان استفاده از رایانه شما به عنوان یک سرور وجود دارد، اما بهتر است موارد زیر را هم در نظر بگیرید :
- رایانه شما و نرم افزار سروری که بر روی آن نصب کرده اید، باید همیشه در حال اجرا باشند تا دسترسی به آنها همواره وجود داشته باشد.
- زمانی که رایانه شما به عنوان سرور استفاده می شود، استفاده کامل از منابع آن (به عنوان مثال، پردازنده یا حافظه RAM)، برای انجام کارهای دیگری که نیاز دارید بر روی رایانه خود انجام دهید، امکان پذیر نخواهد بود.
- اتصال همیشگی رایانه شما به شبکه و اینترنت، می تواند احتمال آسیب پذیری در برابر انواع جدیدی از حملات را افزایش دهد.
- اگر تعداد کاربران سرویسی که بر روی رایانه خود ارائه میدهید افزایش پیدا کند، ممکن است دیگر منابع لازم برای پردازش تمام درخواستها را نداشته باشد.
آشنایی با سیستم عامل سرور
سیستم عامل سرور یک پلتفرم نرم افزاری است که بهینه بودن منابعی مانند CPU، حافظه RAM، دیسک ذخیره سازی و اتصالات مربوط به شبکه را جهت پاسخگویی به نیازهای کاری سرور تضمین می کند.
انتخاب سیستم عامل به عواملی از قبیل اینکه سرور برای چه کاری استفاده خواهد شد و سطح تخصص فنی مورد نیاز برای مدیریت سرور چقدر است، بستگی دارد.
انواع سیستم عامل های سرور
در ادامه چند تا از محبوب ترین سیستم عامل های سرور را به شما معرفی خواهیم کرد :
- سیستم عامل Windows Server : ویندوز سرور یکی از پرکاربردترین سیستم عامل های سرور در دنیاست که توسط شرکت مایکروسافت معرفی شده است. این سیستم عامل طیف گسترده ای از ویژگی ها و امکانات، از جمله Active Directory برای مدیریت کاربر، وب سرور IIS برای میزبانی وب، SQL Server برای مدیریت پایگاه داده و پشتیبانی از برنامه های مختلف را پشتیبانی می کند. سیستم عامل Windows Server با رابط گرافیکی و کاربر پسند آن، سازگاری گسترده با نرم افزارهای مبتنی بر ویندوز و ابزارهای پرقدرت مدیریتی شناخته می شود.
- سیستم عامل Ubuntu : اوبونتو یکی از توزیع های سیستم عامل لینوکس است که به طور خاص برای کاربردهای اپن سورس در سرورها طراحی شده است. این سیستم عامل به دلیل کاربر پسند بودن و فعال بودن کاربران آن در دنیا شناخته شده است.
- سیستم عامل Red Hat : سیستم عامل ردهت از توزیع های تجاری لینوکس است که به دلیل ثبات، امنیت و پشتیبانی آن در سطح سازمانی شناخته شده است. از آنجایی که سیستم عامل Red Hat امکانات مناسبی مانند : قابلیت دسترسی بالا، مجازی سازی و… را ارائه می دهد، یک انتخاب عالی برای استقرار سرورهای مهم کاربردی در محیط های سازمانی است.
- سیستم عامل CentOS : این سیستم عامل رایگان است و معمولاً از آن برای وب سرور و یا سرور پایگاه داده استفاده می شود.
در این مقاله از وبلاگ مشهدهاست، به معرفی و توضیح مفاهیم مرتبط با سرور پرداختیم. امیدواریم حالا به طور کامل بدانید سرور چیست و با انواع سرور آشنا شده باشید. درک دقیق از نوع خدماتی که در یک شرکت هاستینگ ارائه می گردد و انتخاب سرور مناسب بر اساس نیازها و اهداف شما، میتواند منجر به بهبود عملکرد وب سایت شده و موفقیت شما را در دنیای دیجیتال تضمین نماید.
خوشحال خواهیم شد سوالات و نظرات خود را در بخش دیدگاه ها با مطرح نمایید. اگر نیاز به کمک دارید از همین بخش درخواست خود را ثبت کنید تا در اسرع وقت شما را راهنمایی کنیم.