MPLS VPN: RD vs. RT

Lek Noi
3 min readSep 27, 2020

--

MPLS VPN ถือเป็นระบบเคลือข่ายหลักสำหรับ WAN ในปัจจุบัน (ค.ศ.2020) แต่ด้วยความซับซ้อนของเทคโนโลยี ทำให้เริ่มต้นศึกษาอาจจะเกิดความสับสนบ้าง และหนึ่งในนั้น ก็คือ RD และ RT

VRF (Virtual Routing and Forwarding)

จุดเริ่มต้นของ MPLS VPN จะเริ่มด้วย VRF ซึ่ง เป็นการแบ่ง Routing Table ออกเป็น Logical Routing Table หลายตารางภายใต้อุปกรณ์เดียว ช่วยเรื่องความปลอดภัย การทำงานที่ยืดหยุ่นขึ้น

จากตัวอย่างจะเห็นว่าเราสามารถใช้ VRF ในการแยกเครือข่ายออกจากกัน เช่นแยกกลุ่มลูกค้า แยกกลุ่มทีมงาน เพื่อความเป็นส่วนตัวโดยไม่ยุ่งเกี่ยวกันได้ ทำให้ VRF ถูกในไปใช้ใน ISP เพื่อแยกข้อมูล Routing Table ของลูกค้าแต่ละรายออกจากกัน

RD (Route Distinguisher)

เมื่อเรามี VRF แล้วแต่ปัญหาต่อมาคือถ้าทาง ISP ต้องทำ VRF ตั้งแต่ต้นทางจนไปถึงปลายทางนั้น มันเป็นไปได้ยาก เนื่องจาก VRF ทำงานบน Local Device ไม่มีการแชร์ข้าม Device ร่วมทั้งต้องการใช้ Resource ในการทำงานค่อนข้างสูง การจะส่งผ่าน VRF จำเป็นต้องแก้ไขตั้งค่าอุปกรณ์ทุกตัวในระหว่างทางเพื่อให้รองรับ VRF ของลูกค้านั้นนั้น หรือใช้ Routing Protocol ที่ช่วยทำงาน ตรงจุดนี้เองที่ MP-BGP (Multiprotocol Extensions for BGP) จะเข้ามาทำหน้าที่แทน แทนที่จะต้องสร้าง VRF ตลอดเส้นทาง เราจะทำการโยน Route เข้าไปยัง MP-BGP เพื่อช่วยทำการแลกเปลี่ยน Route ให้ แต่การโยน Route เข้า Routing Protocol จากลูกค้าหลายคน จะมีข้อกำจัดคือ มีโอกาสที่ Route ของลูกค้าแต่ละรายจะซ้ำกันได้

เหตุการณ์นี้เป็นเรื่องปกติในการทำงาน ISP ดังนั้นเพื่อแยก Route ของลูกค้าแต่ละรายออกไปไม่ให้ซ้ำกัน เราจะใช้ RD (Route Distinguisher) เข้ามาช่วย โดย RD ถูกกำหนดให้ลูกค้าแต่ละรายมีค่าไม่เหมือนกัน และจะถูกส่งเข้าไปใน MP-BGP เมื่อนำ RD ไปรวมกับ Route จะได้ค่าที่ไม่เหมือนกัน (Unique Route)

การตั้งค่าด้านบน จะทำให้เราเห็น BGP Routing Database แยกออกเป็น 4 Routes คล้ายๆ แบบนี้

RT (Route Target)

RD ทำหน้าที่เพียงแค่แยก Route ไม่ให้ซ้ำกันในระบบ ถ้าผู้ออกแบบคิดเพียงแค่นี้ เราก็สามารถโยน route กลับไปยังลูกค้าแต่ละรายได้อย่างถูกต้องแล้วละ แต่ในการทำงานจริง จะเจอปัญหาเมื่อ Cust-A ต้องการแลกเปลี่ยน Route กับ Cust-B หรือแม้แต่ ISP เองถ้าต้องการโยน Route เช่น Internet Route ไปให้ทั้ง Cust-A และ Cust-B ในกรณีแบบนี้ RD ไม่สามารถแก้ปัญหาได้ ผู้ออกแบบจึงได้เพิ่มคีย์ เข้ามาอีกหนึ่งค่าคือ RT โดย RT ทำหน้าที่ในการแลกเปลี่ยน Route ระหว่างอุปกรณ์ โดยใช้คำสั่ง Import เมื่อต้องการโยน Route เข้า BGP และ Export เมื่อต้องการนำ Route ออกจาก BGP ไปยัง VRF เช่น

เมื่อมี RT เพิ่มเข้ามา สามารถใช้แก้ปัญหาในกรณีที่ Cust-A และ Cust-B ต้องการแลกเปลี่ยน Route กันเองได้ด้วย เช่น

สรุป

เท่านี้เราก็เห็นที่มาทั้งหมดแล้วว่า MPLS VPN -> VRF -> MP-BGP -> RD -> RT มีที่มาและมีความเกี่ยวข้องกันยังไง

แล้วเจอกันใหม่ครับ

Lek Noi~

--

--

Lek Noi

คนธรรมดา คนหนึ่งที่ชอบด้านไอที และรักในการขีดๆ เขียนๆ