I.2.2.3.a Thuật toán Flat
Thuật toán flat routing dùng trong các hệ thống có cấu trúc ngang hàng với nhau, được trải rộng với chức năng và nhiệm vụ như nhau.Thuật toán flat thường chỉ được dùng ở những mô hình mạng ngang hàng nhỏ.
I.2.2.3.b Thuật toán Hierachical
Thuật toán hierachical là thuật toán phân cấp, có cấu trúc cây như mô hình phân cấp của một domain hay của một công ty. Tùy theo dạng hệ thống mà ta có thể lựa chọn thuật toán thích hợp.
Hệ thống định tuyến định rõ các nút của nhóm logic gọi là domain, hệ thống nội bộ hoặc là vùng. Trong hệ thống hierarchical, một vài router trong một domain có thể truyền thông với các router trong domain khác, trong khi những router còn lại chỉ có thể truyền với các router trong cùng domain. Trong hệ thống mạng lớn, các mức hierarchical có thể tồn tại, cùng với router tại mức hierarchical cao nhất để định hình backbone của routing. Lợi ích chính của hierarchical routing là giả lập như tổ chức của các công ty và do vậy nó hỗ trợ mô hình truyền thông tốt. Hầu hết sự truyền thông mạng hiện nay là trong những nhóm công ty nhỏ (domain).
I.2.2.4 Link State or Distance Vector I.2.2.4.a Thuật toán Link State
Hình 1.10. Thuật toán Link-state.
Thuật toán link state (còn được gọi là thuật toán shortest path first) cập nhật tất cả các thông tin vể cơ chế routing cho tất cả các nút trên hệ thống mạng. Mỗi router sẽ gửi một phần của routing table, trong đó mô tả trạng thái của các liên kết riêng của mình lên trên mạng. Chỉ có các thay đổi mới được gửi đi.
Về mặt bản chất, thuật toán link state gửi các bảng cập nhật có kích thước nhỏ đến khắp nơi trong mạng.
Thuật toán link state có ưu điểm là có tốc độ cao, không chiếm dụng băng thông nhiều như thuật toán distance vector. Tuy nhiên thuật toán này đòi hỏi cao hơn về bộ nhớ, CPU cũng như việc thực hiện khá phức tạp.
Thuật toán link state được sử dụng trong giao thức định tuyến: OSPF, NLSP… và thích hợp cho các hệ thống cỡ trung và lớn.
I.2.2.4.b Thuật toán Distance Vector
Hình 1.11. Thuật toán Distance Vector.
Thuật toán distance vector (còn gọi là thuật toán Bellman-Ford) bắt buộc mỗi router phải gửi toàn bộ hay một phần routing table của mình cho router kết nối trực tiếp với nó theo một chu kỳ nhất định (Hình 2.3)
Về mặt bản chất, thuật toán distance vector gửi các bảng cập nhật có kích thước lớn hơn chỉ cho router kết nối với nó.
Thuật toán distance vector có ưu điểm là dễ thực hiện, dễ kiểm tra, tuy nhiên nó có một số hạn chế là thời gian cập nhật lâu, chiếm dụng băng thông lớn trên mạng. Ngoài ra nó cũng làm lãng phí băng thông do tính chất cập nhật theo chu kỳ của mình.
Thuật toán distance vector thường dùng trong các giao thức định tuyến: RIP(IP/IPX), IGRP (IP), RTMP(AppleTalk)… và thường áp dụng cho hệ thống nhỏ.
Ngoài ra còn có sự kết hợp hai thuật toán này trong một số giao thức định tuyến như: IS-IS, EIGRP.
I.2.2.5 Host-Intelligent hay Router-IntelligentI.2.2.5.a Thuật toán Host - intelligent I.2.2.5.a Thuật toán Host - intelligent
Thuật toán Host intelligent cho rằng nút cuối nguồn sẽ xác định toàn bộ tuyến trình và thường xem như là định tuyến nguồn (source routing). Trong hệ thống source-routing, router chỉ làm công việc chứa packet và hướng đến thiết bị rồi gửi ngay packet đến điểm dừng tiếp theo mà không quan tâm đến chúng. Trong thuật toán này thì host phải có khả năng định tuyến thông minh.
I.2.2.5.b Thuật toán Router - intelligent
Thuật toán Router intelligent cho rằng host không biết gì đường đi. Trong thuật toán này, router sẽ xác định đường truyền trong mạng riêng dựa trên tính toán riêng của chúng. Để làm được việc này, router phải có khả năng định tuyến thông minh.
I.2.2.6 Intradomain hay InterdomainI.2.2.6.a Thuật toán Intradomain I.2.2.6.a Thuật toán Intradomain
Thuật toán Intradomain chỉ hoạt động trong một domain duy nhất, nên thường chỉ được chỉ sử dụng trong những hệ thống mạng nội bộ.
I.2.2.6.b Thuật toán Interdomain
Thuật toán Interdomain hoạt động giữa các domain với nhau, thường được sử dụng trong những hệ thống công ty lớn hoặc giữa các công ty với nhau.
I.3 Các số đo cơ bản trong thuật toán routing (Routing metric)
Metric là số đo của thuật toán routing để từ đó quyết định đường đi tối ưu nhất cho dữ liệu. Một thuật toán routing có thể sử dụng nhiều metric khác nhau. Các metric được kết hợp với nhau để thành một metric tổng quát, đặc trưng cho liên kết. Mỗi thuật toán có thể sử dụng kiểu sử dụng metric khác nhau.
Các metric thường được dùng là:
• Chiều dài đường di (Path Length)
• Độ tin cậy (Reliability)
• Thời gian chờ (Delay)
• Băng thông (Bandwidth)
• Khả năng tải (Load)
• Chi phí truyền dẫn (Comunication cost)
I.3.1 Chiều dài đường đi
Là metric cơ bản, thường dùng nhất. Path length trong router còn được xác dịnh bằng số hop giữa nguồn và đích. Một hop được hiểu là một liên kết giữa hai router.
I.3.2 Độ tin cậy
Là khái niệm chỉ độ tin cậy của một liên kết. Ví dụ như độ tin cậy được thể hiện thông qua bit error rate… Khái niệm này nhằm chỉ khả năng hoạt động ổ định của liên kết.
I.3.3 Thời gian chờ
Khái niệm delay dùng để chỉ khoảng thới gian cần để chuyển packet từ nguồn đến đích trong hệ thống. Delay phụ thuộc vào nhiều yếu tố: khoảng cách vật lý, băng thông của liên kết, đụng độ, tranh chấp đường truyền. Chính vì thế yếu tố này là một metric đóng vai trò rất quan trọng trong thuật toán routing.
I.3.4 Băng thông
Là một metric quan trọng để đánh giá đường truyền. Bandwidth chỉ lưu lượng dữ liệu tối đa có thể truyền trên liên kết.
I.3.5 Tải
Load nhằm chỉ phần trăm network resource đang trong trạng thái bận {busy). Load có thể là lưu lượng dữ liệu trên liên kết, là độ chiếm dụng bộ nhớ, CPU…
CHƯƠNG II
CÁCPHƯƠNG PHÁP ĐỊNH TUYẾN CỦA CISCO (ROUTING METHOD)
I.4 Static routing
Static routing là cơ chế trong đó người quản trị quyết định, gán sẵn protocol cũng như địa chỉ đích cho router: đến mạng nào thì phải truyền qua port nào, địa chỉ là gì… Các thông tin này chứa trong routing table và chỉ được cập nhật hay thay đổi bởi người quản trị. Router được lập trình tĩnh không thể tìm ra đường đi, chúng thiếu cơ chế để truyền thông tin định tuyến tới các router khác. Router được lập trình tĩnh chỉ có thể hướng packet đến đường đi đã được người quản trị định nghĩa sẵn.
Static routing thích hợp cho các hệ thống đơn giản, có kết nối đơn giữa hai router, trong đó đường truyền dữ liệu đã được xác định trước.
I.4.1 Lợi ích của static routing
Có rất nhiều lợi ích khi sử dụng static routing. Ví dụ như đường đi được lập trình tĩnh có tính bảo mật cao vì chỉ có người quản trị mới biết các thiết lập đó.Một lợi ích khác là static routing có thể làm tăng hiệu quả của việc sử dụng tài nguyên. Static routing sử dụng ít băng thông hơn các phương pháp routing khác trong truyền thông, không phí phạm các vòng lặp trên CPU router để tính toán đường đi, do vậy nên tốn rất ít bộ nhớ. Trong một vài hệ thống mạng, ta có thể sử dụng những router nhỏ hơn, ít đắt tiền hơn để sử dụng static routing. Bên cạnh những lợi ích thì static routing vẫn có một vài hạn chế nhất định mà ta phải biết.
I.4.2 Hạn chế của static routing
Khi mạng bị lỗi, hoặc khi cấu trúc nguồn thay đổi thì trách nhiệm của người quản trị mạng là phải điều chỉnh cho phù hợp với những thay đổi đó.
Trong hệ thống mạng lớn, các nhà quản trị mạng phải hợp tác với nhau trong kế hoạch phân phối lại đường đi mà họ tin rằng sẽ giảm tối thiểu khối lượng công việc cũng như tải truyền thông mạng, và như vậy họ phải thường xuyên cập nhật thông tin đường đi trong bảng định tuyến.
Static routing thường được sử dụng tốt trong nhữnng mạng nhỏ mà chỉ có một đường đi duy nhất đến đích đã được xác định trước. Khi mạng phát triển lên người ta sẽ thêm đường đi đến đích, và sẽ có một số khó khăn nhất định. Người quản trị sẽ lập trình thêm cho router để sự truyền thông dễ dàng trong mạng WAN.
Ngay cả trong một mạng phức tạp người ta vẫn muốn dùng static routing để nâng cao tính bảo mật. Kết nối của công ty bạn đến Internet có thể được xác định định tuyến tĩnh đến một server được bảo mật. Không có ai có quyền truy cập vào nếu không có chứng thực xác nhận do server cung cấp. Static routing là một cách tốt để kết nối những mạng LAN nội bộ trong mạng WAN.
I.4.4 Cấu hình static routing
Static routing hay static route được thiết lập bằng tay thông qua lệnh ip route như sau:
Router(config)#ip routenetwork [mask] {address|interface} [distance] [permanent]. Trong đó:
• network— network đích hay subnet
• mask—Subnet mask
• address—IP address của next-hop router
• interface—Tên interface (của router đang cấu hình) để đi tới network đích.
• distance—Giá trị cung cấp bởi người quản trị, nhằm chỉ độ ưu tiên (cost) của đường định tuyến (tùy chọn)
• permanent —Chỉ định rằng đường định tuyến này không bị dỡ bỏ ngay cả khi interface bị shutdown.
Hình 2.1. Ví dụ về static route
I.5 Default routing
Default routing là cơ chế đặc biệt của static routing.Default routing được sử dụng để gửi packet đến mạng từ xa mà không có trong bảng định tuyến đến router hop tiếp theo. Ta chỉ có thể sử dụng default routing trên những mạng LAN nội bộ.
Tất cả router của Cisco là router classful, nghĩa là chúng xác lập một subnet mask mặc định trên mỗi interface của router. Khi một router nhận một packet của một mạng con đích mà không có trong bảng định tuyến, mặc định nó sẽ truyền packet đi ngay. Nếu sử dụng default routing, ta phải sử dụng lệnh ip classless bởi vì không có mạng con từ xa nào được chứa trong bảng định tuyến.
Khi static routing đã định trước đường đi thì router được sử dụng để tìm đích đến đã được định trước, router sẽ sử dụng đường đi mặc định nó không tìm thấy đường đi trong bảng định tuyến.
Khi router nhận được packet dành cho mạng này, router sẽ chuyển packet đi ngay. Nếu không định trước đường đi đến đích, router sẽ sử dụng đường đi mặc định để đến.
Đường đi mặc định của router thường là 0.0.0.0 với subnet mask là 0.0.0.0
I.6 Dynamic routing
Dynamic routing là cơ chế định tuyến động sử dụng các giao thức định tuyến để tự động cập nhật các thông tin về các router xung quanh. Tùy theo dạng thuật toán mà cơ chế cập nhật thông tin của các router sẽ khác nhau. Khi nó truyền thông với các router láng giềng thì giao thức định tuyến sẽ qui định các tập luật mà các router khác có thể sử dụng.
I.6.1 Lợi ích của dynamic routing
Dynamic routing hoạt động hiệu quả và phức tạp hơn 2 phương pháp routing trên. Dynamic routing sử dụng các giao thức định tuyến cho phép các router làm một số chức năng cần thiết của chúng, bao gồm tìm và xác nhận đường đi, hội tụ theo một qui ước chung của một cấu trúc mạng, với một vài khác biệt trong cách tính toán đường đi. Dynamic routing sẽ có thể học đường đến mạng đích mặc dù nó chưa biết đường đi đến. Vì vậy dynamic routing sẽ linh hoạt hơn 2 phương pháp trên.
Các giao thức định tuyến là RIP, IGRP, EIGRP, OSPF,...
I.6.2 Hạn chế của dynamic routing
Sử dụng dynamic routing tốn nhiều tài nguyên CPU, bộ nhớ và băng thông cho việc liên kết mạng.
Dynamic routing thường dùng trong các hệ thống phức tạp hơn, trong đó các router được liên kết với nhau thành một mạng lưới, ví dụ như các hệ thống router cung cấp dịch vụ internet, hệ thống của các công ty đa quốc gia.
I.6.4 Cấu hình dynamic routing
Router (config)# ip routing.
CHƯƠNG III
GIAO THỨC ĐỊNH TUYẾN (ROUTING PROTOCOL)
I.7 Khái niệm cơ bản
I.7.1 Routing protocol và routed protocol
Routed protocol là giao thức lớp thứ ba của mô hình OSI (lớp data link) quy định dạng format và cách sử dụng của các trường trong packet nhằm chuyển các packet từ nơi này sang nơi khác (đến tận người sử dụng) Ví dụ: IP, IPX… Routing protocol là giao thức định tuyến cho phép các router kết nối với nhau và cập nhật các thông tin của nhau nhờ các bảng routing. Routing protocol có thể sử dụng các routed protocol để truyền thông tin giữa các router. Ví dụ: RIP (Routing Information Protocol), IGRP (Interior Gateway Routing Protocol)…
Routed protocol Routing protocol
IP RIP, IGRP, OSPF, EIGRP, BGP, IS-IS
IPX RIP, NLSP, EIGRP
Apple Talk RMTP, AURP, EIGRP
Hình 3.1 Các routed protocol và routing protocol
• Xác định đích nơi dữ liệu sẽ đến.
• Xác định xem thông tin định tuyến đến từ đâu.
• Xác định tất cả các đường đi có thể đến đích.
• Xác định đường đi tốt nhất đến đích.
• Cập nhật thông tin định tuyến.
Và các yếu tố khi chọn một routing protocol:
• Số đo routing được sử dụng để chọn đường.
• Thông tin định tuyến được chia sẻ như thế nào.
• Độ hội tụ của routing protocol
• Router xử lý thông tin định tuyến như thế nào.
• Chi phí khi sử dụng routing protocol.
Để kết nối các mạng với nhau, router sẽ được cấu hình định tuyến tĩnh hay động và gửi thông tin đến router láng giềng. Router láng giềng là router khác có cùng chung subnet với router hiện hành.
I.7.2 Administrative Distance(AD)
AD là khoảng cách quản trị được dùng để so sánh các route học được từ những giao thức khác nhau. Khi khoảng cách quản trị (AD) được xác định, router có thể chọn giữa các nguồn thông tin định tuyến xem nguồn nào đáng tin cậy. Ví dụ nếu router học được một route từ OSPF và RIP, nó sẽ ưu tiên route học từ OSPF do có AD nhỏ hơn và tương ứng là độ tin cậy cao hơn. AD của RIP là 120, của IGRP là 100, của EIGRP là 90, của OSPF là 110 …
I.7.3 Các thuật toán được sử dụng trong các routing protocol
Có 2 lớp giao thức định tuyến chính được sử dụng trong các routing protocol:
I.7.3.1 Distance vector
Distance-vector protocol tìm đường đi tối ưu đến một mạng ở xa bằng cách đánh giá khoảng cách. Mỗi lần một packet đi qua một router được tính là một hop. Đường đi có ít số hop nhất đến mạng sẽ là đường đi tối ưu. Vector cho biết phương hướng của mạng ở xa. Cả RIP và IGRP đều là giao thức định tuyến dạng distance-vector.
I.7.3.2 Link state
Link-state protocol hay còn gọi là shortest-path-first protocol, là giao thức dựa trên thuật toán tìm đường đi ngắn nhất. Định tuyến Link-state sử dụng thông điệp LSA và bảng định tuyến chứa đường đi đến đích. Router sẽ tạo ra mỗi lần 3 bảng riêng:
• 1 bảng này sẽ theo dõi thiết bị liên lạc láng giềng.
• 1 bảng sẽ xác định cấu trúc của toàn bộ mạng nội bộ.
• 1 bảng được sử dụng như bảng định tuyến.
Router mà sử dụng giao thức Link-state linh hoạt hơn trong mạng nội bộ hơn giao thức định tuyến distance-vector. OSPF là giao thức định tuyến IP hoàn chỉnh của giao thức dạng link state.
I.7.4 Kỹ thuật tránh lặp trong quá trình định tuyến
Giao thức định tuyến Distance-vector theo dõi bất kỳ sự thay đổi trong mạng nội bộ bằng cách truyền đi những cập nhật định tuyến theo chu kỳ đến tất cả các interface đang hoạt động. Chúng truyền đi bao gồm bảng định tuyến nay đủ. Công việc này đòi hỏi cao về CPU và tốn nhiều băng thông. Và khi sự cố thiếu hụt tài nguyên mạng xảy ra, độ hội tụ chậm của giao thức định tuyến distance vector có thể làm sai lệch thông tin trong bảng định tuyến và gây ra lặp định tuyến. Lặp định tuyến xảy ra bởi vì các router không được cập nhật đồng thời. Do vậy, để tránh và ngăn chặn lặp định tuyến người ta đưa ra những kỹ thuật sau:
• Route poisoning.
• Holddown.
Ví dụ 3.2 về lặp định tuyến:
Router khám phá đường đi tối ưu đến đích từ router láng giềng.
Mỗi nút đều duy trì khoảng cách đến đích.
Độ hội tụ chậm làm ngăn cản quá trình định tuyến.
Router A cập nhật bảng định tuyến và cộng hop count thêm 1.
Hop count của network 10.4.0.0 được đếm đến vô cùng và gây ra lặp.