010 : Introducing BGP

กลุ่มของ Router ที่ใช้ชุดการตั้งค่าเราท์ติ้งโปรโตคอลแบบเดียวกัน ทำงานภายใน AS number เดียวกัน หรือ ทำงานภายในองค์กร จะเรียกว่า IGP เช่น RIP, IGRP, EIGRP, OSPF โปรโตคอลที่ทำงานระหว่าง AS เรียกว่า EGP คือ BGP

เลข AS numbers จะมีค่าอยู่ระหว่าง 1 – 65,535 Autonomous system (AS) เป็นการรวบรวม Network ให้อยู่ภายใต้การดูแลเดียวกัน ซึ่ง AS จะถูกกำหนดเป็นหมายเลข หน่วยงาน RIRs จะดูแลจัดการ AS numbers ตั้งแต่เลข 1 – 64,511
AS number ตั้งแต่ 64,512 - 65,535 จะถูกสงวนหรือจองเอาไว้ใช้สำหรับส่วนตัวภายในองกรค์นั้นๆ (คล้ายๆกับ IPv4 private ที่ใช้เฉพาะภายในองกรค์ไม่ public ออกมาในโลก Internet) สำหรับหน่วนงาน IANA (Internet Assigned Numbers Authority) จะเป็นผู้ดูแลและจัดสรรหมายเลข AS numbers อย่างไรก็ตาม AS number ที่ใช้งานอยู่ในปัจจุบันไม่เพียงพอ จึงมีการขยาย AS number ให้มากขึ้น จึงมีการประกาศใช้มาตรฐานใหม่คือ RFC 4893 และ RFC 5398 เกิดขึ้น
RFCs มีการขยายหรือเพิ่ม AS numbers จาห 16 bits(2 octet) ไปเป็น 32 bits(4 octet) ส่งผลให้เลข AS Number เพิ่มขึ้นจาก 65,536 หมายเลขไปเป็น 4,294,967,296 หมายเลข

เมื่อมีการใช้ BGP ทำงาน Routing ระหว่าง AS จะเรียกว่า External BGP (EBGP) ซึ่ง Neighbor จะต้องอยู่คนละ AS numbers และจำเป็นต้องเชื่อมต่อกันโดยครง (directly connected) และจำเป็นต้องมีการกำหนด Neighbor แบบ manual แต่ถ้าหากมีการใช้ BGP ทำงาน Routing อยู่ภายใน AS เดียวกันจะเรียกว่า Internal BGP (IBGP) ซึ่ง Neighbor จะต้องอยู่ AS numbers เดียวกัน และไม่จำเป็นต้องเชื่อมต่อกันโดยครง (do not need to be directly connected) และจำเป็นต้องมีการกำหนด Neighbor แบบ manual เช่นเดียวกัน

BGP จะมี Table อยู่ 3 Table ดังนี้ อันแรกคือ
1.Neighbor table ซึ่งจะแสดง BGP Neighbor
2.BGP table (forwarding database) จะแสดงรายการของ Network ที่เรียนรู้มาจาก Neighbor, แสดงหลายๆเส้นทาง(multiple paths) ที่ไปยัง Network ปลายทางเดียวกัน, แสดง Attributes ของแต่ละเส้นทาง
3.IP routing table จะทำการเก็บรายการของเส้นทางที่ดีที่สุดที่ไปยัง Network นั้นๆ

BGP Message Types สำหรับ Message types ของ BGP มี 4 message (Open Message, Update Message, Notification Message Keepalive Message )
1.สำหรับ Open Message : เป็น message แรกที่ถูกส่งเมื่อมีการตั้งค่า BGP เพื่อสร้างการเชื่อมต่อเป็น BGP Neighbor กันแบบ Full,
2.Update Message : เป็น message ที่ใช้ Update Routing Information สำหรับ Path นั้นๆ,
3.Notification Message : เป็น message ที่ใช้สำหรับการแจ้ง error ต่างๆที่เกิดขึ้น,
4.Keepalive Message : เป็น message ที่ใช้สำหรับตรวจสอบความคงอยู่ของ Neighbor คล้ายๆ Hello ใน OSPF และ EIGRP

วิธีการประกาศ Network เข้าไปใน BGP มีอยู่ 2 วิธี คือ

Option 1: The network command.
Network ที่จะประกาศออกไปจะต้องมีอยู่ใน routing table อยู่แล้ว และต้องตรงกันทั้ง Network ID และ Subnet mask แบบ 100%
ตัวอย่าง เราสวามารถ Summarize หลายๆ Network รวมเป็น Network แล้วประกาศออกไปทีเดียวได้เลย
network 192.168.0.0 mask 255.255.0.0
ip route 192.168.0.0 255.255.0.0 null0

Option 2: Redistributing IGP routes into BGP
ทำการ Redistribution จาก IGP ไปยัง BGP

ตัวอย่างนี้จะเป็นการสร้าง Session IBGP โดยใช้ Loopback Interface โดยปกติ Router จะใช้ Outbound interface เป็น Source IP Address ในการส่ง BGP Packets หากมีการสร้าง IBGP Session โดยใช้ Loopback Interface ตัว Router จะใช้ IP Address บน Loopback ในการ establish IBGP Session และเป็น Source ในการส่ง BGP Packets แทน รูปแบบการสร้าง Session ด้วย Loopback Interface โดยปกติแล้วจะใช้งานกับ IBGP เท่านั้น หาก Physical Interface มีปัญหา Down ลงไป แต่ Loopback Interface จะไม่ Downไปด้วย

เมื่อ EBGP(R2) รับ Update มาจาก EBGP Neighbor(R1) และส่งต่อไปยัง IBGP peers(R3) ตัว Source หรือ Next hop ยังคงเป็นของ EBGP router R1 (IBGP จะไม่มีการแก้ไขเปลี่ยน Next-Hop โดย Default)
ซึ่งถ้าหากต้องตั้งค่า IBGP ให้สามารถติดต่อ EBGP ข้างนอกได้ คงจะไม่ใช่ทางออกที่เหมาะสม สามารถแก้ปัญหาโดยเมื่อ EBGP(R2) รับ Update มาจาก EBGP Neighbor(R1) และส่งต่อไปยัง IBGP peers(R3) ตัว Source หรือ Next hop ให้เปลี่ยนเป็น IP Address ของตัวเอง โดยใช้คำสั่ง “neighbor next-hop-self”

ตัวอย่างการตั้งค่า BGP

  • Facebook
  • Twitter
  • YouTube
  • Tumblr Social Icon
  • Instagram

Tel. 087-449-6954, 094-417-8544 | Email : sale@9huatraining.com | Facebook : 9HUA Training