Phân phối lại (Redistribution) Tác giả: Trần Văn Thành Phân phối lại (Redistribution) 1. Định nghĩa Thực tế rất hiếm khi chỉ có một giao thức định tuyến được cài chạy trong một tổ chức. Và trường hợp nếu công ty chạy nhiều giao thức định tuyến thì cần phải có một phương thức để chia sẻ thông tin định tuyến giữa các giao thức khác nhau đó. Quá trình đó gọi là redistribution. Chú ý là trong trường hợp tồn tại nhiều giao thức định tuyến trên cùng m ột router không có nghĩa là redistribution tự xảy ra. Mà để quá trình redistribution xảy ra thì ta phải cấu hình chúng. Trường hợp có nhiều giao thức định tuyến tồn tại trên cùng một router mà không được cấu hình redistribution được gọi là ships in the night (SIN) routing. Có nghĩa là router chỉ trao đổi thông tin định tuyến với neighbor của nó trong cùng process domain. Mặc dù SIN routing thường được để cập tới trường hợp nhiều giao thức định tuyến trên cùng một router (như là OSPF của giao thức IP và NLSP của giao thức IPX). Một chú ý nữa là redistribution chỉ có thể xy ra giữa các giao thức định tuyến tương ứng với cùng một giao thức lớp 3 (IP, IPX hay Apple Talk). Một vài giao thức định tuyến thì tự động redistribution mà không cần phải cấu hình, tuy nhiên thường là ta phải cấu hình thì quá trình redistribution mới diễn ra. Hình 3.1 dưới đây sẽ miêu tả chính sách redistribution của từng giao thức định tuyến. Routing Protocol Chính sách redistribution (Redistribution Policy) Static Phải cấu hình bằng tay vào các giao thức định tuyến khác. Connected Trừ phi có câu lệnh Network cho quá trình định tuyến, phải y êu cầu cấu hình redistribution bằng tay vào các giao thức định tuyến khác. RIP Yêu cầu cấu hình redistribution bằng tay. IGRP Nó sẽ tự động diễn ra giữa IGRP và EIGRP nếu giá trị autonomous system của chúng giống nhau. Trường hợp còn lại yêu cầu phải cấu hình bằng tay. EIGRP Nó sẽ tự động diễn ra giữa IGRP và EIGRP n ếu giá trị autonomous system c ủa chúng giống nhau. EIGRP cho giao thức Apple Talk sẽ tự động redistribution giữa EIGRP và RTMP. EIGRP cho IPX sẽ tự động redistribution giữa EIGRP và IPX RIP/SAP. Trường hợp còn lại yêu cầu phải cấu hình bằng tay. Trong các phiên bản sau, NLSP có thể redistribution bằng tay. OSPF Yêu cầu phải cấu hình redistribution giữa các OSPF process khác nhau và với giao thức định tuyến khác IS-IS Yêu cầu phải cấu hình bằng tay giữa các giao thức định tuyến khác nhau. BGP Yêu cầu phải cấu hình bằng tay giữa các giao thức định tuyến khác nhau. Trong hình 3.2, trong routing table của router B có mục nhập cho những route từ RIP và OSPF domain. Không có mục nhập cho route đến từ EIGRP domain vì chỉ có một network nối trực tiếp vào router. Bạn có thể thấy rằng RIP update được gửi ra ngoài interface không bao gồm network từ OSPF domain. Hơn nữa, router C chỉ có một kết nối trực tiếp trong routimg table. Lý do là vì mặc dù router C được cấu hình EIGRP nhưng router C là một stub router. Khi một interface khác được cấu hình địa chỉ và phần còn lại của EIGRP network kết nối vào router C, mạng sẽ được quảng bá với EIGRP route, nó sẽ phân bổ tới router B. Nếu redistribution được thực hiện thì toàn bộ mạng sẽ sẵn sàng cho mọi router. Các trường hợp dẫn tới tồn tại nhiều giao thức định tuyến trong cùng một tổ chức: Tổ chức chuyển từ một giao thức này sang một giao thức khác bởi vì họ cần một giao thức định tuyến phức tạp hơn. Do yếu tố lịch sử, tổ chức có rất nhiều mạng con. Công ty cần được thiết kế để chuyển sang một giao thức duy nhất trong tương lai. Một vài doanh nghiệp sử dụng giải pháp host-based yêu cầu nhiều giao thức định tuyến. Ví dụ, ví dụ một UNIX host sử dụng RIP để khám phá gateway. Sau khi 2 công ty được hợp nhất. Về mặt chính trị, có những tư tưởng khác nhau giữa các nhà qu ản trị mạng khác nhau. Trong một môi trường rất lớn, những vùng khác nhau có những yêu cầu khác nhau, do đó một giải pháp đơn lẻ là không hi ệu quả. Ví dụ: một mạng đa quốc gia, thì EIGRP là giao thức định tuyến được sử dụng ở access layer và distribution layer nhưng BGP là giao thức định tuyến được dùng kết nối với core layer. 2. Các vấn đề phát sinh và giải pháp khi thực hiện redistribution. Khả năng của IP routing protocol thay đổi rộng rãi. Đặc trưng c ủa các giao thức định tuyến mà hầu hết được mang trong redistribution là sự khác nhau trong metric và administrative distance, và khả năng classful hay classless của chúng. Sự thất bại trong sự đem lại của sự xem xét cẩn thận sự khác nhau khi redistribution có thể dẫn tới các vấn đề sau: sự thất bại trong sự trao đổi một vài hoặc tất cả các tuyến (route), routing loop và black hole. a/ Metric Error! Các router của hình 3.1 được redistribution static route vào OSPF, chúng sẽ quảng bá những tuyến (route) tới các OSPF-speaker router khác. Static route không có metric đi kèm với chúng, nhưng mỗi OSPF route (tuyến OSPF) phải có một giá trị cost đi kèm. Một ví dụ khác liên quan đến metric nữa đó là redistribution của RIP route (tuyến RIP) vào IGRP. Metric của RIP là hop count, trong khi IGRP sử dụng bandwidth và delay. Metric của IGRP là một số 24 bit trong khi của RIP giá trị giới hạn là 15. Trong cả 2 trường hợp, yêu cầu đối với giao thức định tuyến tham gia redistribution là đối với những tuyến (route) được redistribution vào domain của nó thì nó phải kết hợp được metric của nó với metric của những tuyến đó. Do đó cần có một giải pháp đó là khi router thực hiện redistribution phải gán một giá trị metric cho những tuyến tham gia redistribution. Error! Trường hợp như Hình 3.2 đây là EIGRP được redistribution vào OSPF, và OSPF được redistribution vào EIGRP. OSPF không hi ểu metric tổ hợp của EIGRP và EIGRP cũng không hiểu cost của OSPF. Kết quả là, các phần của quá trình redistribution là các router phải được giao một cost cho mỗi EIGRP route trước khi tuyến đó được quảng bá sang OSPF domain. Tương tự như vậy, router cũng phải gán một cặp giá trị sau: bandwidth, delay, reliability, load và MTU cho mỗi OSPF route trước khi nó được quảng bá sang EIGRP domain. Nếu quá trình gán metric là không đúng th ì quá trình redistribution sẽ thất bại. b. Khoảng cách quản lý (Administrative Distance) Tính đa dạng của metric còn gây ra vấn đề sau: nếu một router chạy nhiều hơn một giao thức định tuyến và học một tuyến (route) tới cùng một đích từ mỗi giao thức tương ứng, thì tuyến nào sẽ được chọn? Mỗi giao thức định tuyến sử dụng metric của nó để xác định ra route tốt nhất theo cách của mình. So sánh tuyến (route) với metric khác nhau chẳng hạn: hop count và cost, chẳng khác nào so sánh táo và cam. Có một giải pháp để giải quyết vấn đề này đó là administrative distance. Đúng như metric được gán cho mỗi tuyến (route) đến mức độ ưu tiên của mỗi route có thể được xác định, administrative distance được gán cho tuyến nguồn (route source) đến mức độ ưu tiên hơn của tuyến nguồn được xác định. Như trong phần hai đã giới thiệu administrative distance nó như là thước đo về độ tin cậy. Giá trị administrative distance càng nhỏ thì độ tin cậy của thông tin định tuyến trao đổi bởi giao thức tương ứng càng l ớn. Ví dụ, giả sử một router chạy 2 giao thức định tuyến l à RIP và EIGRP. Khi router học một tuyến tới mạng 192.168.5.0 bằng cả 2 giao thức định tuyến thì nó sẽ nhận được thông tin về tuyến tới mạng 192.168.5.0 từ cả RIP neighbor và EIGRP neighbor. Bởi vì EIGRP sử dụng metric tổ hợp cho nên những thông tin định tuyến học được từ EIGRP sẽ chính xác hơn là thông tin định tuyến học được từ RIP. Do đó, EIGRP tin cậy hơn RIP. B ảng 3.3 cho biết các giá trị administrative distance mặc định của các giao thức định tuyến khác nhau. EIGRP có administrative distance là 90 trong khi RIP là 120. Điều đó chứng tỏ EIGRP tin cậy hơn RIP. Error! c. Redistributing từ Classless vào Classful Protocols Sự suy xét thận trọng đã được nói rõ được nói rõ khi thực hiện redistribution từ một classless routing process domain vào một classful domain. Để hiểu được tại sao lại như vậy, đầu tiên cần hiểu một classful routing protocol phản ứng lại như thế nào với sự thay đổi của subnet. Như đã biết RIP là một classful routing protocol cho nên nó không gửi mask trong thông tin định tuyến. Đối với các route mà một classful router nhận được sẽ ra vào một trong 2 khả năng sau: Router sẽ có một hay nhiều hơn interface gắn với mạng chính (major network). Router sẽ không có interface gắn vào mạng chính. Trong trường hợp thứ nhất, router phải sử dụng mặt nạ định hình của chính mình cho mạng chính để xác định một cách chính xác subnet c ủa địa chỉ đích trong gói packet. Trong trường hợp thứ 2, chỉ địa chỉ của mạng chính mà nó có thể bao gồm trong thông tin quảng bá bởi vì nó không có cách nào để xác định subet mask để sử dụng. Trong hình 3.6, subnet của OSPF domain biến đổi và Paige thực hiện redistribution OSPF-route vào IGRP domain. Error! Như trong h ình 3.7, Paige biết về tất cả các subnet của cả OSPF domain v à IGRP domain. Và bởi vì OSPF là một classless routing protocol, router biết mask nào được gắn kết với mỗi subnet mà kết nối trực tiếp với Gibson. Tiến trình IGRP (IGRP process) của Paige là sử dụng 24-bit mask; do đó 172.20.113.192/26 và 172.20.114.48/28 là không tương thích và không được quảng bá như trong hình 3.8. Chú ý rằng IGRP quảng bá 172.20.112.0/24 và 172.20.115.0/24. Kết quả là chỉ subnet trong OSPF domain mà Leonard biết là chúng có cùng chung subnet là 24-bit như hình 3.9. Error! Error! Error! Giải pháp thứ 1: cho việc redistribution giữa classful routing protocol và classless routing protocol là sử dụng định tuyến tĩnh để phân phối các route vào trong classful routing domain. Giải pháp thư 2: thực hiện route summary để nhóm các subnet con thành một subnet to hơn mà classful routing domain hiểu được. 3. Các tình huống dẫn đến routing loop khi thực hiện redistribution Mặc dù administrative distance đã giải quyết được vấn đề sự lộn xộn của sự thay đổi khác nhau của metric hay nói cách khác giải quyết đư ợc vấn đề nguồn gốc của thông tin định tuyến, nhưng chúng vẫn có thể gây lên một số vấn đề cho redistribution. Như ví dụ trong hình 3.10, cả Gehrig và Ruth được redistribution RIP-route vào IGRP domain. Gehrig học về mạng 172.168.1.0 qua RIP và quảng bá network đó vào IGRP domain. Kết quả là Ruth học được về mạng 192.168.1.0 không chỉ từ Combs qua RIP-route mà còn từ Meusel qua IGRP route. Error! Hình 3.11 cho thấy routing table của Ruth. Chú ý rằng tuyến đường tới mạng 192.168.1.0 là một IGRP route. Ruth đã chọn IGRP route vì IGRP có administrative distance nhỏ hơn RIP. Ruth sẽ gửi dữ liệu tới mạng 192.168.1.0 với lộ trình qua Meusel thay vì phải gửi trực tiếp tới Combs. Error! Mặc dù Split horizon chặn routing loop trên internet như hình 3.10. C Gehrig và Ruth lúc đầu đều quảng bá mạng 192.168.1.0 vào IGRP domain, và cả 4 router đều hội tụ với chỉ có một đường đến đến mạng đó. Tuy nhiên, sự hội tụ là không thể đoán trước được. Cụ thể như trong trường hợp sau. C hai router Lazzeri và Meusel khởi động lại. Sau khi khởi động, bảng routing talble của Ruth cho biết tuyến đường đến mạng 12.168.1.0 sẽ sử dụng Combs làm next-hop (như hình 3.12). Error! Trạng tháI hội tụ của mạng sau khi khởi động lại không chỉ không đoán trước được mà còn rất chậm. Như hình 3.13 cho biết routing table của Gehrig sau khong 3 phút sau khi khởi động lại. Nó sử dụng router Lazzeri là next-hop của tuyến đường tới mạng 192.168.1.0 nhưng khi ping tới địa chỉ trên mạng đó thì lại bị fail. Hình 3.14 là routing table của Lazzeri: Lazzeri sử dụng router Gehrig là next-hop c ủa tuyến tới mạng 192.168.1.0. Kết quả là tồn tại routing loop. Error! Sau đây là trình tự của các sự kiện dẫn đến routing loop: 1. Trong khi router Lazzeri và Meusel khởi động lại, cả Gehrig và Ruth đều có mục nhập trong routing table của tuyến đường tới mạng 192.168.1.0 với thông tin next-hop là router Combs. 2. Ngay sau khi Lazzeri và Meusel trở thành active, cả Gehrig và Ruth đ ều gửi thông tin update mà có chứa thông tin đến mạng 192.168.1.0. Giả sử trường hợp này, Ruth gửi thông tin update sớm hơn một chút so với Gahrig. 3. Meusel, nhận thông tin update của Ruth, và coi Ruth như là next-hop và gửi thông tin update tới Lazzeri. 4. Lazzeri, nhận thông tin update của Meusel, và coi Meusel như là next- hop. 5. Lazzeri và Gehrig đều gửi thông tin update tới nhau trong cùng m ột thời gian. Lazzeri coi Gehrig là next-hop của tuyến đường tới mạng 192.168.1.0 bởi vì theo tính ch ất của distance vector routing protocol nó sẽ coi router quảng bá tuyến đường đó tới nó sẽ là next-hop. Còn Gehrig coi Lazzeri là next-hop của tuyến đường cùng tới mạng 1923.168.1.0 bởi vì thông tin định tuyến của IGRP router quảng bá có độ tin cậy lớn là thông tin định tuyến do router RIP quảng bá (thực hiện điều này dựa vào administrative distance). Kết quả là loop xuất hiện. Split horizon và thời gian không hợp lệ (invalid timer) rốt cuộc sẽ sắp xếp lại các thông tin định tuyến sai đó. Lazzeri quảng bá tuyến tới mạng tới Meusel, nhưng Meusel tiếp tục sử dụng metric tôt hơn cho tuyến đó qua Ruth. Và từ khi Ruth được coi là next-hop router, split horizin có tác dụng cho tuyến tới mạng 192.168.1.0 tại interface S1 của Meusel. Meusel cũng gửi quảng bá tuyến tới mạng 192.168.1.0 tới Lazzeri, nhưng Lazzeri vẫn coi Gehrig là next-hop cho tuyến tới mạng 192.168.1.0 với metric tốt hơn. Lazzeri và Gehrig coi lẫn nhau là next hop cho tuyến tới mạng 192.168.1.0, cho nên chúng sẽ không quảng bá tuyến tới mạng đó cho nhau. Sau khoảng thời gian invalid timer hết hạn thì routing table của 2 router đó như hình 3.15. Error! Khi invalid timer của Lazzer hết hạn, tuyến tới mạng 192.168.1.0 sẽ khởi tạo giá trị holddown cho tuyến đó. Mặc dù Meusel được quảng bá một tuyến tới mạng đó, Lazzeri không thể đồng ý nó cho đến khi holddown timer hết hạn. Hình 3.16 cho biết rằng Lazzeri cuối cùng cũng đồng ý tuyến được qung bá từ Meusel và hình 3.17 cho biết Gehrig đã đến được mạng 192.168.1.0 thành công qua Lazzeri. Quá trình này mất khoảng hơn 9 phút cho 2 router hội tụ và những tuyến mà nó sử dụng không phải là tuyến tối ưu. Error! Error! Administrative distances có thể gây lên vấn đề tệ hơn cả lựa chọn đư ờng đi sai (sub-optimal route) như các tình huống không dự đoán trước được và thời gian hội tụ chậm như ví dụ trước đã phân tích. Như hình 3.18 các router trong IGRP domain được cấu hình trong môI trư ờng Frame Relay. ở trạng thái mặc định split horizon được tắt trên các interface Frame Relay. Kết quả là routing loop vĩnh cửu xảy ra giữa Lazzeri và Gehrig và giữa Meusel và Ruth. Kết luận cuối cùng là mạng 192.168.1.0 không thể đến được trong IGRP domain . được gọi là ships in the night (SIN) routing. Có nghĩa là router chỉ trao đổi thông tin định tuyến với neighbor của nó trong cùng process domain. Mặc dù SIN routing thường được để cập tới trường. Như trong phần hai đã giới thiệu administrative distance nó như là thước đo về độ tin cậy. Giá trị administrative distance càng nhỏ thì độ tin cậy của thông tin định tuyến trao đổi bởi giao thức. Ruth như là next-hop và gửi thông tin update tới Lazzeri. 4. Lazzeri, nhận thông tin update của Meusel, và coi Meusel như là next- hop. 5. Lazzeri và Gehrig đều gửi thông tin update tới