1. Tổng quan.
BGP Peering (BGP peering) và iBGP (Internal Border Gateway Protocol) là hai khái niệm liên quan đến Border Gateway Protocol (BGP), một giao thức định tuyến được sử dụng trong mạng lưới Internet và trong các mạng lớn.
BGP Peering là quá trình kết nối và trao đổi thông tin định tuyến giữa các router, trong khi iBGP là một phần của BGP được sử dụng để đảm bảo tính nhất quán trong việc định tuyến BGP trong một Autonomous System (AS) cụ thể.
- BGP Peering (BGP Peering):
- BGP Peering là quá trình thiết lập kết nối giữa hai hoặc nhiều thiết bị định tuyến sử dụng BGP để trao đổi thông tin định tuyến.
- BGP peering có thể xảy ra giữa các router thuộc các tổ chức hoặc mạng khác nhau. Các router trong BGP peering giao tiếp với nhau để chia sẻ thông tin về tiền tố mạng (prefixes) và các đường dẫn đến các mạng đó.
- Có hai loại chính của BGP peering: eBGP (External BGP) và iBGP (Internal BGP).
- iBGP (Internal Border Gateway Protocol):
- iBGP là một phần của BGP, được sử dụng để thiết lập kết nối BGP giữa các router trong cùng một Autonomous System (AS).
- Autonomous System (AS) 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 quản lý bởi một nhà cung cấp dịch vụ Internet (ISP).
- iBGP là cơ chế để trao đổi thông tin định tuyến và đảm bảo tính nhất quán trong việc định tuyến BGP trong một AS. Router iBGP trong cùng một AS trao đổi thông tin về các tiền tố mạng và đường dẫn BGP trong AS, đặc biệt những đường dẫn mà các router eBGP trong AS không thể biết được.
2. Mô tả.
- Sơ đồ lab gồm 4 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 BGP.
- 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.
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 iBGP.
4.1. Yêu cầu.
- Cấu hình cho tất cả các thiết bị tham gia BGP AS100.
- Cấu hình BGP sử dụng AS100 trên các thiết bị . Thiết lập iBGP full-mesh peering giữa các thiết bị sử dụng source là các interface loopback 0.
- Tạo thêm loopback 1 trên các router và đặt địa chỉ IP theo định dạng: trên route Rn lấy giá trị là n.n.n.n/32. Quảng bá loopback 1 vào BGP.
- Kiểm tra rằng mỗi router đều đi được đến các loopback 1 của tất cả các router còn lại, sử dụng source là IP trên interface loopback 1 của mình.
4.2. Cấu hình 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
neighbor 172.16.4.1 remote-as 100
neighbor 172.16.4.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.3. Cấu hình trên Router-2.
Tạo và đặt IP cho loopback 1.
configure terminal
interface loopback 1
ip address 2.2.2.2 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.1.1 remote-as 100
neighbor 172.16.1.1 update-source loopback 0
neighbor 172.16.3.1 remote-as 100
neighbor 172.16.3.1 update-source loopback 0
neighbor 172.16.4.1 remote-as 100
neighbor 172.16.4.1 update-source loopback 0
network 2.2.2.2 mask 255.255.255.255
exit
4.4. Cấu hình trên Router-3.
Tạo và đặt IP cho loopback 1.
configure terminal
interface loopback 1
ip address 3.3.3.3 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.1.1 remote-as 100
neighbor 172.16.1.1 update-source loopback 0
neighbor 172.16.2.1 remote-as 100
neighbor 172.16.2.1 update-source loopback 0
neighbor 172.16.4.1 remote-as 100
neighbor 172.16.4.1 update-source loopback 0
network 3.3.3.3 mask 255.255.255.255
exit
4.5. Cấu hình trên Router-4.
Tạo và đặt IP cho loopback 1.
configure terminal
interface loopback 1
ip address 4.4.4.4 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.1.1 remote-as 100
neighbor 172.16.1.1 update-source loopback 0
neighbor 172.16.2.1 remote-as 100
neighbor 172.16.2.1 update-source loopback 0
neighbor 172.16.3.1 remote-as 100
neighbor 172.16.3.1 update-source loopback 0
network 4.4.4.4 mask 255.255.255.255
exit
4.6. Kiểm tra kết quả.
Lệnh này hiển thị tóm tắt về các kết nối BGP (Border Gateway Protocol) của router đó.
- Neighbor: Đây là địa chỉ IP của các neighbor (hàng xóm) BGP mà router này đang kết nối.
- V: Đây là phiên bản của BGP mà neighbor sử dụng. Trong trường hợp này, “4” đại diện cho BGP phiên bản 4.
- AS: AS (Autonomous System) là một con số duy nhất được gán cho mỗi mạng hoặc tổ chức tham gia vào mạng lưới Internet. Cột này cho biết AS mà neighbor sử dụng.
- MsgRcvd: Số lượng messager BGP đã nhận từ neighbor trong phiên kết nối này.
- MsgSent: Số lượng messager BGP đã gửi đến neighbor trong phiên kết nối này.
- TblVer: Phiên bản của bảng định tuyến BGP. Đây là một cách để theo dõi sự thay đổi trong bảng định tuyến.
- InQ: Số lượng messager BGP đang ở trong hàng đợi đến để được xử lý bởi router từ neighbor này.
- OutQ: Số lượng messager BGP đang ở trong hàng đợi để được gửi đến neighbor này.
- Up/Down: Thời gian kết nối BGP này đã hoạt động hoặc đã ngừng hoạt động (up/down).
- State/PfxRcd: Trạng thái hiện tại của kết nối BGP và số lượng tiền tố (prefixes) được nhận từ neighbor. Trạng thái có thể là “Established” (Đã thiết lập) hoặc các giá trị khác tùy thuộc vào tình trạng kết nối.
Trong trường hợp này, có ba neighbor BGP với địa chỉ IP lần lượt là 172.16.2.1, 172.16.3.1 và 172.16.4.1. Tất cả đều đang hoạt động ổn định (Established) và đang trao đổi prefix với mỗi neighbor.
Router-1# show ip bgp summary
BGP router identifier 172.16.1.1, local AS number 100
BGP table version is 7, main routing table version 7
4 network entries using 560 bytes of memory
4 path entries using 320 bytes of memory
2/2 BGP path/bestpath attribute entries using 288 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 1168 total bytes of memory
BGP activity 5/1 prefixes, 5/1 paths, scan interval 60 secs
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
172.16.2.1 4 100 5 9 7 0 0 00:01:57 1
172.16.3.1 4 100 5 8 7 0 0 00:01:10 1
172.16.4.1 4 100 5 7 7 0 0 00:00:35 1
Đây là một bảng thông tin về các prefix mà router đó biết đến thông qua BGP.
- Network: Đây là địa chỉ IP, subnet hoặc prefix mà router biết đến thông qua BGP.
- Next Hop: Đây là địa chỉ IP của nexthop chỉ đường cho Network đi tiếp. Trong trường hợp 1.1.1.1/32 nexthop là “0.0.0.0,” có nghĩa là IP này là IP tự định tuyến (locally originated) vì nó chính là địa chỉ IP của Local. Các IP còn lại có nexthop là các địa chỉ IP của neighbor BGP.
- Metric: Metric (còn được gọi là BGP attribute) cho biết giá trị metric của IP này. Trong trường hợp này, metric của tất cả các IP là “0.”
- LocPrf: Local Preference (LocPrf) là một giá trị BGP attribute cho biết sự ưu tiên của router trong việc chọn IP để gửi dữ liệu. Trong đầu ra này, giá trị LocPrf của tất cả các tiền tố là “32768” hoặc “100.”
- Weight: Weight là một giá trị định tuyến cụ thể của mạng dựa trên cấu hình BGP. Trong đầu ra này, giá trị Weight của tất cả các IP là “0.”
- Path: Path cho biết Path BGP đến tiền tố đó. Các ký tự “i” trước mỗi Path (“i” ở dưới dạng “*>i”) cho biết rằng Path này là internal BGP (iBGP). Các Path này là các Path BGP local trong mạng của router.
Kết quả của lệnh này này hiển thị các prefix BGP và thông tin về cách router xử lý chúng, bao gồm nexthop, metric, local preference, weight và Path BGP.
Router-1#show ip bgp
BGP table version is 7, 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.4.1 0 100 0 i
Và đây là kết quả ping tới loopback của các Router trong mạng iBGP sử dụng source là loopback 1.
Router-1#ping 2.2.2.2 source loopback 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 loopback 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/2 ms
Router-1#ping 4.4.4.4 source loopback 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/1 ms
5. Kết luận.
Trong bài viết này, chúng ta đã khám phá hai khái niệm quan trọng trong Border Gateway Protocol (BGP): BGP Peering và iBGP. BGP Peering là quá trình thiết lập kết nối giữa các thiết bị định tuyến sử dụng BGP để trao đổi thông tin định tuyến, và nó có thể xảy ra giữa các tổ chức hoặc mạng khác nhau. Chúng ta đã thấy rằng có hai loại chính của BGP Peering: eBGP và iBGP.
iBGP, được giới thiệu như một phần của BGP, tập trung vào việc định tuyến BGP trong một Autonomous System (AS). AS là một tập hợp các mạng và thiết bị định tuyến quản lý bởi cùng một tổ chức hoặc nhà cung cấp dịch vụ Internet. iBGP đảm bảo tính nhất quán trong việc định tuyến BGP bên trong AS bằng cách cho phép các router iBGP trao đổi thông tin về các tiền tố mạng và đường dẫn BGP.
Việc hiểu rõ về BGP Peering và iBGP là quan trọng để xây dựng và duy trì mạng lưới Internet hoặc mạng lớn hiệu quả. Chúng giúp đảm bảo sự liên kết giữa các mạng và tổ chức, cung cấp độ tin cậy và tính nhất quán trong định tuyến, và đóng vai trò quan trọng trong việc quản lý và bảo vệ mạng lưới Internet trước các thách thức định tuyến.
Tóm lại, BGP Peering và iBGP là những khía cạnh quan trọng của mạng lưới Internet, và kiến thức về chúng đóng vai trò quan trọng trong việc hiểu và quản lý hệ thống định tuyến mạng lưới Internet và mạng lớn hiện đại.