Wednesday, July 3, 2024

[BGP Route Selection Process]: Phần 2 – Cơ bản về Peering và eBGP trong BGP

-

1. Tổng quan.

eBGP (External Border Gateway Protocol) là một loại BGP (Border Gateway Protocol) được sử dụng để thiết lập kết nối và trao đổi thông tin định tuyến giữa các Autonomous Systems (AS) khác nhau trong mạng lưới Internet.

eBGP là một loại BGP được sử dụng để kết nối các Autonomous Systems khác nhau và trao đổi thông tin định tuyến giữa chúng. Điều này giúp duy trì sự liên kết và tính nhất quán trong định tuyến trên mạng lưới Internet rộng lớn.

  • AS (Autonomous System):
    • AS (Autonomous System) là một tập hợp các mạng và thiết bị định tuyến được quản lý bởi cùng một tổ chức hoặc nhà cung cấp dịch vụ Internet (ISP). Mỗi AS có một con số AS định danh duy nhất để xác định nó trên Internet.
  • eBGP Peering:
    • eBGP là phiên bản BGP được sử dụng để thiết lập kết nối và trao đổi thông tin định tuyến giữa các AS khác nhau.
    • Trong quá trình eBGP peering, hai hoặc nhiều router đặt ở biên giới của các AS kết nối với nhau và trao đổi thông tin về các prefixes và đường dẫn đến các mạng đó.
  • eBGP Sessions:
    • eBGP peering sessions là các phiên kết nối BGP giữa các router ở hai AS khác nhau.
    • Trong một eBGP session, các router thỏa thuận các thông tin cần thiết, chẳng hạn như next hop, metric, và đường dẫn đến các prefixes mà họ chia sẻ với nhau.
  • AS Path:
    • AS Path là một trường quan trọng trong các thông điệp BGP và biểu thị đường dẫn mà thông điệp đã đi qua qua các AS trước khi đến đích. AS Path giúp tránh vòng lặp định tuyến và đảm bảo tính nhất quán trong việc định tuyến.
  • Policy Control:
    • eBGP cho phép các tổ chức và nhà cung cấp dịch vụ Internet thiết lập chính sách định tuyến tùy chỉnh. Điều này cho phép họ kiểm soát cách thông tin định tuyến được truyền đi và nhận từ các AS khác.
  • Thiết Lập eBGP Peering:
    • Để thiết lập eBGP peering, cần cấu hình địa chỉ IP của neighbor, AS number của neighbor, và các tham số BGP khác.
    • Sau khi thiết lập, eBGP session sẽ bắt đầu trao đổi thông tin định tuyến và đảm bảo rằng định tuyến giữa các AS khác nhau hoạt động hiệu quả.

2. Mô tả.

  • Sơ đồ lab gồm 5 router được nối với nhau như hình dưới.
  • Trên sơ đồ này chúng ta sẽ làm quen cơ bản với eBGP.
  • Hãy đặt địa chỉ IP trên các interface theo như quy hoạch ở trên sơ đồ.
  • Chạy định tuyền EIGRP trên các thiết bị đảm bảo mọi địa chỉ trên sơ đồ đều thấy nhau.
  • Cấu hình BGP AS 100 trên Router-2 và Router-3.
    • Cấu hình để Router-2 và Router-3 thực hiện iBGP peering với Router-1 và thiết lập quan hệ iBGP với nhau sử dụng địa chỉ IP trên các cổng loopback 0.
  • Cấu hình Router-4 tham gia BGP sử dụng AS 200
  • Cấu hình eBGP peering giữa Router-2 và Router-4, Router-3 và Router-4 theo yêu cầu:
    • eBPG peering giữ Router-2 và Router-4 sử dụng địa chỉ IP kết nối trực tiếp.
    • eBPG peering giữ Router-3 và Router-4 sử dụng địa chỉ IP loopback 0.
  • Router-2, Router-3 và Router-4 quảng bá các subnet của các interface loopback 1 và BGP.
  • Đảm bảo rằng mọi thiết bị đi đến được các loopback 1 của nhau khi sử dụng source là IP của các interface loopback 1.

3. Cấu hình ban đầu.

3.1. Cấu hình đặt IP cho các Router.

– Router-1

configure terminal
hostname Router-1
no logging console
no ip domain-lookup

interface loopback 0
no shutdown
ip address 172.16.1.1 255.255.255.0

interface ethernet 0/0
no shutdown
ip address 172.16.12.1 255.255.255.0

interface ethernet 0/1
no shutdown
ip address 172.16.13.1 255.255.255.0
end

– Router-2

configure terminal
hostname Router-2
no logging console
no ip domain-lookup

interface loopback 0
no shutdown
ip address 172.16.2.1 255.255.255.0

interface ethernet 0/0
no shutdown
ip address 172.16.12.2 255.255.255.0

interface ethernet 0/1
no shutdown
ip address 172.16.24.2 255.255.255.0
end

– Router-3

configure terminal
hostname Router-3
no logging console
no ip domain-lookup

interface loopback 0
no shutdown
ip address 172.16.3.1 255.255.255.0

interface ethernet 0/0
no shutdown
ip address 172.16.13.3 255.255.255.0

interface ethernet 0/1
no shutdown
ip address 172.16.34.3 255.255.255.0
end

– Router-4

configure terminal
hostname Router-4
no logging console
no ip domain-lookup

interface loopback 0
no shutdown
ip address 172.16.4.1 255.255.255.0

interface ethernet 0/0
no shutdown
ip address 172.16.24.4 255.255.255.0

interface ethernet 0/1
no shutdown
ip address 172.16.34.4 255.255.255.0
end

3.2. Định tuyến EIGRP trên các router đảm bảo mọi địa chỉ trên sơ đồ thấy nhau.

– Router-1

configure terminal

router eigrp 100
no auto-summary
network 172.16.12.1 0.0.0.0
network 172.16.13.1 0.0.0.0
network 172.16.1.1 0.0.0.0

– Router-2

configure terminal

router eigrp 100
no auto-summary
network 172.16.12.2 0.0.0.0
network 172.16.24.2 0.0.0.0
network 172.16.2.1 0.0.0.0

– Router-3

configure terminal

router eigrp 100
no auto-summary
network 172.16.13.3 0.0.0.0
network 172.16.34.3 0.0.0.0
network 172.16.3.1 0.0.0.0

– Router-4

configure terminal

router eigrp 100
no auto-summary
network 172.16.24.4 0.0.0.0
network 172.16.34.4 0.0.0.0
network 172.16.4.1 0.0.0.0

Kết quả bảng định tuyến trên Router-1.

Router-1# show ip route eigrp
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
       a - application route
       + - replicated route, % - next hop override

Gateway of last resort is not set

      172.16.0.0/16 is variably subnetted, 11 subnets, 2 masks
D        172.16.2.0/24 [90/409600] via 172.16.12.2, 00:00:43, Ethernet0/0
D        172.16.3.0/24 [90/409600] via 172.16.13.3, 00:00:56, Ethernet0/1
D        172.16.4.0/24 [90/435200] via 172.16.13.3, 00:00:43, Ethernet0/1
                       [90/435200] via 172.16.12.2, 00:00:43, Ethernet0/0
D        172.16.24.0/24 [90/307200] via 172.16.12.2, 00:00:43, Ethernet0/0
D        172.16.34.0/24 [90/307200] via 172.16.13.3, 00:00:43, Ethernet0/1

4. Cấu hình eBGP.

4.1. Cấu hình iBGP trên Router-1.

Tạo và đặt IP cho loopback 1.

configure terminal

interface loopback 1
ip address 1.1.1.1 255.255.255.255

Cấu hình iBGP sử dụng AS100 và quảng bá loopback 1 vào BGP

router bgp 100
neighbor 172.16.2.1 remote-as 100 <- Thiết lập iBGP peering
neighbor 172.16.2.1 update-source loopback 0 <- Sử dụng source là loopback 0 để thiết lập BGP
neighbor 172.16.3.1 remote-as 100
neighbor 172.16.3.1 update-source loopback 0
network 1.1.1.1 mask 255.255.255.255 <- Quảng bá loopback 1 vào BGP
exit

4.2. Cấu hình eBGP trên Router-2.

router bgp 100
neighbor 172.16.1.1 remote-as 100
neighbor 172.16.1.1 update-source loopback 0
neighbor 172.16.13.3 remote-as 100
neighbor 172.16.24.4 remote-as 200 <- Thiết lập eBGP sử dụng IP kết nối trực tiếp
network 2.2.2.2 mask 255.255.255.255
exit

4.3. Cấu hình eBGP trên Router-3.

router bgp 100
neighbor 172.16.1.1 remote-as 100
neighbor 172.16.1.1 update-source loopback 0
neighbor 172.16.12.2 remote-as 100
neighbor 172.16.4.1 remote-as 200
neighbor 172.16.4.1 update-source loopback 0 <- Thiết lập eBGP sử dụng địa chỉ loopback 0
neighbor 172.16.4.1 ebgp-multihop <- Mặc định khi cấu hình eBGP TTL = 1 nên ta sử dụng lệnh này để chỉnh TTL lên 255
network 3.3.3.3 mask 255.255.255.255
exit

4.4. Cấu hình eBGP trên Router-4.

router bgp 200
neighbor 172.16.24.2 remote-as 100 <- Thiết lập eBGP sử dụng IP kết nối trực tiếp
neighbor 172.16.3.1 remote-as 100
neighbor 172.16.3.1 update-source loopback 0 <- Thiết lập eBGP sử dụng địa chỉ loopback 0
neighbor 172.16.3.1 ebgp-multihop
network 4.4.4.4 mask 255.255.255.255
exit

5. Kiểm tra.

Kết quả khi show show ip bgp summary.

Router-4#show ip bgp summary
BGP router identifier 172.16.4.1, local AS number 200
BGP table version is 6, main routing table version 6
4 network entries using 560 bytes of memory
7 path entries using 560 bytes of memory
3/3 BGP path/bestpath attribute entries using 432 bytes of memory
1 BGP AS-PATH entries using 24 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP using 1576 total bytes of memory
BGP activity 4/0 prefixes, 7/0 paths, scan interval 60 secs

Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
172.16.3.1      4          100       8      12        5    0    0 00:02:47        3
172.16.24.2     4          100       9       8        5    0    0 00:02:57        3

Kết quả khi show show ip bgp.

Router-4#show ip bgp
BGP table version is 6, local router ID is 172.16.4.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 *   1.1.1.1/32       172.16.3.1                             0 100 i
 *>                   172.16.24.2                            0 100 i
 *   2.2.2.2/32       172.16.3.1                             0 100 i
 *>                   172.16.24.2              0             0 100 i
 *>  3.3.3.3/32       172.16.24.2                            0 100 i
 *                    172.16.3.1               0             0 100 i
 *>  4.4.4.4/32       0.0.0.0                  0         32768 i

Kết quả khi đứng từ Router-4 ping về 1.1.1.1, 2.2.2.2, 3.3.3.3 sử dụng source là loopback 1.

Router-4#ping 1.1.1.1 source 4.4.4.4
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 1.1.1.1, timeout is 2 seconds:
Packet sent with a source address of 4.4.4.4
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms

Router-4#ping 2.2.2.2 source 4.4.4.4
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds:
Packet sent with a source address of 4.4.4.4
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms

Router-4#ping 3.3.3.3 source 4.4.4.4
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 3.3.3.3, timeout is 2 seconds:
Packet sent with a source address of 4.4.4.4
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/2 ms

6. Ứng xử Next hop.

6.1. Yêu cầu.

  • Gỡ bỏ EIGRP trên Router-4 và trên các link đấu nối đến Router-4 của Router-2 và Router-3.
  • Hiệu chỉnh cấu hình BGP đã thực hiện đảm bảo các địa chỉ loopback 1 vẫn thấy nhau từng đôi một.

6.2. Cấu hình.

  • Trên Router-2.
router eigrp 100
no network 172.16.24.2 0.0.0.0

router bgp 100
neighbor 172.16.1.1 next-hop-self <- Để chỉ nexthop là chính router Router-2 khi quảng bá route eBGP vào iBGP
neighbor 172.16.13.3 next-hop-self
  • Trên Router-3, do đã bỏ định tuyến nội nên ta phải dùng static route định tuyến đến loopback 0 của Router-4 để giữ thiết lập eBGP peering khi sử dụng source là interface loopback .
router eigrp 100
no network 172.16.34.2 0.0.0.0

ip route 172.16.4.1 255.255.255.255 172.16.34.4

router bgp 100
neighbor 172.16.1.1 next-hop-self
neighbor 172.16.12.2 next-hop-self
  • Trên Router-4.
no router eigrp 100
ip route 172.16.3.1 255.255.255.255 172.16.34.3
  • Kiểm tra kết quả.
Router-1#show ip bgp
BGP table version is 15, local router ID is 172.16.1.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 *>  1.1.1.1/32       0.0.0.0                  0         32768 i
 *>i 2.2.2.2/32       172.16.2.1               0    100      0 i
 *>i 3.3.3.3/32       172.16.3.1               0    100      0 i
 *>i 4.4.4.4/32       172.16.2.1               0    100      0 200 i
 * i                  172.16.3.1               0    100      0 200

Kết quả check ping từ Router-1 tới loopback 1 của Router-3 và Router-4.

Router-1#ping 2.2.2.2 source 1.1.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds:
Packet sent with a source address of 1.1.1.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms

Router-1#ping 4.4.4.4 source 1.1.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 4.4.4.4, timeout is 2 seconds:
Packet sent with a source address of 1.1.1.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/2 ms

7. Luật synchronzization.

  • Thực hiện bật luât synchronzization trên tất cả các router thuộc AS 100.
  • Hiệu chỉnh cấu hình đã thực hiện ở bước trên để đảm bảo rằng các địa chỉ loopback 1 vẫn đi đến nhau được.

Cấu hình trên Router-1, Router-2, Router-3.

configure terminal
router bgp 100
synchronization
end

clear bgp * all 100

Và trên Router-4.

clear bgp * all 100

Luật synchronzization không sử dụng hoặc quảng bá cho eBGP peer các route được học bởi iBGP cho tới khi các route này cũng được học bởi một giao thức định tuyến iBGP.

Trên Router-1 các route tới loopback 1 của Router-2 và Router-3 được học bởi iBGP nhưng không được học bới bất cứ một giao thức định tuyến nội nào. Vậy các route này sẽ không được sử dụng.

Router-1#show ip bgp
BGP table version is 18, local router ID is 172.16.1.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 *>  1.1.1.1/32       0.0.0.0                  0         32768 i
 * i 2.2.2.2/32       172.16.2.1               0    100      0 i
 * i 3.3.3.3/32       172.16.3.1               0    100      0 i
 * i 4.4.4.4/32       172.16.3.1               0    100      0 200 i
 * i                  172.16.2.1               0    100      0 200 i

Kết quả rỗng khi kiểm tra router tới 2.2.2.2, 3.3.3.3.

Router-1#show ip route 2.2.2.2
% Network not in table

Router-1#show ip route 3.3.3.3
% Network not in table

Và đây là kết quả ping.

Router-1#ping 2.2.2.2 source 1.1.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds:
Packet sent with a source address of 1.1.1.1
.....
Success rate is 0 percent (0/5)

Router-1#ping 3.3.3.3 source 1.1.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 3.3.3.3, timeout is 2 seconds:
Packet sent with a source address of 1.1.1.1
.....
Success rate is 0 percent (0/5)

Trên Router-2 và Router-3 các route tới loopback 1 của Router-1 được học bởi iBGP nhưng không được học bởi một giao thức định tuyến nội nào. Vậy các route này sẽ không được quảng bá cho eBGP peer là Router-4.

Lệnh dưới cho ta thấy không có route nào được học tới loopback 1 của Router-1 (1.1.1.1/32).

Router-4#show ip bgp
BGP table version is 14, local router ID is 172.16.4.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 *>  2.2.2.2/32       172.16.24.2              0             0 100 i
 *>  3.3.3.3/32       172.16.3.1               0             0 100 i
 *>  4.4.4.4/32       0.0.0.0                  0         32768 i

Trên Router-1, Router-2, Router-3 ta tiến hành redistribute vào EIGRP các loopback 1 để các route này lan truyền trong iGP.

router eigrp 100
redistribute bgp 100 metric 1000 10 1 255 1500

Từ Router-1 hãy kiểm tra lại kết quả.

Router-1#ping 2.2.2.2 source 1.1.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds:
Packet sent with a source address of 1.1.1.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms

Router-1#ping 3.3.3.3 source 1.1.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 3.3.3.3, timeout is 2 seconds:
Packet sent with a source address of 1.1.1.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms

Router-1#ping 4.4.4.4 source 1.1.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 4.4.4.4, timeout is 2 seconds:
Packet sent with a source address of 1.1.1.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/2 ms

8. Kết luận.

eBGP (External Border Gateway Protocol) đóng vai trò quan trọng trong việc kết nối và định tuyến giữa các Autonomous Systems (AS) khác nhau trên mạng lưới Internet.

  • Tính Chất Liên Kết AS: eBGP cho phép các AS khác nhau trao đổi thông tin định tuyến và duy trì sự liên kết giữa họ. Điều này làm cho Internet trở thành một mạng lưới toàn cầu và cung cấp đường dẫn để truy cập các mạng khác nhau.
  • AS Path và Đảm Bảo Tính Nhất Quán: AS Path là một yếu tố quan trọng trong eBGP, nó cho biết đường dẫn thông qua các AS trước khi đến đích. AS Path đảm bảo tính nhất quán và ngăn chặn vòng lặp trong quá trình định tuyến.
  • Chính Sách Định Tuyến Tùy Chỉnh: eBGP cho phép các tổ chức và nhà cung cấp dịch vụ Internet thiết lập các chính sách định tuyến tùy chỉnh. Điều này giúp họ kiểm soát cách thông tin định tuyến được truyền đi và nhận từ các AS khác.
  • Tích Hợp Và Quản Lý Mạng: eBGP cung cấp khả năng tích hợp các mạng khác nhau và quản lý định tuyến giữa chúng. Điều này rất quan trọng trong việc xây dựng và duy trì các mạng lớn và phức tạp.
  • Cấu Hình Và Thiết Lập Đơn Giản: eBGP yêu cầu cấu hình địa chỉ IP của neighbor, AS number của neighbor và các tham số BGP cơ bản. Quá trình thiết lập eBGP peering giữa các AS khác nhau có thể được thực hiện một cách đơn giản và hiệu quả.

Như vậy eBGP là một phần quan trọng trong hạ tầng định tuyến của Internet và cho phép sự kết nối và liên kết giữa các AS khác nhau. Nó đóng vai trò quan trọng trong việc duy trì sự nhất quán và tính nhất quán trong định tuyến Internet toàn cầu. Các chính sách định tuyến tùy chỉnh cùng với sự kiểm soát và tích hợp mạng làm cho eBGP trở thành công cụ quan trọng cho các nhà cung cấp dịch vụ Internet và tổ chức quản lý mạng lớn.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

4,956FansLike
256FollowersFollow
223SubscribersSubscribe
spot_img

Related Stories