VLAN เป็นหนึ่งในคีย์ฟีเจอร์ที่คนติดตั้งระบบเครือข่ายในปัจจุบันจะพูดถึงกันเป็นจำนวนมาก หลายคนออกแบบระบบเครือข่ายโดยใช้ VLAN เป็นหลัก แต่หลายคนก็ออกแบบโดยไม่มี VLAN เลยด้วยซ้ำไป แบบไหนถูก? แบบไหนผิด?
VLAN หรือ Virtual LAN เป็นการแบ่งการทำงานของเครือข่ายแลน ออกเป็นเครือข่ายแลนเสมือนได้หลายเครือข่าย ช่วยให้อุปกรณ์ Switch หนึ่งตัวสามารถจำลองเครือข่ายได้มากกว่า 1 เครือข่าย ช่วยให้ประหยัดค่าใช้จ่ายในการซื้ออุปกรณ์ ประหยัดค่าใช้จ่ายในการเดินสายสัญญาณ และช่วยให้ผู้ดูแลระบบสามารถปรับเปลี่ยนโครงสร้างของเครือข่ายได้อย่างรวดเร็วขึ้นด้วย
จากรูปเป็นการจำลองเครือข่าย จำนวน 3 เครือข่ายจากที่มี Switch เพียงตัวเดียว แต่เมื่อต้องการเชื่อม VLAN ทั้งหมดเข้าด้วยกัน เราจำเป็นต้องมี Layer 3 ทั้งที่เป็น Switch หรือ Router เข้ามา เพื่อทำให้ VLAN ทั้งหมดติดต่อสื่อสารกันได้ และนั่นจะนำมาซึ่งความปวดหัวหลายๆ อย่าง
เหตุการณ์จริง
จากประสบการณ์ในการทำงาน ในระบบขนาดใหญ่ ที่ผมมักเจอคือ
- ลูกค้าต้องการ ให้เครื่องลูกข่ายได้รับ IP เดิม โดยอยู่ที่ไหนก็ได้ ในองค์กร
- Engineer มีความรู้จำกัดแค่ VLAN จึงออกแบบด้วย VLAN เป็นหลัก
ทั้งสองแบบ เป็นส่วนหนึ่งที่ทำให้การออกแบบเครือข่าย ต้องทำ VLAN และจำเป็นต้องเป็นโครงข่ายเดียวด้วย (หมายถึงมี Layer 3 เพียงแค่ตำแหน่งเดียวในเครือข่าย)
แต่ในความเป็นจริง นักออกแบบระบบขนาดใหญ่มักจะเลือกใช้ VLAN ให้น้อยที่สุดเท่าที่จะทำได้ เหตุผลหลักๆ ก็คือ
- VLAN มีปัญหาเรื่องความปลอดภัย ไม่สามารถทำ Authentication หรือ Member Registration ได้ ไม่ว่าใครก็ตามที่ติดตั้งในระบบ จะสามารถสร้างและใส่ VLAN เข้าไปในระบบได้อย่างง่ายดาย และยังสามารถโดนการทำ VLAN in VLAN เพื่อทะลวงเข้าเครือข่ายที่ลึกกว่าได้
- VLAN ทำงานร่วมกับ Switch และ Switch มีปัญหาเรื่อง Loop Protection ซึ่งใช้กลไกของ Spanning Tree ที่การแบ่งและส่งต่อ VLAN แต่หากติดตั้งโดยขาดความรู้ และความเข้าใจที่ถูกต้องจะส่งผลให้ระบบทำงานแย่ลง หรือไม่สามารถทำงานได้เลย
- การสร้าง VLAN จำนวนมากเกินไป จะส่งผลให้ Layer 3 Switch ทำงานหนัก หรือต้องอัพเกรดไปใช้ อุปกรณ์ที่รองรับปริมาณงานมากขึ้น และมีค่าใช้จ่ายมากขึ้น
ตัวอย่าง
ผมเชื่อว่าเน็ตเวิร์คส่วนใหญ่ในประเทศ จะมีโครงสร้างแบบนี้ โดยมี Core01 ที่เป็น Layer 3 Switch เพียงตัวเดียว และที่เหลือจะเป็น Layer 2 Switch ทั้งหมด หลายคนอาจจะคิดว่าก็ใช้งานได้นิไม่เห็นจะมีปัญหาอะไร แต่ความเป็นจริงแล้วการออกแบบในลักษณะนี้ สร้างปัญหามากมาย และที่สำคัญแอดมินหลายคนขาดความสามารถและมีประสบการ์ณที่น้อยเกินกว่าจะตรวจสอบปัญหาในระดับลึกได้ ตัวอย่างของปัญหาที่มักจะพบในการออกแบบระบบแบบนี้ เช่น
- ปัญหาเรื่อง Spanning Tree เราทราบกันดีกว่า โปรโตคอลนี้ ในแต่ละผลิตภัณฑ์ มีการตั้งค่า และการทำงานที่ไม่เหมือนกัน บางครั้งถึงแม้เราจะอ้างอิงมาตรฐาน มันก็ยังมีความต่างของเวอร์ชั่น และเทคนิคการทำงานที่ตั้งค่ามาจากโรงงานไม่เหมือนกัน ดังนั้นหากจะออกแบบระบบเครือข่ายใหญ่ขนาดนี้ ควรเลือกสินค้าที่ผลิตมาในซีรีย์เดียวกันของยี่ห้อเดียวกัน ซึ่งจะทำให้ลดปัญหาตรงนี้ไปได้
- ปัญหาเรื่อง STP Loop ตัวร้ายอีกแล้ว การออกแบบเครือข่ายใหญ่ขนาดนี้ หากมีมือดี ไปต่อสายผิด หรือเสียบสายระหว่างอุปกรณ์ผิดทำให้เกิด Loop ขึ้น หลายคนจะคิดว่า Loop เกิดขึ้นที่ Layer 2 จะทำให้ระบบเครือข่ายล่มแค่ VLAN ที่เกิดการเสียบสายผิดเท่านั้น แต่ความจริงไม่ใช่นะครับ Loop มักจะเกิดขึ้นที่ Native VLAN หรือ Control VLAN ซึ่งจะส่งผลทำให้ระบบทั้งหมด ใช้งานไม่ได้ ซึ่งร้ายแรงกว่า
- ปัญหาเรื่อง Broadcast หลายคนจะเข้าใจว่า Broadcast จะมีแค่ Limited Broadcast เท่านั้นแต่ความจริงจะมี Direct Broadcast ด้วย ซึ่งจะทำให้มีการส่ง Broadcast ข้าม VLAN เกิดขึ้นได้ ลองคิดดูว่าถ้าเครื่องลูกข่ายจำนวนมากส่ง Broadcast ข้าม VLAN ไปคุยเล่นกันจะเกิดอะไรขึ้น?
- ปัญหาเรื่อง Proxy ARP เป็นทั้งพระเอกและผู้ร้าย อุปกรณ์หลายรุ่นมักเปิดการทำงานไว้เพราะช่วยให้ระบบเกิดการเรียนรู้เร็วขึ้น โดย Layer 3 Device จะเรียนรู้ MAC Address ของอุปกรณ์ในทุก VLAN ที่อยู่ติดกับเครื่องลูกข่ายที่ต้องการส่งข้อมูลเพื่อคาดการณ์เหตุการณ์ล่วงหน้าทำให้การส่งข้อมูลข้าม VLAN ทำได้เร็วขึ้น แต่การเรียนรู้เร็วย่อมส่งผลต่อประสิทธิภาพการทำงานของอุปกรณ์ที่หนักขึ้น หากเครือข่ายขนาดใหญ่แล้วอุปกรณ์รองรับไม่ไหว ก็จบกันระบบจะเกิดการหยุดทำงานชั่วคราวได้
- ปัญหาเรื่อง Late Collision ปัญหาการชนกันของข้อมูลไม่ได้เกิดจากการใช้ฮับเพียงอย่างเดียว แต่สามารถเกิดขึ้นได้หากการส่งสํญญาณจากต้นทางไปยังปลายทางใช้เวลามากเกินไป เช่นจาก S12 ไปยัง S32 ที่ผ่านถึง 7 อุปกรณ์หากมีการเดินสายระยะไกล ทำให้การส่งสัญญาณไปกลับเกินค่าที่กำหนด ก็อาจจะเกิดการชนกันของข้อมูลได้
- Number of VLAN ในคู่มือมักจะเขียนว่า “Support VLAN 1–4094” แต่ค่านี้ในความเป็นจริงคือหมายเลขของ VLAN ที่สามารถตั้งค่าได้ ไม่ใช่จำนวน VLAN ที่สามารถสร้างในระบบได้ จำนวน VLAN ที่สร้างในระบบได้จริงจะน้อยกว่านั้นเยอะ บางอุปกรณ์จะยอมให้สร้าง VLAN ได้สูงสุด 16 VLANs บ้าง 32 VLANs บ้าง ดีหน่อยก็อาจจะ 128 VLANs ดังนั้น หากเราต้องการใช้ VLAN จำนวนมากๆ แล้วเลือกอุปกรณ์มาผิดขนาด มันก็ไม่สามารถใช้งานได้
- Number of ARP Table ยิ่งเครือข่ายใหญ่ก็จำเป็นที่ Layer 3 จะต้องสามารถจดจำ IP+MAC Address ของทุกอุปกรณ์ในระบบได้ ทำให้การออกแบบต้องเลือกอุปกรณ์ที่มีความสามารถตรงนี้ ไว้ตั้งแต่แรก หากอุปกรณ์เพิ่มจนเกินลิมิต แน่นอนว่ายังทำงานได้แต่ระบบจะช้าลงมากเพราะต้อง flood ARP แล้วทำงานใหม่ทุกครั้งที่เต็ม
- Number of MAC Table อันนี้ร้ายแรงกว่า เพราะเกิดขึ้นใน Layer 2 หรืออุปกรณ์ทุกตัวในเครือข่าย เราต้องคำนวณให้ดีกว่า จะลิมิตจำนวน MAC Address ที่อุปกรณ์แต่ละตัวจะมองเห็นได้อย่างไร ด้วยการทำ VLAN Filter เพื่อไม่ให้อุปกรณ์รับโหลดมากเกินไป และหยุดทำงาน โดยต้องไม่ลืมว่าการลิมิตวีแลน จะนำมาซึ่งเน็ตเวิร์คลูป
- Chipset Limitation การออกแบบ Switch มันจะมี Chipset ที่ไว้ควบคุมการส่งสัญญาณโดยเฉพาะ เพราะการส่งสัญญาณที่ต้องการความเร็วสูงไม่สามารถทำด้วย Software ได้ แต่หลายคนไม่ทราบว่า Switch มีการออกแบบ Chipset 1 ตัวให้สามารถคุม Port ได้จำนวนหนึ่งเท่านั้น เช่น 8 ports ดังนั้นในอุปกรณ์ที่มีหลาย Port อย่าง 24ports, 48ports จะมีหลาย Chipset ทำงานร่วมกัน การออกแบบให้เครือข่ายทั้งหมด เชื่อมต่อผ่าน port ที่ทำงานบน Chipset เดียวกัน จะทำให้ได้ความเร็วสูงขึ้นก็จริง แต่ถ้าอัดจนเกิดลิมิตก็จะเกิด Packet lost นะจ๊ะ อย่าคิดว่าใช้อุปกรณ์ DC Switch ตัวละห้าล้านสิบล้าน จะไม่เจอปัญหานี้นะครับ บอกได้เลยผมเจอมาบ่อยจนชิน
- ความปลอดภัยอย่างที่บอกไว้ การส่ง VLAN ให้สามารถผ่านได้ทุกอุปกรณ์ คนที่มุงเป้าจะโจมตีสามารถให้ VLAN ซ่อนใน VLAN เพื่อส่งสัญญาณข้าม VLAN ไปยังเป้าหมายได้
เยอะละครับเบื่อที่จะพิมพ์ละ จริงๆ ก็ยังมีอีกหลายเรื่องให้คำนึงถึง แต่เอาไว้คราวหน้าละกัน ดังนั้นถ้าเป็นไปได้ หลีกเลี่ยงการใช้ VLAN ให้เท่าที่จำเป็นไว้ก่อนจะดีที่สุด
ไปละครับบาย
Lek Noi~