I.CÔNG CỤ QUẢN LÝ TUYẾN, DANH SÁCH TIỀN TỐ VÀ KHÁI NIỆM KHOẢNG CÁCH QUẢN TRỊ
Các công cụ quản lý tuyến (route-map), danh sách tiền tố (prefix-list) và giá trị khoảng cách quản trị (Administrative Distance - AD) phải được hiểu rõ khi làm việc với quá trình phân phối lại tuyến (route redistribution) trong môn thi CCIE lý thuyết về Định tuyến và Chuyển mạch.
1.Cấu hình công cụ quản lý tuyến
Công cụ route-map trong IOS của Cisco cung cấp một thuật toán tương tự như luận lý Nếu/Thì/Nếu không 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 chi phí cho một số tuyến được phân phối lại.
Các quy luật tổng quát của route-map như sau:
Lưu đồ hình 11.1 có một số đánh dấu giúp người đọc dễ theo dõi quá trình xử lý của route-map. Trên cùng là một tập các mạng kết nối trực tiếp (connected network) từ 32 đến 39, được đánh dấu bằng chữ B, đang được xem xét để phân phối lại. Đi dần xuống phía dưới là 4 câu lệnh route-map nằm trong cùng một route-map. Mỗi mệnh đề route-map (bao gồm cả các thông số so trùng (match) và câu lệnh set lại chia các tuyến từ nhóm B ban đầu thành một nhóm các tuyến được phân phối lại (đánh dấu bằng chữ A) và/hoặc một nhóm các tuyến không được phân phối lại (đánh dấu bằng chữ C). Cuối cùng, tất cả các tuyến từ ban đầu phải được đánh dấu rõ ràng là “được phân phối lại” hoặc “không được phân phối lại”.
Route-map chỉ chọn phân phối một tuyến nếu câu lệnh route-map có chọn lựa cho phép, nếu câu lệnh route-map có chọn lựa là bỏ qua thì đó là lần duy nhất route-map sẽ chọn tuyến đang xét là không được phân phối lại. Tạm thời bỏ qua quy luật so trùng, 2 câu lệnh route-map đầu tiên (số 10 và 25) đều có chọn lựa là cho phép.
Kết quả của 2 câu lệnh này là: các tuyến được phân thành 2 nhóm, 1 nhóm được phân phối lại (nhóm A) và nhóm còn lại được để yên trong danh sách chờ xét tiếp (nhóm B), 2 câu lệnh route-map sau (số thứ tự 33 và 40) sử dụng chọn lựa bỏ qua. Kết quả là sau 2 câu lệnh này, các tuyến nằm trong danh sách chờ xử lý lại chia thành 2 nhóm: 1 nhóm không được phân phối lại (đánh dấu bằng chữ C), nhóm kia nằm lại trong danh sách chờ xử lý (nhóm B). Khi một tuyến đã được so trùng trong route-map, nó phải được đánh dấu hoặc là được phân phối lại, hoặc là không được phân phối lại, sau đó nó sẽ không bị route-map xử lý nữa.
Một điểm thường gây nhầm lẫn khi sử dụng route-map là: nếu một tuyến bị bỏ qua bởi một ACL đi kèm với câu lệnh so trùng, thì không có nghĩa tuyến đó sẽ không được phân phối lại. Lấy ví dụ, lệnh match ip address 32 trong mệnh đề 10 tham chiếu đến ACL 32, trong đó cho phép mạng 32, còn lại ngầm định bỏ qua các mạng 33 đến 39. Tuy nhiên, các mạng từ 33 đến 39 không bị gán là không được phân phối lại mà chỉ đơn giản là không so trùng với mệnh đề 10 và do đó, chúng nằm chờ những mệnh đề sau xử lý tiếp.
2.Một số tóm tắt quan trọng khi sử dụng route-map để phân phối lại tuyến
Câu lệnh route-map với tùy chọn cho phép:
3.Câu lệnh match trong route-map
Route-map dùng lệnh so trùng (match) để định nghĩa các trường và giá trị bị so trùng khi xử lý tuyến. Nếu có hơn 1 lệnh so trùng trong một route-map đơn, tuyến chỉ được so trùng nếu thỏa mãn tất cả các câu lệnh so trùng này này (luận lý VÀ - AND). Trong một câu lệnh so trùng cũng có thể có nhiều thông số, các thông số hay điều kiện này được hiểu theo luận lý HOẶC (OR). Bảng 11.1 liệt kê các tùy chọn của câu lệnh so trùng khi sử dụng cho phân phối lại tuyến trong IGP.
Khi sử dụng cho phân phối lại tuyến, route-map có một hành động ngầm định:
Việc chọn lựa này diễn ra thông qua tùy chọn cho phép hay là bỏ qua trong câu lệnh route-map. Route-map cũng có thể dùng lệnh thiết lập (set) để thay đổi thông tin của các tuyến được phân phối lại. Bảng 11.2 liệt kê các tùy chọn của lệnh thiết lập khi dùng để phân phối lại các tuyến của giao thức định tuyến nội vùng (IGP).
5.Danh sách tiền tố IP
Danh sách tiền tố IP (IP prefix list) cung cấp các phương thức để so trùng 2 thành phần của một tuyến IP:
Cú pháp tổng quát của câu lệnh này như sau:
Đôi khi, sự lắt léo và thú vị của danh sách tiền tố nằm ở ý nghĩa của sự thay đổi các thông số network/length, ge-value, le-value. Thông số network/length định nghĩa giá trị dùng để so trùng với tiền tố của tuyến tức là địa chỉ đường mạng con. Ví dụ, network/length 10.0.0.0/8 có nghĩa là “tất cả các tuyến có byte đầu là 10”. Tùy chọn ge và le dùng để so sánh với độ dài tiền tố, nói cách khác, so sánh với số bit 1 trong mặt nạ mạng con. Chẳng hạn, ge 20 le 22 chỉ so trùng với những tuyến có mặt nạ mạng con là /20,/21 và /22.
Danh sách tiền tố có thể được tóm tắt thành một quá trình so sánh 2 bước cho mỗi tuyến như sau:
Bảng 11.3 trình bày về cách sử dụng các giá trị ge, le, trong đó bao gồm cả giá trị mặc định của 2 thông số này. Lưu ý, conf-length là chiều dài của tiền tố được cấu hình qua thông số network/prefix (yêu cầu), route-length là chiều dài tiền tố của tuyến đang được kiểm tra bởi danh sách tiền tố.
Một vài ví dụ nhỏ sau có thể giúp người đọc hiểu rõ cách sử dụng prefix-list. Những tuyến sau đây sẽ được kiểm tra bởi nhiều danh sách tiền tố:
Bảng 11.4 đưa ra kết quả của 7 danh sách tiền tố khác nhau áp dụng cho 6 tuyến ở trên. Ở đây chỉ liệt kê các thông số cần so trùng và giải thích những tuyến nào sẽ được so trùng trong danh sách tiền tố.
Một router có thể học các tuyến thông qua nhiều giao thức định tuyến IP khác nhau cũng như qua cả mạng kết nối trực tiếp (connected) và tuyến tĩnh (static route). Khi router học một tuyến cụ thể qua nhiều cách như vậy, nó không thể sử dụng chi phí để chọn lựa tuyến tốt nhất, bởi vì giá trị chi phí trong mỗi giao thức được tính toán khác nhau. Do vậy, router phải dùng thêm giá trị AD (administrative distance) của từng tuyến để xác định tuyến tốt nhất mà router sẽ dùng, và giá trị AD càng nhỏ càng tốt. Nếu có hai hoặc nhiều tuyến có giá trị AD bằng nhau thì giá trị chi phí mới được dùng.
Các giá trị mặc định có thể thay đổi bằng câu lệnh distance. Câu lệnh distance hơi khác nhau đối với mỗi giao thức IGP. Cú pháp tổng quát tương ứng cho RIP, EIGRP và OSPF như sau:
Có thể thấy rằng, EIGRP và OSPF định giá trị AD tùy theo loại tuyến trong khi RIP thì không có tính năng như vậy. Có thể dùng câu lệnh distance để định giá trị AD cho từng tuyến.
Các công cụ quản lý tuyến (route-map), danh sách tiền tố (prefix-list) và giá trị khoảng cách quản trị (Administrative Distance - AD) phải được hiểu rõ khi làm việc với quá trình phân phối lại tuyến (route redistribution) trong môn thi CCIE lý thuyết về Định tuyến và Chuyển mạch.
1.Cấu hình công cụ quản lý tuyến
Công cụ route-map trong IOS của Cisco cung cấp một thuật toán tương tự như luận lý Nếu/Thì/Nếu không 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 chi phí cho một số tuyến được phân phối lại.
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 cho phép (permit) hoặc bỏ qua (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 phân phối lại tuyến, route-map sẽ xử lý tuyến lấy từ bảng định tuyến hiện thời.
- 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.
- Khi một tuyến 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 quá trình phân phối lại tuyến).
- Khi một tuyến đã được so trùng với phát biểu trong route-map, nếu route-map có thông số cho phép (permit) đi kèm thì tuyến (route) đó sẽ được phân phối lại (dùng cho quá trình phân phối lại tuyến).
- Khi một tuyến đã được so trùng với phát biểu trong route-map, nếu route-map có thông số bỏ qua (deny) đi kèm thì tuyến đó sẽ không được phân phối lại (dùng cho redistribution).
- Route-map thường hay gây nhầm lẫn, đặc biệt khi dùng thông số bỏ qua (deny) trong câu lệnh route-map.
Hình 11.1: Quá trình xử lý tuyến của một route-map
Lưu đồ hình 11.1 có một số đánh dấu giúp người đọc dễ theo dõi quá trình xử lý của route-map. Trên cùng là một tập các mạng kết nối trực tiếp (connected network) từ 32 đến 39, được đánh dấu bằng chữ B, đang được xem xét để phân phối lại. Đi dần xuống phía dưới là 4 câu lệnh route-map nằm trong cùng một route-map. Mỗi mệnh đề route-map (bao gồm cả các thông số so trùng (match) và câu lệnh set lại chia các tuyến từ nhóm B ban đầu thành một nhóm các tuyến được phân phối lại (đánh dấu bằng chữ A) và/hoặc một nhóm các tuyến không được phân phối lại (đánh dấu bằng chữ C). Cuối cùng, tất cả các tuyến từ ban đầu phải được đánh dấu rõ ràng là “được phân phối lại” hoặc “không được phân phối lại”.
Route-map chỉ chọn phân phối một tuyến nếu câu lệnh route-map có chọn lựa cho phép, nếu câu lệnh route-map có chọn lựa là bỏ qua thì đó là lần duy nhất route-map sẽ chọn tuyến đang xét là không được phân phối lại. Tạm thời bỏ qua quy luật so trùng, 2 câu lệnh route-map đầu tiên (số 10 và 25) đều có chọn lựa là cho phép.
Kết quả của 2 câu lệnh này là: các tuyến được phân thành 2 nhóm, 1 nhóm được phân phối lại (nhóm A) và nhóm còn lại được để yên trong danh sách chờ xét tiếp (nhóm B), 2 câu lệnh route-map sau (số thứ tự 33 và 40) sử dụng chọn lựa bỏ qua. Kết quả là sau 2 câu lệnh này, các tuyến nằm trong danh sách chờ xử lý lại chia thành 2 nhóm: 1 nhóm không được phân phối lại (đánh dấu bằng chữ C), nhóm kia nằm lại trong danh sách chờ xử lý (nhóm B). Khi một tuyến đã được so trùng trong route-map, nó phải được đánh dấu hoặc là được phân phối lại, hoặc là không được phân phối lại, sau đó nó sẽ không bị route-map xử lý nữa.
Một điểm thường gây nhầm lẫn khi sử dụng route-map là: nếu một tuyến bị bỏ qua bởi một ACL đi kèm với câu lệnh so trùng, thì không có nghĩa tuyến đó sẽ không được phân phối lại. Lấy ví dụ, lệnh match ip address 32 trong mệnh đề 10 tham chiếu đến ACL 32, trong đó cho phép mạng 32, còn lại ngầm định bỏ qua các mạng 33 đến 39. Tuy nhiên, các mạng từ 33 đến 39 không bị gán là không được phân phối lại mà chỉ đơn giản là không so trùng với mệnh đề 10 và do đó, chúng nằm chờ những mệnh đề sau xử lý tiếp.
2.Một số tóm tắt quan trọng khi sử dụng route-map để phân phối lại tuyến
Câu lệnh route-map với tùy chọn cho phép:
- Hoặc là làm cho tuyến được phân phối lại.
- Hoặc là để yên tuyến đó trong danh sách chờ xử lý ở những câu lệnh kế tiếp.
- Hoặc là làm cho tuyến không được phân phối lại.
- Hoặc là để yên tuyến đó trong danh sách nằm chờ xử lý.
3.Câu lệnh match trong route-map
Route-map dùng lệnh so trùng (match) để định nghĩa các trường và giá trị bị so trùng khi xử lý tuyến. Nếu có hơn 1 lệnh so trùng trong một route-map đơn, tuyến chỉ được so trùng nếu thỏa mãn tất cả các câu lệnh so trùng này này (luận lý VÀ - AND). Trong một câu lệnh so trùng cũng có thể có nhiều thông số, các thông số hay điều kiện này được hiểu theo luận lý HOẶC (OR). Bảng 11.1 liệt kê các tùy chọn của câu lệnh so trùng khi sử dụng cho phân phối lại tuyến trong IGP.
Lệnh so trùng | Mô tả |
match interface interface-type interface-number s [... interface-type interface-number] |
Xem xét cổng ra của tuyến |
*match ip address {[access-list-number | access-list-name] | prefix-list prefix-list-name} |
Kiểm tra tiền tố của tuyến và chiều dài tiền tố |
*match ip next-hop {access-list-number | access-list-name} | Kiểm tra điạ chỉ chặng kế tiếp của tuyến |
*match ip route-source {access-list-number | access-list-name} |
So trùng địa chỉ IP mà router dùng để quảng bá tuyến |
match metric metric-value | So trùng chi phí của tuyến |
match route-type {internal | external [type-1 | type-2] | level-1 | level-2} |
So trùng kiểu tuyến |
match tag tag-value [...tag-value] | Việc thêm thẻ (đánh dấu) phải được thiết lập lên trước đó. |
Bảng 11.1: Các tuỳ chọn của câu lệnh so trùng4.Các câu lệnh set trong route-map
Khi sử dụng cho phân phối lại tuyến, route-map có một hành động ngầm định:
- Hoặc cho phép tuyến được phân phối lại.
- Hoặc lọc tuyến và khiến cho tuyến đó không được phân phối lại.
Việc chọn lựa này diễn ra thông qua tùy chọn cho phép hay là bỏ qua trong câu lệnh route-map. Route-map cũng có thể dùng lệnh thiết lập (set) để thay đổi thông tin của các tuyến được phân phối lại. Bảng 11.2 liệt kê các tùy chọn của lệnh thiết lập khi dùng để phân phối lại các tuyến của giao thức định tuyến nội vùng (IGP).
Lệnh set | Mô tả |
set level {level-1 | level-2 | level-1-2 | stub-area | backbone} | Định nghĩa cấp độ mà tuyến sẽ được phân phối lại |
set metric metric-value | Định chi phí cho các tuyến OSPF, RIP, IS-IS |
set metric bandwidth delay reliability loading mtu | Định chi phí cho các tuyến IGRP, EIGRP |
set metric-type {internal | external | type-1 | type-2} | Định kiểu cho các tuyến IS-IS và OSPF |
set tag tag-value | Định giá trị các thẻ cho tuyến |
Bảng 11.2: Các tuỳ chọn của lệnh thiết lập
5.Danh sách tiền tố IP
Danh sách tiền tố IP (IP prefix list) cung cấp các phương thức để so trùng 2 thành phần của một tuyến IP:
- Tiền tố tuyến (Route prefix ) chính là địa chỉ đường mạng con
- Độ dài tiền tố (Prefix length) chính là mặt nạ mạng con
Cú pháp tổng quát của câu lệnh này như sau:
Code:
[INDENT][SIZE=14px][FONT=Tahoma]ip prefix-list list-name [seq seq-value] {deny network/length | permit network/length} [ge ge-value] [le le-value][/FONT][/SIZE][/INDENT]
Danh sách tiền tố có thể được tóm tắt thành một quá trình so sánh 2 bước cho mỗi tuyến như sau:
- Tiền tố tuyến phải nằm trong tầm địa chỉ được đưa ra bởi thông số network/length trong câu lệnh prefix-list.
- Chiều dài tiền tố tuyến phải trùng với tầm tiền tố được chỉ ra trong câu lệnh prefix-list. Cái khó của danh sách tiền tố là hiểu được tầm của chiều dài tiền tố. Tầm tiền tố được định nghĩa bởi giá trị ge và le, được hiểu tương ứng là “lớn hơn hoặc bằng” và “nhỏ hơn hoặc bằng”.
Bảng 11.3 trình bày về cách sử dụng các giá trị ge, le, trong đó bao gồm cả giá trị mặc định của 2 thông số này. Lưu ý, conf-length là chiều dài của tiền tố được cấu hình qua thông số network/prefix (yêu cầu), route-length là chiều dài tiền tố của tuyến đang được kiểm tra bởi danh sách tiền tố.
Thông số prefix-list | Tầm của prefix length |
Không dùng ge, le (mặc định) | Conf-length = chiều dài tuyến |
Chỉ có le | Conf-length ≤ chiều dài tuyến ≤ giá trị le |
Chỉ có ge | Giá trị ge ≤ chiều dài tuyến ≤ 32 |
Dùng cả ge và le | Giá trị ge ≤ chiều dài tuyến ≤ giá trị le |
Bảng 11.3: Cách sử dụng các giá trị ge và le
Một vài ví dụ nhỏ sau có thể giúp người đọc hiểu rõ cách sử dụng prefix-list. Những tuyến sau đây sẽ được kiểm tra bởi nhiều danh sách tiền tố:
Code:
[INDENT][SIZE=14px][FONT=Tahoma](1) 10.0.0.0/8 (2) 10.128.0.0/9 (3) 10.1.1.0/24 (4) 10.1.2.0/24 (5) 10.128.10.4/30 (6) 10.128.10.8/30[/FONT][/SIZE][/INDENT]
Thông số | Tuyến được so trùng | Kết quả |
10.0.0.0/8 | 1 | Không sử dụng ge và le, cả tiền tố (10.0.0.0) và độ dài (8) phải giống nhau. |
10.128.0.0/9 | 2 | Không sử dụng ge và le, tiền tố (10.128.0.0) và độ dài (9) phải giống nhau. |
10.0.0.0/8 ge 9 | 2,3,4,5,6 | 10.0.0.0/8 có nghĩa là ”tất cả tuyến có byte đầu tiên bằng 10”. Chiều dài của tiền tố phải là giá trị nằm giữa 9 và 32. |
10.0.0.0/8 ge 24 le 24 | 3,4 | 10.0.0.0/8 có nghĩa là ”tất cả tuyến có byte đầu tiên bằng 10”. độ dài tiền tố từ 24 đến 24. Như vậy chỉ có 2 tuyến có mặt nạ mạng con bằng 24 thỏa mãn điều kiện của danh sách tiền tố. |
10.0.0.0/8 le 28 | 1,2,3,4 | Chiều dài tiền tố từ 8 đến 28. Do đó chỉ có 4 tuyến 1,2,3,4 thỏa mãn điều kiện. |
0.0.0.0/0 | Không có | 0.0.0.0/0 có nghĩa là ”so trùng tất cả tiền tố, với chiều dài tiền tố chính xác là 0”. Do đó, mặc dù so trùng tất cả các tuyến nhưng không có tuyến nào có mặt nạ mạng con bằng 0 cả, kết quả vẫn là không có tuyến nào trong 6 tuyến đã cho thỏa mãn. Lưu ý, chỉ có tuyến mặc định mới thỏa mãn điều kiện này. |
0.0.0.0/0 le 32 | Tất cả | Giống như giải thích ở trên, tất cả các tuyến đều so trùng. Do mặt nạ mạng con bây giờ chạy từ 0 đến 32 nên cả 6 tuyến trên đều thỏa điều kiện. |
Bảng 11.4: Một số ví dụ cấu hình danh sách tiền tố1.Khoảng cách quản trị AD
Một router có thể học các tuyến thông qua nhiều giao thức định tuyến IP khác nhau cũng như qua cả mạng kết nối trực tiếp (connected) và tuyến tĩnh (static route). Khi router học một tuyến cụ thể qua nhiều cách như vậy, nó không thể sử dụng chi phí để chọn lựa tuyến tốt nhất, bởi vì giá trị chi phí trong mỗi giao thức được tính toán khác nhau. Do vậy, router phải dùng thêm giá trị AD (administrative distance) của từng tuyến để xác định tuyến tốt nhất mà router sẽ dùng, và giá trị AD càng nhỏ càng tốt. Nếu có hai hoặc nhiều tuyến có giá trị AD bằng nhau thì giá trị chi phí mới được dùng.
Loại tuyến | Giá trị AD |
Kết nối trực tiếp hoặc tuyến tĩnh với cấu hình ngõ ra là cổng ra | 0 |
Tuyến tĩnh với cấu hình chỉ ra địa chỉ IP của chặng kế tiếp | 1 |
Tuyến EIGRP được tóm tắt | 5 |
EBGP | 20 |
EIGRP (nội vùng) | 90 |
IGRP | 100 |
OSPF | 110 |
IS-IS | 115 |
RIP | 120 |
EIGRP (liên vùng) | 170 |
IBGP | 200 |
Không xác định | 255 |
Bảng 11.5: Danh sách các giá trị AD
Các giá trị mặc định có thể thay đổi bằng câu lệnh distance. Câu lệnh distance hơi khác nhau đối với mỗi giao thức IGP. Cú pháp tổng quát tương ứng cho RIP, EIGRP và OSPF như sau:
Code:
[INDENT][SIZE=14px][FONT=Tahoma]distance distance distance eigrp internal-distance external-distance distance ospf {[intra-area dist1] [intra-area dist2] [external dist3]}[/FONT][/SIZE][/INDENT]