Truyền dữ liệu theo phương pháp định tuyến từng chặng

Một phần của tài liệu (LUẬN văn THẠC sĩ) các đề xuất cải tiến giao thức AODV nhằm đảm bảo hỗ trợ qos (Trang 27 - 32)

2.1.5 Định tuyến đơn đường và định tuyến đa đường

Giao thức định tuyến đơn đường chỉ cài đặt vào bảng định tuyến tối đa là một đường tối ưu theo độ đo định tuyến sau mỗi tiến trình tìm đường mặc dù nút mạng có thể nhận được thông tin về nhiều con đường tới cùng một đích trong cùng một tiến trình tìm đường. Tại mỗi nút mạng, các gói tin được chuyển tiếp theo đường thích hợp có trong bảng định tuyến. Khi một liên kết trên đường đó bị lỗi, nút mạng này phải khởi tạo lại tiến trình tìm đường.

Để tiết kiệm tài nguyên hệ thống mạng trong tiến trình tìm đường, giao thức định tuyến đa đường cho phép tìm và cài đặt nhiều hơn một con đường không giao nhau tới cùng một đích vào bảng định tuyến của chúng. Tại một nút, khi có yêu cầu chuyển tiếp dữ liệu tới nút đích, con đường tốt nhất sẽ được sử dụng và những con đường còn lại sẽ đóng vai trò là đường dự phòng. Khi đường chính bị lỗi, các đường dự phòng sẽ được sử dụng để chuyển tiếp các gói tin dữ liệu nếu chúng vẫn trong trạng thái còn hoạt động được. Thêm vào đó, nếu cơ chế cân bằng tải được sử dụng, có thể phân chia dữ liệu cần truyền thành nhiều luồng được truyền song song trên các con đường.

Trong số các chiến lược định tuyến đã được trình bày ở trên, chiến lược định tuyến tìm đường trước (proactive) và định tuyến tìm đường theo yêu cầu (on-demand) được sử dụng rất rộng rãi. Với các giao thức sử dụng chiến lược định tuyến tìm đường trước kết hợp với cơ chế điều khiển dạng bảng, đường truyền dữ liệu giữa mọi cặp nút nguồn, đích trong mạng sẽ được khám phá trước khi có yêu cầu truyền dữ liệu. Tuy nhiên, do sự thay đổi ngẫu nhiên với tần suất lớn của các nút mạng trong mạng MANET nên chiến lược định tuyến này chỉ phù hợp với các mô hình mạng MANET tương đối tĩnh, cấu trúc mạng ít có sự thay đổi. Thêm vào đó, việc khám phá tất cả các đường đi giữa các cặp nút nguồn-đích bất kỳ trong mạng là không cần thiết và lãng phí vì có những con đường sẽ không được sử dụng.

2.2 Giao thức DSDV (Destination – Sequenced Distance – Vector) [1]

Là một trong những giao thức đầu tiên được phát triển cho mạng Adhoc. DSDV là một biến thể của giao thức định tuyến distance vector theo kiểu chủ ứng (proactive), dựa trên ý tưởng của thuật toán định tuyến kinh điển Bellman– Ford với một chút cải tiến.

Cải tiến mới của DSDV là sử dụng kỹ thuật đánh số thứ tự (sequence number). Kỹ thuật này dùng để nhận ra các con đường đi không còn giá trị trong

quá trình cập nhật bảng định tuyến, do đó, sẽ tránh được vòng lặp trong quá trình định tuyến. Mỗi nút sẽ tăng số sequence number khi gửi thông tin về bảng định tuyến của nó cho các nút khác trong mạng.

Các cơ chế trong DSDV

2.2.1Quản lý bảng định tuyến

Mỗi nút luôn duy trì một bảng định tuyến đến các nút khác trong mạng. Thông tin của mộtmục trong bảng định tuyến bao gồm:

 Địa chỉ của nút đích

 Số hop đến đích (hop – count)

 Next hop

 Số sequence number của nút đích.

Để đảm bảo cho bảng định tuyến luôn luôn phù hợp với những thay đổi trong mạng thì các nút phải thường xuyên cập nhật bảng định tuyến theo một khoảng thời gian nhất định khi mạng có sự thay đổi. Do đó, các nút phải quảng bá thông tin định tuyến của nó cho các nút khác trong mạng bằng cách quảng bá (broadcast) những thay đổi trong bảng định tuyến của nó. Khi một nút nhận gói tin cập nhật bảng định tuyến, nó sẽ kiểm tra số sequence number trong gói tin được cập nhật, nếu số này lớn hơn hoặc bằng với sốsequence number trong bảng định tuyến và số có hopcount nhỏ hơn thì nút sẽ cập nhật thông tin đó vào bảng định tuyến.

2.2.2 Cập nhật bảng định tuyến trong DSDV Bảng định tuyến sẽ được cập nhật theo hai cách: Bảng định tuyến sẽ được cập nhật theo hai cách:

Thứ nhất, cập nhật toàn bộ bảng định tuyến cho các nút láng giềng và có thể phải truyền trong nhiều packet, gọi là full-dump.

Thứ hai, cập nhật các phần thay đổi trong bảng định tuyến của nó cho các nút láng giềng và thông tin thay đổi chỉ được gửi đi trong một packet, gọi là incremental – update.

Đối với một mạng Adhoc tương đối ổn định, thì kiểu cập nhật incremental – update sẽ thường được sử dụng để hạn chế lưu lượng truyền trên mạng. Trong khi đó, full – dump sẽ được dùng trong những mạng thiếu ổn định.

2.2.3 Quản lý sự thay đổi của Topology

Khi một nút di chuyển từ nơi này đến nơi khác thì các liên kết của nó với các nút láng giềng có thể không còn hiệu lực. Khi một nút phát hiện rằng liên kết đến chặng kế tiếp (next hop) của nó không còn tồn tại thì đường đi qua next hop đó lập tức sẽ có hop-count là ∞ và số sequence number được tăng lên 1. Sau đó nútsẽ phát broadcast thông tin đó cho tất cả các nút trong mạng và các nútsẽ cậpnhật lại bảng định tuyến của mình.

Ưu điểm của DSDV là đảm bảo không có đường định tuyến kín (không có vòng lặp định tuyến) bằng cách sử dụng số thứ tự để đánh dấu mỗi đường. Số thứ tự cho biết mức độ “mới” của đường định tuyến, số càng lớn thì mức độ đảm bảo càng cao (đường R được coi là tốt hơn R’ nếu số thứ tự của R lớn hơn, trong trường hợp có cùng số thứ tự thì R phải có số bước nhỏ hơn). Số thứ tự sẽ tăng khi nút A phát hiện ra đường đến đích D đị phá vỡ, sau đó nút A quảng bá đường định tuyến của nó tới nút D với số bước không giới hạn và số thứ tự sẽ tăng lên.

DSDV phụ thuộc vào thông tin quảng bá định kỳ nên nó sẽ tiêu tốn thời gian để tổng hợp thông tin trước khi đường định tuyến được đưa vào sử dụng. Thời gian này là không đáng kể đối với mạng có cấu trúc cố định nói chung (bao gồm cả mạng có dây), nhưng với mạng Adhoc thời gian này là đáng kể, có thể gây ra mất gói tin trước khi tìm ra được định tuyến hợp lý. Ngoài ra, bản tin quảng cáo định kỳ cũng là nguyên nhân gây ra lãng phí tài nguyên mạng, như băng thông, điện năng, thời gian xử lý...

2.3. Giao thức AODV [1]

2.3.1. Tổng quan về giao thức AODV

Giao thức AODV sử dụng một cách tiếp cận hoàn toàn mới so với các phương pháp truyền thống để xây dựng các đường đi trong mạng. Khi một nút mạng muốn gửi một gói tin tới một nút nào đó, nó sẽ khởi tạo tiến trình xử lý phát hiện đường (discovery) để định vị nút đích. Nếu không có một đường đi nào được tìm thấy trong một khoảng thời gian xác định, nút khởi tạo sẽ cho rằng không tồn tại đường đi tới nút đích, tiến trình xử lý phát hiện đường (discovery) sẽ kết thúc đồng thời các gói tin tương ứng sẽ hủy bỏ. Ngược lại, nếu nútkhởi tạo tìm được một đường đi phù hợp, nó sẽ cập nhật đường đi này vào bảng định tuyến của nó như một đầu vào (entry) tương ứng với nút đích.

Khi một đầu vào mới được tạo ra, tiến trình xử lý việc duy trì (mainternance) tuyến cũng đồng thời được kích hoạt để giám sát tình trạng của đường đi vừa được tạo ra, nếu sau một khoảng thời gian đủ lớn mà đường đi không được sử dụng, nút mạng sẽ xóa đường đi này ra khỏi bảng định tuyến. Nếu có lỗi xuất hiện trên một đường đi có trạng thái tích cực, nút mạng phát hiện chặng có lỗi sẽ lập tức thông báo ngược lại cho nút lân cận ở phía đầu tuyến về chặng bị lỗi bằng một gói tin điều khiển cụ thể. Trong trường hợp nhận được gói thông báo lỗi trên, các nút mạng chịu ảnh hưởng sẽ khởi động lại tiến trình discovery để tìm đường đi thay thế nếu cần thiết.

AODV quản lý các thông tin về đường đi theo kiểu phân tán. Điều này có nghĩa là mỗi nút trên đường đi sẽ có một thành phần trong bảng định tuyến tương ứng với nút đích của đường đi đó. Cách quản lý này hoàn toàn trái ngược với phương pháp source routing (tìm đường từ nút nguồn) trong đó chỉ có nút nguồn mới biết đường đi đầy đủ tới nút đích. AODV cũng cho phép mỗi nút chỉ duy trì một và chỉ một đường đi ứng với mỗi nút đích. Tuy nhiên có một số giao thức tìm đường khác cho phép tìm nhiều đường ứng với mỗi nút đích. Trong trường hợp đường đi ban đầu bị lỗi, đường đi thay thế sẽ được sử dụng

Các thành phần của bảng định tuyến trong giao thức AODV được định dạng bao gồm các trường như sau:

<địa chỉ nút đích, địa chỉ chặng tiếp theo, số thứ tự, khoảngcách, danh sách các nút trước đó (precursor), ngày hết hạn >.

Trường số thứ tự được sử dụng để ngăn chặn sự hình thành các vòng lặp và thể hiện mức độ cập nhật của các đường đi.

+ Khoảng cách là số các bước truyền. Khi một đường đi mất hiệu lực, số thứ tự của nó sẽ tăng lên một và khoảng cách sẽ được đặt là vô cùng.

Danh sách precursor chứa tập hợp các nút lân cận, sử dụng thành phần này để chuyển tiếp các gói dữ liệu.

Thời gian hết hạn được sử dụng để xác định thời gian tồn tại tối đa của thành phần, sau hạn đó nó sẽ bị xóa bỏ khỏi bảng định tuyến. Tất nhiên giá trị của trường này sẽ được tăng lên mỗi lần thành phần này được sử dụng.[1]

2.3.2 Cơ chế hoạt động 2.3.2.1 Tiến trình Discovery 2.3.2.1 Tiến trình Discovery

Tiến trình Discovery là một phương pháp kỹ thuật cho phép từng nút nguồn trong một mạng MANET có thể định vị (lấy được địa chỉ IP) một nút đích. Tất nhiên, một nút khởi động tiến trình Discovery chỉ khi nút đích chưa từng được định vị trước đó hoặc không có thành phần nào trong bảng định tuyến tương ứng với nút đích. Nếu đã có một thành phần tồn tại trong bảng định tuyến, gói tin sẽ lập tức được chuyển đi và bước thực hiện tiến trình Discovery được bỏ qua.

Khi một nút khởi động cho tiến trình Discovery, nó phải gửi đi một gói tin yêu cầu tìm đường -RREQ (route request) tới tất cả các nút lân cận. Gói tin này được lan truyền tới tất cả các nút khác trong mạng khi một đường đi được xác định

2.3.2.2 Tạo Route Request:

Một phần của tài liệu (LUẬN văn THẠC sĩ) các đề xuất cải tiến giao thức AODV nhằm đảm bảo hỗ trợ qos (Trang 27 - 32)

Tải bản đầy đủ (PDF)

(60 trang)