MỤC LỤC


ĐỊNH TUYẾN BGP GIỮA 3 ROUTER CISCO

14 - ĐỊNH NGHĨA ĐỊNH TUYẾN BGP, CÁCH THỨC ĐỊNH TUYẾN BGP GIỮA 3 ROUTER CISCO

I. ĐỊNH NGHĨA VỀ ĐỊNH TUYẾN BGP

Trong kiến trúc mạng máy tính, đặc biệt là hạ tầng Internet toàn cầu, BGP (Border Gateway Protocol - Giao thức định tuyến biên) là giao thức định tuyến động quan trọng nhất. Nếu OSPF hay EIGRP được ví như hệ thống định vị GPS dẫn đường trong một thành phố, thì BGP chính là bản đồ định tuyến nối liền các quốc gia và châu lục với nhau.

Dưới đây là định nghĩa chi tiết và các đặc điểm cốt lõi của BGP:

1. Định nghĩa về BGP

BGP (Border Gateway Protocol) là giao thức định tuyến dạng Path-Vector được thiết kế để trao đổi thông tin định tuyến giữa các Hệ thống tự trị (Autonomous System - AS) trên mạng Internet.

Hệ thống tự trị (AS) là gì > Đó là một tập hợp các mạng máy tính thuộc sự quản lý của một tổ chức duy nhất (như các nhà mạng Viettel, VNPT, FPT, hoặc các tập đoàn công nghệ lớn như Google, Microsoft). Mỗi AS sẽ được cấp một số định danh duy nhất gọi là ASN (Autonomous System Number).

BGP không sử dụng các thông số như số lượng hop (của RIP) hay băng thông (như OSPF) để tính toán đường đi ngắn nhất. Thay vào đó, nó đưa ra quyết định định tuyến dựa trên đường đi qua các AS (AS-Path) và các quy tắc thiết lập chính sách (Policies) của người quản trị.

2. Phân loại BGP

BGP được chia làm hai loại chính dựa trên vị trí thiết lập mối quan hệ láng giềng (Neighbor/Peer):

External BGP (eBGP): Dùng để chạy giữa các router thuộc hai AS khác nhau (ví dụ: kết nối giữa router biên của công ty bạn với router của nhà mạng ISP). Đây là ứng dụng cốt lõi của BGP để định tuyến trên Internet.

Internal BGP (iBGP): Dùng để chạy giữa các router thuộc cùng một AS. iBGP được sử dụng nhằm mục đích đồng bộ và truyền tuyến đường nhận được từ một AS bên ngoài xuyên qua mạng nội bộ để đến một router biên khác trong cùng hệ thống.

3. Các đặc điểm đặc trưng của BGP

Giao thức dựa trên Chính sách (Policy-Based Routing): BGP là giao thức duy nhất cho phép người quản trị can thiệp sâu sắc vào việc chọn đường dựa trên các yếu tố kinh doanh và bảo mật (ví dụ: "Tôi muốn lưu lượng đi sang Mỹ phải ưu tiên qua hướng nhà mạng A vì chi phí rẻ hơn, chỉ khi nhà mạng A đứt mới đi qua nhà mạng B").

Sử dụng giao thức TCP: Khác với OSPF hay EIGRP chạy trực tiếp trên lớp Network, BGP thiết lập kết nối láng giềng thông qua giao thức TCP ở lớp Transport qua Port 179. Điều này đảm bảo việc truyền tải bảng định tuyến khổng lồ của Internet luôn tin cậy và không bị mất mát dữ liệu.

Cập nhật dạng Incremental (Bảo toàn băng thông): Sau khi các router thiết lập kết nối peer và trao đổi toàn bộ bảng định tuyến ban đầu (Full routing table), BGP sẽ không gửi lại toàn bộ bảng này định kỳ. Nó chỉ gửi cập nhật (Triggered Updates) khi có sự thay đổi (thêm mạng mới hoặc mất kết nối).

Chỉ số AD (Administrative Distance) trên thiết bị Cisco: * eBGP: AD = 20 (Rất tin cậy, ưu tiên cao hơn các giao thức nội vùng như OSPF/EIGRP).

*iBGP: AD = 200 (Thường thấp hơn các giao thức nội vùng để tránh hiện tượng lặp vòng lặp định tuyến - Routing Loop).

II. ỨNG DỤNG CỦA ĐỊNH TUYẾN BGP:

Định tuyến EGP (Exterior Gateway Protocol) nói chung—và đại diện duy nhất đang hoạt động hiện nay là BGP (Border Gateway Protocol)—đóng vai trò là "bản đồ điều hướng" toàn bộ lưu lượng dữ liệu trên quy mô Internet.

Trái ngược với các giao thức IGP (như OSPF, EIGRP) dùng để định tuyến bên trong một tổ chức, EGP được thiết kế để kết nối và định tuyến giữa các Hệ thống nhà mạng hoặc các doanh nghiệp đa quốc gia (Autonomous Systems - AS).

1. Định tuyến Internet toàn cầu (Core Internet Routing)

Đây là ứng dụng cốt lõi và quan trọng nhất. Internet là tập hợp của hàng chục nghìn mạng độc lập (ISP, tập đoàn lớn, trường đại học) được định danh bằng các số AS (Autonomous System Number).

Ứng dụng: BGP giúp các nhà cung cấp dịch vụ Internet (ISP) trao đổi thông tin định tuyến với nhau, từ đó tìm ra đường đi tối ưu cho các gói tin xuyên quốc gia và châu lục.

Nếu không có EGP, Internet sẽ bị chia cắt thành các "đảo mạng" cô lập và không thể giao tiếp với nhau.

2. Kết nối đa đường cho Doanh nghiệp lớn (Enterprise Multihoming)

Đối với các doanh nghiệp, ngân hàng hoặc tổ chức lớn, việc mất kết nối Internet là một thảm họa. Họ không thể phụ thuộc vào một ISP duy nhất.

Ứng dụng: Doanh nghiệp sẽ thuê đường truyền từ 2 hoặc nhiều ISP khác nhau (Multihoming) và chạy BGP để kết nối với họ.

Lợi ích: * Dự phòng (Redundancy): Nếu một ISP gặp sự cố (đứt cáp quang, lỗi hệ thống), BGP sẽ tự động chuyển hướng toàn bộ lưu lượng sang ISP còn lại trong vài giây.

* Cân bằng tải (Load Balancing): Điều phối lưu lượng đi/đến qua các ISP khác nhau dựa trên chính sách để tối ưu hóa băng thông.

3. Triển khai mạng riêng ảo MPLS VPN (Layer 3 VPN)

Trong môi trường enterprise, các nhà mạng sử dụng BGP (cụ thể là MP-BGP - Multi-Protocol BGP) để cung cấp dịch vụ mạng riêng ảo lớp 3 cho khách hàng.

Ứng dụng: Kết nối các chi nhánh, văn phòng hoặc nhà máy của một tập đoàn (nằm ở các vị trí địa lý khác nhau) thành một mạng nội bộ bảo mật duy nhất chạy trên hạ tầng của nhà mạng.

BGP chịu trách nhiệm truyền tải và phân tách thông tin định tuyến của từng khách hàng riêng biệt, đảm bảo tính an toàn và cô lập dữ liệu.

4. Kết nối hạ tầng Cloud (Hybrid Cloud & Multi-Cloud)

Khi các doanh nghiệp dịch chuyển hệ thống lên các nền tảng điện toán đám mây như AWS, Microsoft Azure, hoặc Google Cloud, họ cần một kết nối ổn định và bảo mật từ Datacenter mặt đất lên Cloud.

Ứng dụng: Các dịch vụ kết nối chuyên dụng như AWS Direct Connect hay Azure ExpressRoute đều bắt buộc sử dụng BGP để thiết lập định tuyến động giữa Router của doanh nghiệp và Router của nhà cung cấp Cloud.

Điều này giúp hệ thống Hybrid Cloud hoạt động liền mạch, tự động cập nhật các dải IP mới khi doanh nghiệp mở rộng hạ tầng trên Cloud.

5. Ứng dụng tại các Điểm trao đổi Internet (IXP - Internet Exchange Points)

Các trung tâm dữ liệu lớn và các IXP (nơi các ISP, các ông lớn công nghệ như Google, Facebook, Netflix gặp nhau để trao đổi lưu lượng) phụ thuộc hoàn toàn vào EGP.

Ứng dụng: BGP cho phép các bên thiết lập quan hệ kết nối trực tiếp (Peering). Thay vì phải truyền dữ liệu vòng vèo qua các ISP trung gian, Google và một ISP tại Việt Nam có thể trao đổi dữ liệu trực tiếp với nhau qua BGP tại IXP, giúp giảm độ trễ (latency) tối đa và tiết kiệm chi phí băng thông quốc tế.

III. CÁCH THỨC ĐỊNH TUYẾN BGP GIỮA 3 ROUTER CISCO

Để cung cấp một hướng dẫn chi tiết, chúng ta cần xác định rõ ràng mối quan hệ giữa ba router này:

Tất cả 3 router thuộc cùng một Autonomous System (AS)? Trong trường hợp này, chúng ta sẽ cấu hình IBGP.

Mỗi router thuộc một AS khác nhau? Trong trường hợp này, chúng ta sẽ cấu hình EBGP.

Một router thuộc một AS, và hai router còn lại thuộc một AS khác? Đây là một kịch bản kết hợp.

Tôi sẽ cung cấp hướng dẫn cho hai trường hợp phổ biến nhất: tất cả 3 router thuộc cùng một AS (IBGP) và mỗi router thuộc một AS khác nhau (EBGP).

Giả định cấu trúc mạng (tương tự như trước):

R1 (AS 65001):

Interface Ethernet0/0: Kết nối với R2, địa chỉ IP 10.1.1.1/24

Interface Loopback0: Địa chỉ IP 192.168.1.1/32 (mạng LAN 1)

R2 (AS 65002):

Interface Ethernet0/0: Kết nối với R1, địa chỉ IP 10.1.1.2/24

Interface Ethernet0/1: Kết nối với R3, địa chỉ IP 10.1.2.1/24

Interface Loopback0: Địa chỉ IP 192.168.2.1/32 (mạng LAN 2)

R3 (AS 65003):

Interface Ethernet0/0: Kết nối với R2, địa chỉ IP 10.1.2.2/24

Interface Loopback0: Địa chỉ IP 192.168.3.1/32 (mạng LAN 3)

Trường hợp 1: Tất cả 3 router thuộc cùng một Autonomous System (IBGP - AS 65000)

Trong IBGP, tất cả các router trong cùng một AS cần thiết lập quan hệ láng giềng BGP đầy đủ (full mesh) hoặc sử dụng các kỹ thuật như Route Reflector hoặc Confederation để tránh full mesh. Để đơn giản, chúng ta sẽ cấu hình full mesh. Chúng ta sẽ sử dụng địa chỉ Loopback làm địa chỉ nguồn và đích cho các phiên BGP để tăng tính ổn định.

Cấu hình trên R1 (AS 65000):

FdcRcisco01> enable

FdcRcisco01# configure terminal

FdcRcisco01(config)#

FdcRcisco01(config)# interface Loopback0

FdcRcisco01(config-if)# ip address 192.168.1.1 255.255.255.255

FdcRcisco01(config)# router bgp 65000

FdcRcisco01(config-route)# neighbor 192.168.2.1 remote-as 65000

FdcRcisco01(config-route)# neighbor 192.168.2.1 update-source Loopback0

FdcRcisco01(config-route)# neighbor 192.168.3.1 remote-as 65000

FdcRcisco01(config-route)# neighbor 192.168.3.1 update-source Loopback0

FdcRcisco01(config-route)# network 192.168.1.0 mask 255.255.255.0

FdcRcisco01(config-route)# auto-summary

FdcRcisco01(config-route)# end

FdcRcisco01# write memory

Cấu hình trên R2 (AS 65000):

FdcRcisco02> enable

FdcRcisco02# configure terminal

FdcRcisco02(config)#

FdcRcisco02(config)# interface Loopback0

FdcRcisco02(config-if)# ip address 192.168.2.1 255.255.255.255

FdcRcisco02(config)# router bgp 65000

FdcRcisco02(config-route)# neighbor 192.168.1.1 remote-as 65000

FdcRcisco02(config-route)# neighbor 192.168.1.1 update-source Loopback0

FdcRcisco02(config-route)# neighbor 192.168.3.1 remote-as 65000

FdcRcisco02(config-route)# neighbor 192.168.3.1 update-source Loopback0

FdcRcisco02(config-route)# network 192.168.2.0 mask 255.255.255.0

FdcRcisco02(config-route)# auto-summary

FdcRcisco02(config-route)# end

FdcRcisco02# write memory

Cấu hình trên R3 (AS 65000):

FdcRcisco03> enable

FdcRcisco03# configure terminal

FdcRcisco03(config)#

FdcRcisco03(config)# interface Loopback0

FdcRcisco03(config-if)# ip address 192.168.3.1 255.255.255.255

FdcRcisco03(config)# router bgp 65000

FdcRcisco03(config-route)# neighbor 192.168.1.1 remote-as 65000

FdcRcisco03(config-route)# neighbor 192.168.1.1 update-source Loopback0

FdcRcisco03(config-route)# neighbor 192.168.2.1 remote-as 65000

FdcRcisco03(config-route)# neighbor 192.168.2.1 update-source Loopback0

FdcRcisco03(config-route)# network 192.168.3.0 mask 255.255.255.0

FdcRcisco03(config-route)# auto-summary

FdcRcisco03(config-route)# end

FdcRcisco03# write memory

Giải thích cấu hình IBGP:

router bgp <as-number>: Bật tiến trình BGP với số AS là 65000.

neighbor <neighbor-ip-address> remote-as <neighbor-as-number>: Xác định router láng giềng BGP và số AS của nó (trong trường hợp IBGP, nó giống với AS cục bộ). Chúng ta sử dụng địa chỉ Loopback của các router làm địa chỉ láng giềng.

neighbor <neighbor-ip-address> update-source Loopback0: Chỉ định interface Loopback0 làm địa chỉ nguồn cho các bản cập nhật BGP, giúp phiên BGP ổn định hơn.

network <network-address> mask <network-mask>: Quảng bá các mạng nội bộ.

auto-summary: Lệnh này có thể ảnh hưởng đến việc quảng bá subnet. Trong môi trường có subnetting, bạn có thể cần điều chỉnh hoặc sử dụng no auto-summary tùy theo yêu cầu.

Trường hợp 2: Mỗi router thuộc một Autonomous System khác nhau (EBGP - R1 AS 65001, R2 AS 65002, R3 AS 65003)

Trong EBGP, các router thiết lập quan hệ láng giềng với các router thuộc AS khác. Thông thường, các phiên EBGP được thiết lập giữa các interface vật lý kết nối trực tiếp.

Cấu hình trên R1 (AS 65001):

FdcRcisco01> enable

FdcRcisco01# configure terminal

FdcRcisco01(config)#

FdcRcisco01(config)# interface Ethernet0/0

FdcRcisco01(config-if)# ip address 10.1.1.1 255.255.255.0

FdcRcisco01(config-if)# no shutdown

FdcRcisco01(config)# interface Loopback0

FdcRcisco01(config-if)# ip address 192.168.1.1 255.255.255.255

FdcRcisco01(config)# router bgp 65001

FdcRcisco01(config-route)# neighbor 10.1.1.2 remote-as 65002

FdcRcisco01(config-route)# network 192.168.1.0 mask 255.255.255.0

FdcRcisco01(config-route)# auto-summary

FdcRcisco01(config-route)# end

FdcRcisco01# write memory

Cấu hình trên R2 (AS 65002):

FdcRcisco02> enable

FdcRcisco02# configure terminal

FdcRcisco02(config)#

FdcRcisco02(config)# interface Ethernet0/0

FdcRcisco02(config-if)# ip address 10.1.1.2 255.255.255.0

FdcRcisco02(config-if)# no shutdown

FdcRcisco02(config)# interface Ethernet0/1

FdcRcisco02(config-if)# ip address 10.1.2.1 255.255.255.0

FdcRcisco02(config-if)# no shutdown

FdcRcisco02(config)# interface Loopback0

FdcRcisco02(config-if)# ip address 192.168.2.1 255.255.255.255

FdcRcisco02(config)# router bgp 65002

FdcRcisco02(config-route)# neighbor 10.1.1.1 remote-as 65001

FdcRcisco02(config-route)# neighbor 10.1.2.2 remote-as 65003

FdcRcisco02(config-route)# network 192.168.2.0 mask 255.255.255.0

FdcRcisco02(config-route)# auto-summary

FdcRcisco02(config-route)# end

FdcRcisco02# write memory

Cấu hình trên R3 (AS 65003):

FdcRcisco03> enable

FdcRcisco03# configure terminal

FdcRcisco03(config)#

FdcRcisco03(config)# interface Ethernet0/0

FdcRcisco03(config-if)# ip address 10.1.2.2 255.255.255.0

FdcRcisco03(config-if)# no shutdown

FdcRcisco03(config)# interface Loopback0

FdcRcisco03(config-if)# ip address 192.168.3.1 255.255.255.255

FdcRcisco03(config)# router bgp 65003

FdcRcisco03(config-route)# neighbor 10.1.2.1 remote-as 65002

FdcRcisco03(config-route)# network 192.168.3.0 mask 255.255.255.0

FdcRcisco03(config-route)# auto-summary

FdcRcisco03(config-route)# end

FdcRcisco03# write memory

Giải thích cấu hình EBGP:

router bgp <as-number>: Bật tiến trình BGP với số AS tương ứng của router.

neighbor <neighbor-ip-address> remote-as <neighbor-as-number>: Xác định router láng giềng BGP và số AS của nó. Trong EBGP, số AS này sẽ khác với AS cục bộ. Chúng ta sử dụng địa chỉ IP của các interface kết nối trực tiếp làm địa chỉ láng giềng.

network <network-address> mask <network-mask>: Quảng bá các mạng nội bộ.

auto-summary: Tương tự như IBGP, cần xem xét ảnh hưởng của lệnh này trong môi trường subnetting.

Bước 3: Kiểm tra cấu hình và bảng định tuyến BGP

Sau khi cấu hình, bạn có thể sử dụng các câu lệnh sau để kiểm tra:

show ip bgp neighbors: Hiển thị trạng thái của các phiên BGP láng giềng. Trạng thái Established cho biết phiên BGP đã được thiết lập thành công.

show ip bgp: Hiển thị bảng định tuyến BGP, chứa các tiền tố mạng mà router đã học được thông qua BGP.

show ip route bgp: Hiển thị các tuyến đường BGP trong bảng định tuyến IP.

show ip protocols: Hiển thị thông tin về các giao thức định tuyến đang chạy, bao gồm BGP.

Lưu ý quan trọng về BGP:

Autonomous System Number (AS Number): Rất quan trọng và phải được cấu hình chính xác. Các AS number được chia thành Private AS (64512-65535) và Public AS (được cấp phát bởi các tổ chức quản lý Internet).

Quan hệ láng giềng: Cần được cấu hình chính xác với địa chỉ IP và số AS của láng giềng.

Địa chỉ nguồn cập nhật (Update Source): Trong IBGP, việc sử dụng địa chỉ Loopback làm nguồn cập nhật giúp tăng tính ổn định.

Network Statement: Cần khai báo chính xác các mạng bạn muốn quảng bá.

iBGP Full Mesh: Trong một AS, tất cả các router IBGP thường cần thiết lập quan hệ láng giềng với nhau (full mesh). Với số lượng router lớn, điều này có thể trở nên khó quản lý, và các giải pháp như Route Reflector hoặc Confederation được sử dụng.

eBGP Peering: Các phiên EBGP thường được thiết lập giữa các router trực tiếp kết nối thuộc các AS khác nhau.

BGP Attributes: BGP sử dụng nhiều thuộc tính để xác định đường đi tốt nhất. Hiểu rõ các thuộc tính này (ví dụ: AS Path, Local Preference, MED) rất quan trọng cho việc cấu hình và xử lý sự cố BGP.

DANH MỤC SẢN PHẨM

XEM TẤT CẢ >>

Zalo