Danh sách tiền tố đóng một vai trò quan trọng trong mạng bằng cách cung cấp một phương pháp hiệu quả và có thể mở rộng để quản lý các cập nhật định tuyến trong các mạng quy mô lớn. Là một công cụ để thực hiện lọc tuyến đường, chúng cho phép các quản trị viên mạng kiểm soát có chọn lọc việc quảng cáo và chấp nhận các tiền tố IP dựa trên các tiêu chí cụ thể. Trong bài viết này, chúng ta sẽ tìm hiểu sâu hơn về danh sách tiền tố là gì và cách chúng hoạt động, khám phá cách sử dụng chúng trong các giao thức định tuyến khác nhau và đưa ra các mẹo thiết thực về cách triển khai chúng trong bộ định tuyến Router Cisco để có hiệu suất định tuyến được tối ưu hóa. Lọc tuyến đường(Route Filtering) là gì? Lọc tuyến, còn được gọi là lọc tiền tố, là phương pháp kiểm soát các cập nhật định tuyến được chia sẻ giữa các bộ định tuyến bằng cách quảng cáo có chọn lọc hoặc chấp nhận tiền tố IP dựa trên các tiêu chí cụ thể. Lọc tiền tố là một công cụ cần thiết để quản trị viên mạng quản lý việc phân phối thông tin định tuyến, tối ưu hóa hiệu suất định tuyến và tăng cường bảo mật mạng. Tính năng lọc định tuyến thường được áp dụng trên cả bản cập nhật giao thức định tuyến đến và đi, đồng thời có thể được sử dụng với các giao thức định tuyến khác nhau như BGP, OSPF và EIGRP. Có thể sử dụng nhiều phương pháp khác nhau để thực hiện lọc tuyến đường, bao gồm sử dụng danh sách kiểm soát truy cập (ACL), bản đồ tuyến đường và danh sách tiền tố. Danh sách tiền tố(Prefix Lists) là gì? Danh sách tiền tố là các thực thể được thiết kế đặc biệt để lọc tiền tố IP trong các bản cập nhật định tuyến. Chúng hiệu quả hơn và có khả năng mở rộng hơn ACL, đặc biệt là khi xử lý số lượng lớn tiền tố IP. Không giống như ACL, được sử dụng kết hợp với nhiều tính năng khác, việc sử dụng danh sách tiền tố được giới hạn trong lọc tuyến, phân phối lại và tóm tắt tuyến. Mặc dù chúng trông tương tự như ACL, nhưng chúng khá khác biệt và mạnh mẽ hơn khi lọc các tiền tố. Ví dụ: giả sử chúng ta muốn lọc tất cả các tiền tố trong phạm vi 20.0.0.0 có mặt nạ mạng con trong khoảng từ /25 đến /28. Bạn có thể làm điều đó với ACL không? Có, nhưng với một số lượng lớn các câu lệnh không thể quản lý được. Với danh sách tiền tố, việc này sẽ dễ thực hiện hơn nhiều. Khi ACL xác định phạm vi địa chỉ IP, danh sách tiền tố xác định danh sách tiền tố. Nếu bạn đã sử dụng ACL rất nhiều nhưng chưa thực sự chạm vào danh sách tiền tố, thì bạn có thể khó hiểu khái niệm này. Một ví dụ sẽ giúp hiểu cách hoạt động của danh sách tiền tố. Ví dụ 1: Giả sử chúng ta có tình huống sau: Chúng ta có một cấu trúc liên kết trong đó EIGRP đang chạy trên cả hai bộ định tuyến và tất cả các mạng đã được quảng cáo. Chúng ta có R2, có bốn giao diện loopback với các địa chỉ như được hiển thị. EIGRP đang quảng cáo cả bốn mạng đó cho R1. Kết quả là R1 có bảng định tuyến sau: R1#show ip route eigrp 192.168.0.0/24 is subnetted, 4 subnets D 192.168.0.0 [90/156160] via 10.10.12.2, 00:01:07, GigabitEthernet0/0 D 192.168.1.0 [90/156160] via 10.10.12.2, 00:01:07, GigabitEthernet0/0 D 192.168.2.0 [90/156160] via 10.10.12.2, 00:01:07, GigabitEthernet0/0 D 192.168.3.0 [90/156160] via 10.10.12.2, 00:01:07, GigabitEthernet0/0 Tất cả các mạng được kết nối với mỗi loopback của R2 đã được quảng cáo tới R1 và được tìm thấy trong bảng định tuyến của nó. Bây giờ hãy thực hiện một số bộ lọc. Hãy bắt đầu với danh sách tiền tố lọc 192.168.1.0/24 nhưng cho phép mọi thứ khác. Chúng tôi sẽ tạo danh sách tiền tố trên R1 và áp dụng nó cho tất cả các bản cập nhật EIGRP sắp tới: R1(config)#ip prefix-list FILTER seq 5 deny 192.168.1.0/24 R1(config)#ip prefix-list FILTER seq 10 permit 0.0.0.0/0 le 32 Bây giờ cú pháp có vẻ hơi giống với danh sách truy cập, nhưng thay vì sử dụng ký tự đại diện, nó yêu cầu chỉ định số lượng bit ở định dạng dấu gạch chéo. Dòng đầu tiên chặn mạng 192.168.1.0/24, trong khi dòng thứ hai cho phép 0.0.0.0/0 nghĩa là “tất cả các mạng” có mặt nạ mạng con là /32 hoặc nhỏ hơn—về cơ bản, điều này có nghĩa là “mọi thứ”. Dòng này tương đương với câu lệnh “permit ip any any” của ACL. Bây giờ, hãy áp dụng điều này cho các bản cập nhật EIGRP sắp tới: R1(config)#router eigrp 100 R1(config-router)#distribute-list prefix FILTER in Hãy kiểm tra lại bảng định tuyến của R1: R1#show ip route eigrp 192.168.0.0/24 is subnetted, 4 subnets D 192.168.0.0 [90/156160] via 10.10.12.2, 00:01:07, GigabitEthernet0/0 D 192.168.2.0 [90/156160] via 10.10.12.2, 00:01:07, GigabitEthernet0/0 D 192.168.3.0 [90/156160] via 10.10.12.2, 00:01:07, GigabitEthernet0/0 Mạng 192.168.1.0/24 đã được lọc ra. Ví dụ 2: Sức mạnh của 'ge' và 'le' Như ví dụ 1 bạn có thể nói rằng điều này không quá khó thực hiện với ACL. Tuy nhiên, sức mạnh thực sự của danh sách tiền tố là việc sử dụng các toán tử “lớn hơn hoặc bằng” và “nhỏ hơn hoặc bằng” mà nó sử dụng. Sử dụng ge và le, bạn có thể chỉ định toàn bộ phạm vi kích thước tiền tố. Ví dụ: R1(config)#ip prefix-list TEST1 permit 10.0.0.0/8 le 19 Danh sách tiền tố này khớp với tất cả các tiền tố nằm trong phạm vi 10.0.0.0/8 và có mặt nạ mạng con là /19 hoặc nhỏ hơn. Vì vậy, điều này sẽ khớp với tất cả các tiền tố sau: 10.10.0.0/16 10.25.128.0/17 10.192.0.0/18 10.155.224.0/19 Nhưng tất cả các tiền tố sau sẽ bị từ chối, vì kích thước mặt nạ mạng con của chúng không nhỏ hơn 19 hoặc vì chúng nằm ngoài phạm vi địa chỉ IP ban đầu: 10.10.255.0/24 192.168.0.0/16 10.96.8.0/21 172.16.0.0/19 Hãy áp dụng điều này vào thực tế và sử dụng danh sách tiền tố TEST1 này trong cấu trúc liên kết của chúng ta. Trước tiên, hãy thêm một số địa chỉ loopback vào R2, quảng cáo chúng bằng EIGRP và xóa danh sách tiền tố trước đây của chúng tôi: R2(config)#interface loopback 10 R2(config-if)#ip address 10.21.1.1 255.255.0.0 R2(config-if)#interface loopback 11 R2(config-if)#ip address 10.22.2.2 255.255.128.0 R2(config-if)#interface loopback 12 R2(config-if)#ip address 10.23.3.3 255.255.192.0 R2(config-if)#interface loopback 13 R2(config-if)#ip address 10.24.4.4 255.255.224.0 R2(config-if)#interface loopback 14 R2(config-if)#ip address 10.25.5.5 255.255.240.0 R2(config-if)#interface loopback 15 R2(config-if)#ip address 10.26.6.6 255.255.248.0 R2(config-if)#exit R2(config)#router eigrp 100 R2(config-router)#network 10.0.0.0 R1(config-router)#no distribute-list prefix FILTER in Lưu ý rằng các mặt nạ mạng con khác nhau được sử dụng cho từng mạng trong số đó. Tiếp theo, chúng ta hãy xem lại bảng định tuyến của R1 một lần nữa: R1#show ip route eigrp 192.168.0.0/24 is subnetted, 4 subnets D 192.168.0.0 [90/156160] via 10.10.12.2, 00:01:07, GigabitEthernet0/0 D 192.168.1.0 [90/156160] via 10.10.12.2, 00:01:07, GigabitEthernet0/0 D 192.168.2.0 [90/156160] via 10.10.12.2, 00:01:07, GigabitEthernet0/0 D 192.168.3.0 [90/156160] via 10.10.12.2, 00:01:07, GigabitEthernet0/0 10.0.0.0/8 is variably subnetted, 6 subnets, 6 masks D 10.22.0.0/17 [90/156160] via 10.10.12.2, 00:02:22, GigabitEthernet0/0 D 10.23.0.0/18 [90/156160] via 10.10.12.2, 01:14:57, GigabitEthernet0/0 D 10.21.0.0/16 [90/156160] via 10.10.12.2, 00:06:11, GigabitEthernet0/0 D 10.26.0.0/21 [90/156160] via 10.10.12.2, 01:02:35, GigabitEthernet0/0 D 10.24.0.0/19 [90/156160] via 10.10.12.2, 01:14:46, GigabitEthernet0/0 D 10.25.0.0/20 [90/156160] via 10.10.12.2, 01:02:35, GigabitEthernet0/0 Các mạng mới từ R2 được quảng cáo tới R1 và được cài đặt trong bảng định tuyến. Bây giờ, hãy áp dụng danh sách tiền tố TEST1 mà chúng ta đã tạo trước đó, cho các bản cập nhật EIGRP sắp có trong R1. Hãy nhớ rằng, nó lọc tất cả các tiền tố trong phạm vi 10.0.0.0/8 có tiền tố từ 19 trở xuống. R1(config)#router eigrp 100 R1(config-router)#distribute-list prefix TEST1 in Bây giờ, hãy xem lại bảng định tuyến của R1 để xem những gì đã được lọc ra: R1#show ip route eigrp 10.0.0.0/8 is variably subnetted, 6 subnets, 6 masks D 10.22.0.0/17 [90/156160] via 10.10.12.2, 00:02:22, GigabitEthernet0/0 D 10.23.0.0/18 [90/156160] via 10.10.12.2, 01:14:57, GigabitEthernet0/0 D 10.21.0.0/16 [90/156160] via 10.10.12.2, 00:06:11, GigabitEthernet0/0 D 10.24.0.0/19 [90/156160] via 10.10.12.2, 01:14:46, GigabitEthernet0/0 Chỉ còn lại bốn mục, và đó chỉ là những mục tuân theo danh sách tiền tố của chúng tôi. Tất cả các tiền tố 192.168.X.X đã bị xóa vì chúng nằm ngoài phạm vi ban đầu. Ngoài ra, tất cả các tiền tố trong phạm vi ban đầu có giá trị tiền tố cao hơn 19 cũng bị xóa. Vì vậy, phần còn lại là các tiền tố trong phạm vi 10.0.0.0/8 với giá trị tiền tố từ 19 trở xuống. Kết luận Mặc dù không được sử dụng rộng rãi như ACL, nhưng danh sách tiền tố cung cấp khả năng lọc tuyến lớn hơn đáng kể, đặc biệt là trong các mạng lớn hơn với hàng trăm hoặc hàng nghìn mạng nơi mà quá trình lọc dựa trên ACL trở nên cồng kềnh. Khả năng sử dụng danh sách tiền tố trong mệnh đề đối sánh của bản đồ tuyến đường nâng cao hơn nữa tính linh hoạt của chúng trong các ứng dụng thực tế. Cũng như nhiều khía cạnh của mạng, việc thành thạo các danh sách tiền tố đòi hỏi phải thực hành, điều này sẽ giúp bộc lộ tiềm năng của chúng để tối ưu hóa các môi trường mạng lớn hơn. Chúc các bạn thành công!