1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

BGP(Border Gateway Protocol) Routing Protocol

19 115 1

Đ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 19
Dung lượng 1,56 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Tổng quan về giao thức BGP.Các khái niệm của BGP. Các thuộc tính cơ bản chọn đường của BGP. Lọc route trong BGP.Như chúng ta thấy thế giới công nghệ ngày càng phát triển, Internet ra đời đã và đang là một bước tiến nhảy vọt của công nghệ thông tin. Vậy thực chất internet là sự kết nối của nhiều AS (Automatic System) với nhau để trao đổi thông tin giữa chúng. Và BGP cung cấp định tuyến các AS này. Nếu chỉ 1 kết nối đến ISP thì không cần dùng BGP, nhưng nếu nhiều kết nối đến 1 ISP thì BGP là 1 lựa chọn phù hợp.

Trang 1

BGP ROUTING

CHƯƠNG 1: TỔNG QUAN VỀ GIAO THỨC BGP 2

1.1 Khái Niệm 2

1.1.1 Khái Niệm về AS và ASN 2

1.1.2 Khái niệm về BGP 2

1.2 Đặc điểm của BGP 2

1.2.1 Khái niệm về path-vector và Path Attributes 2

1.2.2 Truyền thông giữa các router 3

1.2.3 Các bảng của BGP 5

1.2.4 Các bản tin trong BGP 5

1.2.5 Các trạng thái khi neighbor BGP 6

1.3 Các tham số tuyến đường trong BGP 8

1.3.1 Thuộc tính AS_path 8

1.3.2 Thuộc tính NEXT-HOP 11

1.3.3 Thuộc tính Aggregator và Local-preference 11

1.3.4 Thuộc tính weight và thuộc tính MED 13

1.3.5 Chọn lựa tuyến trong BGP 14

1.4:Lọc route trong BGP 15

1.4.1: Lọc tuyến 15

1.4.2: Sử dụng distribute-list để lọc route 16

1.4.3 Lênh ip prefix-list: 17

Chương 2:Cấu Hình 18

2.1:Cấu hình cơ bản 18

Trang 2

CHƯƠNG 1: TỔNG QUAN VỀ GIAO THỨC BGP

1.1 Khái Niệm

1.1.1 Khái Niệm về AS và ASN

 Autonomous system (as) : Một AS là một nhóm các router cùng chia sẻ một chính sách và hoạt động trong cùng một miền nhất đinh(domain).Các router trong 1 as được định tuyến với nhau qua các giao thức định tuyến nội

Note:Mạng internet được tạo bởi rất nhiều các AS liên kết với nhau

 Autonomous system number (ASN):Để định danh cho mỗi AS khi tham gia vào Internet người ta sử dụng 1 con số.Một tổ chức yêu cầu kết nối với Internet phải có được số hệ thống tự trị (ASN) ASN ban đầu là 2 byte (phạm vi 16 bit), điều này tạo ra 65.535 ASN.Do số lượng AS ngày càng tăng nên ASN ngày càng cạn kiệt , RFC 4893 đã mở rộng trường ASN để chứa 4 byte (phạm vi 32 bit) Điều này cho phép 4.294.967.295 ASN duy nhất, cung cấp khá nhiều so với 65.535 ASN ban đầu

Note : Có 2 dải private ASN là 64,512–65,535 trong dải 16 bít và 4,200,000,000–4,294,967,294 trong dải 32 bit Hai dải private ASN có sẵn cho bất kỳ tổ chức nào sử dụng,miễn là chúng không bao giờ được trao đổi công khai trên Internet.

1.1.2 Khái niệm về BGP

BGP, viết tắt của từ tiếng Anh Border Gateway Protocol, là giao thức định tuyến

đa miền sử dụng trên Internet từ 1994.Như đã biết internet được tạo bởi rất nhiều các AS BGP là giao thức được sử dụng để chia sẻ thông tin định tuyến giữa các AS khác nhau BGP thuộc loại path vector và định tuyến dựa trên các luật, chính sách của quản trị hơn là các metrics nội vùng Phiên bản BGP hiện nay là phiên bản 4, dựa trên RFC 4271 BGP

hỗ trợ VLSM,CIDR và summariation BGP là 1 giao thức thiên về chính sách định tuyến

1.2 Đặc điểm của BGP

1.2.1 Khái niệm về path-vector và Path Attributes

Trang 3

Như đã biết các giao thức định tuyến nội IGP chia là 2 trường phải là distance-vector và Link-state.Với Link-state thì các router phải có 1 cái nhìn tổng quan về topo mạng và từ đó tính toán ra tuyến đường tốt nhất.Với BGP sử dụng để định tuyến cho toàn internet thì không thể có cái nhìn tổng quan về topo mạng được nên BGP được xây dựng

theo thiên hướng distance-vector và được gọi là path-vector.Khác với distance-vector,

path-vector không quảng bá các route theo chu kì mà quảng bá đúng 1 lần duy nhất.Khi

có sự thay đổi thì quảng bá tương ướng với sự thay đổi đó

Đối với các giao thức định tuyến nội thì để tính toán chọn ra tuyến đường tốt nhất thì sử dụng giá trị metric Nhưng đối với BGP để tính toán ra tuyến đường tốt nhất người

ta sử dụng rất nhiều các tham số, Các tham số này được gọi là Path Attributes(PAs).PAs

được phân loại vào các nhóm sau:

 Well-known mandatory(origin,as-path,Next-hope ): là thuộc tính mà bắt buộc phải tồn tại trong bản tin cập nhật Nó phải được nhận ra bởi tất cả các Peer Nếu một thuộc tính Well-know bị thiếu, thì một bản tin chỉ thị lỗi đựoc tạo ra Điều này đảm bảo rằng tất cả các BGP peer phải thoả thuận theo một chuẩn nhất định

 Well-known discretionary(Local preference,atomic aggregate ): không yêu cầu các thuộc tính này tồn tại trong các bản tin UPDATE nhưng nếu chúng tồn tại, tất cả các router sẽ công nhận và sẽ có hành động tương ứng dựa trên thông tin được chứa bên trong thuộc tính này

 Optional transitive(Communities ): Router có thể không công nhận các thuộc tính này nhưng nếu router nhận được thuộc tính này, nó sẽ đánh dấu và gửi đầy

đủ cập nhật này đến router kế tiếp Các thuộc tính sẽ không thay đổi khi đi qua một router nếu thuộc tính này không được công nhận bởi router này

 Optional non-transitive(MED,Cluster-list ): Các thuộc tính này bị loại bỏ nếu cập nhật mang thuộc tính này đi vào router mà router không hiểu hoặc không công nhận thuộc tính

Note:Các thuộc tính trong các nhóm này sẽ được đề cập trong phần sau

Theo RFC 4271, các thuộc tính Well-known phải được công nhận bởi tất cả các triển khai BGP.

Các thuộc tính Optional không phải được công nhận bởi tất cả các triển khai BGP.

1.2.2 Truyền thông giữa các router

BGP sử dụng TCP port 179 để truyền thông giữa các router khác nhau.Vì TCP không

hỗ trợ multicast mà chạy unicast nên BGP không sử dụng các gói hello để khám phá các hàng xóm,nó không thể tự động khám phá cá hàng xóm.Vậy lên khi cấu hình ta phải khai báo hàng xóm.Đặc biệt 2 router không cần phải kết nối trực tiếp vẫn có thể neighbor với

Trang 4

nhau BGP có thể hình thành các kề kề được kết nối trực tiếp, nó cũng có thể tạo thành các kề với nhiều bước nhảy

Note: Hàng xóm BGP được kết nối với cùng một mạng sử dụng bảng ARP để xác định địa chỉ IP của thiết bị ngang hàng Các phiên BGP nhiều bước yêu cầu thông tin bảng định tuyến để tìm địa chỉ IP của máy ngang hàng Thông thường có một tuyến tĩnh hoặc IGP chạy giữa các hàng xóm iBGP để cung cấp thông tin đường dẫn cấu trúc liên kết để thiết lập phiên TCP BGP Một tuyến mặc định (A default route) là không đủ để thiết lập phiên BGP nhiều bước.

Trong BGP được chia ra thành 2 dạng là iBGP và eBGP:

 Internal BGP (iBGP):là giao thức được dùng giữa các router chạy BGP trong cùng 1 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 ở phía ngoài của 1 AS.Có AD là 200 trong bảng RIB

 External BGP (eBGP):là giao thức được dùng giữa các router chạy BGP ở 2 AS khác nhau.Mặc định eBGP có trường TTL bằng 1 nên 2 router muốn neighbor được phải kết nối trực tiếp hay chung 1 vùng mạng.Có AD bằng 20 trong bảng RIB

VD:

Trang 5

Trong hình trên ta có thể thấy AS 65200 cung cấp kết nối chuyển tiếp(transit

connectivity) đến AS 65100 và AS 65300 AS 65100 kết nối tại R2 và AS 65300 kết nối tại R4.Vậy kết nối giữa R1 và R2,R4 và R5 là một kết nối eBGP R2 có thể hình thành phiên iBGP trực tiếp với R4, nhưng R3 sẽ không biết định tuyến lưu lượng từ AS 65100 hoặc AS 65300 khi lưu lượng từ AS đến R3

Note: Các nhà cung cấp dịch vụ cung cấp transit connectivity Các tổ chức doanh nghiệp là người tiêu dùng và không nên cung cấp kết nối chuyển tiếp giữa các hệ thống tự trị trên Internet.

1.2.3 Các bảng của BGP

BGP có 3 bảng chính đó là:

 Neighbor table:Bảng này có giá trị lưu các hàng xóm của BGP Các hàng xóm này sẽ gửi toàn bộ các route tốt nhất của mình cho nhau.Các route này

sẽ được lưu và bảng BGP

 BGP table: Bảng này sẽ lưu toàn bộ các route mà các router hàng xóm gửi sang Từ các route này BGP sẽ chọn ra route tốt nhất để đưa vào bảng thứ 3

 Routing table: Bảng này lưu các route định tuyến của router

1.2.4 Các bản tin trong BGP

Trong BGP được chia thành 4 loại bản tin đó là:

 OPEN

 KEEPALIVE

 UPDATE

 NOTIFICATION

OPEN: Bản tin OPEN chứa số phiên bản BGP, ASN của bộ định tuyến gốc, thời

gian giữ, định danh BGP và các tham số tùy chọn khác thiết lập khả năng phiên:

 Hold time: Thuộc tính thời gian giữ đặt bộ hẹn giờ giữ, tính bằng giây, cho mỗi hàng xóm BGP Khi nhận được UPDATE hoặc KEEPALIVE, bộ hẹn giờ giữ lại đặt về giá trị ban đầu Nếu bộ đếm thời gian giữ đến 0, phiên BGP bị phá hỏng, các tuyến từ hàng xóm đó sẽ bị xóa và thông báo rút lộ trình cập nhật thích hợp được gửi đến các hàng xóm BGP khác cho các tiền

tố bị ảnh hưởng

 BGP identifier: ID bộ định tuyến BGP (RID) là một số duy nhất 32 bit xác định bộ định tuyến BGP trong các tiền tố được quảng bá RID có thể được

sử dụng như một cơ chế ngăn ngừa vòng lặp cho các bộ định tuyến được quảng cáo trong một hệ thống tự trị RID có thể được đặt thủ công hoặc động cho BGP Một giá trị khác không phải được đặt để các bộ định tuyến trở thành hàng xóm

Trang 6

KEEPALIVE: Các thông điệp KEEPALIVE được trao đổi cứ sau một phần ba bộ

đếm thời gian giữ đã được thỏa thuận giữa hai bộ định tuyến BGP Các thiết bị của Cisco có thời gian giữ mặc định là 180 giây, vì vậy khoảng thời gian giữ mặc định

là 60 giây Nếu thời gian giữ được đặt thành 0, thì không có tin nhắn cố định nào được gửi giữa các hàng xóm BGP

UPDATE: Một thông báo UPDATE quảng bá bất kỳ tuyến đường khả thi, rút các

tuyến đường được quảng bá trước đó hoặc có thể thực hiện cả hai Có các thông tin thành phần cơ bả trong Update message dó là: NLRI, thuộc tín của Path, và thu hồi route(withdraw route)

NOTIFICATION: Thông báo NOTIFICATION được gửi khi phát hiện lỗi với

phiên BGP, chẳng hạn như hết giờ hẹn giờ giữ, thay đổi khả năng hàng xóm hoặc yêu cầu đặt lại phiên BGP Điều này khiến kết nối BGP bị đóng

1.2.5 Các trạng thái khi neighbor BGP

Khi 2 router chạy BGP neighbor với nhau thì sẽ có 6 trạng thái:

 Idle: idle là trạng thái đầu tiên của một kết nối BGP BGP chờ sự kiện bắt đầu, nó thường là khởi tạo bởi nhà quản trị hoặc là các sự kiện (event) trong mạng Tại sự kiện khởi tạo, tạo các thông tin cần thiết và reset lại các timer : holdtime… Idle có thẻ được chuyển về từ một trạng thái khác trong trường hợp có lỗi

 Connect: trong trạng thái connect : BGP chờ cho kết nối TCP được hoàn thành Nếu kết nối TCP thành công, thì trạng thái này được chuyển tiếp sang trạng thái OpenSent Nếu kết nối TCP lỗi thì trạng thái này chuyển sang trạng thái Acitve,và router cố gắng để thiết lập kết nối lại Nếu một kết nối mà Connectretry timer hết hạn(expire) thì trạng thái được duy trì ở trang thái Connect , timer được reset, và kết nối TCP được khởi tạo lại 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 về trạng thái Idle

 Active: trong trạng thái Active thì BGP cố gắng yêu cầu một peer khởi tạo kết nối TCP Nếu thành công, nó chuyển sang trạng thái OpenSent Nếu thời gian kết nói retry timer hết han, thì BGP sẻ chuyển về trạng thái Connect lại Trong khi active, thì BGP vẫn lắng nghe một kết nối khác được khởi tạo từ peer Trạng thái có thể chuyển về Idle trong trường hợp có các sự kiện khác, như kết thúc sự kiện bởi hệ thống hay nhà quản trị

 OpenSent : trong trạng thái này, BGP chờ một bản tin open từ peer của nó bản tin open được kiểm tra tính đúng đắn Trong trường hớp có xảy ra lỗi, như: version không thích hợp hay AS không chấp nhận, thì hệ thống truyền bản tin chỉ báo và reset keepalive timer Tại trạng thái này thì hold time được thoả thuận và khoảng thời gian nào nhỏ hơn sẻ được chọn Nếu thời

Trang 7

gian hold time được thoả thuận là 0 thì hold timer và keepalive timer sẻ không được khởi tao

 OpenConfirm: Trong trạng thái này, BGP chờ bản tin keepalive hay bản tin chỉ thị cảnh báo Nếu một bản tin keepalive được nhận, thì trạng thái này chuyển sang trạng thái Established, và láng giềng thoả thuận hoàn thành Nếu hệ thống nhận một bản tin cập nhật hay keepalive, thì nó reset

holdtime, và trạng thái chuyển vè idle Hệ thống truyền một cách có chu kỳ các bản tin keepalive cho peer theo tốc độ được cài đặt theo keepalive timer Trong trường hợp bất kỳ mmọt sự ngưng kết nối TCP hay chấm dứt

sự kiện, được tạo ra bởi nhà quản trị thì trạng thái sẻ chuyển vê trạng thái idle

 Established: Đây là trạng thái sau cùng của sự thoả thuận của các peer BGP bắt đầu trao đổi các gói cập nhật với các peers của nó Nếu không phải

là 0 thì hold time sẻ đươc reset lại khi nó nhận được thông tin cập nhật hay bản tin keepalive Mỗi gói cập nhật đều được kiểm tra lỗi, như trường hợp lỗi hay trùng lặp các thuộc tính Nếu có lỗi được phát hiện thì một bản tin cảnh báo (notification) được gởi đi cho Peer Bất kỳ bản tin cảnh báo nào được nhận trong khi ở trạng thái Established đề làm cho BGP xoá Peer dang nhận và trở về trạng thái Idle Nếu Hold time hết hạn, hay một bản tin chỉ thị cắt kết nối nhận được từ Peer, hay ngưng sự kiện được nhận thì hệ thống sể trở về trạng thái Idle

Trang 8

1.3 Các tham số tuyến đường trong BGP

Như phần đầu đã đề cập các tham số tuyến đường của BGP được chia là 4

nhóm.Trong phần này chúng ta sẽ đi tìm hiểu các tham số tuyến đường đó là gì

1.3.1 Thuộc tính 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

Trang 9

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

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

Trang 10

single-homed hay multisingle-homed 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

VD:

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

Command: 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

Ngày đăng: 24/06/2020, 23:02

TỪ KHÓA LIÊN QUAN

w