مقدمه :
بسیاری از سازمانهای و شرکت های بزرگ خواهان برقراری ارتباط و انتقال اطلاعات خود به یکدیگر میباشند . این امر به معنای آنست که باید داده های خود را با یکدیگر به اشتراک بگذارند . قبل از پیدایش فناوری شبکه بسیاری از سازمانها و شرکت های بزرگ در آمریکا به تبادل اطلاعات با یکدیگر در داخل شهر خود یا آنکه انتقال داده به شرکت خود در خارج از شهرخود بوده اند . بنابراین تنها راه ارتباطی برای آنها که فقط از طریق اینترنت و به صورت محدود همچون ارسال ایمیل یا گفتگوهای تصویری انجام میشد به نظر میرسید که کافی نبوده است .
همچنین بزرگترین مشکل که انتقال داده ها به طور امن بوده است نیز مهیا نبوده است . بنابراین به عنوان یک چالش بزرگ در فناوری اطلاعات برای ایالات متحده امریکا محسوب میشد . این سبب گشت تا بسیاری از شرکت های مهم همچون سیسکو . جونیپر و الکاتل یا حتی شرکت معروف اپل شروع به طراحی بنیادی در این زمینه داشته باشند .
شبکه بستری را برای تمام سازمانهای و شرکت ها فراهم می آورد تا در سایه امن دست به انتقال داده های مربوط به خود بزنند . شبکه باعث سهل نمودن کار برای انتقال و بازیابی داده در حجم بسیار وسیع به طور امن می باشد . شبکه نه تنها به عنوان فناوریی که فقط انتقال داده را انجام میدهد بلکه سبب ایجاد فناوری های دیگر در حوزه های گوناگون همچون نظامی و تحقیقاتی نیز استفاده میشود .
در حال حاضر فناوری شبکه هر ثانیه رو به پیشرفت می باشد . و این مرهون شرکت های همچون سیسکو است که دست به طراحی و ایجاد دستگاه هایی برای ارائه در شبکه می باشند .
فناوری شبکه بسیار پیچیده است و دارای سیستمهای پیچیده خاص خود می باشد . فناوری شبکه با توجه به نیاز فرد میتواند متفاوت باشد . میتوانیم مشاهد نماییم که بسیاری از سازمانها . بانک ها . شرکت های خصوصی هر کدام با توجه به نیاز خود از فناوری شبکه با طراحی ها و دستگاه های مختلف استفاده میکنند . بسیاری بر اساس میزان بودجه و نیاز خود شبکه خود را راه اندازی مینمایند .
فناوری شبکه هم به صورت کابلی و هم به شکل انتقال داده از طریق امواج رادیو فرکانسی (وایرلس) صورت میگیرد . هر کدام از آنها دارای فناوری متفاوتی چه در به کارگیری دستگاه ها و چه در طراحی دستگاه ها استفاده میکنند . فناوری شبکه کابلی به صورت مسی و فیبر نوری می باشد و فناوری شبکه وایرلس نیز به عنوان یک دانش جداگانه در شبکه مورد استفاده قرار میگیرد .
شبکه کابلی (مسی و فیبر نوری ) :
انتقال داده به عنوان مهمترین بخش در فناوری شبکه محسوب میگردد . در شبکه کابلی انتقال داده از طریق کابلهای مسی و فیبر نوری استفاده میشود . کابلهای مسی هر کدام دارای فناوری مخصوص به خود می باشند . یعنی بسته به نیاز و انتقال داده و اتصال دستگاه ها استفاده میشود . کابلهای فیبر نوری نیز برای اتصال دستگاه ها استفاده میشود اما سرعت انتقال داده در انها بسیار بالاتر از کابلهای مسی است .
شبکه وایرلس :
این فناوری به عنوان یکی از جدیدترین فناوری ها در بحث انتقال داده می باشد . شبکه های وایرلس دارای انواع مختلف می باشد که توضیح درباره آن خارج از بحث ماست . فناوری وایرلس امروزه به عنوان مهمترین فناوری ها در انتقال داده در حجم وسیع برای بسیاری از کاربران می باشد . امروزه نسل تلفن همراه طوری طراحی شده است که افراد بتوانند داده ها را در حجم وسیع با یکدیگر مبادله نمایند .
هنگام عبور از ساختمان یک سازمان یا یک بانک میتوانید این فناوری را بر روی بام ساختمان مشاهده فرمایید . نصب ماهوراه ها یا دکل هایی که همراه انها انتن هایی را می توانید ملاحظه نمایید که بر روی دکل نصب گردیده است .
فناوری شبکه به عنوان یکی از مهمترین تکنولوژی های به روز در دنیا شناخته می شود . و آن به دلیل اهمیت ارتباط در سطح وسیع بین افراد . گروه ها . سازمانها و ارگانهای مهم و حیاتی برای جوامع و به خصوص دنیا می باشد . فناوری شبکه در دنیا برای ایجاد بستری آسان و در عین حال ایمن برای ارتباط های حیاتی بین قسمت های مختلف به وجود امده است . اولین بار ارتش ایالات متحده امریکادر سال 1986 با استفاده از محققین توانست یک ارتباط دوطرفه را از طریق امواج رادیو فرکانسی با یگان های خود در فواصل دور از خاک امریکا برقرار نماید . البته این ارتباط روی یک سیگنال انجام میشد و بنابراین در بسیاری از زمانها این ارتباط قطع میگردید بنابراین باعث گردید که محققان روشی را در شبکه برای برقراری ارتباط ایجاد کنند که در ان از کمترین مشکلات بر خلاف ارتباط رادیو فرکانسی برخوردار باشد .
بسیاری از شرکت های امریکایی توانستند با طراحی دستگاه های مورد نیاز برای ارتباط نیاز های اساسی ارتش ایالات متحده را برطرف نمایند . یکی از مهمترین شرکت هایی که تاسیس و توانسته تا به امروز نیار اساسی نه تنها امریکا بلکه بسیاری از کشور ها را تامین نماید شرکت سیسکو می باشد .
این شرکت با ارائه بهترین دستگاه ها از جمله سوئیچها و روتر های مختلف توانسته نیاز اساسی هر فرد یا سازمانی را با توجه به فعالیت آن ها برطرف سازد .
همچنین این شرکت در بخش امنیت فناوری شبکه نیز بسیار فعالیت نموده است و میبینیم که تا به امروز توانسته امنیت بسیاری از سازمانهای مهم جهانی را از طریق دستگاه های فایروال به طور امن فراهم نمیاید .
هاب :
این دستگاه به عنوان یکی از ابتدای ترین دستگاه ها میباشد که برای برقراری ارتباط استفاده میشود . هاب دستگاهی است که داده را میتواند تنها در یک جهت انتقال دهد و به هنگام انتقال داده اگر دو داده در یک زمان با هم برای یک کامپیوتر ارسال شود در داخل شبکه تداخل و به اصطلاح کالیژن به وجود می اورد . این مشکل سبب گردید تا بسیاری از شرکتها از جمله شرکت سیسکو تلاش نمایند تا دستگاهی را طراحی کنند تا بتواند این نیاز و مشکل را برطرف سازد بنابراین آن ها توانستند دستگاهی را به نام سوئیچ طراحی نمایند تا در لایه های پایین شبکه بتوانند از ان استفاده نمایند و همچنین از ایجاد تداخل در انتقال داده نیز کم کند . یک نمونه هاب را ملاحظه میفرمایید .
سوئیچ :
این دستگاه به عنوان یکی از مهمترین دستگاه ها در بخش انتقال داده استفاده میشود . و دربسیاری از سازمان ها ضروری است که از این دستگاه برای لایه های مختلف شبکه استفاده گردد .سوئیچ یک دستگاه فول دابلکس (انتقال دو طرفه داده ) است و به عنوان یک دستگاه لایه دو شناخته میشود و در هر بخش از سازمان نیاز است که طراح و مهندس شبکه بر اساس نیاز سازمان از ان استفاده نماید . ما انواع مختلفی از سوئیچها داریم که شرکت های مختلفی آنها را تولید مینمایند . شرکت سیسکو نیز کتلیست های مختلفی را طراحی نموده است .
Switch 2950 , 3560 (MLS multi layer switch layer 2,3) , series 4500 , 6500 , 2900 , …..
روتر :
این دستگاه نیز به عنوان یکی از مهمترین دستگاه ها در لایه سه میباشد که هدف از طراحی آن انتقال داده در سطوح و لایه های مختلف شبکه به خصوص لایه های بالایی شبکه استفاده میگردد این دستگاه که با آی پی بیشتر کار کرده و به نقل و انتقال داده در بیرون از شبکه یااکسترنال در شبکه به کار گرفته میشود .
هر کدام یک از این دستگاه ها دارای فناوری و طراحی پیچیده می باشد و این نیاز به آنست که طراحان و مهندسین شبکه اطلاعات و اگاهی لازم را نسبت به هر کدام از این دستگاه و طریقه راه اندازی این دستگاه ها و اتصال انها به یک مجموعه سرور برای کنترل داده و همچنین ایجاد بستری امن برای ان را بتواند فراهم نمایند . روتر پایین نمونه ای از روتر 6500 میباشد .
شما در اینجا میتوانید نمونه ایی از طراحی های شبکه که بر روی دو نرم افزار "جی ان اس " و " پکت تریسر " شده است را ملاحظه بفرمایید .
VLAN :
احتمالاً همه ، LAN ها و نحوه پیاده سازی شون رو میشناسیم، و حتماً هر کدوم تعاریف مختلفی از LAN داریم که احتمالاً از آن جایی که همه اون تعریفها به یک مفهوم اشاره میکنند پس همه درستاند. اما برای اینکه مفهوم VLAN ها رو بهتر درک کنیم لازمه که از بین تعریفهای مختلفی که برای LAN وجود داره تعریف زیر را با دقت بیشتری بخونیم :
یک LAN شامل تمام دستگاههایی است که در یک Broadcast Domain باشند.
اما Broadcast Domain چیه؟ یک پیام Broadcast که میدونین چیه ؟ (پیامهای فراگیر)، به دامنهای که این پیامها تا آنجا میتانند ارسال شوند و پیش بروند Broadcast Domain (دامنه Broadcast ) گفته میشود.
به عنوان یه تعریف دیگر تمام ایستگاهها و وسایلی که بهLAN متصلاند عضو یک Broadcast Domain اند و در این صورت اگر یکی از ایستگاهها پیامی را به صورت Broadcast ارسال کند،تمام ایستگاههای عضو آن Domain Broadcast یک کپی از آن پیام را دریافت میکنند.
و اما VLAN ها !
VLAN کوتاه شده عبارت Virtual LAN ( Virtual Local Area Network ) است.
همه چیز برای تعریف VLAN ها از نامشان مشخص است، LAN های مجازی!یعنی LAN هایی که به صورت مجازی پیاده سازی میشوند. همین!
اما چرا نیازه که VLAN داشته باشیم ؟
در ابتدا حالتی را در نظر بگیرید که VLAN نداریم؛ در حالت معمول در یک LAN تمام پورتهای یک سوییچ عضو Broadcast Domain مشابهیاند. به این ترتیب اگر یک ایستگاه پیامی را به صورت Broadcast ارسال کند، تمام دستگاههایی که در آن Broadcast Domain هستند. مثلا در شکل زیر کامپیوتر بنفش پیامی را به صورت Broadcast ارسال میکند و همان طور که در شکل مشخص است این پیام به تمام هاستهایی که در آن Broadcast Domain هستند میرسد.
خب! حالا این خوبه یا بد ؟
شکل1- LAN :
در حالت کلی خوب نیست! چرا که ممکنه که کامپیوتر بنفش بخواهد که این پیام رو تنها به کامپیوتر نارنجی برساند، اما از این طریق سایر کامپیوترها نیز این پیام رو دریافت می کنند، شاید به نظرتون برسه که برای این کار به جای ارسال Broadcast میتاند از ارسال مستقیم به کامپیوتر نارنجی استفاده کند؛ این فکر درسته ، اما باید بگم که این شکل تنها یک مثال ساده برای بیان چیزی است که می خواهیم در موردش بیشتر بدانیم؛ به عبارت بهتر اگر فرض کنید که هر کدوم از این کامپیوترها نماد 1000 کامپیوتر هستند چی ؟! اینجاست که ارسال Broadcast کاملاً مفید به نظر می رسه! اما همان طور که گفتیم هنوز این مشکل وجود داره که علاوه بر کامپیوتر نارنجی ( یا بهتر بگم ، کامپیوترهای نارنجی ) سایر کامپیوترها هم این پیام رو دریافت می کنند. این کار پهنای باند زیادی را به هدر میهد. بحث پهنای باند را هم که کنار بگذاریم از نظر امنیتی به مشکل برمیخوریم.
خب ! حالا برای رفع این مشکل، میشه که کامپیوترهای بنفش و نارنجی را عضو یک LAN قرار داد و سایر کامپیوترها را را عضو یک LAN دیگه، تا اون طوری هر کدام از این LAN ها Broadcast Domain خودشون را داشته باشند . نه؟ اما برای این راه حل نیازه که یک سوییچ دیگه بخریم و این یعنی هزینه زیادی ! اما اگر از VLAN استفاده کنیم می توانیم همین دو شبکه مجزا را روی یک سوییچ پیاده سازی کنیم و دو VLAN مجزا داشته باشیم. به این ترتیب که برخی از پورتهای سوییچ را مثلا به VLAN شماره 2 و برخی دیگر را به VLAN شماره 3 نسبت میدیم و هر کدام از VLANها Broadcast Domain خاص خود را خواهند داشت که از دسترس سایر ایستگاههای VLANدیگر دور خواهد ماند و به این ترتیب زندگی شیرین میشود.
.
برای درک بهتر کاربرد VLANها ، دانشگاهی را در نظر بگیرید که از دانشکدههای مختلفی تشکیل شده است. فرض کنید که دانشکده IT و فیزیک در یک ساختمان دو طبقه قرار داشته باشند، و هر کدام شبکه LAN مخصوص به خود را داشته باشند.
حالا اگر در دانشکده فیزیک با کمبود فضا برای استاد جدیدی روبرو شویم ناچاریم که کاربر را در مکان دانشکده IT جای دهیم و با اتصال کابل او به پورت سوییچ واقع در دانشکده IT از این پس آن کاربر عضوی از Broadcast Domain دانشکده IT میشود و تمام اطلاعات مربوط به این دانشکده را میتاند دریافت کند ( یه مشکل ) کما اینکه با Broadcast Domain دانشکده فیزیک نیز در ارتباط نخواهد بود ( یک مشکل دیگر ! ). یا در نظر بگیرید که پورتهای سوییچ شبکه دانشکده فیزیک پر شده، در حالی که پورتهای سوییچ دانشکده IT هنوز خالی است.اگر استاد جدیدی به دانشکده فیزیک دعوت شود می توانیم او را به عضو پورتی از پورتهای سوییچ شبکه IT دربیاوریم که در این صورت باز همان دو مشکل بالا بروز خواهد کرد و یا اینکه می توانیم هزینه اضافیای را متحمل شویم و سوییچ دیگری بخریم!
شکل 3 – دانشکده IT- فیزیک
اما اگر از VLAN استفاده کنیم،این مشکل ها دیگر وجود نخواهند داشت.
به این ترتیب که تمام پورتهای سوییچ را به یک LAN اختصاص ندیم بلکه تعدادی از آن را به یک VLAN و تعدای دیگر را به یک VLAN دیگر و ... اختصاص بدهیم.
شکل 4 را در نظر بگیرید.
در این شکل دو سوییچ داریم که یکی متعلق به دانشکده IT و دیگری متعلق به دانشکده فیزیک است، روی سوییچ دانشکده فیزیک دو VLAN ساختهایم که یکی متعلق به دانشکده IT و دیگری مربوط به دانشکده فیزیک است .
در نهایت نتیجه این میشه که کامپیوترهای دانشکده IT در یک VLAN با یک Broadcast Domain مخصوص به خود و کامپیوترهای دانشکده فیزیک در یک VLAN دیگر با Broadcast Domain خاص خود قرار خواهند داشت صرف نظر از اینکه در چه مکان فیزیکی ای ( طبقه اول یا دوم ) قرار دارند!
اگر تا الان مفهوم VLAN را خوب متوجه شده باشید، میبینید که وجود دو سوییچ مجزا برای این دو دانشکده هم بیهوده است و کار با یک سوییچ هم راه می افتد !! یک سوییچ و دو یا چند VLAN مجزا ! فقط بایستی سوییچی که انتخاب میشود قابلیت VLANing را داشته باشد و به تعداد کافی پورت !
از مجموع این دو مثال متوجه میشیم که VLAN ها چیز خوبی هستند! و حتماً متوجه شدید که در واقع در VLAN ما یک LAN بزرگ با یک Broadcast Domain به همان اندازه بزرگ را به VLAN های کوچکتر با Broadcast Domain های کوچکتر تقسیم میکنیم و در حقیقت این عمل باعث صرفه جویی در پهنای باند، امنیت بیشتر، جلوگیری از صرف هزینه زیادی برای خریدن سوییچ و برخوداری از یک طراحی منعطف برای شبکهمان میشود.
به علاوه VLAN ها مزایای دیگری هم دارند من جمله نگهداری و حفاظت از کامپیوترهایی که با سایر کامپیوترها عضو یک LAN میباشند اما حاوی اطلاعات مهمیاند و با استفاده از مفهوم VLAN می توانیم آنها را در VLAN مجزایی نگهداری کنیم.
همین طور در VOIP ( Voice Over IP ) به وسیله VLAN ها می توانیم ترافیکی که توسط یک IP Phone فرستاده میشه را از ترافیکی که توسط کامپیوتر متصل به تلفن فرستاده میشه مجزا کنیم.
یک بار دیگر دو مثال بالا را با هم مرور میکنیم. در مثال اولی ما شبکهای شامل یک سوییچ داشتیم که آن را به دو VLAN تبدیل کردیم. پیاده سازی این مثال کار سادهای خواهد بود .کافی است که به تنظیمات پیکربندی سوییچ برویم و پورتهایی از سوییچ را به VLAN1 ، و سایر پورتها را به VLAN2 اختصاص بدیم. و البته لازمه که بدونیم محدودیتی بر تعداد VLAN ها روی یک سوییچ وجود ندارد و اساساً به تعداد پورتها و ایستگاههای موجود در یک VLAN بستگی دارد.
اما شبکه ها همیشه به همین سادگی نخواهند بود.برای درک این موضوع مجدداً مثال دانشکده فیزیک و IT را در نظر بگیرد. در آنجا دو سوییچ با دو VLAN داشتیم. که برخی از پورتهای سوییچ دانشکده IT به VLAN2 و برخی دیگر به VLAN3 اختصاص داده شده بود. همچنین پورتهای سوییچ دانشکده فیزیک نیز به VLAN3 اختصاص داده شده بود. پر واضح است که باید دو سوییچ به طریقی با هم در ارتباط باشند تا بتوانند ترافیک VLANهای مشابه را از هم انتقال بدهند.نه ؟
اما این اتصال چطور صورت میگیرد ؟
VLAN Trunking :
اگر VLAN در شبکههایی که با چندین سوییچ به هم وصل شدهاند استفاده شود، برای بخشهای بین سوییچ بایستی که از VLAN Trunking استفاده کنیم. به عبارت ساده تر :
وقتی روی سوییچها VLAN تعریف می کنیم، سوییچها را از طریق ترانک به هم وصل میکنیم. بنابراین در مورد مثال دانشکده IT و فیزیک نیز بایستی که بین سوییچ ها از VLAN Trunking استفاده کنیم. تا سوییچ دانشکده فیزیک بتواند با VLAN خود در سوییچ دانشکده IT در ارتباط باشد.
اما بسته ای که از سوییچ دانشکده فیزیک خارج میشود از کجا مشخص میشود که به سمت کدام VLAN باید برود ؟
VLAN Tagging :
VLAN Trunking باعث میشود که سوییچها از فرآیندی استفاده کنند که VLAN Tagging ( برچسب زدن VLAN ) نامیده میشود.همان طوری که از نام این فرآیند مشخصه، VLANها برچسب میخورن!
چرا ؟ چون هویت بستههای ارسالی و دریافتی مشخص باشد که به کدام VLAN تعلق دارند.
در حقیقت وقتی بسته ای میخواهد که از پورت ترانک سوییچی خارج شود، سوییچ به آن بسته یک برچسب می زند، که در آن برچسب شماره VLAN ای ( VLAN ID ) که این بسته به آن تعلق دارد را قرار میدهد تا از این طریق سوییچهای دیگر متوجه شوند که بسته دریافتی به کدام یکی از VLANهایشان مربوط است.
اما سوییچها چه جوری این VLAN ID را پیدا میکنند؟ برای این کار طبق یک استاندارد، سوییچ قبل از اینکه فریم را به سوییچ دیگری ارسال کند، سرآیندی ( Header ) را به فریم اضاف میکند که VLAN ID توی اون سرآیند قرار میگیرد. بنابراین سوییچ وقتی فریمی را دریافت میکند اول سرآیندش را برای پیدا کردن VLAN ID چک میکند تا ببیند بسته به کدام یکی از VLAN هایش تعلق دارد. از VLAN Tagging بگذریم.
اما Trunking VLAN چطوری در سوییچها ایجاد میشود ؟ برای این کار کافی است از یکی از پورتهای سوییچ استفاده کنیم و به تنظیمات پیکربندی سوییچ رفته و آن پورت را به ترانک اختصاص بدیم. همین! حالا سوییچ میتاند از VLAN Trunking استفاده کند.
فقط به یاد داشته باشید که اگر سوییچ پورت ترانک داشته باشد،ترافیک دریافتی از VLAN هایش را به تمام پورتهای ترانک اش هم ارسال میکند مگر در مورد حالتی خاص که در موردش بعداً بحث میکنیم.
شکل 6 سعی داره که همین جمله را روشنتر بیان کنه!
در این شکل اقدس در VLAN2 قصد دارد که پیامی را به صورت Broadcast ارسال کند.سوییچ این پیام را به سایر کامپیوترهایی که با کامپیوتر ارسال کننده در یک Broadcast Domain هستند میرساند، در ادامه کار، سوییچ بایستی که این فریم را به پورت ترانکاش نیز ارسال کند تا اگر در سایر سوییچها هم VLAN2 هست، این پیام به آنها نیز برسد. اما قبل از اینکه فریم از سوییچ خارج شود و روی ترانک قرار بگیرد، بایستی که به فریم برچسب بزنیم! این کار را با اضافه کردن سرآیندی به فریم و قرار دادن شماره VLAN ارسال کننده فریم توسط سوییچ انجام میگیرد.
انواع پروتکلهای ترانکینگ :
پیشتر گفتیم که سوییچ سرآیندی را به فریم اضاف میکند. اما این سرآیند چه شکل و قالبی خواهد داشت و چگونه تعریف خواهد شد؟
شکل و قالب این سرآیند توسط پروتکلهای ترانکینگ تعریف میشود. به طور کلی دو نوع پروتکل ترانکینگ داریم که یکی خاص منظوره (Inter Switch Link = ISL ) که توسط شرکت سیسکو و تنها برای سوییچهای سیسکو و دیگری عام منظوره ( 802.1Q ) که توسط IEEE برای عموم سوییچها طراحی شده است.در حقیقت پروتکل ISL خیلی قبلتر از پروتکل 802.1Q طراحی شده بود و همان طور که گفتیم تنها به منظور استفاده در سوییچهای سیسکو است؛ اما این پروتکل دیگر حتی در بعضی از سوییچهای جدید سیسکو نیز پشتیبانی نمیشود! همچنین پروتکل ISL تنها بین دو سوییچ سیسکو که از پروتکل ISL پشتیبانی میکنند قابل استفاده است.
هر کدام از این پروتکلها قالب خاص خود را برای تعریف سرآیند دارند.
هر دو این پروتکلها از شماره VLAN های یکسان استفاده میکنند یعنی هر دو از شماره پروتکل 12 بیتی برای VLAN ID استفاده میکنند که منجر به 2-212 شماره مختلف میشود. ( شمارههای 0 و 4065 در نظر گرفته نمیشوند).
توجه داشته باشید که ID های 1 تا 1005 به عنوان رنج نرمال،و ID های بالاتر از آن برای برای VLAN های گسترش یافته استفاده میشود.
یک تفاوت خیلی مهم بین پروتکل ISL و 802.1Q استفاده از ویژگیای به نام Native VLAN است که 802.1Q از آن پشتیبانی میکند و ISL نه!
و اما این ویژگی چی هست ؟
چه مزایایی دارد؟
چه معایبی دارد ؟
Native VLAN :
روی هر سوییچ به صورت پیش فرض یک VLAN تعریف شده که تمام پورتهای سوییچ به آن VLAN اختصاص داده شدهاند شماره این VLAN همیشه ثابت و برابر 1 است و به آن native VLAN گویند. مثلا اگر سوییچی 26 تا پورت داشته باشد در ابتدا تمام این 26 پورت در انحصار VLAN1 است، وقتی شما VLAN2 را تعریف میکنید میتانید تعدادی از این پورتها را به VLAN2 اختصاص بدید که در آن صورت دیگر از انحصار VLAN1 خارج میشود. یادتان باشد که شما نمیتانید شماره این VLAN را تغییر دهید و یا آن را حذف کنید و در ضمن همیشه شماره VLAN های شما از 2 شروع میشود.
حالا 802.1Q میآد و از این native VLAN استفاده مفید میکنه. چه جوری ؟ این جوری که 802.1Q به فریمهایی که از VLAN1 یا همان native VLAN میآیند سرآیندی اضاف نمیکند.
حالا که چی ؟ نتیجه این میشه که فریم بی سرآیندی به دست سوییچ دیگری میرسد. سوییچ دیگر هم وقتی که متوجه شد که فریم سرآیند ندارد میفهمه که این فریم از یک Native VLAN به دستش رسیده و او هم این فریم را به Native VLAN خود ارسال میکند. خب! چرا این کار رو میکنیم؟ چرا سرآیند را حذف میکنیم ؟ مگه نمی توانیم سرآیند را داشته باشیم و VLAN ID را در سرآیند ، 1 بذاریم ، اون طوری هم سوییچ متوجه میشه که این مال native VLAN هه ؟دلیلش به دو دلیله ! اول اینکه این کار باعث میشه که اگر به سوییچی متصل شدیم که پروتکلهای تراکینگ را نمیفهمید باز هم بتانیم عمل انتقال فریمها را انجام بدیم، چرا که پروتکلهای تراکینگ سرآیندی به فریم اضاف میکنند که باعث میشه فریم اصلی درون این سرآیند کپسوله شود و برای سوییچی که ترانکینگ را نمیفهمد فریم نامفهوم میشود ولی این سرآیند در Native VLAN وجود ندارد و به این ترتیب می توانیم با سوییچ نفهم رابطه برقرار کنیم. در حقیقت Native VLAN به درد سوییچهایی میخوره که حداقل قابلیت برای عبور ترافیک و آن هم تنها برای یک VLANرا دارند.دلیل دوم اینکه پروتکلهایی نظیر CDP ، STP ، VTP، PagP و ... وجود دارند که تنها برای عبور از VLAN1 تنظیم شدهاند.
برای بالا بردن امنیت در VLAN ها می توانیم این VLAN1 را نادیده بگیریم و VLAN دیگری را به عنوان Native VLAN برای سوییچها تعریف کنیم، فقط نکته قابل توجه اینه که این Native VLAN بایستی که برای همه سوییچها تعریف شده باشه و همه قبول داشته باشند که مثلاً VLAN30 یک Native VLAN است.
دلیل این عوض کردن native VLAN را هم مفصلاً در بخش امنیت VLAN ها توضیح میدم.
بیایید فرض کنیم که سه تا سوییچ داریم که هر کدام بایستی پورتهایی داشته باشند که به VLAN ای با شماره 3 اختصاص دارد، برای تعریف این VLAN بایستی که برای هر سوییچ به قسمت تنظیمات پیکربندیاش برویم و VLAN شماره 3 و ناماش را تعریف کنیم.و اگر احتمالاً مجبور شدیم که نام یک VLAN را عوض کنیم بایستی که این تغییر نام را بر روی تک تک سوییچها اعمال کنیم.خب! این برای سه تا سوییچ کار چندان سختی نخواهد بود، اما اگر 200 تا سوییچ داشتید چی؟ این تنظیمات دستی بابای ادمین شبکه را جلوی چشمش خواهد در آورد. برای رفع این مشکل از پروتکلی به نام VTP استفاده میکنیم.
VLAN Trunking Protocol یا VTP
همان طور که از نامش مشخصه، VTP پروتکل VLAN Trunking است. یعنی مخصوص VLAN ها آن هم برای حالت Trunking است. و تنها از ترانک برای انتشار میتاند استفاده کند. یعنی تنها مخصوص انتقال بین "سوییچها" است.
با استفاده از پروتکل VTP می توانیم اطلاعات VLAN را روی یک سوییچ ست کنیم بعد با استفاده از VTP سایر سوییچها را از وجود این VLAN و پیکربندیش آگاه کنیم. نتیجه این میشه که باقی سوییچها نیز این VLAN را خواهند شناخت.
اما آیا این پیکربندی اولیه را می توانیم روی هر سوییچی که خواستیم اعمال کنیم و بعد از VTP استفاده کنیم ؟
نه! به طور کلی پروتکل VTP سوییچها را در سه حالت دسته بندی میکنه و هر سوییچ تنها در یکی از این سه حالت قرار میگیره که باز تنظیم این حالت به عهده ادمین شبکه است. حالتهای Server ، کلاینت و Transparent (شفاف) .
هر ادمین یک یا چند تا از سوییچها را در حالت VTP Server و باقی را برای حالت VTP Client ست میکند. به این ترتیب تنها روی سوییچهای VTP Server می توانیم پیکربندیهای دلخواه را تنظیم یا تغییر بدیم و سپس از طریق پروتکل VTP این تنظیمات را به دیگر سوییچهای VTP Server و VTP Client مخابره کنیم.هر کدام از سوییچهای VTP Server و کلاینت هم که این پیام را دریافت کردند آنها هم متقابلاً آن پیام را برای ترانکهای خارجیشان میفرستند.
پس تا اینجا متوجه شدیم که تنها تغییر در پیکربندی سوییچهای VTP Server است که منجر به مخابره پیامهای VTP به کل شبکه میشه.
به عبارت دیگر تنها روی یک سوییچ VTP Server می توانیم یک VLAN جدید اضافه کنیم و یا حذف کنیم و یا تنظیماتش را تغییر دهیم و این کاراز طریق سوییچهای VTP Client امکان پذیر نیست.
چه هنگامی پیامهای VTP صادر میشه ؟
همان طور که پیشتر گفته شد، هنگامی که تنظیمات پیکربندی یک سوییچ تغییر کند،این پیامها فرستاده میشوند.
به علاوه این پیامها هر 5 دقیقه یکبار نیز توسط VTP سرورها در کل شبکه مخابره میشود.
و به غیر از این موارد هنگامی که یک سوییچ جدید ایجاد شود که شامل VLAN هایی است، سوییچها میتانند با یک پیام VTP از سوییچ تازه تاسیس بخواهند که اطلاعات VLAN هایش را برای آنها ارسال کند.
پس همان طور که احتمالاً دقت نکردید، سه نوع پیام مختلف برای VTP داریم!
پیامهایی که به هنگام تغییر تنظیمات پیکربندی یک سوییچ VTP Server ارسال میشوند، پیامهایی که به طور اتوماتیک هر 5 دقیقه یک بار مخابره میشوند، پیامهایی که به هنگام ایجاد سوییچ جدیدی به جهت آشنایی ارسال میشوند.
پروتکل VTP چطور کار میکند؟
سوییچها چه زمانی میفهمند که باید پایگاه داده VTP خود را به روز کنند؟
از کجا میفهمند که پیام VTP تکراری است و حاوی تغییر جدیدی نیست ؟
شکل زیر را در نظر بگیرید.
در این شکل یک سوییچ از نوع VTP Server و دو سوییچ از نوع VTP Client انتخاب شده اند.
داستان از اینجا شروع میشه که تصمیم میگیریم که یک VLAN جدید را روی سوییچ VTP Server ایجاد کنیم. در هر VTP شماره ای وجود دارد که Revision Number نام دارد و مقدار این شماره برابر آخرین باری است که VTP حاوی اطلاعات جدیدی بوده مثل تغییر در پیکربندی یک VTP Server ، و البته این شماره برای کل سوییچهای شبکه مقدار یکسانی دارد چرا که این پیامها به صورت سراسری برای تمام سوییچها ارسال میشود. هنگامی که VTP مجدداً مجدداً حاوی پیام جدیدی شود به این شماره یکی اضاف میشه و پیام VTP جدید به همراه این شماره جدید به کل شبکه ارسال میشود .
بار دیگر به شکل 7 نگاه کنید. در این شکل Revision Number فعلی 2 است. تصمیم میگیریم که VLAN جدیدی را به سوییچ VTP Server اضاف کنیم، این کار باعث میشود که که پیکربندی سوییچ تغییر کند که در نتیجه ی این تغییرات، شماره پیام VTP ، یک واحد اضاف میشود و از دو به سه تغییر میکند و سپس اطلاعات این پیکربندی به همراه این شماره جدید برای سایر سوییچها ارسال میشود. سایر سوییچها این شماره را با شماره VTP خود چک میکنند اگر از Revision Number فعلی خود بیشتر بود این پیام را دریافت میکنند، به شماره VTP خود یکی اضاف میکنند و این پیام را برای پورتهای ترانک خود ارسال میکنند و در غیر این صورت پیام VTP رسیده را رد میکنند.
در حقیقت باید بگیم که پروتکل VTP تا حد زیادی شبیه پروتکلهای مسیریابی عمل میکند.
همان طور که گفتیم پیامهای VTP برای کل سوییچهای شبکه ارسال میشود. حالا شرکتی را فرض کنید که بخش امور مالی در یک VLAN و بخش حسابداری در VLAN دیگری و بر روی سوییچهای مختلفی قرار دارند و تنها هم نیاز است که اطلاعات تغییر در پیکربندی این سوییچها برای هم ارسال شود و به طور مثال بخش انبار نیازی به دریافت این پیامهای VTP ندارد !!
چطور میشه از سرازیر شدن پیامهای VTP به کل شبکه جلوگیری کرد ؟ راه حل این مشکل هم همین جاست! این پایین !
VTP Domain
VTP Domain این امکان رو به ادمین میده که برای مجموعهای از سوییچها نام دامنه یکسان انتخاب کند که باعث میشود سوییچها در دامنههای مختلف پیامهای VTP یکدیگر را نادیده بگیرند. همین!
مثلا در مورد مثال بالا میتوانیم برای سوییچهای مربوط به VLAN های بخش مالی و حسابداری ، VTP Domain یکسانی انتخاب کنیم و در نتیجه پیامهای VTP در این سوییچها تا جایی پیش میرود که دامنه اجازه میدهد!
آیا امکانش هست که یک سوییچ نام دامنهای نگیرد ولی باز هم پیامهای VTP را دریافت نکند؟ یا به عبارت دیگر راهی هست که یک سوییچ پیامهای VTP را دریافت کند ولی عکس العملی به این پیامها نشان ندهد ؟ یعنی اطلاعات پیکربندی خود را تغییر ندهد طوری که گویی این پیام اصلا به گوش او نرسیده ؟
برای این کار بایستی که VTP را غیرفعال کنیم. اما دو تا مشکل وجود دارد، یکی اینکه بعضی از سوییچهای سیسکو نمیتانند VTP را غیر فعال کنند و مشکل دوم اینکه حتی اگر بتانیم VTP را برای سوییچی غیر فعال کنیم،این راه حل مناسبی نخواهد بود. چرا که ممکن است این سوییچ واسطهای برای سایر سوییچها باشد که نیاز به دریافت این پیامهای VTP دارند. با غیر فعال کردن این سوییچ ، عملاً سایر سوییچهای وابسته نیز این پیام را دریافت نخواهند کرد.
راه حل بهتر که هم خدا را خوش آید و هم سوییچهای سیسکو را ؛ استفاده از VTP Transparent است.
VTP Transparent
بهترین تشبیهی که از Transparent VTP میتونم بکنم مثال شیشه است. شیشه میتانه نور را از خود عبور بده و نیز آن را منعکس کنه بدون اینکه خودش تغییری کند. Transparent VTP نیز همین کار را با سوییچ میکنه، یعنی باعث میشه که سوییچ پیامهای VTP را دریافت کند آن را از خود عبور داده و برای سایر سوییچهای همسایه دوباره ارسال ( Forward ) کند اما با دریافت این پیامهای VTP خودش تغییری نمیکنه. همین !
این در واقع حالت سوم پروتکل VTP است. قبلا گفتیم که VTP برای سوییچها سه حالت دارد که دو مورد آنها VTP Server و VTP Client بود و VTP Transparent همان حالت سومه.
سوییچهایی که روی حالت VTP Transparent تنظیم میشوند نیز به مانند VTP Server ها میتانند VLAN ها را پیکربندی کنند و صاحب VLAN های جدید شوند اما بر خلاف VTP Server ها هرگز این اطلاعات پیکربندی را برای دیگران ارسال نمیکنند. در حقیقت سوییچهای VTP Transparent به نوعی نسبت به سایر سوییچها ایزوله اند.
در سری جدید سوییچهای سیسکو حالت چهارمی به نام noon وجود دارد، که باعث غیر فعال کردن VTP روی یک سوییچ میشود که بهتر است از آن برای سوییچهای ترمینال شبکه استفاده کنیم.
VTP Pruning :
یادتونه قبلاً گفتیم که اگر پیام Broadcast ای از یکی از VLANهای سویچ ارسال شود سوییچ بایستی که این پیام رو بر روی پورتهای ترانک خود ( به جز حالتی خاص ) نیز ارسال کند ؟ حالا میخواهیم همون رو توضیح بدیم.
غیر از پیامهای VTP که که بهتر است کنترل شود تا بیخودی در کل شبکه پخش نشود، پیامهای Broadcast که از ترانکهای سوییچها خارج میشوند نیز باید کنترل شوند. چرا ؟ شکل زیر را در نظر بگیرید.
در این شکل هر کدام از کامپیوترها نماد یک VLAN هستند. هاستای که با رنگ سبز مشخص شده است، قصد دارد که پیامی را به صورت Broadcast ارسال کند. سوییچ1 این پیام رو برای سایر کامپیوترهای VLAN23 بر روی خود میفرستد، همچنین بایستی که این پیام را بر روی تمام پورتهای ترانک خود نیز ارسال کند تا این پیام به سایر اعضای VLAN23 در سوییچهای دیگر نیز برسد. پیام به سوییچهای دو و سه میرسد.
سوییچ دو : VLAN ID بسته را کنترل میکند و متوجه میشود که این پیام به VLANای از مجموعه VLAN های خودش مربوط نیست بنابراین تنها آن را بر روی ترانکهای خود ( به غیر از اونی که پیام ازش اومده ) فوروارد میکند، پیام فوروارد شده از سوییچ دو به دست سوییچ چهار میرسد، سوییچ چهار سرآیند بسته را کنترل میکند و متوجه میشود که این بسته به VLAN23 او مربوط است ، بنابراین سرآیند بسته را حذف میکند و پیام اصلی را برای VLAN23 خود فوروارد میکند.
سوییچ سه : سرآیند پیام رسیده را چک میکند و متوجه میشود که VLAN ID این پیام ربطی به VLAN ID های خودش ندارد، بنابراین پیام را برای بر روی ترانکهای خود ( به غیر از اونی که پیام ازش رسیده ) ارسال میکند که در این شکل سوییچ سه دیگر ترانکی ندارد تا پیام رو برای آن فوروارد کند!
سوال اینجاست که آیا واقعاً لازم است که این پیامها برای همه سوییچها و بر روی همه ترانکهای خارجی ارسال شود ؟
مثلا در شکل بالا چه نیازی هست که این پیام به سوییچ سه برسد ؟!
همان طور که مشخصه نه تنها نیازی به ارسال بیهوده این پیامها نیست بلکه نباید هم این طور باشه، چرا که این عمل پهنای باند شبکه رو به هدر میدهد و همچنین سبب پردازش و یک سری اعمال بیخودی روی سوییچها میشود.
برای اجتناب از این عمل سوییچها از دو روش پشتیبانی میکنند که به وسیله آن ادمین میتاند جریان ترافیک روی هر ترانک را کنترل و محدود کند. یکی پیکربندی دستی است که به موجب آن ادمین باید روی هر ترانک لیست VLAN های مجاز را تعریف کند و روش دیگر VTP Pruning یا هرس کردن VTP نام دارد.
VTP میتاند به صورت پویا تشخیص دهد که کدام سوییچها به فریمهایی از VLAN مشخصی نیاز ندارد و سپس VTP آن فریمهای ارسالی از آن VLAN ها را از طریق ترانکهای مناسبی هرس میکند.
شکل زیر این مفهوم را بهتر نشان میدهد.
اما VTP چطور به صورت پویا تشخیص میدهد که فلان سوییچ نیازی به دریافت فریمهای فلان VLAN را ندارد ؟
به طور خیلی ساده این طور میشه توضیح داد که VTP مسئول پیام رسانی بین سوییچها است و نیز اطلاعاتی از VLAN ها شامل نام و ID شان و اینکه چه VLAN هایی به چه سوییچی وصل است را همراه خود دارد که این اطلاعات دائماً به صورت داینامیکی در فایلی به نام VLAN.dat که dat مخفف database است در حافظه ذخیره و نگهداری میشود. به این ترتیب هرس کردن VLAN ها برای VTP کار سختی نخواهد بود!
DTP :
در حالت کلی یک پورت سوییچ یا به VLAN خاصی نسبت داده شده یا یک پورت ترانک است. ( البته اگر کلاً بلااستفاده نباشد!! ) اگر این پورت ترانک باشد به راحتی میتواند اطلاعات سایر سوییچها و VLAN ها را از خود عبور بده.
پروتکل DTP ( که فقط مخصوص سوییچهای سیسکو است ) کمک میکند که در موارد لزوم یک پورت به صورت داینامیکی به پورت ترانک تبدیل شود و بتاند با سوییچ همسایه خود ارتباط برقرار کند و نتیجتاً اطلاعات ترانک را از خود عبور دهد. اکثر سوییچها به صورت پیش فرض در حالت DTP قرار دارند. به این عمل ترانکینگ پویا گفته میشود.
بعد از همه این موارد این سوال پیش می آد که چطوری هر پورت رو به VLAN اختصاص میدیم ؟
Static VLAN و Dynamic VLAN :
این کار به دو صورت استاتیک ( دستی ) و داینامیک ( غیر دستی ! ) پیاده سازی میشود. در روش دستی ، ادمین شبکه خودش مشخص میکند که فلان پورت از فلان سوییچ به کدام VLAN متعلق است که البته این برای شبکههای بزرگ کار بسیار مشکل و تقریبا ناممکنی است! و البته یک ایراد اساسی هم دارد! و آن این است که در این روش مثلاً ادمین مشخص میکنه که شماره پورتهای 13 ، 14 و 18 از سوییچ 3 متعلق به VLAN بخش مالی و یک شرکت است. حالا اگر شخصی لپ تاپ خود را بیاورد و به یکی از این پورتها وصل شود عضو VLAN مالی محسوب میشود و این یعنی بد!!
در روش پویا تمام سوییچها را به یک سرور وصل میکنیم، ادمین یک فایل متنی که لیست دسترسی ( Access List ) نام دارد را تعریف میکند به طور کلی مشخص میکند که مجموعه از پورتهای سوییچ به چه "نوع" کاربری یا "گروه کاربری" ای متعلق است، مثلا میتواند این سیاست را با Mac Address اعمال کند یا به روشهای مختلف دیگر؛ در این صورت تکلیف هر سوییچ روشن میشود . در این صورت اگر کاربر نامربوطی بخواهد از پورتی که به او مربوط نیست استفاده کند، سوییچ به طور خود به خود او را از دسترسی به VLAN ای که به او مربوط است منع میکند!
VLAN ها و Subnetting :
در حالت عادی، تمام کامپیوترهایی که در یک LAN عضو هستند، Subnet مشترکی دارند، درسته؟ VLAN ها هم درست عین LAN هستند، به این معنی که اینجا هم کامپیوترهایی که عضور یک VLAN هستند بایستی که Subnet های یکسانی داشته باشند. بدیهی بود نه ؟!
پیشتر گفتیم که مقصد پیامها در بین سوییچهای مختلف از طریق VLAN ID ای که به هنگام خروج از پورت ترانک به فریم اضافه میشود به راحتی قابل تشخیصاند، اما در مورد پیامهایی که از یک VLAN در یک سوییچ به یک VLAN دیگر در همان سوییچ فرستاده میشود چی ؟ چطور میشه مقصد پیام را تشخیص داد که مربوط به چه VLAN ای است؟ که البته چطوری ش تحقیقاً 6 خط بالاتر گفته شد و اون لزوم متفاوت بودن subnet برای VLAN های مختلف است !
شکل زیر را در نظر بگیرید.
در این شکل یک سوییچ لایه دو را میبینیم که شامل سه VLAN است. در مورد این سوییچ بعد از تشریح شکل، توضیحاتی نوشته شده است.
قدم 1: کامپیوتر موجود در VLAN2 با ساب.نت 10.1.1.0 و آدرس 10.1.1.2 تصمیم دارد که پیامی را به کامپیوتر 10.2.2.3 با ساب.نت 10.2.2.0 بفرستد. پیام صادر شده از کامپیوتر 10.1.1.2 به سوییچ میرسد، سوییچ پیام رو گرفته، subnet پیام رو چک میکند و چون subnet مقصد پیام با subnet مبدا فرق میکند متوجه میشود که پیام برای VLAN دیگری ارسال شده است اما نمیداند که آدرس Subnet مقصد به کدام یکی از VLAN هایش متعلق است ( در حقیقت چیزی از مسیریابی نمیداند ).
قدم 2: سوییچ بسته را برای مسیریابی به روتر میفرستد.
قدم3: روتر عملیات مسیریابی را انجام داده و با توجه به subnet متوجه میشود که بسته به VLAN3 متعلق است، سپس VLAN ID مقصد را به همراه فریم برای سوییچ ارسال میکند.