วันจันทร์ที่ 27 กรกฎาคม พ.ศ. 2552

คุยเรื่อง MPLS


MPLS (MultiProtocol Label Switching) ส่วนใหญ่ใช้ใน Service Provider จุดประสงค์หลัก ๆ ของตัวนี้คือ การทำ Routing ที่รวดเร็ว โดยการทำ forwarding machanism ซึ่งได้จากติด Label ให้กับ packet ทำให้มีการ forward packet ได้เร็วกว่า แบบ traditional IP ซึ่งต้องมาเทียบกับตาราง routing table (จะทำงานช้า ถ้า routing table มีขนาดใหญ่) ส่วนการทำ QoS นั้นเป็นผลพลอยได้ หรือเป็นส่วนหนึ่ง ของ MPLS เท่านั้น (ไม่ใช่จุดประสงค์หลัก) MPLS ทำ ลูกเล่น ท่าต่างๆ ได้เยอะ

ปกติแล้ว เดิมเวลา ip routing ทำงาน มันต้อง lookup ใน routing table ซึ่ง เรียงเป็นหลายร้อยแถว ทำให้ต้องดู ไล่ตั้งแต่ 1 - บรรทัดที่ match แต่ พอเอาเข้ามาใน โลก MPLS มันเป็น label เหมือน ทำ index ให้มัน มันก็จะเร็วขึ้น ซึ่ง พวก forwarding ตอนใช้ label แล้ว มันจะทำ โดย Hardware แล้วมันจะเร็วกว่า

ถ้าใน service provider ที่มี internet routing เยอะๆ มาก ๆ แต่ถ้า routing น้อยๆ ไม่กี่สิบบรรทัด ก็ไม่จำเป็นเท่าไหร่ เพราะแทนที่จะเร็วขึ้น กลับต้องไปเสีย overhead เพิ่มในการแปะ label แทนมากกว่า

ท่าแปลกๆ ที่ทำงานได้อีก ก็เช่น MPLS VPN เช่น เรา เป็น provider แต่มี ลูกค้า A มีหลาย ๆ สาขา แล้วต้องการ Route ข้าม สาขา ให้แต่ละสาขา link ถึงกันได้ เมื่อก่อน อาจจะ ใช้ lease line แต่ MPLS มันเอา route proprogate ไปให้ได้

Traffic Engineering ก็ทำได้ ปกติ เวลา ip route best path มันจะคือ hop ที่สั้น แล้ว ถ้า routing วิ่ง มันก็จะวิ่งขาเดียว แต่ MPLS TE สามารถ utilize ได้ ให้บาง traffic วิ่งเส้นนึง ให้อีก traffic วิ่งอีกเส้น ทำได้

มีหลายท่า มันจะไม่เลือก best path อย่างเดียว เหมือน ip routing

พอทำ TE ก็มี Fast Reroute อีก ท่า Fast Reroute นี้ downtime 50ms ซึ่งต่ำมาก

MPLS เอามาตอบโจทย์ หลายๆ อย่างที่ traditional IP ทำไม่ได้ แต่จริงๆ พื้นฐาน อยู่บน ip routing เดิมทั้งนั้น

ท่ายากสุด ก็ MPLS TE + Fast Re route แล้วล่ะ เรื่องการ configure ควรจะมีพื้นฐานเกี่ยวกับ BGP มาก่อน

Credit: เม้ง
เรียบเรียง: pleX