Layer 2 Switching

Introduction to Layer 2 Switching

जैसा की आपको पता है hubs intelligent devices नहीं होते है। जब भी कोई hub एक frame receive करता है तो वह frame को सभी ports में broadcast कर देता है। साथ ही hub एक single collision domain को represent करते है यानी जब कोई भी 2 hosts एक साथ frames send करते है तो collision होता है। Hubs की इन्हीं limitations की वजह से network में broadcast storm जैसी समस्याएँ आती है।

Hubs की limitations को overcome करने के लिए bridges का निर्माण किया गया। Bridges hubs से better होते है। Bridges 2 local area networks को आपस में जोड़ने के लिए use किये जाते है। यदि आप अपने local area network को और अधिक फैलाना चाहते है तो ऐसा आप bridges के माध्यम से कर सकते है। एक bridge single collision domain को 2 collision domains में divide कर देता है। Bridges frames को forward करने के लिए MAC address use करते है। लेकिन क्योंकि bridges में केवल 2 ही port होते है इसलिए bridges भी एक reliable और scalable network provide करने में सक्षम नहीं थे।

Hubs और bridges की limitations को overcome करने के लिए switches को use किया जाता है। एक switch का हर port single collision domain होता है। इसलिए एक switch multiple collision domains और single broadcast domain को represent करता है। Switches intelligent device होते है।

Layer 2 switching में destination को determine करने के लिए switches MAC (Media Access Control) addresses की table को use करते है। इस table को CAM table भी कहा जाता है। MAC address हर host के NIC (Network Interface Card) पर manufacturer द्वारा hardcode किया जाता है। Layer 2 switches MAC addresses की table build और maintain करने के लिए Application Specific Integrated Circuits (ASIC) use किये जाते है।

Functions of Switches

Layer 2 पर switches 3 important functions perform करते है। इनके बारे में निचे detail से समझाया जा रहा है।

Hardware Address Learning

जब switch को पहली बार on किया जाता है तो CAM table खाली होती है। जब कोई host frame send करता है तो switch frame के source address को CAM table में store कर लेता है। क्योंकि इस समय switch को destination host का ज्ञान नहीं है इसलिए switch इस frame को source port के आलावा बाकी सभी ports को broadcast कर देता है।

जिस host के लिए इस frame को send किया गया है उसे छोड़कर सभी hosts इस frame को discard कर देते है। जो host frame को receive करता है वह source host को acknowledgment frame भेजता है। अब switch इस frame के source address को अपनी CAM table में store कर लेता है।

Network में जब भी कोई frame send किया जाता है तो switch उसके source address को अपनी CAM table में store कर लेता है। इस प्रकार एक switch अपनी CAM table build करता है। एक बार जब switch सभी hosts के MAC addresses को store कर लेता है तो उसे किसी frame को पहली बार की तरह broadcast करने की आवश्यकता नहीं होती है। अब frames किसी point to point connection की तरह source से destination तक भेजे जाते है।

Forwarding of Frames

जैसे ही कोई frame switch interface पर आता है तो उसके destination MAC address को CAM table के MAC addresses से compare किया जाता है। यदि frame का destination address match हो जाता है तो frame को केवल उसी MAC address से सम्बंधित port को forward कर दिया जाता है।

यदि किसी frame का destination address CAM table से match नहीं करता है तो उस frame को broadcast किया जाता है। यदि कोई host frame को receive करता है और उसका acknowledgment frame भेजता है तो उस frame के source address को switch CAM table में store कर लेता है।

यदि कोई host या server frames को broadcast करता है तो switch ऐसे frames को सभी hosts को send करता है।

Switches frames को forward करने के लिए 3 methods provide करते है।

  1. Store and Forward - इस method में complete frame को memory में copy किया जाता है। Frame को copy करने के बाद उस पर Cyclic Redundancy Check (CRC) perform किया जाता है।
  2. Cut Through - इस method में frame की header से शुरआती 6 bytes को copy किया जाता है ताकि destination host को identify किया जा सके। इस method में किसी भी प्रकार की error checking नहीं perform की जाती है।
  3. Fragment Free - इस method में frame की शुरआती 64 bytes को copy किया जाता है ताकि error checking perform की जा सके।

Loop Avoidance

Switches के बीच multiple links होना बहुत ही important रहता है। क्योंकि यदि किसी कारणवश एक link down हो जाए तो दूसरी link द्वारा frames को send किया जा सकता है। लेकिन कई बार इन्हीं mulitple links की वजह से network में कई समस्याएँ उत्पन्न हो जाती है।

Switches के बीच एक से अधिक link होने की वजह से network में loops create हो सकते है। यदि कोई loop avoidance technique ना use की जाए तो network में broadcast storm create हो जाता है। Network में loops की वजह से एक host frames की एक से अधिक copies receive कर सकता है।

Layer 2 switching में loops को avoid करने के लिए Spanning Tree Protocol use किया जाता है। इस protocol के बारे में जानकारी आप Spanning Tree Protocol in Hindi tutorial से प्राप्त कर सकते है।

Configuring Cisco Switches

By default एक switch के सभी ports enabled रहते है। क्योंकि यँहा layer 2 switching की बात की जा रही है इसलिए switch पर IP address या किसी routing protocol को configure करने की आवश्यकता नहीं है। ऐसे में switch पर ज्यादा configuration नहीं किया जाता है।

Switch पर निचे दिए गए normal configuration किये जा सकते है।

  1. Switch पर hostname define कर सकते है।
  2. Switch के लिए password set कर सकते है।
  3. Switch के सभी ports का description दे सकते है।
  4. Console ports के लिए password set कर सकते है।
  5. Telnetting के लिए ports का password set कर सकते है।

ऊपर दी गयी configuration list को निचे उदाहरण सहित बताया जा रहा है।

सबसे पहले आप switch के user execution mode से enable command execute करते है। इस mode में आप switch open करते ही by default होते है। इस command को run करते ही आप privileged execution mode में आ जाते है। इस mode में आप config terminal command execute करवाते है। इस command को execute करवाने से आप global configuration mode में आ जाते है।

Switch>enable
Switch# config terminal
Switch(config)#

Global configuration mode में आने के बाद आप अपने switch को configure कर सकते है। Switch पर hostname configure करने के लिए आप hostname command use करते है। इस command के बाद आप वह नाम लिखते है जो switch को देना चाहते है।

Switch(config)#hostname BHTSwitch

इस command के execute होते ही आपके switch का नाम वही हो जाता है जो आपने लिखा है।

BHTSwitch(config)#

Switch को password से protect किया जा सकता है ताकि कोई unauthorised person उसे access ना कर सके। इसके लिए आप enable secret command use करते है। इस command के बाद आप वह password लिखते जो आप switch के लिए set करना चाहते है।

BHTSwitch(config)#enable secret BHT123

Switch के किसी भी interface को configure करने के लिए सबसे पहले आप interface configuration mode में जाते है। इसके लिए आप interface command use करते है। इस command के आगे आप interface का नाम लिखते है।

BHTSwitch(config)# interface f0/16

किसी भी interface का description define करने के लिए आप interface configuration mode में description command use करते है। इस command के आगे आप उस interface का description लिखते है।

BHTSwitch(config-if)# description Description of of/16 interface

किसी भी console line का password set करने के लिए आप password command use करते है। लेकिन इसके लिए सबसे पहले आप जिस console line का password set करना चाहते है उसके configuration mode में जाते है। इसके लिए आप line console command execute करवाते है। इस command के आगे आप console का interface number लिखते है।

BHTSwitch(config-if)# line console 0
BHTSwitch(config-line)#password bhtconsole

इसके बाद आप login command execute करवाते है। इस command से जो भी console line को access करने का प्रयास कर रहा है उसे password enter करने के लिए force किया जाता है। यदि आप login command execute नहीं करते है तो password तो set हो जाता है लेकिन password enter करने के लिए force नहीं किया जाता है। इस command को आप telnet password set करने के बाद भी execute करवाते है।

Interfaces पर telnet password set करने के लिए आप line vty command use करते है। इस command के आगे आप virtual terminals lines की range देते है। यदि आप सभी 16 lines को configure करना चाहते है तो इसके लिए 0 15 range देते है। इसके बाद password command से आप telnet password set करते है और login command execute करवाते है।

BHTSwitch(config-line)#line vty 0 15
BHTSwitch(config-line)#password bhttelnet
BHTSwitch(config-line)#login