ผมคิดว่าน่าจะเป็นประโยชน์กับหลายๆ ท่านนะครับ
Classful routing:
ในการประกาศ routing update ของ routing protocol กลุ่มที่เป็น classful routing จะประกาศแต่เฉพาะ network แต่จะไม่ประกาศ subnet mask ติดไปด้วยใน routing update ซึ่ง routing protocol กลุ่มที่เป็น classful routing จะเป็นพวกตระกูล distance vector โดยส่วนใหญ่ (นั่นก็คือ RIP version 1 และ IGRP [แต่ IGPR ไม่มีใช้งานแล้วในปัจจุบัน ดังนั้นใน CCNA และ CCNP จึงไม่พบ routing protocol นี้ในบทเรียน])
เมื่อมีการใช้งาน classful routing protocol แล้ว subnetwork ทั้งหมดของ major network เดียวกัน (Class A, B, หรือ C) จะต้องใช้ subnet mask เดียวกัน หรือ subnet mask ที่เหมือนๆ กันทั้งหมดทุกๆ จุดใน network โดยไม่จำเป็นที่จะต้องเป็น subnet mask ของ default major class (หมายถึง ไม่จำเป็นที่จะต้องใช้ /8 ของ Class A, /16 ของ Class B หรือ /24 ของ Class C)
หมายเหตุ การใช้ subnet mask แบบเดียวกันทั้ง network เราจะเรียกการใช้งานแบบนี้ว่า FLSM (Fixed-Length Subnet Masking)
ตัวอย่างของการกำหนด subnet ที่เป็นแบบ FLSM โดยใช้ Class B เป็นกรณีศึกษา
เราเลือกใช้ IP address space ของ Class B คือ 172.31.0.0/16
จากนั้นเราเริ่มกำหนด subnet ของ 172.31.0.0/16 เป็น /24 คือ
- 172.31.0.0/24 (172.31 = major network ของ Class B ส่วน .0 เป็น subnet)
- 172.31.1.0/24 (172.31 = major network ของ Class B ส่วน .1 เป็น subnet)
- 172.31.2.0/24 (172.31 = major network ของ Class B ส่วน .2 เป็น subnet)
- 172.31.3.0/24 (172.31 = major network ของ Class B ส่วน .3 เป็น subnet)
- 172.31.4.0/24 (172.31 = major network ของ Class B ส่วน .4 เป็น subnet)
สรุปคือ การใช้งาน classful routing จะต้องใช้งานคู่กับ FLSM เท่าน้้น
เกิดคำถามว่า เพราะอะไร ทำไม classful routing จะต้องใช้งานร่วมกับ FLSM
จากข้อมูลข้างบนที่ว่า "classful routing จะประกาศแต่เฉพาะ network แต่จะไม่ประกาศ subnet mask ติดไปด้วยใน routing update"
ดังนั้น router ที่รับ routing update จะใช้ subnet mask ของ interface ที่ได้รับ routing update เข้ามาในการกำหนดให้กับ network ที่อยู่ใน routing update ต่างๆ และใส่ network เหล่านี้พร้อมกับ subnet mask ของ interface ของมันลงไปใน routing table
Router ที่กำลัง run classful routing protocol จะทำการ summary route (หรือที่เรียกว่า route summarization) ข้าม network boundary (หรือ เขตแดนของ network)
ดังนั้น การออกแบบ network ใน classful routing จะต้องออกแบบให้เป็นทั้ง FLSM และเป็น network แบบ Contiguous Network ดังรูปข้างล่าง
แล้วถ้าเราไม่ออกแบบ network ให้เป็นแบบ Contiguous (นั่นก็คือ network เป็นแบบ Discontiguous) ล่ะ จะเป็นยังไง?
หาก network มีการใช้ classful routing protocol และ network ถูกออกแบบมาเป็นแบบ Discontiguous แล้ว
ผลที่ตามมาคือ router ที่รับ route ที่ถูก summary มาทั้งสองด้าน อาจจะ forward IP packet ไปผิดด้านก็เป็นได้ ดังรูปข้างล่าง
Note: จากภาพข้างล่างเป็น Discontiguous Network ของ Class B 172.31.0.0/16 โดยมี Class C 192.168.1.0/24 มาขั้นอยู่ตรงกลาง
คำถามต่อมา คือ EIGRP และ RIPv2 ที่มี command "auto-summary" จะมาเกี่ยวข้องอะไรกับ Discontiguous Network ล่ะ
ก่อนอื่นมาดูกันก่อนว่า command "auto-summary" มันอยู่ตรงไหนใน RIPv2 กับ EIGRP
- สำหรับ EIGRP
!
router eigrp 100
auto-summary
!
- สำหรับ RIPv2 (แม้ไม่มี command "auto-summary" ให้เห็น แต่มันจะถูก enable โดย default)
!
ทั้ง EIGRP และ RIPv2 แม้ว่ามันจะเป็นตระกูล Classless routing (ซึ่งจะกล่าวรายละเอียดต่อไป) ก็ตาม แต่โดย default แล้ว มันจะมี command "auto-summary"
ซึ่งก็หมายความว่า "มันจะทำการ summary route (หรือที่เรียกว่า route summarization) ข้าม network boundary โดย default นั่นเอง"
ซึ่ง ณ. จุดนี้ EIGRP และ RIPv2 ที่ enable command "auto-summary" จะไม่ต่างอะไรกับ Classful routing คือ ไม่สามารถรองรับการออกแบบ network ที่เป็นแบบ Discontiguous Network ได้
ดังนั้น หากเราต้องการให้ EIGRP และ RIPv2 รองรับ Discontiguous Network แล้ว เราจะต้องทำการ disable command "auto-summary" ด้วยการใส่ คำสั่ง "no" ไว้ข้างหน้า command ดังกล่าว ดังตัวอย่างข้างล่าง
- สำหรับ EIGRP
!
router eigrp 100
no auto-summary
!
no auto-summary
!
การใส่ command "no auto-summary" ให้กับ EIGRP และ RIPv2 ก็เพื่อที่จะเป็นการ disable feature "auto-summary" นั่นเอง และผลที่ได้ตามมาก็คือ router จะไม่ทำการ summary route ตรงจุดที่เป็น "network boundary" แต่จะประกาศ route ออกไปเป็นแบบ subnetnework แทน
Classful routing ถือว่าเป็น routing protocol ที่ล้าสมัยไปแล้วใน network ทุกวันนี้
Classless routing:
Classless routing protocol สามารถที่จะถูกเรียกได้ว่าเป็น protocol ที่เป็น second-generation เนื่องจากพวกมันถูกออกแบบมาให้จัดการกับปัญหาบางปัญหาที่เป็นข้อจำกัดของ classful routing protocol
ข้อจำกัดที่ถือว่ามีความสำคัญอย่างมากในสภาพแวดล้อมที่เป็นแบบ classful network ก็คือว่า subnet mask จะไม่ถูกแลกเปลี่ยนในระหว่างกระบวนการ การทำ routing update
ดังนั้นความต้องการ subnet mask ที่เหมือนๆ กัน จะถูกใช้อยู่บน subnetwork ทั้งหมดที่อยู่ภายใน major network เดียวกัน (หรือที่เราเรียกว่า FLSM)
อีกข้อจำกัดหนึ่งของ classful routing ก็คือ ความจำเป็นในการ summary route อย่างอัตโนมัติให้เป็น หมายเลข network ที่เป็นแบบ classful ที่ major network boundary ทั้งหมด
สำหรับในสภาพแวดล้อมที่เป็นแบบ classless แล้วนั้น กระบวนการการทำ summarization จะถูกควบคุมแบบทำด้วยมือ หรือที่เรียกกันว่า ทำอย่าง manually และในการทำ route summarization นั้น เราสามารถที่จะเรียกใช้ ที่ตำแหน่ง bit ใด ๆ ภายใน address ก็ได้
เนื่องจาก route ที่เป็นแบบ subnet จะถูกแพร่ หรือถูก propagate ไปตลอดทั้ง routing domain ดังนั้นการทำ manual summarization อาจจะเป็นที่ต้องการในการช่วยรักษาขนาดของ routing table ไม่ให้มีขนาดที่ใหญ่มากจนเกินไป
นอกจากนั้นแล้ว classless routing ยังรองรับการออกแบบ network ที่เป็นแบบ VLSM (Variable-Length Subnet Masking) อีกด้วย
Network ที่ถูกออกแบบมา เป็นแบบ VLSM จะมี subnet mask ได้มากกว่าหนึ่ง prefix length ภายใน Class หนึ่ง Class (หมายถึง มี subnet mask เป็นแบบไหน อะไรก็ได้ ไม่ต้องเหมือนกันทั้ง network อย่าง FLSM)
ตัวอย่างของการกำหนด subnet ที่เป็นแบบ VLSM โดยใช้ Class B เป็นกรณีศึกษา
เราเลือกใช้ IP address space ของ Class B คือ 172.31.0.0/16
จากนั้นเราเริ่มกำหนด subnet ของ 172.31.0.0/16 เป็น /24 คือ
- 172.31.0.0/24 (172.31 = major network ของ Class B ส่วน .0 เป็น subnet)
- 172.31.1.0/27 (172.31 = major network ของ Class B ส่วน .1.0 เป็น subnet)
- 172.31.1.32/27 (172.31 = major network ของ Class B ส่วน .1.32 เป็น subnet)
- 172.31.1.64/30 (172.31 = major network ของ Class B ส่วน .1.64 เป็น subnet)
- 172.31.1.68/30 (172.31 = major network ของ Class B ส่วน .1.68 เป็น subnet)
Classless routing protocol ประกอบไปด้วย RIPv2, EIGRP, OSPF และ IS-IS
ข้อมูลเพิ่มเติมเกี่ยวกับ Classful และ Classless ท่านสามารถเข้าไปอ่านได้ตาม link นี้ครับ
สำหรับ VDO เกี่ยวกับ FLSM และ VLSM ท่านสามารถเข้าไปชมได้ตาม link ข้างล่างครับ
CCNA kochaiwat Vol9-1 FLSM vs VLSM
เอาล่ะครับ จบเสียทีสำหรับงานเขียนนี้ ผมตั้งใจมานานมากว่าจะเขียนสิ่งเหล่านี้ ในที่สุดก็เขียนเสร็จเสียที ยังมีอีกมากมายที่อยากจะเขียน ยังไงก็คอยติดตามกันต่อไปเรื่อยๆ นะครับ
ขอบคุณครับ
โก้-ชัยวัฒน์
www.likecisco.bloggang.com