Mạng căn bản 10 – Đinh tuyến (Routing)

I. KHÁI NIỆM:

– Định tuyến là quá trình mà router thực hiện để chuyển gói dữ liệu tới mạng đích.Tất cả các router dọc theo đường đi đều dựa vào địa chỉ IP đích của gói dữ liệu để chuyển gói theo đúng hướng đến đích cuối cùng.

– Để thực hiện được điều này, router phải học thông tin về đường đi tới các mạng khác. Có 2 loại định tuyến:

1. Định tuyến tỉnh – Static route:

– Người quản trị mạng phải cấu hình các thông tin đến các mạng khác cho router.

– Không dùng nhiều CPU, không tốn băng thông và bảo mật tốt.

– Không phù hợp với các mạng lớn, vì người quản trị phải cấu hình thông tin trên từng router.

2. Định tuyến động – Dynamic routing:

– Router tự động học những thông tin từ các router khác.

– Tốn nhiều CPU, RAM và băng thông.

– Phù hợp với các hệ thống lớn.

– Giao thức định tuyến động :

  • Khác với giao thức được định tuyến cả về chức năng và nhiệm vụ . Được sử dụng để giao tiếp giữa các router với nhau.
  • Cho phép router này chia sẻ các thông tin định tuyến mà nó biết cho các router khác.Từ đó, các router có thể xây dựng và bảo trì bảng định tuyến của nó.
  • Giao thức định tuyến động được chia thành 2 nhóm chính: Distance Vector và Link State. Ngoài ra một số tài liệu có thêm Hybrid (đây là loại được kết hợp từ nhóm giao thức trên).
    • Distance Vector: Routing information Protocol(RIP), Interior Gateway Routing Protocol(IGRP)
    • Link State: Open Shortest Path First(OSPF)
    • Hybrid: Enhanced Inteior Gateway Routing Protocol(EIGRP)

– Giao thức được định tuyến :

  • Được sử dụng để định hướng cho dữ liệu của người dùng.
  • Cung cấp đầy đủ thông tin về địa chỉ lớp mạng để gói dữ liệu có thể truyền đi từ host này đến host khác dựa trên cấu trúc địa chỉ đó.
  • Sau đây là các giao thức được định tuyến:
    • Internet Protocol (IP)
    • Internetwork Packet Exchange(IPX)

II. THUẬT TOÁN ĐỊNH TUYẾN :

1. Thuật toán vector – Distance Vector:

– Mỗi router sẽ nhận được bảng định tuyến của những router láng giềng kết nối trực tiếp với nó.

– Các router sẽ không biết được chính xác cấu trúc của toàn bộ hệ thống, mà chỉ biết được các router láng giềng.

2. Thuật toán trạng thái kết nối – Link state:

– Sử dụng các công cụ

  • Thông điệp báo trạng thái liên kết (LSA)
  • Cơ sở dữ liệu về cấu trúc mạng, được xây dựng dựa trên các thông tin thu thập được từ LSA.
  • Thuật toán SPF: tính toán đường đi ngắn nhất dựa vào cơ sở dữ liệu về cấu trúc mạng.
  • Bảng định tuyến chứa danh sách đường đi đã được chọn.

– Mỗi router sẽ bắt đầu trao đổi LSA với các router láng giềng. Sau khi có thông tin, các router sẽ tiến hành xây dựng lại cấu trúc mạng hình cây với bản thân nó làm gốc.

– Từ đó nó có thể vẽ ra tất cả đường đi tới tất cả các mạng trong hệ thống.

– Sau đó, thuật toán SDF chọn đường đi tốt nhất để lưu vào bảng định tuyến.

– Trong trường hợp có sự thay đổi, router nào phát hiện trước sẽ phát thông tin cập nhật đến các router khác.

III. CÁC LỖI XẢY RA TRONG THUẬT TOÁN ĐỊNH TUYẾN :

1. Lỗi định tuyến lập – Routing loop:

– B1: Trước khi mạng 1 bị lỗi, tất cả router đều có bảng định tuyến rất chính xác. Khi đó ta nói các router đã hội tụ.

– B2: Giả sử router C chọn đường đến mạng 1 bằng cách qua router B. Lúc này, ta thấy từ C đến mạng 1 phải qua 3 router nữa. Ta có thể nói là còn 3 hop.

– B3: Khi mạng 1 bị lỗi, E sẽ gởi thông tin cập nhật đến cho A. Ngay lập tức A sẽ ngưng định tuyến về mạng 1, nhưng trong lúc này C, B, D vẫn tiếp tục vì chúng chưa biết mạng 1 bị lỗi.

– B4: Sau đó A gởi thông tin cập nhật cho B, D. Lúc này B, D sẽ ngưng định tuyến về mạng 1

– B5: Đến thời điểm cập nhật định kỳ của C (mà B hay D chưa gởi thông tin cho C) lúc này C sẽ gởi thông tin cho D. Trong thông điệp của C, vẫn còn đường về mạng 1 là qua B.

  • D nhận thấy thông tin này tốt hơn thông tin báo mạng 1 bị lỗi mà nó vừa nhận được từ A.
  • Vì thế D sẽ cập nhật thông tin này vào bảng định tuyến (tức là đến mạng 1 là phải qua C).
  • Sau đó D gởi thông tin bảng định tuyến mới cập nhật gởi cho A.
  • Khi nhận được thông tin, A sẽ cập nhật lại bảng định tuyến (lúc này đến mạng 1 là qua D).
  • Sau đó A lại gởi cho B và E. Quá trình này lại tiếp tục ở B và E.

– B6: Lúc này, nếu có gói dữ liệu gởi tới mạng 1, nó sẽ đi vòng từ C, B, A, D, C

– Giá trị tối đa:

  • Việc cập nhật sai như trên sẽ tạo ra 1 vòng lập không ngừng .
  • Distance Vector sử dụng thông số là số lượng hop. Trong trường hợp này, khi router chuyển thông tin cập nhật cho router khác, chỉ số hop sẽ tăng lên 1. Nếu không khắc phục, thì số hop sẽ tăng lên vô hạn.
  • Để khắc phục tình trạng này, thuật toán Distance Vector đã định nghĩa giá trị tối đa là 15. Có nghĩa là, nếu số hop tăng lên đến 16, thì dữ liệu sẽ hủy bỏ mà không đến được đích.

2. Tránh định tuyến lặp vòng bằng split horizone:

– Một nguyên nhân khác gây ra lặp vòng là router gửi lại những thông tin định tuyến mà nó vừa nhận được cho chính router đã gửi những thông tin đó.

– B1: A gửi một thông tin cập nhật cho B và D thông báo là Mạng 1đã bị ngắt. Tuy nhiên C vẫn gửi cập nhật cho B là C có đường đến Mạng 1 thông tin qua D, khoảng cách của đường này là 4.

B2: Khi đó B tưởng lầm là C vẫn có đường đến Mạng 1 mặc dù con đường này có thông số định tuyến không tốt bằng con đường cũ của B lúc truớc. Sau đó B cũng cập nhật cho A về đường mới đến Mạng 1 mà B vừa mới nhận được.

B3: Khi đó A sẽ cập nhật lại là nó có thể gửi dữ liệu đến Mạng 1 thông qua B. B thì định tuyến đến Mạng 1 thông qua C. C lại định tuyến đến Mạng 1 thông qua D. Kết quả là bất kỳ gói dữ liệu nào đến Mạng 1 sẽ rơi vào vòng lặp này.

– Cơ chế split-horizon sẽ trách được tình huống này bằng cách: Nếu B hoặc D nhận được thông tin cập nhật về Mạng 1 từ A thì chúng sẽ không gửi lại thông tin cập nhật về Mạng 1 cho A nữa. Nhờ đó, split-horizon làm giảm được việc cập nhật thông tin sai và giảm bớt việc xử lý thông tin cập nhật.

3. Tránh lỗi bằng Route poisoning:

– Route poisoning được sử dụng để tránh xảy ra các vòng lặp lớn và giúp cho router thông báo thẳng là mạng đã không truy cập được nữa bằng cách đặt giá trị cho thông số định tuyến (số lượng hop chẳng hạn )lớn hơn giá trị tối đa.

– Ki Mạng 5 bị ngắt thì trên bảng định tuyến của E giá trị hop cho đường đến Mạng 5 là 16, giá trị này có nghĩa là Mạng 5 không truy cập được nữa .

– Sau đó E cập nhật cho C bảng định tuyến này, trong đó đường đến Mạng 5 có thông số hop là 16 được gọi là route poisoning .

– Sau khi C nhận được cập nhật về route poisoning từ E, C sẽ gửi ngược trở lại thông tin này cho E. Lúc này ta gọi thông tin cập nhật về Mạng 5 từ C gửi ngược lại cho E là route poison reverse.

– C làm như vậy để đảm bảo là nó đã gửi thông tin route poisoning ra tất cả các đường mà nó có .

– Khi route poisoning được sử dụng kết hợp với cập nhật tức thời sẽ giúp rút ngắn thời gian hội tụ giữa các router vì khi đó router không cần phải chờ hết 30 giây của chu kỳ cập nhật mới về route poisoning.

– Tóm lại ,route poisoning có nghĩa là khi có một con đường nào đó bị ngắt thì router sẽ thông báo về con đường đó với thông số định tuyến lớn hơn giá trị tối đa

– Cơ chế route poisoning không hề gây mâu thuẫn với cơ chế split horizon. Split horizon có nghĩa là khi router gửi thông tin cập nhật ra một đường liên kết thì router không được gửi lại những thông tin nào mà nó vừa nhận vào từ đường lien kết đó.

– Bây giờ, router vẫn gửi lại những thông tin đó nhưng với thông số định tuyến lớn hơn giá trị tối đa thì kết quả vẫn như vậy. Cơ chế này gọi là split horizon kết hợp với poison reverse.

– Khi mạng 5 bị ngắt, E sử dụng route poisoning bằng cách đặt giá trị 16 trên bảng định tuyến để cho biết mạng này không đến được nữa .

4. Tránh định tuyến lặp vòng bằng cơ chế cập nhật tức thời :

– Hoạt động cập nhật bảng định tuyến giữa các router láng giềng được thực hiện theo chu kỳ.

– Ví dụ: cứ sau 30 giây RIP thực hiện cập nhật một lần.Ngoài ra còn có cơ chế cập nhật tức thời để thông báo về một thay đổi nào đó trong bảng định tuyến. Khi router phát hiện ra có một thay đổi nào đó trong cấu trúc thì nó lập tức gửi thông điệp cập nhật cho các router láng riềng để thông báo về sự thay đổi đó.

– Nhất là khi có một đường nào đó bị lỗi không truy cập được nữa thì router phải cập nhật tức thời thay vì đợi đến hết chu kỳ.

– Cơ chế cập nhật tức thời kết hợp với route poisoning sẽ đảm bảo cho tất cả các router nhận được thông tin khi có một đường nào đó bị ngắt trước khi thời gian holddown kết thúc.

– Cơ chế cập nhật tức thời cho toàn bộ mạng khi có sự thay đổi trong cấu trúc mạng giúp cho các router được cập nhật kịp thời và khởi động thời gian holddown nhanh hơn

– C cập nhật tức thời ngay khi mạng 10.4.0.0 không truy cập được nữa. Khi nhận được thông tin này, B cũng phát thông báo về mạng 10.4.0.0 ra cổng S0/1

– Đến lượt A cũng sẽ phát thông báo ra cổng Fa0/0

NetWordk 10.4.0.0 is unreachable

– Với cập nhật tức thời, router sẽ gửi thông điệp ngay để thông báo sự thay đổi trong bảng định tuyến của mình

5. Tránh lặp vòng với thời gian holddown:

– Tình trạng lặp vòng đến vô hạn như đã đề cập ở phần 7.1.2 có thể tránh được bằng

cách sử dụng thời gian holddown như sau:

– Khi router nhận được từ router láng giềng một thông tin cho biết là một mạng X nào đó bây giờ không truy cập được nữa thì router sẽ đánh dấu vào con đường tới mạng X đó là không truy cập được nữa và khởi động thời gian holddown.

– Trong khoảng thời gian holddown này, nếu router nhận được thông tin cập nhật từ chính router láng riềng lúc nãy thông báo là mạng X đã truy cập lại được thì router mới cập nhật thông tin đó và kết thúc thời gian holddown.

– Trong suốt thời gian holddown nết router nhận được thông tin cập nhật từ một router láng riêng khác (không phải là router láng giềng đã phát thông tin cập nhật về mạng X lúc nãy) nhưng thông tin này cho biết có đường đến mạng X với thông số định tuyến tốt hơn con đường mà router trước đó thì nó sẽ bỏ qua, không cập nhật thông tin này.

– Cơ chế naỳ giúp cho router tránh được việc cập nhật nhầm những thông tin cũ do các router láng giềng chưa hay biết gì về việc mạng X đã không truy cập được nữa.

– Khoảng thời gian holddown bảo đảm cho tất    cả các router trong hệ thống mạng đã được cập nhật xong về thông tin mới. Sau khi thời gian holddown hết thời hạn, tất cả các router trong hệ thống đều đã được cập nhật là mạng X không truy cập được nữa, khi đó các router đều có thể nhận biết chính xác về cấu trúc mạng.

– Do đó, sau khi thời gian holddown kết thúc thì các router lại cập nhật thông tin như bình thường.

About Terri

System Administrator @Netpower Datacenter

Posted on 03.03.2009, in Basic & Networking, Technical Articles and tagged , , . Bookmark the permalink. Leave a comment.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: