Bài 11 : Tổng quan về định tuyến động

16/08/2026
Bởi Kai Nguyen
Mục này là phần 11 của 11 trong series CCNA - Mạng cơ bản

Như đã đề cập trong chương trước, định tuyến – routing là quá trình cập nhật các địa chỉ mạng trên topology vào bảng định tuyến của router kèm theo thông tin hướng đi tối ưu để đi đến các địa chỉ mạng ấy. Router, sau đó, sẽ dựa vào thông tin về các network đã được lưu trữ trong bảng định tuyến để dẫn đường cho các dòng dữ liệu IP đi ngang qua nó. Để cập nhật thông tin về các địa chỉ mạng vào bảng định tuyến, có hai phương pháp: định tuyến tĩnh (static routing)định tuyến động (dynamic routing). Trong phương pháp định tuyến tĩnh, người quản trị phải tự tay điền thủ công từng địa chỉ mạng trên sơ đồ vào bảng định tuyến đồng thời chỉ ra hướng đi phù hợp đến từng địa chỉ ấy; phương pháp này đã được khảo sát kỹ lưỡng trong chương 3 của giáo trình. Ngược lại, trong phương pháp định tuyến động, các router sẽ tự trao đổi thông tin với nhau, tự cập nhật các thông tin về sơ đồ mạng và các địa chỉ IP, đồng thời tự tính toán ra đường đi tối ưu đến từng địa chỉ mạng theo một thuật toán tìm đường tối ưu nào đó.

Phương pháp định tuyến tĩnh có ưu điểm là đơn giản, dễ cấu hình. Tuy nhiên, phương pháp này không phù hợp với những topology có quy mô lớn, có nhiều địa chỉ mạng, vì người quản trị sẽ gặp khó khăn trong việc cập nhật thủ công tất cả các địa chỉ mạng trên sơ đồ vào bảng định tuyến khi số lượng địa chỉ quá lớn. Ngoài ra, khi thiết kế mạng yêu cầu hoạt động định tuyến phải có khả năng thích nghi với sự thay đổi của sơ đồ mạng (router phải tự động thay đổi tuyến đường cho dữ liệu khi trên mạng xảy ra sự cố), thì định tuyến tĩnh không đáp ứng được vì phương pháp này chỉ cho phép người quản trị cấu hình router dẫn đường dữ liệu theo các tuyến đường cố định. Như vậy, định tuyến tĩnh chỉ phù hợp với mạng quy mô nhỏ và có yêu cầu đơn giản về định tuyến.

Ngược lại, định tuyến động có thể chạy trên các mạng có quy mô lớn hoặc siêu lớn (như Internet toàn cầu), có khả năng thích nghi với mọi sự thay đổi diễn ra trên mạng, khắc phục được hoàn toàn nhược điểm của định tuyến tĩnh. Tuy vậy, định tuyến động vì phải chạy các giao thức định tuyến trên các router nên sẽ gây hao tốn tài nguyên của thiết bị, sơ đồ càng lớn và phức tạp, hao tốn càng nhiều. Bên cạnh đó, để vận hành và xử lý sự cố một hệ thống chạy định tuyến động, người quản trị phải hiểu rõ về cơ chế làm việc của giao thức định tuyến đang sử dụng – điều này nhiều khi không hề dễ dàng – dẫn đến tăng thêm gánh nặng về quản trị và vận hành của doanh nghiệp.

Trong chương này, chúng ta sẽ cùng thảo luận một số đặc điểm cơ bản của phương pháp định tuyến động và khảo sát chi tiết về OSPF – là một giao thức định tuyến động được sử dụng rộng rãi trong mạng doanh nghiệp ngày nay.

1. Các giai đoạn hoạt động của định tuyến động

Trong định tuyến động, để các router có thể trao đổi thông tin với nhau, đồng thời thống nhất với nhau về cách thức tính toán đường đi tối ưu đi đến các đích đến, mỗi router phải chạy một giao thức định tuyến – routing protocol nào đó. Chúng ta cùng điểm qua các giai đoạn mà một giao thức định tuyến trên router phải đi qua để có thể xây dựng được một bảng định tuyến đầy đủ thông tin.

Đầu tiên, khi người quản trị kích hoạt giao thức định tuyến trên một router, tiến trình làm việc của giao thức trên router này sẽ thực hiện bắt tay với tiến trình của giao thức ấy trên router khác, thiết lập một kênh truyền thông giữa chúng. Quá trình này sẽ lan rộng trên toàn bộ topology, từ cặp router này đến cặp router khác, từ đó xây dựng một mạng lưới truyền tin của giao thức đang xét bao phủ trên toàn bộ sơ đồ mạng. Hoạt động vừa nêu được thể hiện trên hình 1 dưới đây:

Tiến trình định tuyến trên các router bắt tay nhau thiết lập kênh giao tiếp

Hình 1 – Tiến trình định tuyến trên các router bắt tay nhau thiết lập kênh giao tiếp.

Trong sơ đồ ví dụ ở hình 1, người quản trị đã thực hiện kích hoạt giao thức định tuyến EIGRP trên các router. Tiến trình EIGRP trên từng cặp router đang kết nối với nhau sẽ thực hiện trao đổi các bản tin để thiết lập với nhau một kênh truyền tin bằng giao thức EIGRP (được chú thích là “EIGRP session”). Kết quả của hoạt động này là một mạng lưới truyền tin bằng giao thức EIGRP được xây dựng bao phủ toàn bộ topology.

Lưu ý: Trong cách gọi của các giao thức, mỗi session truyền tin đã thiết lập giữa hai router được gọi là một mối quan hệ láng giềng (neighbor relationship), và hai router ở hai đầu session này được gọi là láng giềng (neighbor) của nhau. Hoạt động thiết lập kênh truyền tin giữa hai router được gọi là hoạt động thiết lập quan hệ láng giềng.

Tiếp theo, dựa trên mạng lưới này, các router sẽ trao đổi thông tin với nhau, cập nhật cho nhau thông tin về sơ đồ mạng mà chúng tham gia. Ta cùng xem xét trong ví dụ được mô tả trong hình 2:

Ví dụ về hoạt động quảng bá thông tin định tuyến

Hình 2 – Ví dụ về hoạt động quảng bá thông tin định tuyến.

Trong ví dụ này:

  • Giả sử router R6 có một mạng LAN với địa chỉ mạng được gán là 192.168.6.0/24, tiến trình EIGRP trên R6 sẽ phát đi một bản tin qua kênh liên lạc đã thiết lập với hai router láng giềng R4 và R5 để quảng bá cho chúng địa chỉ mạng 192.168.6.0/24 trên LAN này.
  • R4 và R5 thực hiện cập nhật thông tin về mạng LAN của R6 vào cơ sở dữ liệu định tuyến của chúng rồi tiếp tục quảng bá thông tin này đến hai láng giềng R2 và R3.
  • R2 và R3 cập nhật thông tin nhận được rồi tiếp tục quảng bá thông tin này đến R1. R1 tiếp nhận thông tin về LAN của R6 nhận được từ R2 và R3 rồi cập nhật vào cơ sở dữ liệu của mình.

Như vậy, kết quả của hoạt động quảng bá thông tin từ R6, sau đó lan truyền và cập nhật trên các router khác là tất cả các router trên topology đều đã có thông tin về mạng LAN 192.168.6.0/24 của R6. Điều này diễn ra hoàn toàn do hoạt động giao tiếp và trao đổi thông tin bằng giao thức định tuyến giữa các router mà không cần sự tham gia của người quản trị. Giống như với mạng LAN vừa nêu, tất cả các mạng trên các router khác (nếu có), rồi cũng sẽ được cập nhật vào cơ sở dữ liệu thông tin định tuyến của mọi router trong sơ đồ.

Cuối cùng, sau khi đã thu thập xong thông tin, mỗi router sẽ dựa trên lượng thông tin này để chạy một thuật toán tính toán ra đường đi tốt nhất đến mọi vị trí trên topology và cập nhật kết quả này vào bảng định tuyến. Mỗi router, như vậy, đều có được bảng định tuyến với đầy đủ thông tin để có thể dẫn đường cho các luồng dữ liệu đi ngang qua nó.

Trên đây chúng ta mô tả một ví dụ về quá trình chạy định tuyến động sử dụng giao thức định tuyến EIGRP. Các giao thức định tuyến khác cũng sẽ hoạt động theo các bước tương tự như với ví dụ vừa trình bày.

2. Phân loại các giao thức định tuyến

Có hai cách thức thường được sử dụng cho việc phân loại các giao thức định tuyến:

  • Cách thứ nhất dựa vào đặc điểm hoạt động của giao thức và loại hình thông tin định tuyến mà các router chạy định tuyến trao đổi với nhau để thực hiện phân loại. Cách này chia các giao thức định tuyến thành hai nhóm: Distance – vectorLink – state. Trong các giao thức định tuyến được sử dụng phổ biến trong mạng doanh nghiệp ngày nay, các giao thức RIP, EIGRP, BGP thuộc về nhóm Distance – vector; các giao thức OSPF, IS – IS thuộc về nhóm Link – state.
  • Cách thứ hai dựa vào việc tham chiếu đến một thành phần cơ bản cấu thành nên mạng Internet là AS – Autonomous System (Hệ tự trị/tự quản) để thực hiện phân loại. Mạng Internet toàn cầu của chúng ta, về cơ bản là được tạo nên bởi việc kết nối nhiều hệ thống mạng độc lập lại với nhau, mỗi hệ thống độc lập ấy được gọi là một Autonomous System (AS). Các giao thức định tuyến sẽ được chia thành hai loại:
    • Loại giao thức định tuyến chạy trong nội bộ một AS được gọi là giao thức định tuyến trong – IGP (Interior Gateway Protocol). Đa phần các giao thức định tuyến sử dụng trong môi trường mạng doanh nghiệp là thuộc nhóm này: RIP, EIGRP, OSPF, IS – IS.
    • Ngược lại, loại giao thức định tuyến chạy giữa các AS được gọi là giao thức định tuyến ngoài – EGP (Exterior Gateway Protocol). Ngày nay chỉ còn một giao thức định tuyến ngoài duy nhất được sử dụng để định tuyến cho mạng Internet toàn cầu là giao thức BGP.

Chúng ta cùng thảo luận một vài chi tiết về hai cách phân loại đã nêu.

Distance – vector và Link – state

Có nhiều giao thức đã được phát triển để phục vụ cho hoạt động định tuyến trong mạng doanh nghiệp. Mỗi giao thức đều có cách thức làm việc chi tiết và thuật toán tìm đường tối ưu khác nhau, tuy nhiên, về phương thức hoạt động tổng thể, chúng ta có thể dựa trên hai đặc điểm sau để phân loại các giao thức:

  • Loại thông tin định tuyến mà các router trao đổi với nhau khi chúng chạy định tuyến với nhau.
    • Các router chạy giao thức Distance – vector trao đổi thông tin định tuyến là các địa chỉ mạng (network address) lưu trữ trong cơ sở dữ liệu định tuyến của chúng.
    • Các router chạy giao thức Link – state trao đổi thông tin định tuyến là các bản tin trạng thái đường link mô tả về các đường link của chúng.
  • “Tầm nhìn” của một router khi chạy định tuyến:
    • Một router chạy giao thức Distance – vector không nhìn thấy xa hơn router láng giềng của nó. Mọi quyết định chỉ đường của router đều được tính toán ra dựa trên thông tin nhận được từ láng giềng.
    • Một router chạy giao thức Link – state sẽ nhìn thấy toàn bộ sơ đồ mạng mà nó đã tham gia sau quá trình trao đổi thông tin định tuyến với các router khác. Router sẽ chạy giải thuật Dijkstra trên sơ đồ mạng mà nó thấy để tính toán ra đường đi tối ưu đến mọi điểm đến trên sơ đồ và cập nhật kết quả này vào bảng định tuyến.

Distance – vector

Chúng ta sẽ cùng xem xét một ví dụ để làm rõ hoạt động của kiểu Distance – vector. Sơ đồ được khảo sát được trình bày trong hình 3 dưới đây. Trong sơ đồ này, giả thiết rằng các router trên sơ đồ được cấu hình để chạy với nhau một giao thức định tuyến dạng Distance – vector là EIGRP (hình 3).

Một sơ đồ mạng chạy định tuyến Distance – vector

Hình 3 – Một sơ đồ mạng chạy định tuyến Distance – vector.

Như đã trình bày ở phần trên, sau khi các router được kích hoạt EIGRP, tiến trình EIGRP trên các router kết nối trực tiếp với nhau sẽ thực hiện bắt tay nhau để xây dựng một mối quan hệ láng giềng – là một session EIGRP dùng để truyền tin giữa một cặp router. Kết quả của quá trình này là một mạng lưới EIGRP trải rộng trên toàn bộ sơ đồ ví dụ đã nêu. Tiếp theo, chúng ta quan sát tiến trình mà mạng 192.168.6.0/24 của router R6 được quảng bá và tiếp nhận giữa các router theo cách thức của Distance – vector.

Đầu tiên, mạng LAN 192.168.6.0/24 là một mạng nằm trên router R6 nên router R6 xem như biết cách đi đến mạng này và vì vậy, nó cập nhật địa chỉ mạng 192.168.6.0/24 vào cơ sở dữ liệu của nó (với EIGRP thì cơ sở dữ liệu này là một bảng nhớ gọi là bảng Topology). Tiếp theo, tiến trình EIGRP trên R6 sẽ thực hiện quảng bá địa chỉ mạng 192.168.6.0/24 của mình cho hai láng giềng R4 và R5 (hình 4):

R6 quảng bá mạng 192.168.6.0/24 cho R4 và R5

Hình 4 – R6 quảng bá mạng 192.168.6.0/24 cho R4 và R5.

R4 và R5 tiếp nhận thông tin gửi đến từ láng giềng R6 và cập nhật vào cơ sở dữ liệu định tuyến của mình. Khi xử lý thông tin định tuyến nhận được, các router R4 và R5 “tư duy” như sau: để đi đến mạng 192.168.6.0/24 thì cần phải đi đến R6, R6 sẽ dẫn đường tiếp; hai router này hoàn toàn không biết R6 dẫn đường tiếp cho dữ liệu đi đến mạng 192.168.6.0/24 như thế nào, chúng “tin tưởng tuyệt đối” và dựa hoàn toàn vào R6 như một trạm kế tiếp để “gửi gắm” dữ liệu đi đến mạng 192.168.6.0/24. Hai router R4 và R5 trong tình huống này chỉ nhìn thấy tới R6, chúng không nhìn xa hơn được láng giềng của mình.

Tin tưởng tuyệt đối vào thông tin do láng giềng cung cấp cũng như tầm nhìn về sơ đồ mạng không xa hơn láng giềng, là một đặc trưng quan trọng trong hoạt động của các giao thức Distance – vector.

Kế tiếp, đến lượt mình, các router R4 và R5 lại quảng bá địa chỉ mạng 192.168.6.0/24 – lúc này là dữ liệu được lưu trong cơ sở dữ liệu của chúng – đến hai láng giềng tiếp theo là R2 và R3 (hình 5):

R4 và R5 tiếp tục quảng bá mạng 192.168.6.0/24 cho R2 và R3

Hình 5 – R4 và R5 tiếp tục quảng bá mạng 192.168.6.0/24 cho R2 và R3.

Tương tự như trước, R2 và R3 cập nhật thông tin định tuyến đến từ hai láng giềng R4 và R5. Phương thức xử lý thông tin cũng được lặp lại giống như trên:

  • R2 đưa mạng 192.168.6.0/24 vào cơ sở dữ liệu định tuyến của mình với “tư duy định tuyến” là: nếu có dữ liệu cần đi đến mạng 192.168.6.0/24 thì cứ đẩy về láng giềng R4, R4 sẽ lo liệu tiếp; R4 lo liệu sao thì R2 không biết, vì tất cả mọi thứ nằm sau R4, R2 không nhìn thấy. R2 chọn “tin tưởng tuyệt đối” vào láng giềng R4 của mình.
  • R3 giống như R2, cập nhật mạng 192.168.6.0/24 vào cơ sở dữ liệu thông tin định tuyến của mình với tư duy định tuyến cũng giống như thế: nếu có dữ liệu cần đi đến mạng này thì cứ đẩy hết về láng giềng R5, rồi R5 lo tiếp. R5 làm như thế nào để định tuyến tiếp thì R3 không biết và cũng không nhìn thấy được. R3 chọn tin tưởng tuyệt đối vào R5.

Cuối cùng, R2 và R3 đến lượt chúng, lại tiếp tục quảng bá mạng 192.168.6.0/24 đến láng giềng R1 (hình 6):

R2 và R3 quảng bá mạng 192.168.6.0/24 đến R1

Hình 6 – R2 và R3 quảng bá mạng 192.168.6.0/24 đến R1.

Lần này, khác với các chặng trước, R1 nhận được tới hai cập nhật định tuyến (routing update) cho cùng một mạng đích 192.168.6.0/24 từ hai láng giềng R2 và R3. Cả hai láng giềng R2 và R3 đều “thuyết phục” R1 rằng nếu có dữ liệu cần gửi đi 192.168.6.0/24 thì cứ đẩy về tôi, tôi sẽ lo liệu cho, và R1 phải chọn xem nên “nhờ cậy” ai. Đến đây, chúng ta đề cập tới thêm một thông số mà trong các bước lan truyền trước chưa đề cập: đó là một giá trị đính kèm với địa chỉ mạng được quảng bá, chuyên dùng để đo đạc độ tốt của đường đi gọi là metric.

Thực chất, mỗi bản tin định tuyến cho mạng 192.168.6.0/24 mà mỗi router trong sơ đồ trên quảng bá cho láng giềng đều không chỉ chứa thông tin về địa chỉ mạng được quảng bá mà còn gắn kèm với một giá trị metric để đo đạc độ tốt của thông tin mà router ấy đang quảng bá. Khi chỉ có một hướng đi duy nhất thì router tiếp nhận không cần phải sử dụng đến giá trị này để quyết định chọn đường (là trường hợp của các router ở nhánh R2 – R4 và nhánh R3 – R5); nhưng khi có nhiều hướng đi ứng với nhiều bản tin định tuyến, router tiếp nhận thông tin phải chọn hướng nào tốt hơn để làm hướng đi chính thức cho mạng đích nhận được (trong ví dụ này là router R1). Để chọn hướng đi tốt hơn, router sẽ dựa vào thông số metric đính kèm trong các bản tin định tuyến mà các láng giềng quảng bá cho mình. Nguyên tắc đánh giá độ tốt của hướng đi dựa vào tham số metric là hướng đi nào có giá trị metric nhỏ hơn, hướng đi đó là tốt hơn.

Trong ví dụ này, ta giả thiết rằng các đường link nối từ R1 đến R2 và R1 đến R3 là giống nhau, thế thì khi đó, vì bản tin do R2 cung cấp có giá trị metric nhỏ hơn giá trị metric của bản tin do R3 cung cấp (100 so với 200), R1 sẽ đánh giá hướng đi do R2 giới thiệu tốt hơn hướng đi do R3 giới thiệu cho mạng 192.168.6.0/24, R1 sẽ chọn hướng R2 làm hướng đi chính thức cho các luồng dữ liệu đi đến các địa chỉ của mạng 192.168.6.0/24. Sau này, R1 sẽ “nhờ cậy” R2 trong việc định tuyến cho đích đến 192.168.6.0/24 này.

Như vậy, qua ví dụ đã trình bày ở trên, chúng ta làm rõ một số điểm chính trong hoạt động của một giao thức dạng Distance – vector:

  1. Thông tin định tuyến mà các router trao đổi với nhau là các địa chỉ mạng mà chúng đã biết, kèm theo thông số metric để đi đến các địa chỉ mạng ấy.
  2. Mỗi router dựa hoàn toàn vào thông tin định tuyến nhận được từ láng giềng để cập nhật các hướng đi cho các mạng đích. Chúng không hề biết phía sau các láng giềng là gì (không thấy được topology mạng phía sau), chúng tin tưởng tuyệt đối vào các nguồn tin này. Trong ví dụ ở trên: R1 dựa vào R2 để định tuyến dữ liệu đi đến mạng đích 192.168.6.0/24 dù không biết R2 tiếp đó sẽ làm như thế nào để định tuyến tiếp; đến lượt nó, R2 lại dựa hoàn toàn vào R4 để định tuyến cho mạng 192.168.6.0/24, dù không biết tiếp theo R4 sẽ làm như thế nào để dẫn đường tiếp,… Phương pháp định tuyến như vậy gọi là Routing by rumor – Định tuyến theo kiểu tin đồn. Đây là một đặc trưng nổi bật của các giao thức Distance – vector.
  3. Với cách làm việc như đã nêu ở trên, hoạt động của một giao thức Distance – vector trên một router chủ yếu tập trung vào việc xử lý các thông tin nhận được từ các láng giềng để chọn ra hướng đi tối ưu rồi cập nhật hướng đi này vào bảng định tuyến. Router không cần phải lưu trữ bất kỳ thông tin nào về sơ đồ mạng, ngoại trừ các đường link nối đến các láng giềng của mình. Các giao thức Distance – vector vì vậy thường nhẹ, hoạt động ít gây tốn kém tài nguyên của router.
  4. Cũng qua phân tích ở trên, ta thấy, với giao thức Distance – vector, thông tin định tuyến cho một mạng đích sẽ gồm hai thành phần: hướng đi nào (“nhờ cậy” router kế tiếp/láng giềng nào) và metric tương ứng với hướng đi ấy. Hai thành phần này rất giống với đặc tả của một vector (cũng gồm có hướng và độ lớn), do đó loại giao thức này được gọi là Distance – vector (“Distance” – “Khoảng cách” – trong thuật ngữ này chính là metric của đường đi).

Lưu ý: Giao thức định tuyến BGP trong nhiều tài liệu được xếp vào một loại riêng có tên gọi là Path – vector. Tuy nhiên, về bản chất, cách thức hoạt động của BGP vẫn tuân theo các nguyên tắc của Distance – vector như đã trình bày ở trên, chỉ có điểm khác biệt là cách đo đạc độ tốt của các tuyến đường trong BGP không chỉ dựa trên một tham số metric mà dựa trên rất nhiều tham số khác nhau gọi là các thuộc tính đường đi BGP – BGP Path Attribute. Do sự khác biệt này, BGP được gọi là giao thức Path – vector (Path của Path Attribute, thay cho Distance của Metric), dù vậy, về bản chất, BGP vẫn là giao thức dạng Distance – vector.

Đến đây, chúng ta đã cùng điểm qua các nét quan trọng trong hoạt động của trường phái định tuyến Distance – vector. Tiếp theo, chúng ta cùng xem xét các đặc điểm chính của trường phái định tuyến Link – state.

Link – state

Việc khảo sát các đặc điểm của nhóm Link – state được thực hiện thông qua một sơ đồ ví dụ trong hình 7 dưới đây. Sơ đồ ví dụ này cũng chính là sơ đồ đã dùng để khảo sát Distance – vector nhưng các router được cho chạy định tuyến bằng giao thức OSPF, là một giao thức Link – state điển hình.

Các router chạy giao thức Link – state OSPF

Hình 7 – Các router chạy giao thức Link – state OSPF.

Đầu tiên, sau khi bật giao thức định tuyến OSPF, tiến trình OSPF trên các router cũng tiến hành xây dựng các session truyền tin OSPF giữa từng cặp router để từ đó hình thành nên một mạng lưới trao đổi thông tin định tuyến OSPF giống như với EIGRP ở ví dụ trước đó. Tiếp theo, mỗi router sẽ đem thông tin định tuyến mình đã thu thập được gửi đến các router khác, cũng như sẽ tiếp nhận thông tin định tuyến mà các router khác gửi đến cho mình thông qua mạng lưới truyền tin này. Sự khác biệt giữa Link – state và Distance – vector bắt đầu từ đây: mỗi router Link – state không gửi cho các router khác thông tin về các địa chỉ mạng mà nó nắm được, thay vì đó, chúng sẽ gửi đi các bản tin trạng thái đường link (Link State Advertisement – LSA) mô tả về các đường link nằm trên bản thân chúng. Không những thế, khác với Distance – vector là chỉ gửi thông tin định tuyến cho láng giềng, router chạy Link – state protocol sẽ gửi bản tin trạng thái đường link của nó đi đến tất cả các router còn lại trong sơ đồ mạng.

Chúng ta cùng xem xét điều này trên sơ đồ ví dụ ở trên với router R6 (hình 8):

Router R6 gửi bản tin LSA của nó cho tất cả các router còn lại

Hình 8 – Router R6 gửi bản tin LSA của nó cho tất cả các router còn lại.

Trên hình 8, tiến trình OSPF trên router R6 sẽ thực hiện xây dựng một bản tin LSA (Link State Advertisement). Bản tin này mô tả thông tin về tất cả các đường link nằm trên bản thân nó, cụ thể, bản tin này sẽ trình bày rằng:

  • Trên R6 có một đường link LAN, không nối đến router nào cả, thể loại data – link sử dụng trên link này là loại cho phép nhiều thiết bị kết nối vào (multi access), địa chỉ mạng sử dụng trên link này là 192.168.6.0/24,…
  • Trên R6 có một đường link điểm nối điểm (point – to – point) nối đến router R4, link này được quy hoạch địa chỉ mạng là 192.168.46.0/24,…
  • Trên R6 có một đường link điểm nối điểm (point – to – point) nối đến router R5, link này được quy hoạch địa chỉ mạng là 192.168.56.0/24,…

Nghĩa là trên router có bao nhiêu đường link – interface, router sẽ liệt kê thông tin chi tiết của bấy nhiêu đường link – interface vào bản tin LSA của nó.

Sau khi đã xây dựng xong LSA, R6 sẽ gửi bản tin này cho tất cả các router còn lại trong topology, mọi router từ R1 đến R5 trên sơ đồ đều nhận được bản tin này (hình 8). Tất nhiên, sơ đồ trên hình 8 chỉ thể hiện một cách logic việc R6 gửi thông tin đến các router khác; về mặt hiện thực, bản tin LSA của R6 vẫn phải đi từng chặng; đầu tiên tới được R4 và R5 thông qua các session truyền tin OSPF, hai router này sao chép LSA của R6 vào cơ sở dữ liệu định tuyến của mình rồi chuyển tiếp tới R2 và R3; R2 và R3 lại sao chép rồi chuyển tiếp đi tới R1. Cứ thế, tất cả các router đều có được một bản copy giống hệt như nhau của bản tin LSA phát ra từ R6.

Cách lan truyền thông tin như trên khác với cách làm của Distance – vector. Với Distance – vector, như đã mô tả trước đó, mỗi router khi tiếp nhận cập nhật định tuyến từ láng giềng sẽ đưa vào cơ sở dữ liệu của bản thân, “chế biến” nó thành thông tin của mình rồi mới quảng bá đi tiếp cho láng giềng; láng giềng tiếp theo khi nhận được, lại “chế biến” tiếp thành của nó, rồi lấy thành phẩm ấy quảng bá đi cho láng giềng kế tiếp,… Cứ như vậy, mỗi router ở phía sau, khi nhận được thông tin định tuyến cho một địa chỉ mạng, thì đó đã không còn là thông tin gốc ban đầu nữa (nên người ta mới dùng một mô tả rất hình ảnh: routing by rumor – định tuyến theo kiểu tin đồn để mô tả hình thái định tuyến này).

Quay trở lại với sơ đồ Link – state OSPF ở hình 8; không chỉ một router R6 thực hiện xây dựng bản tin LSA rồi gửi cho các router kia, mà tất cả các router còn lại trên sơ đồ cũng làm như thế; các router từ R1 đến R5 cũng tiến hành xây dựng bản tin LSA mô tả các đường link của mình và gửi bản tin này cho mọi router còn lại. Kết quả là mỗi router trên sơ đồ sẽ có được một tập hợp bao gồm LSA của bản thân và LSA của tất cả các router khác. Mỗi LSA do một router phát ra mô tả một phần sơ đồ mạng gắn với router ấy, do đó, tập hợp LSA của tất cả các router khi tập trung lại với nhau sẽ cho phép mô tả được toàn bộ sơ đồ mạng.

Như vậy, kết quả cuối cùng của hoạt động trao đổi LSA giữa các router là mỗi router dựa vào các LSA thu thập được đều có thể “nhìn thấy” toàn bộ topology mà nó tham gia, và topology này được lưu trên bộ nhớ của router. Tiếp theo, mỗi router sẽ chạy một thuật toán tìm đường tối ưu có tên gọi là Dijkstra (còn gọi là thuật toán SPF – Shortest Path First) trên topology mạng mà nó đã biết để cho ra một cây đường đi tối ưu đến mọi địa chỉ trên sơ đồ (SPF tree), từ đó dựa trên cây này cập nhật thông tin định tuyến cho bảng định tuyến của router (hình 9).

Router chạy giải thuật Dijkstra tính toán đường đi tối ưu trên topology

Hình 9 – Router chạy giải thuật Dijkstra tính toán đường đi tối ưu trên topology.

Khi mỗi router đã có được bảng định tuyến với đầy đủ thông tin (rút ra từ cây SPF), router đã có thể thực hiện hoạt động dẫn đường cho dữ liệu IP đi ngang qua nó, và đến đây hoạt động routing hoàn tất trên router.

Qua ví dụ đã mô tả ở trên, chúng ta có thể tổng kết lại một số đặc điểm chính của giao thức Link – state như sau:

  1. Thông tin định tuyến được trao đổi giữa các router là các bản tin trạng thái đường link (LSA – Link State Advertisement) mô tả các đường link của chúng.
  2. Mỗi router sau khi trao đổi xong thông tin định tuyến sẽ có “tầm nhìn” là toàn bộ topology mà nó đứng trong đó. Router sẽ chạy giải thuật Dijkstra để tính toán đường đi tối ưu đến mọi điểm đến dựa vào topology này.

Để so sánh với Distance – vector, ta có thể dùng một cách ví von gần đúng là: nếu các giao thức Distance – vector định tuyến theo kiểu đi hỏi đường từng chặng một, và phải tin tưởng tuyệt đối vào người dẫn đường được hỏi, cho đến khi đi đến đích (hoặc bị dẫn đường sai – và gây ra loop chẳng hạn), thì Link – state giống như có sẵn bản đồ và tự tìm đường dựa trên bản đồ ấy. Cách làm kiểu Distance – vector đơn giản hơn, đỡ tốn tài nguyên hơn; cách làm kiểu Link – state phức tạp hơn (và tốn tài nguyên hơn cho tính toán và lưu trữ thông tin).

Đến đây, chúng ta đã hoàn thành việc phân tích và so sánh về các đặc điểm của hai trường phái định tuyến là Distance – vector và Link – state. Tiếp theo, chúng ta sẽ cùng điểm qua cách phân loại thứ hai là bao gồm định tuyến trong (IGP – Interior Gateway Protocol)định tuyến ngoài (EGP – Exterior Gateway Protocol).

IGP và EGP

Trước hết, để phân biệt thế nào là “ngoài” và thế nào là “trong” như đã nêu ở trên, chúng ta cùng tìm hiểu về khái niệm AS – Autonomous System (có thể tạm dịch là “hệ tự trị” hay “hệ tự quản”).

Theo định nghĩa của các tổ chức quản lý tài nguyên mạng Internet trên thế giới, một AS là một nhóm của một hoặc nhiều IP prefix (địa chỉ mạng) được quản lý theo một chính sách định tuyến được định nghĩa rõ ràng, thống nhất. (Chúng ta có thể tham khảo định nghĩa này trên trang web của một tổ chức quản lý Internet cấp vùng bất kỳ, ví dụ, ARIN – quản lý Internet của khu vực Bắc Mỹ.)

Hiểu một cách đơn giản, một AS là một mạng doanh nghiệp kết nối vào Internet toàn cầu, trao đổi thông tin định tuyến với các mạng doanh nghiệp khác trên Internet, từ đó có thể định tuyến cho dữ liệu di chuyển trên Internet. Mạng Internet của thế giới là một mạng khổng lồ của vô số các AS kết nối với nhau.

Ví dụ tiêu biểu cho các AS chính là các ISP. Các ISP Viettel, VNPT, FPT Telecom,… chính là các AS góp một phần tạo thành Internet toàn cầu. Một mạng doanh nghiệp thông thường cũng có thể trở thành một AS trong một số trường hợp đặc biệt; tuy nhiên, trong đa số các trường hợp, một mạng doanh nghiệp, một mạng gia đình không cần thiết phải trở thành một AS để có thể kết nối Internet mà các mạng này chỉ cần đăng ký là thuê bao của một ISP nào đó để có thể truy nhập Internet. Khi đó, mạng doanh nghiệp/gia đình ấy trở thành một phần của AS tương ứng với ISP mà nó là thuê bao (ví dụ: khi ta là thuê bao Internet của Viettel, ta được cấp phát IP Public của Viettel và trở thành một phần của AS Viettel trên Internet).

Một AS cần được định danh duy nhất bằng một giá trị gọi là Autonomous System Number (ASN). Dải giá trị này được quản lý bởi tổ chức quốc tế IANA (Internet Assigned Numbers Authority), được phân bổ xuống các cơ quan quản lý tài nguyên Internet cấp vùng rồi đến các cơ quan quản lý tài nguyên Internet cấp quốc gia, từ đó cấp phát cho các doanh nghiệp muốn trở thành một AS để kết nối vào Internet toàn cầu. Tại Việt Nam, cơ quan VNNIC (Vietnam Internet Network Information Center – Trung tâm Internet Việt Nam), một cơ quan thuộc bộ Khoa học và Công nghệ, là cơ quan cấp phát các giá trị ASN cho các doanh nghiệp trên phạm vi lãnh thổ của Việt Nam.

ASN có hai định dạng: 2 – byte hoặc 4 – byte. Với dải 2 – byte, các ASN nằm trong phạm vi từ 0 đến 65535; với dải 4 – byte, các ASN nằm trong phạm vi từ 0 đến 232 – 1.

Ví dụ: Nhà mạng Viettel sở hữu hai giá trị ASN là 7552 và 24086. Tất cả các IP public của Viettel trên Internet đều thuộc về hai AS này.

Trở lại với vấn đề định tuyến: trên Internet toàn cầu, giữa các AS với nhau, để chạy định tuyến nhằm trao đổi thông tin về các địa chỉ IP, người ta sử dụng giao thức định tuyến ngoài, với giao thức tiêu biểu là BGP; ngược lại, trong nội bộ mỗi AS, để đảm bảo full – reachability nội bộ, người ta lại sử dụng các giao thức định tuyến trong như RIP, OSPF, EIGRP, IS – IS (hình 10).

Định tuyến trong và định tuyến ngoài

Hình 10 – Định tuyến trong và định tuyến ngoài.

Như vậy, “trong” hay “ngoài” ở đây là “trong” hay “ngoài” của một AS. AS đã được sử dụng để làm cơ sở tham chiếu cho việc phân loại các giao thức định tuyến.

3. Metric và AD

Sau khi đã nắm được những đặc điểm chính của việc phân loại các kỹ thuật định tuyến động, chúng ta cùng tìm hiểu về hai thông số cơ bản của hoạt động định tuyến: MetricAD.

Metric

Các giao thức định tuyến khi được sử dụng, chúng không chỉ làm nhiệm vụ là cập nhật các địa chỉ mạng còn thiếu vào bảng định tuyến của các router, mà còn phải tìm cho ra được đường đi tốt nhất để đi đến các địa chỉ mạng này. Nhưng câu hỏi đặt ra ở đây: thế nào là tốt nhất?

Để đo đạc độ tốt của một tuyến đường trong định tuyến, các kỹ thuật định tuyến sử dụng một thông số có tên là metric. Mỗi tuyến đường đi đến một mạng đích đều sẽ được gán cho một giá trị metric trong quá trình tính toán của giao thức. Nguyên tắc so sánh là: đường đi nào có giá trị metric nhỏ nhất, đường đi đó được xem là tốt nhất và sẽ được đưa vào bảng định tuyến làm đường đi chính thức để đi đến mạng đích đã nêu. Các đường đi còn lại không tốt bằng sẽ không được đưa vào bảng định tuyến của router mà chỉ được lưu trong cơ sở dữ liệu định tuyến của giao thức nhằm phục vụ cho mục đích dự phòng sau này. Chúng ta quan sát điều này trên một ví dụ ở hình 11 dưới đây:

Metric trên các hướng đi đến mạng LAN 192.168.4.0/24

Hình 11 – Metric trên các hướng đi đến mạng LAN 192.168.4.0/24.

Trong ví dụ trên hình 11, router chúng ta xem xét là router R thực hiện chạy định tuyến với các router khác và có 3 neighbor là R1, R2, R3.

Sau một quá trình chạy định tuyến, giao thức định tuyến trên router R tính được rằng: tuyến đường đi theo cổng số 1 (với neighbor R1) để đi đến mạng đích 192.168.4.0/24 có metric là 100; tuyến đường đi theo cổng số 2 (với neighbor R2) để đi đến mạng đích 192.168.4.0/24 có metric là 200; và tuyến đường đi theo cổng số 3 (với neighbor R3) để đi đến mạng đích 192.168.4.0/24 có metric là 300.

Như vậy, router R thấy rằng hướng đi theo cổng số 1, với láng giềng R1 (mà ta thường gọi là next – hop R1) để đi đến mạng 192.168.4.0/24 là có metric nhỏ nhất so với các đường còn lại, nên đây sẽ là đường tốt nhất cho đích đến 192.168.4.0/24; router R sẽ cài đường đi này vào bảng định tuyến để làm đường đi chính thức đi đến mạng 192.168.4.0/24. Từ sau đó, mỗi khi router R nhận được một luồng lưu lượng có đích đến là một địa chỉ thuộc mạng 192.168.4.0/24, router R sẽ lái dữ liệu đi ra cổng số 1 để đi tiếp.

Chúng ta lưu ý rằng các đường còn lại sẽ không được cài vào bảng định tuyến mà sẽ được router R lưu lại trong cơ sở dữ liệu của nó để phục vụ cho hoạt động backup đường đi sau này. Chỉ có đường đi tốt nhất mới được cài vào bảng định tuyến. Điều này có nghĩa là, khi thực hiện hiển thị bảng định tuyến của router, thông tin được trình bày cho chúng ta xem là những mạng đích đã kèm theo hướng đi tốt nhất mà router có được để đi đến chúng – bảng định tuyến chỉ lưu thông tin định tuyến tối ưu.

Đến đây, chúng ta đã nắm được khái niệm metric, nhưng giá trị metric này được tính toán như thế nào? Cách mà giá trị metric được tính toán tùy thuộc vào các giao thức định tuyến, mỗi giao thức định tuyến sẽ có “quan niệm” tốt/xấu về đường đi khác nhau và vì vậy sẽ có công thức tính metric khác nhau. Ví dụ:

  • Giao thức định tuyến RIP tính metric là số router phải đi qua trên đường đi đến đích: tuyến đường phải đi qua một router rồi mới đến đích sẽ có metric bằng một, tuyến đường phải đi qua hai router để đến đích có metric bằng 2,… Với RIP, tuyến đường tốt nhất là tuyến đường đi qua ít router nhất.
  • Giao thức định tuyến OSPF lại tính metric dựa vào giá trị bandwidth của các cổng của các router dọc đường đi đến đích. Metric này được tính theo một công thức mà theo đó bandwidth càng cao thì metric càng nhỏ (cách tính metric sẽ được trình bày trong phần nói về OSPF). OSPF là giao thức “ưa chuộng” những đường đi có tốc độ cao.
  • Giao thức EIGRP của Cisco lại có một công thức tính metric rất phức tạp, đó là một hàm với đầu vào là các tham số Bandwidth, Delay, Reliability, Load của tuyến đường. EIGRP đòi hỏi một tuyến đường phải đạt được độ cân đối cao của các thông số trên thì mới tối ưu.

Khi vận hành một hệ thống mạng chạy định tuyến động, người quản trị cần nắm vững cách thức tính metric của giao thức định tuyến đang sử dụng để có thể hiểu được hoạt động dẫn đường của các router, từ đó dự đoán được đường đi của dữ liệu nhằm phục vụ tốt cho công việc quản trị của mình.

AD – Administrative Distance

Nếu metric được dùng để so sánh độ tốt của các hướng đi đang được xem xét bởi cùng một giao thức định tuyến thì AD – Administrative Distance lại được sử dụng để so sánh các hướng đi tối ưu được đề xuất bởi nhiều kỹ thuật định tuyến khác nhau.

Chúng ta cùng xem xét một ví dụ để làm rõ khái niệm này (hình 12):

Ba giao thức chỉ ra ba hướng đi khác nhau

Hình 12 – Ba giao thức chỉ ra ba hướng đi khác nhau.

Trong ví dụ trên hình 12, giả sử hệ thống mạng chạy đồng thời 3 giao thức định tuyến: RIP, OSPF và EIGRP. Sau khi các giao thức đã thu thập đủ thông tin và tính toán xong (ta gọi là các giao thức đã hội tụ), ta giả sử rằng router R được 3 giao thức này “tư vấn” cho 3 hướng đi khác nhau để đi đến mạng 192.168.4.0/24:

  • Giao thức RIP chỉ ra rằng để đi đến mạng 192.168.4.0/24 thì đường số 1, đi theo next – hop R1 là đường tốt nhất (RIP tính metric cho đường này là nhỏ nhất).
  • Giao thức OSPF lại chỉ ra rằng để đi đến mạng 192.168.4.0/24 thì đường số 2, đi theo next – hop R2 là đường tốt nhất (OSPF tính metric cho đường này là nhỏ nhất).
  • Giao thức EIGRP thì chỉ ra rằng để đi đến mạng 192.168.4.0/24 thì đường số 3, đi theo next – hop R3 là đường tốt nhất (EIGRP tính metric cho đường này là nhỏ nhất).

Vậy trong tình huống này, router R sẽ “nghe theo lời” ai; sẽ cài đường đi nào vào bảng định tuyến để làm đường đi chính thức đến mạng 192.168.4.0/24?

Để quyết định được, router sẽ phải sử dụng một thông số có tên là AD – Administrative Distance. Theo đó, mỗi một kỹ thuật định tuyến chạy trên router, sẽ được hệ điều hành gán cho một giá trị AD để đo đạc độ tốt của kỹ thuật này. Giá trị AD chạy trong dải từ 0 đến 255, kỹ thuật nào có AD càng nhỏ, kỹ thuật đó càng được xem là tối ưu. Việc gán AD cho các kỹ thuật định tuyến như thế nào là theo quy định của từng hãng, và có thể là theo từng dòng sản phẩm; khi làm việc với một loại thiết bị, chúng ta cần tìm hiểu tài liệu của nhà sản xuất để xem các giao thức được gán AD như thế nào. Dưới đây là các giá trị AD mặc định của các kỹ thuật định tuyến theo quy định của Cisco (bảng 1):

Kỹ thuật/Giao thức định tuyến Giá trị AD
Connected 0
Static route 0, nếu sử dụng tùy chọn output interface.
1, nếu sử dụng tùy chọn next – hop IP.
EIGRP 90
OSPF 110
RIP 120

Bảng 1 – Các giá trị AD mặc định của các kỹ thuật định tuyến.

Như vậy theo bảng này, vì EIGRP có giá trị AD nhỏ nhất khi so với hai giao thức RIP và OSPF nên router R trên ví dụ ở hình 12 sẽ chọn hướng đi được đề xuất bởi giao thức EIGRP và cài hướng đi này vào bảng định tuyến làm hướng đi chính thức để dẫn đường cho dữ liệu đi đến mạng 192.168.4.0/24.

Đến đây, chúng ta đã cùng tìm hiểu xong về hai thông số quan trọng dùng trong hoạt động chọn đường của các kỹ thuật định tuyến là Metric và AD. Bài viết cũng đã kết thúc phần giới thiệu tổng quan về định tuyến động; ở bài viết tiếp theo, chúng ta sẽ cùng tìm hiểu về một giao thức định tuyến được dùng rất nhiều trong các mạng doanh nghiệp ngày nay: giao thức định tuyến OSPF.

Điều hướng Loạt<< Bài 10 : Một số giao thức mạng – ICMP
Chia sẻ bài viết:
HotlineZalo
Chỉ mục