از روتينگ به منظور دريافت يک بسته اطلاعاتی ( packet ) از يک دستگاه و ارسال آن از طريق شبکه برای دستگاهی ديگر و بر روی شبکه ای متفاوت ، استفاده می گردد . در صورتی که شبکه شما دارای روتر نباشد ، امکان روتينگ داده بين شبکه شما و ساير شبکه ها وجود نخواهد داشت . يک روتر به منظور مسيريابی يک بسته اطلاعاتی ، می بايست آگاهی لازم در خصوص اطلاعات زير را داشته باشد :
آدرس مقصد
روترهای مجاور که با استفاده از آنان امکان اخذ اطلاعات لازم در خصوص شبکه های از راه دور، فراهم می گردد .
مسيرهای موجود به تمامی شبکه های از راه دور
بهترين مسير به هر يک از شبکه های از راه دور
نحوه نگهداری و بررسی اطلاعات روتينگ
همگرائی ( Convergence )
فرآيند مورد نياز برای تمامی روترهای موجود در يک شبکه به منظور بهنگام سازی جداول روتينگ و ايجاد يک نگرش سازگار از شبکه با استفاده ار بهترين مسيرهای موجود . در زمان انجام فرآيند فوق ( همگرائی ) ، داده کاربر ارسال نخواهد شد .
مسير پيش فرض ( Default Route )
يک مسير استاندارد درج شده در جدول روتينگ که به عنوان اولين گزينه در نظر گرفته می شود . هر بسته اطلاعاتی که توسط يک دستگاه ارسال می گردد در ابتدا به مسير پيش فرض ارسال خواهد شد . در صورتی که مسير فوق مشکل داشته باشد ، يک مسير ديگر انتخاب می گردد .
مسير ايستا ( Static Route )
يک مسير دائم که به صورت دستی درون يک جدول روتينگ درج می گردد . مسير فوق حتی در موارديکه ارتباط غير فعال است در جدول روتينگ باقی مانده و صرفا" به صورت دستی حذف می گردد .
مسير پويا ( Dynamic Route )
يک مسير که به صورت پويا ( اتوماتيک ) و متناسب با تغييرات شبکه ، بهنگام می گردد .مسيرهای پويا نقطه مقابل مسيرهای ايستا می باشند .
برخي از سوئيچ ها در لايه دوم شبكه يا Data Layer كار مي كنند. با افزون روترها به اين مجموعه مي توانند در لايه سوم شبكه يا Network layer نيز كار كنند. در واقع سوييچ لايه سوم كاملا شبيه روتر است. روتر به محض دريافت پكت اطلاعات به آدرس هاي مبدا و مقصد نگاهي مي اندازد تا مسيري را كه بسته مي بايد طي كند را بيايد. يك سوئيچ استاندارد بر مبناي آدرس هاي MAC ، مبدا و مقصد بسته را شناسايي مي كند.
تفاوت اساسي بين يك روتر و سوئيچ لايه 3 اين است كه سوئيچ لايه سوم با همان سرعت سوئيچ لايه دوم كار مي كند و براي انتقال ديتا از يك قطعه سخت افزاري استفاده مي كند همچنين آنها به مانند روترها در مورد نحوه هدايت ترافيك به لايه سوم تصميم مي گيرند. در داخل يك شبكه LAN سوئيچ هاي لايه سوم معمولاً سريعتر از روترها كار مي كنند زيرا بر مبناي سوئيچينگ سخت افزاري ساخته شده اند. در واقع بيشتر سوئيچ هاي لايه سومCisco روترهايي مي باشند كه داراي سوئيچينگ سخت افزاري بوده و در داخل اين قطعه سخت افزاري ، تعدادي تراشه وجود دارد كه بر حسب نياز انتخاب مي شوند كه در مجموع موجب افزايش سرعت اين روترها مي گردند. نحوه تركيب و مختص بودن سوئيچ هاي لايه سوم همانند الگويي است كه در روترها ديده مي شود. هر دوي آنها از پروتكل ها و جداول مسيريابي (Routing Table) استفاده مي كنند تا بهترين مسير را بيابند. هر چند سوئيچ هاي لايه سوم قادرند تا به صورت فعالي با استفاده از اطلاعات مسيريابي لايه سوم براي سخت افزار برنامه ريزي كنند كه در نهايت منجر به هدايت سريع بسته هاي اطلاعاتي مي گردد.
در سوئيچ هاي لايه سوم كنوني ، اطلاعات بدست آمده از پروتكل هاي جهت يابي براي روز آمد كردن جداول سخت افزاري استفاده مي شوند.

شكل 1 : شبكه های محلی متصل شده به هم از طريق روتر
در شكل فوق ، هر شبكه با استفاده از يك پورت هاب به روتر متصل شده است ( هر سگمنت
دارای شماره شبكه منطقی مختص به خود است، گرچه اين موضوع در شكل نشان داده
نشده است ) . هر گره متصل شده به يك شبكه فيزيكی خاص ، می بايست در زمان برقراری
ارتباط بر روی شبكه از شماره شبكه خود استفاده نمايد .
توجه داشته باشيد كه هر دپارتمان دارای شبكه اختصاصی مختص به خود است ، بنابراين در
صورتی كه لازم است كاربران جديدی را به عنوان نمونه به دپارتمان فروش اضافه
نمائيم،
كافی است آنها را به شبكه محلی مربوط به دپارتمان فروش متصل نمود . در ادامه ،
كاربران جديد بطور اتوماتيك به عنوان بخشی از collision
و broadcast domain دپارتمان فروش محسوب خواهند شد
.
از اين نوع طراحی طی چندين سال در سازمان ها و موسسات استفاده می گرديد .
سيستم فوق دارای اشكالات اساسی متعددی است :
در صورتی كه ظرفيت پورت های دپارتمان فروش تكميل گردد و قصد داشته باشيم كاربر و يا كاربران جديدی را دپارتمان فوق اضافه نمائيم ، چه كار می بايست كرد ؟
در صورتی كه دپارتمان فروش چندين كارمند جديد را استخدام كرده باشد و دپارتمان فوق به دليل كمبود مكان فيزيكی اجازه استقرار كارمندان جديد را نداشته باشد ، چگونه می توان كارمندان فوق را به شبكه دپارتمان فروش متصل كرد ؟
فرض كنيد ،
دپارتمان امور مالی دارای مكان های آزاد متعددی است كه می توان كارمندان جديد بخش
فروش را در آنجا مستقر كرد تا امكان اتصال آنها به شبكه فراهم گردد . با اتصال
كاربران فوق به شبكه ، عملا" آنها به عنوان بخشی از شبكه امور مالی در نظر گرفته
خواهند شد . اين موضوع به دلايل متعددی قابل قبول نيست . از همه مهمتر مسائل امنيتی
است . چراكه در چنين وضعيتی كاربران جديد به عنوان عضوی از
broadcast domain بخش امور مالی در نظر گرفته شده و می توانند تمامی سرويس
دهندگان و سرويس های شبكه موجود بر روی شبكه دپارتمان امور مالی را مشاهده نمايند .
در چنين مواردی ، كاربران بخش فروش كه از طريق شبكه امور مالی به شبكه متصل شده اند
، جهت دستيابی به سرويس های شبكه فروش می بايست از طريق روتر به سرويس دهنده بخش
فروش login نمايند ( عدم وجود كارآئی مطلوب ) .
مثال : بررسی يك
نمونه شبكه فرضی با استفاده از VLAN و سوئيچ
در اين بخش به بررسی شبكه ای خواهيم پرداخت كه در آن از سوئيچ استفاده
شده است . شكل 2 ، اين موضوع را به اثبات می رساند كه چگونه سوئيچ قادر است محدوده
های فيزيكی را به منظور حل مشكلات اشاره شده در بخش قبل برطرف نمايد.

شكل 2 : پياده سازی Vlans
به كمك سوئيچ
برای ايجاد يك broadcast domain جهت هر دپارتمان ، از شش
VLAN (شماره دو تا هفت ) استفاده شده است . به هر
يك از پورت های سوئيچ يك شماره عضويت VLAN نسبت داده شده
است ( با توجه به هاست و اين كه در كدام broadcast domain
می بايست مستقر گردد ) .
با توجه به طراحی فوق ، اگر قرار باشد كه يك كاربر جديد را به VLAN
دپارتمان فروش ( VLAN شماره هفت ) اضافه نمائيم ، می
توان صرفا" پورت مورد نياز به VLAN شماره هفت را
به آن نسبت داد ، صرفنظر از اين كارمند بخش فروش از لحاظ فيزيكی در چه مكانی مستقر
است . وضعيت فوق يكی از مزايای مهم طراحی شبكه با استفاده از
VLAN نسبت به طراحی در مدل های قبلی را نشان می دهد . بدين ترتيب ، می توان
به سادگی هر هاستی را كه لازم است در VLAN دپارتمان
فروش قرار گيرد ، به VLAN شماره هفت نسبت داد .
توجه داشته باشيد كه شماره گذاری VLAN از عدد دو شروع
شده است . شايد برای شما اين سوال مطرح شده باشد كه چه بلائی بر سر
VLAN شماره يك آمده است . اين
VLAN يك VALN مديريتی است و علی رغم اين كه می
توان از آن برای يك workgroup استفاده كرد ولی كاربرد آن
صرفا" برای اهداف مديريتی است . شما نمی توانيد نام VLAN 1
را حذف و يا تغيير دهيد و به صورت پيش فرض تمامی پورت های موجود بر روی سوئيچ عضوی
از VLAN 1 می باشند تا زمانی كه آنها را تغيير دهيد .
هر VLAN به منزله يك broadcast
domain تلقی می گردد
، بنابراين می بايست دارای subnet number
مختص به خود
باشد . همانگونه كه در شكل 2 نشان داده شده است .
در صورتی كه از پروتكل
IPX استفاده
شده باشد ، می بايست به هر
VLAN شماره شبكه IPX مربوطه
را نسبت داد .
شايد اين سوال در ذهن شما مطرح شده باشد كه با توجه به وجود
سوئيچ چه دليلی برای استفاده از روتر وجود
دارد؟ همانگونه كه در شكل 2 مشاهده می
نمائيد ، شبكه فوق دارای هفت VLAN و يا
broadcast domain می باشد كه از شماره يك شروع می شوند .
گره های موجود درون هر VLAN قادر به برقراری ارتباط با
يكديگر می باشند ولی نه
با ساير عناصر موجود در يك VLAN
ديگر .
به چه ابزاری نياز داريم تا اين امكان در اختيار هاست های موجود گذاشته
شود تا با يك گره و يا هاست موجود بر روی يك شبكه متفاوت ديگر ارتباط
برقرار نمايند؟ حدس شما صحيح است يك روتر . اين گره ها می بايست از طريق
يك روتر و يا يك دستگاه لايه سه به هدف خود برسند( دقيقا" مشابه زمانی كه
برای ارتباطات
VLAN پيكربندی شده اند، شكل 2 ) . اين مو ضوع زمانی كه
چندين شبكه فيزيكی مختلف را بخواهيم به يكديگر متصل نمائيم نيز وجود خواهد
داشت . ارتباط بين هر يك از VLAN
ها می بايست از طريق يك دستگاه لايه سه انجام شود .
NAT یا ترجمه آدرس شبکه (Network Address Translation) یکی از پرکاربردترین پروتکلهای ترجمه و نگاشت IP است که در لایه سطح 3 شبکه مدل OSI فعالیت می کند.
عملکرد NAT مانند یک واسط میانی بین شبکه داخلی ( Internal) وشبکه خارجی (External) است،پکتهایی که از یک شبکه خصوصی می آیند توسط NAT مدیریت می شوند وسپس به مقصد مورد تقاضایشان ارسال می شوند.
یک آدرس در اینترنت مشاهده می شود و آدرسهای داخلی در اینترنت نشان داده نمی شوند.یک جدول در Router ساخته می شود که لیستی از آدرسهای محلی (Local) وعمومی (Global) در آن قرار دارد می گیرد و از آن به عنوان یک مرجع برای ترجمه IP ها استفاده می شود.
NAT می تواند به چندین روش کار کند:
NAT استاتیک:
یک IP ثبت نشده (Unregistered) به یک IP ثبت شده نگاشت می شود به صورت یک به یک،که هنگامی مفید است که بخواهیم به یک وسیله از خارج شبکه دسترسی پیدا کنیم.
NAT داینامیک:
یک IP ثبت نشده از طریق گروهی از IP های ثبت شده به یک IP ثبت شده نگاشت می شود.
به طور مثال ، یک کامپیوتر با IP ، 192.168.10.121 به اولین IP در دسترس در محدوده 212.156.98.100 تا 212.156.98.150 ترجمه می شود.
Overloading (سربارگذاری) :
یک فرم از NAT داینامیک است که چندین IP ثبت نشده را به یک IP ثبت شده نگاشت می کند ، اما از پورتهای مختلف استفاده می کند.
برای مثال، IP آدرس 192.168.10.121 به 212.56.128.122:Port Number (مثلا 212.56.128.122:1080 ) نگاشت خواهد شد.
Overlapping (همپوشانی) :
هنگامی است که آدرسهای داخل شبکه با آدرسهای بیرون شبکه همپوشانی (Overlap) می شوند-IP آدرسها در یک شبکه دیگر نیز رجیستر شده اند.روتر (Router) می بایست یک جدول جستجو از این آدرسها را نگهداری کند تا بتواند آنها را قطع کند و با IP آدرسهای رجیستر شده یکتا جایگزین کند.
NAT چگونه کار می کند:
یک جدول از اطلاعاتی درباره هر پکت(Packet) که عبور کرده توسط NAT نگهداری می شود.هنگامی که یک کامپیوتر در شبکه تلاش می کند تا به یک وب سایت در اینترنت متصل شود:
• هدر (Header) IP مبدا تغییر کرده و IP آدرس کامپیوتر NAT جایگزین آن می شود.
• IP آدرس مقصد به IP آدرس مخصوص داخلی تغییر می کند بر اساس رکوردهای جدول)
NAT می تواند به عنوان یک فایروال اساسی مورد استفاده قرار گیرد ، مدیر شبکه (Administrator) می تواند پکتهایی که از یک IP معین وارد/خارج می شوند را فیلتر کند و دسترسی به یک پورت بخصوص را اجازه دهد یا منع کند.
نصب NAT :
برای نصب NAT شما می بایست ویزارد Configure your server را از administrative tools اجرا کرده و سپس RRAS/VPN را انتخاب کنید.حال NEXT را کلیک کنید،RRAS اجرا می شود. همانطور که در تصویر زیر می بینید می بایست یک اتصال به اینترنت داشته باشید و نوع آن را مشخص کنید،واینکه آیا می خواهید فایروال را فعال کنید.

Next را کلیک کنید و ادامه دهید،پروسه نصب آغاز شده و سرویسها مجددا راه اندازی می شوند.
پیکربندی NAT :
پیکربندی NAT از طریق Routing and Remote Access انجام می شود ، که از طریق Administrative Tools قابل دسترسی است.

هرکدام از قسمتها را که می خواهید پیکربندی کنید بر روی آن double click کنید ، این کار پنجره properties مربوطه را باز می کند و شما می توانید تنظیمات آن را تغییر دهید مثل Packet filtering و Port blocking و همچنین فعال/غیرفعال کردن یک سری خصوصیات مانند Firewall .
همانگونه که در تصویر زیر مشاهده می کنید خصوصیات مربوط به Remote router نشان داده شده است.

در تب(Tab) مربوط به NAT/Basic Firewall شما می توانید نوع واسط(Interface type) را با توجه به نحوه اتصال به شبکه انتخاب کنید ،که من Public interface connected to the internet را انتخاب کرده ام.
دکمه های Inbound filters و outbound filter به شما تا ترفیک ناشی از IP آدرسها یا packet protocol ها را محدود کنید. مطابق بر این ،پکتهای TCP معینی قبل از اینکه به کامپیوتر کلاینت برسند،متوقف می شوند.بنابراین شبکه را امن تر می کند.
برای مثال هنگامی مفید است که شما بخواهید پکتهایی که از یک IP آدرس که در لیست سیاه نوشته شده است می آیند را رد کنید،یا دسترسی کاربران داخلی را به پورت 21 (FTP) محدود کنید.
برای تنظیمات بیشتر مربوط به Firewall به Tab ،Services and Ports بروید،در این قسمت شما می توانید سرویسهایی را که می خواهید کاربرانتان به آنها دسترسی داشته باشند را انتخاب کنید،همچنین قادر خواهید بود سرویسهای بیشتری را خودتان با مشخص کردن جزییات آن مثل شماره پورت ورودی و خروجی به این لیست اضافه کنید.

ارائه دهندگان سرويس اينترنت ( ISPs ) و ساير شركت های بزرگ همواره با اين چالش جدی مواجه هستند كه چگونه انواع دستيابی به شبكه و accounting را از يك نقطه صرفنظر از نوع تجهيزات استفاده شده برای دستيابی به شبكه ، مديريت نمايند .
با اين كه برخی سيستم های عامل دارای امكانات خاصی در اين رابطه می باشند ، در اغلب شركت های بزرگ می بايست از يك زيرساخت اختصاصی برای تائيد و مديريت دستيابی به شبكه استفاده گردد .
پروتكل RADIUS ( برگرفته شده از Remote Authentication Dial-In User Service ) ، استانداردی برای طراحی و پياده سازی سرويس دهندگانی است كه مسئوليت تائيد و مديريت كاربران را برعهده خواهند گرفت.مشخصات و نحوه عملكرد پروتكل RADIUS در RFC 2865 و RFC 2866 تعريف شده است .
پروتكل RADIUS از يك معماری سرويس گيرنده - سرويس دهنده برای تائيد و accounting استفاده می نمايد . پروتكل فوق اطلاعات accounting ، پيكربندی ، تائيد و مجوزها را بين يك سرويس گيرنده RADIUS و يك سرويس دهنده RADIUS حمل می نمايد . سرويس گيرنده RADIUS می تواند يك سرويس دهنده دستيابی شبكه ( NAS ، برگرفته شده از network access server ) و يا هر نوع دستگاه مشابه ديگری باشد كه نيازمند تائيد و accounting است .
همانگونه كه اشاره گرديد NAS به عنوان يك سرويس گيرنده RADIUS عمل می نمايد . سرويس گيرنده مسئول ارسال اطلاعات كاربر برای سرويس دهنده RADIUS است تا بر اساس نتايج برگردانده شده توسط سرويس دهنده ، در خصوص كاربر تعيين تكليف گردد . سرويس دهندگان RADIUS مسئول دريافت درخواست ارتباط كاربر ، تائيد وی و ارسال اطلاعات پيكربندی مورد نياز برای سرويس گيرنده به منظور عرضه سرويس به كاربر می باشند . يك سرويس دهنده RADIUS می تواند به عنوان يك سرويس گيرنده پراكسی به ساير سرويس دهندگان RADIUS و يا ساير سرويس دهندگان تائيد نيز عمل نمايد .
سرويس گيرندگان RADIUS از طريق پورت های 1812 و 1813 پروتكل حمل UDP ( برگرفته شده از User Datagram Protocol ) با يك سرويس دهنده RADIUS ارتباط برقرار می نمايند . در نسخه های اوليه پروتكل RADIUS از پورت های 1646 و 1645 پروتكل UDP استفاده می گرديد . پروتكل RADIUS از پروتكل حمل TCP ( برگرفته شده از Transmission Control Protocol ) حمايت نمی نمايد .
RADIUS و سرويس دهنده IAS
با استفاده از پروتكل RADIUS می توان دستگاهی نظير يك NAS را بگونه ای پيكربندی نمود تا يك كاربر را برای استفاده از يك سرويس خاص تائيد نمايد . به عنوان نمونه ، يك ISP می بايست كاربر يك پورت شبكه dial-in را تائيد نمايد تا اين اطمينان ايجاد گردد كه وی مجاز به استفاده از پورت مورد نظر می باشد . در چنين مواردی لازم است كه NAS اطلاعات مورد نياز برای اين ارتباط را دريافت نمايد . اطلاعات فوق توسط يك سرويس دهنده RADIUS در اختيار وی گذاشته می شود . پس از ايجاد ارتباط ، دستگاه NAS ممكن است در صورت نياز اطلاعات accounting را به منظور اهداف مالی و شارژ كاربر تامين و ارائه نمايد .
به منظور حمايت از معماری های پيچيده تر شبكه ، می توان از يك RADIUS Proxy استفاده نمود كه اطلاعات RADIUS را از يك سرويس گيرنده RADIUS دريافت و آن را برای يك سرويس دهنده RADIUS رله می نمايد . پاسخ سرويس دهنده RADIUS از طريق RADIUS proxy ارسال می گردد .در چنين مواردی اطلاعات مربوط به تائيد و مجوزها می تواند با استفاده از يك RADIUS proxy ارسال گردد .
در ويندوز 2003 ( نسخه های سرويس دهنده ) ، IAS ( برگرفته شده از Internet Authentication Service ) مطابق استاندارد تعريف شده در RFC 2865 و RFC 2866 به عنوان يك سرويس دهنده RADIUS و پراكسی پياده سازی شده است . در نسخه های سرويس دهنده ويندوز 2000 ، شركت مايكروسافت صرفا" ويژگی سرويس دهنده RADIUS را پياده سازی كرده بود . علاوه بر اين ، در نسخه های سرويس دهنده ويندوز 2003 كه بر روی آنها سرويس RRAS ( برگرفته شده از Routing and Remote Access service) اجراء شده است را می توان به عنوان يك سرويس گيرنده RADIUS پيكربندی كرد . بدين ترتيب امكان تائيد سرويس گيرندگان dial-in و يا VPN ( برگرفته شده از Virtual Private Networks ) از طريق يك سرويس دهنده RADIUS فراهم می گردد .
عناصر سرويس دهنده RADIUS در IAS قادر به تائيد درخواست های سرويس گيرندگان RADIUS از طريق يك بانك اطلاعاتی محلی و يا اكتيو دايركتوری می باشند . IAS جزئيات اطلاعات accounting ارائه شده توسط سرويس گيرنده RADIUS را در يك فايل متن و يا يك بانك اطلاعاتی رابطه ای ذخيره می نمايد . ويژگی RADIUS proxy تعبيه شده در IAS قادر به ارسال پيام های تائيد و accounting برای ساير سرويس دهندگان RADIUS می باشد .
پيكربندی IAS را می توان بگونه ای انجام داد كه وی قادر به انجام فرآيند تائيد و عمليات مربوط به accounting باشد . همچنين می توان سرويس گيرندگان RADIUS و يا RADIUS Proxy را به منظور استفاده از سرويس دهندگان اضافی پيكربندی نمود .
IAS امكان دستيابی به اطلاعات accounting كاربران ، نگهداری شده بر روی سرويس دهنده IAS و يا يك كنترل كننده domain را دارد ( در صورتی كه سرويس دهنده IAS عضوی از يك domain باشد ).
تراكنش های دستيابی و accounting بين سرويس گيرنده و سرويس دهنده با استفاده از يك رمز محرمانه به اشتراك گذاشته شده صورت می پذيرد . رمز فوق هرگز بر روی شبكه ارسال نخواهد شد و از آن به همراه فيلد تائيد كننده و به منظور ارائه يك سطح امنيتی مناسب بر روی پيام های RADIUS استفاده می گردد . در صورت نياز به يك سطح بالاتر امنيتی ، سرويس دهنده و سرويس گيرنده RADIUS می توانند از IPSec برای رمزنگاری پيام های RADIUS استفاده نمايند ( اين موضوع خارج از حوزه پروتكل RADIUS می باشد ) .
یک پروتکل احراز هویت که در بسیاری از سیستمهای واقعی (مثل ویندوز2000) بکارگرفته می شود، Kerberos است . نام Kerberos برگرفته ازیک اسطوره یونانی است که درآن یک سگ چندسر ازدرب دوزخ نگهداری می کند. Kerberos دردانشگاه MIT طراحی شده وبه کاربران اجازه دسترسی مطمئن به منابع شبکه رامی دهد. نسخه 4 این پروتکل کاربرد بسیارگسترده ای درصنعت دارد.
Kerberos به غیراز client باسه ماشین سرویس دهنده دیگرسروکار دارد:
1- سرویس دهنده احرازهویت یا AS (Authentication server) : این سرویس دهنده کاربران را در حین ورود به سیستم (login) بازرسی مینماید.
2- سرویس دهنده صدوربلیط یا TGS (Ticket Granting Server) : این سرویس دهنده بلیط های تائید هویت صادر می کند.
3- سرویس دهنده باب : این سرویس دهنده کاری راکه client ازاو می خواهد انجام می دهد.
برای شروع یک نشست ، client درجلوی هریک از ایستگاه های عمومی شبکه نشسته ونام خودرا درج (تایپ) می کند.ایستگاه(workstation) نام اورا به صورت آشکار برای سرویس دهنده AS می فرستد. آنچه که درپاسخ باز می گردد یک کلید نشست ویک بلیط است که باید بعداً به سرویس دهنده TGS تحویل داده شود.
این دوآیتم درون یک پیام جاسازی شده وبااستفاده ازکلید سری client رمز می شود لذا هیچکس جزclient نمی تواند آن رارمزگشایی کند . وقتی پیام 2 دریافت می شود ، ایستگاه از client کلمه عبور اوراسوال می کند. سپس ازکلمه عبور ،کلیدرمز تولید می شودتاپیام 2رمزگشایی شده وکلیدنشست وبلیط TGS ازدرون آن استخراج شود. دراین لحظه ایستگاه فوراً کلمه عبور client رااز حافظه پاک می کندتا بیش از چندمیلی ثانیه درحافظه ایستگاه باقی نماند.
پس ازآنکه client واردشبکه شدممکن است بخواهد باسرویس دهنده فایل باب ،ارتباط برقرار کند. دراینجا ایستگاه پیام 3را به سرویس دهنده TGS می فرستد وازاومی خواهد تابلیطی برای استفاده از سرویس دهنده باب صادرنماید. سرویس دهنده TGS باایجاد یک کلید نشست برای client ،به اوامکان استفاده ازآن رادر محاوره با باب می دهد. دونسخه ازاین کلید برگشت داده می شود:
اولی باکلید نشست رمز شده وclient می تواند آن رااستخراج کرده وبخواند.
نسخه دوم باکلید سری باب رمز می شود که هیچکس جز باب نمی تواند آنرابخواند.
نکته ارزشمنددر این ساختار اینست که client می تواند به تمام سزویس دهنده های موجود درشبکه به روشی مطمئن دسترسی داشته باشد وبه هیچ وجه کلمه عبوراو برروی شبکه منتقل نخواهد شد.درحقیقت کلمه عبوراو فقط برای چند میلی ثانیه درون ایستگاهی که اودرکنار آن قراردارد ،ذخیره می شود.
نسخه 5 ازkerberos ، مفصلتراز نسخه 4 است. همچنین برای توصیف انواع داده(Data type) ازاستاندارد OSI ASN.1 (Abstract Syntax Notation 1) استفاده کرده است ودرساختار پروتکل نیز تغییرات اندکی ایجاد شده است. به علاوه طول عمر بلیطها زیادتر شده واجازه داده شده بلیط ها تجدید شوند.
کربروس یک پروتكل رایگان است (مانند BSDها) و تحت قانون حق مؤلف (Copyright) می توانید از آن استفاده کنید. نکته جالبی که در مورد کربروس وجود دارد این است که کربروس یک سگ سه سر است که از دروازه ی جهنم محافظت می کند. البته کمی املای آن فرق دارد (Cerberus) ولی همان مفهوم مدنظر بوده است.
آخرین نسخه آن نیز، نسخه 5 است.
کربروس یک سرویس thrid-party و تأیید شده است. این بدان معنی است که یک سرور کربروس در شبکه وجود دارد که مورد اعتماد Principalها ( Principalها اجزایی هستند که هویت آنها در سیستم تأیید شده است مانند کاربران و سرویس ها) است. Principalها یک کلید عمومی را بین خود و سرور به رسمیت می شناسند و بدین ترتیب principalها قادر خواهند بود پیام هایی که از سرور می آید را درک کنند. Principalها به رد و بدل کردن بلیط می پردازند و با همین بلیط ها هویت principalها معلوم می شود.
جزییات بیشتر در مورد نحوه عملکرد kerberos را با یک مثال نشان می دهیم.
مثال
1- کاربر (Clinet) از متصدی اعتبارسنجی (Kerberos Authentication Server) یک بلیط درخواست می کند که بعداً آن را به متصدی صدور بلیط(Ticket Granting Server) بدهد. متصدی اعتبارسنجی، در پایگاه داده خود جستجو می کند و در صورت یافتن کاربر در فهرست خود، یک کلید (Session Key 1 - SK1) می سازد که برای استفاده بین کاربر و متصدی بلیط بکار خواهد رفت. متصدی اعتبارسنجی، بلیط را که شامل SK1 است را با کلید A کد کرده و برای کاربر ارسال می کند.
متصدی اعتبارسنجی، همچنین از کد مخفی متصدیان بلیط که فقط بین متصدی اعتبارسنجی و متصدیان بلیط معتبر است، استفاده کرده و یک بلیط صدورِ بلیط (Ticket Granting Ticket ) برای کاربر می سازد و
برای کاربر می فرستد.
2- کاربر پس از دریافت پیام، آن را رمزگشایی کرده و SK1 را بدست می آورد. سپس یک Authenticator می سازد (شامل نام کاربر، آدرس و تاریخ و زمان فعلی)و آن را به همراه بلیط صدورِ بلیط (TGT) ، برای دریافت اجازه دسترسی به کارگزار موردنظر به متصدی صدور بلیط (TGS) می فرستند.
متصدی صدور بلیط (TGS) ، بلیط صدورِ بلیط (TGT) را می گیرد و آن را رمزگشایی می کند. پس از بدست آوردن SK1 که از رمزگشایی بلیط صدورِ بلیط (TGT) بدست آمده است، Authenticator را نیز رمزگشایی می کند. اگر زمان و نام A معتبر بود، روند کار ادامه پیدا می کند.
متصدی صدور بلیط (TGS) یک کلید جدید (Session Key 2 – SK2) تولید کرده و آن را با SK1 کد می کند و برای کاربر می فرستد تا بین کاربر و کارگزار استفاده شود.
همچنین متصدی صدور بلیط (TGS) یک بلیط جدید شامل نام کاربر، IP(آدرس)، تاریخ و زمان، زمان اعتبار (که همه با کلید کارگزار کد شده اند) و نام کارگزار می سازد و برای کاربر می فرستد.
4- اطلاعات بین کاربر و کارگزار با استفاده از SK2 رد و بدل می شود.
Domain Name System
هر كامپيوتر درشبكه به دوشناسه نياز دارد : IP Address , Name
ايده ي اصلي DNS يك روش نامگذاري سلسله مراتبي بر اساس ناحيه ها بود، كه بصورت يك پايگاه اطلاعاتي توزيع يافته پياده سازي مي شد. هدف اوليه اين سيستم تبديل نام كامپيوترها وآدرسهاي ايميل به آدرسهاي IP بود، ولي مي توانست كاربردهاي ديگري داشته باشد.
DNS در RFC 1034 و RFC 1035 تعريف شده است.
روش كار DNS اينچنين است :
براي تبديل يك نام به آدرس IP ، برنامه يك تابع كتابخانه اي بنام تبديل كننده (resolver) رافراخواني مي كندونام مورد نظر را بصورت پارامتر به آن مي دهد.
تبديل كننده يك بسته ي UDP به سرويس دهنده DNS محلي مي فرستد، كه اين DNS آدرس IP معادل نام خواسته شده رايافته وبه تبديل كننده بر مي گرداند، كه آن هم به نوبه ي خود آدرس را به برنامه ي فراخواني كننده تحويل مي دهد. برنامه هم پس ازبدست آوردن آدرس IP كامپيوتر مقصد، مي تواند باآن ارتباط TCP برقرار كرده يابسته هاي UDP به آن بفرستد.
فضاي نام DNS :
اينترنت به بيش از 200 ناحيه ي سطح بالا ( top-level domain) تقسيم شده است. هرناحيه به چندين زيرناحيه (subdomain) ، وآنها نيز به زيرناحيه هاي كوچكتر تقسيم مي شوند.
اين سلسله مراتب را مي توان بصورت يك درخت نمايش داد. ناحيه هايي كه زيرناحيه ندارند ، برگهاي اين درخت راتشكيل مي دهند. هر يك ازاين برگها مي تواند يك كامپيوتر، يك شبكه كوچك ، يا شركتي بزرگ باشد.
ناحيه هاي سطح بالا بردوگونه اند: عمومي و كشورها.
ناحيه هاي عمومي اوليه عبارت بودند از:
Com: تجاري ، edu : موسسات آموزشي ، gov: ادارات دولتي ، int: موسسات بين المللي ،mil: نظامي ، net : شركتهاي خدمات شبكه واينترنت ، org : موسسات غيرانتفاعي.
هركشور نيز داراي يك ناحيه ي خاص ( درناحيه كشورها) است ، كه در استاندارد ISO 3166 تعريف شده است.
در نوامبر 2000، ICANN چهارناحيه سطح بالاي جديد رابراي مصارف عمومي تصويب كرد :
Biz: مشاغل ، info : شركتهاي اطلاعاتي ، name : نام افراد ، pro: صاحبان حرف مانند وكلاو پزشكان .
علاوه بر آن سه ناحيه سطح بالاي تخصصي نيزمعرفي شد:
Aero :صنايع هوا فضا ، coop : تعاوني ها ، museum : موزه ها.
نام هر ناحيه بصورت مسيري روبه بالا وبه سمت يك ريشه مشخص مي شود. اجزاي اين نام با نقطه (dot) ازهم جدا مي شوند. به عنوان مثال .eng.sun.com
براي ايجاد يك زيرناحيه ، مجوز ناحيه بالاتر مورد نياز است. قرار دادن مسئوليت زيرناحيه ها برعهده ناحيه بالاتر باعث مي شود تاهيچ دوناحيه همنام نشوند. همين كه يك ناحيه ايجاد شد ، ديگر مي تواند بدون نظارت ناحيه هاي بالاتر به ايجاد زيرناحيه هاي خود بپردازد.
ركوردهاي منبع Resource Record
هرناحيه ، خواه ناحيه سطح بالا يا ناحيه اي با يك كامپيوتر ، داراي تعدادي ركورد منابع است. براي يك كامپيوتر، متداول ترين ركورد منبع آدرس IP آن است ، اما انواع ديگري از ركوردهاي منابع مي تواند وجود داشته باشد.
وقتي يك تبديل كننده نام ناحيه رابه DNS مي دهد، چيزي كه دريافت مي كند تمام ركوردهاي منابع وابسته به آن نام است. بنابراين ، اصلي ترين وظيفه ي يك DNS تبديل نام ناحيه به ركوردهاي منابع است.
هرركورد منبع 5 بخش دارد. با اينكه ركوردهاي منابع رامي توان براي كارايي بهتر بصورت باينري درآورد، ولي دراغلب مواقع اين ركوردها بصورت متني (ASCII) (يك ركورد در هرخط) نگهداري مي شوند. فرمت يك ركورد منبع مانند زير است:
Domain_name time_to_live class type value
كه درآن domain_name نام ناحيه ايست كه اين ركورد متعلق به آن است. اين فيلد كليد اصلي جستجو در پايگاه داده ي DNS است.
فيلد Time to live مشخص مي كند اين ركورد چقدر دوام مي آورد.
فيلد سوم هرركورد منبع class است. براي اطلاعات ايترنتي اين فيلد هميشه IN است.
فيلد type نوع ركورد منبع رامشخص مي كند.
آخرين فيلدركورد منبع ، value است. اين فيلد مي تواند يك عدد،نام ناحيه، يا يك رشته ي متني باشد. طرزوارد كردن اين مقدار به نوع آن بستگي دارد.
مهمترين انواع ركوردها:
|
نوع |
مفهوم |
مقدار |
|
SOA |
Start of Authority |
پارامترهاي منطقه |
|
A |
IP address of a host |
عدد صحيح 32بيتي |
|
MX |
Mail exchange |
تقدم دريافت ايميل |
|
NS |
Name server |
نام سرويس دهنده ي ناحيه |
|
CNAME |
Canonical name |
نام ناحيه |
|
PTR |
Pointer |
نام مستعار براي آدرس IP |
|
HINFO |
Host description |
مشخصاتCPU وسيستم عامل |
|
TXT |
Text |
متن تسفير نشده |
ركورد SOA نام منبع اصلي اطلاعات منطقه(zone) ،آدرس ايميل سرپرست ناحيه ، شماره سريال منحصر بفرد آن ، ومشخصات ديگرناحيه را مشخص مي كند.
مهمترين نوع ركورد منبع ،A ركورد است كه يك IP آدرس 32بيتي رادرخود نگه مي دارد.هركامپيوتر اينترنت بايد حداقل يك IP آدرس داشته باشد، تاكامپيوترهاي ديگر بتوانند باآن تماس بگيرند. برخي ازكامپيوترها دوياچند IP آدرس دارند ،كه براي هرآدرس IP چنين كامپيوتري بايد يك ركورد A وجود داشته باشد.
ركورد مهم بعدي ركورد MX است. اين ركورد آدرس سرويس دهنده پست الكترونيك ناحيه را مشخص مي كند.
ركورد NS سرويس دهنده نام(name server) رامشخص مي كند.
از ركورد CNAME مي توان براي ايجاد نامهاي مستعار (alias) استفاده كرد.
ركورد PTR هم، مانند CNAME ، به يك نام ديگراشاره مي كند. اما برخلاف CNAME (كه درواقع يك ماكرو است) ، ركورد PTR يك نوع داده ي معمولي DNS است كه تفسير آن به محتويات اين ركورد بستگي دارد.در عمل ،تقريباً هميشه ازاين ركورد براي جستجوي معكوس(reverse lookup) (تبديل IP آدرس به نام ماشين) استفاده مي شود.
ركورد HINFO اطلاعات مربوط به نوع ماشين وسيستم عامل آنرابرمي گرداند.
از ركورد TXT هم مي توان براي برگرداندن اطلاعات متني اضافي به كاربران استفاده كرد.