Está en la página 1de 47

Báo cáo thực tập cơ sở chuyên ngành GVHD : Nguyễn Đức Tâm

Chương I: Tổng Quan BGP


I.1.Khái niệm

Như ta đã biết Internet được tạo bởi rất nhiều các Autonomous System. BGP được sử dụng để
chia sẻ thông tin định tuyến giữa các AS khác nhau. BGP sử dụng giao thức vận chuyển tin cậy
(reliable transport protocol) để trao đổi thông tin định tuyến đó chính là Transmission Control
Protocol (TCP). BGP sử dụng cổng 179 để thiêt lập kết nối. BGP hỗ trợ variable-length subnet mask
(VLSM), classless interdomain routing (CIDR), và summarization. Điều đáng chú ý về BGP là nó
không quan tâm về intra-AS routing, nó tin tưởng rằng các IGP được sử dụng trong AS sẽ đảm nhiệm
intra-AS routing. Mà nó chỉ đề cập tới inter-AS routing. Một BGP speaking device sẽ chia sẻ thông
tin đến được mạng với neighbor của nó. Thông tin đến được mạng chứa đựng dữ liệu dựa trên các AS
khác nhau mà nó đi qua. Thông tin này sẽ được BGP spaking device để tạo graph của tất cả các AS
đang sử dụng. Graph đó sẽ giúp cho BGP loại bỏ được routing loop và đảm bảo hiệu lực của policy
cho AS của nó.

hình1.1 Bảng các giao thức định tuyến động

Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM


Báo cáo thực tập cơ sở chuyên ngành GVHD : Nguyễn Đức Tâm
I.2: Đặc điểm của BGP

+ Sử dụng giao thức định hướng kết nối với những cải tiến:

- Bản tin cập nhật là tin cậy

- cập nhật không theo chu kì

- nhiều thông số tính metrics

+ Được dùng để thiết kế mạng có quy mô rất lớn

BGP là một giao thức định tuyến dạng path-vector nên việc chọn lựa đường đi tốt nhất thông thường
dựa trên một tập hợp các thuộc tính được gọi là ATTRIBUTE. Do sử dụng metric khá phức tạp, BGP
được xem là một giao thức khá phức tạp. Nhiệm vụ của BGP là đảm bảo thông tin liên lạc giữa các AS,
trao đổi thông tin định tuyến giữa các AS, cung cấp thông tin về trạm kế cho mỗi đích đến. BGP sử
dụng giao thức TCP cổng 179. Các giao thức nhóm distance vector thường quảng bá thông tin hiện có
đến các router láng giềng, còn path vector chỉ ra chính xác danh sách toàn bộ đường dẫn đến đích.
Ngoài ra các giao thức định tuyến hoạt động dùng path vector giúp việc xác định vòng lặp trên mạng
rất tốt bằng cách xem xét các con đường mà các router khác gởi về xem có chính bản thân AS trong đó
hay không, nếu có sẽ biết được ngay là lặp, và sẽ loại bỏ.

BGP hỗ trợ cho các địa chỉ CIDR (Classless Interdomain Routing). BGP cho phép dùng xác thực và
BGP có các cơ chế keepalive định kỳ nhằm duy trì quan hệ giữa các BGP peers.

Trong giai đoạn ban đầu của của phiên thiết lập quan hệ BGP, toàn bộ các thông tin routing-update sẽ
được gửi. Sau đó, BGP sẽ chuyển sang cơ chế dùng trigger-update. Bất kỳ một thay đổi nào trong hệ
thống mạng cũng sẽ là nguyên nhân gây ra trigger-update.

Một trong các đặc điểm khác biệt nhất của BGP là trong các routing-update của nó. Khi ta xem xét các
BGP update, ta sẽ nhận thấy các routing update này là khá chính xác. BGP không quan tâm đến việc
giao tiếp để có đầy đủ kiến thức của tất cả các subnet bên trong một công ty mà BGP quan tâm đến
việc chuyển tải đầy đủ thông tin để tìm một AS khác. Các BGP update thực hiện quá trình
summarization đến một mức tối đa bằng cách cho phép một số AS, cho phép một số prefix và một vài
thông tin định tuyến. Tuy nhiên, một phần nhỏ của BGP update là khá quan trọng. BGP đảm bảo rằng
lớp transport đã truyền các update và các cơ sở dữ liệu về đường đi đã được đồng bộ. BGP có thể được
hiện thực bao gồm giữa các AS khác nhau hay trong cùng 1 AS. Khi dùng BGP để kết nối các AS khác
nhau, BGP được gọi là eBGP. Giao thức này cũng có thể được dùng để mang thông tin giữa các router
eBGP trong một AS. Khi đó BGP được gọi là iBGP.

Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM


Báo cáo thực tập cơ sở chuyên ngành GVHD : Nguyễn Đức Tâm

Trong một AS ta sử dụng giao thức định tuyến nội IGP (ví dụ như RIP, ISIS, EIGRP, OSPF) nhưng khi
ra ngoài một AS thì phải sử dụng một giao thức khác. Vấn đề ở đây chính là mục đích của các IGP và
EGP không giống nhau. Các IGP thực hiện định tuyến gói đi từ nguồn đến đích mà không cần quan
tâm đến chính sách định tuyến (policy). Trong khi ra khỏi phạm vi một AS thì chính sách định tuyến lại
là vấn đề quan trọng . Xét ví dụ sau:

AS4---AS1---AS2---AS3---(C Company)
|........................................|
|........................................|
B Company-----------A Company

Giả sử A muốn truyền dữ liệu đến AS4. A và B là 2 đối thủ của nhau. B không muốn chuyển dữ liệu
cho công ty A nên A chỉ có thể chuyển dữ liệu thông qua AS3, AS2, AS1 để đến được AS4, mặc dù
con đường thông qua công ty B có thể là tối ưu nhất. Giả sử C thuộc AS3 cũng muốn đến AS4 nhưng C
là đối tác của B nên B sẵn sàng cho quá giang. Như vậy A và C có cùng một đích đến nhưng phải đi
theo những cách khác nhau. Các IGP không thể làm được điều này vì một nguyên nhân chủ yếu chính
là các giao thức đó đều liên quan đến metric hay là cost mà hoàn toàn không quan tâm đến chính sách
định tuyến. Nó chỉ biết cố gắng làm sao chuyển được các gói dữ liệu đến đích một cách hiệu quả và tối
ưu nhất

Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM


Báo cáo thực tập cơ sở chuyên ngành GVHD : Nguyễn Đức Tâm
I.3: Thuật Ngữ BGP

Stt Thuật ngữ Định nghĩa

1 Aggregation Là quá trình tóm tắt các route – (summarization)

2 Attribute Tương tự như metric. Các biến này sẽ mô tả các đặc điểm của
đường đi tới một địa chỉ đích nào đó. Khi được định nghĩa, các
đặc điểm này có thể được dùng để ra quyết định về nên đi theo
đường đi nào.

3 Autonomous Định nghĩa mạng của một tổ chức. Trong một AS, các router
System sẽ có cùng giao thức định tuyến. Nếu ta kết nối ra Internet, chỉ
số AS này phải là duy nhất và được cung cấp bởi các ủy ban
Internet.

4 Exterior Gateway Thuật ngữ chung cho một giao thức được chạy giữa các AS
Protocol (EGP) khác nhau. Cũng có một giao thức có tên là EGP là tiền thân
của BGP

5 EBGP Gửi thông tin định tuyến giữa các AS khác nhau

6 Interior Gateway Đây là các giao thức định tuyến chạy bên trong một AS. Trong
Protocol (IGP) quá khứ, thuật ngữ gateway thường được dùng để định nghĩa
một router.

7 IBGP Giao thức này được dùng bên trong một AS. Các router không
yêu cầu phải là láng giềng của nhau về phương diện kết nối vật
lý và thường ở ngoài rìa của một AS. IBGP được dùng giữa
các router chạy BGP trong cùng một AS.

8 Originator-ID Đây là thuộc tính của BGP. Nó là một thuộc tính tùy chọn.
Thuộc tính này sẽ chứa giá trị routerID của router đã phát sinh
ra đường đi đó. Mục đích của thuộc tính này là ngăn ngừa
routing loop. Nếu một router nhận được một update từ chính
nó, router đó sẽ bỏ qua update đó.

9 policy-based Cơ chế này cho phép người quản trị lập trình giao thức định
routing tuyến bằng cách định nghĩa traffic sẽ được route như thế nào.
Đây là một dạng của định tuyến tĩnh. PBR độc lập với các giao

Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM


Báo cáo thực tập cơ sở chuyên ngành GVHD : Nguyễn Đức Tâm

thức định tuyến và dùng route-map để tạo ra các quá trình


riêng lẽ để áp đặt các quyết định định tuyến.

10 prefix list Prefix list được dùng như một thay thế cho distribute-list để
kiểm soát BGP học hoặc quảng bá các cập nhật như thế nào.
Prefix-list thì nhanh hơn, uyển chuyển hơn và ít tốn tài nguyên
của hệ thống hơn.

11 Route-reflector Đây là router được cấu hình để chuyển các routes từ các router
iBGP khác. Khi cấu hình route-reflector, các iBGP không cần
phải fully-mesh nữa. Một mạng fully-mesh thì không có khả
năng mở rộng.

12 Route-Reflector Một client là một router có một TCP session với một router
Client khác hoạt động như một route-reflector-server. Client không
cần thiết phải thiết lập peer với các client khác.

13 Route_reflector Một cluster là một nhóm bao gồm một route-reflector và


Clustor clients. Có thể có nhiều hơn một route-reflector server trong
một cluster.

14 transit autonomous Là AS được dùng để mang các BGP traffic qua các AS khác.
system

I.4.Hoạt động của BGP (BGP Operation)

BGP cho phép truyền thông thông tin định tuyến giữa các AS khác nhau trải khắp thế giới. Hình dưới
cho biết rất nhiều AS và chúng sử dụng BGP để chia sẻ thông tin đinh tuyến giữa các AS khác nhau.
Chúng sử dụng 2 dạng BGP để thực hiện điều đó:

Internal BGP (iBGP)

External BGP (eBGP)

Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM


Báo cáo thực tập cơ sở chuyên ngành GVHD : Nguyễn Đức Tâm

Tất cả BGP speaking device cùng trong một AS sẽ sử dụng iBGP để liên lạc với một BGP speaking
khác. Và đối với các BGP speaking trong cùng AS sẽ phải thiết lập peer với các BGP speaking khác.
Điều đó có nghĩa là chúng ta phi cấu hình full mesh cho iBGP để hoạt động một cách đúng cách. Hay
nói cách khác tất cả các thiết bị phải thiết lập kết nối TCP với thiết bị khác.
eBGP được sử dụng giữa BGP speaking device của các AS khác nhau. Giông như iBGP, BGP speking
device tham gia phi có kết nối layer-3 giữa chúng. Sau đó TCP sẽ được sử dụng bởi eBGP để thiết lập
peer session.

Sau khi đã thiết lập được peer, BGP speaking device sẽ sử dụng thông tin mà chúng có được từ những
trao đổi để tạo một BGP graph.
Chỉ một lần BGP speaking device thiết lập được peer cũng như tạo được BGP graph, chúng mới bắt
đầu quá trình trao đổi thông tin định tuyến. Lúc khởi tạo BGP speaking sẽ trao đổi toàn bộ BGP routing
table của nó. Sau đó chúng sẽ trao đổi thông tin update từng phần giữa các peer với nhau và trao đổi
bản tin KEEPALIVE dể duy trì kết nối.

I.4.1. Định dạng mào đầu của bản tin (Message Header Format)

BGP sẽ tiến hành xử lý bản tin chỉ khi toàn bộ bản tin được nhận. BGP yêu cầu mỗi bản tin có kích
thước nhỏ nhất là 19 octet và max là 4096 octet. Header của message bao gồm những thông tin sau:

+ Marker: trường này dài 16 byte. Trường Marker được sử dụng để xác định sự mất đồng bộ giữa một

Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM


Báo cáo thực tập cơ sở chuyên ngành GVHD : Nguyễn Đức Tâm
tập BGP peer và chứng thực các bản tin BGP đến (incoming BGP message). Giá trị của trường này phụ
thuộc vào loại bản tin. Nếu là một OPEN message nó sẽ không chứa thông tin chứng thực và Marker có
giá trị là toàn bit 1.

+ Length: trường này có độ dài là 2 byte. Trường Length cho biết độ dài của toàn bộ bản tin. Giá trị của
nó biến đổi từ 19 cho đến 4096.
+ Type: trường này có độ dài 1 byte. Nó cho biết loại bản tin được sử dụng. Cụ thể như hình bên dưới:

a/ Bản tin OPEN ( OPEN Message)

Bản tin OPEN là loại bản tin đầu tiên được gửi sau khi phiên kết nối TCP được thiết lập. Khi bản tin
OPEN được chấp nhận, một bản tin KEEPALIVE xác nhận bản tin OPEN được gửi trả lại. Sau khi bản
tin KEEPALIVE được gửi để xác nhận bản tin OPEN, bản tin UPDATE từng phần, bản tin
NOTIFICATION và bản tin KEEPALIVE sẽ được trao đổi giữa các BGP peer.

Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM


Báo cáo thực tập cơ sở chuyên ngành GVHD : Nguyễn Đức Tâm
Bản tin OPEN có định dạng như sau:

- Version: trường này có chiều dài 1 byte và được sử dụng để xác định phiên bản của các BGP speaker
từ kết quả của quá trình đàm phán với neighbor. Cụ thể quá trình này như sau: BGP speaker sẽ thử đàm
phán với giá trị version number cao nhất mà cả 2 cùng hỗ trợ. Nếu giá trị version number được xác
định trong trường version mà BGP speaker khác không hỗ trợ, một bản tin lỗi sẽ được gửi về cho nới
gửi và phiên kết nối TCP sẽ bị ngắt. Quá trình trên sẽ tiếp tục cho đến khi có một giá trị version
number chung được thiết lập.

- My Autonomous System: trường này có độ dài 2 byte và nó chứa đựng Autonolous System Number
của BGP speaker gửi. Trường này sẽ thông báo cho BGP speaker nhận biết được giá trị của AS
Number của neighbor của nó. Và giá trị đó cũng được sử dụng để tạo nên BGP graph của BGP speaker.

- Hold Time: trường này có độ dài 2 byte. Nó thông báo cho BGP speaker nhận giá trị đề nghị hold

time của BGP speker gửi. Sau khi BGP speaker nhận được giá trị hold time từ neighbor nó sẽ tính toán
và đưa ra giá trị hold time trong trường Hold Time. Nó sẽ xác định thời gian tối đa mà nơi nhận phải
đợi một thông điệp từ nơi gửi (KEEPALIVE hay UPDATE
message). Mỗi lần một bản tin được nhận giá trị hold time được reset về 0.

- BGP Identifier: trường này có độ dài 4 byte và chứa đựng giá trị BGP identifier của BGP speaker
gửi. BGP identifier tưng tự RID trong OSPF, nó xác định duy nhất một BGP speaker. BGP identifier
chính là địa chỉ IP cao nhất của loopback interface. Nếu loopback không được cấu hình thì nó chính là
địa chỉ IP cao nhất của bất kỳ interface nào của router. Giá trị này được xác định chỉ một lần và giá trị
này không thay đổi trừ phi khởi động lại BGP process.

- Optional Parameters Length: trường này có độ dài 1 byte và nó thể hiện tổng độ dài của trường -
----- Optional Parameters. Nếu giá trị trường này là 0 cho biết Optional Parameters không được thiết
lập.

- Optional Parameters: trường này có độ dài biến đổi và chứa đựng một danh sách các optional
parameters mà chúng sẽ được sử dụng trong quá trình đàm phán với neighbor. Mỗi một optional
parameter được biểu diễn bởi bộ ba: <parameter type, parameter length, parameter value>.

Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM


Báo cáo thực tập cơ sở chuyên ngành GVHD : Nguyễn Đức Tâm

Định dạnh cụ thể như hình sau:

Parameter Type: trường này có độ dài 1 byte và nhận ra từng thông số riêng lẻ.
Parameter Length: có độ dài 1 byte và chứa đựng độ dài của trường Parameter Value.
Parameter Value: trường này có độ dài thay đổi và giải thích dựa trên giá trị của trường Parameter
Type.

b/ Bản tin UPDATE (UPDATE Message)

Sau khi BGP speaker trở thành peer, chúng sẽ trao đổi bản tin UPDATE từng phần (incremental
UPDATE message) chứa đựng thông tin định tuyến cho BGP. Thông tin này chứa trong bản tin
UPDATE được sử dụng để xây dựng môi trường định tuyến không có loop (loop-free routing
environment).
Bản tin UPDATE không chỉ chứa tuyến kh thi để sử dụng mà nó còn chứa những tuyến không kh thi
để loại bỏ. Một bản tin UPDATE có thể chứa tối đa một feasible route để sử dụng và nhiều unfeasible
route để loại bỏ. Đinh dạng của bản tin UPDATE như sau:

+ Unfeasible Routes Length: trường này có độ dài 2 byte và chứa đựng độ dài của trường Withdrawn
Routes. Giá trị của nó là 0 cho biết trường Withdrawn Routes không được thể hiện trong bản tin
UPDATE.

+ Withdrawn Routes: trường này có độ dài thay đổi và chứa một danh sách những tiền tố địa chỉ IP (IP
address prefixes)sẽ bị loại bỏ. Với mỗi tiền tố địa chỉ IP có định dạng như sau:

Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM


Báo cáo thực tập cơ sở chuyên ngành GVHD : Nguyễn Đức Tâm

- Length: trường này có độ dài 1 byte và chứa đựng độ dài (đơn vị là bit) của IP address prefix. Nếu có
giá trị là 0 có nghĩa là tất cả IP address prefix.
- Prefix: có giá trị biến đổi và chứa đựng IP address prefix.
- Total Path Attributes Length: trường này có độ dài 2 byte và chứa đựng độ dài của trường Path
Attributes.

- Path Attributes: trường này có độ dài thay đổi và chứa đựng một chuỗi các thuộc tính về path.
Trường Path Attributes được thể hiện trong mỗi bản tin UPDATE. Thông tin chứa đựng trong trường
Path Attribute được sử dụng để theo dõi thông tin định tuyến đặc biệt và cũng được sử dụng cho
routing decision và filtering. Mỗi path attribute được phân chia vào một bộ ba (triplet): <attribute type,
attribute length, attribute value>

- Attribute Type: có độ dài 2 byte và bao gồm một byte Attribute Flags và một byte Attribute Type
Code.

• Attribute Flags: có 4 trạng thái như sau:

+ Well-known mandatory: thuộc tính này phải được thừa nhận bởi sự thi hành của tất cả BGP speaker
và phải được trình bày trong bản tin UPDATE. Một phiên BGP sẽ bị ngắt nếu một thuộc tính
wellknown attribute không được trình bày trong bn tin UPDATE.

+ Well-known discretionary: thuộc tính này phải được thừa nhận bởi sự thi hành của tất cả BGP

speaker nhưng không nhất thiết nó phải có trong bản tin UPDATE.

+ Optional transitive: thuộc tính này là một tính tuỳ chọn và nó có thể không được thừa nhận bởi sự thi
hành của BGP speaker. Chú ý giá trị này không thay đổi nếu nó không được thừa nhận bởi BGP
speaker.

+ Optional non-transitive: Nếu thuộc tính này không được thừa nhận bởi BGP speaker và transitive
flag không được thiết lập thì thuộc tính này sẽ bị loại bỏ.

10

Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM


Báo cáo thực tập cơ sở chuyên ngành GVHD : Nguyễn Đức Tâm

+ Attribute Type Code: xác định loại Path Attribute. Cụ thể được minh hoạ như hình sau:

Trong đó:

ORIGIN: là một well-known mandatory attribute. AS mà tạo ra thông tin định tuyến sẽ tạo ra thuộc tính
ORIGIN attribute. Nó có trong tất cả bản tin UPDATE để nhân bản thông tin định tuyến.

11

Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM


Báo cáo thực tập cơ sở chuyên ngành GVHD : Nguyễn Đức Tâm

AS_PATH: là một well-known mandatory attribute. Nó bao gồm một danh sách của tất cả các AS mà
thông tin định tuyến đã đi qua. Thành phần AS_PATH bao gồm một chuỗi của các AS path segment.
Mỗi AS path segment được biểu diễn bằng bộ ba (triplet): <path segment type, path segment length,
path segment value>. Khi một BGP speaker quảng bá một route mà nó học được tới BGP speaker khác
trong AS của nó, BGP speaker sẽ không sửa đổi (modify) AS_PATH attribute. Khi một BGP speaker
quảng bá một route mà nó được tới BGP speaker khác ở ngoài AS của nó, BGP speaker sẽ sửa đổi

(modify) AS_PATH.

- Khi một BGP speaker tạo ra một route.

Nó sẽ bao gồm một empty AS_PATH attribute khi quảng bá tới BGP speaker trong AS của nó_đó
chính là iBGP peer.

BGP speaker sẽ bao gồm AS number trong AS_attribute khi qung bá tới BGP speaker ở ngoài AS của
nó_đó chính là eBGP peer.

NEXT_HOP: là một well-known mandatory attribute, nó xác định địa chỉ IP của router biên (border
router) mà được sử dụng như hop tiếp theo để tới đích xác định nào đó.

MULTI_EXIT_DISC: là một optional non-transitive attribute. Nếu có nhiều mục nhập tới cùng một
AS, nó có thể được sử dụng để xác định mục nhập nào được sử dụng. Mục nhập nào có metric nhỏ nhất
sẽ được sử dụng.

LOCAL_PREF: là một well-known discretionary attribute. Thuộc tính này được sử dụng bởi BGP
speaker để thiết lập độ ưu tiên của một route, nó được sử dụng để cho biết độ ưu tiên cao hơn của một
đường để thoát khỏi AS. BGP speaker sẽ quảng bá thuộc tính này tới BGP peer của nó.

ATOMIC_AGGREGATE: là một well-known discretionary attribute. Khi một BGP speaker nhận được
những route trùng khớp từ peer của nó, nó có thể thiết lập thuộc tính ATOMIC_AGGREGATE. Thuộc
tính này sẽ được thiết lập nếu BGP speaker chọn được một route với subnet mask ngắn hơn subnet
mask của một route khác.

AGGREGATOR: là một optional transitive attribute. Khi một BGP speaker thực hiện route aggregator,
nó sẽ tính đến thuộc tính AGGREGATOR bao gồm AS number của nó và BGP identifier.

COMMUNITY: là một optional transitive attribute. Thuộc tính này sẽ phân nhóm các bằng cách gằn
thẻ (tag) vào những route có một số đặc điểm chung.

ORIGINATOR_ID: là một optional non-transitive attribute. Một BGP speaker thực hiện vai trò của
một route reflector sẽ tạo ra thuộc tính này. Thuộc tính ORIGINATOR_ID sẽ bao gồm BGP identifier
của route reflector. Thuộc tính này chỉ có ý nghĩa local AS.

12

Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM


Báo cáo thực tập cơ sở chuyên ngành GVHD : Nguyễn Đức Tâm

CLUSTER_LIST: là một optional non-transitive attribute. Thuộc tính này bao gồm một danh sách giá
trị CLUSTER_ID. Khi một route reflector reflect một route, nó sẽ gắn giá trị CLUSTER_ID của nó vào
CLUSTER_LIST.

Network Layer Reachability Information: Với BGP version 4 nó hỗ trợ Classless Interdomain Routing
(CIDR). Để thực hiện được điều này nó sử dụng trường Network Layer Reachability Information
(NLRI). Trường này có 2 phần sau:

Length: cho biết độ dài của IP address prefix.


Prefix: có độ dài thay đổi và chứa đựng IP address prefix thực sự.

c/ Bản tin KEEPALIVE (KEEPALIVE Message)

Bản tin KEEPALIVE được sử dụng để đảm bảo rằng peer vẫn tồn tại. Bản tin KEEPALIVE được cấu
trúc bởi BGP Message Header. Bản tin KEEPALIVE được gửi trong trường hợp restart giá trị hold
timer. Chu kỳ gửi bản tin KEEPALIVE có giá trị bằng 1/3 giá trị hold time. Bản tin KEEPALIVE
không được gửi nếu một bản tin UPDATE trong suôt khong chu kỳ này.

d/ Bản tin NOTIFICATION (NOTIFICATION Message)

Bất cứ khi nào có một lỗi xảy ra trong một BGP session, BGP speaker phát ra một bản tin
NOTIFICATION. Ngay sau khi BGP speaker được phát ra thì phiên kết nối sẽ bị ngắt. Bản tin
NOTIFICATION bao gồm error code, error sub-code sẽ cho phép người quản trị thuận lợi hơn trong
quá trình gỡ rối. Định dạng của bản tin NOTIFICATION như sau:

I.4.2. Neighbor Negotiation

- Trước khi quá trình BGP liên lạc xảy ra, BGP speaker phải trở thành neighbor hay peer của nhau.
Bước đầu trong quá trình thiết lập peer là BGP speaker thiết lập phiên kết nối TCP sử dụng port 179
với BGP speaker khác. Nếu điều này không xảy ra thì BGP speaker sẽ không bao giờ trở thành peer
của nhau. Sau khi phiên kết nối TCP được thiết lập, BGP speaker gửi bản tin OPEN tới peer của nó.
Tiếp đó là các bản tin UPDATE, NOTIFICATION, KEEPALIVE sẽ được trao đổi.

- Quá trình thiết lập neighbor đó được gọi là Finite State Machine. Quá trình trên có 6 trạng thái có

13

Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM


Báo cáo thực tập cơ sở chuyên ngành GVHD : Nguyễn Đức Tâm

thể xảy ra trong quá trình thiết lập quan hệ với neighbor.
Idle state: là trạng thái đầu tiên mà BGP speaker trải qua khi khởi tạo một phiên BGP. Ơ trạng thái này
BGP speaker đợi một start event, từ chối tất cả BGP kết nối đến và không khởi tạo bất kỳ một BGP kết
nối nào (BGP connection). Start event có thể được tạo ra bởi BGP speaker hay quản trị hệ thống. Chỉ
một lần start event xảy ra, BGP speaker sẽ khởi tạo tất cả tài nguyên BGP của nó. BGP sẽ khởi tạo
ConnectRetry timer, khởi tạo một kết nối TCP tới BGP speaker mà muốn trở thành peer với nó và cũng
lắng nghe start event từ BGP speaker khác. BGP speaker sẽ thay đổi trạng thái của nó sang Connection.
Nếu bất kỳ lỗi nào xảy ra trong xuốt quá trình này, phiên TCP sẽ bị ngắt và trạng thái của BGP speaker
sẽ trở lại Idle. Và một start event mới cần phải xảy ra để BGP speaker thử kết nối lại lần nữa. Nếu start
event được tự động sinh ra, BGP speaker sẽ đợi 60 giây trước khi thử lại (retry) kết lối. Và mỗi lần
retry kế tiếp thời gian chờ sẽ tăng lên gấp đôi.

- Connection state: Trong trạng thái này, BGP sẽ đợi kết nối TCPđược thiết lập. Chỉ một lần kết nối
được thiết lập thành công, BGP speaker sẽ làm sạch ConnectRetry timer, nó sẽ gửi một bản tin OPEN
tới remote BGP speaker và chuyển trạng thái của nó sang OpenSent. Nếu kết nối TCP không được kết
nối thành công, BGP speaker sẽ khởi tạo lại ConnectRetry timer, và tiếp tục nghe một yêu cầu kết nối
khác tử remote BGP speaker, và chuyển trạng thái sang Active. Nếu ConnectRetry timer hết hạn, BGP
speaker sẽ khởi tại lại ConnectRetry timer và tiếp tục lắng nghe một yêu cầu kết nối từ remote BGP
speaker và nó vẫn giữ trạng thái của nó ở Connection state. Nếu bất cứ loại event khác gây lên lỗi thì
BGP speaker sẽ đóng kết nối TCP và chuyển trạng thái của nó về Idle. Tất cả các start even đều sẽ bị lờ
đi trong Connection state.

- Active state: trong trạng thái này, BGP speaker thử khở tạo một phiên kết nối TCP với BGP speaker
mà muốn trở thành peer với nó. Chỉ một lần kết nối thành công, BGP speaker sẽ xoá sạch
ConnectRetrry timer, sau đó BGP speaker sẽ gửi một bản tin OPEN tới remote BGP speaker và chuyển
trạng thái sang OpenSent. Nếu ConnectRetry timer hết hạn, BGP speaker sẽ thiết lập lại thời gian, khởi
tạo một phiên kết nối TCP và tiếp tục lắng nghe các yêu cầu kết nối từ remote BGP speaker và chuyển
trạng thái sang Connection. Nếu BGP speaker xác định được một BGP speaker khác thử thiết lập kết
nối với nó và địa chỉ IP của remote BGP speakerkhông phải là địa chỉ mong muốn, BGP speaker sẽ từ
chối yêu cầu kết nối này và thiết lập lại ConnectRetry timer, tiếp tục lắng nghe một yêu cầu kết nối
khác từ remote BGP speaker và giữ trạng thái Active. Nếu bất cứ loại event khác nào gây ra lỗi,BGP
speaker sẽ đóng kết nối TCP và chuyển trạng thái về Idle. Tất cả start event sẽ bị lờ đi ở trạng thái
Active.

- OpenSent state: ở trạng thái này, BGP speaker đợi để nhận một bản tin OPEN từ remote BGP
speaker. Chỉ một lần BGP speaker nhận bản tin OPEN, tất cả các trường sẽ được kiểm tra.Nếu một lỗi
được xác định bởi BGP speaker, nó sẽ gửi một bản tin NOTIFICATION tới remote BGP speaker và
ngắt kết nối TCP, và chuyển trạng thái của nó sang Idle. Nếu không có lỗi nào được xác định, BGP
speaker sẽ gửi một bản tin KEEPALIVE tới remote BGP speaker, thiết lập các giá trị keepalive timer
và hold timer để đàm phán với neighbor. BGP speaker sẽ đàm phán để điều chỉnh giá trị hold time. Nếu
hold time giá trị là 0, có nghĩa là keepalive timer và hold timer sẽ không bao giờ được thiết lập lại. Sau
quá trình đàm phán về hold timer, BGP speaker sẽ xác định kết nỗi là iBGP hay eBGP.

14

Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM


Báo cáo thực tập cơ sở chuyên ngành GVHD : Nguyễn Đức Tâm

Nếu 2 BGP speaker cùng trong một autonomous system, loại BGP sẽ là iBGP.
Nếu chúng thuộc 2 autonomous system khác nhau, loại BGP sẽ là eBGP.

Chỉ một lần loại BGP được xác định, trạng thái của nó sẽ chuyển sang OpenConfirm. Trong suốt trạng
thái này, có thể BGP speaker sẽ nhận được một bản tin disconnect. Nếu điều này xảy ra, BGP speaker
sẽ chuyển trạng thái sang Active. Nếu bất kỳ event khác nào gây ra một lỗi, BGP speaker sẽ đóng kết
nối TCP và chuyển trạng thái sang Idle. Tất cả các start event sẽ bị lờ đi trong trạng thái OpenSent.

- OpenConfirm state: ở trạng thái này, BGP speker đợi để nhận một bản tin KEEPALIVE từ remote
BGP speaker. Chỉ một lần bản tin KEEALIVE được nhận, BGP speaker sẽ thiết lập lại hold timer và
chuyển trạng thái sang Established. Tại thời điểm này mối quan hệ peer giữa chúng đã được thiết lập.
Nếu một bản tin NOTIFICATION được nhận thay thế cho bản tin KEEPALIVE, BGP speaker sẽ thay
đổi trạng thái sang Idle. Trong trường hợp hold timer hết hạn trước khi nhận được bản tin KEEPALIVE
từ remote BGP speaker, kết thúc kết nối TCP chuyển trạng thái sang Idle. BGP speaker có thể nhận
được bản tin disconnect từ peer của nó. Nếu điều này xảy ra, BGP speaker chuyển trạng thái sang Idle.
Bất cứ loại event khác gây lên lỗi, BGP speaker sẽ đóng kết nối TCP và chuyển trạng thái sang Idle.
Tất cả các start event sẽ bị lờ đi trong trạng thái OpenConfirm.

- Established state: chỉ một lần một BGP speaker đạt đến trạng thái Established, tất cả các quá trình
đàm phán với neigbor đã hoàn tất. Ơ trạng thái này BGP peer sẽ trao đổi bản tin UPDATE và bản tin
KEEPALIVE. Mỗi lận BGP speaker nhận được một bn tin UPDATE hay bn tin KEEPALIVE, nó sẽ
thiết lập lại hold timer của nó. Nếu hold timer hết hạn trước khi nhận được một bản tin UPDATE hay
bản tin KEEPALIVE, BGP speaker sẽ gửi một bn tin NOTIFICATION tới peer của nó, ngắt phiên kết
nối TCP và chuyển trạng thái sang Idle. Bất cứ event khác khiến cho BGP speaker tạo ra một bản
NOTIFICATION thì BGP speaker sẽ chuyển trạng thái về Idle. Tất cả Start event sẽ bị lờ đi trong trạng
thái Established.
Tip: Chỉ một lần BGP peer đạt đến trạng thái Established, chúng sẽ bắt đầu quá trình trao đổi thông tin
định tuyến.

I..5. Khi dùng BGP và khi không dùng BGP (When and When Not to Use BGP)

I.5.1.Khi nào thì dùng BGP?

Khi mạng của một công ty kết nối đến nhiều ISP hoặc các AS khác và đang dùng các kết nối này.
Nhiều công ty dùng các kết nối khác nhau nhằm mục đích dự phòng. Chi phí có thể giảm thiểu nếu tất
cả các kết nối đều được dùng. Trong trường hợp này, PBR có thể cần thiết để triển khai trên từng kết
nối. BGP còn được dùng khi chính sách định tuyến của nhà cung cấp dịch vụ và của công ty khác nhau.
Hoặc traffic trong công ty cần phải được phân biệt với traffic của ISP. Mạng của hai tổ chức không thể
xuất hiện như một AS. Một trường hợp khác phải dùng BGP là khi mạng của ta là một ISP. Nếu là một
ISP, hệ thống mạng này phải cho phép các traffic khác đi qua AS của mình. Lúc này nó hoạt động như
một transit domain.

15

Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM


Báo cáo thực tập cơ sở chuyên ngành GVHD : Nguyễn Đức Tâm

I.5.2Khi nào thì không dùng BGP?

Một hệ thống mạng đơn giản là một hệ thống mạng dễ dàng quản lý và bảo trì. Đây là lý do chính để
tránh dùng BGP trong một hệ thống mạng. Vì vậy, nếu hệ thống mạng có các đặc điểm sau, nên dùng
những cách thức khác, chẳng hạn như static hoặc default-routing.

* Mạng của ISP và mạng của công ty có chung một chính sách định tuyến

* Mặc dù công ty của bạn có nhiều kết nối đến ISP, các kết nối này là dự phòng và vì vậy không
cần một kế hoạch để kích hoạt nhiều hơn một kết nối đến Internet.

* Tài nguyên mạng là có giới hạn, chẳng hạn như bộ nhớ và CPU của router.

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.

I.6. So Sánh IBGP và EBGP

- Các thông số trao đổi trong bản tin update của IBGP không thay đổi

- bởi vì BGP chạy split horizon, do vậy các tuyến đường học từ hàng xóm IBGP sẽ không được quản bá
tới hàng xóm IBGP khác.

- Thông số Local-preference và med chỉ quảng bá trong phiên IBGP

- Hàng xóm EBGP là kết nối trực tiếp, IBGP có thể kết nối từ xa

I.7. Các bước xây dựng Bảng định tuyến trong BGP

- Nhận bản tin update

- Xây dựng bảng BGP

- Lựa chọn tuyến đường BGP

- Quảng bá tuyến đường BGP

- Xây dụng bảng định tuyến BGP

- Quảng bá mạng Cục bộ

16

Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM


Báo cáo thực tập cơ sở chuyên ngành GVHD : Nguyễn Đức Tâm

Chương II. Các Thông số tuyến đường trong BGP


Có 2 dạng thông số về truyến đường trong BGP

→ Well-known:

- Mandatory (origin, as-path, Next-hop...)

- Discretionary ( local preference, atomic aggregate...)

→ Option :

- Non-transitive ( MED, Cluster-list…)

- Transitive (Communities…)

 Các Tiêu chuẩn lựa chọn tuyến đường tốt nhất trong BGP

• loại bỏ tuyến đường nếu next-hop không đúng.

• Chọn giá trị weight cao hơn ( có giá trị trong 1 router).

• Chọn giá trị local-preference cao hơn ( trong 1 AS).

• Chọn nguồn gốc tuyến đường ( Tuyến đường sinh ra từ chính router).

• Chọn giá trị AS-path ngắn hơn ( Chỉ so sánh nhiều dài).

• Chọn giá trị origin nhỏ hơn ( IGP<EGP<unknown).

• Chọn giá trị MED nhỏ hơn.

• Chọn giá trị EBGP ưu tiên hơn IBGP.

• Đối với các tuyến đường IBGP, ưu tiên chọn tuyến đường qua hàng xóm gần nhất.

• Đối với các tuyến đường EBGP, ưu tiên chọn tuyến đường học được sớm hơn

• Chọn giá trị từ router với giá trị BGP router-ID nhỏ hơn

II.1. Thông số AS-path

Thuộc tính AS_path: là một thuộc tính Well-know mandatory.

- 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ố

17

Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM


Báo cáo thực tập cơ sở chuyên ngành GVHD : Nguyễn Đức Tâm

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.

- BGP sử dụng thuộc tính AS_PATH này trong các cập nhật của nó để đảm bảo một mô hình không bị
loop trên Internet. Mỗi route được truyền đi giữa các peer sẽ mang theo một danh sách của các số AS
mà route đã được truyền qua. Nếu route được quảng cáo đến một AS mà khởi tạo ra nó, và một AS
thấy chính nó là một phần trong danh sách các số AS và nó sẽ không chấp nhận route này.

- BGP router sẽ chèn thêm số AS của nó khi quảng cáo bảng định tuyến cập nhật của nó sang một AS
khác. Khi route được truyền qua một BGP router có cùng AS thì danh sách AS_path sẽ giữ nguyên
không thay đổi.

- Trong ví dụ này thì ta thấy route 172.16.10.0/24 được khởi tạo từ AS1 và được truyền đi qua AS2,
AS3, AS4 và truyền ngược trở lại AS1. Nhận thấy rằng mỗi AS truyền route này qua external peer thì
nó thêm số AS của nó vào đầu danh sách AS_path. Khi route truyền ngược trở lại AS1, thì BGB border
router sẻ nhận ra rằng route này đã từng qua nó và không chấp nhận route này.

- Thông tin về AS_path là một thuộc tính để BGP xác đinh đường đi tốt nhất đến đích. Khi so sánh 2
hay nhiêu route, giả sử tất cả các thuộc tính khác đều giống nhau, thì route nào có path ngắn hơn sẻ
được ưu tiên chọn hơn.

18

Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM


Báo cáo thực tập cơ sở chuyên ngành GVHD : Nguyễn Đức Tâm

AS_path và số private AS

- Thông thường để bảo tồn các số AS, thì các khách hàng mà các chính sách định tuyến của họ là sự
mở rộng của các chính sách định tuyến của các nhà cung cấp được ấn định cho các AS không hợp lê.
Vì thế nếu khách hàng là một single-homed hay multihomed của cùng một nhà cung cấp thì nhà cung
cấp yêu cầu khách hàng phải sử dụng số AS lấy từ private pool 64512 đến 65535.. Như vậy thì tất cả
các cập nhật mà nhà cung cấp nhận được từ khách hàng chỉ gồm các số private AS.

- Các số private AS không thể quảng cáo ra internet, vì nó là không duy nhất. Vì lý do này mà các số
private AS được cắt bỏ khỏi danh sách AS_path trước khi route được quảng cáo ra ngoài internet.

Ví dụ:

- Trong ví dụ này thì AS1 cung cấp kết nối internet cho khách hàng AS 65001. Vì khách hàng chỉ kết
nối đến nhà cung cấp này mà không có kế hoach kết nối thêm đến một nhà cung cấp khác trong tương
lai gần nên khác hàng được ấn định một số private AS. Khách hàng nên sử dụng một số AS hợp lệ khi
cần có kết nối đến một nhà cung cập khác nữa.

- Prefix (172.16.220.0/24) được khởi tạo từ AS 65001 có AS_path 65001. Khi AS 1 quảng bá prefix
này ra internet, thì nó sẻ được loại bỏ số private AS. Khi prefix đến internet thì, nó sẻ được xem như là
đã được khởi tạo từ AS1 của nhà cung cấp có AS_path là 1. BGP chỉ loại bỏ số private AS chỉ khi nó
được quang bá sang EBGP peer. Điều này nghĩa là việc loại bỏ số private AS sẽ được cấu hình trên
RTB để kết nối đên RTC.

Cấu hình:

19

Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM


Báo cáo thực tập cơ sở chuyên ngành GVHD : Nguyễn Đức Tâm
RTB(config)#router bgp 1
RTB(config-router)#neighbor 172.16.20.2 remote-as 65001
RTB(config-router)#neighbor 192.168.6.3 remote-as 7
RTB(config-router)#neighbor 192.168.6.3 remove-private-as

II.2: Thông số Next-hop

a.Thuộc tính next hop: là một thuộc tính well-known mandatory, 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: thì 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 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.
> Khi một route được quảng bá trong một môi trường đa truy nhâp(multi-access) như Ethernet, frame
relay, thì next hop là địa chỉ IP của các cổng giao tiếp của router.

- 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.

b. Thuộc tính Next Hop trong môi trường Multiaccess.

Một kết nối mạng được xem là multi-access nếu có hơn 2 host có thể kết nối vào. Các router trong

kết nối mạng multi-access thì cùng chia sẻ chung một địa chỉ subnet và kết nối vật lý trực tiếp với
nhau. Một số môi trường là multi-access như: Ethernet, Frame Relay, ATM.

20

Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM


Báo cáo thực tập cơ sở chuyên ngành GVHD : Nguyễn Đức Tâm

Ví dụ:

- Trong ví dụ này thì ta thấy RTC sể quảng cáo route học được từ RTB, và khi RTC quảng cáo route thì
nó chỉ ra RTB là source của route, Nếu không thì các router khác sẻ phải thực hiện đường đi theo số
hop không cần thiết đó là qua RTC đế các router trong cùng một mạng(segment).
- RTA,RTB,RTC : cùng chia sẻ một môi trường truyền là multi-access. RTA và RTC chạy EBGP, RTC
và RTB chạy OSPF. RTC học mạng 11.11.11.0/24 từ RTB thông qua OSPF, và nó quảng cáo mạng
này đến RTA thông qua EBGP. Vì RTA và RTB chạy khác giao thức định tuyến, nên về logic thì RTA
xem RTC(10.10.10.2) là nẽt hop để đến được 11.11.11.0/24. Tuy nhiên điều này không xảy ra, trạng
thái đúng cho RTA là xem RTB,10.10.10.3 là next hop vì RTB cùng chìa sẻ một môi trường với RTC.

c. Next Hop trong mạng NBMA(Frame Relay)

- Trong mạng NBMA, không có các kết nối trực tiếp giữa các router, mà là chỉ những kết nối ảo được
cấu hình từ mỗi router đến tất cả các router khác. Một lý do quan trọng mà hầu hết các tổ chức đều thự
hiện mô hình hup-and-spoke bởi vì giá cả phải chăng. Trong mô hình hub-and-spoke thì nhiều site ở xa
có các kết nối ảo đến một hay nhiều router ở site trung tâm.

Ví dụ:

21

Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM


Báo cáo thực tập cơ sở chuyên ngành GVHD : Nguyễn Đức Tâm

- Ở đây ta thấy RTC là hub router và RTA, RTB là spoke router. ta thấy các kết nối ảo được đặt ra giữa
RTA và RTC, giữa RTC và RTB, nhưng không có kết nối nào giữa RTA và RTB. RTA nhận được cập
nhật về mạng 11.11.11.0/24 từ RTC và nó sẻ cố gắng sử dụng RTB,10.10.10.3 làm next hop. Điều này
tương tự như trong môi trường mạng multi-access.Nhưng trong trường hợp này thì bảng định tuyến có
vấn đề vì không có kết nối ảo nào giữa RTA và RTB cả.

- Để giải quyết vấn đề này ta có giải pháp sau: sử dụng thuộc tính next-hop-self để buộc router, trong
trường hợp này thì, RTC sẻ quảng cáo mạng 11.11.11.0/24 với next hop là của chính nó 10.10.10.2.
RTA lúc này sẻ gởi trực tiếp các gói đến mạng 11.11.11.0/24 qua RTC.

Cú pháp như sau:


Router(config-router)#neighbor ip-address next-hop-self

Đối với RTC ta sử dụng lệnh như sau:


RTC(config-router)#neighbor 10.10.10.1 next-hop-self

II.3:Thuộc tính Aggregator và Local-preference

Thuộc tính Aggregator:

Là một thuộc tính Well-known discretionary. Khi cấu hình aggregation, thì thuộc tính này cung cấp
những thông tin về ID của router và số AS của của router khởi tạo aggregate route. Thuộc tính này cho

phép ISP admin xác định router nào thực hiện aggregation.

22

Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM


Báo cáo thực tập cơ sở chuyên ngành GVHD : Nguyễn Đức Tâm
Thuộc tính Local Preference:

Là một thuộc tính well-known discretionary. Local Preference là một yếu tố để xác định sự so sánh
giữa các route đến cùng một đích. Route có Local Preference cao hơn sẽ được chọn làm đường đi tối
ưu. Cũng như tên của thuộc tính này, nó chỉ chuyển đổi nội bô giữa các IBGP peer . Local Preference
không quảng cáo sang EBGP peer.

a. Router trong một multihomed AS có thể học rằng, nó có thể đến cùng đích bằng các neighbor theo
hai hay nhiều AS khác nhau. Có thể có hai hay nhiều điểm rởi khỏi AS nội bộ để đến được một đích
nào đó. Sử dụng thuộc tính Local Preference để ép BGP router sử dụng route tối ưu hơn các route khác
đến cùng một đích. Bởi vì thuộc tính này chỉ được thông tin giữa các BGP trong cùng một AS, tất cả
các router có cùng một quyết định chung để đến một route bên ngoài.

b.Ví dụ:

- Theo ví dụ này thì công ty ANET đã mua kết nối đến internet từ hai nhà cung cấp, XNET và YNET.
ANET được kết nối đến YNET bằng T3 và đến XNET bằng đường backup T1.
- Một điều quan trong cho ANET là quyết định đường đẫn nào để cho tải ra ngoài internet. Tuy nhiên
admin của ANET thích sử dụng kết nối T3 theo đường của YNET. LA có thể gán route đến từ YNET
một giá trị Local Prefernece 300, và San Jose gán cho route đến từ YNET một giá trị thấp hơn là 200.
Bởi vì cả hai router LA và San Jose đều chuyển đổi thông tin định tuyến cập nhật bằng IBGP, chúng

23

Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM


Báo cáo thực tập cơ sở chuyên ngành GVHD : Nguyễn Đức Tâm
đều đồng ý rằng điểm ra khỏi AS bằng đường qua YNET. Vì ở đây có giá trị Local Preference cao hơn
-NET học route đến 128.213.0.0/16 bằng đường qua XNET và YNET. Router LA và San Jose sẽ đồng
ý sử dụng YNET là điểm để đến đích vì gía trị Local Preference cao hơn là 300.

c. Vận dụng Local Preference:

- Ta thấy AS 256 nhận cập nhật mạng 170.10.0.0 từ AS 100 và từ AS 300. Có hai cách để thiết lập
thuộc tính Local Preference trên các router thuộc AS 256.
> Sử dụng lệnh bgp default local-preference
> Sử dụng route map để thiết lập local preference
-Sử dụng lệnh bgp default local-preference, thiết lập thuộc tính Local Preference trên RTC và RTD như
sau:

RTC(config)#router bgp 256


RTC(config-router)#neighbor 1.1.1.1 remote-as 100
RTC(config-router)#neighbor 128.213.11.2 remote-as 256
RTC(config-router)#bgp default local-preference 150
RTD(config)#router bgp 256
RTD(config-router)#neighbor 3.3.3.4 remote-as 300
RTD(config-router)#neighbor 128.213.11.1 remote-as 256
RTD(config-router)#bgp default local-preference 200

-Cấu hình trên RTC làm cho nó sẽ thiết lập tất cả các cập nhật từ AS100 một giá trị Local Preference là
150. Và từ cấu hình trên RTD sể làm cho nó thiết lập Local Preference cho toàn bộ cập nhật từ AS 300

24

Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM


Báo cáo thực tập cơ sở chuyên ngành GVHD : Nguyễn Đức Tâm
một giá trị là 200. Bởi vì Local Preferênc chỉ trao đổi trong nội bộ AS, nên cả hai RTC, và RTD đều
xác định rằng cập nhật về mạng 170.10.0.0 có giá trị Local Preference cao hơn khi nó đến từ AS300 so
với khi nó đến từ AS100. Kết quả là toàn bộ tải trong AS 256 đến mạng 170.10.0.0 đều được truyền
qua RTD.

- Ta có thể cấu hình bằng cách sử dụng route map. Route Map cung cập một cơ chế uyển chuyển hơn
so với việc sử dụng default như trên. Khi ta sử dụng lệnh bgp default local-preference cho RTD thì tất
cả các cập nhật nhận được bởi RTD đều được thiết lập giá trị là 200. Điêu này gồm cả cập nhật từ
AS34. Bây giờ ta sẽ cấu hình cho RTD sử dụng route map để thiết lập Local Preference trên RTD chỉ
cho những cập nhật từ AS300.

RTD(config)#ip as-path access-list 1 permit _300$


RTD(config)#route-map LP permit 10
RTD(config-route-map)#match as-path 1
RTD(config-route-map)#set local-preference 200
RTD(config)#route-map LP permit 20
RTD(config)#router bgp 256
RTD(config-router)#neighbor 3.3.3.4 remote- as 300
RTD(config-router)#neighbor 3.3.3.4 route-map LP in

II.4: Thuộc tính weight và thuộc tính MED

Thuộc tính Weight:

- Thuộc tính Weight tương tự như Local Preference, nó sẽ ưu tiên sử dụng route có giá trị weight cao
hơn. Một điều khác ở đây là các thông số weight chỉ có ý nghĩa nội bộ trong router thôi mà nó sẽ không
trao đổi với các router khác. Thuộc tính weight ảnh hưởng đến các route đến từ nhiều nhà cung cấp
khác nhau tới một router, một router có nhiều kết nối tới hai hay nhiều nhà cung cấp. Thông số weight
có tác động cao hơn bất kỳ thuộc tính nào khác.Nó là thuộc tính quan trọng nhất để xác định route nào
ưu tiên được chọn hơn. Weight được cấu hình trên các router theo từng neighbor một. thuộc tính này sể
không truyền sang cho bất kỳ một router BGP nào khác cả. Ta có minh hoạ sau :

25

Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM


Báo cáo thực tập cơ sở chuyên ngành GVHD : Nguyễn Đức Tâm

Thuộc tính Multiple Exit Discriminator(MED)

- MED là một thuộc tính optional nontransitive. MED chỉ cho láng giềng external về đường đi nào tối
ưu hơn để vào trong một AS có nhiều điểm vào. MED có giá trị thấp sẽ tốt hơn.
- Không giống Local Preference MED được trao đổi giữa các AS, nhưng MED vào trong một AS thì sẽ
không rời khỏi AS này. Khi có một cập nhật vào trong một AS với một giá trị MED được thiết lập, thì
giá trị này được sử dụng để quyết định chỉ trong nội bộ AS đó thôi. Khi BGP chuyển cập nhật cho một
AS khác thì giá trị của MED được thiết lập về 0.
- MED có thể được sử dụng ở một AS và ảnh hưởng đến quyết đinh ra khỏi AS của một AS khác.
- Khi một route được khởi tạo bởi một AS, thì giá trị của MED thông thường là tuỳ theo metric IGP
của route. Điều này trở nên hữu dụng khi một khách hàng có nhiều kết nối đến cùng một nhà cung cấp.
IGP metric chỉ ra độ tiêu tốn đến một mạng để xác định điểm truyền. Một mạng gần điểm xuất A hơn
điểm xuất B thì sẽ có giá trị IGP metric nhỏ hơn. Khi giá trị IGP metric được dịch sang MED, tải đến
một AS có thể vào từ một kết nối gần đích hơn. Chính vì điều này mà MED có giá trị thấp hơn sẽ được
ưu tiên hơn để đến đích. Điều này có thể được sử dụng cho cả nhà cung cấp và cả khách hàng để cân
bằng tải giữa nhiều kết nối giữa hai AS khác nhau.

26

Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM


Báo cáo thực tập cơ sở chuyên ngành GVHD : Nguyễn Đức Tâm

- Ta sẽ có một ví dụ minh hoạ như sau

- Từ hình vẽ trên ta thấy XNET nhận cập nhật định tuyến về mạng 128.213.0.0/16 từ 3 nguồn khác
nhau. Đố là SJ có metric 120, LA có metric là 200, còn NY có metric là 50. SF sẽ so sánh hai giá trị
metric từ ANET và sẽ ưu tiên chon SJ hơn vì nó quảng cáo giá trị metric nhỏ hơn. Khi Lệnh bgp
always-compare-med được sử dụng trên router SF, nó sẽ tiếp tục so sánh các giá trị metric. Nó sẽ so
sánh metric 120 với 50 đến từ NY và sẽ ưu tiên chọn NY hơn để đến mạng 128.213.0.0/16.

27

Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM


Báo cáo thực tập cơ sở chuyên ngành GVHD : Nguyễn Đức Tâm

- Ví dụ về cấu hình:

- Theo ví dụ này thì ta thấy : AS 100 sẽ nhận cập nhật về mạng 180.10.0.0 từ RTB, RTC, và RTD.
RTC và RTD xuất phát từ AS 300, và RTB xuất phát từ AS 400. Ta sử dụng route map để cấu hình
MED cho router.

RTB(config)#route-map med permit 10


RTB(config-route-map)#set metric 50
RTB(config)#router bgp 400
RTB(config-router)#neighbor 4.4.4.4 route-map med out

-Mặc định thì BGP sẽ so sánh giá trị của thuộc tính MED của route đến từ các láng giềng có cùng một
external AS. Như AS 300 là một ví dụ. Điều này có nghĩa là RTA sẽ so sánh giá trị của thuộc tính
MED đến từ RTC có giá trị là 120 chỉ với RTD với giá trị là 200. Thậm chí dù cập nhật đến từ RTB có
giá trị MED thấp hơn thì RTA cũng sẽ chọn RTC là đường đi tốt nhất đến mạng 180.10.0.0. Để ép
RTA sử dụng luôn cả cập nhật về mạng 180.10.0.0 đến từ RTB trong bảng so sánh của nó thì ta sử
dụng lệnh bgp always-compare-med.

- Lúc này thì RTA sẽ chọn RTB là next hop tốt nhất để đi đến mạng 180.10.0.0.0, trong trường hợp giả
dụ là tất cả các thuộc tính khác đều như nhau.

28

Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM


Báo cáo thực tập cơ sở chuyên ngành GVHD : Nguyễn Đức Tâm

Chương III: Sử dụng các chính sách với BGP


III.1.Lọc tuyến

Lọc tuyến cho phép router chọn route nào sẽ được trao đổi với BGP peer nào. Lọc tuyến là một phần
của chính sách định tuyến. Một AS có thể kiểm soát route nào sẽ được chấp nhận từ láng giềng
EBGP.

Các chính sách có thể được định nghĩa bằng việc lọc các route. BGP route truyền qua các bộ phận lọc
(filter) có thể gồm có các thuộc tính của nó và các thuộc tính này được vận dụng vào trong việc quyết
định chọn route.

Cả hai việc lọc tải (traffic) theo chiều inbound và chiều outbound đều được chấp nhận giữa các peer
và cả giao thức định tuyến chạy trên cùng một router. Lọc inbound chỉ ra rằng BGP lọc cập nhật định
tuyến đến từ một peer khác. Còn lọc outbound thì để hạn chế việc cập nhật định tuyến từ router này
đến các router BGP peer khác.

Ở cấp độ giao thức thì : lọc inbound có tác dụng hạn chế cập nhật định tuyến được redistribution vào
trong một giao thức. Còn lọc utbound hạn chế việc cập nhật định tuyến chèn vào từ giao thức này.Với
BGP thì ta có một ví dụ sau: lọc inbound nghĩa là hạn chế cập nhật định tuyến được redistribution từ
một giao thức định tuyến khác vào trong BGP, còn lọc outbound thì hạn chế cập nhật được
redistribution từ BGP vào một giao thức khác (IGP)

III.2. Sử dụng distribute-list để lọc route

- Để hạn chế thông tin định tuyến mà router học hay quảng cáo. Áp dụng lọc tuyến từ hay đến một
láng giềng nào đó sử dụng lệnh distribute-list. Như minh hoạ dưới đây:

29

Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM


Báo cáo thực tập cơ sở chuyên ngành GVHD : Nguyễn Đức Tâm

Ta thấy RTD trong AS2 khởi tạo mạng 192.68.10.0 và truyền đến RTF. RTF sẽ truyền cập nhật đến
RTA bởi IBGP, và từ đó nó sẽ truyền cập nhật đến AS1. Như vậy AS3 sẽ trở thành transit AS quảng
cáo rằng nó có thể đến được mạng 192.68.10.0/24

Để ngăn tình trường hợp này xảy ra thì ta cấu hình trên RTA:

RTA(config)#router bgp 3
RTA(config-router)#neighbor 172.16.1.1 remote-as 3
RTA(config-router)#neighbor 172.16.20.1 remote-as 1
RTA(config-router)#neighbor 172.16.20.1 distribute-list 1 out
RTA(config)#access-list 1 permit ip 172.16.0.0 0.0.255.255

Distribute-list, được sử dụng là một phần của lệnh neighbor, nó ngăn RTA không quảng cáo mạng
192.68.10.0/24 đến RTC. Access list được sử dụng để nhận ra prefix để thực hiện lọc và distribute-list
out áp dụng để lọc cập nhật ra bên ngoài.

Nhận thấy rằng khi cấu hình distribute líst dựa trên việc sử dụng một access list. Nếu sử dụng
standard access list thì sẽ có một số chức năng bị hạn chế. RTA kết nối đến nhiều subnet trong mạng
172.16.0.0/16. Mục đích của việc quảng cáo một địa chỉ mạng tóm tắt 172.16.0.0/16, nhưng không
quảng cáo bất kỳ subnet riêng nào của nó cả. Một standard access list sẽ không làm được điều này bởi
vì nó sẽ cho phép (permit) nhiều hơn mong đợi. Nó sẽ lọc dự trên địa chỉ mạng. đây là một ví dụ về
một access list mà nó sẽ permit không chỉ mạng 172.16.0.0/16 mà là tất cả các thành phần khác thuộc
tóm tắt route này.

access-list 1 permit 172.16.0.0 0.0.255.255

Để hạn chế cập nhật chỉ 172.16.0.0/16 ta sử dụng extended access list. Thông thường thì một

30

Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM


Báo cáo thực tập cơ sở chuyên ngành GVHD : Nguyễn Đức Tâm

extended access list gồm cả source và destination. Trong trường hợp lọc route BGP , thì một extended
access list chỉ gồm có network, tiếp theo là subnet mask. Cả network và mask đều chứa wildcard
bitmask của nó, có cú pháp như sau:

router(config)#access-list number permit|deny network network-wildcard mask mask-wildcard

Để cho phép route tóm tắt như trong ví dụ trên thì ta cấu hình một extended access list để filter
network và 16 bit mask của prefĩ. Với cấu hình này thì RTA sẽ không truyền subnet route như
172.16.0.0/17 hay 172.16.10/24 trong cập nhật của nó đến AS1.

RTA(config)#access-list 101 permit ip 172.16.0.0 0.0.255.255 255.255.0.0 0.0.0.0

- Ta có thể sử dụng ip prefix-list thay cho extended access list.

III.3. Lệnh ip prefix-list:

sử dụng lệnh ip prefix-list có một số thuận lợi hơn so với việc sử dụng access-list là
- Hiệu suất được cải thiện khi loading và tìm route trong một danh sách lớn.
- Hỗ trợ cập nhật từng phần increment update. Lọc route với extended access list không hỗ trợ cho

việc cập nhật từng phần.

- Dòng lệnh than thiện hơn


- Tính uyển chuyển cao,

Cú pháp của lệnh như sau:

router(config)#ip prefix-list list-name [seq seq-value] deny/permit network/len [ge ge-value] [le le-
value].

Ví dụ về cấu hình bằng lênh ip prefix-list

RTA(config)#ip prefix-list GROVER permit 192.0.0.0/8 le 24


RTA(config)#ip prefix-list GROVER deny 192.0.0.0/8 ge 25
l. Theo ví dụ này thì ở câu lệnh đầu tiên chấp nhận tất cả các route có các chiều dài mask lên đến 24
bit với prefix 192.0.0.0/8, và từ chối (deny) tấ cả các route cụ thể hơn.

Ở câu lệnh thứ hai thì nó sẽ kiểm tra prefix bắt đầu với 192 ở octet đầu tiên. Sau đó quan tâm đến
chỉ các route cụ thể hơn bằng cách kiểm tra chiều dài của mask. Vì thế cả 192.168.32.0/19 và
192.168.1.0/24 đều được ở trạng thái cho phép(permit), nhưng mạng prefix 192.168.1.32/27 thì không
bởi vì chiều dài mask của nó lớn hơn 25. Cả ge và le có thể được sử dụng chung theo lệnh sau:

31

Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM


Báo cáo thực tập cơ sở chuyên ngành GVHD : Nguyễn Đức Tâm

RTA(config)#ip prefix-list OSCAR permit 10.0.0.0/8 ge 16 le 24

Lệnh này permit tất cả prefix trong mạng 10.0.0.0/8 với chiều dài mask tử 16 cho đến 24 bits.

Mỗi prefix list được gán cho một số thứ tự, số này được gán mặc định hoặc được gán bằng tay.
Bằng cách đánh số, một entry có thể đựơc chèn vào tại bất kỳ điểm nào của list. Điều này quan trọng
vì router kiểm tra prefix list từ tuần tự từ nhỏ đến lớn. Khi có một match xảy ra thì router sẽ không
tiếp tục tét đến các entry của các tuần tự sau nữa. Ta có thể sử dụng lênh show ip prefix-list để kiểm
tra.

Số tuần tự này sẽ được tạo ra và tăng dần từng bậc +5. giá trị đầu tiên được tạo ra trong prefix list là
5 tiếp theo là 10, 15….. Nếu cấu hình bằng tay một giá trị và tiếp theo không xác định các giá trị thì
số thứ tứ cho entry sẽ tự động tăng lên theo bâc +5. Ví dụ giá trị đầu tiên được xác định là 3 và sau đó
thì không có tuần tự được chỉ định cho các entry khác thì số tuần tự sẽ được tao ra là 8, 13, 18….ví
du:

RTA(config)#ip prefix-list ELMO seq 12 deny 192.168.1.0/24

Cuối cùng khi sử dụng prefix list thì ta phải theo một số luật sau
- Một prefix list trống sẽ mặc đinh là permit tất cả prefix
- Có một ngầm định deny được đưa ra nếu prefix không match bất kỳ entry nào của prefix.
- Khi có nhiều entry của prefix list match, thì tuần tự của entry nào nhỏ nhất sẽ được match thật sự
III.4.Route-map

Route map là các công cụ trong đó các logic “if/then” có thể được áp dụng cho một router. Các route-
map là các công cụ lập trình được dùng để kiểm soát quá trình redistribution, để hiện thực PBR, để
kiểm soát quá trình NAT hoặc để hiện thực BGP.

Bạn có thể dùng route-map cho các mục đích sau đây:

- Để kiểm soát quá trình redistribution: các route map cho phép kiểm soát một mức cao hơn so với cách
dùng distribution list. Route-map không đơn thuần ngăn chặn hay cho phép một mạng giống như
distribute list mà còn có khả năng gán metric cho những route bị so trùng .
- Để kiểm soát và thay đổi thông tin định tuyến: các route map được dùng để .- Định nghĩa chính sách
trong PBR: các route-map ra các quyết định dựa trên địa chỉ nguồn. Khi một phép so trùng được tìm
thấy trong access-list, sẽ có các hành động tương ứng.
- Để thêm vào mức độ tinh tế trong cấu hình NAT: các route map định nghĩa dãy của các địa chỉ public
và địa chỉ private. Có các lệnh show để giám sát và kiểm tra hoạt động của NAT.
- Để hiện thực BGP: một trong những điểm mạnh của giao thức BGP là khả năng thực hiện policy
based routing. Các thuộc tính trong BGP được dùng để ảnh hưởng đến đường đi cho traffic. Các thuộc
tính này thường được hiện thực dùng route maps. Nếu có một phép so trùng thì áp dụng thuộc tính này.
Khi này dùng lệnh set để thực hiện. Route map là phương thức chủ yếu được dùng bởi BGP để định
nghĩa chính sách định tuyến BGP.

32

Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM


Báo cáo thực tập cơ sở chuyên ngành GVHD : Nguyễn Đức Tâm

Route map rất giống ACL. Cả hai thực hiện tác vụ if/then, trong đó các tiêu chí được dùng để xác
định là gói tin có được cho phép hoặc từ chối hay không. Sự khác nhau cơ bản là route map có khả
năng thực hiện hành động thay đổi thuộc tính đến các gói dữ liệu thõa điều kiện so trùng. Trong một
ACL, tiêu chí so trùng là ngầm định, trong một route map, đó là một keyword. Điều này có nghĩa rằng,
nếu một gói thỏa với một tiêu chuẩn cho trong một route map, một vài hành động phải được thực hiện
để thay đổi gói, trong khi accesslist chỉ đơn giản cho phép hoặc từ chối một gói.

Các đặc điểm của route map được tóm tắt trong danh sách sau:

- Một route map có một danh sách các tiêu chí và tiêu chuẩn chọn lựa, được liệt kê với phát biểu mạtch.
- Một route map có khả năng thay đổi các gói hoặc các route bị so trùng bằng cách dùng lệnh set.
- Một tập hợp của các phát biểu mạch có cùng tên được xem là cùng một route map
- Route map sẽ ngừng xử lý ngay khi có một phép so trùng được thực hiện, giống như một ACL.
- Trong một route map, mỗi phát biểu được đánh số thứ tự và có thể được soạn thảo riêng lẽ.
- Số thứ tự được dùng để chỉ ra thứ tự trong đó các điều kiện được kiểm tra. Như vậy nếu hai phát biểu
trong route map có tên là BESTTEST, một phát biểu có chỉ số là 5, một phát biểu có chỉ số là 15 thì
phát biểu có chỉ số là 5 sẽ được kiểm tra trước. Nếu không có một phát biểu match trong phát biểu 5 thì
phát biểu thứ 15 sẽ được kiểm tra.
- Route map có thể dùng các IP access-list chuẩn hoặc mở rộng để thiết lập các chính sách định tuyến.
- Các access-list mở rộng có thể được dùng để chỉ ra tiêu chí so sánh dựa trên phần địa chỉ nguồn và địa
chỉ đích, ứng dụng, kiểu giao thức, kiểu dịch vụ ToS và độ ưu tiên.
- Lệnh match trong các cấu hình route map được dùng để định nghĩa điều kiện phải kiểm tra.

- Lệnh set trong cấu hình route map được dùng để định nghĩa hành động theo sau một phát biểu so
sánh.
- Một route map có thể chứ các phép AND và OR. Giống như một access-list, có một phát biểu ngầm
định DENY ở cuối một route map. Hành động theo sau của phát biểu deny này tùy thuộc route map
được dùng như thế nào. Để hiểu điều này một cách chính xác, bạn cần hiểu chính xác route map hoạt
động như thề nào.

Danh sách sau đây sẽ giải thích logic của hoạt động route-map:
- Phát biểu của route map dùng cho PBR có thể được đánh dấu như là permit hoặc deny
- Chỉ nếu phát biểu được đánh dấu như permit và gói tin bị so trùng, lệnh set mới được áp dụng.
- Các phát biểu trong route-map sẽ tương ứng với các dòng của một access-list. Chỉ ra một điều kiện so
sánh trong route map thì cũng tương tự như chỉ ra nguồn và đích trong access list
- Các phát biểu trong route map được so sánh với đường đi của gói để xem có một so trùng nào đó hay
không. Các phát biểu này sẽ được lần lượt kiểm tra từ trên xuống dưới.
- Một phát biều so trùng có thể chứa nhiều điều kiện. Ít nhất một điều kiện trong phát biểu match phải
là đúng. Đây là phép logic OR
- Một route-map có thể chứa nhiều phát biểu so sánh. Tất cả các phát biểu match trong route map phải
được xem xét là đúng để cho phát biểu của route map là so trùng. Điều kiện này gọi là phép logic
AND.

33

Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM


Báo cáo thực tập cơ sở chuyên ngành GVHD : Nguyễn Đức Tâm
Route-map trong chương trình BSCI được sử dụng trong bốn trường hợp:

* Dùng với NAT


* Dùng trong redistribution
* Dùng với BGP
* Dùng trong PBR

- Câu lệnh access list trong Cisco IOS thường được dùng như là một công cụ để chọn lựa "matching"
một mẫu traffic nào đó đi qua router. Như bạn cũng đã biết, ở trạng thái bình thường, router cho phép
hầu như mọi lưu lượng IP đi qua nó. Nếu, trong một điều kiện nào đó, bạn không muốn cho lưu lượng
mail (SMTP/POP3) được đi qua router, bạn cần cấm các traffic này. Lúc này, bạn viết ra một access-
list, "quan tâm" đến TCP (SMTP/POP3). Sau đó bạn áp access list vào cổng của router, theo chiều
IN/OUT.

Trong ví dụ trên, access list được dùng để lọc gói. Ví dụ cũng chỉ ra là bạn cần chỉ ra traffic mà bạn
đang quan tâm (SMTP/POP3), bước kế tiếp là bạn áp dụng access list vào một interface nào đó của
router.

Vậy, ACL là một công cụ để lựa ra một loại traffic nào đó mà mình quan tâm.

Công cụ route-map trong Cisco IOS cung cấp một thuận toán tương tự như logic If/Then/Else thường
thấy trong các ngôn ngữ lập trình. Một route map chứa một hoặc nhiều câu lệnh route-map và router sẽ
xử lý các câu lệnh route-map dựa vào thứ tự đi kèm với chúng.

Mỗi câu lệnh route-map có những thông số so trùng (match) bên trong được cấu hình bằng câu lệnh
match. (Để so trùng tất cả gói tin, một mệnh đề route-map chỉ đơn giản đưa ra một câu lệnh match).
Đồng thời, câu lệnh route-map cũng có một hoặc nhiều câu lệnh tùy chọn set dùng để áp đặt

thông tin, chẳng hạn áp đặt metric cho một số route được redistribute.

Như vậy, một cảm giác giống nhau giữa hai câu lệnh là cả hai cùng có thể thể hiện thuận toán if-then
khi cấu hình router. Tuy nhiên, sự khác nhau là route-map mang tính chất tổng quát hơn. Và trong
route map cũng có dùng access list.

Các quy luật tổng quát của route map như sau:

• Mỗi câu lệnh route-map phải có một tên gọi rõ ràng, tất cả các câu lệnh có cùng tên gọi này đều thuộc
chung một route map.
• Mỗi câu lệnh route-map phải có một hành động (permit hoặc deny).
• Mỗi câu lệnh route-map có một số thứ tự duy nhất, cho phép xóa, chèn các câu lệnh route-map đơn.
• Khi dùng route-map trong quá trình redistribute, route map sẽ xử lý route lấy từ bảng định tuyến hiện
thời chứ không lấy từ database.
• Route map được xử lý tuần tự dựa vào số thứ tự đính kèm trong các câu lệnh route-map.

34

Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM


Báo cáo thực tập cơ sở chuyên ngành GVHD : Nguyễn Đức Tâm

• Khi một route cụ thể đã được so trùng trong route map, nó sẽ không được xử lý trong các câu lệnh
route-map đằng sau đó nữa (dùng cho redistribution).
• Khi một route đã được so trùng với phát biểu route map, nếu route-map có thông số permit đi kèm thì
route đó sẽ được redistribute (dùng cho redistribution).
• Khi một route đã được so trùng với phát biểu route map, nếu route-map có thông số deny đi kèm thì
route đó sẽ không được redistribute (dùng cho redistribution).
• Route map thường hay gây nhầm lẫn, đặc biệt khi dùng thông số deny trong câu lệnh route-map.

Route-map, prefix-list và distribution-list trong BGP

TH1:
Match A B C (match điều kiện theo hàng ngang): thì đây là phép OR.
TH2:
Match A
Match B
Match C
(match điều kiện theo hàng dọc): thì đây là phép AND.
TH3:
Match A B
Match C
(match điều kiện theo hàng dọc và ngang ): thì đây là phép OR (A hoặc B thỏa) xong rồi AND.

35

Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM


Báo cáo thực tập cơ sở chuyên ngành GVHD : Nguyễn Đức Tâm

Chương IV: Demo và kiểm tra BGP

Hình: Sơ đồ demo BGP

1.Yêu cầu:
- cấu hình kết nối IBGP và EBGP, sử dụng local preference và MED để chọn đường đi ra và đi vào
mạng,
- Trong mạng nội bộ gồm có KMA1 và KMA2 chạy gia thức định tuyến EIGRP,
Và trên ISP chay BGP với AS=200, KMA1 và KMA2 với AS=64512

Với mô hình trên ta sẽ cấu hình :


36

Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM


Báo cáo thực tập cơ sở chuyên ngành GVHD : Nguyễn Đức Tâm
- Đường đi từ KMA ra ngoài ISP sẽ đi theo đường 192.168.1.4/3
- Đường đi từ ISP đẩy vào KMA sẽ đi theo đường 192.168.1.0/30

Và đường còn lại sẽ làm dự phòng


2. Cấu hình
Step1: tạo sơ đồ
kết nối cáp theo như sơ đồ và khởi động router
Step2: cấu hình hostname và interface addresses
RouterR1(hostname ISP)
Hostname ISP
!
Interface serial 0/0
Ip address 192.168.1.5 255.255.255.252
No shutdown
Clock rate 64000

Interface serial 0/1


Ip address 192.168.1.1 255.255.255.252
No shutdown
Clock rate 64000
Interface serial l0
Ip address 192.168.100.1 255.255.255.0
Router R2(hostname KMA1)
!
Interface serial 0/0
Ip address 192.168.1.6 255.255.255.252
No shutdown
Clock rate 64000

Interface serial 0/1

Ip address 172.16.1.1 255.255.255.0

37

Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM


Báo cáo thực tập cơ sở chuyên ngành GVHD : Nguyễn Đức Tâm

No shutdown

Clock rate 64000

Interface serial l0

Ip address 172.16.64.1 255.255.255.0

Router R3(hostname KMA2)

Interface serial 0/0

Ip address 192.168.1.2 255.255.255.252

No shutdown

Clock rate 64000

Interface serial 0/1

Ip address 171.16.1.2 255.255.255.0

No shutdown

Clock rate 64000

Interface serial l0

Ip address 172.16.32.1 255.255.255.0

Step 3: cấu hình EIGRP

Cấu hình EIGRP giữa 2 router KMA1 và KMA2

KMA2

Router eigrp 64512

network 172.16.1.0 0.0.0.255

network 172.16.32.0 0.0.0.255

38

Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM


Báo cáo thực tập cơ sở chuyên ngành GVHD : Nguyễn Đức Tâm
no auto-summary

KMA1

Router eigrp 64512

network 172.16.1.0 0.0.0.255

network 172.16.64.0 0.0.0.255

no auto-summary

Step4: cấu hình IBGP, EBGP va kiểm tra.

Router ISP:

Router bgp 200

network 192.168.100.0

neighbor 192.168.1.2 remote-as 64512

neighbor 192.168.1.6 remote-as 64512

Router KMA1:

Router bgp 64512

network 172.16.64.0 mask 255.255.255.0

neighbor 172.16.1.2 remote-as 64512

neighbor 192.168.1.5 remote-as 200

Router KMA2:

Router bgp 64512

network 172.16.32.0 mask 255.255.255.0

neighbor 172.16.1.1 remote-as 64512

neighbor 192.168.1.1 remote-as 200

- Kiểm tra hàng xóm BGP trong ISP, KMA1, KMA2 với câu lệnh:

39

Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM


Báo cáo thực tập cơ sở chuyên ngành GVHD : Nguyễn Đức Tâm
Show ip bgp summary

40

Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM


Báo cáo thực tập cơ sở chuyên ngành GVHD : Nguyễn Đức Tâm

- Kiểm tra bảng BGP trong ISP, KMA1,KMA2


Với Lệnh: Show ip bgp

41

Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM


Báo cáo thực tập cơ sở chuyên ngành GVHD : Nguyễn Đức Tâm

42

Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM


Báo cáo thực tập cơ sở chuyên ngành GVHD : Nguyễn Đức Tâm
- Kiểm tra bảng routing trong ISP, KMA1,KMA2

Với Lệnh : show ip route

43

Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM


Báo cáo thực tập cơ sở chuyên ngành GVHD : Nguyễn Đức Tâm

Step5. Đặt thông số local preference. MED

Ta có thông số local preference có giá trị trong một AS, ở đấy ta cấu hình một route-map, MED
được dùng để chọn đường đẩy vào trong một AS, khác AS ko xét giá trị MED.

R3

R2

44

Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM


Báo cáo thực tập cơ sở chuyên ngành GVHD : Nguyễn Đức Tâm

- Kiểm tra việc chọn đường ưu tiên dựa vào local preference và MED
KM1

ISP
45

Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM


Báo cáo thực tập cơ sở chuyên ngành GVHD : Nguyễn Đức Tâm

KMA2

Mục Lục
Chương I . Tổng quan BGP
I.1.Khái niệm BGP
I.2.Đặc điểm của BGP
I.3.Thuật ngữ BGP
46

Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM


Báo cáo thực tập cơ sở chuyên ngành GVHD : Nguyễn Đức Tâm
I.4.Hoạt động của BGP
I.5.Khi dùng BGP và khi không dùng BGP
I.5.1.Khi nào dùng BGP?
I.5.2.Khi nào không dùng BGP?
I.6.So sánh IBGP và EBGP
I.7.Các bước xây dựng bảng định tuyến
Chương II.Các thông số tuyến đường trong BGP
*Có 2 dạng thông số :
+ Well – Know : - Mandatory ( Origin , AS – path , Next-hop )
- Discretionary ( Local preference , Atomic aggregate…)
+ Option : - Non – transitive ( MED , Cluster – list )
- Transitive ( Communities…)
II.1. Thông số AS – path
II.2.Thông số Next hop
II.3.Thuộc tính Aggregator và Local – preference
II.4.Thuộc tính Weight và thuộc tính MED
Chương III.Sử dụng các chính sách với BGP
III.1.Lọc tuyến
III.2.Sử dụng distribute list để lọc route
III.3.Lệnh ip prefix list
III.4.Route map

Chương IV.Demo và kiểm tra BGP


IV.1.Xem trạng thái BGP
IV.2.Xem hàng xóm BGP
IV.3.Xem bảng BGP
IV.4.Xem bảng routing

47

Sinh viên thực hiện : Nhóm I-Lớp AT4C-HVKTMM