برای مطالعه بخش دوم آموزش جامع نتورک پلاس (+Network) اینجا کلیک کنید
معماری/مدل کلاینت- سرور
در معماری کلاینت-سرور (توپولوژی کلاینت-سرور)، منابع از سوی یک سیستمعامل تحت شبکه و از طریق یک بانکاطلاعاتی متمرکز مدیریت میشوند. این بانک اطلاعاتی از سوی یک یا چند سروری مدیریت میشود که سیستمعامل یکسانی روی آنها نصب شده است.
دامنه ویندوز
اگر از کامپیوتری در محیط اداره یا مدرسه استفاده میکنید، به احتمال بسیار زیاد کامپیوتر شما بخشی از یک گروه منطقی است که این گروه منطقی دامنه ویندوز (Windows domain) نام دارد. دامنه ویندوز در حقیقت شبکهای متشکل از کامپیوترهای کنترل شده در یک محیط اداری یا آموزشی است. در این محیط حداقل یک سرور که به آن کنترلکننده دامنه (domain controller) میگویند مسئولیت مدیریت کامپیوترها و سایر دستگاههای متصل به شبکه را عهدهدار است. مدیر شبکه وظیفه دارد تا کامپیوترهای روی دامنه را به لحاظ کاربران، تنظیمات، پیکربندی و…. کنترل کند. این پایگاه داده متمرکز شامل اطلاعات حساب کاربری و پیکربندیهای امنیتی متعلق به کامپیوترها است. این پایگاه دادهای متمرکز اکتیو دایرکتوری (Active Directory) نام دارد. اکتیو دایرکتوری اطلاعات مرتبط با اشیا شبکه را ذخیره کرده و برای مدیریت هرچه سادهتر منابع و سازماندهی دامنهها یک ساختار سلسله مراتبی را ارائه میکند. به این شکل کاربران به سادهترین شکل میتوانند به مکانیابی منابع شبکه همچون فایلها و چاپگرها بپردازند. مدیر یک شبکه برای هر کاربری روی شبکه حساب کاربری خاصی در سطح تعریف کرده و مجوزهای مربوطه را به کاربر تخصیص میدهد. این اطلاعات در اکتیو دایرکتوری ذخیره میشوند. این حساب ممکن است یک حساب محلی مرتبط با دامنه یا یک حساب مایکروسافتی باشد که منابع محلی دامنه را با منابع ابری مایکروسافت مرتبط میکند. یک کاربر میتواند از هر کامپیوتری برای ورود به شبکه استفاده کرده و به منابعی که اکتیو دایرکتوری اجازه میدهد به آنها دسترسی داشته باشد، متصل شود. این فرآیند توسط سرویس دامنه اکتیو دایرکتوری (AD DS) سرنام Active Directory Domain Services مدیریت میشود. کامپیوتری که درخواستی را برای دسترسی به یک منبع یا سرویس ارائه میکند یک کلاینت نامیده میشود. کلاینتها روی یک شبکه کلاینتسرور میتوانند نرمافزارهای نصب شده روی دسکتاپ را اجرا کرده و دادههای خود را روی دستگاههای ذخیرهساز محلی ذخیره کنند. کلاینتها نمیتوانند منابع خود را به شکل مستقیم با سایر کامپیوترها بهاشتراک قرار دهند، زیرا دسترسیها روی کل شبکه از سوی یک بانک اطلاعاتی متمرکز کنترل میشوند. یک کامپیوتر کلاینت بر مبنای تهمیدات یا محدودیتهایی که از سوی پایگاه دادهای متمرکز اعمال شده، قادر است به سایر منابع شبکه دسترسی پیدا کند.
سیستمعاملهای تحت شبکه شبیه به ویندوز سرور 2019، سرور اوبونتو یا لینوکس ردهت سازمانی مسئولیتهای مختلفی را عهدهدار هستند که از مهمترین آنها به موارد زیر میتوان اشاره کرد.
- مدیریت دادهها و سایر منابع برای تعدادی از کلاینتها
- اطمینان حاصل کردن از این موضوع که تنها کاربران مجاز به شبکه دسترسی خواهند داشت.
- کنترل این مسئله که چه نوع فرمت فایلی را یک کاربر میتواند باز کرده و بخواند
- محدود کردن زمان و مکانهایی که کاربران میتوانند به یک شبکه دسترسی داشته باشند
- تعیین و تبیین خطمشیهایی که کامپیوترها باید بر مبنای آنها با یکدیگر ارتباط برقرار کنند.
- در برخی موارد، ارائه برنامهها و فایلهای دادهایی برای کاربران
سرورهایی که روی آنهای یک سیستمعامل تحت شبکه نصب شده است، به حافظه بیشتر، قدرت پردازشی قویتر و فضای ذخیرهسازی بیشتری نسبت به کلاینتها نیاز دارند، زیرا سرورها مجبور هستند به محاورههای زیادی پاسخ داده، پردازشهای سنگینی را بارگذاری کرده و به درخواستهای مختلفی که از سوی کلاینتهای مختلف ارائه میشود پاسخ دهند. بهطور مثال، یک سرور ممکن است از یک پیکربندی آرایه چندگانه از دیسکهای مستقل (RAID) سرنام redundant array of independent disks از هاردیسکها استفاده کند تا اگر یکی از هارددیسکها دچار مشکل شد، هاردیسک دیگر بهطور خودکار بتواند به محاورهها پاسخ دهد.
درست است که شبکههای کلاینت-سرور بهطور معمول به لحاظ طراحی و نگهداری در مقایسه با شبکههای نظیربهنظیر پیچیدگی بیشتری دارند، اما نسبت به شبکههای نظیربهنظیر مزایای زیادی دارند که از آن جمله به موارد زیر میتوان اشاره کرد:
- حسابهای کاربری و گذرواژهها روی این شبکهها در یک مکان مرکزی مدیریت شده و تخصیص داده میشوند.
- مدیران میتوانند از طریق یک مکان مرکزی به یک کاربر یا گروهی از کاربران اجازه دهنده به منابع مختلف بهاشتراکگذاشته شده مانند فایلهای دادهای یا چاپگرها دسترسی داشته باشند.
- مشکلات این مدل شبکهها از طریق یک نظارت دقیق قابل تشخیص بوده و از طریق یک مکان واحد میتوان این مشکلات را برطرف کرد.
- شبکههای کلاینت-سرور در مقایسه با شبکههای نظیربهنظیر گسترشپذیر هستند. به عبارت دیگر، امکان اضافه کردن کامپیوترها و سایر دستگاهها به یک شبکه کلاینت-سرور به سادگی امکانپذیر است.
اکنون اجازه دهید به سراغ سیستمعاملهای شبکه رفته و به معرفی برخی از برنامههایی بپردازیم که در زمینه مدیریت دادهها در دسترس قرار دارند.
برنامههای کلاینت-سرور
منابع شبکه (برنامهها و دادهها) از طریق برنامههای کاربردی در اختیار کاربران قرار میگیرد. منابع روی یک شبکه تحت عنوان سرویسهای شبکه (network services) شناخته میشوند. در معماری کلاینت-سرور اولین کامپیوتر که یک کامپیوتر کلاینت است، درخواست داده یا دسترسی به سرویسی را برای کامپیوتر دوم که سرور است ارائه میکند. در شکل زیر، کاربر از مرورگر وب کامپیوتر خود استفاده کرده و درخواستی برای دسترسی به یک صفحه وب را برای سرور ارسال کرده است.
چگونه یک کلاینت میداند باید درخواست خود را به شکلی برای سرور ارسال کند که سرور معنای درخواست او را درک کرده و به آن پاسخ دهد؟ دستگاههای تحت شبکه از مجموعه روشها و قواعدی برای ارتباط با یکدیگر استفاده میکنند که ما به این روشها و قواعد پروتکلها میگوییم.
اجازه دهید سناریو درخواست یک صفحه وب را تصور کنیم. در اولین گام کامپیوتر کلاینت باید یک وبسرور ا پیدا کند. در ادامه کلاینت و سرور باید از پروتکل واحدی برای برقراری ارتباط با یکدیگر استفاده کنند. در انتها، کلاینت باید درخواستی را ایجاد و برای سرور ارسال کند تا سرور درخواست را پردازش کرده و پاسخ را در قالب یک صفحه وب برای کلاینت ارسال کند. سختافزار، سیستمعامل و برنامههای کاربردی روی هر دو کامپیوتر در این فرآیند نقش کلیدی را بازی میکنند. کامپیوترهای روی یک شبکه از طریق پروتکلهای شناخته شدهای با یکدیگر در ارتباط هستند. دو پروتکل اصلی TCP و IP در کنار سایر پروتکلهایی که یک سیستمعامل از آنها استفاده میکند برای برقراری ارتباط روی یک شبکه مبتنی بر TCP/IP استفاده میشود تا دستگاهها با زبان واحد و مشترکی بتوانند با یکدیگر صحبت کنند. از معروفترین و محبوبترین برنامههای کلاینت سرور و پروتکلهایی که روی شبکهها و اینترنت استفاده میشوند به موارد زیر میتوان اشاره کرد. (در مقالههای آتی به شکل مشروحتری این پروتکلها را تشریح خواهیم کرد.)
Web service
یک وب سرور، صفحات وب را در اختیار کلاینتها قرار میدهد. وبسرورها بر دو نوع هستند. نوع اول وبسرورهای اختصاصی هستند. بیشتر شرکتها وبسرورهای مخصوص خود را دارند. این وبسرورها به شکل خصوصی در شبکه یک سازمان در اختیار کارمندان قرار دارد. اما گروه دوم وبسرورها عمومی هستند و کاربران میتوانند از هر مکانی از طریق اینترنت به آنها دسترسی داشته باشند. زبان مشترکی که وبسرورها و مرورگرهای اینترنتی با یکدیگر ارتباط برقرار میکنند پروتکل استاندارد انتقال ابرمتن ایمن (HTTP) است. زمانی که پروتکل انتقال ابرمتن با یک پروتکل رمزگذاری همچون SSL یا TLS ترکیب شود، شما پروتکل HTTPS را خواهید داشت. پروتکلی که برای انتقال ایمن اطلاعات از آن استفاده میشود.
بیشتر برنامههای وبسرور معروف بر مبنای آپاچی (apache.org) کار میکنند آپاچی یک نرمافزار وبسرور متنباز و رایگان است که عمدتا در سامانههای یونیکسی و لینوکسی از آن استفاده میشود. دومین گزینه محبوب وبسرور معروف، خدمات اطلاعات اینترنت (IIS) سرنام Internet Information Services است که یکی از مولفههای اصلی و کلیدی سیستمعامل ویندوز سرور به شمار میرود.
Email services
ایمیل یک برنامه کلاینت-سرور است که از دو سرور تشکیل شده است. کلاینت از پروتکل ساده نامهرسانی (SMTP) سرنام Simple Mail Transfer Protocol برای ارسال یک پیام ایمیلی برای سرور اول که اغلب به آن سرور SMPT گفته میشود، استفاده میکند.
اولین سرور پیام را برای میلسرور پذیرنده ارسال میکند، میلسرور دوم پیام را دریافت و آنرا ذخیره میکند تا زمانی که پذیرنده درخواست دریافت پیام را ارسال کند. زمانی که درخواست دریافت پیام (باز کردن و مشاهده کردن پیام) صادر شد، میلسرور پذیرنده بر مبنای یکی از دو پروتکل POP3 سرنام Post Office Protocol version 3 یا IMPA4 سرنام Internet Message Access Protocol version 4 پیام را تحویل خواهد داد. با استفاده از POP3، ایمیل روی کامپیوتر کلاینت دانلود میشود. با استفاده از IMPA4 برنامه کلاینت به مدیریت ایمیلها پرداخته و آنها را روی سرور ذخیرهسازی میکند. از معروفترین برنامههای میلسرور میتوان به Microsoft Exchange Server اشاره کرد. آتلوک یکی دیگر از برنامههای کلاینت محبوب ایمیل است که درون بسته آفیس مایکروسافت قرار دارد.
FTP service
FTP یک برنامه کلاینت-سرور است که برای انتقال فایلها میان دو کامپیوتر استفاده میشود. کامپیوترها عمدتا از FTP سرنام File Transfer Protocol برای این منظور استفاده میکنند. FTP هیچگونه رمزنگاری ارائه نکرده و از اینرو ایمن نیست. درست است که مرورگرهای وب میتوانند نقش کلاینتهای FTP را بازی کنند، اما برنامههای کلاینت قدرتمندی همچون FileZilla و CuteFTP برای کار با پروتکل FTPوجود دارند که در مقایسه با مرورگرهای وب قابلیتهای بیشتری برای انتقال فایلها ارائه میکنند.
Telnet service
Telnet service یک پروتکل تحت شبکه است که روی اینترنت و شبکههای محلی از آن استفاده میشود. این پروتکل از سوی برنامههای کاربردی کلاینت-سرور تلنت استفاده شده و به مدیر یک شبکه یا سایر کاربران اجازه میدهد از راه دور یک کامپیوتر را کنترل کرده یا به آن وارد شوند. پروتکل تلنت روی بیشتر سیستمعاملها وجود دارد، با این حال مکانیسمی که این پروتکل بر مبنای آن دادهها را مبادله میکند، فاقد رمزگذاری است که همین مسئله باعث شد تا راهکارهای ایمنتری جایگزین تلنت شوند که از آن جمله میتوان به فرمان ssh در سیستمعامل لینوکس اشاره کرد.
Remote applications
یک برنامه کاربردی راه دور برنامهای است که روی سرور نصب و اجرا شده و کاربر میتواند روی کامپیوتر کلاینتی خود با آن کار کند. ویندوز سرور 2008 و نسخههای پس از آن همراه با قابلیت ویژهای به نام Remote Desktop Services در اختیار کاربران قرار گرفتند. قابلیت فوق برای مدیریت برنامههای راه دور استفاده میشود. تا پیش از ارائه این قابلیت سیستمعاملهای سرور از قابلیت Terminal Services برای این منظور استفاده میکردند. هر دو قابلیت از پروتکل RDP سرنام Remote Desktop Protocol برای ارائه برنامه راه دور و دادههای آن به کلاینتها استفاده میکردند. برنامههای راه دور به این دلیل محبوب شدهاند که توان پردازشی قدرتمندتر (حافظه و سرعت پردازنده) و پشتیبانی فنی (برای نصب برنامهها و بهروزرسانیها و پشتیبانگیری از دادهها) روی سرور و در یک نقطه مرکزی انجام میشود. در نتیجه کامپیوترهای کلاینتی که از این سرویس استفاده میکنند به توان پردازشی کمتر نیازی دارند و به لحاظ فنی پشتیبانی خوبی از آنها به عمل میآید.
Remote Desktop
در سیستمعامل ویندوز، ویژگی Remote Desktop از پروتکل RDP سرنام Remote Desktop Protocol برای ارائه یک مکانیزم انتقال رمزگذاری شده و ایمن استفاده کرده و به تکنسینها اجازه میدهد از طریق یک کامپیوتر محلی به یک کامپیوتر راه دور لاگین کنند. شکل زیر این مسئله را به خوبی نشان میدهد.
تصور کنید، یک شرکت خدماتی قراردادی با سازمان شما منعقد میکند که از نرمافزارهای روی شبکه شما پشتیبانی به عمل آورد. تکنسین واحد فنی شرکت از ویژگی Remote Desktop برای اتصال به کامپیوتر(های) تحت شبکه شما و اشکالزدایی مشکلات از طریق نرمافزار شرکت استفاده میکند. تکنسین شرکت از یک سیستمعامل دسکتاپی (ویندوز) برای دستیابی به منابعی که روی شبکه سازمانی شما قرار دارد استفاده میکند. در این وضعیت کامپیوتر شرکت ویژگی Remote Desktop را به عنوان کلاینت و کامپیوتر سازمانی شما Remote Desktop را به عنوان یک سرور یا هاست اجرا میکند. در این حالت دادهها و برنامههای کاربردی شما در قالب یک بار داده (payload) روی شبکه انتقال پیدا میکنند، در این وضعیت سیستمعامل در نقش یک کنترلکننده مسئولیت رسیدگی به ترافیک و مدیریت آنرا عهدهدار است.
در شماره بعدی آموزش نتورکپلاس (Netowork+) به سراغ سختافزار شبکه و توپولوژیهای فیزیکی شبکه خواهیم رفت.
لطفا نظرات خود در مورد این آموزش و ادامه آن را در بخش دیدگاه در انتهای صفحه اعلام نمایید و نظارت سایر کاربران را نیز ببینید.