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

Xây dựng mô hình định tuyến liên vùng có khả năng dự phòng và cân bằng tải cho hệ thống mạng của các doanh nghiệp lớn

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 (5.18 MB, 118 trang )

LỜI CẢM ƠN
Qua thời gian học tập lâu dài và hoàn thành đồ án tốt nghiệp với đề tài:
“Xây dựng mô hình định tuyến liên vùng có khả năng dự phòng và cân bằng
tải cho hệ thống mạng của các doanh nghiệp lớn”, em đã nhận được sự giúp
đỡ nhiệt tình của các thầy cô giáo trong trường. Nhân dịp này:
Em xin chân thành cảm ơn ban lãnh đạo, cùng các thầy cô giáo trong
trường đại học Công nghệ thông tin và Truyền thông - Đại học Thái Nguyên đã
quan tâm, giúp đỡ và tạo mọi điều kiện để em hoàn thành đồ án tốt nghiệp này.
Đặc biệt, em xin bày tỏ lòng cảm ơn sâu sắc đến thầy giáo hướng dẫn: Thạc
sĩ Đỗ Đình Cường - phó trưởng khoa Công nghệ thông tin, thầy đã tận tình
hướng dẫn, chỉ bảo em trong suốt quá trình thực hiện đồ án tốt nghiệp này.
Mặc dù đã cố gắng hoàn thành đồ án với tất cả nỗ lực của bản thân và sự
giúp đỡ của thầy cô, gia đình và bạn bè. Nhưng do điều kiện thời gian có hạn, và
kiến thức của bản thân em còn hạn chế, nên không thể tránh khỏi những thiếu sót
nhất định, em rất mong nhận được ý kiến đóng góp của thầy cô và các bạn.
Em xin chân thành cảm ơn!
Thái Nguyên, tháng 6 năm 2012.
Sinh viên thực hiện

Trần Đức Tiệp


LỜI CAM ĐOAN
Em xin cam đoan:
Những nội dung trong đồ án này là do em thực hiện dưới sự hướng dẫn trực
tiếp của thầy giáo hướng dẫn: Thạc sĩ Đỗ Đình Cường.
Kết quả nghiên cứu trong đồ án là trung thực, không phải là sao chép toàn
văn của bất cứ công trình nghiên cứu nào khác. Mọi tham khảo dùng trong đồ án
đều được trích dẫn rõ ràng tên tác giả, tên công trình, thời gian, địa điểm công
bố.
Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, em xin


chịu hoàn toàn trách nhiệm.
Thái Nguyên, tháng 6 năm 2012.
Sinh viên thực hiện

Trần Đức Tiệp


MỤC LỤC
LỜI CẢM ƠN..........................................................................................................
LỜI CAM ĐOAN.....................................................................................................
MỤC LỤC................................................................................................................
DANH MỤC KÍ HIỆU............................................................................................
DANH MỤC BẢNG................................................................................................
DANH MỤC HÌNH.................................................................................................
LỜI NÓI ĐẦU.......................................................................................................
MỤC ĐÍCH ĐỀ TÀI..............................................................................................
NHIỆM VỤ CỦA ĐỀ TÀI....................................................................................
CHƯƠNG 1: LÝ THUYẾT TỔNG QUAN..........................................................
1.1. Giao thức định tuyến..................................................................................
1.2. Khái niệm hệ thống tự trị Autonomous System.........................................
1.3. Giới thiệu về giao thức định tuyến BGP....................................................
1.4.Các loại bản tin của BGP.............................................................................
1.4.1. Bản tin Open........................................................................................19
1.4.2. Bản tin Update.....................................................................................19
1.4.3. Bản tin Notification.............................................................................19
1.4.4. Bản tin Keepalive................................................................................19
1.5. Các trạng thái của BGP peer......................................................................
1.5.1. Trạng thái Idle.....................................................................................20
1.5.2. Trạng thái Connect..............................................................................20
1.5.3. Trạng thái Active.................................................................................20

1.5.4. Trạng thái OpenSent...........................................................................21
1.5.5. Trạng thái OpenConfirm.....................................................................21
1.5.6. Trạng thái Established.........................................................................21
1.6. Cơ bản về cấu hình BGP............................................................................
1.7. Một số thuộc tính của BGP........................................................................
1.7.1. Thuộc tính Next Hop...........................................................................24
1.7.2. Thuộc tính AS_Path............................................................................25
3


1.7.3. Thuộc tính Atomic Aggregate............................................................27
1.7.4. Thuộc tính Aggregator........................................................................28
1.7.5. Thuộc tính Local Preference...............................................................28
1.7.6. Thuộc tính Weight...............................................................................31
1.7.7. Thuộc tính Multiple Exit Discriminator (MED)................................31
1.7.8. Thuộc tính Origin................................................................................33
1.7.9. Thuộc tính Community.......................................................................35
1.8. Xác định tuyến trong BGP.........................................................................
1.9. Lợi ích khi dùng BGP.................................................................................
1.10. Khi nào không nên sử dụng BGP trong một AS......................................
CHƯƠNG 2: MỘT SỐ GIẢI PHÁP ĐỊNH TUYẾN DỰ PHÒNG VÀ CÂN
BẰNG TẢI CHO MẠNG DOANH NGHIỆP LỚN.............................................
2.1. Định tuyến dự phòng cho mạng doanh nghiệp kết nối với 1 ISP..............
2.2. Định tuyến dự phòng cho mạng doanh nghiệp kết nối với 2 ISP..............
2.3. Định tuyến dự phòng cho mạng giữa 2 doanh nghiệp...............................
2.4. Định tuyến có khả năng cân bằng tải cho mạng doanh nghiệp kết nối
với 1 ISP.............................................................................................................
2.5. Định tuyến có khả năng cân bằng tải cho mạng doanh nghiệp kết nối
với 2 ISP.............................................................................................................
2.6. Định tuyến có khả năng cân bằng tải cho mạng giữa 2 doanh nghiệp

............................................................................................................................
2.7. Định tuyến dự phòng cho mạng giữa 2 doanh nghiệp có kết nối kênh
riêng....................................................................................................................
2.8. Định tuyến kết hợp cho mạng doanh nghiệp tới chi nhánh và doanh
nghiệp đối tác.....................................................................................................
CHƯƠNG 3: MỘT SỐ MÔ PHỎNG ĐỊNH TUYẾN DỰ PHÒNG VÀ
CÂN BẰNG TẢI CHO MẠNG DOANH NGHIỆP LỚN...................................
3.1. Mô phỏng định tuyến dự phòng cho mạng doanh nghiệp kết nối với
1 ISP...................................................................................................................
3.1.1. Sử dụng thuộc tính Weight.................................................................57

4


3.1.2. Sử dụng thuộc tính Local Preference..................................................60
3.2. Mô phỏng định tuyến dự phòng cho mạng doanh nghiệp kết nối với
2 ISP...................................................................................................................
3.2.1. Sử dụng Default Local Preference......................................................63
3.2.2. Sử dụng Route-map và thuộc tính Local Preference..........................66
3.3. Mô phỏng định tuyến dự phòng cho mạng giữa 2 doanh nghiệp..............
3.4. Mô phỏng định tuyến có khả năng cân bằng tải cho mạng doanh
nghiệp kết nối với 1 ISP....................................................................................
3.5. Mô phỏng định tuyến có khả năng cân bằng tải cho mạng doanh
nghiệp kết nối với 2 ISP....................................................................................
3.6. Mô phỏng định tuyến có khả năng cân bằng tải cho mạng giữa 2
doanh nghiệp......................................................................................................
3.7. Mô phỏng định tuyến dự phòng cho mạng giữa 2 doanh nghiệp có
kết nối kênh riêng..............................................................................................
3.8. Mô phỏng định tuyến kết hợp cho mạng doanh nghiệp tới chi nhánh
và doanh nghiệp đối tác.....................................................................................

KẾT LUẬN..........................................................................................................
TÀI LIỆU THAM KHẢO....................................................................................

5


DANH MỤC KÍ HIỆU
AS
BGP
CIDR
EBGP
EGP
EIGRP
GNS3
IANA
IBGP
IEEE
IETF
IGP
IGRP
ISP
IS-IS
IP
MED
NSFNET
NLRI
OSPF
RDI
RFC
RIP


Autonomous System
Border Gateway Protocol
Classless Inter-Domain Routing
External Border Gateway Protocol
External Gateway Protocol
Enhanced Interior Gateway Routing Protocol
Graphical Network Simulator
Internet Assigned Numbers Authority
Internal Border Gateway Protocol
Institute of Electrical and Electronics Engineers
Internet Engineering Task Force
Internal Gateway Protocol
Interior Gateway Routing Protocol
Internet Sevice Provider
Intermediate System To Intermediate System
Internet Protocol
Multiple Exit Discriminator
National Science Foundation Network
Network Layer Reachability Information
Open Shortest Path First
Routing Domain Identifier
Request for Comments
Routing Information Protocol

6


DANH MỤC BẢNG
Bảng 2.1: Địa chỉ IP mô hình định tuyến dự phòng cho mạng doanh nghiệp

kết nối với 1 ISP.....................................................................................................
Bảng 2.2: Địa chỉ IP mô hình định tuyến dự phòng cho mạng doanh nghiệp
kết nối với 2 ISP.....................................................................................................
Bảng 2.3: Địa chỉ IP mô hình định tuyến dự phòng cho mạng giữa 2 doanh
nghiệp.....................................................................................................................
Bảng 2.4: Địa chỉ IP mô hình định tuyến có khả năng cân bằng tải cho
mạng doanh nghiệp kết nối với 1 ISP....................................................................
Bảng 2.5: Địa chỉ IP mô hình định tuyến có khả năng cân bằng tải cho
mạng doanh nghiệp kết nối với 2 ISP....................................................................
Bảng 2.6: Địa chỉ IP mô hình định tuyến có khả năng cân bằng tải cho
mạng giữa 2 doanh nghiệp.....................................................................................
Bảng 2.7: Địa chỉ IP mô hình định tuyến dự phòng cho mạng giữa 2 doanh
nghiệp có kết nối kênh riêng..................................................................................
Bảng 2.8: Địa chỉ IP mô hình Định tuyến kết hợp cho mạng doanh nghiệp
tới chi nhánh và doanh nghiệp đối tác...................................................................

7


DANH MỤC HÌNH
Hình 1.1: Sơ đồ BGP chọn đường đi ngắn nhất dựa vào AS_PATH...................
Hình 1.2: Sơ đồ BGP chống lặp vòng dựa vào nội dung AS_PATH...................
Hình 1.3: Cấu trúc thông điệp của BGP................................................................
Hình 1.4: Sơ đồ trạng thái của BGP peer..............................................................
Hình 1.5: Phân biệt IBGP và EBGP......................................................................
Hình 1.6: Minh họa thuộc tính Next Hop..............................................................
Hình 1.7: Minh họa thuộc tính AS_Path...............................................................
Hình 1.8: Minh họa thuộc tính Atomic Aggregate................................................
Hình 1.9: Minh họa thuộc tính Local Preference..................................................
Hình 1.10: Minh họa thuộc tính Weight................................................................

Hình 1.11: Minh họa thuộc tính Multiple Exit Discriminator..............................
Hình 1.12: Minh họa thuộc tính Origin.................................................................
Hình 2.1: Mô hình định tuyến dự phòng cho mạng doanh nghiệp kết nối với
1 ISP.......................................................................................................................
Hình 2.2: Mô hình định tuyến dự phòng cho mạng doanh nghiệp kết nối với
2 ISP.......................................................................................................................
Hình 2.3: Mô hình định tuyến dự phòng cho mạng giữa 2 doanh nghiệp............
Hình 2.4: Mô hình định tuyến có khả năng cân bằng tải cho mạng doanh
nghiệp kết nối với 1 ISP.........................................................................................
Hình 2.5: Mô hình định tuyến có khả năng cân bằng tải cho mạng doanh
nghiệp kết nối với 2 ISP.........................................................................................
Hình 2.6: Mô hình định tuyến có khả năng cân bằng tải cho mạng giữa 2
doanh nghiệp..........................................................................................................
Hình 2.7: Mô hình định tuyến dự phòng cho mạng giữa 2 doanh nghiệp có
kết nối kênh riêng...................................................................................................
Hình 2.8: Mô hình định tuyến kết hợp cho mạng doanh nghiệp tới chi
nhánh và doanh nghiệp đối tác...............................................................................
Hình 3.1: Mô phỏng định tuyến dự phòng cho mạng doanh nghiệp kết nối
với 1 ISP.................................................................................................................
8


Hình 3.2: Mô phỏng định tuyến dự phòng cho mạng doanh nghiệp kết nối
với 2 ISP.................................................................................................................
Hình 3.3: Mô phỏng định tuyến dự phòng cho mạng giữa 2 doanh nghiệp.........
Hình 3.4: Mô phỏng định tuyến có khả năng cân bằng tải cho mạng doanh
nghiệp kết nối với 1 ISP.........................................................................................
Hình 3.5: Mô phỏng định tuyến có khả năng cân bằng tải cho mạng doanh
nghiệp kết nối với 2 ISP.........................................................................................
Hình 3.6: Mô phỏng định tuyến có khả năng cân bằng tải cho mạng giữa 2

doanh nghiệp..........................................................................................................
Hình 3.7: Mô phỏng định tuyến dự phòng cho mạng giữa 2 doanh nghiệp có
kết nối kênh riêng...................................................................................................
Hình 3.8: Mô phỏng định tuyến kết hợp cho mạng doanh nghiệp tới chi
nhánh và doanh nghiệp đối tác...............................................................................
Hình 3.9: Thực hiện ping từ PC tới chi nhánh (AS111).....................................

9


LỜI NÓI ĐẦU
Sự phát triển của xã hội con người ngày nay không thể tách rời mạng
Internet, vai trò của nó trong đời sống con người là không thể phủ nhận. Nhưng
sự phức tạp của nó làm đau đầu các nhà quản trị mạng, bởi vì họ phải đảm bảo
cho hệ thống mạng luôn luôn hoạt động nhanh chóng, ổn định, thông suốt, liên
tục.
Như chúng ta đã biết Internet là một tập hợp các mạng kết nối với nhau.
Mỗi mạng được đại diện phân biệt với nhau bằng số hiệu AS (Autonomous
System) khác nhau. Trong mỗi AS lại có các chính sách riêng về định tuyến,
truyền tải thông tin. Yêu cầu đặt ra là phải kết nối giữa các AS với nhau mà
không phải thay đổi chính sách định tuyến trong từng AS, mà vẫn đảm bảo thông
tin được truyền từ nguồn tới đích bằng con đường đảm bảo yêu cầu nhất. Giao
thức BGP (Border Gateway Protocol) là một trong những giao thức được phát
triển để giải quyết vấn đề này.
BGP là một giao thức phức tạp, được xây dựng theo chuẩn mở RFC 1105,
và hiện nay là BGPv4 theo chuẩn RFC 1771. Để hiểu được hoạt động giao thức
BGP đòi hỏi phải có quá trình tìm hiểu nghiên cứu lâu dài. Trong báo cáo này,
em chỉ xin trình bày khái quát sơ lược về giao thức BGP và mô phỏng một vài
ứng dụng thực tế của giao thức này. Nội dung đồ án gồm 3 chương:
Chương 1: Lý thuyết tổng quan. Nội dung chương này đưa ra các khái

niệm, giới thiệu về quá trình hoạt động và cách xác định đường đi của giao thức
BGP.
Chương 2: Một số giải pháp định tuyến dự phòng và cân bằng tải cho mạng
doanh nghiệp lớn. Nội dung chương này đưa ra một số giải pháp cho một số
trường hợp định tuyến trong mạng doanh nghiệp.
Chương 3: Một số mô phỏng định tuyến dự phòng và cân bằng tải cho
mạng doanh nghiệp lớn. Nội dung chương này ghi lại kết quả mô phỏng các giải
pháp đã trình bày ở chương 2.

10


MỤC ĐÍCH ĐỀ TÀI
Ngày này, hệ thống mạng Internet toàn cầu ngày càng được mở rộng, phức
tạp, với số lượng mạng khổng lồ, thay đổi liên tục. Công việc định tuyến trên hệ
thống mạng Internet không còn chỉ đơn thuần là tìm kiếm đường đi ngắn nhất tới
mạng đích, mà là sự định tuyến nhanh chóng theo chính sách để đảm bảo tính ổn
định, liên tục kết nối giữa các mạng. Để đáp ứng các yêu cầu đó, thì cần có một
giao thức định tuyến đáp ứng định tuyến theo chính sách, BGP là giao thức như
vậy.
Các doanh nghiệp lớn luôn cần sự ổn định liên tục, thông suốt của hệ thống
mạng nội bộ, cũng như kết nối ra ngoài Internet. Từ yêu cầu thực tiễn đó, đồ án
này thực hiện với các mục đích sau:
- Tạo ra chính sách định tuyến riêng cho mạng doanh nghiệp không phụ
thuộc vào chính sách định tuyến của nhà cung cấp dịch vụ.
- Đảm bảo định tuyến dự phòng cho hệ thống mạng doanh nghiệp, tránh sự
cố mất kết nối.
- Thực hiện cân bằng tải giữa các đường truyền kết nối tới Internet, đảm
bảo tính ổn định, tránh tắc nghẽn do quá tải.
Đó là các mục đích xuyên suốt đồ án này. Mặc dù, bản thân đã nỗ lực hết

sức. Nhưng do điều kiện thời gian có hạn và kiến thức còn hạn chế, nên đồ án
này không thể tránh khỏi những thiếu sót. Kính mong nhận được sự đóng góp
của thầy cô giáo và các bạn để em có thể hoàn thiện và có thêm hướng phát triển
trong tương lai cho đồ án này.

11


NHIỆM VỤ CỦA ĐỀ TÀI
Để thực hiện mục đích của đề tài đã đề ra thì các nhiệm vụ cần hoàn thành
là:
- Tìm hiểu lý thuyết về giao thức định tuyến BGP.
- Tìm hiểu về phần mềm mô phỏng mạng GNS3.
- Tìm hiểu về các yêu cầu định tuyến dự phòng và cân bằng tải của mạng
các doanh nghiệp lớn.
- Xây dựng các giải pháp định tuyến dự phòng và cân bằng tải cho hệ thống
mạng các doanh nghiệp lớn dựa trên các yêu cầu
- Xây dựng các kịch bản mô phỏng cho từng giải pháp đã xây dựng, trên
phần mềm GNS3.
- Kiểm tra, đánh giá lại giải pháp thông qua kết quả kịch bản mô phỏng.

12


CHƯƠNG 1: LÝ THUYẾT TỔNG QUAN
1.1. Giao thức định tuyến
Giao thức định tuyến là một tập các quy tắc do con người đặt ra để thiết bị
định tuyến thực hiện chọn con đường đi tối ưu từ mạng nguồn tới mạng đích.
Giao thức định tuyến được chia làm 2 nhóm:
+ Giao thức định tuyến trong vùng - IGP (Interior Gateway Protocol)

+ Giao thức định tuyến ngoài vùng - EGP (Exterior Gateway Protocol)
Các giao thức định tuyến trong vùng được phân làm 2 nhóm:
Giao thức định tuyến vectơ khoảng cách (Distance vector routing protocol):
là giao thức định tuyến có các tuyến đường được quảng bá như là các vectơ có
khảng cách (distance) và có hướng (direction). Khoảng cách được định nghĩa
bằng số liệu như số chặng (hop-count), còn hướng được định nghĩa chỉ đơn giản
như là chặng kế tiêp (next-hop) hay cổng ra (exit interface).
Giao thức định tuyến trạng thái đường liên kết (Link state routing protocol):
là giao thức định tuyến có các tuyến đường chứa các thông tin trạng thái của một
liên kết bao gồm địa chỉ IP, subnet mask, loại mạng, giá (cost) của liên kết, và
các router hàng xóm trên liên kết.
Các giao thức định tuyến trong vùng:
Các giao thức vectơ khoảng cách:
+ RIP
+ IGRP (giao thức độc quyền của Cisco)
+ EIGRP (giao thức độc quyền của Cisco, phát triển từ IGRP)
Các giao thức trạng thái đường liên kết:
+ OSPF
+ IS-IS

13


Giao thức định tuyến ngoài vùng (giao thức vectơ đường đi - part vector
routing protocol) là giao thức liên kết giữa các vùng có các chính sách định tuyến
khác nhau (các vùng tự trị khác nhau).
Vì các giao thức EGP liên kết giữa các vùng có chính sách định tuyến khác
nhau nên vấn đề chính sách định tuyến là rất quan trọng trong quá trình chọn
đường đi tới mạng đích. Cũng vì lý do này mà EGP khá phức tạp.
Các giao thức định tuyến ngoài vùng:

+ EGP
+ BGP
1.2. Khái niệm hệ thống tự trị Autonomous System
Autonomous system (AS): Trong giới hạn mạng Internet, một hệ thống tự
trị (AS) là một tập hợp các kết nối các dải địa chỉ IP dưới sự kiểm soát của một
hoặc nhiều nhà khai thác mạng, mà có trình bày chính sách định tuyến chung,
quy định rõ ràng kết nối tới Internet [4]. AS giống như RDI (Routing Domain
Identifier) [4]. Có thể nói, một AS là một nhóm các router cùng chia sẻ một
chính sách định tuyến và hoạt động trong cùng một miền nhất định (domain).
Mỗi AS Number có một số nhận diện và được cung cấp bởi một nhà cung
cấp AS (Internet registry); số nhận diện này từ 1 đến 65,535, khoảng từ 64,512
đến 65,535 được để dành cho các AS Private sử dụng [2]. Có 2 loại AS:
- SingleHomed AS
- MultiHomed AS
Hiện này, tổ chức IANA (Internet Assigned Numbers Authority) đã mở
rộng dải AS Number lên 32 bit từ 1 đến 4294967295 [2].
Singlehomed AS (SA) là AS có một kết nối duy nhất ra mạng bên ngoài
AS, kết nối này được xem là kết nối đơn [4].
Multihomed AS (MA) là AS có nhiều hơn một kết nối ra mạng bên ngoài
AS, có kết nối đến 1 hay nhiều nhà cung cấp dịch vụ [4], [9].
14


AS này có thể là Transit hoặc Non-Transit AS
+ Transit: AS này sẽ chuyển tiếp thông tin giữa các AS khác kết nối với nó.
+ Non-Transit: AS này không chuyển tiếp thông tin giữa các AS khác.
1.3. Giới thiệu về giao thức định tuyến BGP
BGP, viết tắt của từ tiếng Anh Border Gateway Protocol, là giao thức định
tuyến ngoài vùng, tạo liên kết giữa các AS [9]. Nó được xây dựng trên kinh
nghiệm thu được từ EGP [6] và EGP sử dụng trong các mạng xương sống

(backbone) NSFNET [1], [8].
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
(prefix) cho biết mối liên kết giữa các hệ thống tự trị (autonomous system). Khác
với các giao thức định tuyến trong vùng như RIP, OSPF, EIGRP…, BGP chọn
đường bằng một tập các chính sách và luật.
BGP hỗ trợ định tuyến liên miền IP không phân lớp (CIDR - Classless
Inter-Domain Routing) và dùng kỹ thuật tổng hợp đường đi (autosummary) để
giảm kích thước bảng tìm đường (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ợ multihomed.
Đ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.
BGP liên kết 2 router láng giềng dùng một kết nối unicast riêng biệt. BGP
trao đổi thông tin sử dụng giao thức TCP với port 179 để đảm bảo độ tin cậy của
kết nối [10], [5].

15


BGP sử dụng thuật toán định tuyến vectơ đường đi chỉ ra chính xác danh
sách các mã số AS mà một gói tin phải đi qua để tới mạng đích [10].
Danh sách AS đi kèm với một route BGP được gọi là AS_PATH. BGP
quyết đinh đường đi ngắn nhất, không bị lặp vòng (loop-free) dựa vào danh sách
AS_PATH [10].
Ví dụ: Ở sơ đồ dưới, AS7 nhận được cùng thông tin định tuyến tới mạng

207.126.0.0/16 từ 2 AS kề bên: thứ nhất là AS4 với AS_PATH là 4,2,1 đi qua 3
AS, và thứ hai là AS6 với AS_PATH là 6,5,3,1 đi qua 4 AS. AS7 sẽ chọn con
đường đi qua AS4 là đường đi qua ít AS nhất.

Hình 1.1: Sơ đồ BGP chọn đường đi ngắn nhất dựa vào AS_PATH
BGP còn có khả năng chống định tuyến lặp với việc sử dụng AS_PATH.
Nếu một router nhận được bản tin cập nhật định tuyến có chứa AS của chính nó
trong AS_PATH thì nó sẽ phát hiện ra là đinh tuyên lặp đã sảy ra.
Ví dụ: Trong tình huống AS7 quảng bá một định tuyến tới AS8. Sau đó,
AS8 quảng bá tới AS9 và AS9 lại quảng bá ngược lại AS7. AS7 nhận thấy mã

16


AS của mình trong AS_PATH và hủy thông tin này. Thông tin con đường tới
mạng 207.126.0.0/16 qua AS9 sẽ bị hủy tại AS7.

Hình 1.2: Sơ đồ BGP chống lặp vòng dựa vào nội dung AS_PATH
BGP không hiển thị chi tiết topo mạng trong phạm vi mỗi AS. Bởi vì BGP
chỉ nhìn thấy một cây AS nên chúng ta có thể nói BGP đưa ra một cách nhìn tổng
quan hơn về kết nối trên Internet, so với các giao thức định tuyến trong vùng
IGP.
BGP xây dựng một biểu đồ của các AS dựa trên thông tin trao đổi giữa các
BGP láng giềng. BGP xem toàn bộ mạng như là một biểu đồ hay một cây. Kết
nối giữa bất kỳ hai AS nào cũng được gọi là đường Path.
17


1.4.Các loại bản tin của BGP
Các thiết bị định tuyến (router) sử dụng BGP kết nối từng cặp (peering) với

nhau bằng cách thiết lập phiên làm việc trên giao thức TCP qua cổng 179. Phiên
kết nối này được duy trì bằng việc gửi các thông điệp keep-alive 19 byte, mỗi lần
60 giây (mặc định) [10].
Các loại bản tin khác nhau thực hiện một chức năng trong hoạt động của
BGP. Mỗi bản tin mang một thông tin tiêu đề.Thông tin trong tiêu đề chỉ gồm 3
trường: 16 byte Maker, 2 byte Length, và 1 byte Type [10], [3].
+ Trường Maker: được sử dụng hoặc để xác thực (authentication) hoặc để
kiểm tra đồng bộ giữa các peer.
+ Trường Length: chỉ ra chiều dài tổng cộng của bản tin, gồm cả phần tiêu
đề, bản tin nhỏ nhất của BGP là 19 bytes (16 + 2 + 1), và chiều dài tối đa là 4096
bytes.
+ Trường Type: có thể có 4 giá trị từ 1  4. Mỗi giá trị này tương ứng với
một trong 4 loại bản tin.
1 - OPEN
2 - UPDATE
3 - NOTIFICATION
4 - KEEPALIVE

2

Type

16

Length

Marker

Field length,
in byte

1

variable
Data

Hình 1.3: Cấu trúc thông điệp của BGP
Có 4 loại thông điệp BGP là open (mở phiên kết nối), update (thông báo
hoặc rút lại một đường đi), notification (thông báo lỗi), keep-alive (duy trì phiên
kết nối) [10].
18


1.4.1. Bản tin Open.
Bản tin này được sử dụng để thiết lập kết nối với các peer, gồm có cả
trường cho version, chỉ số AS, hold time, và ID của router. Sau khi phiên BGP
được thiết lập, cả 2 neighbor gửi bản tin Open. Mỗi neighbor sử dụng bản tin này
để nhận dạng chính nó và để chỉ rõ các tham số BGP của nó. Nếu bản tin Open
được chấp nhận, thì một bản tin Keep-alive xác nhận Open sẽ được gửi trở lại.
Bản tin Open đươc chấp nhận thì các bản tin Update, Notification, Keep-alive
mới có thể trao đổi [10].
1.4.2. Bản tin Update
Thông tin cập nhật này gồm tất cả các thông tin sử dụng để xây dựng một
sơ đồ LFP (loop free path) của toàn mạng. Có các thông tin thành phần cơ bản
trong Update message đó là: NLRI, thuộc tính của Path, và thu hồi route
(withdraw route) [10].
1.4.3. Bản tin Notification
Bản tin này được sử dụng để chỉ thị cho router nhận biết được là có lỗi. Bản
tin này gồm một trường cho mã lỗi được sử dụng cho việc khắc phục và sửa lỗi
[10].
1.4.4. Bản tin Keepalive

Bản tin này được truyền đi một cách có chu kỳ giữa các peer để duy trì kết
nối và kiểm tra tuyến. Nếu khoảng thời gian truyền Keepalive được cấu hình với
giá trị là 0, thì sẽ không có thông tin Keepalive được truyền đi. Holdtime = 3 x
Keepalive. Bản tin Keepalive gồm 19 byte tiêu đề và không có thông tin dữ liệu
được truyền đi trong bản tin này [10].
1.5. Các trạng thái của BGP peer
Quá trình thảo thuận giữa các peer được thực hiện qua 6 trạng thái của BGP
[10]:

19


Hình 1.4: Sơ đồ trạng thái của BGP peer
1.5.1. Trạng thái Idle
Idle là trạng thái đầu tiên của một kết nối BGP. BGP chờ sự kiện bắt đầu,
nó thường là khởi tạo bởi nhà quản trị hoặc là các sự kiện (event) trong mạng.
Tại sự kiện khởi tạo, tạo các thông tin cần thiết và reset lại các timer: holdtime…
Idle có thể được chuyển về từ một trạng thái khác trong trường hợp có lỗi [10].
1.5.2. Trạng thái Connect
Trong trạng thái connect, BGP chờ cho kết nối TCP được hoàn thành. Nếu
kết nối TCP thành công, thì trạng thái này được chuyển tiếp sang trạng thái
OpenSent. Nếu kết nối TCP lỗi thì trạng thái này chuyển sang trạng thái Acitve,
và router cố gắng để thiết lập kết nối lại. Nếu một kết nối mà retry timer hết hạn
(expire) thì trạng thái được duy trì ở trạng thái Connect, timer sẽ được reset, và
kết nối TCP được khởi tạo lại. Trong trường hợp sự kiện được khởi tạo bởi nhà
quản trị thì trạng thái chuyển về Idle [10].
1.5.3. Trạng thái Active
Trong trạng thái Active thì BGP cố gắng yêu cầu một peer khởi tạo kết nối
TCP. Nếu thành công, nó chuyển sang trạng thái OpenSent. Nếu thời gian kết nối
retry timer hết hạn thì BGP sẽ chuyển về trạng thái Connect lại. Trong khi active,

thì BGP vẫn lắng nghe một kết nối khác được khởi tạo từ peer. Trạng thái active

20


có thể chuyển về Idle trong trường hợp có các sự kiện khác, như kết thúc sự kiện
bởi hệ thống hay nhà quản trị [10].
1.5.4. Trạng thái OpenSent
Trong trạng thái này, BGP chờ một bản tin Open từ peer của nó. Bản tin
Open được kiểm tra tính đúng đắn. Trong trường hợp có xảy ra lỗi, như: version
không thích hợp hay AS không chấp nhận, thì hệ thống truyền bản tin chỉ báo và
reset keepalive timer. Tại trạng thái này thì hold time được thoả thuận và khoảng
thời gian nào nhỏ hơn sẽ được chọn. Nếu thời gian hold time được thoả thuận là
0 thì hold timer và keepalive timer sẽ không được khởi tạo [10].
1.5.5. Trạng thái OpenConfirm
Trong trạng thái này, BGP chờ bản tin Keepalive hay bản tin chỉ thị cảnh
báo. Nếu một bản tin Keepalive được nhận, thì trạng thái này chuyển sang trạng
thái Established, và láng giềng thoả thuận hoàn thành. Nếu hệ thống nhận một
bản tin cập nhật thay Keepalive, thì nó reset holdtime, và trạng thái chuyển về
Idle. Hệ thống truyền một cách có chu kỳ các bản tin Keepalive cho peer theo tốc
độ được cài đặt theo Keepalive timer. Trong trường hợp bất kỳ một sự ngưng kết
nối TCP hay chấm dứt sự kiện được tạo ra bởi nhà quản trị thì trạng thái sẽ
chuyển về trạng thái Idle [10].
1.5.6. Trạng thái Established
Đây là trạng thái sau cùng của sự thoả thuận của các peer. BGP bắt đầu trao
đổi các gói cập nhật với các peers của nó. Nếu không phải là 0 thì hold time sẽ
được reset lại khi nó nhận được thông tin cập nhật hay bản tin Keepalive. Mỗi
gói cập nhật đều được kiểm tra lỗi, như trường hợp lỗi hay trùng lặp các thuộc
tính. Nếu có lỗi được phát hiện thì một bản tin cảnh báo (Notification) được gởi
đi cho Peer. Bất kỳ bản tin cảnh báo nào được nhận trong khi ở trạng thái

Established đều làm cho BGP xoá Peer đang nhận và trở về trạng thái Idle. Nếu
Hold time hết hạn, hay một bản tin chỉ thị cắt kết nối nhận được từ Peer, hay
ngưng sự kiện được nhận thì hệ thống sẽ trở về trạng thái Idle [10].

21


1.6. Cơ bản về cấu hình BGP
- Để khởi tạo quá trình BGP ta sử dụng lệnh [7]:
Router(config)#router bgp AS-number
- Lệnh Network trong IGP như RIP thì nó xác định cổng giao tiếp nào
truyền và nhận các cập nhật. Tuy nhiên với BGP thì lệnh network không ảnh
hưởng đến cổng giao tiếp nào mà nó quảng bá mạng. Vì thế network sẽ không
thiết lập quan hệ giữa các BGP router [7].
Router(config)#network network-number [mask network-mask]
Lệnh network cho biết route nào đã học được nội bộ để quảng bá đi. Route
này có thể là route tĩnh, kết nối trực tiếp, hoặc route học được từ IGP như (RIP,
OSPF,…) [7].
- Để router BGP thiết lập quan hệ láng giềng với một router khác thì ta sử
dụng lệnh [7]:
Router(config-router)#neighbor ip-address remote-as AS-number
Lệnh này cho router biết ID của peer để thiết lập láng giềng.
Khi cấu hình BGP, thì BGP hỗ trợ hai loại phiên thông tin giữa các peer
- Phiên thông tin giữa các EBGP: xảy ra giữa các router khác AS.
- Phiên thông tin giữa các IBGP: xảy ra giữa các rouer có cùng AS
Nếu giá trị của AS number trong cấu hình với lệnh router bgp giống với giá
trị của AS number trong lệnh neighbor thì quan hệ giữa các BGP là IBGP, còn
nếu khác thì quan hệ là EBGP [7].
Ví dụ:


22


Hình 1.5: Phân biệt IBGP và EBGP
Trong ví dụ này thì RTB thiết lập phiên thông tin EBGP với RTA, và IBGP với
RTC.
Trước hết ta sẽ thiết lập phiên thông tin RTB với RTC
RTB(config)#router bgp 200
RTB(config-router)#neighbor 172.16.1.2 remote-as 200
RTB(config-router)#neighbor 172.16.1.2 update-source loopback 0
Đối với RTA thì cũng tương tự như RTC với remote-as có giá trị là 100
Trong ví dụ này ta thấy có lệnh update-source loopback 0. Nếu có nhiều
đường đến router láng giềng, router có thể sử dụng bất kỳ địa chỉ IP của cổng
giao tiếp nào để thiết lập quan hệ láng giềng. Trong trường hợp này thì router sẽ
sử dụng cổng loopback để thiết lập kết nối TCP với router láng giềng.
RTB học được các route từ IGB là OSPF, RTB có thể quảng bá những
mạng này bằng cách redistribute OSPF vào trong BGP hoặc ta sử dụng lệnh
network:
RTB(config-router)#network 172.16.1.0 mask 255.255.255.252
RTB(config-router)#network 10.1.1.0 mask 255.255.255.252
RTB(config-router)#network 192.168.1.0
23


1.7. Một số thuộc tính của BGP
Hầu hết cấu hình BGP tập trung vào thuộc tính của path. Mỗi tuyến có giá
trị thuộc tính được định nghĩa có thể gồm: thông tin path, route preference, next
hop, và tóm tắt route. Nhà quản trị sử dụng những thuộc tính này để tạo các
chính sách định tuyến. Dựa trên các giá trị của thuộc tính BGP có thể được cấu
hình để lọc các thông tin định tuyến, các path, hay các động thái khác. Có 4 loại

thuộc tính sau:
+ Well-Known mandatory: là thuộc tính mà bắt buộc phải tồn tại trong
bản tin cập nhật. Nó phải được nhận ra bởi tất cả các Peer. Nếu một thuộc tính
Well-Known mandatory bị thiếu, thì một bản tin chỉ thị lỗi được tạo ra. Điều này
đảm bảo rằng tất cả các BGP peer phải thoả thuận theo một chuẩn nhất định [10].
+ Well-Known discretionary: là thuộc tính được nhận ra bởi tất cả các
BGP peer, nhưng có thể có hoặc không gửi trong bản tin câp nhật [10].
+ Optional transitive: là thuộc tính có thể hay không được nhận ra bởi tất
cả các BGP peer. Vì thế thuộc tính transitive có thể chấp nhận và truyền đi thậm
chí nó không được nhận ra [10].
+ Optional non-transitive: là thuộc tính mà có thể hoặc không nhận ra bởi
tất cả BGP peer. Cho dù nhận ra hay không thì nó cũng không được truyền đi cho
Peer khác [10].
1.7.1. Thuộc tính Next Hop
Là một thuộc tính well-known mandatory [10]. Nó tương tự như trong IGP,
để đến được network thì next hop là địa chỉ IP của router quảng bá route.
+ đối với EBGP: next hop là địa chỉ IP của láng giềng quảng bá route.
+ đối với IBGP: Nơi mà route được quảng bá từ trong cùng AS thì next hop
là địa chỉ IP của láng giềng quảng bá route. Còn đối với route được quảng bá vào
AS từ EBGP, thì next hop từ EBGP không được thay đổi vào trong IBGP, next
hop là địa chỉ IP của EBGP láng giềng mà nó học được.

24


+ Khi một route được quảng bá trong một môi trường đa truy cập (multiaccess) như Ethernet, frame relay, thì next hop là địa chỉ IP của các cổng giao
tiếp của router.
Ví dụ:

Hình 1.6: Minh họa thuộc tính Next Hop

- Trong ví dụ này thì RTC chạy một phiên thông tin EBGP với RTZ và
IBGP với RTA.
- RTC học được route 128.213.1.0 từ RTZ với next hop là 1.1.1.1 do RTC
nhận được route 128.213.1.0 đến từ láng giềng RTZ bởi next hop 1.1.1.1, khi nó
cập nhật sang RTA thì next hop IP address không có thay đổi, do dó RTA có
next hop là 1.1.1.1.Như chúng ta có thể thấy đối với RTA thì next hop là 1.1.1.1
là không thể đến được.
1.7.2. Thuộc tính AS_Path
Là một thuộc tính Well-known mandatory [10]. Nó là tuần tự của các số AS
mà route đã truyền qua để đến đích. AS đầu tiên truyền route sẽ thêm số AS của
nó và truyền đi sang EBGP peer của nó. Sau đó thì mỗi AS mà nhận route này sẽ
truyền route này sang EBGP peer khác và gán thêm số AS của nó vào đầu danh
sách các số AS. Danh sách cuối cùng sẽ là tất cả các số AS mà route đã được
truyền đi qua, với số AS của AS mà khởi tạo route ban đầu nằm ở cuối danh
sách. Và danh sách này có mang tuần tự các số AS mà route đã đi qua.

25


×