Edu DaLatHub
  • Trang chủ
  • Flutter
  • WordPress Plugin
  • GoLang
  • ReactJS
  • NodeJS
  • Networking
    • Basic Networking
      • ARP
      • ICMP
      • TCP/UDP
    • Routing & Switching
      • RIP
      • OSPF
      • EIGRP
      • Redistribution
      • TSHOOT
      • WAN
Liên hệ

  • By  Nguyễn Văn Huy Dũng
  • 0 comments
  • Tháng Một 13, 2022

Redistribution (Phần 1)

Trên thực tế, các hệ thống mạng mà bạn có thể gặp thì hầu hết chúng chỉ chạy duy nhất một giao thức định tuyến (OSPF hay EIGRP). Cũng có thể là bạn chỉ gặp một mạng lưới nhỏ hơn chỉ sử dụng RIP và nó cần mở rộng lên, vì thế nó cần chuyển sang OSPF hay EIGRP. Và thử nghĩ xem nếu công ty của chúng ta đang sử dụng OSPF và công mua lại một chi nhánh của công ty khác có hệ thống mạng sử dụng EIGRP?

Có thể chúng ta có nhiều giao thức định tuyến trên một hệ thống mạng và chúng ta sẽ cần có một số phương pháp để có thể trao đổi thông tin định tuyến giữa các giao thức khác nhau này. Việc làm này gọi là redistribution (phân phối các tuyến đường). Với việc làm này thì chúng ta có một số vấn đề cần giải quyết. Đầu tiên, đó là metric của các giao thức này. OSPF sử dụng cost làm metric còn EIGRP sử dụng các giá trị K-value nên chúng sẽ không thể hiêu được nhau (vấn đề tương thích)… Chúng ta cũng sẽ gặp vấn đề tương tự với RIP (sử dụng hop count làm metric).

Việc redistribution cũng còn có một số vấn đề khác. Nếu như việc phân phối các thông tin định tuyến từ một giao thức định tuyến này vào một giao thức định tuyến khác thì có thể gây ra vòng lặp định tuyến. Trong phần này, chúng ta sẽ cùng tìm hiểu các cách để có thể giải quyết các vấn đề có thể gặp phải.

Nếu như bạn chưa thật sự chắc chắn về các kiến thức về OSPF hay EIGRP thì bạn nên dành thời gian nghiên cứu lại chúng và  thực hiện các bài lab để nắm thật chắc kiến thức về chúng. Việc biết và sử dụng một giao thức định tuyến thì có thể là chưa đủ, nếu thử kết hợp chúng lại với nhau thì thật sự có nhiều điều thú vị.

Hãy nhìn vào sơ đồ mạng trên. Chúng ta có các router chạy EIGRP AS 1 sử dụng mạng 10.0.0.0/8. OSPF đa vùng với 3 area sử dụng các mạng thuộc 20.0.0.0 /8. Phía dưới cùng ta có 2 router sử dụng RIP sử dụng vùng mạng 30.0.0.0 /8. Nếu như chúng ta muốn có thể định tuyến được giữa những vùng mạng này thì chúng ta phải dùng tới redistribution (phân phối tuyến đường). Khi thực hiện việc tái phân phối các tuyến đường, chúng không chỉ dành riêng cho các giao thức định tuyến, mà nó có nhiều lựa chọn hơn:
  • Định tuyến giữa các giao thức định tuyến (RIP, OSPF, EIGRP, BGP).
  • Có thể phân phối các tuyến đường định tuyến tĩnh (Static route) vào các giao thức định tuyến.
  • Các kết nối trực tiếp cũng có thể phân phối lại vào trong các giao thức định tuyến.
Thông thường, bạn có thể sử dụng câu lệnh network để quảng bá các thông tin về các con đường kết nối trực tiếp vào trong các giao thức định tuyến. Tuy nhiên, bạn có thể sử dụng câu lệnh redistribute connected để có thể phân phối các tuyến đường kết nối trực tiếp vào giao thức định tuyến. Dù vậy, hai cách làm này sẽ đem lại một chút khác biệt.

Trong hình trên, chúng ta có 3 router. Router Jack chạy EIGRP và router James chạy RIP. Router John nằm giữa 2 miền vì thế nó chạy cà EIGRP và RIP. Nếu chúng ta muốn phân phối giữa 2 giao thức này thì phải thực hiện trên router John.

Trên đây là bảng định tuyến của tất cả các router sau khi đã cấu hình RIP và EIGRP. Bạn có thể thấy được là router John đã học được thông tin về các mạng của router James và Jack. Router Jack và James đều không có thông tin gì khác biệt trong bảng định tuyến của họ vì router John không quảng bá thông tin gì trong thời điểm này. Như bạn có thể thấy là việc phân phối các tuyến đường (redistribution) không được thực hiện tự động. Trước khi đi vào phần cấu hình, có hai điều chúng ta nên quan tâm:
  • Thật sự việc phân phối sẽ gây ra ảnh hưởng bên ngoài router mà chúng ta thực hiện việc phân phối đó. Nếu chúng ta cấu hình phân phối trên router John thì chúng ta sẽ không có sự thay đổi gì trong bảng định tuyến của router John.
    • Router John thực hiện việc phân phối lại các thông tin định tuyến của miền EIGRP vào trong miền RIP và sẽ quảng bá lại cho router router James.
    • Router John thực hiện việc phân phối lại các thông tin định tuyến của miền RIP vào trong miền EIGRP và sẽ quảng bá lại cho router router Jack.
  • Bạn hãy chắc rằng các tuyến đường trong bảng định tuyến của router thực hiện việc phân phối. Bạn không thể quảng bá (hay phân phối) những gì mà bạn không có.
Khi chúng ta thực hiện việc phân phối từ các giao thức định tuyến khác nhau, chúng ta cần phải sử dụng một giá trị là seed metric. Vì mỗi giao thức định tuyến đều sử dụng giá trị metric khác nhau:
  • OSPF: Cost
  • EIGRP: K-Values (bandwidth, delay, load and reliability)
  • RIP: Hop count
Dù thế nào đi nữa, chúng ta cần phải chuyển đổi các số liệu metric này sao cho phù hợp với các giao thức định tuyến với nhau. Đó là công việc không thể thực hiện tự động được… Chúng ta phải thực hiện việc “nói” với router rằng metric mà nó sẽ sử dụng khi thực hiện việc phân phối giữa các giao thức định tuyến.
Protocol Default Seed Metric
RIP Infinity
EIGRP Infinity
OSPF 20 except BGP is 1.
BGP BGP metric is set to IGP metric

Các thông tin trong bảng trên rất quan trọng và bạn cần thiết phải nhớ. Nếu như bạn phân phối các thông tin vào trong RIP thì giá trị mặc định của seed metric là infinity (vô hạn). Vậy thì RIP sẽ làm gì với các tuyến đường với giá trị metric là infinity? Đúng… nó sẽ không được hiển thị trong bảng định tuyến của router. Điều này có nghĩa là bạn sẽ phải cấu hình một giá trị default hop count cho mọi tuyến đường được phân phối vào trong RIP hoặc là việc phân phối sẽ không hoạt động.

Việc tương tự cũng sẽ xảy ra đối với việc phân phối vào trong miền EIGRP. Bạn phải thực hiện việc cấu hình thiết lập các giá trị K-value bằng tay, không thì việc phân phối tuyến đường này coi như cũng không hoạt động được.

Việc làm này trên OSPF có lẽ là đơn giản hơn… nếu bạn tiến hành việc cấu hình phân phối các tuyến đường vào OSPF thì các tuyến đường được phân phối này sẽ có giá trị cost mặc định là 20, ngoại trừ các thông tin tới từ miền BGP… lúc này nó sẽ có giá trị cost là 1….

Đây là một ví dụ giúp cho bạn thấy việc cấu hình default seed metric bằng cách sử dụng câu lệnh default-metric. Default-metric 5 có nghĩa là bạn set giá trị hop count là 5 cho tất các con đường được phân phối lại vào trong RIP. Đối với EIGRP thì phức tạp hơn một chút, bạn phải xác định các giá trị K-value. Trong ví dụ này, ta sử dụng bandwidth là 1500, delay là 100, reliability 255 (có nghĩa là 100%), load là 1 (1%) và MTU là 1500. Trong trường hợp này, router sẽ làm việc với các số liệu mà chúng ta đã cung cấp. Tất cả các con đường được phân phối vào trong miền EIGRP này đều được tính toán với giá trị metric dựa vào các số liệu mà ta đã cấu hình.

Hãy nhìn vào mô hình sau để cấu hình việc phân phối và hãy cùng xem qua các vấn đề mà chúng ta có thể gặp phải:

Hình ảnh phía trên là cách thực hiện việc phân phối một chiều (one-way redistribution). Ta chỉ thực hiện việc cấu hình phân phối các thông tin định tuyến từ giao thức định tuyến B vào trong giao thức đinh tuyến A nhưng không làm việc ngược lại. Nếu như ta muốn có thể định tuyến được tất cả các tuyến được, bạn có thể cấu hình static routes hay default route ở miền giao thức định tuyến A để có thể kết nối tới miền sử dụng giao thức định tuyến B.

Việc phân phối 2 chiều (Two-way redistribution) được thực hiện khi ta phân phối các thông tin giữa 2 giao thức định tuyến khác nhau. Hình thức của cả 2 quá trình phân phối trong hình trên được gọi là one-point redistribution bởi vì chỉ có một router thực hiện việc phân phối lại các tuyến đường. One-point redistribution được xem là phương pháp cấu hình khá “an toàn” vì ta chỉ có một “đường ra” và một “đường vào” duy nhất cho mỗi giao thức định tuyến. Chính vì điều này mà chúng ta không thể gây ra một vòng lặp định tuyến.

Trong sơ đồ mạng này, chúng ta có 2 router thực hiện việc phân phối giữa 2 giao thức định tuyến. Nó được gọi là multipoint redistribution và nó có thể là một ý tưởng tốt khi chúng ta không muốn single point của chúng ta sẽ gặp lỗi trong quá trình hoạt động. Trong ví dụ này, ta chỉ có một chiều phân phối các thông tin định tuyến từ giao thức định tuyến B vào trong giao thức định tuyến A, vì vậy nó còn được gọi là one-way multipoint redistribution.

Trong ví dụ lần này, chúng ta lại có việc phân phối ngược lại từ miền sử dụng giao thức định tuyến A vào miền sử dụng giao thức định tuyến B và ngược lại. Vậy việc làm này gọi là two-way multipoint redistribution. Multipoint redistribution rất dễ gây ra các vấn đề giống như là gây ra một vòng lặp định tuyến hay tối ưu việc chọn các tuyến đường. Hãy cùng xem qua các mô hình mạng sau đây và cùng nhau phát hiện các vấn đề có thể xảy ra.

Trong hình trên, chúng ta có 3 router. Router Jack, John and James đang chạy EIGRP. Router Jack và John chạy OSPF. Router Jack được cấu hình one-way redistribution. Router James có mạng 1.1.1.0 /24 trong bảng định tuyến của mình, tuy nhiên nó được xem là con đường ngoại mạng (external network). EIGRP có 2 giá trị khác nhau của administrative distance:
  • Internal: AD 90
  • External: AD 170
Tất cả các con đường được phân phối lại vào trong EIGRP sẽ được hiển thị trong bảng định tuyến với giá trị administrative distance là 170. EIGRP xem các thông tin định tuyến được gửi từ ngoài vào là không đáng tin cậy và đó là lý do vì sao EIGRP sẽ gán cho các tuyến đường này một giá trị administrative distance cao hơn. Hãy tiếp tục:
  1. Router James có thông tin về mạng 1.1.1.0 /24 trong bảng định tuyến của mình và nó được xem như là một EIGRP external network với administrative distance là 170.
  2. Router James sẽ quảng bá mạng 1.1.1.0 /24 tới router Jack và John và cả hai router này sẽ lưu thông tin này vào bảng định tuyến của mình với administrative distance là 170.
  3. Router Jack sẽ được cấu hình để phân phối tuyến đường này từ miền EIGRP vào trong OSPF.
  4. Lúc này router Jack sẽ có thông tin về mạng 1.1.1.0 /24 trong bảng định tuyến như là một tuyến đường học được học từ EIGRP, nó sẽ được phân phối lại vào trong OSPF và gửi tới router John.
  5. Router John nhận được thông tin OSPF về mạng 1.1.1.0 /24 và nó có 2 lựa chọn:
    1. Sử dụng thông tin EIGRP về mạng 1.1.1.0 /24 với AD 170 (EIGRP).
    2. Sử dụng thông tin OSPF về mạng 1.1.1.0 /24 với AD 110 (EIGRP).
  6. Do administrative distance của OSPF thấp hơn nên nó sẽ xóa thông tin của EIGRP ra khỏi bảng định tuyến và thay vào đó là thông tin học được từ OSPF.
  7. Router John sẽ gửi các IP packet tới mạng 1.1.1.0 /24 thông qua router Jack rồi mới chuyển đến router James. Đó là vấn đề đầu tiên, việc chọn tuyến đường tối ưu trong việc định tuyến.
Vấn đề ở đây là do sự khác biệt của giá trị administrative distance của các giao thức định tuyến. OSPF có giá trị administrative distance thấp hơn và đó là lý do tại sao tuyến đường học từ EIGRP ngoại mạng sẽ bị hủy khỏi bảng định tuyến. Bạn có thể tham khảo vấn đề này tại: http://gns3vault.com/Redistribution/multipoint-one-way-redistribution.html
Trong ví dụ tiếp theo, ta cũng có một mô hình mạng tương tự nhưng cả hai router Jack và John đều thực hiện việc phân phối các tuyến đường của mình từ EIGRP vào trong OSPF (one-way multipoint redistribution). Mạng 1.1.1.0 /24 trên router James được xem như là một mạng external EIGRP với giá trị administrative distance là 170. Đây là những vấn đề có thể xảy ra:
  1. Router James có thông tin về mạng 1.1.1.0 /24 trong bảng định tuyến của mình và nó được xem như là một EIGRP external network với administrative distance là 170.
  2. Router James sẽ quảng bá mạng 1.1.1.0 /24 tới router Jack và John và cả hai router này sẽ lưu thông tin này vào bảng định tuyến của mình với administrative distance là 170.
  3. Router Jack và router John sẽ được cấu hình để phân phối tuyến đường này từ miền EIGRP vào trong OSPF, vì vậy cả hai đều sẽ phân phối mạng 1.1.1.0 /24 vào trong OSPF.
  4. Từ đây, ta sẽ có một số vấn đề:
    1. Router Jack sẽ nhận được thông tin OSPF về mạng 1.1.1.0 /24 và nó sẽ được đưa vào bảng định tuyến, xóa thông tin định tuyến của EIGRP về mạng này vì AD của OSPF là 110 còn EIGRP external là 170.
    2. Router John cũng sẽ nhận được thông tin OSPF về mạng 1.1.1.0 /24 và nó sẽ được đưa vào bảng định tuyến, xóa thông tin định tuyến của EIGRP về mạng này vì AD của OSPF là 110 còn EIGRP external là 170.
    3. Router Jack và John bây giờ tin rằng muốn kết nối tới mạng 1.1.1.0 /24 thì phải thông qua nhau, vì vậy ta có một vấn đề về vóng lặp định tuyến. Các gói tin khi gửi tới mạng 1.1.1.0 /24 sẽ bị lặp giữa hai router Jack và John cho đến khi giá trị TTL trở về 0.
  5. Tiếp nữa, chúng ta có một vấn đề khác. Router Jack và John để thay thế các thông tin EIGRP về mạng 1.1.1.0 /24 bằng thông tin của OSPF. Vì thế, cả hai router lúc này đều không còn thông tin gì để phân phối nữa. Nó giống như vấn đề giữa “con gà và quả trứng” .
Bạn có cảm thấy khó hiểu!!! Việc phân phối lại các tuyến đường là một trong những chủ đề khó khăn trong routing and switching!. Hãy tự mình bỏ thời gian ra để hiểu về nó nhiều hơn. Hãy tới với một mô hình mạng khác được minh họa tại: http://gns3vault.com/redistribution/multipoint-one-way-redistribution/
Multipoint two-way redistribution có khá nhiều vấn đề. Trong hình trên, chúng ta có 4 router. Router Richard chỉ chạy giao thức định tuyến A, router James chỉ chạy giao thức định tuyến B. Router Jack và John chạy cả 2 giao thức định tuyến và được cấu hình để phân phối các thông tin định tuến giữa 2 giao thức định tuyến này.
  • Nếu như router James muốn kết nối được tới router Richard thì nó sẽ phải thông qua router John… vì nếu nhìn vào hình, bạn có thể thấy là kết nối router Jack và Richard có một liên kết serial link (chậm hơn với Ethernet link). Tuy nhiên, vấn đề ở đây là mỗi giao thức định tuyến khác nhau sẽ sử dụng các metric khác nhau, vì vậy việc phân phối làm cho các giá trị này bị thay đổi và mất đi sự khác nhau này.
  • Hãy tưởng tượng rằng router James quảng bá một mạng tới router Jack (ví dụ như 1.1.1.0 /24):
    • Router Jack sẽ phân phối lại mạng 1.1.1.0 /24 từ miền giao thức định tuyến B vào trong miền giao thức định tuyến A.
    • Router Richard sẽ nhận được thông tin về mạng 1.1.1.0 /24 và quảng bá tới router John.
    • Router John sẽ phân phối mạng 1.1.1.0 /24 lại vào trong miền giao thức định tuyến B.
    • Và như vậy ta có một vòng lặp định tuyến…
  • Các vấn đề liên quan tới việc chon con đường tối ưu như ví dụ trên cũng có thể xảy ra tại mô hình mạng này.
Có một vài nguyên tắc mà chúng ta có thể sử dụng để ngăn chặn các vấn đề với việc phân phối các tuyến đường:
  • Chỉ phân phối lại các tuyến đường nội bộ (internal routes) từ giao thức định tuyến A đến giao thức định tuyến B.
  • Tag các tuyến đường trên các router thực hiện việc phân phối.
  • Tăng giá trị metric cho các tuyến đường phân phối lại sao cho router sẽ sử dụng các con đường internal thay vì sử dụng thông tin về các con đường đó được học lại từ việc phân phối.
  • Thay đổi giá trị administrative distance.
Đừng quá lo lắng nếu bạn chưa thật sự hiểu chúng lúc này. Hãy xem qua các ví dụ về cấu hình trong các bài lab sau:

Ta sẽ sử dụng mô hình mạng trên cho ví dụ tiếp theo này. Chúng ta có 3 router… Miền phía tay trái sử dụng giao thức định tuyến A và phía tay phải là miền giao thức định tuyến B. Router Jack có James các interface loopback được cấu hình các mạng tương ứng.

Hãy bắt đầu với việc phân phối giữa OSPF và RIP. Sau khi cấu hình OSPF và RIP, ta có các thông tin trong bảng định tuyến của các router:

Bạn có thể thấy là các router John học được các thông tin định tuyến từ RIP và OSPF. Và bây giờ sẽ là việc cấu hình phân phối lại các tuyến đường này.

Đầu tiên, chúng ta thực hiện việc phân phối thông tin từ OSPF vào trong RIP. Bạn có thể thấy là ta có thể lựa chọn được nhiều giao thức định tuyến khi sử dụng câu lệnh redistribute.

Trên đây là cách cấu hình phân phối OSPF (process 1) vào trong RIP. Ta set giá trị hop count là 5. Hãy nhớ là giá trị default seed metric khi phân phối vào RIP là infinity. Nếu như ta không chỉ định một giá trị cho metric khi phân phối vào RIP thì việc phân phối này sẽ không thực hiện được.

Ta cũng có thể sử dụng câu lệnh default-metric để thiết lập một giá trị default hop count cho tất cả các con đường được quảng bá vào RIP.

Trên đây là thông tin về bảng định tuyến của router James. Bạn có thể thấy là các mạng thuộc miền OSPF đã được quảng bá vào RIP. Bạn có thể thấy là giá trị seed metric (hop count) là 5.

Bây giờ, ta thực hiện việc phân phối ngược lại, từ RIP vào OSPF. Bây giờ ta sử dụng câu lệnh redistribute rip subnets. Từ khóa subnets là cần thiết trong cấu hình vì nếu không ta chỉ có thể phân phối lại các tuyến đường vào OSPF ở dạng classful. Chúng ta muốn phân phối các tuyến đường dạng classless nên vì thế chúng ta cần sử dụng từ khóa subnets.

Hãy nhìn vào thông tin trên router Jack. Bạn có thể thấy thông tin của OSPF trong bảng định tuyến của mình. Ta có thể thấy nó thuộc loại external type 2 routes. Giá trị cost là 20 (đó là giá trị mặc định). OSPF hoạt động có đôi chút phức tạp hơn RIP khi nó tạo ra một chút khác biệt để có thể phân biệt được đâu là các tuyến đường nội vùng hay ngoại vùng.

Nếu các tuyến đường được phân phối vào trong OSPF thuộc type 2 thì mọi router trong miền OSPF sẽ sử dụng chung một giá trị cost cho tất cả các external network trên mọi router. Nếu như bạn thấy việc phân phối vào trong OSPF là type 1, nó vẫn sẽ sử dụng giá trị cost là 20, tuy nhiên giá trị này sẽ tăng thêm 1 khi được gửi thông qua một router.

Bạn có thể xem việc cấu hình tham khảo tại:

http://gns3vault.com/redistribution/rip-to-ospf-redistribution/

Lược dịch “How to master CCNP – Switch”

NGUYỄN VĂN HUY DŨNG

Redistribution (Phần Cuối)
Tags:
Networking, Redistribution, Routing & Switching

Leave a Comment Cancel Reply

Your email address will not be published.*

Website này sử dụng Akismet để hạn chế spam. Tìm hiểu bình luận của bạn được duyệt như thế nào.

Don’t compare yourself with anyone in this world…if you do so, you are insulting yourself.

Bill Gates

When something is important enough, you do it even if the odds are not in your favor.

Elon Musk

Bài viết mới

  • Lorem Ipsum Sample Content123
  • Lorem Ipsum Sample Content
  • Hello world
  • Hello world
  • Hello world
  • Wide area networks (Phần 2)
  • Wide area networks (Phần 1)
  • Redistribution (Phần Cuối)
  • Redistribution (Phần 1)
  • OSPF – Open Shortest Path First (Phần Cuối)

Nơi chia sẻ về tin công nghệ, các kinh nghiệm lập trình. Xây dựng các khoá đào tạo lập trình, mạng, tin học văn phòng...

Thông tin liên hệ

  • 2/9 Phạm Ngũ Lão, Phường 3, Đà Lạt
  • 0865802659
  • info@dalathub.com

Copyright @ 2022 Edu DaLatHub