1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tìm hiểu về giao thức định tuyến BGP

52 3K 17

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 52
Dung lượng 3,03 MB

Nội dung

Tìm hiểu về giao thức định tuyến BGP

Trang 2

MỤC LỤC :

CHƯƠNG I.TỔNG QUAN VỀ BGP ……… 2

I.1.Khái niệm BGP……… 2

I.2.Đặc điểm của BGP……… 2

I.3.Thuật ngữ BGP……… 5

I.4.Hoạt động của BGP……… 6

I.5.Khi dùng BGP và khi không dùng BGP ……… 15

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

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

I.6.So sánh IBGP và EBGP……… 16

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

CHƯƠNG II.CÁC THÔNG SỐ TUYẾN ĐƯỜNG TRONG BGP……… 17

*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 ……… 17

II.2.Thông số Next hop ……… 19

II.3.Thuộc tính Aggregator và Local – preference……… 22

II.4.Thuộc tính Weight và thuộc tính MED……… 25

CHƯƠNG III.SỬ DỤNG CHÍNH SÁCH VỚI BGP……… … 28

III.1.Lọc tuyến……… 28

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

III.3.Lệnh ip prefix list……… 29

III.4.Route map ……… 30

CHƯƠNG IV.DEMOVÀ KIỂM TRA BGP ……… … 34

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

Trang 3

Tài liệu tham khảo :

- CCNP ROUTE 642-902 Official Certification Guide

- Cisco IOS Cookbook, 2nd Edition

- Cisco Press - Routing TCPIP Volume II (CCIE Professional Development) (2010)

Trang 4

CHƯƠNG I TỔNG QUAN VỀ 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ậnchuyể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ó tintưở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ớineighbor 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 policycho AS của nó

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

Trang 5

: ĐẶ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 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ấtthô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ụngmetric 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ấpthô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ứcnhóm distance vector thường quảng bá thông tin hiện có đến các router láng giềng, còn pathvector 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 địnhtuyế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áchxem 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 đó haykhô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ùngxá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 tinrouting-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 BGPkhô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ộtcô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ácBGP 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ủaBGP 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 ASkhá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 trongmột AS Khi đó BGP được gọi là iBGP

Trang 6

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ỏiphạ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:

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 metrichay 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àmsao 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

Trang 7

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 đitheo đường đi nào

3 Autonomous System Định nghĩa mạng của một tổ chức Trong một AS, các

router sẽ có cùng giao thức định tuyến Nếu ta kết nối raInternet, chỉ số AS này phải là duy nhất và được cung cấp bởicác ủy ban Internet

4 Exterior Gateway

Protocol (EGP)

Thuật ngữ chung cho một giao thức được chạy giữa các

AS khác nhau Cũng có một giao thức có tên là EGP là tiềnthâ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

Protocol (IGP)

Đây là các giao thức định tuyến chạy bên trong một AS.Trong quá khứ, thuật ngữ gateway thường được dùng để địnhnghĩ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ếtnối vật lý và thường ở ngoài rìa của một AS IBGP được dùnggiữ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ừarouting loop Nếu một router nhận được một update từ chính

nó, router đó sẽ bỏ qua update đó

9 policy-based routing Cơ chế này cho phép người quản trị lập trình giao thức

định 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ácgiao thức định tuyến và dùng route-map để tạo ra các quá trìnhriê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àinguyê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

Trang 8

router iBGP khác Khi cấu hình route-reflector, các iBGPkhô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 Client Một client là một router có một TCP session với một

router khác hoạt động như một route-reflector-server Clientkhông cần thiết phải thiết lập peer với các client khác

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

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

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ếngiữ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)

Tất cả BGP speaking device cùng trong một AS sẽ sử dụng iBGP để liên lạc với mộtBGP speaking khác Và đối với các BGP speaking trong cùng AS sẽ phải thiết lập peer vớicá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 TCPvớ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ụngbởi eBGP để thiết lập peer session

Trang 9

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úngmớ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 đổitoàn bộ BGP routing table của nó Sau đó chúng sẽ trao đổi thông tin update từng phần giữacá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ảntin có kích thước nhỏ nhất là 19 octet và max là 4096 octet Header của message bao gồmnhữ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 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ứathô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ìnhbên dưới:

a/ Bản tin OPEN ( OPEN Message)

Trang 10

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 đượcgửi trả lại Sau khi bản tin KEEPALIVE được gửi để xác nhận bản tin OPEN, bản tinUPDATE từng phần, bản tin NOTIFICATION và bản tin KEEPALIVE sẽ được trao đổi giữacác BGP peer

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ácBGP 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ếugiá 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 SystemNumber 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 BGPgraph 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 địnhthờ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 BGPspeaker gửi BGP identifier tưng tự RID trong OSPF, nó xác định duy nhất một BGP speaker

Trang 11

BGP identifier chính là địa chỉ IP cao nhất của loopback interface Nếu loopback không đượccấ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ủatrường - - Optional Parameters Nếu giá trị trường này là 0 cho biết Optional Parameterskhô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ácoptional parameters mà chúng sẽ được sử dụng trong quá trình đàm phán với neighbor Mỗimột optional parameter được biểu diễn bởi bộ ba: <parameter type, parameter length,parameter value>

Đị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ườngParameter 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àychứ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ếnkhô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:

Trang 12

+ Unfeasible Routes Length: trường này có độ dài 2 byte và chứa đựng độ dài của trườngWithdrawn 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ố địachỉ 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:

- Length: trường này có độ dài 1 byte và chứa đựng độ dài (đơn vị là bit) của IP addressprefix 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ườngPath 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 đựngtrong 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 AttributeType 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ả BGPspeaker 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ộtthuộ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

Trang 13

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ừanhậ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ỏ

Trang 14

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

Trang 15

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ảnthông tin định tuyến

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ộtchuỗ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ôngsửa đổi (modify) AS_PATH attribute Khi một BGP speaker quảng bá một route mà nó được

Trang 16

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 AScủ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 routerbiê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ậptớ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ậpnà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ụngbở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êncao 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 BGPpeer của nó

ATOMIC_AGGREGATE: là một well-known discretionary attribute Khi một BGPspeaker 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ínhATOMIC_AGGREGATE Thuộc tính này sẽ được thiết lập nếu BGP speaker chọn được mộtroute 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ệnroute 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ácbằ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ệnvai trò của một route reflector sẽ tạo ra thuộc tính này Thuộc tính ORIGINATOR_ID sẽ baogồm BGP identifier của route reflector Thuộc tính này chỉ có ý nghĩa local AS

CLUSTER_LIST: là một optional non-transitive attribute Thuộc tính này bao gồm mộtdanh 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ợ ClasslessInterdomain Routing (CIDR) Để thực hiện được điều này nó sử dụng trường Network LayerReachability 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)

Trang 17

Bản tin KEEPALIVE được sử dụng để đảm bảo rằng peer vẫn tồn tại Bản tinKEEPALIVE được cấu trúc bởi BGP Message Header Bản tin KEEPALIVE được gửi trongtrườ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ôtkhong 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 tinNOTIFICATION Ngay sau khi BGP speaker được phát ra thì phiên kết nối sẽ bị ngắt Bảntin NOTIFICATION bao gồm error code, error sub-code sẽ cho phép người quản trị thuận lợihơ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 peercủ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, BGPspeaker 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ạngthái có 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ởitạ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 BGPspeaker 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ớiBGP speaker mà muốn trở thành peer với nó và cũng lắng nghe start event từ BGP speakerkhá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 ratrong 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ầnretry kế tiếp thời gian chờ sẽ tăng lên gấp đôi

Trang 18

- 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ầnkết nối được thiết lập thành công, BGP speaker sẽ làm sạch ConnectRetry timer, nó sẽ gửimột bản tin OPEN tới remote BGP speaker và chuyển trạng thái của nó sang OpenSent Nếukế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 sangActive 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ốiTCP và chuyển trạng thái của nó về Idle Tất cả các start even đều sẽ bị lờ đi trongConnection 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 BGPspeaker 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 BGPspeaker 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ếtnố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 BGPspeakerkhô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ếtlậ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 BGPspeaker 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áiActive

- OpenSent state: ở trạng thái này, BGP speaker đợi để nhận một bản tin OPEN từ remoteBGP speaker Chỉ một lần BGP speaker nhận bản tin OPEN, tất cả các trường sẽ được kiểmtra.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ớiremote 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 BGPspeaker, thiết lập các giá trị keepalive timer và hold timer để đàm phán với neighbor BGPspeaker 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

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ềunà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 ramộ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 startevent sẽ bị lờ đi trong trạng thái OpenSent

Trang 19

- 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ạihold timer và chuyển trạng thái sang Established Tại thời điểm này mối quan hệ peer giữachúng đã được thiết lập Nếu một bản tin NOTIFICATION được nhận thay thế cho bản tinKEEPALIVE, BGP speaker sẽ thay đổi trạng thái sang Idle Trong trường hợp hold timer hếthạn trước khi nhận được bản tin KEEPALIVE từ remote BGP speaker, kết thúc kết nối TCPchuyể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ênlỗ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ácquá 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 tinUPDATE 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 khinhận được một bản tin UPDATE hay bản tin KEEPALIVE, BGP speaker sẽ gửi một bn tinNOTIFICATION 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 đổithông tin định tuyến

I 5 KHI NÀO DÙNG BGP VÀ KHI KHÔNG DÙNG BGP ( WHEN & 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ếtnố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à cungcấ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ớitraffic 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ácphả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 chophé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

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

Trang 20

* 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ìnhchuyể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 BG

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

Trang 21

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àngxóm gần nhất

Đối với các tuyến đường EBGP, ưu tiên chọn tuyến đường học đượcsớ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ố

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ìnhkhông bị loop trên Internet Mỗi route được truyền đi giữa các peer sẽ mang theo một danhsá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à

Trang 22

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ó sangmộ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 quaAS2, 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 quaexternal peer thì nó thêm số AS của nó vào đầu danh sách AS_path Khi route truyền ngượctrở lại AS1, thì BGB border router sẻ nhận ra rằng route này đã từng qua nó và không chấpnhậ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 sosá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ó pathngắn hơn sẻ được ưu tiên chọn hơn

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

Trang 23

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ộtnhà 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àngchỉ 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 rangoà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àngchỉ 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ấpkhá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:

Trang 24

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ủalá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 route128.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ì nexthop 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 routertrong 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ý

Trang 25

trực tiếp với nhau Một số môi trường là multi-access như: Ethernet, Frame Relay, ATM.

Trang 26

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ảngcá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ựchiện đường đi theo số hop không cần thiết đó là qua RTC đế các router trong cùng mộtmạng(segment)

- RTA,RTB,RTC : cùng chia sẻ một môi trường truyền là multi-access RTA và RTC chạyEBGP, 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à nexthop 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ếtcá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ìnhhub-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

Ngày đăng: 15/02/2014, 16:03

HÌNH ẢNH LIÊN QUAN

Hình1.1 Bảng các giao thức định tuyến động - Tìm hiểu về giao thức định tuyến BGP
Hình 1.1 Bảng các giao thức định tuyến động (Trang 4)
11 Route-reflector Đây là router được cấu hình để chuyển các routes từ các - Tìm hiểu về giao thức định tuyến BGP
11 Route-reflector Đây là router được cấu hình để chuyển các routes từ các (Trang 7)
router iBGP khác. Khi cấu hình route-reflector, các iBGP không   cần   phải   fully-mesh   nữa - Tìm hiểu về giao thức định tuyến BGP
router iBGP khác. Khi cấu hình route-reflector, các iBGP không cần phải fully-mesh nữa (Trang 8)
HOẠT ĐỘNG CỦA BGP (BGP OPERATIO N) - Tìm hiểu về giao thức định tuyến BGP
HOẠT ĐỘNG CỦA BGP (BGP OPERATIO N) (Trang 8)
I.4.1. Định dạng mào đầu của bản tin (Message Header Format) - Tìm hiểu về giao thức định tuyến BGP
4.1. Định dạng mào đầu của bản tin (Message Header Format) (Trang 9)
+ 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:  - Tìm hiểu về giao thức định tuyến BGP
ype 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: (Trang 9)
Định dạnh cụ thể như hình sau: - Tìm hiểu về giao thức định tuyến BGP
nh dạnh cụ thể như hình sau: (Trang 11)
- 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 - Tìm hiểu về giao thức định tuyến 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 (Trang 22)
Cấu hình: - Tìm hiểu về giao thức định tuyến BGP
u hình: (Trang 24)
-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 - Tìm hiểu về giao thức định tuyến BGP
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 (Trang 30)
- 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 - Tìm hiểu về giao thức định tuyến BGP
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 (Trang 33)
Để ngăn tình trường hợp này xảy ra thì ta cấu hình trên RTA: - Tìm hiểu về giao thức định tuyến BGP
ng ăn tình trường hợp này xảy ra thì ta cấu hình trên RTA: (Trang 37)
- Kiểm tra bảng BGP trong ISP, KMA1,KMA2                        Với Lệnh:  Show ip bgp - Tìm hiểu về giao thức định tuyến BGP
i ểm tra bảng BGP trong ISP, KMA1,KMA2 Với Lệnh: Show ip bgp (Trang 46)
- Kiểm tra bảng routing trong ISP, KMA1,KMA2                       Với Lệnh : show ip route       - Tìm hiểu về giao thức định tuyến BGP
i ểm tra bảng routing trong ISP, KMA1,KMA2 Với Lệnh : show ip route (Trang 47)
Ta có thơng số localpreference 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. - Tìm hiểu về giao thức định tuyến BGP
a có thơng số localpreference 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 (Trang 49)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w