Một thành viên hay một nút trong cây multicast có thể cảnh báo trƣớc nguy cơ gãy liên kết khi:
- Không nhận đƣợc thông báo “hello” nào từ bƣớc truyền kế tiếp tại thời điểm nào đó.
- Khi một nút không thể gửi một gói dữ liệu đến nút truyền kế tiếp.
- Khi đó một nút gần với nút nguồn S chịu trách nhiệm sửa lại các liên kết gãy này. Điều này đƣợc thực hiện thông qua việc gởi một thông báo RREQ.
M N M N RREQ M M N M N RREQ M N RREQ
Hình 3.25: Sửa chữa liên kết gãy
Phương thức sửa chữa: Khi nút phát hiện ra liên kết gãy loan truyền thông báo RREQ đến các nút lân cận của nó. Thông báo RREQ này yêu cầu một tuyến đi đến nhóm multicast. Mỗi lần các thông báo RREP đƣợc nhận, nút sẽ chọn một tuyến mới đến nhóm multicast bằng cách gửi đi một thông báo MACT.
3.4.4. Giao thức định tuyến vùng ZRP (Zone Routing Procotol): a. Định tuyến theo Reactive và Proactive: a. Định tuyến theo Reactive và Proactive:
Các giao thức Reactive: Là các giao thức khi hoạt động cố gắng tìm ra một tuyến từ nút S đến nút D khi nào cần đáp ứng các yêu cầu về tuyến (nhƣ các giao thức AODV và DSR). Lợi thế chính của giao thức reactive là giảm bớt tình trạng
tràn ngập các thông tin điều khiển trong mạng. Tuy nhiên, các giao thức dạng reactive có độ trễ cao trong quá trình phát hiện các tuyến [19].
Các giao thức Proactive: Lƣu giữ bảng định tuyến chứa các tuyến đến các đích bao quát toàn bộ hệ thống mạng. Khi có yêu cầu, tuyến đến đích sẽ đƣợc tìm ra ngay bằng cách tra cứu trong bảng. Lợi thế chính cuả các giao thức Proractive là có độ trễ thấp trong thời gian phát hiện tuyến.Tuy nhiên các giao thức proactive phát sinh ra một số lƣợng lớn các thông báo điều khiển cho việc cập nhật các bảng định tuyến cục bộ [19].
Giao thức kết hợp: Là giao thức đƣợc xây dựng, khai thác những đặc điểm mạnh của cả hai giao thức Reactive và Proactive nhằm tìm ra một giao thức định tuyến tốt hơn và thích ứng mới nhiều mô hình mạng. Giao thức vùng định tuyến ZRP là một trong các giao thức đƣợc xây dựng theo tiêu chí đó [19].
- Phần proactive của giao thức sẽ giới hạn một vùng nhỏ các nút liền kề.
- Phần reactive đƣợc sử dụng cho việc định tuyến với toàn bộ mạng. Điều này làm giảm độ trễ trong pha phát hiện tuyến và giảm tải số lƣợng các thông báo điều khiển.
Giao thức vùng định tuyến (Routing Zones Procotol):
Hình 3.26a: Lập vùng định tuyến Hình 3.26b: Tìm kiếm ngoài vùng
Mỗi nút S trong mạng có một vùng định tuyến. Đó là vùng định tuyến cho S khi S tập hợp các thông tin định tuyến vùng của nó theo cách của giao thức DSDV. Nếu bán kính của vùng định tuyến là k, mỗi nút trong vùng có thể đi đến đích của nó trong vòng k bƣớc truyền (k – hops) từ S. Trong hình 3.26a bán kính của nút S có giá trị là k=2. b. Các nút trong vùng định tuyến: S D S L K G H I J A B C D E
- Mật độ bao phủ của các nút gửi/nhận là một tập hợp các nút kết nối hƣớng vào nút đang làm việc trong một bán kính k nào đó, gọi là các trạm lân cận của nút hoạt động.
Nói cách khác là, các trạm lân cận của nút là tất cả các nút có thể nhận đƣợc thông báo chỉ sau một bƣớc truyền.
Với nút S bất kỳ, nếu bán kính vùng định tuyến là k, khi đó vùng bao gồm tất cả các nút có thể nhận đƣợc thông báo trong phạm vi k bƣớc truyền (k hops).
Giao thức phát hiện các nút lân cận: Giống nhƣ các giao thức định tuyến mạng ad hoc khác, một nút bất kỳ, khi thi hành giao thức ZRP cần phải nhận biết đƣợc các nút lân cận hiện tại của nó. Mỗi nút sẽ truyền thông báo “hello” một cách định kỳ đến tất cả các nút bên trong phạm vi truyền của nó (trong vùng phủ sóng). Nếu một nút P không nhận đƣợc thông báo “hello” từ một nút lân cận Q đã biết trƣớc đó (do Q di chuyển từ vị trí i trong vùng ra vị trí i’ ngoài vùng), P sẽ loại bỏ danh mục nút lân cận Q trong bảng danh mục các nút lân cận của nó.
P S Q R U A B Q H E i i’ P S Q R U A B Q H E i i’
Hình 3.27: Nút P phát hiện các nút lân cận trong vòng bán kính k
c. Chiến lƣợc căn bản trong ZRP:
Việc định tuyến trong ZRP đƣợc chia thành hai bộ phận [19]:
Bộ phận 1 intrazone routing (trong vùng): Các gói dữ liệu đƣợc gửi bên trong vùng định tuyến của nút nguồn S nào đó đi đến đƣợc các nút bên trong phạm vi của nó. Mỗi nút tập hợp lại các thông tin về tất cả các nút khác trong vùng định tuyến với tính chất chuẩn bị (proactively). Chiến lƣợc định tuyến trong vùng giống nhƣ các giao thức proactive (ví dụ nhƣ DSDV):
- Mỗi nút sẽ lƣu trữ một bảng định tuyến cho vùng định tuyến theo bán kính k của nó, sao cho nó có thể tìm nhanh ra một tuyến đến một nút bất kỳ trong vùng dựa trên bảng này khi có yêu cầu.
- Định tuyến trong vùng đƣợc thực hiện bằng cách duy trì một bảng liên kết trạng thái tại mỗi nút. Mỗi nút sẽ loan truyền một cách định kỳ các thông báo tƣơng tự nhƣ thông báo “hello”. Ta gọi các thông báo này là thông báo cảnh báo vùng
(zone notification message).
- Giả sử bán kính của vùng là k ( k>1). Một thông báo “hello” sẽ bị huỷ bỏ chỉ sau k bƣớc truyền sau khi nó đi đến đƣợc các trạm lân cận của nút phát.
- Thông báo cảnh báo vùng sẽ bị huỷ bỏ sau khi nó thực hiện truyền đƣợc k
bƣớc truyền từ nút S khởi đầu truyền đến tất cả các nút trong bán kính k.
- Mỗi nút sau khi nhận đƣợc thông báo này thì giảm bộ đếm bƣớc truyền (hop – count) của thông báo xuống 1 lần và chuyển tiếp thông báo đến các nút lân cận. Thông báo sẽ không đƣợc chuyển tiếp nữa khi bộ đếm hop – count có giá trị bằng 0. - Lƣu giữ dấu vết của các nút trong vùng định tuyến: Mỗi nút P bất kỳ lƣu giữ dấu vết các nút lân cận Q từ nút nó đã nhận thông báo qua một mục trong bảng định tuyến trạng thái của nó. P có thể giữ dấu vết của tất cả các nút trong vùng định tuyến của nó thông qua bảng liên kết trạng thái.
Bộ phận 2 interzone routing (liên vùng): Thực hiện pha (phase) phát hiện các tuyến đến đích theo tính chất phản ứng lại (reactively). Xét một nút nguồn S và nút đích D bất kỳ, nếu D là nút bên trong vùng định tuyến của S thì việc định tuyến đƣợc thực hiện hoàn toàn nhƣ trong pha định tuyến vùng. Ngƣợc lại, S gửi dữ liệu đến các nút ngoại vi vùng của nó thông qua phƣơng thức bordercasting (truyền cạnh). Phƣơng thức truyền dữ liệu đến các nút ở biên của vùng (bordercasting), phƣơng thức này có thể thực hiện dựa trên hai cách chính:
- Lƣu trữ một cây multicast cho các nút ngoại vi, và S là gốc của cây này. - S lƣu giữa hoàn toàn một bảng định tuyến vùng của nó và các tuyến để các gói dữ liệu đi đến các nút ngoại vi bằng sự “cố vấn’ của bảng định tuyến này.
Phát hiện tuyến liên vùng: S gửi thông báo yêu cầu tuyến RREQ tới các nút ngoại vi vùng của nó thông qua phƣơng thức bordercasting. Mỗi nút ngoại vi P thực hiện cùng một giải thuật sau đây:
- P kiểm tra xem đích D có trong vùng định tuyến của nó hay không và nếu thấy có nó sẽ gửi gói dữ liệu cho D:
- Ngƣợc lại, P sẽ gửi gói dữ liệu đến các nút ngoại vi vùng định tuyến của nó thông qua phƣơng thức bordercasting. Hình 3.28 mô tả hoạt động định tuyến liên vùng trong giao thức ZRP. S D B H A C Hình 3...: định tuyến trong ZRP S D B H A C S D B H A C Hình 3...: định tuyến trong ZRP
Hình 3.28: Định tuyến trong giao thức ZRP
Route reply trong định tuyến liên vùng: Nếu nút P thấy rằng nút đích D là bên trong vùng định tuyến của nó. P khởi tạo một route reply (đáp ứng tuyến). Mỗi nút sẽ thêm vào thông báo RREQ địa chỉ (IP) của nó trong quá trình thực hiện phase yêu cầu tuyến. Tƣơng tự nhƣ phase yêu cầu tuyến trong DSR. Việc này làm gộp lại các địa chỉ có thể sử dụng để gửi các đáp ứng tuyến RREP ngƣợc lại cho nút nguồn S. một chiến lƣợc luân phiên để các liên kết xuôi và ngƣợc tại tất cả các bảng tuyến của các nút tƣơng tự nhƣ trong giao thức AODV. Điều này giúp cho kích cỡ các gói dữ liệu không thay đổi. Một thông báo RREQ thƣờng nhận nhiều hơn một thông báo RREP và ZRP sẽ giữ đƣợc dấu vết của nhiều đƣờng đi giữa nút S và D. Một đƣờng đi xen kẽ sẽ đƣợc chọn trong trƣờng hợp một đƣờng bị gãy [19].
Tổ chức lƣu giữ tuyến: Khi có một tuyến liên kết bị đứt gãy trong các tuyến đang hoạt động giữa S và D, thì một thủ tục sửa chữa cục bộ sẽ đƣợc khởi tạo. Do một liên kết đứt gãy luôn luôn nằm bên trong phạm vi vùng định tuyến của một nút
nào đó, cho nên việc sửa chữa liên kết đứt gãy thực chất là một yêu cầu thiết lập một đƣờng mới giữa hai nút bên trong một vùng định tuyến.
CHƢƠNG 4 TỔNG KẾT VÀ ĐỀ XUẤT HƢỚNG NGHIÊN CỨU MỚI
4.1 KẾT LUẬN CHUNG:
Bài toán định tuyến trên các hệ thống mạng là một trong các vấn đề cần phải giải quyết trƣớc khi thực hiện quá trình chuyển dữ liệu giữa các trạm làm việc trong mạng. Có rất nhiều giải thuật định tuyến đã đƣợc nghiên cứu, đề xuất và đã sử dụng rộng rãi trong thực tế. Mỗi giải thuật định tuyến có ƣu, nhƣợc điểm riêng tuy nhiên phần lớn đều có thể áp dụng trong thực tế chuyển dữ liệu. Công việc định tuyến chỉ gồm hai vấn đề chính: Xây dựng bảng định tuyến và chuyển dữ liệu theo tuyến. Gần nhƣ các giao thức định tuyến chỉ khác nhau trong cơ chế xây dựng bảng định tuyến là chính, còn việc chuyển dữ liệu theo tuyến thì hoạt động khá giống nhau.
4.1.1. Trên hệ thống mạng cố định (fixed network):
Ngƣời ta đã đƣa ra giải thuật định tuyến tĩnh và ba loại giải thuật định tuyến động, các giải thuật định tuyến này đƣợc phát triển cùng với sự mở rộng và phát triển của mạng máy tính nói chung. Có thể xem xét cụ thể ba phƣơng pháp theo lịch sử phát triển của mạng máy tính, đó là:
- Định tuyến tĩnh: Hoàn toàn do ngƣời quản trị mạng thực hiện bằng tay. Bảng định tuyến đƣợc nhập vào một cách thủ công, cố định từng đích đến với khoảng cách cũng do ngƣời quản trị qui định. Các này rõ ràng rất cứng nhắc và không thể sử dụng với hệ thống mạng có thay đổi kiến trúc thƣờng xuyên, hiện tại nó rất ít đƣợc sử dụng
- Thời kỳ đầu - định tuyến theo giao thức vector - khoảng cách DV (distance - vector): thời kỳ này mạng máy tính còn chƣa mở rộng, các mạng đƣợc xây dựng có qui mô nhỏ, đồng nhất về đƣờng truyền và kiến trúc ổn định. Thời kỳ này giao thức định tuyến vector-khoảng cách đƣợc phát triển. Các giao thức định tuyến theo kiểu này có nhiều loại, với các giao thức hƣớng mở thì có 2 giao thức sử dụng phổ biến là RIPv1, RIPv2, còn với các giao thức hƣớng bản quyền có IGRP, EIGRP của Cisco. Do đặc trƣơng là thích hợp với mạng nhỏ ổn định, thực hiện định tuyến nhanh, không yêu cầu các thiết bị có cấu hình cao, lại dễ cài đặt và sử dụng cho nên
hiện tại các giao thức kiểu này vẫn còn rất thích hợp trong sử dụng định tuyến mạng LAN và các mạng WAN có kích cỡ nhỏ.
- Thời kỳ sau - định tuyến theo giao thức trạng thái liên kết (link-state): Khi mạng tính ngày càng mở rộng, các thiết bị định tuyến ngày càng đƣợc nâng cấp và phát triển. Hệ thống hạ tầng của mạng lại thƣờng xuyên phải nâng cấp, thay đổi để đáp úng nhu cầu thực tế, trong mạng có nhiều loại thiết bị kết nối (bộ định tuyến, đƣờng truyền, …) khác nhau và kiến trúc thì thƣờng xuyên không ổn định. Việc định tuyến trên mạng theo dạng vetor-khoảng cách không đáp ứng đƣợc nhu cầu thực tế đó, do nó thƣờng xuyên làm phát sinh định tuyến lặp, làm mạng không ổn định đƣợc trong quá trình truyền dữ liệu. Mặc dù ngƣời ta đã đề xuất nhiều giải pháp khắc phục nhƣợc điểm, tuy nhiên nó vẫn còn rất bất cập và khó sử dụng, các giải pháp khắc phục lại không khai thác tối đa cơ sở hạ tầng mạng làm lãng phí tài nguyên mạng. Do vậy, việc nghiên cứu và cho ra đời một loại giao thức định tuyến mới là đòi hỏi cấp thiết, giao thức định tuyến theo trạng thái liên kết ra đời trong hoàn cảnh đó. Nó đã đáp ứng đƣợc hầu hết các tiêu chí trên nhƣ: khắc phục sự cố định tuyến lặp, thích ứng đƣợc sự hỗn tạp cơ sở hạ tầng, tính thay đổi linh động trong kiến trúc mạng. Có rất nhiều giao thức phát triển theo dạng định tuyến này nhƣ: OSPF, IS-IS, các giao thức này còn đƣa ra nhiều giải pháp trong việc định tuyến mạng có qui mô lớn nhƣ: Định tuyến phân vùng (còn gọi là định tuyến có cấu trúc thứ bậc), kết nối định tuyến nhiều nguồn,…Hiện tại, các giao thức định tuyến theo dạng này đƣợc sử dụng rất phổ biến tại trong các hệ thống LAN-WAN.
- Thời kỳ phát triển mạng Internet-định tuyến theo vector đường đi: Khi mạng Internet phát triển và bùng nổ, hình thành một hệ thống các mạng WAN khổng lồ, thì cả hai kiểu định tuyến trên đều không còn phù hợp do cả hai phƣơng thức định tuyến DV và LS trên đều phải duy trì một bảng định tuyến trong đó xác định khoảng cách các tuyến từ nguồn gửi đến các đích trong mạng, trong khi mạng Internet bao gồm một số lƣợng khổng lồ các nút cần định tuyến trong quá trình truyền dữ liệu đƣợc chia ra thành nhiều hệ tự trị, các hệ tự trị kết nối với nhau để truyền dữ liệu. Mỗi hệ tự trị lại sử dụng giao thức định tuyến riêng, khác nhau. Giải
pháp định tuyến theo path-vector đƣợc đƣa ra với ý tƣởng căn bản là: Chia ra hai loại định tuyến nội vi hệ tự trị (IGP) và ngoại vi hệ tự trị (EGP), bỏ qua việc xác định khoảng cách từ nguồn đến đích, thay vào đó chỉ xác định số nút mạng mà gói dữ liệu phải đi qua các hệ AS khi định tuyến liên hệ tự trị EGP, còn định tuyến trong hệ tự trị thì đƣợc giao hoàn toàn cho các giao thức dạng IGP. Hiện tại, giao thức đƣợc sử dụng phổ biến nhất trên mạng Internet là BGP với nhiều phiên bản (bản BGP v4 đang sử dụng rộng rãi), đáp ứng đƣợc các đòi hỏi trong thực tế.
4.1.2/ Với hệ thống mạng di động (mobile network):
Định tuyến trong mạng di động đƣợc kế thừa từ định tuyến trong mạng dây dẫn, có bổ sung và sửa đổi cho phù hợp với tính di động của mạng. Định tuyến trong hệ thống mạng di động chia ra thành hai lớp giao thức:
- Lớp giao thức hoạt động proactive: Hay còn gọi là lớp giao thức định tuyến hƣớng bảng trong mạng di động. Trong một hệ thống mạng có nhiều nút di động, mỗi nút đều duy trì một bảng định tuyến chứa thông tin về khoảng cách tối ƣu đến tất cả các nút khác, bảng định tuyến phải tạo lập và duy trì tại mọi nút. Khi cần trao đổi thông tin, một nút sẽ chọn tuyến đến đích trong bảng định tuyến của nó. Nhóm giao thức xây dựng theo lớp định tuyến này chủ yếu gồm: DSDV, WRP, …
- Lớp giao thức hoạt động reactive: Còn gọi là lớp giao thức định tuyến hƣớng yêu cầu. Hoạt động của lớp giao thức này là hoàn toàn khác với giao thức định tuyến truyền thống ở chỗ: Trong mạng di động gồm nhiều nút, các nút không tạo lập và duy trì một