Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 22 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
22
Dung lượng
465,68 KB
Nội dung
Giáo trình khóa học BSCI Chƣơng 5 – RouteOptimization 78 CHƢƠNG 5:ROUTEOPTIMIZATIONChương này đề cập đến hai chủ đề chính là Redistribution và Policy-Based-Routing. 5.1. Redistribution 5.1.1. Tổng quan 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. Giáo trình khóa học BSCI Chƣơng 5 – RouteOptimization 79 Bảng 5.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. Giáo trình khóa học BSCI Chƣơng 5 – RouteOptimization 80 Hình 5.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 hai công ty sát nhập với nhau. Giáo trình khóa học BSCI Chƣơng 5 – RouteOptimization 81 Hình 5.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ả. 5.1.2. 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ó Giáo trình khóa học BSCI Chƣơng 5 – RouteOptimization 82 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 5.2 - Các giá trị mặc định của metric khi đƣợc redistribute IP Routing Default Seed Metric Hành động RIP Giá 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) - 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. 5.1.3. 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ó Giáo trình khóa học BSCI Chƣơng 5 – RouteOptimization 83 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. 5.1.4. 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. Giáo trình khóa học BSCI Chƣơng 5 – RouteOptimization 84 Hình 5.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 5.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 Giáo trình khóa học BSCI Chƣơng 5 – RouteOptimization 85 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. Cần phải tránh quá trình redistribution hai chiều. 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, 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. Giáo trình khóa học BSCI Chƣơng 5 – RouteOptimization 86 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ĩnh. 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 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 external 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 Giáo trình khóa học BSCI Chƣơng 5 – RouteOptimization 87 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. 5.1.5. 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: 1. Có một kiến thức tốt về sơ đồ mạng, Routing domain, dòng traffic. 2. 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. 3. Chỉ ra các router ở ranh giới mà trên đó phải cấu hình redistribution. 4. Xác định giao thức nào là core, giao thức nào là edge. 5. 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. 6. 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. 5.1.6. 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ị. [...]... 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... 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 89 Chƣơng 5 – RouteOptimization Giáo trình khóa học BSCI Hình 5.5 - Cách dùng default -route (1) Hình 5.6 - Cách dùng default -route (2) Null... 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 94 Giáo trình khóa học BSCI Chƣơng 5 – RouteOptimization 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. .. không bị policy route và sẽ đưọc route bình thường đến đích 97 Giáo trình khóa học BSCI - Chƣơng 5 – RouteOptimization 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... 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: 92 Giáo trình khóa học BSCI Chƣơng 5 – RouteOptimization Router(config-router)#distance weight... Chƣơng 5 – RouteOptimization 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... 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... 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 90 Chƣơng 5 – RouteOptimization Giáo trình khóa học BSCI dùng trong quá... được gán về network này 5.1.9 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 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... 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 95 Giáo trình khóa học BSCI Chƣơng 5 – RouteOptimization 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