شبکه ها از نظر مدیریت دسترسی به منابع

شبکه ها از نظر مدیریت دسترسی به منابع

یکی از تقسیم بندی‌های شبکه، تقسیم‌بندی بر اساس مدیریت دسترسی به منابع می‌باشد. دسترسی در یک شبکه می‌تواند به دو حالت ورک گروپ (Workgroup) و دامین (Domain mode) مدیریت شود. به شبکه‌های Workgroup، peer to peer و به شبکه‌های Domain، server-client هم گفته می‌شود. 

وقتی از مدیریت دسترسی منابع در شبکه صحبت می‌کنیم منظور این است زمانی که کامپیوترهای ما با هم شبکه می‌شوند از نظر نرم‌افزاری (logical) چکونه با هم ارتباط برقرار می‌کنند.

در سیستم عامل‌‎ها ما یک Object به نام User account داریم که خود این یوزر اکانت دارای یکسری attribute هست. Attribute در زبان انگلیسی به معنای صفت هست. 
برای مثال Attributeهای یک User account می‌تواند شامل موارد زیر شود: 

  • user name
  • password
  • full name
  • و…

شما با این Attributeها در کلاس‌های MCSE و شبکه‌های کامپیوتری کلی کار خواهید داشت. 

Workgroup

زمانی که شما یک User account بر روی کامپیوتر خود می‌خواهید ایجاد کنید، سیستم عامل ممکن است چنین صفحه‌ای را در اختیار شما قرار دهد و از شما بخواهد آن را تکمیل کنید. 
این موارد همان Attributeهای یوزر اکانتی (User account) هست که شما آن‌را می‌خواهید ایجاد کنید.

 

add User account

 

پس از اینکه شما این اطلاعات را وارد می‌کنید، این اطلاعات در شبکه‌های Workgroup به صورت Local (روی خود کامپیوتر) ذخیره می‌شود. این اطلاعات بر روی یک Database بر روی هارد ذخیره‌سازی می‌شود. 

Database به معنای پایگاه داده است و انواع مختلفی دارد. به صورت کلی Databaseها شامل یکسری جداول هستند که یکسری اطلاعات طبقه‌بندی شده درون آن‌ها وجود دارد. 
نام دیتابیسی (Database) که در عامل‌های Microsoft Windows وجود دارد، LSD یا Local Security Database هست.

که این LSD به صورت منطقی روی سیستم عامل به آدرس زیر قرار دارد:

C:\Windows\System32\config

شاید برای شما سوال شده باشد که یوزرنیم و پسورد در ویندوز کجا ذخیره‌سازی می‌شود؟ 

جواب این است که این یوزرنیم و پسورد شما همراه یکسری اطلاعات دیگر درون این پوشه و در فایلی به نام SAM قرار دارند. که بخاطر وجود یکسری دلایل مادامی که سیستم عامل شما در حال اجرا است شما نمی‌توانید آن‌را به صورت آنلاین مشاهده کنید.

منظورم از کلمه آنلاین این است که خود این فایل رو نمی‌توانید اجرا کنید اما با استفاده از یکسری ابزارها قادر خواهید بود از آن یک نسخه کپی تهیه کنید و آن نسخه کپی را باز کنید. (مشاهده بصورت آفلاین)

در کنسول Computer Management همانند تصویر زیر شما قادر خواهید بود یوزرهای ساخته شده بر روی LSD یک کامپیوتر را به صورت گرافیکی مشاهده نمایید.

 

Computer Management

 

در تصویر بالا کنار برخی از کامپیوترها ممکن است یک فلش رو به پایین ترسیم شده باشد که به معنای این است که این یوزر توسط خود System ساخته شده است. (Built-in)

نکته:
Computer Management فایل LSD کامپیوتر نیست. در واقع شما در کلاس MCSE یاد خواهید گرفت Computer Management یک جعبه ابزار است که به ما کمک می‌کند یکسری از ابزارها را مشاهده نماییم.
در آینده شما می‌توانید یک جعبه ایزار توی این قسمت را شخصی‌سازی کنید به گونه‌ای که تنها ابزارهای مورد نیاز شما را داشته باشد. 

در شبکه‌های Workgroup هر کامیپوتر (PC) دارای یک فایل LSD می‌باشد و LSD هر کاپیوتر نزد همان کامپیوتر نگه داری می‌شود.

دلیل اینکه ما به این شبکه ها، شبکه‌های Workgroup می‌گوییم این است که مدیریت در این شبکه‌ها به صورت مستقل و غیر متمرکز است می‌باشد. یعنی هر کامپیتر به صورت جداگانه دسترسی‌ها به خودش را مدیریت می‌کند.

در شبکه Workgroup برای اینکه من بتوانم به User account خودم وارد شوم باید یوزر اکانت من در Local Security Database کامپیوتری که می‌خواهم به آن وارد شوم وجود داشته باشد.

حالا سوال اینجاست که من زمانی که فرایند login بر روی PC1 را انجام می‌دهم، چه مراحلی انجام می‌شود؟

Login در شبکه‌های workgroup

در کل چه در شبکه‌های Workgroup و چه در سایر شبکه‌ها شما برای login باید سه بخش را بگذرانید. از این سه بخش که شامل Authentication، authorization و accounting می‌شود با نام AAA نامبرده می‌شوذد که من در اینجا توضیح مختصری راجب آن می‌دهم.

احراز هویت - Authentication

به صورت منطقی زمانی که شما می‌خواهید وارد کامپیوتر خودتون شوید همانند سایر کاربران باید یه یوزر خود Login کنید. برای مثال شما یک وسیله نقلیه دارید و برای وارد شدن به این وسیله نقلیه نیاز به کلید دارید حتی اگر این وسیله مال شخص شما باشد.

برای مثال من روی PC1 یک User account شامل User: Ali و password: ۱۲۳ تعریف کردم. حالا فرض کنید من میخواهم وارد یوزر اکانتی که ساخته‌ام بشوم. اولین مرحله برای login احراز هویت است. احراز هویت به این معناست که آیا تو واقعا Ali هستی و آیا اجازه دسترسی به این کامپیوتر را دارید یا خیر.

برای مثال زمانی که شما میخواهید وارد هواپیما شوید، عکس شما با کارت ملی شما برسی میشود که آیا واقعا شما علی پورسهی هستید، در مرحله بعد برسی می‌شود که آیا علی پورسهی اجازه ورود به این هواپیما را دارد؟

حالا این اطلاعات بر روی LSD نوشته شده است. یعنی پس از اینکه شما یوزر و پسورد خود را وارد می‌کنید، کامپیوتر فایل Local Security Database خود را برسی می‌کند و چک می‌کند که آیا یوزری به نام Ali و پسورد ۱۲۳ بر روی آن وجود دارد.

 

احراز هویت - Authentication

 

تایید صلایت - Authorization

بعد از Authentication صلاحیت شما برای دسترسی به منابع سیستم سنجیده می‌شود. به صورت خلاصه شما وارد سیستم شدید ولی فقط به منابع مشخصی دسترسی دارید یا برای دسترسی به این منابع مشخص تایید صلاحیت شدید. 

برای مثال شما توانسته‌اید وارد یک واحد مسکونی شوید ولی با این وجود اجازه ندارید از هر امکاناتی استفاده کنید و یا داخل هر اتاقی بروید. 
مباحث authorization در کل به سه دسته زیر تقسیم‌بندی می‌شود:

permission

ما یک مفهومی به نام permission داریم که تعیین کننده میزان دسترسی به منابع سیستم شما می‌باشد و خود این مفهوم permission به سه دسته زیر تقسیم‌بندی می‌شود که سطوح permission می‌باشد:

  • Read
  • write
  • Full control
Read

این نوع permission فقط در مورد فایل‌هایی به شما داده می‌شود که تنها می‌توانید آن‌ها رو ببینید و یا طبق معنی خود کلمه می‌توانید این فایل‌ها رو بخوانید ولی اجازه ویرایش این فایل‌ها را نخواهید داشت.

Write

این نوع از permission راجب فایل‌هایی به شما داده میشود که اجازه ویرایش آن‌ها را دارید.

Full control

این نوع از permission همانند این است که شما بر روی یک فایل هم دسترسی Read و هم دسترسی Write داشته باشید. البته دسترسی شامل موارد و permissionهای دیگری هم می‌شود که در آینده آن‌ها را توضیح خواهیم داد و فعلا موضوع بحث ما نیست.

در ورژن‌های قدیمی‌تر Microsoft Windows شما موقع دادن دسترسی به یک فایل یک permission با نام change مشاهده می‌کردید. این دسترسی هم همان دسترسی Read و Write بود که البته در ورژن‌های بعدی خود شرکت Microsoft متوجه اشتباه خود شد و این permission را حذف کرد.

برای مثال permission تعریف می‌کند که دسترسی شما بر روی یک فایل، که خود این فایل یکی از منابع سیستم شماست چقدر می‌باشد.

Right

Right دسترسی نسبت به خود سیستم می‌باشد. به مفهومی ساده‌تر اگر شما بخواهید یک سیستم را ریستارت (restart) کنید و یا بخواهید تنظیماتی را بر روی خود سیستم داخل کنترل‌پنل (control panel) یا جاهای دیگر تغییر دهید نیاز به دسترسی Right خواهید داشت.

حالا مجوز دسترسی Right ممکن است از طریق خود OS صادر شود و یا یک کاربر ادمین (admin) این دسترسی ر ادر اختیار شما قرار دهد.

Access

بحث Access با Right و Permission کمی متفاوت است. Access به معنای دسترسی فیزیکی به سخت‌افزار می‌باشد. وقتی می‌گوییم شما به یک سرور Access دارین این به معنای دسترسی فیزیکی شما به سرور می‌باشد.

ممکن هست شما به یک کامپیوتر Right و Permission داشته باشید ولی Access نداشته باشید. به این صورت که از پشت یک کامپیوتر دیگر به این کامپیوتر login کرده باشید. 
در بیشتر مواقع شما زمانی که Access داشته باشید یعنی دسترسی به سخت‌افزار داشته باشید، می‌توانید Right و Permission هم بدست بیارید. 

برای مثال اگه شما دسترسی به سخت‌افزار یک کامپیوتر داشته باشید می‌توانید پسورد این کامپیوتر را تغییر دهید و برای خود Right و Permission تعریف کنید. برای همین معمولا از سخت‌افزار سرورها در اتاق‌های سروری نگه‌داری می‌شوند که دارای پروتکل‌های امنیتی است و هر کسی حق رفت و آمد در آنجا را ندارد.

پروسه Authentication و Authorization با هم انجام می‌شوند، یعنی زمانی که یک User احراز هویت می‌شود، Authorize هم می‌شود.

منظور این است که تصور نکنید زمانی که Authentication را انجام دادید، باید منتظر باشد Authorize شوید، یعنی تصور نکنید همان لحظه اگر یک فایل رو شما اجرا کنید به دلیل اینکه تعیین سطح دسترسی شما انجام نشده این فایل اجرا نمی‌شود.

حسابرسی – Accounting

واژه accounting به معنای حسابرسی می‌باشد. در این بخش میزان دسترسی‌های شما و محدودیت‌های دسترسی شما مشخص می‌شود. برای مثال شما قراراست به اینترنت دسترسی داشته باشید، حجم میزان دسترسی شما به اینترنت با مفهومی به نام accounting قابل تعریف است.

Accounting به این معناست که یک محدودیتی روی دسترسی شما اعمال شده. خود accounting یا بصورت Quota و یا بصورت Credit قابل تعریف است که ما در اینجا قصد توضیح آن را نداریم.

بخواهم خیلی ساده توضیح بدم، میزان دسترسی شما و مقدار و حجم دسترسی را accounting تعریف می‌کند. 
شما این مورد را در بیشتر شرکت‌ها مشاهده می‌کنید که برای مثال کارمندان محدودیت سرعت دارند و یا در طول روز مقدار مشخصی از حجم اینترنت می‌توانند استفاده کنند.

ارتباط بین دو کامپیوتر در شبکه‌های workgroup

یکی از عیب‌های بزرگ این نوع شبکه‌عدم وجود مدیریت متمرکز است. در صورتی که شما در یک شبکه از طرق PC1 بخواهید به منابع PC2 دسترسی پیدا کنید؛ اول باید پروسه login را بر روی PC1 انجام دهید، سپس باید مجدد پروسه login را بر روی PC2 برای دسترسی به منابع این کامپیوتر انجام دهید.

در واقع ما برای مثال باید هم اطلاعات Authentication بر روی PC1 و هم اطلاعات وارد شدن به PC2 را به کاربر بدهیم. این قضیه در ابعاد کوچک برای شما مشکل زیادی ایجاد نمی‌کند.

اما بر فرض در شبکه‌ای که کاربر در روز قصد اتصال به ۱۰ کامپیوتر برای کارهای مختلف را دارد، این مساله مشکلات فراوانی ایجاد می‌کند. اول از همه باید به هر کاربر یک لیست از یوزرها (Users) و پسوردها (Passwords) بدهیم چون حفظ کردن چنین اطلاعاتی برای کاربران معمولی دشوار است.

دوم اینکه اگر یک کاربر برای مثال پسورد یوزر خود را تعویض کند شما باید یک لیست جدید صادر کنید که مجددا به همه افراد شرکت اطلاع رسانی کنید فلان کاربر پسورد مربوط به کامپیوتر خود را تعویض نموده است.

برای حل مشکل دوم کاری که میشه کرد این است که بر روی هر کامپیوتر دو یوزر تعریف شود که اگر کاربر PC2 پسورد خود را تویض کند، همچنان کاربر PC1 بتواند به منابع این کامپیوتر دسترسی پیدا کند.

مشکل سوم که در این جور مواقع بوجود می‌آید این است که کاربر PC1 می‌تواند با اطلاعاتی که دارد و با یوزر و پسوردی که بر روی LSD کامپیوتر PC2 ذخیره شده به PC2 وارد شود (login) تغییراتی ایجاد کند. پس در نتیجه شبکه ما امنیت پایینی خواهد داشت.

برای حل مشکل اول گاها دیده می‌شود که ادمین شبکه (admin) برای اینکه این مشکل را برطرف کند، یوزرنیم و پسورد همه کامپیوترها را یکسان وارد می‌کند. در این صورت به دلایلی که جلوتر آن‌را توضیح خواهیم داد برلای اینکه PC1 از منابع PC2 استفاده کند نیازی انجام مدد پروسه Authentication ندارد.

اگه بخواهیم درست‌تر بیان کنیم پروسه Authentication انجام می‌شود ولی در بک‌گراند (background) اتفاق می‌افتد. ولی شما مجددا مشکل امنیت را خواهید داشت.

یعنی هر کاربر username و password کامپیوترهای دیگر را می‌داند و این توانایی را دارد که به آن‌ها login کند و تغییراتی بر روی این کامپیوترها ایجاد کند. باز هم به مشکل امنیت برخورد کردیم.

این درست مثل این است که شما داخل یک آپارتمان برای تمامی واحدها، قفل و کلیدهای یکسان تعبیه کنید. که این واقعا توی یک شبکه فاجعه است.

در شبکه ورک‌گروپ (Workgroup) شما محدودیتی برای کلاینت‌ها و سرورها نخواهید داشت و اگر بخواهید امنیت خیلی معمولی داشته باشید باید روی هر کامپیوتر به تعداد کارمندان User account تعریف کنید. که اگر ر یوزر بخواهد روی یک کاپیوتر کار کند، روی LSD این کاپیوتر یوزر او تعریف شده باشد.

مشکلی که در اینجا برای شما بوجود می‌آید این است که اگر یک کاربر تغییری در یکی از Attributeهای یوزر خود بوجود آورد؛ شما باید این تغییر را بصورت دستی روی همه این کامیپیوترها اعمال کنید.

بصورت استاندارد تعداد کامپیوترهای یک شبکه ورک‌گروپ (Workgroup) بین ۲ تا ۱۰ کامپیوتر تعریف می‌شود. وجه کنید که من نمی‌گویم که شما محدودیت ۱۰ کامپیوتری داریم، حرف من این است که اگر از این تعداد بیشتر شود مدیریت سخت‌تر می‌شود. 
من به شما پیشنهاد میکنم که اگر تعداد کامپیوترها و سرورهای شما از این تعداد بیشتر شد به فکر یک شبکه دیگر باشید.

Background Authentication

در بالا به شما توضیح دادم که ممکن است کنیم پروسه Authentication در بک‌گراند (background) انجام شود. حالا می‌خواهیم برسی کنیم که چگونه این اتفاق می‌افتد. 
در اول کار می‌خواهم در مورد یکسری از قطعات داخلی کامپیوتر صحبت کنم تا این مسئله برای شما بیشتر قابل درک باشد. شما باید یک دید کلی از کارکرد RAM، CPU و Hard داشته باشید:

CPU

همان طور که در جریان هستید CPU پردازنده مرکزی کامپیوتر هست و برای انجام پردازش‌ها سه عمل اصلی را انجام می‌دهد:

واکشی (Fetch)

به زبان ساده عمل واکشی به معنای درخواست اطلاعات می‌باشد. منطقی است که CPU برای عمل پردازش نیاز به یکسری اطلاعات دارد، نیاز به یکسری صفر و یک دارد. 
تا زمانی که این صفر و یک‌ها نباشند که چیزی برای پردازش وجود نخواهد داشت. پس در مرحله اول CPU باید این اطلاعات را Fetch کند.

کدگشایی (Decode)

عمل کدگشایی یا Decode همان فعالیت اصلی CPU می‌باشد به این معنی که CPU اطلاعاتی را که در مرحله قبل Fetch کرده پردازش می‌کند.

اجرا (Execute)

در مرحله نهایی دستورالعمل‌های Decode شده به اجزای مرتبط CPU ارسال می‌شوند تا اجرا شوند.

 

پردازشگر کامپیوتر

 

Hard

حافظه اصلی کامپیوتر شما Hard هست که ما در اینجا قصد نداری به تکنولوژی و انواع آن بپردازیم. تنها چیزی که در اینجا برای ما مهم است این است که Hard سرعت پایین‌تری به نسبت RAM و CPU دارد. 
این سرعت پایین باعث کاهش عملکرد و بازدهی کامپیوتر ما می‌شود.

RAM

سرعت تبادل اطلاعات هارد (Hard) بسیار پایین‌تر از سرعت پردازش CPU هست. برای همین یک کامپوننت به نام RAM به کامپیوترها اضافه شد تا ما بین هارد و CPU قرار گیرند. 
فرض کنید شما داخل یک خط تولید کار می‌کنید و نفر قبل از شما سرعت کُندی دارد و کار شما وابسته اوست. در این صورت کار شما نیز به نسبت سرعت آن فرد مورد نظر کاهش پیدا می‌کند.

حالا RAM چگونه به شما کمک می‌کند؟

توضیح در مورد اینکه رم چگونه کار می‌کند نیازمند یک مقاله جداگانه هست ولی بصورت خلاصه اگر بخواهم توضیح دهم؛ RAM توسط یکسری الگوریتم‌های ریاضی اطلاعاتی که ممکن است شما زیاد در اختیار داشته باشید را در خود ذخیره میکند تا شما برای هر بار دریافت این اطلاعات به سراغ Hard نروید.

تا جایی که من میدانم RAM معمولا اطلاعاتی که شما به تازگی به سراغ آن‌ها رفته‌اید و اطلاعاتی که زیاد به سراغ آن می‌روید را در خود ذخیره‌سازی می‌کند. 
حجم هارد در کامپیوترها خیلی بیشتر از حجم RAM است برای همین RAM نمی‌تواند کل اطلاعات را از هارد بگیرد و تنها اطلاعاتی را از هارد می‌گیرد که بیشتر به آن‌ها رجوع شده.

حالا با توجه به این مطالبی که توضیح دادیم میخواهیم برویم به سراغ Background Authentication:

بر فرض شما روی یک کامپیوتر با یک یوزر login کرده اید. در این حالت اولین اتفاقی که رخ می‌دهد این است که User account شما بر روی RAM کامپیوتر Cache می‌شود.

حالا شما میخواهید وارد یک File Sharing از یک کامپیوتر دیگر شوید. برای اینکار همانند تصویر زیر باید ip کامپیوتر مقصد را داخل پنجره RUN (استفاده از کلیدهای ترکیبی Win + R) که ظاهری مانند شکل زیر دارد browse کنید.

 

File Sharing

 

برای اینکار شما باید از دوتا بک‌اسلش (\) و سپس ip کامپیوتر مقصد استفاده کنید. (البته روش‌های دیگری هم برای اینکار وجود دارد.)

در صورتی که username و password کامپیوتر شما با کامیوتر مقصد یکسان باشد پروسه Authentication در بک‌گراند (background) انجام می‌شود و دیگر کامپیوتر دوم شما را احراز هویت نمی‌کند.

به زبان ساده اتفاقی که اینجا رخ می‌دهد این است که کامپیوتر مقصد اطلاعات Cache شده بر روی RAM کامپیوتر مبدا را برسی می‌کند تا ببیند آیا User account در آن وجود دارد که به آن trust (اعتماد) داشته باشد.

این همون جایی بود که گفتیم ادمین شبکه (admin) برای اینکه کار خود را ساده‌تر کند برای هر کاربر روی LSD هر ک از کامپیوترها یک اکانت واحد تعریف کرده است.

تبادل اطلاعات میان دو کامپیوتر

تبادل اطللاعات بین دو کامپیوتر به دو کامپیوتر به دو صورت clear txt و cipher txt انجام می‌شود. شما فرض کنید در مدیای شبکه شما یک نفر در حال شنود (man of the middle) این اطلاعاتی هست که بین کامپیوترها در حال تبادل است.

در این صورت اگر اطلاعات تبادل شده بین دو کاپیوتر و یا کلا بین کامپیوترها در یک شبکه کامپیوتری از نوع Clear txt باشد. این فرد تمامی اطلاعات شما را مه برای کامپیوتر دیگر فرستاده‌اید دارد.

برای مثال اگر کامپیوتری قصد داشته باشد برای کامپیوتر دیگر یوزرنیم و پسورد ارسال کند، شخص ثالثی که در این میان به اطلاعات ارسالی این دو نفر در حال گوش دادن است، متوجه یوزرنیم و پسورد کامپیوتر می‌شود.

 

تبادل اطلاعات میان دو کامپیوتر

 

در این حالت کامپیوترها اطلاعات خود را بصورت cipher txt ارسال می‌کنند. به زبان ساده بخواهم برای شما توضیح دهم، با یک زبان دیگری با یکدیگر صحبت می‌کنند تا کسی متوجه نشوند آن‌ها چه اطلاعاتی را رد و بدل می‌کنند.

به این اتفاق و ارسال اطلاعات بصورت cipher txt، encryption می‌گویند. در بحث Encryption ما به چند چیز نیاز داریم تا بتوانیم یک clear txt را به cipher txt تبدیل کنیم.

یکی از این نیازمندی‌ها وجود یک الگوریتم قدرتمند است. الگوریتم‌های بسیاری وجود دارد که تاجایی که من میدانم همه این الگوریتم‌ها برگرفته شده از توابع ریاضی است.در اینجا من قصد ندارم الگوریتم‌ها رو توضیح بدم چون توضیح الگوریتم‌ها کلی زمانبر است. هر الگوریتم حداقل دارای یک کلید (Key) است.

وجود الگوریتم به تنهایی همانند یک پازل ناتمام می‌باشد که با استفاده از (Key) کامل می‌شود. بیشتر این الگوریتم‌ها در داخل اینترنت وجود دارد و شما می‌توانید نحوه کارکرد و معادلات آن‌ها را مشاهده کنید.

اما چیری که این الگوریتم‌ها را بین دو کامپیوتر منحصر به فرد می‌کند وجود همین کلید (Key) می‌باشد. برخی از الگوریتم‌ها دارای چندین کلید (Key) می‌باشند.

کلید (Key) توسط فرستنده اطلاعات به گیرنده ارسال می‌شود و گیرنده اطلاعات برای شکستن cipher txt و decryption به این کلید نیاز دارد. این کار باعث می‌شود شخص ثالث متوجه تبادل اطلاعات شود ولی متوجه محتوای اطلاعات نشود.

فرستنده یک پیام را توسط تابع f (x) رمزگذاری می‌کند. سپس cipher txt و کلید الگوریتم را برای گیرنده می‌فرستد. اما گیرنده اینبار با معکوس تابع f (x) یا همان f’ (x) می‌تواند پیام را decrypt کند.

فرد میانی (man of the middle) می‌تواند انواع کلیدها را برای شکستن پیام امتحان نماید، اینکار زمانبر است ولی غیر ممکن نیست.

برای همین معمولا کلیدها دارای یک طول عمر (Life time) می‌باشند تا اگر کسی توانست به کلید پی‌ببرد نتواند همه پیام‌های بین دو کامپیوتر را decrypt کند. (همانند رمز پویا) 
حالا سوال مهم اینجاست که کلید (Key) چه زمانی برای کامپیوتر مقصد ارسال می‌شود؟

جواب خیلی ساده است، قبل از همه این کارها این دو کامپیوتر از طریق یک پروتکل با هم یک ارتباط برقرار می‌کنند و موقع برقراری این ارتباط کامپیوتر مبدا کلید cipher txtهایی که قرار است در آینده به کامپیوتر مقصد ارسال کند را، می‌فرستد.

ممکن است در موقع ارتباط بین دو کامپیوتر کلید برای کامپیوتر مقصد ارسال نشود و فقط الگوریتم مشخص شود. در این حالت موقع ارسال خود cipher txt کلید نیز همراه آن ارسال می‌شود.

این چیزی که من در اینجا به شما توضیح دادم توضیح خیلی مختصری راجب encryption برای صحبت راجب این موضوع شما به روزها زمان برای درک کامل چنین مفهومی نیاز دارید.

شبکه‌های I-land

یکی از روش‌ها برای مدیریت یک شبکه کاپیوتری بیش از ۱۰ کاربر مدیریت به روش I land هست. در این روش شما به جای اینکه یک شبکه Workgroup داشته باشید، چندین I land دارید که هر کدام از اینها خودشان یک شبکه Workgroup هستند.

به این روش مدیریت شبکه، جزیره‌ای هم گفته می‌شود. برای مثال ممکن است شما چندین I land داشته باشید که یکی از آن‌ها مربوط به واحد اداری، یکی دیگر واحد حساب داری یکی دیگر مربوط به کنترل پروژه و...

در مرحله بعد بهتر است برای هر کدام از i-landها یک ادمین یا help desk داشته باشید. وگرنه باید خودتان بصورت دستی همه این کارها را انجام دهید.

در شبکه i-land تمامی مشکلات و دغدغه‌های یک شبکه Workgroup وجود دارد. تنها اتفاقی که در اینجا افتاده این است که به خاطر مدیریت به شکل جزیره‌ای کامپیوتری مدیریت آسان‌تر شده. ولی همچنان شما همان کارهایی که در شبکه Workgroup باید انجام میدادید، اینجاهم در هر یک از i-landها انجام دهید.

علاوه بر این‌ها مشکلی که در اینجا وجود دارد این است که بین i-landها ارتباطی وجود ندارد و عملا قرار نیست کارمندان واحد مالی به کامپیوترهای واحد اداری دسترسی داشته باشند.

البته که دسترسی قابل تعریف است ولی به صورت منطقی قرار نیست کسی از پشت کامپیوترهای واحد مالی؛ روی کامپیوترهای واحد اداری login کند.

شما در شبکه‌های Workgroup و i-land با پیچیدگی خاصی روبه رو نیستید، البته که این شبکه‌ها دغدغه‌های زیادی برای شما ایجاد میکند. یعنی زحمت نگهداری چنین شبکه‌هایی بسیار بالاست ولی پیچیدگی خاصی در آن‌ها وجود ندارد و شما با کوچکترین دانشی می‌توانید این شبکه هارا مدیریت کنید.

تا اینجای کار متوجه شدیم شبکه‌های Workgroup را آسان‌تر می‌توان پیاده‌سازی کرد ولی مدیریت آن دشوارتر است. همچنین این شبکه‌ها هزینه‌های کمتری دارند. 

شبکه‌های Domain

شبکه‌های workgroup جدا از دغدغه‌ها و مشکلات امنیتی که برای ادمین شبکه (admin) ایجاد می‌کرد، دارای یک ضعف بزرگ بود.

کاربران در شبکه‌های workgroup مجبور هستند تعداد زیادی username و password حفظ کنند ومشکل بزرگتر آنجاست که هر دفعه که می‌خواهند از سرویسی استفاده کنند باید این یوزر و پسوردها را وارد کنند.

به مفهومی دیگر در شبکه‌های workgroup چیزی بعنوان مدیریت متمرکز وجود ندارد و هر کامپیوتر به صورت مستقل دسترسی‌های مربوط به خود را مدیریت می‌کند. ایرادی که به شبکه‌های workgroup وارد می‌شود این است که پیاده‌سازی آن آسان و هزینه‌های آن کمتر است ولی نگهداری و حفظ امنیت آن مصیبت است.

شبکه‌های centralized یا Domain model شبکه‌هایی هستند که برخلاف شبکه‌های workgroup مدیریت بصورت مستقل انجام نمی‌شود. راه حل فرار از مشکلات شبکه workgroup رفتن به سمت شبکه‌های Domain هست. قضیه سر این هست که شما برای حل این مشکلات به یک سرور AAA نیاز دارید.

به یک سروری احتیاج دارید که مسئولیت Authentication، Authorization و Accounting را در شبکه شما برعهده گیرد. کاربرد این AAA Server این است که به جای اینکه هر کامپیوتر به LSD خود برای هر کدام از اعمال بالا مراجعه کند، به AAA Server مراجعه کند.

این AAA Server دارای یک دیتابیس هست که در مرحله اول اطلاعات مربوط به هر کدام از این کامپیوترها را نگهداری می‌کند. کامپیوترهایی که در محدوده AAA Server قرار میگیرند (یعنی Join AAA Server هستند) قرار است برای انجام Authentication، Authorization و Accounting از AAA Server کمک بگیرند.

وقتی یک کامپیوتر داخل دامین در حال فعالیت است می‌گوییم این کامپیوتر join دامین است. خب بهترین اسمی که می‌توان برای یک سروری که دامین رو کنترل می‌کند انتخاب کرد، Domain Controller یا به اختصار DC است. برای همین در شبکه‌ها به AAA Server، DC می‌گویند.

 

شبکه‌های Domain

 

در سیستم عامل‌های ویندوز سرور که در حال حاضر بهترین AAA Serverهای جهان را دارند، سرویسی که این DC برای مدیریت و کنترل دامین شما قرار است ارائه کند، سرویس Active directory هست.

در واقع Active directory تمامی کاربردهای LSD را برای کنترل کامپیوترها دارد. و نکته مهم‌تر این است که دیگر قرار نیست کامپیوترها بصورت مستقل کنترل شوند.

پروسه احراز هویت، تعیین سطح دستری و حسابرسی تقریبا توی شبکه‌های دامین با شبکه‌های workgroup تفاوتی ندارد و تنها تفاوت آن همین است که کامپیوترها به جای رجوع به LSD خود به سراغ دیتابیس Active directory می‌روند که نام آن NTDS. DIT است.

حالا اینکه سختار این فایل NTDS. DIT چگونه هست در مقالات آینده راجب آن صحبت خواهیم کرد. (مباحث MCSE)

حالا به نظر شما اگر در شبکه‌ای که یک دامین وجود دارد یک کامپیوتر دیگر که join domain نیست می‌تواند به کامپیوترها متصل شود؟

جواب خیلی ساده است. شما می‌توانید یک کامپیوتر را که join domain نیست را بصورت workgroup به دیگر کامپیوترهایی که join domain هستند متصل کنید ولی اگر این کامپیوتر بخواهد به سطوح دسترسی DC دسترسی پیدا کند و از دیتابیس Active directory استفاده کند، حتما باید join domain شود.

خیلی ساده‌تر بخواهم توضیح بدم، کامپیوتری که join domain نیست نمی‌تواند از سرویس Active directory استفاده کند.

DNS در شبکه‌های دامین

زمانی که شبکه‌ها بصورت workgroup بود شما می‌دانشتید برای دریافت یک سرویس باید به چه کامپیوتری متصل شوید. ولی زمانی که شما یک شبکه دامین مدل می‌سازید، دیگر کاپیوتر شما اصلا نمی‌داند سرور AAA کجاست که اصلا بخواهد بعد از اتصال به آن به کامپیوتر دیگری متصل شود و سرویس دریافت کند.

برای مثال شما می‌خواهید برای اولین بار به سمت یک مقصدی حرکت کنید، منطقی هست که برای اولین بار نمی‌دانید چگونه به سمت مقصد خود حرکت کنید. در این شرایط یک انسان عاقل از گوگل مپ یا هر نرم‌افزار دیگر برای یافتن مقصد خود کمک می‌گیرد. یا اینکه از یک نفر کمک می‌گیرد تا به او کمک کند. برای مثال شما ممکن است با شماره ۱۱۸ تماس بگیرید تا مقصد خود را پیدا کنید یا شماره‌ای از مقصد خود پیدا کنید.

حالا برمی‌گردیم به بحث خودمون؛ در شبکه‌های کامپیوتری، کامپیوترها باید از یک سرور سوال کنند Domain Controller آن‌ها کیست و سرویس Active directory کجای شبکه من قرار دارد.

وظیفه این کار بر عهده یک سرور به نام DNS Server هست که در واقع اسم اصلی آن domain name services هست. کار DNS Server، domain name resolution است یعنی سه کار اصلی انجام می‌دهد:

  • تبدیل IP به FQDN
  • تبدیل FQDN به IP
  • service locator

حالا اینکه FQDN چی هست شما در این مرحله فرض کنید FQDN اسم سرور شماست تا من در آینده‌ای نزدیک راجبش توضیح بدم.

کار سومی که DNS Server انجام می‌دهد همان چیزیست که ما به دنبال آن می‌گردیم. service locator به این معناست که DNS به شما می‌گوید هر سرویستوسط چه سروری به شما ارائه می‌شود.

DNS قرار هست در شبکه به کامپیوترهای که Join دامین هستند کمک کند تا بتوانند سرور ارائه دهنده service مدنظر خود را پیدا کنند.

تفاوت logon و login

در اصل این دو هیچ تفاوتی با یکدیگر ندارند. فرض کنید شما یک خانه دارید و داخل این خانه یک کامپیوتر دارید. زمانی که شما درب این خانه را باز می‌کنید و وارد این خانه می‌شود در اصل logon کردید به داخل خانه یعنی احاطه پیدا کردید.

ساده‌تر بخواهم توضیح بدهم زمانی که شما پشت میز کامپیوتر می‌شینید و کامپیوتر خود را روشن می‌کنید در اصل به سیستم عاملتون (OS)، logon کرده‌اید. در مرحله بعد که می‌خواهید از طریق مرورگر ارد سیستم اتوماسیون اداری خود شوید برای وارد شدن به این نرم‌افزار پروسه login را انجام می‌دهید.

 

تفاوت logon و login

 

اگر بخواهیم درست صحبت کنیم، به کامپیوتر logon می‌کنند و login کردن به کامپیوتر معنا ندارد. یعنی logon کردن به معنای سوار شدن است، به معنای احاطه پیدا کردن است. 
Logon و login ربطی به پسورد ندارد؛ اینکه شما به کامپیوتر logon می‌کنید ربطی به پسورد داشتن یا نداشتن کامپیوترتان ندارد.

این مقاله را به زبان دیگر ببینید:

انصراف از نظر