Tải bản đầy đủ (.doc) (19 trang)

giao thức định tuyến liên vùng BGP

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (461.8 KB, 19 trang )

MỤC LỤC

Table of Contents
Table of Contents..............................................................................................................1
CHƯƠNG 1.......................................................................................................................2
GIỚI THIỆU TỔNG QUAN VỀ GIAO THỨC BGP......................................................2
1.1 Giới thiệu.................................................................................................................2
CHƯƠNG 2.......................................................................................................................3
CÁC THUỘC TÍNH VÀ THUẬT NGỮ SỬ DỤNG TRONG BGP..............................4
2.1 Định nghĩa Autonomous System (AS)...................................................................5
2.2 Thuộc tính Autonomous system path (AS_PATH)...............................................5
2.3 Thuộc tính WEIGHT..............................................................................................6
2.4 Thuộc tính Local Preference (LOCAL_PREF)......................................................7
2.5 Thuộc tính Metric hay MULTI_EXIT_DISC (MED)...........................................8
2.6 Thuộc tính ORIGIN................................................................................................9
2.7 Thuộc tính NEXT_HOP.......................................................................................10
2.8 Thuộc tính Community.........................................................................................10
CHƯƠNG 3.....................................................................................................................11
HOẠT ĐỘNG CỦA BGP...............................................................................................11
3.1 Hoạt động của BGP..............................................................................................11
3.2 Cấu trúc thông báo của BGP................................................................................12
KẾT LUẬN.....................................................................................................................18
TÀI LIỆU THAM KHẢO..............................................................................................18

1


CHƯƠNG 1
GIỚI THIỆU TỔNG QUAN VỀ GIAO THỨC BGP
1.1 Giới thiệu.
BGP, viết tắt của từ tiếng Anh Border Gateway Protocol, là giao thức định tuyến nòng cốt trên


Internet. Nó hoạt động dựa trên việc cập nhật một bảng chứa các địa chỉ mạng và cho biết mối liên kết
giữa các hệ tự trị. BGP là giao thức vector đường đi (path vector). Khác với các giao thức định tuyến
khác như RIP (vector độ dài), OSPF (trạng thái liên kết), BGP định tuyến bằng một tập các chính sách
và luật. Phiên bản BGP hiện nay là phiên bản 4, dựa trên RFC 4271. BGP hỗ trợ định tuyến liên vùng
phi lớp (CIDR Classless Inter-Domain Routing) và dùng kỹ thuật kết hợp tuyến để giảm kích thước
bảng định tuyến (ví dụ nếu một mạng chiếm 255 địa chỉ lớp C từ 203.162.0.0/24 - 203.162.254.0/24
thì chỉ dùng 1 địa chỉ 203.162.0.0/16 để định danh mạng). Ngoài việc sử dụng BGP giữa các AS, BGP
cũng có thể được sử dụng trong các mạng riêng quy mô lớn do OSPF không đáp ứng được. Một lý do
khác là dùng BGP để hỗ trợ kết nối đến nhiều nhà cung cấp dịch vụ. Đa số người sử dụng Internet
thường không sử dụng BGP một cách trực tiếp. Chỉ có các nhà cung cấp dịch vụ Internet sử dụng BGP
để trao đổi đường đi. BGP là một trong những giao thức quan trọng nhất đảm bảo tính kết nối của
Internet.
Như đã nói ở trên BGP là một giao thức khá phức tạp được dùng nhiều trên Internet và trong
các công ty đa quốc gia. Mục đích chính của BGP là kết nối các mạng rất lớn hoặc các AutonomousSystem. Các công ty lớn có thể dùng BGP như là một kết nối giữa các mạng ở các quốc gia khác nhau.
BGP là giao thức không chỉ tìm ra một tuyến đi về một mạng nào đó mà còn cho phép người quản trị
tìm ra các AS của các mạng. Các giao thức như EIGRP, RIP, OSPF và ISIS sẽ tìm ra tuyến mà người
quản trị cần.
Vấn đề đầu tiên đặt ra cho các nhà quản lý là là bằng cách nào có thể định tuyến khi gặp một
trong các rường hợp sau :
- Một AS cho phép chuyển tiếp gói tin qua nó để đến các AS khác
- Một AS có nhiều kết nối đến AS khác
- Lưu lượng thông tin vào ra trên AS đó cần được xử lí
Khi đó giải pháp được ưu tiên hàng đầu chính là BGP
Không nên sử dụng BGP cho việc định tuyến khi nào ? BGP là một giao thức khá phức tạp và
được sử dụng trên internet và trong các công ty lớn. Vì lí dó đó BGP được khuyến cáo là không nên sử
dụng khi tồn tại một trong các điều kiện dưới đây :
- Chỉ có một kết nối đơn đến Internet hoặc đến AS khác

2



- Chính sách định tuyến và lựa chọn tuyến không liên quan gì đến AS của người sử dụng
- Tài nguyên mạng là có giới hạn: tài nguyên về bộ nhớ và khả năng xử lí của CPU trên
router.
- Quản trị mạng thiếu kinh nghiệm, hiểu biết đối với giao thức BGP trong việc chọn, lọc tuyến
- Băng thông giữa các AS là thấp và các phí tổn cho định tuyến sẽ ảnh hưởng đến quá trình
chuyển dữ liệu. Giải pháp để xử lí vấn đề khi không sử dụng BGP để định tuyến là sử dụng tuyến tĩnh
(static route)

CHƯƠNG 2

3


CÁC THUỘC TÍNH VÀ THUẬT NGỮ SỬ DỤNG TRONG BGP
BGP định tuyến bằng cách sử dụng các thuộc tính. Quá trình định tuyến dựa trên những thuộc
tính và các giá trị của nó. Các thuộc tính được chia thành 4 nhóm: nhóm well-known mandatory ,
well-known discretionary, optional transitive và optional nontrasitive. Các thuộc tính đó được mô tả kĩ
trong bảng dưới đây :
Nhóm

MÔ TẢ

Well-known mandatory
Well-known Discretionary

Optional Transitive

Optional Nontransitive


Các thuộc tính này là bắt buộc và được công nhận bởi tất cả các router
BGP
Không yêu cầu các thuộc tính này tồn tại trong các cập nhật nhưng nếu
chúng tồn tại, tất cả các router sẽ công nhận và sẽ có hành động tương
ứng dựa trên thông tin được chứa bên trong thuộc tính này.
Router có thể không công nhận các thuộc tính này nhưng nếu router
nhận được thuộc tính này, nó sẽ đánh dấu và gửi đầy đủ cập nhật này
đến router kế tiếp. Các thuộc tính sẽ không thay đổi khi đi qua router
nếu thuộc tính này không được công nhận bởi router.
Các thuộc tính này bị loại bỏ nếu cập nhật mang thuộc tính này đi vào
router mà router không hiểu hoặc không công nhận thuộc tính. Các
thuộc tính này sẽ không truyền tới các BGP.

Bốn nhóm trên mô tả một cách tổng quát các thuộc tính của BGP. Ứng với mỗi nhóm đó ta sẽ đi
sâu nghiên cứu các đặc tính cụ thể của từng loại thuộc tính trong nhóm .
Attribute Name

Attribute Type

Description

AS_PATH

Well-known
mandatory

Danh sách các AS mà tuyến được quảng bá thông qua nó

WEIGHT


Cisco defined
attribute

Được sử dụng để định tuyến trong BGP

LOCAL_PREF

Well-known
discretionary

Được sử dụng để chọn tuyến, thường được sử dụng trong
một AS

MULTI_EXIT_DISC

Optional
nontransitive

Được sử dụng để chọn tuyến, thường được sử dụng giữa
các AS

ORIGIN

Well-known
mandatory

Chỉ ra các tuyến BGP được học như thế nào
IGP— Từ câu lệnh Network
EGP— Từ EBGP hàng xóm
Incomplete— Từ redistribution


NEXT_HOP

Well-known
mandatory

EBGP— Địa chỉ của giao diện được sử dụng để truyền

thông với hàng xóm bên khác
IBGP— EBGP next hop được gửi và không thay đổi khi
tới các IBGP hàng xóm.

4


Attribute Name

Attribute Type

Description

Community

Optional transitive

Một số được sử dụng cho việc áp một chính sách đến
một nhóm các tuyến.

2.1 Định nghĩa Autonomous System (AS)
Là một tập hợp các mạng có cùng chính sách định tuyến và thường thuộc quyền quản lý, khai

thác của một chủ thể. Mỗi nhà cung cấp dịch vụ internet (ISP) có thể coi là một AS. Việc kết nối giữa
các AS này thường được sử dụng BGP

Hình 1: Kết nối giữa các AS

2.2 Thuộc tính Autonomous system path (AS_PATH)
Thuộc tính này được sử dụng cho việc chọn tuyến và chống loop trong BGP. AS_PATH thuộc
vào nhóm well-known mandatory, cần được quảng bá và hiểu bởi tất cả các router hàng xóm.
Chúng ta xét một ví dụ dưới đây với các nhà cung cấp dịch vụ được gán các số AS 1, 2, 3 và 4.
Nhà cung cấp dịch vụ với AS bằng 1 quảng bá mạng và netmask của mạng 156.26.32.0/24 đến nhà
cung cấp dịch vụ 2 với AS là 2.

5


Hình 2: thuộc tính AS_PATH

Hình 3: Lựa chọn tuyến thông qua thuộc tính AS_PATH
Ngoài việc AS_PATH được sử dụng cho việc lựa chọn tuyến tốt nhất đến đích. BGP còn sử
dụng thuộc tính AS_PATH để chống loop.

Hình 4: BGP chống loop sử dụng thuộc tinh AS_PATH

2.3 Thuộc tính WEIGHT
Weight là thuộc tính không được chỉ định trong BGP . Tham số này cũng là một trong các thuộc
tính được sử dụng để quyết định tuyến tốt nhất tới đích. Trong hình 5, AS 2 nhận 2 sự quảng bá cho

6



mạng 156.26.32.0/24. Quảng bá từ AS 3 có AS_PATH dài là 3 và quảng bá từ AS 1 có độ dài là 2. AS
2 sẽ lựa chọn tuyến thông qua AS 1 vì qua đó AS_PATH sẽ là ngắn nhất.

Hình 5 : AS 2 lựa chọn đường đến 156.26.32.0/24 thông qua AS 1 vì nó có thuộc tính AS_PATH tốt
nhất
Tuy nhiên nếu muốn router trong AS 2 sử dụng tuyến thông qua AS 3 thay thế cho AS 1 ta sử
dụng thuộc tính weight. Trọng số Weight lớn sẽ được ưu tiên hơn

Hinh 6 : Chọn tuyến thông qua thuộc tính weight

Thuộc tính weight chỉ có giá trị trên router đó và không quảng bá ra các router hàng xóm chạy
BGP. Các tuyến BGP có weight mặc định là 32768

2.4 Thuộc tính Local Preference (LOCAL_PREF)
LOCAL_PREF là thuộc tính tương tự như weight. Khi có nhiều hơn một tuyến tới một đích,
tuyến có thuộc tính LOCAL_PREF cao nhất (khi các weight bằng nhau) sẽ được lựa chọn là tuyến tốt

7


nhất. Mặc định LOCAL_PREF có giá trị 100 và giá trị cao hơn sẽ được ưu tiên sử dụng là tham số
quyết định tuyến tới đích (khi weight bằng nhau). LOCAL_PREF là một số 32 bit có giá trị từ 0 –
4294967295.
Xét ví dụ trong hình 7:

Hình 7: Thuộc tính LOCAL_PREF

2.5 Thuộc tính Metric hay MULTI_EXIT_DISC (MED)
Thuộc tính MULTI_EXIT_DISC (Multi-exit discriminator hay MED) được sử dụng để quyết
định tuyến giữa các AS. MED cũng là một số có giá trị 32 bit tuy nhiên thuộc tính này có một điểm

khác biệt với thuộc tính LOCAL_PREF đó là giá trị thấp hơn sẽ được ưu tiên
Dưới đây là một ví dụ chỉ ra việc lựa chọn tuyến dùng MED. Trong Hình 8, AS 5 quảng bá
mạng 156.26.32.0/24 và có 2 đường để tới được mạng 156.26.32.0/24 từ AS 1. AS 5 muốn AS 1 sử
dụng tuyến bên phải cho lưu lượng từ AS 1 đến AS 5. AS 5 thiết lập MED bên trái có giá trị cao hơn
giá trị mặc định là 0 và quảng bá giá trị này đến AS 1

8


Hình 8 : Sử dụng thuộc tính MED để chọn tuyến
Độ ưu tiên của các thuộc tính trong BGP được quyết định lần lượt là WEIGHT,
LOCAL_PREF,AS_PATH và cuối cùng là MED.

2.6 Thuộc tính ORIGIN
Thuộc tính ORIGIN chỉ ra kiểu tài nguyên của BGP trong bảng BGP routing.
Có hai kiểu kết nối BGP. Kiểu thứ nhất là kiểu kết nối giữa cá router chạy BGP trong cùng 1
AS. Kiểu này được gọi là Internal BGP (IBGP). Kiểu kết nối thứ 2 là kiểu kết nối giữa các
autonomous-system khác nhau. Kiểu này được gọi là External BGP (EBGP)

Hình 9 : Các tuyến IBGP và EBGP
Các tuyến được học từ EBGP hàng xóm có thuộc tính ORIGIN là EGP. Các tuyến redistributed
trong BGP có thuộc tính ORIGIN là incomplete. Các tuyến IGP được ưu tiên thông qua các tuyến
EGP và các tuyến EGP được ưu tiên thông các các tuyến incomplete. Nói cách khác các tuyến EBGP
được ưu tiên, sử dụng thông qua các tuyến IBGP

9


2.7 Thuộc tính NEXT_HOP
Khi một router quảng bá một tuyến đến router EBGP hàng xóm, thuộc tính NEXT_HOP được

đặt là địa chỉ IP của giao diện kết nối đến hàng xóm đó. Đặc biệt nếu router quảng bá một tuyến được
học thông qua EBGP đến IBGP hàng xóm, thuộc tính NEXT_HOP sẽ không được thay đổi.

Hình 10 : Thuộc tính NEXT_HOP
Khi một router nhận một tuyến từ một BGP hàng xóm, thuộc tính đầu tiên nó kiểu tra là
NEXT_HOP. Nếu NEXT_HOP không đạt được ( không nằm trong bảng định tuyến), tuyến đó sẽ bị từ
chối. EBGP sử dụng kết nối vật lí trực tiếp trên các giao diện vật lí vì thế NEXT_HOP sẽ được đặt
trong bảng routing giống như giao diện kết nối trực tiếp. Các IBGP hàng xóm không có kết nối trực
tiếp. Trong ví dụ hình 10 router B chấp nhận tuyến từ router A vì NEXT_HOP là mạng kết nối trực
tiếp với nó. Router C sẽ chấp nhận tuyến từ router B nếu mạng NEXT_HOP có trong bảng định tuyến
của router C.

2.8 Thuộc tính Community
Đây là một thuộc tính không bắt buộc. Thuộc tính này được dùng để cung cấp chính sách cho
một nhóm các router đi qua các AS. Do đó các router này có cùng một tính chất và có chung chính
sách. Nếu một router nhận được một thông điệp thông tin cập nhật định tuyến với thuộc tính
Community được thiết lập, nó sẽ xử lý thông điệp này một cách hợp lí. Nếu nó không hiểu thông điệp
này thì sẽ gửi thuộc tính đó cho router hàng xóm xử lý. (Tuy nhiên, nếu nó hiểu thì sẽ không bao giờ
gửi thuộc tính đó cho router hàng xóm trừ khi được chỉ định làm thêm điều gì đó).

10


CHƯƠNG 3
HOẠT ĐỘNG CỦA BGP
3.1 Hoạt động của BGP
Định tuyến trong BGP như đã nói ở trên dựa vào các thuộc tính. Dựa vào độ ưu tiên giữa các
thuộc tính mà BGP đưa ra quyết định để định tuyến. Giải thuật định tuyến được thể hiện qua sơ đồ
dưới đây :


11


Quá trình chọn tuyến được mô tả theo thứ tự ưu tiên giữa các thuộc tính như sau : Khi các tuyến
được nhận bởi các BGP router việc đầu tiên nó làm là kiểm tra thuộc tính NEXT_HOP. Nếu
NEXT_HOP không thể đạt được (không nằm trong bảng IP routing ) tuyến đó sẽ bị từ chối. Với các
tuyến được nhận từ các IBGP hàng xóm, ngoài việc kiểm tra thuộc tính NEXT_HOP router sẽ kiểm
tra luật đồng bộ trên router. Nếu luật đồng bộ được cho phép hoạt động trên router thì các tuyến
không đồng bộ sẽ bị từ chối cập nhật vào bảng định tuyến. Sau khi đã kiểm tra và tất cả các điều kiện
trên đều thỏa mãn quá trình chọn tuyến trong BGP sẽ được thực hiện dựa trên mức độ ưu tiên giữa các
thuộc tính và theo thứ tự lần lượt dưới đây :
- Ưu tiên tuyến có thuộc tính WEIGHT cao nhất (Chỉ có tác dụng trên router)
- Ưu tiên tuyến có thuộc tính LOCAL_PREF cao nhất (Thuộct tính này có tác dụng trong một
AS). Những tuyến không có thuộc tính LOCAL_PREF sẽ có giá trị mặc định là 100.
- Ưu tiên các tuyến gốc (có NEXT_HOP là 0.0.0.0)
- Ưu tiên tuyến có thuộc tính AS_PATH thấp nhất
- Ưu tiên các tuyến có nguồn gốc thấp nhất theo thứ tự ưu tiên IGP, EGP và INCOMPLETE
- Ưu tiên tuyến có thuộc tính MED (metric) thấp nhất (thuộc tính này có giá trị giữa các AS
khác nhau ).
- Ưu tiên các tuyến EBGP hơn so với IBGP
- Ưu tiên những đường đi có IGP metric thấp nhất đến BGP NEXT_HOP
- Ưu tiên những đường đi đến từ BGP router có routerID nhỏ nhất
3.2 Cấu trúc thông báo của BGP
Khi EBGP được cho phép chạy trên một giao diện, các router sẽ cố gắng thực hiện một tiến
trình thiết lập mối quan hệ theo các bước dưới đây :


Idle State: Ở trạng thái này router sẽ khởi tạo một kết nối TCP với BGP hàng xóm

• Connect State : Giai đoạn này router khởi tạo sẽ chờ cho kết nối TCP được thực hiện với

router BGP hàng xóm. Nếu một kết nối TCP được thực hiện , router sẽ gửi một thông báo OPEN và
chuyển sang trạng thái OpenSent. Nếu hết thời gian chờ router vẫn không thiết lập được kết nối nó sẽ
chuyển tiếp sang trạng thái Active
• Active State: Ở giai đoạn này router vẫn chờ cho một kết nối được thực hiện với router hàng
xóm. Nếu kết nối được thực hiện nó sẽ chuyển sang trạng thái Connect
• OpenSent State : Ở giai đoạn này router sẽ chờ một thông báo OPEN từ BGP hàng xóm.
Nếu xảy ra lỗi nó sẽ chuyển sang chế độ Idle State. Nếu một thông báo OPEN được nhận từ router
BGP hàng xóm thì nó sẽ chuyển sang trạng thái OpenConfirm.
• OpenConfirm State: Giai đoạn này router chờ một thông báo KEEPALIVE từ BGP hàng
xóm. Khi một KEEPALIVE được nhận nó sẽ chuyển sang trạng thái Established.


Established State: Giai đoạn này các router sẽ trao đổi thông tin định tuyến với nhau

12


Định dạng chung phần tiêu đề của thông báo BGP bao gồm các trường thông tin sau : trường
đánh dấu 16 byte, trường độ dài 2 byte và trường kiểu 1 byte.

Hình 13: Định dạng chung phần tiêu đề của thông báoBGP
Tùy từng kiểu thông báo mà có thể có hoặc không có phần dữ liệu sau phần tiêu đề . Ví dụ
thông báo KEEPALIVE không chứa dữ liệu mà chỉ chứa phần tiêu đề
- Trường đánh dấu (Marker field): Trường này có độ dài 16 byte được sử dụng cho mục đích
chứng thực các thông báo BGP đến hoặc để dò tìm sự mất đồng bộ giữa 2 hàng xóm. Trường này có
thể có 1 hoặc 2 dạng :
+ Nếu kiểu thông báo của BGP là OPEN hoặc OPEN không sử dụng chứng thực thì trường
đánh dấu này phải được đặt tất cả bằng 1
+ Ngược lại trường này sẽ được đặt dựa vào việc tính toán các kĩ thuật sử dụng để chứng
thực

- Trường độ dài length (length field): Trường này có độ dài 2 byte chỉ ra tổng độ dài của thông
báo BGP bao gồm cả phần tiêu đề. Vì thế trong BGP độ dài tối thiểu của 1 thông báo là 19 byte (16 +
2 + 1) và tối đa không lớn hơn 4096 byte.
- Trường kiểu : Trường này có độ dài một byte cho phép biểu diễn các kiểu thông báo trong
giao thức BGP. Các kiểu thông báo đó là OPEN, UPDATE, KEEPALIVE, NOTIFICATION. Các
thông báo cụ thể trong các giai đoạn như sau :
Trong giai đoạn Connection, một router BGP gửi một thông báo OPEN đến router hàng xóm.
Thông báo OPEN định danh router đó với hàng xóm. Ngoài ra thông báo OPEN còn giúp cho các
router thực hiện quá trao đổi các tham số dưới đây :
-

Số phiên bản (version number): Phiên bản BGP hiện tại là 4

-

Số AS (AS number)

-

Hold time :thời gian một BGP router sẽ chờ trước khi khai báo rằng hàng xóm mất liên kết

13


-

BGP router ID

-


Opt parm len: Trường này chỉ ra độ dài của trường Optional parameters

- Trường Optional parameters: Trường này chỉ ra danh sách các tham số được sử dụng để các
hàng xóm thỏa thuận phiên BGP với nhau

Hình 14: Thông báo OPEN
Sau khi BGP router gửi một thông báo OPEN tới hàng xóm của nó, router sẽ chuyển sang trạng
thái OpenSent và chờ nhận một thông báo OPEN từ hàng xóm. Khi router nhận được thông báo
OPEN từ hàng xóm Router sẽ chuyển tiếp sang trạng thái OpenConfirm State, và chờ một thông báo
KEEPALIVE . Mặc định KEEPALIVE được gửi 60s và được sử dụng để xác nhận trạng thái của
router. Sau khi nhận được KEEPALIVE router sẽ chuyển sang trạng thái Established và trao đổi
KEEPALIVE, UPDATE và thông báo NOTIFICATION.
Một thông báo NOTIFICATION được sử dụng khi có lỗi xuất hiện khiến cho phiên BGP đó kết
thúc. Trong quá trình thực hiện BGP có thể có nhiều lỗi xảy ra
Thông báo NOTIFICATION có định dạng như sau:

Hình 15 : Thông báo NOTIFICATION
Một thông báo UPDATE quảng bá mạng đang có. Thông báo UPDATE sẽ quảng bá:
- Các thông tin liên quan đến mạng đích: địa chỉ, netmask..
-

Các thuộc tính BGP

14


-

Các tuyến không có khả năng thực hiện định tuyến và bị loại bỏ trong bảng routing


Thông báo UPDATE có cấu trúc như sau :

Hinh 16: Thông báo UPDATE

Khi các EBGP hàng xóm đạt được trạng thái Esta
blished quá trình trao đổi thông tin định tuyến sẽ được thực hiện.

CHƯƠNG 4: VẤN ĐỀ ĐẶT RA.

15


4.1 Vấn đề đặt ra
-

Khả năng mở rộng trong một AS.

-

Giảm số lượng Traffic trên mạng.

-

Vấn đề về Rooting-Loop

4.2 Hướng giải quyết.
4.2.1 Sử dụng luật Split Horizon để giải quyết vấn đề Rooting-Loop:
Luật BGP split horizon nói rằng mặc dù các router không cần kết nối trực tiếp, nó cần phải
fully-mesh. Điều kiện này nhằm đảm bảo các mạng phải thấy nhau. Để tránh routing-loop,
giao thức BGP phải tuân theo luật split horizon rằng không có update nào học từ một peer bên

trong có thể gửi đến một peer khác. Điều này có nghĩa rằng, một network khi được nhận sẽ
không phân phối đến các router iBGP khác. Các mạng này chỉ được truyền đến các router
BGP trong các AS khác, còn gọi là eBGP peer
BGP duy trì các thông tin cập nhật bằng cách gửi các update trên các kết nối TCP. Các kết
nốI TCP này là một cách xuất sắc để đảm bảo tính chính xác của thông tin, nhưng nhược điểm
của nó là tốn nhiều tài nguyên hệ thống. Số kết nối càng lớn, tài nguyên yêu cầu càng nhiều.
Một công thức đơn giản như sau:
Sẽ cần n (n – 1) / 2 kết nốI TCP trên một mạng gồm n router BGP.
Công thức này chấp nhận được trong môi trường có một vài kết nối, tuy nhiên nếu hệ thống mạng là
một nhà ISP thì thiết kế trên không phù hợp.
4.2.2 Giải quyết đồng thời cả 3 khó khăn trên là sử dụng Route-Refflector(RR)
Một route reflector là một router được cấu hình để chuyển những cập nhật định tuyến đến các
router hàng xóm hoặc các router chạy BGP bên trong một AS. Các router IBGP cần phải được chỉ ra
như là client trong khi cấu hình. Khi một client gửi một cập nhật định tuyến đến route-reflector, nó sẽ
chuyển update đó đến các router client khác. Đặc biệt, route-reflector định nghĩa luật split horizon.
Lụât này qui định rằng một IBGP router sẽ không truyền một tuyến được học từ một router hàng xóm
trong cùng một AS. Route Reflector và client sẽ đòi hỏi một quan hệ hàng xóm đầy đủ bởi vì route
reflector sẽ gửi các cập nhật từ các client khác nhưng việc thiết lập hàng xóm giữa các client là không
cần thiết.
Một route-reflector sẽ kết nối đến các hàng xóm mà nó không đẩy tuyến đến. Từ quan điểm của
route-reflector, các hàng xóm này được gọi là non-clients. Các router non clients phải được kết nối full
mesh với các route-reflector và với các non-client khác. Khi một router đã cấu hình như một routereflector, nó sẽ đẩy những đường đi được học từ các IBGP khác chỉ đến các route-reflector clients và
tới các IBGP/EBGP hàng xóm. Điều này có nghĩa là một thiết kế hub-and-spoke có thể được triển khai

16


trong một AS giữa các IBGP hàng xóm, như vậy giảm thiểu số phiên giữa các router. Cả routereflector và các client của nó hình thành nên một đơn vị để chia sẽ thông tin. Đơn vị này gọi là cluster.
Một Autonomous System có thể được chia ra thành các cluster, trong các cluster sẽ có các
route-reflector được chỉ định và cấu hình. Phải có ít nhất một route-reflector trong mỗi cluster. Nếu

một route-reflector kết nối đến các route reflector khác, route-reflector phải được full mesh. Điều này
nhằm đảm bảo các bảng IBGP routing là đầy đủ. Khi một route-reflector chuyển đi một cập nhật định
tuyến, thuộc tính Originator_ID sẽ được thiết lập. Đây là BGP routerID của router đã tạo ra đường đi.
Nếu router này nhận lại bản cập nhật định tuyến đó, router sẽ thấy ID của chính nó và sẽ bỏ qua thông
tin này. Điều này nhằm ngăn ngừa và tăng khả năng loop. Nếu có nhiều route-reflector trong cluster,
các router sẽ phân biệt với nhau bằng clusterID. Thông số này phục vụ cùng một mục đích như thuộc
tính Originator_ID để ngăn ngừa loop.
Với cách dùng route-reflector, router đóng vai trò route-reflector sẽ tốn nhiều tài nguyên hơn.
Nếu cấu hình route-reflector không chính xác, nó có thể gây ra loop. Có nhiều mức route-reflector có
thể được cấu hình bằng cách tạo ra các thiết kế theo thứ bậc. Các router không là thành phần của
route-reflector sẽ không bị ảnh hưởng trong những thay đổi về thiết kế và những thay đổi về quá trình
truyền các cập nhật. Thay vào đó, các router này sẽ không nhận biết được bất cứ thay đổi nào vì nó
vẫn nhận được các cập nhật mà nó cần. Bản thân các cập nhật định tuyến cũng không bị thay đổi bởi
vì không có sự thay đổi nào trong giá trị các thuộc tính được mang trong các cập nhật định tuyến.
Chính vì các đặc điểm trên, quá trình chuyển đổi thiết kế một hệ thống mạng nào đó sang dạng
dùng route-reflector thì rất dễ dàng. Một thiết kế quan trọng là bản thân các route-reflector trong một
AS cũng phải full mesh. Ngoài ra, một route-reflector này có thể là client cho một route-reflector khác.
Thiết kế như vậy khá phức tạp và yêu cầu xem xét cẩn thận bởi vì khi các route-reflector được cấu
hình và split horizon bị hủy bỏ, không còn một cơ chế nào để bảo vệ và chống loop.

Hình 22: Thiết kế Route-reflector

17


KẾT LUẬN
Với sự phát triển ngày càng mạnh mẽ của mạng Internet, đề tài nghiên cứu “Tổng quan giao thức
định tuyến BGP trên router Cisco” là đề tài thực tế giúp người đọc tiếp cận và có hiểu biết cơ bản về
cách thức định tuyến giữa các vùng tự trị, một thành phần quan trọng trên Internet . Đề tài góp phần
giúp cho tác giả và những người tham khảo:

- Hiểu và nẳm được các thuộc tính, giải thuật được sử dụng trong BGP để định tuyến.
- Hiểu rõ vai trò, hoạt động và cấu trúc các thông báo của EBGP và IBGP trong hệ thống mạng
ngày nay.
- Các phương pháp giải quyết vấn đề full mesh trong BGP.
- Một số phương pháp được sử dụng để kiểm soát lưu lượng trong BGP.
Mặc dù đạt được một số kết quả nêu trên nhưng do điều kiện thời gian và thiết bị thực nghiệm còn hạn
chế nên việc nghiên cứu giao thức BGP trên nền Ipv6 chưa thể được thực hiện.
Đề tài có thể được mở rộng để nghiên cứu và triển khai giao thức BGP cùng các giao thức IGP
dựa trên phần mềm mô phỏng GNS3. Việc nghiên cứu hoạt động của BGP trên hệ thống Ipv6 cũng là
một vấn đề cần được quan tâm khi hệ thống Ipv4 đang ngày càng cạn kiệt.

TÀI LIỆU THAM KHẢO
[1]

CCNP Self-Study, CCNP BSCI Exam Certification Guide, Third

18


Edition. Cisco Press. 2004
[2]

CCIE 350-001 Routing and Switching Prep Kit. BareWolf, Inc. 2000

[3]

Routing First–Step By Bill Parkhurst. Cisco Press. 2004

[4]




[5]



19



×