VLAN
แยก LAN ออกจากกันด้วยซอฟต์แวร์ โดยไม่ต้องแตะสายเลย — บทนี้อธิบายว่า VLAN แบ่ง broadcast domain อย่างไร, tag 4 ไบต์ของ 802.1Q ถูกแทรกตรงไหนของเฟรม และ VTP ช่วยไม่ให้ต้องไปตั้งค่าสวิตช์ทีละตัว 100 ตัวได้ยังไง
บทนี้ออกได้ 3 ท่า — (1) อธิบายว่า VLAN แบ่ง broadcast domain อย่างไร พร้อมวาดรูปว่า PC ไหนคุยกับ PC ไหนได้/ไม่ได้ (2) วาดเฟรม 802.1Q ชี้ว่า tag 4 ไบต์แทรกตรงไหนและมีอะไรอยู่ข้างใน (3) เทียบโหมด VTP สามโหมด ว่าโหมดไหนแก้ที่ตัวเองได้ โหมดไหนกระจายต่อ · ทั้งสามท่าเป็นคำถามความเข้าใจ ไม่มีการคำนวณ — วาดรูปกับเขียนตารางเทียบให้เป็น จบ
16.1Virtual LAN (VLAN)
การพัฒนาของสวิตช์ช่วยให้การเชื่อมต่อ LAN มีประสิทธิภาพสูงขึ้นเมื่อเทียบกับการใช้ฮับ และการทำงานของ STP ช่วยให้ติดตั้งสวิตช์จำนวนมากได้โดยไม่ต้องกังวลเรื่อง broadcast storm · Virtual LAN (VLAN) เป็นอีกหนึ่งความสามารถของสวิตช์ที่เอื้อประโยชน์อย่างมากในองค์กรขนาดใหญ่
VLAN ทำอะไรได้
อุปกรณ์ที่เชื่อมต่อใน LAN สื่อสารกันได้โดยไม่เกี่ยวข้องกับสถานที่ติดตั้ง · เมื่ออยู่ VLAN เดียวกัน จะเสมือนว่าอยู่บนสวิตช์ของ LAN เดียวกัน แม้ตัวเครื่องจะอยู่คนละชั้นคนละตึก
และในทางกลับกัน
แม้อุปกรณ์จะอยู่บนสวิตช์เดียวกันแท้ ๆ ถ้าอยู่ต่าง VLAN ก็สื่อสารกันไม่ได้ — เท่ากับอยู่คนละบรอดคาสท์โดเมน · ทำให้เราแยกเครื่องใดเครื่องหนึ่งออกจากระบบได้โดยไม่ต้องยุ่งกับสายเลย
การทำเช่นนี้ถือเป็นการทำเชิงตรรกะหรือโดยซอฟต์แวร์ ไม่เกี่ยวข้องกับการติดตั้งฮาร์ดแวร์ — แต่มีเงื่อนไขว่า สวิตช์ตัวนั้นต้องรองรับการทำงาน VLAN ด้วย
รูปแรกของบทในตำรา (รูปที่ 16.1) สรุปผลของ VLAN ไว้ในภาพเดียว — สวิตช์ตัวเดียวถูกซอยเป็น VLAN 1 · VLAN 2 · VLAN 3 เมื่อมีเฟรมบรอดคาสท์เข้ามาทางพอร์ตของ VLAN 1 สวิตช์จะส่งออกเฉพาะพอร์ตที่อยู่ VLAN 1 เท่านั้น ส่วนฝั่ง VLAN 2 กับ VLAN 3 ไม่มีอะไรออกไปเลย (ในรูปเขียนกำกับไว้ตรง ๆ ว่า “Nothing Here” และ “Nor Here”) — นี่คือกรณีที่เฟรมถูกทิ้ง ซึ่งเป็นหัวใจของทั้งบท
กำหนด VLAN ได้ 2 วิธี
| วิธี | ยึดอะไรเป็นหลัก | ข้อดี | ข้อเสีย |
|---|---|---|---|
| 1. Static | พอร์ตของสวิตช์ — พอร์ตไหนอยู่ VLAN ไหนก็กำหนดไปตรง ๆ | ทำได้โดยง่าย · เห็นภาพชัด แก้ง่าย | ย้ายเครื่องไปเสียบพอร์ตอื่น = ต้องตั้งค่าใหม่ |
| 2. Dynamic | MAC address ของเครื่อง | คล่องตัวสูง ในกรณีที่มีพนักงานจำนวนมากที่ต้องย้ายไปมาบ่อย เช่นทุกคนใช้ laptop / notebook — ย้ายที่นั่งแล้ว VLAN ตามไปด้วย | ติดตั้งได้ยากกว่า · จึงไม่ได้รับความนิยมมากนัก เพราะติดตั้งยุ่งยาก |
ตัวอย่างการกำหนดแบบ static (รูปที่ 16.2 ในหนังสือ)
สร้าง VLAN หมายเลข 2, 3 และ 4 บนสวิตช์ตัวเดียว โดยกำหนดว่า
- พอร์ต 7 – พอร์ต 9 อยู่บน VLAN 2
- พอร์ต 10 – พอร์ต 12 อยู่บน VLAN 3
- พอร์ต 2 – พอร์ต 3 กับ พอร์ต 5 – พอร์ต 6 อยู่บน VLAN 4 (สังเกตว่าไม่ต้องเรียงติดกันก็ได้)
- พอร์ตที่เหลือเป็นพอร์ตโดยปริยาย — ในสวิตช์ของ Cisco จะให้ VLAN 1 เป็นแบบปริยาย
ผลที่ได้: PC 1 คุยกับ PC 2 ได้ (VLAN เดียวกัน) และ PC 3 คุยกับ PC 4 ได้ (VLAN เดียวกัน) แต่ PC 1 / PC 2 คุยกับ PC 3 / PC 4 ไม่ได้ เพราะอยู่ต่าง VLAN — หรืออาจกล่าวได้ว่าอยู่คนละบรอดคาสท์โดเมน
ปัญหาที่ตามมาคือ PC 1 และ PC 2 อาจจำเป็นต้องสื่อสารกับ PC 3 และ PC 4 จะทำอย่างไร? เนื่องจากทั้งสองฝั่งเสมือนอยู่ต่างเครือข่าย LAN กัน จึงต้องมีเร้าเตอร์มาช่วยเชื่อม (รูปที่ 16.3) · ถ้าติดตั้งถูกต้อง PC ใน VLAN 2 จะสื่อสารกับ VLAN 4 ได้โดยที่ไม่ทราบเลยว่าทั้งสอง VLAN อยู่บนสวิตช์เดียวกัน · คำตอบผิดที่เจอบ่อยคือ "ตั้งค่าสวิตช์ให้ VLAN คุยกันเอง" — ทำไม่ได้ สวิตช์เป็นอุปกรณ์ Layer 2 ต้องขึ้นไป Layer 3 เท่านั้น
16.1.1VLAN Tagging
การสร้าง VLAN อีกทางหนึ่งคือการเพิ่ม tag ลงบนเฟรมที่ส่ง การใช้ tag ทำให้:
- ส่งเฟรมไปได้มากกว่าหนึ่ง VLAN พร้อมกัน — สวิตช์หรือเร้าเตอร์จะส่งต่อ (forward) เฟรมไปยังแต่ละ VLAN โดยอาศัยข้อมูลของ tag
- สามารถส่งผ่านพอร์ตเดียวกันได้ เรียกการทำงานนี้ว่า trunking
- ผลคือ ประหยัดพอร์ตบนสวิตช์และเร้าเตอร์ — แต่ละ Trunk รองรับได้หลาย VLAN
ถ้าต้องการเชื่อมสวิตช์สองตัวเข้าด้วยกัน โดยแต่ละตัวมี 4 VLAN — ถ้าไม่ใช้ trunk ต้องเดินสายสี่เส้น เส้นละ VLAN · ถ้าใช้ Trunk เหลือเส้นเดียว · คิดต่อในองค์กรที่มี 20 VLAN ก็คือ 20 เส้น → 1 เส้น
นับพอร์ตจริงจากรูปในตำรา — ทำไม Trunk ถึงคุ้ม
ตำราไม่ได้บอกลอย ๆ ว่า “trunk ประหยัดพอร์ต” แต่พาไต่ให้ดูทีละขั้นด้วยรูปสามรูปติดกัน โดยใช้สวิตช์ 16 พอร์ตตัวเดิม (พอร์ต 0 – พอร์ต 15) ที่ตั้ง VLAN ไว้แบบเดียวกับรูปที่ 16.2 คือ VLAN 4 = พอร์ต 2–3 และ 5–6 · VLAN 2 = พอร์ต 7–9 · VLAN 3 = พอร์ต 10–12
| แบบการเชื่อม | รูปในตำรา | จำนวนสายที่ต้องเดิน | พอร์ตสวิตช์ที่ถูกกิน | หนึ่งสายขนได้กี่ VLAN |
|---|---|---|---|---|
| เร้าเตอร์เชื่อม 2 VLAN (VLAN 2 กับ VLAN 4) | 16.3 | 2 เส้น | 2 พอร์ต | 1 VLAN ต่อเส้น |
| เร้าเตอร์เชื่อม 3 VLAN (VLAN 2, 3, 4) | 16.4 | 3 เส้น | 3 พอร์ต | 1 VLAN ต่อเส้น |
| เร้าเตอร์ต่อผ่าน Trunk | 16.5 | 1 เส้น | 1 พอร์ต (พอร์ต 15) | หลาย VLAN ต่อเส้น |
| สวิตช์ 2 ตัว ตัวละ 4 VLAN ต่อกันด้วย Trunk | 16.6 | 1 เส้น (แทนที่จะเป็น 4 เส้น) | 1 พอร์ต ต่อสวิตช์ | หลาย VLAN ต่อเส้น |
ขั้นที่ 1 — ยังไม่มี trunk: ถ้าอยากให้ VLAN 2, 3 และ 4 ในรูปที่ 16.3 คุยกันได้ทั้งหมด ต้องลากสายจากเร้าเตอร์ลงมาที่สวิตช์ทีละ VLAN ⇒ 3 VLAN = 3 เส้น = กินพอร์ตสวิตช์ 3 พอร์ต + พอร์ตเร้าเตอร์อีก 3 พอร์ต
ขั้นที่ 2 — ใส่ trunk: รูปที่ 16.5 คือการติดตั้ง VLAN เดิมทุกอย่าง แต่ต่อเร้าเตอร์ด้วย Trunk เส้นเดียวที่พอร์ต 15 — การเชื่อมต่อดังกล่าวลดการใช้พอร์ตลง เพราะแต่ละ Trunk รองรับได้หลาย VLAN (นี่คือ Router-on-a-Stick ที่ได้ทำจริงใน Lab 4)
ขั้นที่ 3 — trunk ระหว่างสวิตช์สองตัว: หากต้องการเชื่อมสวิตช์สองตัวเข้าด้วยกัน โดยแต่ละตัวประกอบไปด้วย สี่ VLAN จะต้องใช้สายสี่เส้น เส้นละ VLAN — การใช้ Trunk ทำให้เหลือเส้นเดียว ดังรูปที่ 16.6
เครื่องที่เสียบพอร์ต 5 ของสวิตช์ตัวบน (VLAN 5) กับเครื่องที่อยู่ พอร์ต 13–14 ของสวิตช์ตัวล่าง (VLAN 5 เหมือนกัน) คุยกันได้เสมือนอยู่บนสวิตช์ตัวเดียวกัน ทั้งที่คนละตัว คนละหมายเลขพอร์ต — เพราะเฟรมวิ่งข้าม trunk โดยมี VID = 5 ติดไปด้วย · ในทางกลับกันเครื่องที่ พอร์ต 3 ของสวิตช์ตัวล่าง อยู่ VLAN 4 จึงคุยกับ VLAN 5 ไม่ได้ แม้จะเสียบสวิตช์ตัวเดียวกัน · ประโยคนี้ตอบข้อสอบได้ทั้งข้อ “ข้อดีของ VLAN” และข้อ “ประโยชน์ของ Trunk”
สองโพรโตคอลที่ใช้ทำ tag
ในการส่งเฟรมบน Trunk โดยการใช้ tag อย่างในรูปที่ 16.6 ทั้งสองฝั่งจำเป็นต้องตกลงกันในโพรโตคอลที่จะเลือกใช้ ปัจจุบันหากกล่าวถึงสวิตช์ของ CISCO ทำได้สองวิธี · แต่ไม่ใช่ทุกสวิตช์ที่สนับสนุนการทำงานของทั้งสอง:
| IEEE 802.1Q | ISL (Inter-Switch Link) | |
|---|---|---|
| เจ้าของ | มาตรฐานเปิด — ทำงานได้กับสวิตช์ของหลายผู้ผลิต | โพรโตคอลเฉพาะของ Cisco |
| วิธีทำงาน | แทรก tag เข้าไปในเฟรมเดิม 4 ไบต์ | ห่อหุ้มเฟรมเดิมด้วยเฮดเดอร์ใหม่ — เพิ่มเฮดเดอร์และค่า FCS ให้กับเฟรมเดิม |
| ขนาดที่เพิ่ม | 4 ไบต์ → เฟรมสูงสุดเป็น 1522 ไบต์ | 30 ไบต์ → เฟรมสูงสุด 1518 กลายเป็น 1548 ไบต์ |
| FCS | ต้องคำนวณ FCS ใหม่ เพราะเฟรมเปลี่ยนไป | มี FCS ของ ISL เอง คำนวณตั้งแต่เฮดเดอร์ของ ISL — เป็นคนละ FCS กับเฟรมอีเทอร์เน็ต |
| เข้ากับของเก่า | ได้ — ถ้าสวิตช์ไม่รองรับโพรโตคอลนี้ เฟรมยังถูกส่งต่อไปได้ เพราะ 802.1Q เพียงเพิ่มข้อมูล VLAN tag ในเฟรมเท่านั้น | เสี่ยง — หากไม่ใช่สวิตช์ของ Cisco อาจมีปัญหาในการส่งข้อมูล (เฟรม 1548 ไบต์ใหญ่เกินมาตรฐาน) |
Tag ของ 802.1Q แทรกตรงไหน และมีอะไรข้างใน
เพื่อแก้ไขเฟรมอีเทอร์เน็ตเดิมให้สนับสนุน VLAN tag ทำสองอย่าง:
ฟิลด์ Type/Length ของเฟรมถูกกำหนดให้มีค่า
0x8100— ค่านี้มากกว่า 1500 ดังนั้นอีเทอร์เน็ตจะเข้าใจว่าเป็นการกำหนด Type (ประเภทของเฟรม) มิใช่ Length (ความยาวเฟรม)สองไบต์ถัดมาถูกใช้กำหนดข้อมูลเกี่ยวกับ tag เรียกว่า tag control information field (TCIF) แบ่งเป็นสามส่วน
| ส่วนของ TCIF | ค่าที่เป็นไปได้ | ใช้ทำอะไร |
|---|---|---|
| Priority Code Point (PCP) | ชนิด 0 ถึง 7 | กำหนดประเภทของทราฟฟิก ใช้เพื่อกำหนดความสำคัญของทราฟฟิก (เช่น เสียง/วิดีโอ ควรได้คิวก่อนไฟล์ดาวน์โหลด) |
| Canonical Format Indicator (CFI) | 0 หรือ 1 | กำหนดรูปแบบของข้อมูล — ลอจิก 0 แบบ little Endian ในขณะที่ลอจิก 1 จะเป็น big Endian |
| VLAN identifier (VID) | ระบุได้สูงสุด 4096 VLAN | ระบุ ID ของ VLAN ที่เฟรมนี้สังกัด |
TCIF ยาว 2 ไบต์ = 16 บิต · แบ่งเป็น PCP 3 บิต (พอดีกับค่า 0–7 = 2³ ค่า), CFI 1 บิต (0 หรือ 1), เหลือ 12 บิต ให้ VID (พอดีกับ 2¹² = 4096 VLAN ตามที่หนังสือระบุ) — 3 + 1 + 12 = 16 บิต ลงตัวพอดี · ในมาตรฐานรุ่นหลัง (802.1Q-2011) บิต CFI ถูกเปลี่ยนชื่อเป็น DEI (Drop Eligible Indicator) และ 0x8100 เรียกว่า TPID (Tag Protocol Identifier) — ถ้าเห็นชื่อ DEI/TPID ใน Wireshark หรือสไลด์ Cisco ก็คือฟิลด์เดียวกันนี้
บนพอร์ต trunk แบบ 802.1Q จะมี VLAN หนึ่งที่ถูกกำหนดเป็น native VLAN ซึ่งเฟรมของ VLAN นั้นวิ่งผ่าน trunk โดยไม่ติด tag (untagged) — มีไว้เพื่อความเข้ากันได้กับอุปกรณ์ที่ไม่รู้จัก 802.1Q ตามคุณสมบัติ backward-compatible ที่หนังสือกล่าวถึง · ค่าปริยายของ Cisco คือ VLAN 1 และทั้งสองฝั่งของ trunk ต้องตั้ง native VLAN ให้ตรงกัน ไม่งั้นทราฟฟิกจะ "รั่ว" ข้าม VLAN · หัวข้อนี้ไม่ได้อยู่ในหนังสือ แต่เป็นสิ่งที่ต้องตั้งจริงใน Lab 4
Source address กับ Length โดยมี VLAN protocol ID = 0x8100 แล้วตัว Tag แตกออกเป็น Pri (PCP) · CFI · VLAN Identifier
802.1Q แทรก 4 ไบต์ ระหว่างแอดเดรสต้นทาง (SA) กับฟิลด์ความยาว/ประเภทของเฟรม — เฟรมเดิมยังเป็นเฟรมเดิม แค่ยาวขึ้น 4 ไบต์ · ส่วน ISL ห่อหุ้มเฟรมเดิมทั้งก้อนด้วยเฮดเดอร์ใหม่ + FCS ใหม่ · ถ้าวาดรูปสลับกันสองอันนี้จะเสียคะแนนทันที · และอย่าลืมว่า 802.1Q ต้องคำนวณ FCS ใหม่ เพราะเนื้อเฟรมเปลี่ยนไปแล้ว
16.1.2VLAN Trunking Protocol (VTP)
VTP เป็นโพรโตคอลที่ใช้ช่วยกำหนด VLAN ให้แก่สวิตช์จำนวนมากที่อยู่ในเน็ตเวิร์ก การใช้ VTP ทำให้ติดตั้งบนสวิตช์ตัวเดียวแล้วกระจายไปทั่วเน็ตเวิร์กได้
ลองนึกภาพองค์กรที่มีสวิตช์อยู่ 100 ตัว — การไปตั้งค่าทีละตัวให้ถูกต้องโดยไม่สับสนระหว่าง VLAN นั้นทำได้ยาก และถ้าต้องแก้ไขทีหลังยิ่งเกิดข้อผิดพลาดมากขึ้น
การทำงานเริ่มจาก VTP แจ้ง (advertise) ข้อมูลการติดตั้ง VLAN ไปยังทุกพอร์ตของ Trunk ⇒ สวิตช์ข้างเคียงเรียนรู้ข้อมูลของ VLAN ที่มีอยู่ ⇒ กระจายข้อมูล VLAN ต่อไปยังสวิตช์อื่น ๆ
| โหมด | รับ advertise แล้วปรับตามไหม | สร้าง advertise ใหม่ไหม | แก้ที่ตัวสวิตช์เองได้ไหม |
|---|---|---|---|
| Client | รอรับและปรับเปลี่ยนตามข้อมูลที่ได้รับ | ส่งต่อในเน็ตเวิร์ก | ไม่ได้ — การเปลี่ยนแปลง VLAN ในโหมดนี้เกิดขึ้นจาก VTP เท่านั้น ไม่สามารถเปลี่ยนที่สวิตช์ได้โดยตรง |
| Server | รอรับ advertise ของ VTP | สร้าง advertise ใหม่ได้ | ได้ — แก้ไขหรือลบที่สวิตช์ทำได้ในโหมดนี้ และการแก้ไขจะทำให้เกิดการเปลี่ยนแปลงไปยัง VLAN ทั้งระบบ |
| Transparent | ไม่ปรับตาม — ข้อมูลใน advertise ไม่มีผลใด ๆ ต่อสวิตช์นี้ | ส่งต่อ advertise ที่ได้รับเท่านั้น | ได้ — แก้ไขได้โดยตรง ณ สวิตช์ และจะไม่มีผลต่อสวิตช์อื่น |
หนังสือระบุชัดว่า ในระบบทั่วไปควรมีหนึ่งหรือสองสวิตช์เท่านั้นที่เป็นโหมด Server และการแก้ไขใดในโหมดนี้ควรทำอย่างระมัดระวัง เนื่องจากจะถูกกระจายไปทั้งระบบ · การตั้งทุกตัวเป็น Server = ใครแก้ก็ได้ = หายนะ · คำตอบข้อสอบที่ดีต้องมีประโยคนี้
ตัวอย่างจากรูปที่ 16.9 ในหนังสือ
เน็ตเวิร์กประกอบด้วยสวิตช์ 5 ตัว (SW1–SW5) ต่อกันเป็นสายเดียว โดยแต่ละตัวมีโหมดการทำงานตามที่กำกับไว้ในรูป — SW 1 = Server · SW 2 = Client · SW 3 = Transparent · SW 4 = Server · SW 5 = Client (สังเกตว่า SW 3 มีแค่ VLAN 2 ส่วนตัวอื่นมี VLAN 2, 3, 4)
เมื่อ สวิตช์ 4 ส่งการแจ้ง (advertise) ในเน็ตเวิร์ก การแจ้งจะถูกกระจายต่อไป โดยที่ สวิตช์ 2 และสวิตช์ 5 จะถูกปรับตามที่ได้รับจาก VTP Server · แต่ สวิตช์ 3 จะไม่มีการปรับตาม เนื่องจากทำงานอยู่ในโหมด transparent — การเปลี่ยนการติดตั้งของสวิตช์ 3 ทำได้โดยตรงที่ตัวสวิตช์เท่านั้น
16.1.3VTP Management Domain
VTP Management Domain เป็นการกำหนดโดเมนของ VLAN เพื่อระบุกลุ่มของสวิตช์ที่อยู่ภายใต้การจัดการเดียวกัน หรือที่เป็นสมาชิกอยู่ กติกามี 3 ข้อ:
หากสวิตช์ใดไม่อยู่ภายใต้ VTP Domain เดียวกัน จะไม่ได้รับการแจ้ง (advertise) ที่เกิดขึ้น
สวิตช์หนึ่งเครื่องอยู่ภายใต้ VTP domain เดียวเท่านั้น
เพื่อรับข้อมูลจากเซิร์ฟเวอร์ สวิตช์ต้องเชื่อมต่อกันโดยตรง ไม่มีสวิตช์อื่นขั้น
รูปที่ 16.10 ในหนังสือแสดงการเชื่อมต่อของ VTP domain — หากมีการแก้ไขใด ๆ ที่ SW 1 หรือ SW 2 จะไม่มีการส่งต่อไปยัง SW 4 เนื่องจากมี SW 3 ขั้นอยู่ (SW 3 อยู่คนละโดเมน จึงตัดสายส่งต่อขาดตรงนั้น)
กฎ "ต้องเชื่อมต่อกันโดยตรง ไม่มีสวิตช์อื่นขั้น" หมายถึงไม่มีสวิตช์ที่อยู่คนละโดเมนมาขั้นกลาง — สวิตช์ที่ขั้นอยู่จะไม่ส่งต่อ advertise ของโดเมนที่ตัวเองไม่ได้เป็นสมาชิก ⇒ สมาชิกโดเมนเดียวกันที่อยู่คนละฝั่งจึงขาดการติดต่อกันไป · เขียนประโยคนี้ในข้อสอบได้คะแนนแน่นอน
| สถานการณ์ | เกิดอะไรขึ้น | อ้างอิง |
|---|---|---|
| บรอดคาสท์เข้ามาที่ VLAN 1 | ออกเฉพาะพอร์ต VLAN 1 · VLAN 2 และ VLAN 3 ไม่ได้รับเลย (“Nothing Here” / “Nor Here”) | รูปที่ 16.1 |
| PC ต่าง VLAN บนสวิตช์ตัวเดียวกัน ping หากัน | ไม่สำเร็จ — อยู่คนละบรอดคาสท์โดเมน สวิตช์ (Layer 2) ข้ามให้ไม่ได้ · แก้ได้ทางเดียวคือผ่านเร้าเตอร์ | รูปที่ 16.2 → 16.3 |
| ต่อ 802.1Q เข้ากับสวิตช์ที่ไม่รองรับ | เฟรมยังถูกส่งต่อไปได้ เพราะ 802.1Q เพียงเพิ่มข้อมูล VLAN tag ในเฟรมเท่านั้น (จุดที่หลายคนตอบผิดว่าเฟรมถูกทิ้ง) | หัวข้อ 16.1.1 |
| ใช้ ISL กับสวิตช์ที่ไม่ใช่ Cisco | อาจมีปัญหาในการส่งข้อมูล เพราะเฟรมโตเป็น 1548 ไบต์ เกินขนาดมาตรฐาน | หัวข้อ 16.1.1 |
| advertise ของ VTP วิ่งผ่านสวิตช์โหมด Transparent | สวิตช์นั้นส่งต่ออย่างเดียว ไม่ปรับตาม — VLAN ของตัวเองไม่เปลี่ยน (SW 3 มีแค่ VLAN 2) | รูปที่ 16.9 |
| สวิตช์ปลายทางอยู่คนละ VTP Domain / มีสวิตช์อื่นขั้นกลาง | ไม่ได้รับ advertise — แก้ที่ SW 1/SW 2 แล้วไปไม่ถึง SW 4 | รูปที่ 16.10 |
ส่วนกรณี ลูป/broadcast storm ไม่ใช่หน้าที่ของ VLAN — ตำราโยนให้ STP ในบทที่ 15 จัดการ · VLAN แก้คนละเรื่องกัน คือแบ่งบรอดคาสท์โดเมนให้เล็กลง เพื่อลดทราฟฟิกบน LAN
จากทฤษฎีไปลงมือทำที่ Lab 4
ทุกอย่างในบทนี้ถูกทำจริงใน Lab 4 — VLAN + Trunk + Router-on-a-Stick โดยจับคู่กันแบบนี้:
| หัวข้อในบทนี้ | ทำอะไรใน Lab 4 |
|---|---|
| VLAN แบบ static (กำหนดที่พอร์ต) | สั่งให้พอร์ตของสวิตช์เป็น access port ของ VLAN ที่ต้องการ แล้วทดสอบ ping ข้าม VLAN ว่าไม่ผ่าน |
| Trunking + 802.1Q | ตั้งพอร์ตระหว่างสวิตช์สองตัวเป็น trunk แล้วจับเฟรมด้วย Wireshark เพื่อดู tag 0x8100 กับ VID ของจริง |
| ต้องมีเร้าเตอร์เพื่อข้าม VLAN | ตั้ง Router-on-a-Stick (sub-interface หนึ่งอันต่อหนึ่ง VLAN) แล้ว ping ข้าม VLAN ให้ผ่าน |
| VTP modes | ตั้งสวิตช์ตัวหนึ่งเป็น server อีกตัวเป็น client แล้วสร้าง VLAN ที่ตัว server ดูว่าโผล่ที่ client เองไหม |
ถ้าจับเฟรมที่ access port จะไม่เห็น tag เพราะสวิตช์ถอด tag ออกไปแล้ว — ต้องจับที่ trunk link ถึงจะเห็นฟิลด์ 802.1Q Virtual LAN พร้อมค่า Priority / CFI / ID · นี่คือการเชื่อมกับ Q3 (Wireshark) ด้วย เพราะเป็นการชี้แอดเดรส/ฟิลด์ในเลเยอร์ 2 ให้ถูก
เช็คความเข้าใจ
0x81000x8100 = 33024 ฐานสิบ ซึ่งมากกว่า 1500 ⇒ ตามกฎของ บทที่ 14 อีเทอร์เน็ตจะตีความฟิลด์นี้เป็น Type (ประเภทของเฟรม) มิใช่ Length (ความยาวเฟรม) · นี่คือกลไกที่ทำให้สวิตช์รุ่นเก่าที่ไม่รู้จัก 802.1Q ยังส่งต่อเฟรมได้ โดยไม่พัง1518 + 4 = 1522 ไบต์ · ส่วน 30 ไบต์ → 1548 คือของ ISL ซึ่งห่อหุ้มเฟรมเดิม ไม่ใช่แทรก · และอย่าลืมว่าการแทรก tag ทำให้ต้องคำนวณ FCS ใหม่- VLAN = แบ่ง broadcast domain ด้วยซอฟต์แวร์ · VLAN เดียวกัน = เสมือน LAN เดียวกัน · ต่าง VLAN = คุยกันไม่ได้ ต้องผ่านเร้าเตอร์
- กำหนดได้ 2 แบบ: static (ที่พอร์ต, ง่าย) และ dynamic (ที่ MAC, คล่องตัวแต่ยุ่งยาก จึงไม่นิยม) · Cisco ให้ VLAN 1 เป็นค่าปริยาย
- Trunk = สายเส้นเดียวขนหลาย VLAN โดยติด tag กำกับ ⇒ ประหยัดพอร์ตบนสวิตช์และเร้าเตอร์ · ตัวเลขที่ต้องจำจากรูป: 3 VLAN ผ่านเร้าเตอร์ = 3 เส้น (16.4) → Trunk เหลือ 1 เส้น (16.5) · สวิตช์ 2 ตัว ตัวละ 4 VLAN = 4 เส้น → Trunk เหลือ 1 เส้น (16.6)
- 802.1Q: แทรก 4 ไบต์ · Type/Length =
0x8100(>1500 จึงเป็น Type) · TCIF = PCP (0–7) + CFI (little/big Endian) + VID (สูงสุด 4096 VLAN) · ต้องคำนวณ FCS ใหม่ · เฟรมสูงสุด 1522 - ISL: ของ Cisco · ห่อหุ้มเฟรมเดิม + FCS ของตัวเอง · เพิ่ม 30 ไบต์ ⇒ 1548 ไบต์
- VTP 3 โหมด: Server (แก้ได้ + สร้าง advertise · ควรมี 1–2 ตัวเท่านั้น) · Client (แก้ที่ตัวเองไม่ได้ เปลี่ยนได้จาก VTP เท่านั้น) · Transparent (ส่งต่ออย่างเดียว ไม่ปรับตาม แก้เองได้ ไม่กระทบใคร)
- VTP Domain: คนละโดเมน = ไม่ได้รับ advertise · หนึ่งสวิตช์อยู่ได้โดเมนเดียว · ต้องต่อกันโดยตรง ไม่มีสวิตช์อื่นขั้น