Tải bản đầy đủ (.doc) (18 trang)

Tài liệu REDISTRIBUTION VÀ POLICY BASED ROUTING pdf

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (310.81 KB, 18 trang )

REDISTRIBUTION VÀ POLICY BASED ROUTING
Nếu một hệ thống mạng chạy nhiều hơn một giao thức trong một công ty, người quản trị cần một
vài phương thức để gửi các routes của một giao thức này vào một giao thức khác. Quá trình đó
gọi là redistribution.
Quá trình redistribution được dùng khi một router nhận thông tin về một network ở xa thông qua
các nguồn khác nhau. Mặc dù tất cả các network được đưa vào bảng định tuyến và các quyết
định định tuyến được thực hiện trên bảng này, một giao thức chỉ truyền những network mà nó
học từ chính bản thân nó. Nếu không có việc chia sẽ thông tin mạng giữa các quá trình định
tuyến, người ta gọi đó là ships in the nights (SIN).
Redistribution thường cần thiết trong một network như một giải pháp tạm thời. Tuy nhiên, giải
pháp này không phải là nhanh chóng và dễ dàng. Mặc dùng cách dùng route-redistribution là một
giải pháp cứu cánh trong nhiều tình huống, nó khá phức tạp. Khi một giao thức chẳng hạn như
EIGRP có routes được phân phối vào nó như một quá trình định tuyến, nó giả sử rằng tất cả các
routes này từ các AS khác và là routes ngoại (external routes). Điều này ảnh hưởng đến quá
trình chọn lựa đường đi vì EIGRP thường ưu tiên cho routes nội.
Trong hình vẽ dưới đây, bảng định tuyến của routerB các các entry từ RIP và OSPF, không có
entry cho EIGRP bởi vì đây chỉ là một mạng riêng lẽ nối trực tiếp vào router. Hơn nữa, routerc chỉ
có các routes kết nối trực tiếp trong bảng bảng định tuyến. Đây là vì, mặc dùng EIGRP đã được
cấu hình, routerC vẫn chỉ là một stub router. Khi có những interface khác được cấu hình và toàn
bộ các mạng EIGRP còn lại kết nốI vào routerC, các lớp mạng này sẽ được quảng bá.
Quá trình redistribution chỉ diễn ra ở các giao thức lớp 3. Vì vậy các giao thức OSPF, RIP, IGRP
và EIGRP có thể phân phối các routing update giữa chính các giao thức này. Tuy nhiên sẽ không
có quá trình redistribution giữa AppleTalk và IPX.
Bảng 6-1: Các chính sách redistribution
GIAO THỨC ĐỊNH TUYẾN CHÍNH SÁCH REDISTRIBUTION
Static Phải cấu hình redistribution bằng tay vào các giao thức
khác
Connected Phải cấu hình redistribution bằng tay vào các giao thức
khác
RIP Cấu hình redistribution bằng tay
IGRP Tự động redistribution giữa IGRP và EIGRP nếu giá trị AS


là giống nhau. nếu giá trị AS là khác nhau, phải cấu hình
redistribution bằng tay.
EIGRP Sẽ tự động redistribution giữa IGRP và EIGRP nếu giá trị
AS là giống nhau. nếu giá trị AS này là khác nhau, ta phải
cấu hình redistribution bằng tay. EIGRP cho AppleTalk sẽ
tự động redistribution giữa EIGRP và RTMP. EIGRP cho
IPX sẽ tự động redistribute giữa EIGRP và IPX RIP/SAP.
Trong các phiên bản sau, NLSP có thể redistribution bằng
tay.
OSPF Phải cấu hình redistribution bằng tay giữa các OSPF
process
IS-IS Phải cấu hình bằng tay giữa các giao thức khác nhau
BGP Phải cấu hình băng tay giữa các giao thức khác nhau
Hình 6-1: Hình vẽ minh hoạ chính sách redistribution
Các nguyên nhân làm cho nhiều giao thức định tuyến tồn tại bên trong một tổ chức là:
- Hệ thống đang chuyển từ một giao thức này sang một giao thức khác bởi vì cần
cài đặt một giao thức mới phức tạp hơn.
- Do lịch sử, hệ thống mạng gồm nhiều mạng nhỏ hơn. Công ty cần phải chuyển
sang một giao thức duy nhất trong tương lai.
- Một vài phòng ban trong công ty có dùng các giải pháp host-based, ví dụ như
dùng RIP trên máy Unix.
- Sau khi hay công ty sát nhập với nhau.
Hình 6-2: Quá trình phân phối route giữa các giao thức khác nhau
Khi cấu hình mạng mà một bên dùng routing là static, bên kia là dynamic, hoặc một bên
là RIP, một bên dùng IGRP thì chúng ta phải dùng các lệnh redistribute ở các Router
biên. Lệnh redistribute được dùng để chia sẽ thông tin định tuyến giữa các miền routing
khác nhau. Một miền định tuyến (routing domain) có thể là RIP; bên còn lại có thể là
IGRP; hoặc một miền là static và một bên còn lại là ospf
- Những nguyên nhân mang tích chính trị, những quản trị mạng khác nhau có các tư
tưởng khác nhau

- Trong một môi trường rất là lớn, trong đó các miền khác nhau có các yêu cầu
khác nhau. Điều này làm cho một giải pháp đơn lẻ là không hiệu quả.
Routing Metrics và Redistribution
Có nhiều giao thức định tuyến cho IP. Mỗi giao thức định tuyến dùng các metric khác
nhau. Nếu các giao thức khác nhau muốn chia sẽ thông tin thông qua quá trình
redistribution, ta phải cấu hình để chuyển đổi metric. Các vấn đề sẽ nảy sinh khi các
metric được redistribute mà không dùng thêm các lệnh cấu hình. Các metric không có
thông tin gì để tham khảo trong giao thức mới. Ví dụ RIP sẽ không hiểu giá trị metric là
786 vì RIP mong đợi giá trị metric nằm trong khoảng từ 0-15. Khi chấp nhận những
network mới, giao thức định tuyến phải có một điểm bắt đầu, gọi là seed metric. Giá trị
seed metric sẽ tăng từ vị trí router đó khi các mạng được truyền trong routing domain
mới.
Bảng 6-2: Các giá trị mặc định của metric khi được redistribute
IP ROUTING DEFAULT SEED METRIC HÀNH ĐỘNG
RIP Gía trị là không xác định Route không được đưa vào bảng
định tuyến
IGRP
Không xác định
Route không được đưa vào bảng
định tuyến
EIGRP Không xác định Route không được đưa vào bảng
định tuyến
ISIS 0 Route được đưa vào bảng định
tuyến
OSPF 20 (loại 2), nhưng các route từ
BGP có metric là 1
Route được đưa vào bảng định
tuyến
BGP MED sẽ lấy giá trị metric từ các
IGP

Route được đưa vào bảng định
tuyến
Giá trị metric là phương thức chủ yếu của quá trình chọn lựa bên trong một giao thức
định tuyến. Vì vậy cần thiết phải định nghĩa một seed metric cho những network được
chấp nhận từ những giao thức định tuyến khác.
Chọn lựa đường đi giữa các giao thức định tuyến
Quá trình tìm đường bên trong một giao thức định tuyến đã được khảo sát trong các chương
trước. Phần này sẽ khảo sát quá trình chọn lựa đường đi giữa các giao thức định tuyến khi có
nhiều hơn một giao thức định tuyến chạy trên mạng.
Nếu một giao thức có nhiều đường đi đến cùng một mạng ở xa, quá trình định tuyến phải quyết
định đưa đường đi nào vào bảng route. Vì các metric của các giao thức là khác nhau, quá trình
chọn lựa đường đi dựa trên metric sẽ không được dùng. Thay vào đó, một cách thức khác được
định nghĩa để giải quyết vấn đề, đó là giá trị AD. Sự khác nhau giữa hai quá trình chọn lựa là đơn
giản: giá trị AD sẽ xác định giữa các giao thức định tuyến. Giá trị AD và metric giải quyết hầu hết
vấn đề trong quá trình redistribution. Mọi việc bắt đầu phát sinh khi phải phân phối routes giữa
các giao thức định tuyến và khi quá trình routing bắt đầu gặp khó khăn trong khâu xác định về
nguồn gốc của thông tin định tuyến. Khi đó, các vấn đề về định tuyến không tối ưu và routing
loop có thể xảy ra.
Vì vậy cần phải xem xét các luật sau khi thực hiện redistribution giữa các giao thức:
- Nếu có nhiều hơn một giao thức định tuyến đang chạy trên một router, những routes nào
có giá trị AD tốt nhất sẽ được đưa vào bảng route.
- Để được redistributed , route đó phải có trong bảng định tuyến. Ngoài ra, route đó phải
được học từ giao thức định tuyến đang được redistribute. Như vậy, nếu RIP đang được
redistribute vào EIGRP , bảng định tuyến phải có một entry cho mạng RIP.
- Khi một route được redistribute, nó sẽ thừa hưởng giá trị AD mặc định của giao thức
mới.
Rõ ràng là quá trình redistribution không phải là một thiết kế mang tính tối ưu. Một thiết kế càng
đơn giản và dễ dàng, mạng sẽ dễ quản trị và hội tụ nhanh. Vì vậy, một sơ đồ địa chỉ IP được
thiết kế để cho phép mạng phát triển, kết hợp với một giao thức định tuyến IP sẽ dẫn đến một hệ
thống mạng nhanh, mạnh và tin cậy.

Các vấn đề có thể phát sinh khi thực hiện redistribution có thể rất khó để khắc phục bởi vì vấn đề
xuất hiện có thể nằm ở nơi khác. Các vấn đề có thể phát sinh bao gồm:
- Các quyết định định tuyến là sai, kém hiệu quả vì sự khác biệt về metric. Việc chọn lựa
đường đi sai còn được gọi là sub-optimal path.
- Khi một routing loop xảy ra, data sẽ được chuyển bất tận mà không bao giờ đến đích.
Điều này là do vấn đề route-feedback trong đó một router gửi thông tin update ra khỏi AS
lại nhận được route đó gửi ngược lại vào AS.
- Khoảng thời gian hội tụ của mạng sẽ tăng bởi vì sự khác nhau của các công nghệ. Nếu
các giao thức định tuyến hội tụ ở các khoảng thời gian khác nhau, điều này có thể dẫn
đến vấn đề timeouts và mất các network.
- Quá trình ra quyết định và thông tin được gửi bên trong một giao thức có thể không
tương thích với nhau và không dễ dàng trao đổi. Điều này sẽ dẫn đến lỗi và các cấu hình
phức tạp.
Tránh vòng lặp khi redistribution
Routing loop xảy ra khi một giao thức định tuyến nhận được các mạng của chính nó. Các
giao thức định tuyến có thể thất một mạng trên một đường đi tốt mặc dù đường đi này chỉ
về chiều ngược lại vào một giao thức định tuyến khác.
Hình 6-3: Tránh vòng lặp khi redistribution
Vấn đề này được giải quyết bằng các cấu hình như sau:
- Thay đổi metric.
- Thay đổi giá trị AD.
- Dùng default-route.
- Dùng passive interfaces với định tuyến tĩnh.
- Dùng distribute-list.
Để quản lý sự phức tạp của các hệ thống mạng này và giảm thiểu sự phức tạp của routing-loop,
người quản trị nên giới hạn một vài thông tin được gửi trên các domain. Công việc này được
thực hiện thông qua cách dùng access-list.
Hình 6-4: Thực hiện redistribution giữa RIP và EIGRP
Giả sử rằng ở thời điểm routerA đang chạy RIP và quảng bá mạng 190.10.10.0 đến các hai
routerB và E. Khi routerB nhận cập nhật từ RIP, nó sẽ redistribute network 190.10.10.0 vào

OSPF và quảng bá route đó đến routerC. RouterC sẽ quảng bá route đó đến D. Cuối cùng
routerE nhận một OSPF update từ D, báo rằng network 190.10.10.0 thông qua đường đi
D,C,B,A. Tuy nhiên, routerE có một đường đi trực tiếp đến A thông qua RIP. Đây mới là đuờng đi
được đáng được ưu tiên hơn. Trong tình huống này, giá trị AD có tác dụng. Bỏi vì OSPF có giá
trị AD là 110 và RIP có giá trị AD là 120, đường đi được đặt trong bảng định tuyến là đường đi
được quảng bá bởI OSPF thông qua D,C, B và A. Trong tình huống này, ta nên cấu hình bằng
tay giá trị AD trên routerB và E.
Nếu EIGRP chạy trên các router B,C,D và E sẽ không có vấn đề gì. Khi RIP redistribute vào
EIGRP trên RouterB và update được truyền đến routerE, bảng định tuyến sẽ chọn lựa đường đi
đến 190.10.10.0 thông qua routerA. Lý do là khi network 190.10.10.0 được phân phối vào
EIGRP, nó sẽ được đánh dấu như external route. Như vậy, route đó sẽ có giá trị AD là 170 và sẽ
bị bỏ qua nếu so với giá trị AD=120 của RIP. Bảng định tuyến chứa các đường đi qua ngõ RIP về
network 190.10.10.0. Khi EIGRP redistribute lại vào RIP, bảng định tuyến không có route của
EIGRP nào đến network 190.10.10.0 và không thể redistribute route này ngược vào RIP. Về
phương diện lý thuyết, một routing-loop đã được tránh. Tuy nhiên thực tế không phải là như vậy.
Bạn phải tránh quá trình redistribution hai chiều. Bạn cũng nên đặt các filter khi thực hiện
redistribution để ngăn ngừa routing-loop.
Cú pháp tổng quát của lệnh redistribute như sau:
Router(config-router)#
Cú pháp:
redistribute protocol [process-id] [metric metric-value] [metric-type type-
value] [match {internal | external 1 | external 2}] [tag tag-value] [route-map
map-tag] [weight weight] [subnets]
Để xóa lệnh này, bạn có thể dùng:
no redistribute protocol [process-id] [metric metric-value] [metric-type type-
value] [match {internal | external 1 | external 2}] [tag tag-value] [route-map
map-tag] [weight weight] [subnets]
Mô tả cú pháp:
protocol: Giao thức định tuyến đang được "đẩy vào"/đang được phân phối vào một giao
thức định tuyến khác.

Ví dụ 1: đưa rip routes vào ospf:
Router(config)#router ospf 1
Router(config-router)#redistribute rip
Các từ khóa có thể dùng với lệnh redistribute là: bgp, egp, eigrp, igrp, iso-igrp, isis, odr,
ospf, mobile, static, connected, và rip. Từ khóa static được dùng với tuyến đường tĩnhs.
Từ khóa connected được dùng để chỉ ra những route được kết nối trực tiếp. Đối với
những giao thức định tuyến như ospf, các route được phân phối vào sẽ là loại ngoại lai
(external).
process-id: Mục chọn này được dùng cho các giao thức định tuyến có dùng AS number.
Giá trị này sẽ chỉ ra process-id hoặc routing process. Đối với RIP thì không cần dùng.
metric metric-value
Metric được dùng cho những route được phân phối vào. Nếu giá trị này không được chỉ
ra, và nếu không có giá trị mặc định nào được chỉ ra trong lệnh default-metric, giá trị mặc
định đuợc dùng là 0 (chính xác hơn là tùy thuộc vào giao thức định tuyến). Bạn nên dùng
một giá trị nhất quán cho giá trị metric này.
Lệnh trên sẽ phân phối các igrp route vào ospf domain. các routes ngoại lai sẽ có metric
là 100.
Router(config)#router ospf 109
Router(config-router)#redistribute igrp 108 metric 100 subnets
Router(config-router)#redistribute rip metric 200 subnets
Giá trị metric được chỉ ra trong redistribute command sẽ có độ ưu tiên cao hơn giá trị
metric được chỉ ra bởi lệnh default-metric. Khi phân phối một giao thức định tuyến vào
một giao thức định tuyến khác, bạn cần phải gán các metric phù hợp cho các routes mới
này. Các giao thức định tuyến khác nhau dùng các metric rất khác nhau. Các giá trị thích
hợp phụ thuộc vào giao thức định tuyến trong từng trường hợp cụ thể. Để tránh hiện
tượng route lại nhiều lần, ta có thể dùng các cơ chế route-filtering như distribute-list,
route-map, distance, prefix-list. Trong thực tế thì có một số trường hợp thường dùng
redistribution là giữa các nhà cung cấp dịch vụ Internet. Các ISP dùng IGP cho mạng của
mình và dùng BGP để kết nối với các ISP khác. Thường thì các internal routers sẽ có
default gateway là các bgp routers và trên bgp routers sẽ phân phối các prefixes được học

từ IGP để đẩy ra các bgp routers của ISP khác. Một trường hợp khác có thể cần đến route
redistribution đó là việc sát nhập các công ty. Công ty A (đang dùng EIGRP) mua lại
công ty B (đang dùng OSPF), khi kết nối mạng lại với nhau mà chưa kịp thay đổi toàn bộ
hệ thống mạng thì họ sẽ dùng redistribution trên một router nào đó, còn gọi là mutual
redistribution.
Tránh vấn đề định tuyến không tối ưu khi thực hiện redistribution
Như đã đề cập trong các mục trước, vấn đề suboptimal thỉng thoảng sẽ bị tạo ra bởi các quá
trình redistribution. Ví dụ giá trị AD sẽ chọn lựa đường đi kém tối ưu khi một đường đi kết nối
trực tiếp lại được dùng như một đường đi dự phòng.
Hãy tuân theo các nguyên tắc sau đây khi thiết kế mạng để tránh routing-loop:
- Có một kiến thức tốt về sơ đồ mạng, Routing domain, dòng traffic
- Không cho các giao thức chạy chất chồng lên nhau. Mọi việc sẽ dễ dàng hơn nếu các
giao thức khác nhau có thể được phân chia rõ ràng vào các domain riêng lẽ trong đó
router hoạt động như các router ở ranh giới. Đây còn được gọi là core và edge protocol.
- Chỉ ra các router ở ranh giới mà trên đó phải cấu hình redistribution
- Xác định giao thức nào là core, giao thức nào là edge
- Xác định chiều của quá trình redistribution, trong đó giao thức nào sẽ được redistribute.
Lấy ví dụ, RIP sẽ redistribute vào EIGRP như EIGRP sẽ không redistribute vào RIP. Điều
này nhằm tránh các mạng sẽ bị phản hồi ngược lại vào domain ban đầu. Hãy dùng
default-route hoặc quá trình redistribution một chiều nếu cần thiết.
- Nếu quá trình redistribution hai chiều là không thể tránh khỏi, hãy dùng cơ chế sau: cấu
hình metric bằng tay, cấu hình giá trị AD bằng tay, dùng distribution access-list.
Tránh các vấn đề với hội tụ mạng khi redistribution
Để duy trì tính nhất quán giữa các giao thức định tuyến khác nhau, ta phải xem xét nhiều
công nghệ. Một mối quan tâm lớn là quá trình tính toán của bảng định tuyến và khoảng
thời gian hội tụ trong bao lâu. EIGRP có tốc độ hội tụ khá nhanh trong khi RIP thì hội tu
chậm hơn. Việc chia sẽ thông tin giữa hai công nghệ có thể gây ra vài vấn đề. Ví dụ
mạng sẽ hội tụ ở tốc độ của giao thức chậm hơn. Ở một vài thời điểm, điều này sẽ tạo ra
timeout và khả năng routing loops. Điều chỉnh timers sẽ giải quyết vấn đề nhưng bất cứ
một giao thức nào cũng phải được cấu hình với một kiến thức vững chắc về toàn bộ hệ

thống mạng. Các thông số thời gian timers thường yêu cầu là cấu hình giống nhau trong
tất cả các routers sao cho timer có cùng giá trị.
Kiểm soát routing update khi redistribution
Kiểm soát routing update thì hữu ích trong nhiều trường hợp. Các lý do để kiểm soát các
routing update gồm:
- Che dấu một vài network nào đó ra khỏi phần còn lại.
- Ngăn ngừa routing loop.
- Kiểm soát phí tốn của traffic trên mạng, cho phép mạng có khả năng mở rộng.
- Vì các lý do bảo mật
Các phương thức khác nhau để kiểm soát bao gồm các phương thức sau:
- Dùng passive interface.
- Dùng định tuyến tĩnhs.
- Dùng default routes.
- Dùng null interface.
- Dùng distribute-lists.
- Dùng route-map.
Cổng giao tiếp bị động trong quá trình định tuyến (Passive Interfaces)
Một cổng bị động sẽ không tham gia vào quá trình định tuyến. Trong RIP và IGRP, quá
trình này sẽ lắng nghe các cập nhật mà không gửi các thông tin cập nhật định tuyến.
Trong OSPF và EIGRP, các quá trình này sẽ không lắng nghe hay gửi các cập nhật vì các
router không gửi đi các gói hello và vì vậy các quan hệ láng giềng giữa các router không
thể hình thành. Các cổng giao tiếp của router tham gia vào các quá trình định tuyến được
kiểm soát bởi cấu hình. Trong khi cấu hình, quá trình định tuyến sẽ dùng lệnh network đề
chỉ ra cổng giao tiếp nào của router tham gia vào quá trình định tuyến. Cấu hình passive-
interface sẽ ngăn ngừa các cập nhật đi vào các miền định tuyến khác và có thể ngăn ngừa
routing loop.
Định tuyến tĩnh
Định tuyến tĩnh là một route được cấu hình bằng tay. Định tuyến tĩnh có độ ưu tiên cao
hơn các routes được học thông qua một giao thức động vì nó có giá trị AD thấp hơn. Nếu
không có giao thức định tuyến nào được cấu hình, định tuyến tĩnh có thể được cấu hình.

Cách dùng định tuyến tĩnh không phù hợp với các hệ thống mạng lớn trong thực tế bởi vì
bảng định tuyến sẽ không cập nhật các thay đổi một cách tự động. Trong những môi
trường nhỏ hơn hoặc những stub-network, cách dùng định tuyến tĩnh là một giải pháp
hiệu quả. Đặc biệt trong tình huống có nhiều giao thức được cấu hình trên router, thay vì
redistribution toàn bộ bảng định tuyến giữa các giao thức, định tuyến tĩnh sẽ được định
nghĩa và redistribution. Điều này đặc biệt hữu ích nếu bạn cần cung cấp nhiều thông tin
hơn là dùng default-route. Cách dùng định tuyến tĩnh trong redistribution là một cách
dùng tiêu biểu.
Các lý do để dùng định tuyến tĩnh được tóm tắt như sau:
- Ngăn ngừa việc phải chạy một giao thức định tuyến động chạy trên một mạng,
giảm chi phí mạng về zero.
- Nếu có hai AS không cần trao đổi toàn bộ bảng định tuyến mà chỉ cần biết về một
vài routes
- Không có một giao thức định tuyến động nào được dùng, ví dụ mạng stub
- Để thay đổi giá trị netmask của mạng. Ví dụ như trong BGP, ta có thể định nghĩa
một supernet và redistribution route vào BGP process. Tác vụ này cũng được
dùng khi redistribute một giao thức hỗ trợ cho VLSM vào một giao thức không hỗ
trợ VLSM.
Default Routes
Một default route được dùng nếu không có một entry nào trong bảng định tuyến cho một mạng
đích. Nếu quá trình tìm kiếm bảng định tuyến không tìm thấy entry nào trong bảng routing cho
mạng đích và default-route không được cấu hình, gói dữ liệu về địa chỉ mạng đó sẽ bị loại bỏ.
Nếu quá trình định tuyến bị từ chối quyền gửi các cập nhật, các router downstream sẽ có một
kiến thức giới hạn về mạng do không nhận đủ thông tin. Để giải quyết vấn đề này, default route
sẽ được dùng. Các default route sẽ giảm phí tổn cho hệ thống và đơn giản hóa công tác quản trị,
đặc biệt là có thể xóa routing loop khi được dùng thay cho quá trình redistribution. Một giao thức
định tuyến có thể dùng một default route đến những giao thức định tuyến khác. Một ví dụ tiêu
biểu là một IGP sẽ chỉ một default route đến một router BGP nằm ở ranh giới của AS. Một trường
hợp khác cần cấu hình default route là cho một mạng stub để kết nối đến một hệ thống mạng lớn
hơn.

Hình 6-5: Cách dùng default-route
Null Interface
Null interface là một interface ảo được định nghĩa như là next hop trong một dòng định
tuyến tĩnh. Tất cả các traffic đến một mạng ở xa sẽ được route vào một lỗ đen. Điều này
có tác dụng rất tốt trong quá trình redistribution vì nó thường được dùng để loại bỏ route.
Distribute Lists
Distribute list là những access list áp dụng vào quá trình định tuyến, xác định network
nào sẽ được chấp nhận vào quá trình routing. Khi giao tiếp với quá trình định tuyến khác
thông qua quá trình redistribution, việc kiểm soát các thông tin gửi đến các quá trình khác
là quan trọng. Việc kiểm soát này là nhằm mục đích bảo mật. Access list là công cụ tốt để
xác định traffic trên một network.
Route Maps
Route map là các access-list phức tạp cho phép lập trình thêm các tuỳ chọn. Nếu một gói
hoặc một route match với tiêu chuẩn định nghĩa trong phát biểu match, các hành động
hoặc thay đổi được định nghĩa trong lệnh set sẽ được thực hiện trên packet. Route map
thì được dùng trong quá trình redistribution trong cùng một cách như distribute list nhưng
cho phép kiểm soát nhiều hơn trong các tiêu chuẩn đưa ra.
Hình 6-6: Cách dùng route-map
Trong hình vẽ trên, router A có một distribute list trong đó từ chối quá trình truyền của
mạng 140.100.32.0 đi ra khỏi E3. Network 140.100.32.0 có thể có vài nguyên nhân bảo
mật nên không thể cho các router nối về routerB thấy network này. S0 và S1 có cấu hình
định tuyến tĩnh. Trong trường hợp S0, đây là kết nối đi vào Internet và định tuyến tĩnh
được cấu hình bởI ISP. Điều này cho phép hệ thống mạng trên kết nối đến ISP mà không
nhận những routing update động từ ISP. Các routing update từ ISP chứa các bảng định
tuyến rất lớn. Mạng có một default-route được thiết lập. Trên S1, các cổng giao tiếp của
router được cấu hình dùng định tuyến tĩnh sao cho các router ở đầu kia không cần thiết
chạy một giao thức động. Router ở đầu xa sẽ dùng một default route được cấu hình vì đây
là mà stub network. Điều này đảm bảo rằng routerC có một cấu hình đơn giản với một
vài yêu cầu đặt ra.
Cấu hình Redistribution

Cấu hình redistribution cho một giao thức sẽ tùy thuộc vào đặc điểm của từng giao thức. Tất cả
các giao thức yêu cầu các bước sau khi thực hiện redistribution:
Bước 1: cấu hình redistribution
Bước 2: định nghĩa giá trị metric mặc định được gán vào bất cứ network nào đang được
redistribute vào các quá trình định tuyến.
Các lệnh để cấu hình redistribution được cấu hình như là các lệnh con của quá trình
routing. Lệnh redistribute có thể chỉ ra giao thức định tuyến mà từ đó các updates được
chấp nhận. Nó sẽ chỉ ra nguồn của updates. Tùy thuộc vào thiết kế mạng, các cấu hình
thêm vào là cần thiết.
Cấu hình Default Metric
Giá trị default metric có thể được cấu hình theo vài cách. Cách đầu tiên là bao gồm tùy
chọn metric trong lênh redistribute, định nghĩa giá trị metric cho route đó. bạn cũng có
thể cấu hình giá trị default metric với lệnh default-metric trong quá trình định tuyến.
Dùng lệnh default-metric sẽ giảm số lệnh phải cấu hình vì khi này không cần phải cấu
hình cho mỗi quá trình redistribution riêng lẽ.
Cấu hình giá trị metric mặc định cho OSPF, IS-IS, RIP, EGP, or BGP
Có thể cấu hình redistribution giao thức định tuyến, sau đó dùng lệnh riêng lẽ default-
metric để chỉ ra giá trị default-metric. Điểm thuận lợi là đây là cấu hình đơn giản hơn, dễ
troubleshooting hơn. Ngoài ra nếu có nhiều giao thức được redistribute vào, giá trị
default-metric sẽ áp dụng cho tất cả các giao thức đang được redistribute. Riêng ISIS
không thể định nghĩa giá trị default metric. Giá trị metric phải chỉ ra khi thực hiện
redistribute. Nếu giá trị metric không được chỉ ra, giá trị mặc định (cost = 0) sẽ được
dùng và route sẽ bị bỏ qua. Để cấu hình các giá trị mặc định cho ospf, rip, egp hoặc bgp,
hãy dùng cú pháp sau:
Router(config-router)#default metric number
Cấu hình giá trị AD
Bên cạnh việc chỉ ra giá trị metric cho các route trong quá trình redistribution, người quản trị
mạng cũng cần kiểm soát quá trình chọn lựa giữa các giao thức định tuyến khác nhau. Trong
trường hợp này thì chỉ dùng giá trị metric là không đủ vì có nhiều giao thức đang được
redistribute. Việc thay đổi giá trị AD cho phép đường đi tốt nhất được thực hiện. Để đảm bảo

đường đi tối ưu được chọn lựa, đôi khi cần phải thay đổi giá trị AD để làm cho một route là kém
hơn so với các route khác. Cấu trúc lệnh là giống nhau cho các giao thức ngoại trừ EIGRP dùng
kiểu lệnh khác. Cú pháp dưới đây là dành cho EIGRP:
Router(config)#distance eigrp internal-distance external-distance
Để cấu hình giá trị AD cho giao thức IP, dùng cú pháp lệnh sau:
Router(config-router)#distance weight [ address mask] [ access-list-number | name] [ip]
Cấu hình Passive Interface
Passive interface được dùng cho những giao thức định tuyến trong đó gửi update ra tất cả các
interface có địa chỉ được chỉ ra trong lệnh network. Lệnh passive interface sẽ làm router không
gửi ra cập nhật về hướng đo. Cú pháp như sau:
Router(config-router)#passive interface type number
Cấu hình định tuyến tĩnh
Router(config)#ip route prefix mask { address | interface} [ distance] [tag tag]
[permanent]
Lệnh này sẽ định nghĩa bằng cách chỉ ra next-hop router để gửi traffic. Cấu hình này chỉ
có thể dùng chỉ nếu địa chỉ phần mạng của next-hop router là có trong bảng định tuyến.
Nếu định tuyến tĩnh cần phải được quảng bá đến các router khác, nó nên được
redistribute. Trong một vài phiên bản IOS, route này sẽ tự động redistribute.
Cấu hình default route
Trong những hệ thống mạng lớn hơn, có thể cấu hình nhiều tuyến đường tĩnh. Nếu quá
nhiều tuyến đường tĩnh được cấu hình, bạn có thể cấu hình một dạng tuyến đường tĩnh
đặc biệt gọi là static default route.
Router(config)#ip route 0.0.0.0 0.0.0.0 s0
Khi thông tin định tuyến được truyền thông qua một giao thức định tuyến động, không cần yêu
cầu một cấu hình gì thêm. Trong trường hợp của RIP, chỉ có thể có một default-route, network
0.0.0.0. Tuy nhiên trong trường hợp của IGRP, vài network có thể làm default route mặc dù chỉ
một default-route là được dùng.
Nếu một router không có một network kết nối trực tiếp nhưng có một route về nó, route
đó có thể xem xét như candidate default-route. Để cấu hình một default-route, dùng lệnh
sau:

Router(config)#ip default-network network-number
lệnh này sẽ tạo ra một default route được gửi trong các update. Nó sẽ không tạo ra một
default route trên router được cấu hình và nó chỉ tạo ra một default route nếu route đó
đang kết nối trực tiếp. Khi có nhiều default route trong bảng định tuyến, các default route
này sẽ được kiểm tra. Đường đi mặc định tốt nhất sẽ được chọn lựa dựa trên giá trị AD và
metric. Địa chỉ gateway của đường đi tốt nhất sẽ trở thành gateway of last resort của
router. Thuật ngữ này còn có một tên gọi khác là default-router. Bạn có thể hiển thị
gateway of last resort bằng lệnh:
Router#show ip route
Giá trị default route sẽ xuất hiện trong bảng định tuyến và được đánh dấu như một tuyến
đường tĩnh vớI ký hiệu S*. Giá trị gateway of last resort sẽ được gán về network này.
Route Maps
Route map là các công cụ trong đó các logic “if/then” có thể được áp dụng cho một
router. Các route-map là các công cụ lập trình được dùng để kiểm soát quá trình
redistribution, để hiện thực PBR, để kiểm soát quá trình NAT hoặc để hiện thực BGP.
Bạn có thể dùng route-map cho các mục đích sau đây:
- Để kiểm soát quá trình redistribution: các route map cho phép kiểm soát một mức
cao hơn so với cách dùng distribution list. Route-map không đơn thuần ngăn chặn
hay cho phép một mạng giống như distribute list mà còn có khả năng gán metric
cho những route bị match.
- Để kiểm soát và thay đổi thông tin định tuyến: các route map được dùng để thay
đổi thông tin định tuyến bằng cách gán giá trị metric cho các route.
- Định nghĩa chính sách trong PBR: các route-map ra các quyết định dựa trên địa
chỉ nguồn. Khi một match được tìm thấy trong access-list, sẽ có các hành động
tương ứng.
- Để thêm vào mức độ tinh tế trong cấu hình NAT: các route map định nghĩa dãy
của các địa chỉ public và địa chỉ private. Có các lệnh show để giám sát và kiểm tra
hoạt động của NAT.
- Để hiện thực BGP: một trong những điểm mạnh của giao thức BGP là khả năng
thực hiện policy based routing. Các thuộc tính trong BGP được dùng để ảnh

hưởng đến đường đi cho traffic. Các thuộc tính này thường được hiện thực dùng
route maps. Nếu có một match thì áp dụng thuộc tính này. Khi này dùng lệnh set
để thực hiện. Route map là phương thức chủ yếu được dùng bởi BGP để định
nghĩa chính sách định tuyến BGP.
Route map rất giống ACL. Cả hai thực hiện tác vụ if/then, trong đó các tiêu chí được
dùng để xác định là packet có được cho phép hoặc từ chối hay không. Sự khác nhau cơ
bản là route map có khả năng thực hiện hành động thay đổi thuộc tính đến các gói dữ liệu
thõa điều kiện match. Trong một ACL, tiêu chí match là ngầm định, trong một route map,
đó là một keyword. Điều này có nghĩa rằng, nếu một gói thõa với một tiêu chuẩn cho
trong một route map, một vài hành động phải được thực hiện để thay đổi gói, trong khi
accesslist chỉ đơn giản cho phép hoặc deny một gói.
Các đặc điểm của route map được tóm tắt trong danh sách sau:
- Một route map có một danh sách các tiêu chí và tiêu chuẩn chọn lựa, được liệt kê
với phát biểu mạtch.
- Một route map có khả năng thay đổi các gói hoặc các route bị match bằng cách
dùng lệnh set.
- Một tập hợp của các phát biểu mạch có cùng tên được xem là cùng một route map
- Route map sẽ ngừng xử lý ngay khi có một match được thực hiện, giống như một
ACL.
- Trong một route map, mỗi phát biểu được đánh số thứ tự và có thể được soạn
thảo riêng lẽ.
- Số thứ tự được dùng để chỉ ra thứ tự trong đó các điều kiện được kiểm tra. Như
vậy nếu hai phát biểu trong route map có tên là BESTTEST, một phát biểu có chỉ
số là 5, một phát biểu có chỉ số là 15 thì phát biểu có chỉ số là 5 sẽ được kiểm tra
trước. Nếu không có một phát biểu match trong phát biểu 5 thì phát biểu thứ 15 sẽ
được kiểm tra.
- Route map có thể dùng các IP access-list chuẩn hoặc mở rộng để thiết lập các
chính sách định tuyến.
- Các access-list mở rộng có thể được dùng để chỉ ra tiêu chí match dựa trên phần
địa chỉ nguồn và địa chỉ đích, ứng dụng, kiểu giao thức, kiểu dịch vụ ToS và độ

ưu tiên.
- lệnh match trong các cấu hình route map được dùng để định nghĩa điều kiện phải
kiểm tra.
- Lệnh set trong cấu hình route map được dùng để định nghĩa hành động theo sau
một phát biểu match.
- Một route map có thể chứ các phép AND và OR. Giống như một access-list, có
một phát biểu ngầm định DENY ở cuối một route map. Hành động theo sau của
phát biểu deny này tùy thuộc route map được dùng như thế nào. Để hiểu điều này
một cách chính xác, bạn cần hiểu chính xác route map hoạt động như thề nào.
Danh sách sau đây sẽ giải thích logic của hoạt động route-map:
- Phát biểu của route map dùng cho PBR có thể được đánh dấu như là permit hoặc
deny
- Chỉ nếu phát biểu được đánh dấu như permit và packet bị match, lệnh set mới
được áp dụng.
- Các phát biểu trong route-map sẽ tương ứng với các dòng của một access-list. Chỉ
ra một điều kiện match trong route map thì cũng tương tự như chỉ ra nguồn và
đích trong access list
- Các phát biểu trong route map được so sánh với đường đi của gói để xem có một
match nào đó hay không. Các phát biểu này sẽ được lần lượt kiểm tra từ trên
xuống dưới.
- Một phát biều match có thể chứa nhiều điều kiện. Ít nhất một điều kiện trong phát
biểu match phải là đúng. Đây là phép logic OR
- Mộ route-map có thể chứa nhiều phát biểu match. Tất cả các phát biểu match
trong route map phải được xem xét là đúng để cho phát biểu của route map là
match. Điều kiện này gọi là phép logic AND.
Định tuyến theo chính sách (Policy-Based Routing – PBR)
Các route map được dùng trong cấu hình PBR cho phép chọn lựa nhiều tiêu chuẩn như
địa chỉ IP, các ứng dụng, giao thức, kích thước gói tin. Khi được chọn lựa, các lệnh của
PBR sẽ hiện thực chính sách cho các route được chọn lựa.
Các routes được route theo policy và các tuyến đường tĩnh có rất nhiều điểm chung. Tuy

nhiên định tuyến tĩnh sẽ chuyển các gói dựa trên địa chỉ đích, trong khi policy sẽ chuyển
gói theo địa chỉ nguồn. Nếu các access-list được dùng với route-map, các thông số trong
một access-list mở rộng có thể được dùng để route traffic dựa trên những tiêu chuẩn như
địa chỉ đích, chiều dài, giao thức IP, độ ưu tiên hoặc port number. Khả năng này cho phép
điều chỉnh tốt hơn nữa các tiêu chuẩn mà qua đó giá trị next-hop là được quyết định.
Các luật áp dụng để định nghĩa PBR là như sau:
- Traffic có thể được điều chuyển dựa trên địa chỉ nguồn và địa chỉ đích
- PBR chỉ ảnh hưởng đến quá trình định tuyến trong router mà nó được cấu hình
- PBR không có ảnh hưởng đến địa chỉ đích của gói tin nhưng nó có thể ảnh hưởng
đến việc chọn lựa đường đi bằng cách thay đổi giá trị next-hop
- PBR không cho phép traffic gửi tới một AS khác thay đổi đường đi đã được chọn
lựa bởi AS đó
- PBR chỉ có thể ảnh hưởng chỉ đến việc traffic sẽ đến router láng giềng nào
- Khi PBR kiểm tra địa chỉ source, nó được cấu hình trên inbound interface.
- Nếu không có match, gói tin sẽ không bị policy route và sẽ đưọc route bình
thường đến đích
- Cách sử dụng route map trong PBR thì hơi khác so với các cách dùng route-map
khác. Khi được sử dụng cho PBR, nếu một gói không match với các tiêu chí được
chỉ ra trong route-map thì gói tin sẽ không bị loại bỏ. Thay vào đó, gói tin sẽ được
gửi đến quá trình định tuyến và được route bình thường dựa trên địa chỉ đích. Nếu
bạn muốn loại bỏ packet, bạn nên dùng lệnh set để route packet đến null interface
trong dòng cuối cùng của route-map
- PBR cũng cho phép một cơ chế để đánh dấu các packet với các giá trị ToS khác
nhau. Đặc điểm này có thể được dùng kết hợp với các kỹ thuật hàng đợI sao cho
một vài loại traffic nhận được các dịch vụ ưu tiên hơn.
- Thay vì định tuyến bằng cách dùng địa chỉ đích, PBR cho phép bạn xác định và
cài đặt chính sách định tuyến bằng cách cho phép hoặc deny một gói tin dựa trên
các thông số như địa chỉ của một thiết bị đầu cuối, ứng dụng đang chạy, giao thức
đang dùng, kích thước của gói tin.
Các lợi ích của PBR


- Chọn lựa nhà cung cấp dịch vụ dựa trên nguồn gốc traffic: các nhà cung cấp dịch
vụ thường dùng PBR để ra các quyết định định tuyến dựa trên địa chỉ nguồn. Các
traffic của các khách hàng khác nhau sẽ được route đến các kết nối Internet khác
nhau.
- Chất lượng dịch vụ: bằng cách thiết lập các kiểu chất lượng dịch vụ (ToS) trong
gói IP, các tổ chức có thể cung cấp dịch vụ QoS. Theo cách này, các traffic có thể
khác nhau và các cơ chế hàng đợi có thể được cài đặt để ưu tiên traffic dựa trên
giá trị QoS trên lớp core và backbone của mạng.
- Tiết kiệm chi phí: các traffic được tạo ra bởi một hoạt động đặc biệt có thể được
áp đặt cho một mức băng thông cao hơn trong một khoảng thời gian ngắn.
- Chia sẽ tải: PBR cho phép hiện thực các chính sách để phân phối traffic giữa các
đường đi khác nhau dựa vào loại traffic. Tính năng này không giống với đặc tính
chia sẽ tải động trong các giao thức định tuyến.
Các điểm bất lợi của PBR:
- Nên dùng thêm một đường đi dự phòng trong trường hợp router kế tiếp bị down.
Nếu không có một giải pháp dự phòng, PBR dùng bảng định tuyến
- Phải dùng thêm nhiều chu kỳ CPU vì tất cả các địa chỉ source đều phải được
kiểm tra
- Phải cấu hình thêm
- Sẽ tồn tại khả năng các loại traffic khác bị hủy
Hoạt động của route-map và của Policy based Routing (PBR)
PBR áp dụng vào các gói tin đi vào hoặc các gói tin được tạo ra bởi router. Khi một gói tin nhận
được trên một interface có cấu hình PBR, gói tin sẽ trải qua một qui trình như sau:
- Nếu có một match xảy ra và hành động là cho phép, gói tin sẽ được route theo hành
động được chỉ ra trong lệnh set
- Nếu có một match xảy ra và hành động là từ chối gói tin thì packet sẽ không được route
theo chính sách nhưng sẽ được định tuyến như bình thường
- Nếu không có match nào và nếu không có thêm đoạn cấu hình nào chỉ ra phải làm gì
trong tình huống này, mặc định gói tin sẽ bị deny, nghĩa là sẽ chuyển về định tuyến bình

thường. Quá trình định tuyến bình thường sẽ có thể bị loại bỏ nếu ta dùng thêm một phát
biểu set để định tuyến packet về null0. Nói cách khác, đây là cách để loại bỏ gói tin.
Cấu hình Route Maps cho Policy-Based Routing
Cách cấu hình route map như sau:
Router(config)#route-map map-tag [{permit | deny} sequence-number]
Cấu hình Fast Switching với Policy-Based Routing
Tốc độ đi qua một hệ thống mạng bị ảnh hưởng bởi khả năng của các thiết bị mạng trong xử lý
traffic. Cơ chế fast switching cho PBR bị tắt ở chế độ mặc định. Để cấu hình fast-switch cho
PBR, thực hiện các bước sau:
bước 1: cấu hình PBR trước khi bạn có thể cấu hình fast-switch
bước 2: khi PBR được cấu hình, bật fast-switching với lệnh
Router(config-if)#ip route-cache policy
Cơ chế fast-switch PBR hỗ trợ tất cả các dạng của lệnh match và phần lớn các lệnh set
ngoại trừ việc lệnh set ip default không được hỗ trợ
Lệnh set interface được hỗ trợ chỉ trên những kết nối point-to-point trừ phi có một entry
đã được cache dùng cùng một interface trong lệnh set interface trong route map. Route
cache là một phần của bộ nhớ được dành cho các quyết định định tuyến. Trong process
switching, bảng định tuyến sẽ được tham khảo để tìm đường đi đến đích. Trong fast
switching, hệ điều hành không kiểm tra bảng định tuyến bởi vì đã có thông tin được
cache lại. Thay vào đó, nếu một gói là match, hệ điều hành sẽ nhanh chóng chuyển gói
tin ra interface ngay lập tức

×