Chương 12: CƠ BẢN HOẠT ĐỘNG CỦA BGP (Phần 2) -

Chương 12: CƠ BẢN HOẠT ĐỘNG CỦA BGP (Phần 2) -

Chương 12: CƠ BẢN HOẠT ĐỘNG CỦA BGP (Phần 2) -

Chương 12: CƠ BẢN HOẠT ĐỘNG CỦA BGP (Phần 2) -

Chương 12: CƠ BẢN HOẠT ĐỘNG CỦA BGP (Phần 2) -
Chương 12: CƠ BẢN HOẠT ĐỘNG CỦA BGP (Phần 2) -
(028) 35124257 - 0933 427 079

Chương 12: CƠ BẢN HOẠT ĐỘNG CỦA BGP (Phần 2)

14-06-2020

3. Kiểm tra trước khi trở thành láng giềng BGP

Tương tự như IGP, BGP kiểm tra vài yêu cầu trước khi một router khác có thể trở thành láng giềng, đạt được trạng thái đã được thiết lập (established). Phần lớn các cài đặt là dễ dàng, phần lắt léo duy nhất liên quan đến cách dùng địa chỉ IP. Danh sách dưới đây mô tả các phép kiểm tra mà BGP thực hiện khi hình thành quan hệ láng giềng:

  • Bước 1: Router phải nhận được một yêu cầu thiết lập kết nối TCP với địa chỉ nguồn mà router tìm thấy trong câu lệnh neighbor.
  • Bước 2: Số ASN của một router trong câu lệnh router bgp phải đúng bằng với giá trị ASN trong câu lệnh neighbor remote-as của router láng giềng. Yêu cầu này không đúng trong trường hợp cấu hình thuộc tính liên minh confederation.
  • Bước 3: RID của BGP của hai router không được giống nhau.
  • Bước 4: Nếu được cấu hình, xác thực MD5 sẽ phải đạt yêu cầu.

Hình 12.3 mô tả ba hạng mục đầu tiên trong danh sách nêu trên, trong đó R3 khởi tạo một kết nối TCP về R1. Các số 1,2 và 3 trong hình vẽ tương ứng với các bước trên. Chú ý rằng kiểm tra ở bước 2 của R1 dùng lệnh neighbor như là một phần của bước 1.

Hình 12.3: Các quá trình kiểm tra trước khi trở thành láng giềng

Trong hình 12.3, R3 khởi tạo một kết nối TCP với địa chỉ nguồn là 3.3.3.3 là địa chỉ nguồn của gói tin. Tác vụ kiểm tra đầu tiên diễn ra khi R1 nhận được gói tin đầu tiên, tìm địa chỉ nguồn của gói tin (3.3.3.3) và tìm ra địa chỉ đó trong câu lệnh neighbor. Tác vụ kiểm tra thứ hai khi R1 so sánh với giá trị AS của R3 (trong thông điệp mở) với giá trị AS trong câu lệnh neighbor của R1. Bước kiểm tra thứ ba đảm bảo rằng các BGP RID là duy nhất, các giá trị này chứa trong thông điệp BGP Open.

Trong khi việc kiểm tra ở bước 1 có vẻ rất trực giác, phần đảo lại của thuật toán không nhất thiết là đúng để quan hệ láng giềng được thiết lập. Ví dụ, nếu R1 không có câu lệnh neighbor 3.3.3.3 update-source 1.1.1.1, tiến trình trong hình trên vẫn hoạt động. Nói một cách ngắn gọn, chỉ cần một trong hai router dùng update source và địa chỉ này phải đúng bằng với giá trị chỉ ra trong câu lệnh neighbor của router láng giềng. Hai ví dụ trên đã minh họa cấu hình update source chính xác trên cả hai router và nếu chỉ cấu hình một trong hai router, cấu hình vẫn hoạt động.

BGP dùng khoảng thời gian duy trì (keepalive) để định nghĩa tần suất một router gửi một thông điệp duy trì và khoảng thời gian hết hạn (holdtime) để xác định một router sẽ chờ trong bao lâu trước khi tái thiết lập một quan hệ láng giềng. Thông điệp BGP Open trong mỗi router có liệt kê khoảng thời gian duy trì. Nếu khoảng thời gian này không giống nhau, mỗi router sẽ dùng giá trị thấp hơn cho mỗi thông số. Các router vẫn có thể thiết lập quan hệ láng giềng cho dù các thông số thời gian là khác nhau.

4. Các thông điệp BGP và các trạng thái láng giềng

Trạng thái mong muốn của quan hệ BGP là trạng thái thiết lập (established). Trong trạng thái này, các router đã hình thành kết nối TCP và các router trao đổi thông điệp BGP Open với tất các thông số đã kiểm tra hoàn tất. Ở thời điểm này, các thông tin về đồ hình mạng có thể được trao đổi dùng thông điệp cập nhật. Bảng 12.2 liệt kê các trạng thái trong quan hệ láng giềng BGP và các đặc điểm của nó. Chú ý rằng nếu địa chỉ IP là không giống nhau, các láng giềng sẽ rơi vào trạng thái tích cực (active).

Trạng thái

Lắng nghe ở TCP?

Khởi tạo TCP

TCP hoạt động?

Thông điệp Open có được gửi?

Thông điệp Open có được nhận

Router láng giềng có thiết lập?

Idle

Không

 

 

 

 

 

Connect

(Kết nối)

 

 

 

 

 

Active (Tích cực)

 

 

 

 

Open có được gửi

 

 

Open có được xác nhận

 

Thiết lập (established)

Bảng 12.2: Các trạng thái trong quan hệ láng giềng BGP

Các kiểu thông điệp BGP

Thông điệp

Mục đích

Open

Được dùng để thiết lập quan hệ láng giềng vào trao đổi các thông số cơ bản.

Keepalive

(Duy trì)

Được dùng để duy trì quan hệ láng giềng. Nếu router không nhận được thông điệp này trong khoảng thời gian hết hạn thì BGP sẽ hủy quan hệ láng giềng. Khoảng thời gian này có thể cấu hình bằng lệnh bgp timers keepalive holdtime hoặc bằng câu lệnh neighbor [ip-adddress|peer-group-name] timers keepalive holdtime.

Update (Cập nhật)

Được dùng để trao đổi thông tin định tuyến

Notification (Thông báo)

Được dùng khi có lỗi BGP xảy ra. Khi thông điệp này được gửi, quan hệ láng giềng sẽ bị khởi động lại.

Bảng 12.3: Các thông điệp của BGP

5. Tác vụ tái khởi động quan hệ BGP một cách chủ ý

Ví dụ dưới đây sẽ mô tả việc tái thiết lập quan hệ láng giềng bằng câu lệnh neighbor shutdown và các trạng thái trong suốt quá trình. Ví dụ dùng router R2 và router R6.

R1 sẽ tắt quan hệ láng giềng với R6. Lệnh debug ip bgp sẽ hiển thị việc chuyển đổi sang trạng thái không hoạt động (down), được mô tả như là “Idle” trong lệnh show ip bgp summary.

R1# debug ip bgp

BGP debugging is on for address family: BGP IPv4

R1# conf  t

Enter configuration commands, one per line. End with CNTL/Z.

R1(config)# router bgp 123

R1(config-router)# neigh 10.1.16.6 shutdown

R1#

*Mar 4 21:01:45.946: BGP: 10.1.16.6 went from Established to Idle

*Mar 4 21:01:45.946: %BGP-5-ADJCHANGE: neighbor 10.1.16.6 Down Admin. shutdown

*Mar 4 21:01:45.946: BGP: 10.1.16.6 closing

R1# show ip bgp summary | include 10.1.16.6

10.1.16.6 4 678 353 353 0 0 0 00:00:06 Idle (Admin)

Kế tiếp, lệnh no neighbor shutdown sẽ đổi lại trạng thái trên. Các thông điệp debug khác nhau liệt kê các trạng thái khác nhau. Cũng lưu ý rằng thông điệp cuối cùng là một thông điệp thông báo xảy ra do cấu hình mặc định của BGP. Các kết quả còn lại là kết quả của lệnh debug ip bgp.

R1# conf t

Enter configuration commands, one per line. End with CNTL/Z.

R1(config)# router bgp 123

R1(config-router)# no neigh 10.1.16.6 shutdown

*Mar 4 21:02:16.958: BGP: 10.1.16.6 went from Idle to Active

*Mar 4 21:02:16.958: BGP: 10.1.16.6 open active, delay 15571ms

*Mar 4 21:02:29.378: BGP: 10.1.16.6 went from Idle to Connect

*Mar 4 21:02:29.382: BGP: 10.1.16.6 rcv message type 1, length (excl. header) 26

*Mar 4 21:02:29.382: BGP: 10.1.16.6 rcv OPEN, version 4, holdtime 180 seconds

*Mar 4 21:02:29.382: BGP: 10.1.16.6 went from Connect to OpenSent

*Mar 4 21:02:29.382: BGP: 10.1.16.6 sending OPEN, version 4, my as: 123, holdtime 180 seconds

*Mar 4 21:02:29.382: BGP: 10.1.16.6 rcv OPEN w/ OPTION parameter len: 16

BGP: 10.1.16.6 rcvd OPEN w/ remote AS 678

*Mar 4 21:02:29.382: BGP: 10.1.16.6 went from OpenSent to OpenConfirm

*Mar 4 21:02:29.382: BGP: 10.1.16.6 send message type 1, length (incl. header) 45

*Mar 4 21:02:29.394: BGP: 10.1.16.6 went from OpenConfirm to Established

*Mar 4 21:02:29.398: %BGP-5-ADJCHANGE: neighbor 10.1.16.6 Up

Tất cả các router láng giềng BGP có thể bị tái thiết lập bằng lệnh clear ip bgp *, trong đó, cũng giống như lệnh neighbor shutdown, tất cả các kết nối láng giềng bị tái khởi động, các kết nối bị đóng và tất cả các hàng trong bảng BGP được học từ láng giềng đó sẽ bị xóa. Lệnh clear sẽ đuợc mô tả trong các đoạn kế tiếp, bao gồm các thức làm thế nào để xóa chỉ vài láng giềng.

6. Xây dựng bảng BGP

Bảng sơ đồ mạng BGP (topology table), còn được gọi là bảng cơ sở thông tin định tuyến BGP (Routing Information Base - RIB), sẽ lưu giữ các thông tin lớp 3 (network layer reachability information - NLRI) được học bởi BGP và các thuộc tính PA của các mạng này. Một NLRI đơn giản chỉ là một địa chỉ mạng và giá trị độ dài tiền tố (prefix length). Phần này sẽ tập trung vào tiến trình làm thế nào BGP chèn một NLRI vào bảng BGP của router và cách mà các router quảng bá các NLRI và các thuộc tính PA của nó đến các router láng giềng.

Về phương diện kỹ thuật, BGP không quảng bá các tuyến, thay vào đó, nó quảng bá các thuộc tính PA và tập hợp các NLRI có chung giá trị thuộc tính PA. Tuy nhiên, phần lớn mọi người đều gọi NLRI là tiền tố BGP hoặc các tuyến BGP. Tài liệu này dùng cả ba thuật ngữ. Tuy nhiên, bởi vì có một sự khác nhau giữa tuyến BGP trong bảng BGP và tuyến IP trong bảng định tuyến, tài liệu này sẽ mô tả cẩn thận khi phân biệt bảng BGP hay bảng định tuyến.

  • Chèn một tuyến/tiền tố vào bảng BGP

Một router BGP riêng lẻ sẽ đưa các tuyến vào bảng BGP của nó cũng bằng cách thức tương tự như IGP: dùng câu lệnh network và nghe các thông tin về sơ đồ mạng thông qua các thông điệp cập nhật từ một router láng giềng, hoặc bằng cách phân phối lại từ một giao thức định tuyến khác. Các phần kế tiếp sẽ mô tả các ví dụ làm thế bào một router BGP thêm các tuyến vào bảng BGP bằng các phương thức khác với cách thức học từ một router láng giềng.

  • Lệnh network trong BGP

Phần này và phần kế tiếp giả sử rằng lệnh no auto-summary đã được cấu hình. Lưu ý là từ IOS phiên bản 12.3 trở đi, lệnh no auto-summary trong BGP là mặc định. Sau đó, phần kế tiếp sẽ khảo sát sự ảnh hưởng của câu lệnh auto-summary đối với câu lệnh network và đối với quá trình phân phối lại.

Câu lệnh network trong BGP khác nhiều so với câu lệnh network được dùng trong các giao thức nội IGP. Câu lệnh network trong BGP ra lệnh cho tiến trình BGP của router thực hiện các việc sau: Tìm kiếm một tuyến trong bảng định tuyến của router hiện hành trong đó đúng bằng với các thông số của câu lệnh network. Nếu tuyến đó là tồn tại, sẽ đặt địa chỉ mạng NLRI tương đương vào trong bảng BGP nội bộ.

Với cơ chế này, các mạng kết nối trực tiếp, các tuyến đường tĩnh và các tuyến dạng IGP có thể được lấy ra khỏi bảng định tuyến IP và đặt vào trong bảng BGP để quảng bá về sau. Khi router xóa tuyến đó ra khỏi bảng định tuyến IP, BGP sẽ xóa địa chỉ NLRI ra khỏi bảng BGP và router sẽ báo cho router láng giềng về việc tuyến đã bị xóa. Lưu ý rằng địa chỉ tuyến IP phải trong bảng định tuyến phải giống hệt trong bảng BGP khi lệnh no auto-summary được cấu hình hay được dùng.

Bảng 12.4 liệt kê vài đặc điểm chủ yếu của câu lệnh network trong BGP. Cú pháp tổng quát là network { network-number [mask network-mask]} [route-map map-tag]

Đặc điểm

Ngầm định

Nếu thông số mask không được cấu hình

Giá trị mặt nạ mặc định được dùng

Cơ chế lựa tuyến để quảng bá khi tùy chọn no auto-summary được cấu hình

Một tuyến ip phải so sánh đúng bằng với phần mạng và chiều dài của tiền tố

Cơ chế chọn lựa tuyến để quảng bá khi tuỳ chọn auto-summary được cấu hình

Nếu câu lệnh network khai báo một địa chỉ mạng dạng đầy đủ, router sẽ quảng bá nếu có bất kỳ một mạng con nào của mạng đầy đủ trên tồn tại.

Thuộc tính NEXT_HOP của tuyến BGP được thêm vào bảng BGP.

Dùng thuộc tính NEXT_HOP của tuyến IP.

Số địa chỉ mạng tối đa được đưa vào tiến trình BGP bằng câu lệnh network

200

Mục đích của tùy chọn route-map trong câu lệnh network

Có thể dùng để lọc tuyến và thao tác các thuộc tính PA, bao gồm thuộc tính NEXT_HOP. NEXT_HOP là một thuộc tính đường dẫn PA của BGP mô tả địa chỉ IP kế tiếp cần đến để đi về mạng đích NLRI.

Bảng 12.4: Mô tả các tùy chọn trong câu lệnh network của BGP

Ví dụ dưới đây mô tả câu lệnh network trên router R5. Các láng giềng của R5 đã được tắt để bảng BGP chỉ hiển thị bảng BGP được tạo ra bởi câu lệnh network trên R5. Trong ví dụ này, R5 dùng hai câu lệnh network để thêm hai địa chỉ 21.0.0.0/8 và 22.1.1.0/24 vào bảng BGP. Các mạng từ 30 đến 39 được quảng bá thông qua câu lệnh redistribute eigrp 6.

Hình 12.4: Sơ đồ mạng đang chạy giao thức BGP

Trên R5, câu lệnh network chỉ lựa ra các mạng 21.0.0.0/8 và 22.1.1.0/24. Do giá trị mặt nạ trong câu lệnh không được cấu hình trong câu lệnh đầu tiên nên mặc định giá trị mặt nạ là 255.0.0.0, vì địa chỉ IP được khai báo là một địa chỉ lớp A (21.0.0.0).

router bgp 45

no synchronization

bgp log-neighbor-changes

network 21.0.0.0

network 22.1.1.0 mask 255.255.255.0

Các lệnh neighbor không được hiển thị trong ví dụ này, vì nó không liên quan đến chủ đề đang thảo luận. Kế tiếp, hai tuyến được lựa ra thì có trong bảng định tuyến IP. Cũng lưu ý rằng địa chỉ mạng 21.0.0.0/8 là một mạng kế nối trực tiếp và đường đi về mạng 22.1.1.0/24 là một tuyến đường tĩnh.

R5# show ip | incl 21 | 22

C 21.0.0.0/8 is directly connected, Loopback20

22.0.0.0/24 is subnetted, 1 subnets

S 22.1.1.0 [1/0] via 10.1.5.9

Dưới đây, các địa chỉ mạng đã được thêm vào bảng BGP. Lưu ý rằng giá trị NEXT_HOP của tuyến 21.0.0.0/8 đã được gán về 0.0.0.0 và giá trị NEXT_HOP cho mạng 22.1.1.0/24 sẽ giống với NEXT_HOP của tuyến IP.

R5# show ip bgp

BGP table version is 38, local router ID is 5.5.5.5

Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,

r RIB-failure, S Stale

Origin codes: i - IGP, e - EGP, ? - incomplete

Network Next Hop Metric LocPrf Weight Path

*> 21.0.0.0 0.0.0.0 0 32768 i

*> 22.1.1.0/24 10.1.5.9 0 32768 i

Đưa tuyến từ các giao thức định tuyến nội IGP, định tuyến tĩnh hay các tuyến kết nối trực tiếp.

Lệnh redistribute trong BGP có thể đưa các tuyến tĩnh, các tuyến kết nối trực tiếp và các tuyến được học thông qua giao thức IGP vào trong BGP. Cơ chế của lệnh BGP redistribute hoạt động tương tự như lệnh redistribute được mô tả trước đây. Tuy nhiên, phần này mô tả vài sự khác nhau rất tinh tế chỉ có ở BGP.

BGP không dùng khái niệm tính toán một chi phí cho một đường đi thay thế để đến một mạng nào đó. Thay vào đó, BGP dùng tiến trình ra quyết định từng bước để kiểm tra các thông số thuộc tính đường đi khác nhau để xác định đường đi tốt nhất. Kết quả là, tiến trình phân phối vào trong BGP không yêu cầu xem xét việc gán các chi phí. Tuy nhiên, một router cũng cần áp dụng một route-map trong quá trình phân phối để thao tác các thuộc tính PA, sau đó các thuộc tính này ảnh hưởng đến tiến trình ra quyết định của BGP. Nếu một giá trị chi phí được gán đến một tuyến được đưa vào trong BGP, BGP sẽ gán giá trị chi phí đó vào thuộc tính BGP MED PA, còn được biết với tên gọi khác là chi phí.

Mặc dù đặc điểm này không phải là duy nhất đối với BGP, ta cần nhớ rằng quá trình phân phối từ một giao thức IGP vào BGP có thể lấy hai tuyến: một là những tuyến được học từ giao thức IGP đó và hai là những tuyến kết nối trực tiếp có địa chỉ trùng với địa chỉ trong câu lệnh network.

Ví dụ dưới đây hiển thị R6 lấp đầy bảng BGP thông qua quá trình phân phối từ EIGRP và phân phối một tuyến tĩnh. EIGRP trên R6 học các tuyến của các mạng từ 30 đến 39. Mục đích của ví dụ này là như sau:

  • Phân phối EIGRP cho các mạng 31 và 32.
  • Phân phối các tuyến đường tĩnh đến mạng 34 và gán giá trị MED bằng 9.
  • Không phân phối các tuyến kết nối trực tiếp mà địa chỉ trùng với địa chỉ trong câu lệnh network của EIGRP.
  • Dùng lệnh no auto-summary trong hệ điều hành IOS của Cisco phiên bản 12.3.

Ví dụ trên mô tả sai sót khi tình cờ đưa các tuyến dạng kết nối trực tiếp (mạng 10.0.0.0) do trùng với địa chỉ của câu lệnh network. Phần sau trong ví dụ này, một route-map sẽ được thêm vào để ngăn ngừa vấn đề trên.

R6 đưa các tuyến EIGRP 6 và các tuyến tĩnh vào BGP, gán giá trị chi phí bằng 9. Cũng chú ý rằng EIGRP sẽ chỉ ra các mạng 10.1.68.0/24 và 10.1.69.0/24 với câu lệnh network của nó.

router bgp 678

redistribute static metric 9

redistribute eigrp 6

!

router eigrp 6

network 10.0.0.0

!

ip route 34.0.0.0 255.0.0.0 null0

Các lệnh không liên quan đến bảng BGP cục bộ bị bỏ qua. R6 đã đáp ứng mục đích đưa các mạng 31 và 32 từ EIGRP và mạng 34 từ tuyến tĩnh. Tiến trình này cũng vô tình đưa hai mạng con của mạng 10.0.0.0/8 vào BGP bởi vì câu lệnh network 10.0.0.0 trong EIGRP cũng bao hàm các mạng con này.

R6# show ip bgp

BGP table version is 1, local router ID is 6.6.6.6

Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,

r RIB-failure, S Stale

Origin codes: i - IGP, e - EGP, ? - incomplete

Network Next Hop Metric LocPrf Weight Path

*> 10.1.68.0/24 0.0.0.0 0 32768 ?

*> 10.1.69.0/24 0.0.0.0 0 32768 ?

*> 31.0.0.0 10.1.69.9 156160 32768 ?

*> 32.1.1.0/24 10.1.69.9 156160 32768 ?

*> 34.0.0.0/24 0.0.0.0 9 32768 ?

Dưới đây chú ý chi phí của hai tuyến EIGRP. Lệnh show ip bgp hiển thị thuộc tính MED được gán cùng giá trị.

R6# show ip route eigrp

32.0.0.0/24 is subnetted, 1 subnets

D 32.1.1.0 [90/156160] via 10.1.69.9, 00:12:17, FastEthernet0/0

D 31.0.0.0/8 [90/156160] via 10.1.69.9, 00:12:17, FastEthernet0/0

Dưới đây, lệnh redistribute eigrp đã được thay đổi, dùng thêm một route-map chỉ để cho những tuyến trong dãy 30.

redist eigrp 6 route-map just-30-something

Route-map và ACL được dùng cho việc lọc được hiển thị kế tiếp. Kết quả là hai mạng con 10.0.0.0/8 sẽ không được đưa vào bảng BGP.

R6# show route-map

route-map just-30-something, permit, sequence 10

Match clauses:

ip address (access-lists): permit-30-39

Set clauses:

Policy routing matches: 0 packets, 0 bytes

R6# sshhooww aacccceessss--lliisstt

Standard IP access list permit-30-39

10 permit 32.0.0.0, wildcard bits 7.255.255.255 (1538 matches)

20 permit 30.0.0.0, wildcard bits 1.255.255.255 (1130 matches)

Cũng lưu ý rằng thông số NEXT_HOP cho từng tuyến sẽ có giá trị chặng kế tiếp của tuyến ngoại lai hoặc có giá trị 0.0.0.0 cho những tuyến kết nối trực tiếp hoặc tuyến về null0.

  • Ảnh hưởng của lệnh auto-summary trên các tuyến ngoại lai và ảnh hưởng trên câu lệnh network

Cũng giống như với IGP, lệnh BGP auto-summary làm cho một tuyến đầy đủ được tạo ra nếu có một tuyến con tồn tại. Tuy nhiên, không giống như IGP, lệnh auto-summary trong BGP làm cho BGP tóm tắt chỉ những tuyến được đưa vào thông qua quá trình phân phối trên router đó. Lệnh BGP auto-summary không tìm kiếm các ranh giới đầy đủ trong sơ đồ mạng và lệnh này không tìm kiếm các tuyến đã có trong bảng BGP. Nó chỉ đơn giản tìm các tuyến được đưa vào BGP thông qua các lệnh redistribute và lệnh network trên router đó.

Thuật toán thì hơi khác nhau dựa trên các tuyến được đưa vào bằng lệnh redistribute hay bằng câu lệnh network. Thuật toán cho hai lệnh này được tóm tắt như sau:

  • Lệnh redistribute: Khi tiến trình phân phối đưa vào các tuyến con hoặc một mạng đầy đủ, chỉ có tuyến nào ở dạng đầy đủ mới được đưa vào bảng định tuyến.
  • Lệnh network: Đối với những lệnh network khai báo một địa chỉ mạng đầy đủ và không có tùy chọn mặt nạ, tuyến dạng đầy đủ sẽ được đưa vào bảng định tuyến nếu có ít nhất một mạng con của địa chỉ mạng đầy đủ tồn tại trong bảng định tuyến IP. Có một vài điểm cần giải thích và nhấn mạnh. Đầu tiên là trong quá trình phân phối, lệnh auto-summary làm cho tiến trình phân phối chỉ đưa vào những tuyến dạng đầy đủ vào trong bảng BGP cục bộ và không đưa vào các mạng con. Lệnh network, với tuỳ chọn auto-summary được cấu hình, vẫn đưa vào những mạng con dựa trên cùng một thuật toán đã mô tả trong chương này. Thêm vào đó, nếu lệnh network khai báo một địa chỉ mạng đầy đủ, BGP sẽ đưa vào địa chỉ mạng đầy đủ miễn sao là có ít nhất một mạng con của địa chỉ mạng đó tồn tại trong bảng định tuyến.

Ví dụ dưới đây mô tả ảnh hưởng của lệnh auto-summary. Ví dụ mô tả các bước sau trên R5:

  • Mạng 10.15.0.0/16 được đưa vào BGP bằng lệnh redistribute.
  • Nếu chế độ auto-summary được cấu hình, bảng BGP bị xóa, và giờ chỉ có mạng 10.0.0.0/8.
  • Nếu chế độ auto-summary bị tắt và không cấu hình phân phối.
  • Lệnh network 10.0.0.0, lệnh network 10.12.0.0 mask 255.254.0.0 và lệnh network 10.14.0.0 mask 255.255.0.0 được cấu hình. Chỉ có lệnh cuối cùng trong ba lệnh khai báo đúng một tuyến hiện có, vì vậy chỉ có tuyến này được đưa vào BGP.
  • Auto-summary được bật, làm cho mạng 10.0.0.0/8 được đưa vào bảng BGP, bên cạnh tuyến 10.14.0.0/16 ban đầu.

Trong ví dụ này, R5 đã tắt tất cả các kết nối láng giềng, vì vậy lệnh show ip bgp chỉ hiển thị những tuyến được đưa vào trên R5. Bước 1 dưới đây, chỉ có mạng 10.15.0.0/16 được đưa vào trong cấu hình hiện hành. Lưu ý rằng các dòng không liên quan đã bị xóa và route-map only15 chỉ lựa ra tuyến 10.15.0.0/16.

R5# show run | be router bgp

router bgp 5

no synchronization

redisribute connected route-map only15

no auto-summary

Dưới đây, chú ý sự thiếu vắng của tuyến 10.0.0.0/8 và có sự tồn tại của mạng 10.15.0.0/16 cũng như là các tuyến còn lại được dùng trong những bước kế tiếp.

R5# show ip route 10.0.0.0

Routing entry for 10.0.0.0/8, 4 known subnets

Attached (4 connections)

Redistributing via eigrp 99, bgp 5

Advertised by bgp 5 route-map only15

C 10.14.0.0/16 is directly connected, Loopback10

C 10.15.0.0/16 is directly connected, Loopback10

C 10.12.0.0/16 is directly connected, Loopback10

C 10.13.0.0/16 is directly connected, Loopback10

! Only 10.15.0.0/16 is injected into BGP.

R5# show ip bgp

BGP table version is 2, local router ID is 5.5.5.5

Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale

Origin codes: i - IGP, e - EGP, ? - incomplete

   Network      Next Hop   Metric LocPrf Weight Path

*> 10.15.0.0/16 0.0.0.0      0     32768             ?

Kế tiếp, bước 2, khi lệnh auto-summary được bật. Bây giờ mạng 10.15.0.0/16 là không còn được đưa vào BGP nữa, chỉ còn địa chỉ 10.0.0.0/8.

R5# conf t

Enter configuration commands, one per line. End with CNTL/Z.

R5(config)# router bgp 5

R5(config-router)# no auto-summary

R5(config-router)# ^Z

R5# clear ip bgp *

R5# show ip bgp

BGP table version is 2, local router ID is 5.5.5.5

Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,r RIB-failure, S Stale

Origin codes: i - IGP, e - EGP, ? - incomplete

   Network  Next Hop  Metric LocPrf Weight Path

*> 10.0.0.0 0.0.0.0     0    32768              ?

Bây giờ ở bước 3, lệnh no auto-summary tắt chế độ tự động tóm tắt, quá trình phân phối lại bị bỏ và ở bước 4, lệnh network được thêm vào. Chú ý rằng 10.12.0.0/15 không được đưa vào BGP vì không có tuyến nào đúng bằng. Mạng 10.0.0.0/8 cũng không được đưa vào vì cùng lý do. Tuy nhiên mạng 10.14.0.0/16 được đưa vào vì có một tuyến đúng bằng địa chỉ mạng và chiều dài tiền tố.

R5# conf  t

Enter configuration commands, one per line. End with CNTL/Z.

R5(config)# router bgp 5

R5(config-router)# no auto-summary

R5(config-router)# no redist conn route-map only15

R5(config-router)# no redist connected

R5(config-router)# network 10.0.0.0

R5(config-router)# network 10.12.0.0 mask 255.254.0.0

R5(config-router)# network 10.14.0.0 mask 255.255.0.0

R5(config-router)# ^Z

R5# clear ip bgp *

R5# sh ip bgp | begin network

   Network      Next Hop Metric LocPrf Weight Path

*> 10.14.0.0/16 0.0.0.0    0     32768              i

Cuối cùng, lệnh auto-summary được bật lại (không hiển thị trong ví dụ). Mạng 10.14.0.0/16 vẫn được đưa vào. Mạng 10.0.0.0 cũng được đưa vào bởi vì câu lệnh network 10.0.0.0.

R5# sh ip bgp | begin network

  Network      Next Hop   Metric LocPrf Weight Path

* 10.0.0.0      0.0.0.0     0    32768              i

* 10.14.0.0/16  0.0.0.0     0    32768              i

  • Tự động tóm tắt tuyến và thuộc tính AS_PATH

Như đã mô tả trong phần trước, một router có thể thêm vào một hàng trong bảng BGP bằng lệnh network hoặc bằng quá trình phân phối lại. Ngoài ra, BGP có thể dùng quá trình tóm tắt tuyến thủ công bằng tay để quảng bá các tuyến tổng đến các router láng giềng, làm cho các router láng giềng học thêm các tuyến mới. Quá trình tóm tắt thủ công BGP bằng lệnh aggregate-address khác đáng kể so với lệnh auto-summary. Nó có thể tóm tắt bất kỳ tuyến nào trong bảng BGP, tạo ra một tuyến tổng có chiều dài tuỳ ý. Nó không luôn luôn loại bỏ việc quảng bá các tuyến con mặc dù ta có thể cấu hình việc đó.

Tuyến tổng sẽ bao gồm thuộc tính AS_PATH, giống như yêu cầu cho mọi NLRI khác trong bảng BGP. Tuy nhiên, để hiểu đầy đủ lệnh này làm gì, bạn cần phải xem xét kỹ hơn thuộc tính đường đi AS_PATH.

Thuộc tính AS_PATN bao gồm bốn thành phần khác nhau, gọi là các phân đoạn như sau:

  • AS_SEQ (short for AS Sequence): Số tuần tự của AS
  • AS_SET: Tập hợp AS
  • AS_CONFED_SEQ (short for AS Confederation Sequence): Số tuần tự của liên minh các AS
  • AS_CONFED_SET: Tập hợp liên minh các AS

Dạng được dùng nhiều nhất được gọi là AS_SEQ. AS_SEQ là ý tưởng giá trị AS_PATH tượng trưng cho tất cả giá trị ASN theo thứ tự trong đó các tuyến đã được quảng bá.


FORM ĐĂNG KÝ MUA HÀNG
Đặt hàng
icon-cart
0