พอดีมีเพื่อน ๆ ถามเข้ามาถึงการทำ Vlan และ Inter Vlan ในวันนี้ก็เลยจะมาแนะนำเรื่องราวให้เพื่อน ๆ ที่ยังไม่รู้จักการทำงานของ Vlan ให้ทราบกันครับ เรามาเริ่มกันเลยนะครับ โดยปกติถ้าเพื่อน ๆ มีการใช้งานเครือข่าย Lan อยู่สองเครือข่าย แยกจากกัน ถ้าเพื่อน ๆ ต้องการที่จะทำให้ Lan ทั้งสองวงสามารถติดต่อสื่อสารกันได้จะต้องทำอย่างไรครับ แน่นอนว่าจะต้องใช้อุปกรณ์ใน Layer 3 มาช่วยในการทำ Routing ให้ใช่มั้ยครับ การแบ่ง Vlan นั้นก็เสมือนกับการแยกวงของเครือข่ายออกจากกัน จะทำให้โฮสต์จะสามารถติดต่อสื่อสารกับโฮสต์อื่น ๆ ใน Vlan เดียวกันได้เท่านั้น แต่การที่จะทำให้โฮสต์สามารถติดต่อสื่อสารกับโฮสต์ใน Vlan อื่น ๆ ได้นั้น ก็จะต้องใช้วิธีการที่เรียกว่า Inter Vlan Routing ครับ ซึ่งก็คือการใช้อุปกรณ์ Layer 3 มาช่วยในการทำ Routing ระหว่าง Vlan ให้นั่นเองครับ
การทำ Virtual Lan นั้นจะเป็นการแบ่ง Broadcast Domain ของเครือข่ายออกจากกัน สำหรับใครที่สงสัยว่า Broadcast Domain นี้คืออะไรนะครับ ผมก็จะขออธิบายให้ฟัง แต่ก่อนที่จะทำความรู้จักกับ Broadcast Domain นั้น ขอแนะนำให้รู้จักกับการทำงานของ Collision Domain กันก่อนครับ
- Collision Domain คือ ขอบเขตการชนกันของข้อมูลที่เกิดบน Layer 1 หรือ Physical Layer นั้นเอง ซึ่งก็คือการที่สัญญาณไฟฟ้าที่ส่งไปในสายเส้นเดียวกันในเวลาเดียวกันจากหลาย ๆ เครื่องนั้น เกิดการชนกันขึ้น ก็จะทำให้ข้อมูลนั้นได้รับความเสียหาย และไม่สามารถนำไปใช้งานต่อได้ โดยจะเกิดขึ้นกับอุปกรณ์ที่ทำงานบน Layer 1 อย่างเช่น hub(ในปัจจุบันหาใช้ยากกว่าสวิตซ์อีก) เป็นต้น และเนื่องจาก Collision นี้จะเกิดขึ้นบน Layer 1 การป้องกันการเกิด Collision จึงต้องนำอุปกรณ์ที่ทำงานในระดับ Layer 2 มาป้องกัน ซึ่งก็ Switch นั่นเอง ด้วยเหตุนี้ Switch จึงสามารถแยก Collision Domain ได้
- Broadcast Domain คือ ขอบเขตการกระจายข้อมูล ซึ่งจะเกิดบน Layer 2 เพื่อให้เห็นภาพการทำงานขอให้เพื่อน ๆ นึกถึงห้องประชุมใหญ่ ๆ ที่มีคนมาประชุมกันอยู่ โดยมีชื่อห้องว่า Vlan 10 นะครับ การพูดคุยต่าง ๆ ภายในห้องประชุมนี้ก็จะกระจายอยู่ภายในห้องใช่มั้ยครับ สำหรับรูปแบบการกระจายข้อมูลภายในเครือข่ายนั้นจะมีอยู่ 3 รูปแบบ ดังนี้
- Broadcast เป็นการแพร่กระจายข้อมูลไปยังทุกเครื่องภายในเครือข่าย เพื่อให้เห็นภาพ ก็ขอให้นึกถึงห้องประชุมห้องเดิมนะครับ เมื่อมีใครซักคนนึงภายในห้องนี้พูดขึ้นมาว่า “ทุกคน โปรดฟังทางนี้” นี่ก็คือการ Broadcast ครับ คือกระจายข้อมูลไปยังทุก ๆ โฮสต์ใน Vlan นั้น ๆ
- Multicast จะแตกต่างกับ Broadcast อยู่นิดหน่อย ถ้าเป็น Multicast ขอให้เพื่อน ๆ นึกถึงห้องประชุมห้องเดียวกันนี้ มีคนพูดขึ้นมาเหมือนกัน แต่ไม่ได้พูดว่า “ทุกคน” แต่อาจจะพูดว่า “กลุ่มสีน้ำเงิน โปรดฟังทางนี้” ซึ่งถึงแม้ว่าทุกคนภายในห้องนี้จะได้ยินข้อความนี้ แต่จะมีเพียงกลุ่มสีน้ำเงินเท่านั้นที่นำข้อมูลนี้มาใช้ประโยชน์
- Unicast ก็ขอให้เพื่อน ๆ นึกถึงห้องประชุมห้องเดิมต่อนะครับ เมื่อเราอยู่ในห้องประชุมนี้ เราต้องการที่จะคุยกับ นาย A แต่ในตอนแรกเราจะไม่ทราบใช่มั้ยครับว่าคนไหนกันแน่คือนาย A เมื่อเราต้องการที่จะคุยกับนาย A ในครั้งแรกนั้น เราก็จะต้องถามไปก่อนว่าคนไหนคือนาย A โดยการพูดว่า “นาย A โปรดฟังทางนี้” ซึ่งทุกคนภายในห้องประชุมนี้จะได้ยิน แต่จะมีเพียงนาย A เท่านั้นที่ตอบรับกลับมา แต่ในการติดต่อสื่อสารครั้งต่อไป เราก็จะรู้แล้วว่าคนไหนคือนาย A เราก็สามารถที่จะเข้าไปคุยกับนาย A ได้โดยตรงทันที เปรียบเสมือนกับในเครือข่าย Lan ที่เมื่อต้องการส่งข้อมูลไปยังปลายทางในครั้งแรก จะต้องมีการส่ง ARP โดยการ Broadcast ไปถามก่อน ว่า IP Address นี้มี Mac Address เป็นอะไร แต่เมื่อทราบค่า ARP แล้วเราก็จะสามารถติดต่อกับเครื่องนั้น ได้โดยตรงทันที
ในการแบ่ง Vlan ก็ขอให้เพื่อน ๆ นึกถึงห้องประชุมห้องเดิมนี้ เพียงแต่ว่าจะมีการกั้นห้องขึ้นมาตรงกลางห้อง เพื่อแบ่งห้องประชุมออกเป็น 2 ห้อง และอาจจะตั้งชื่อว่าห้อง Vlan 10 กับห้อง Vlan 20 การพูดคุยก็จะกระจายตามรูปแบบการส่งข้อมูลทั้ง 3 รูปแบบ อยู่ภายในห้องของตัวเอง
ทีนี้เมื่อคุยกันไปมาภายในห้องของตัวเองจนเบื่อแล้ว หรือมีใครซักคนในห้องที่ต้องการที่จะคุยกับคนที่อยู่ในอีกห้องนึงขึ้นมา ก็จะต้องเดินไปยังประตูทางออกของห้อง (Gateway) จากนั้นจึงไปหาป้ายเพื่อบอกทาง(การทำ Routing) เพื่อหาทางไปยังอีกห้องนึงได้อย่างถูกต้องนั่นเอง ซึ่งก็เปรียบเสมือนกับการแบ่ง Vlan และใช้อุปกรณ์ Layer 3 มาช่วยในการทำ Routing ให้นั่นเอง
และก่อนที่จะเข้าสู่ขั้นตอนในการตั้งค่า ผมก็จะขอแนะนำให้เพื่อน ๆ รู้จักกับ รูแปบบของพอร์ตที่มีการตั้งค่าเพื่อใช้งานกันก่อนนะครับ โดยจะมีอยู่ 2 รูปแบบ คือ Access Port และ Trunk Port ครับ
- Access Port คือพอร์ตที่สามารถรับส่งข้อมูลได้เพียง Vlan เดียว ซึ่งโดยปกติจะใช้กับพอร์ตที่เชื่อมต่อไปยังโฮสต์ เพราะเครื่องของผู้ใช้แต่ละเครื่องส่วนมากก็จะถูกกำหนดให้อยู่ใน Vlan ใด Vlan หนึ่งเพียง Vlan เดียวเท่านั้น
- Trunk Port คือพอร์ตที่สามารถรับส่งข้อมูลได้หลาย Vlan โดยปกติจะใช้กับพอร์ตที่เชื่อมต่อระหว่าง Switch ด้วยกัน เพื่อที่จะสามารถส่งข้อมูลในหลาย ๆ Vlan ไปยัง Switch ตัวอื่น ๆ ได้ โดยใช้เพียงพอร์ตเดียวเท่านั้นได้
ขอเข้าสู่ขั้นตอนในการตั้งค่ากันเลยดีกว่าครับ สำหรับขั้นตอนการตั้งค่า Vlan และ Inter Vlan ด้วย Switch Layer 3 ก็มีดังนี้
- ทำการสร้าง Vlan ลงบนสวิตซ์ทุกตัวที่ Vlan นั้น ๆ ใช้เป็นเส้นทางในการส่งข้อมูล
- ทำการกำหนดพอร์ตบนสวิตซ์ที่เชื่อมต่อไปยังเครื่องผู้ใช้ให้เป็นสมาชิกของ Vlan ที่ต้องการ
- ทำการกำหนดพอร์ตบนสวิตซ์ที่เชื่อมต่อไปยังสวิตซ์ตัวอื่น ๆ ให้เป็น Trunk port
- ทำการสร้าง Interface Vlan บนสวิตซ์ Layer 3 เพื่อใช้เป็น gateway ของแต่ละ Vlan
เอาล่ะครับเรามาดูตัวอย่างการตั้งค่าในขั้นตอนที่ 1 กันเลยดีกว่านะครับ ในขั้นตอนนี้จะเป็นการสร้าง Vlan ขึ้นมาบน Switch ก่อนครับ
ตัวอย่าง
access-sw02(config)#vlan 10
access-sw02(config-vlan)#name SALE
access-sw02(config-vlan)#exit
access-sw02(config)#vlan 20
access-sw02(config-vlan)#name ENGINEER
access-sw02(config-vlan)#exit
access-sw02(config)#do show vlan bri
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active Fa0/1, Fa0/2, Fa0/3, Fa0/4
Fa0/5, Fa0/6, Fa0/7, Fa0/8
Fa0/9, Fa0/10, Fa0/11, Fa0/12
Fa0/13, Fa0/14, Fa0/15, Fa0/16
Fa0/17, Fa0/18, Fa0/19, Fa0/20
Fa0/21, Fa0/22, Fa0/23, Fa0/24
Gig1/1, Gig1/2
10 SALE active
20 ENGINEER active
1002 fddi-default active
1003 token-ring-default active
1004 fddinet-default active
1005 trnet-default active
จากตัวอย่าง เมื่อเราทำการสร้าง Vlan ด้วยคำสั่ง vlan ใน global configuration mode เสร็จแล้ว เราสามารถตรวจสอบการตั้งค่าได้โดยการใช้คำสั่ง show vlan ได้ ซึ่งจะเห็นว่ามี vlan 10 และ vlan 20 ขึ้นมาแล้ว แต่จะยังไม่มีพอร์ตใดบนสวิตซ์ที่เป็นสมาชิกอยู่ ซึ่งโดย default จากโรงงาน ทุก ๆ พอร์ตบน Switch จะเป็นสมาชิกของ Vlan 1 อยู่
เมื่อทำขั้นตอนที่ 1 บนสวิตซ์ทุกตัวที่ต้องการใช้งาน Vlan นั้นแล้ว ก็จะเข้าสู่ขั้นตอนที่ 2 คือการกำหนดพอร์ตเข้าเป็นสมาชิกของแต่ละ Vlan
ตัวอย่าง
access-sw02(config)#int fa0/1
access-sw02(config-if)#switchport mode access
access-sw02(config-if)#switchport access vlan 10
access-sw02(config-if)#exit
access-sw02(config)#int fa0/2
access-sw02(config-if)#switchport mode access
access-sw02(config-if)#switchport access vlan 20
access-sw02(config-if)#exit
จากตัวอย่างนี้ เป็นการกำหนดพอร์ตบนสวิตซ์ access-sw02 โดยทำการกำหนดให้ interface FastEthernet0/1 นั้นเป็นสมาชิกของ Vlan 10 และ interface FastEthernet0/2 นั้นเป็นสมาชิกของ Vlan 20
จากนั้นก็เข้าสู่ขั้นตอนต่อไปกันเลยครับ นั่นก็คือการกำหนดพอร์ตที่เชื่อมต่อระหว่างสวิตซ์ให้เป็น trunk port ครับ ซึ่งสามารถทำได้โดยการใช้คำสั่ง “switchport mode trunk” และจะต้องทำการตั้งค่าทั้งบนสวิตซ์ทั้งสองฝั่งของ link นั้นนะครับ เช่นจากในรูปก็จะต้องตั้งค่าทั้งในฝั่ง Access Switch และ Layer3 Switch ครับ และในสวิตซ์บางรุ่นจะต้องใช้คำสั่ง “switchport trunk encapsulation dot1q” ก่อนนะครับจึงจะทำการตั้งค่าให้พอร์ตนั้นเป็น trunk ได้
ตัวอย่าง
access-sw01(config)#interface gigabitEthernet 1/1
access-sw01(config-if)#switchport mode trunk
Layer3-SW(config)#interface range gigabitEthernet 0/1-2
Layer3-SW(config-if-range)#switchport
Layer3-SW(config-if-range)#switchport trunk encapsulation dot1q
Layer3-SW(config-if-range)#switchport mode trunk
เมื่อทำการตั้งค่าเสร็จแล้ว สามารถตรวจสอบได้ โดยการใช้คำสั่ง “show interfaces trunk” นะครับ
ตัวอย่าง
Layer3-SW#show interfaces trunk
Port Mode Encapsulation Status Native vlan
Gig0/1 on 802.1q trunking 1
Gig0/2 on 802.1q trunking 1
Port Vlans allowed on trunk
Gig0/1 1-1005
Gig0/2 1-1005
Port Vlans allowed and active in management domain
Gig0/1 1,10,20
Gig0/2 1,10,20
Port Vlans in spanning tree forwarding state and not pruned
Gig0/1 1,10,20
Gig0/2 1,10,20
เอาล่ะครับ เมื่อเสร็จขั้นตอนนี้ เครื่องโฮสต์ใน vlan เดียวกัน บนสวิตซ์แต่ละตัวจะสามารถติดต่อกันได้แล้วนะครับ แต่จะยังไม่สามารถติดต่อสื่อสารข้ามระหว่าง vlan ได้ ซึ่งจะต้องทำขั้นตอนต่อไปก่อนครับ นั่นก็คือการสร้าง gateway ให้กับแต่ละ vlan ครับ แต่ก่อนที่จะทำการสร้าง gateway ให้กับแต่ละ vlan ได้ เราจะต้องทำการ enable คุณสมบัติ routing ให้กับสวิตซ์ Layer 3 ของเรากันก่อนนะครับ ซึ่งก็คือการใช้คำสั่ง “ip routing” นั่นเองครับ
ตัวอย่าง
Layer3-SW(config)#ip routing
Layer3-SW(config)#interface vlan 10
Layer3-SW(config-if)#ip add 10.0.10.1 255.255.255.0
Layer3-SW(config-if)#no shut
Layer3-SW(config-if)#exit
Layer3-SW(config)#int vlan 20
Layer3-SW(config-if)#ip add 10.0.20.1 255.255.255.0
Layer3-SW(config-if)#no shut
Layer3-SW(config-if)#exit
จากนั้นก็ไปทำการตั้งค่าบนเครื่องโฮสต์ให้ชี้ gateway มาที่ ip address นี้ครับ เท่านี้ก็สามารถที่จะติดต่อสื่อสารกันข้าม vlan ได้แล้วครับ
ถ้าเพื่อน ๆ อยากจะทดสอบวิธีการตั้งค่า สามารถดาวน์โหลด lap ซึ่งใช้กับโปรแกรม packet tracer ไปทดลองทำกันดูได้ครับ สามารถดาวน์โหลดได้ตาม link ด้านล่างเลยครับ
packet tracer lab : Inter Vlan Lab
ลองทำตามแล้วไม่ได้ครับ เลยไปหาดูเจออีกคำสั่งหนึ่งที่ขาดไป ผมลองเพิ่มไปใน global คือ ip routing ใน switch layer3 แล้วใช้งานได้ ครับ ผมไม่รู้ว่าผมอ่านไม่ครบหรือเปล่า แต่เหมือนจะไม่มีตัวคำสั่งนี้ครับ
ReplyDeleteอ่าครับ คำสั่ง ip routing เป็นคำสั่งที่ใช้ enable คุณสมบัติ layer 3 บนสวิตซ์ครับ ตกคำสั่งนี้ไปจริง ๆ ขอโทษด้วยนะครับ
ReplyDeleteขอบคุณมาก ๆ นะครับที่ช่วยเตือน ตอนนี้แก้ไข เพิ่มเติมแล้วครับ ^ ^
ReplyDeleteและก็ต้องขอโทษอีกครั้งนะครับ พลาดจริง ๆ ครับผม T T
ทำไมบน Packet Tracer 5.2 ไม่ต้องใช้คำสั่ง ip routing ก็ได้ครับ แต่ผมไม่แน่ใจว่าบน Packet Tracer 5.3 (ไม่ได้ลอง) ตอน Config Switch L3 จริงๆก็ไม่ได้ใช้ คำสั่งนี้มันมีประโยชน์ยังไงครับ
ReplyDeleteตอน configure สวิตซ์ ไม่ทราบว่าใช้งานรุ่นไหนครับ เพราะจริง ๆ แล้ว จะต้อง enable feature layer 3 ด้วยคำสั่ง ip routing นี้ก่อน สวิตซ์ L3 ถึงจะสามารถทำ routing ได้ครับ
ReplyDeleteรบกวนสอบถามข้อมูลหน่อยครับ ไม่ทราบเราสามารถสร้าง port trunk สอง port ใน switch layer 2 ได้หรือเปล่าครับ คือถ้าจากรูปข้างบน ถ้าหากผมนำ Switch Layer มาต่อกับ access-sw02 ไม่ทราบว่า ถ้าผมต้องการให้ทุก VLan สามารถติดต่อสื่อสารกันได้บนสวิตที่เพิ่มไปได้หรือเปล่าครับ ขอบคุณครับ
ReplyDeleteSW2_L2---f0/1-------------f0/1---SW1-L3-----f0/2-----------SW3_L2-----f0/3-----------f0/1--SW4_L2
จากรูปที่ SW3_L2 ผมจะต้อง config ยังไงถึงทำให้ SW4_L2 สามารถรันทุก VLAN ได้ครับ ขอบคุณครับ
ทำ trunk บนทุกๆ interface ที่เชื่อมต่อกันระหว่างสวิตซ์ครับ
ReplyDeleteทำ trunk บนทุกๆ interface ที่เชื่อมต่อกันระหว่างสวิตซ์ครับ
ReplyDeleteแสดงว่า Switch Layer 2 สามารถทำ Trunk ได้มากว่า 1 interface ช่ายหรือเปล่าครับ เพราะเนื่องจาก ผมลอง config ดังข้างล่างครับ แต่เห็น trunk แค่
ReplyDeleteinterface เดียวครับ
Switch(config)#int f0/2
Switch(config-if)#sw
Switch(config-if)#switchport mod
Switch(config-if)#switchport mode trunk
Switch(config-if)#switchport mode trunk
Switch(config-if)#exit
Switch(config)#int f0/1
Switch(config-if)#swi
Switch(config-if)#switchport mode
Switch(config-if)#switchport mode trun
Switch(config-if)#switchport mode trunk
Switch(config-if)#exit
Switch(config)#wr
^
% Invalid input detected at '^' marker.
Switch(config)#exit
Switch#
%SYS-5-CONFIG_I: Configured from console by console
Switch#wr
Building configuration...
[OK]
Switch#sh int tru
Switch#sh int trunk
Port Mode Encapsulation Status Native vlan
Fa0/2 on 802.1q trunking 1
Port Vlans allowed on trunk
Fa0/2 1-1005
Port Vlans allowed and active in management domain
Fa0/2 1,10,20,30,40
Port Vlans in spanning tree forwarding state and not pruned
Fa0/2 1,10,20,30,40
Switch#
ขอบคุณมากครับ
สามารถตั้งค่าได้มากกว่า 1 interface อยู่แล้วครับ ไม่ทราบว่าอีก interface นึงนี่ up อยู่หรือไม่ครับ
ReplyDeleteออ ได้แล้วครับ คือว่า ผมลอง sh ip int brief ปรากฏว่า protocal และ interface down อยู่ เนื่องจาก ระหว่าง switch กับ switch ผมใช้สายตรงต่อกันอยู่ครับก็เลย no sh ไปหลายทีไม่ขึ้นครับ ตอนนี้เปลี่ยนเป็นสาย cross ได้แล้วครับ
ReplyDeleteปล ผมใช้ Switch Catalyst 2950 ครับ
ขอบคุณมากครับบ
รบกวนสอบถามอีกเรื่องครับ อาจจะง่ายสำหรับหลายครับ จากในรุปข้างบน ถ้าถ้าเราจะ telnet เข้ามา switch แต่ละตัวนี่ เราต้องสร้าง vlan สำหรับอุปกรร์แล้วกำหนดให้หรือเปล่าครับ หรือเราจะสามรถกำหนด ip address ได้เลยครับ ขอบคุณครับ
ReplyDeleteผม download lap ไม่ได้ ครับ
ReplyDeleteขอบคุณครับ สำหรับความรู้
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteขอบคุณครับ ข้อมูลดีๆ ที่สละเวลาแบ่งกัน
Deleteขอถาม 1 เรื่องครับ ถ้าเราจะเอา Vlan10 ออก เราแค่ลบ Vlan ออกอย่างเดียว หรือว่าต้องตามไปลบ Route ด้วยครับ รบกวนขอคำสั่งด้วยนะครับ
มือใหม่ขออณุญาติถามครับ
ReplyDeleteที่โชว์ด้านบนเป็นการทำ VLAN layer 2 สำหรับแบ่ง vlan ออกเป็นหลายวง LAN, layer3 สำหรับคุยข้าม vlan ต่างๆ ดังที่โชว์ด้านบน เป็นการ configure switch ทั้งหมด 3 ตัว
อันนี้ผมเข้าใจถูกใช่มั้ยครับ??
อีกคำถามถามคำตอบคือผมคือเข้าใจถูกแล้วอยากจะถามต่อว่า
ถ้าผมเปลี่ยนมาใช้ switch ตัวนี้
http://www.cisco.com/en/US/prod/collateral/switches/ps5718/ps5528/product_data_sheet09186a00801f3d7d.html
ก็สามารถเซ็ทที่ว่ามาทั้งหมดได้ด้วย switch ตัวเดียวถูกไม๊ครับ
เพราะมันมี 3 layer ในตัวเดียว
ขอบคุณครับ
การทำ Inter Vlan บน Switch Layer 3 กับบน Router แต่กต่างอย่างไรคับ
ReplyDeleteการทำ Inter Vlan บน Switch Layer 3 กับบน Router แต่กต่างอย่างไรคับ
ReplyDeleteบน Router ไม่มีคำสั่งให้สร้าง Vlan แต่สามารถทำ inter vlan โดยการสร้าง Sub interface เพื่อใช้เป็น GW ให้กับ Vlan นั้นๆ น่าจะเรียกว่า Route on a stick นะครับ
Deleteส่วนบน switch L3 เราสามารถสร้าง vlan และ interface vlan เพื่อใช้เป็น GW ให้กับ Vlan นั้นๆ ได้เลย น่าจะประมาณนี้ครับ