Báo cáo Ad-Hoc network

Nội dung báo cáo

 

I.Các thuật ngữ viết tắt

 

II.Tổng quan về Mobile – Adhoc – Network (MANET):

2.1.MANET là gì

2.2.Các giao thức định tuyến trong MANET

2.3.Giới thiệu chung về mạng mắt lưới không dây WMN (Wireless Mesh Network )

2.4.Định tuyến trong mạng WMN

2.5.Tiêu chuẩn IEEE 802.11s

2.6.Định tuyến trong mạng hình lưới 802.11s

 

III.Giao thức định tuyến vectơ cự ly theo yêu cầu tùy biến AODV:

3.1.Tổng quan về AODV

3.2.Định dạng các gói tin

3.3.Hoạt động của AODV

 

IV.Giao thức định tuyến nguồn động DSR:

4.1.Tổng quan về DSR

4.2.Vấn đề cơ bản của cơ chế xác định tuyến và duy trì tuyến

4.3.Định dạng mào đầu các lựa chọn DSR

4.4.Hoạt động của DSR

4.5.Vị trí của chức năng định tuyến DSR trong mô hình tham khảo ISO

 

V.Tài liệu tham khảo

 

 

 

 

 

 

doc74 trang | Chia sẻ: maiphuongdc | Lượt xem: 2725 | Lượt tải: 5download
Bạn đang xem trước 20 trang tài liệu Báo cáo Ad-Hoc network, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ược sử dụng bởi các nút hàng xóm, và vì thế nó có thể cần thiết cho việc gửi một RERR. RERR nên chứa các đích đó là một phần danh sách được tạo ra của các đích khồng đến được và có một danh sách cách chặng trước không trống rỗng. Các nút láng giềng mà có thể nhận RERR là tất cả các nút thuộc về một danh sách chặng trước của ít nhất một đích không thể tới được trong RERR mới được tạo. Trong trường hợp có duy nhất một hàng xóm mà cần nhận RERR, RERR nên được truyền unicast theo hướng hàng xóm đó. Nếu không RERR được gửi quảng bá các địa chỉ nội vùng ( IP đích là 255.255.255.255 và TTL =1) với các đích không thể đến được, và chỉ số thứ tự đích tương ứng của các đích đó, được chứa trong gói tin. Trường DestCount của gói RER xác định số lượng các đích không tới được đã bao gồm tron gói tin. Ngay trước khi truyền RERR, những cập nhật đã chắc chắn được tạo trên bảng định tuyến mà có thể ảnh hưởng tới chỉ số thứ tự cho các đích không thể đến được. Đối với mỗi một đích này, các mục bảng định tuyến tương ứng được cập nhật như sau: Chỉ số thứ tự đích của mục định tuyến này, nếu hiện tại nó là hợp lệ, được tăng trong các trường hợp (i) và (ii) ở trên, và được sao chép từ RERR đến trong trường hợp (iii) ở trên. Mục được cho là không hợp lệ bởi sự đánh dấu của mục tuyến khi không hợp lệ. Trường Lifetime được cập nhật bằng thời gian hiện tại cộng với thời gian DELETE_PERIOD. Trước thời gian này, mục không nên được xóa. Chú ý rằng trường Lifetime trong bảng định tuyến đóng hai vai trò: đối với một tuyến hoạt động nó là thời gian hết hạn, và đối với một tuyến không hợp lệ nó là thời gian xóa. Nếu một gói dữ liệu được nhận cho một tuyến không hợp lệ, trường Lifetime được cập nhật bằng thời gian hiện tại cộng với thời gian DELETE_PERIOD. 3.3.12 Sửa chữa nội vùng. Khi một liên kết gãy trong một tuyến hoạt động tìm thấy, nút luồng lên của liên kết gãy này có thể chọn sửa chữa liên kết nội vùng nếu đích không xa hơn MAX_REPAIR_TTL chặng. Để sửa chữa liên kết gãy, nút tăng chỉ số thứ tự cho đích và sau đó quảng bá một RREQ cho đích đó. Trường TTL của RREQ nên được thiết lập ban đầu bằng giá trị như sau: TTL = max (MIN_REPAIR_TTL, 0.5 x #hops) + LOCAL_ADD_TTL. Với #hops là số lượng các chặng tới nút khởi đầu của gói tin không phân phát được hiện tại. Như vậy, sửa chữa nội vùng cố gắng sẽ thường xuyên ẩn tới nút khởi đầu và sẽ luôn có TTL >= MIN_REPAIR_TTL + LOCAL_ADD_TTL. Nút khởi đầu sửa chữa sau đó đợi trong khoảng thời gian khám phá để nhận các RREP hồi đáp tới RREQ. Trong suốt thời gian sửa chữa nội vùng, các gói dữ liêuk nên được nhớ đệm. Nếu, tại thời điểm cuối cùng của một thời gian khám phá, nút sửa chữa không nhận được một RREP cho đích đó, nó sẽ gửi một bản tin RERR đối với đích đó. Mặt khác, nếu nút nhận một hay nhiều RREP trong suốt thời gian khám phá, đầu tiên nó sẽ so sánh giá trị hop count của tuyến mới với giá trị trong trường hop count của mục bảng định tuyến không hợ lệ cho đích đó. Nếu giá trị hop count của tuyến được xác định mới nhất tới đích lơn hơn hop count của tuyến được biết trước đó, nút nên phát ra một bản tin RERR cho đích với bit N được thiết lập. Sau nó đõ cập nhận mục bảng định tuyến cho đích đó. Một nút mà nhận bản tin RERR với cờ N được thiết lập không được xóa bỏ tuyến tới đích đó. Chỉ nên thực hiện hành động truyền lại gói tin, nếu RERR được nhận từ chặng tiếp theo dọc tuyến đó, và nếu có một hoặc nhiều các nút chặng trước cho tuyến đó tới đích. Khi nút khởi đầu nhận một RERR với cờ N được thiết lập, nếu bản tin này đến từ chặng tiếp theo của nó dọc them tuyến của nó tới đích thì nút khởi đầu nên chọn khởi đầu lại khám phá tuyến. Sửa chữa nội cùng của các liên kết gãy trong các tuyến đôi khi cho kết quả là tăng độ dài tuyến tới các đích đó. Sự sửa chữa liên kết nội vùng có khả năng tăng số lượng các gói dữ liệu mà có thể được phân phát tới các đích, vì các gói sẽ không bị hủy bỏ khi RERR di chuyển tới nút khởi đầu. Việc gửi một RERR tới nút khởi đầu sau khi sửa chữa nội vùng liên kết gãy có thể cho phép nút khởi đầu tìm được một tuyến mới tới đích mà tốt hơn dựa trên vị trí nút hiện tại. Tuy nhiên, nó không yêu cầu nút khởi đầu xây dựng lại tuyến. Khi một liên kết gãy dọc một tuyến hoạt động, thường xuyên có nhiều đích mà trở nên không tới được. Nút mà là luồng lên của liên kết bị mất lập tức thử một sửa chữa nội vùng cho chỉ một đích theo hường mà gói dữ liệu được di chuyển. Các tuyến khác sử dụng cùng liên kết phải được đánh dấu là không hợp lệ, nhưng nút điều khiển sửa chữa nội vùng phải báo hiệu mỗi tuyến mất mới nhất khi sửa chữa nội vùng; cờ sửa chữa nội vùng này trong bảng định tuyến phải được đặt lại khi tuyến hết hạn. Trước khi thời gian hết hạn xảy ra, các tuyến khác này sẽ được sửa chữa khi cần thiết khi các gói đến các đích khác. Do đó, các tuyến này được sửa chữa khi cần; nếu một gói dữ liệu không đến tuyến nào, thì tuyến đó sẽ không được sửa chữa. Ngoài ra, tùy thuộc vào sự tắc nghẽn nội vùng, nút có thể bắt đầu xử lý thiết lập các sửa chữa nội vùng cho các tuyến khác, mà không đợi gói tin mới đến. Bằng việc sửa chữa tiên phong các tuyến mà đã gãy do mất liên kết, các gói dữ liệu đến cho các tuyến đó sẽ phải chịu sự trì hoãn sửa chữa tuyến và có thể ngay lập tức được chuyển tiếp. Tuy nhiên việc sửa chữa tuyến đường trước khi một gói dữ liệu được nhận có thể gặp phải rủi ro về việc các tuýên đường sửa chữa không còn tồn tại nữa. Vì vậy tùy thuộc vào lưu lượng nội vùng trong mạng và sự tắc nghẽn đang được trải qua, nút có thể quyết định sửa chữa tiên phong các tuyến hay không trước khi một gói dữ liệu được nhận; nếu không, nó có thể đợi cho đến khi một gói dữ liệu được nhận, và sau đó bắt đầu sửa chữa tuyến. 3.3.13 Các hoạt động sau khi khởi động lại Một nút tham gia trong mạng ad hoc chắc chắn phải thực hiện các hoạt động sau khi khởi động lại như nó có thể mất tất cả các bản ghi chỉ số thứ tự cho tất cả các đích, bao gồm chỉ số thứ tự của chính nó. Tuy nhiên, có thể có các nút hàng xóm mà đang sử dụng nút này như một chặng tiếp theo hoạt động. Điều này có thể có khả năng tạo các vòng lặp định tuyến. Để ngăn chặn khả năng này, mỗi nút trong quá trình khởi động lại chờ trong khoảng thời gian DELETE_PERIOD trước khi truyền bất kì một bản tin khám phá tuyến nào. Nếu nút nhận một gói điều khiển RREQ, RREP hoặc RERR, nó nên tạo các mục tuyến khi giữ thông tin chỉ số thứ tự thích hợp trong các gói điều khiển, nhưng không được chuyển tiếp bất kì gói điều khiển này. Nếu nút nhận một gói dữ liệu cho một vài đích khác, nó nên quảng bá một RERR và phải đặt thời gian chờ đến hết hạn sau khi cộng thêm thời gian DE:ETE_PERIOD hiện tại. Nó có thể được chỉ ra bởi thời gian mà nút được khởi động lại tới giai đoạn chờ và trở thành một nút hoạt động lại, không một hàng xóm nào của nó sẽ sử dụng nó như một chặng tiếp theo hoạt động nữa. Chỉ số thứ tự của nó được cập nhật một lần khi nó nhận một RREQ từ bất kì nút nào khác, khi một RREQ luôn mang chỉ số thứ tự đích lớn nhất được thấy trong tuyến. Nếu như không có RREQ được nhận, nút phải khởi tạo chỉ số thứ tự của nó là 0. 3.3.14 Các giao diện mạng Bởi vì AODV có thể hoạt động một cách linh hoạt qua các mạng có dây cũng như không dây, và bởi vì nó có khả năng được sử dụng bởi nhiều thiết bị không dây, giao diện cụ thể qua đó các gói đến phải được biết từ AODV mỗi khi một gói được nhận. Điều này bao gồm sự tiếp nhận các bản tin RREQ, RREP và RERR. Mỗi khi một gói được nhận từ một hàng xóm mới, giao diện trên đó mà gói đã được nhận được ghi vào mục bảng định tuyến cho hàng xóm đó, cùng với tất cả thông tin định tuyến tương ứng. Tương tự, mỗi khi một tuyến tới một đích mới được học, giao diện qua đó mà đích có thể tới được cũng được ghi vào trong mục bảng định tuyến cho đích này. Khi nhiều giao diện sẵn sàng, một nút truyền lại một bản tin RREQ quảng bá bản tin đó trên tất cả các giao diện mà đã được cấu hình cho hoạt động trong mạng ad hoc, trừ ra những cái mà trong đó nó được biết rằng tất cả các nút hàng xóm đã nhận RREQ. Ví dụ, đối với một vài phương tiện quảng bá (chẳng hạn Ethernet) nó có thể được cho rằng tất cả các nút trên cùng một liên kết nhận một bản tin quảng bá tại cùng một thời điểm. Khi một nút cần truyền một RERR, nó chỉ nên truyền trên các giao diện của nó mà có các nút hàng xóm nhận trước đó cho tuyến đó. IV.Giao thức định tuyến nguồn động DSR 4.1.Tổng quan về DSR Giao thức định tuyến nguồn động DSR (Dynamic Source Routing protocol) là một giao thức định tuyến đơn giản và hiệu quả được thiết kế sử dụng riêng cho các nút di động trong mạng không dây ad hoc multi- hop. Sử dụng DSR, mạng sẽ hoàn toàn tự động tổ chức và tự động cấu hình, tự yêu cầu mà không cần đến một cơ sở hạ tầng và quản trị mạng hiện đại. Các nút mạng chuyển tiếp các gói tới các nút khác bằng các kết nối cho phép qua multi-hop. Khi các nút di chuyển về, vào hoặc rời xa mạng, thì các trạng thái của đường truyền không dây như nguồn nhiễu sẽ thay đổi, tất cả các tuyến được tự động quyết định và duy trì bởi giao thức định tuyến DSR. Từ một số hay một chuỗi các chặng trung gian cần để đi đến một đích nào đó có thể thay đổi tại bất cứ thời gian nào, kết quả là topo mạng sẽ khá phong phú và thay thổi khá nhanh. Giao thức DSR cho phép các nút khám phá linh động từ một nút nguồn qua nhiều hop mạng để tới bất kì đích nào trong mạng ad hoc. Mỗi gói dữ liệu gửi đi sẽ mang trong nó một header đầy đủ, chứa danh sách các nút xuyên suốt mà gói dữ liệu phải vượt qua, tránh việc thiếu thông tin định tuyến tại các nút trung gian trong quá trình gói được gửi đi. Do trong mỗi header của gói dữ liệu đều bao gồm thông tin về nút nguồn, nêu khi các nút khác chuyển tiếp đi hoặc nhận được thông tin từ bất kì gói nào trong số các gói gửi nó cũng dễ dàng lưu giữ được thông tin định tuyến để sử dụng cho sau này. Giao thức định tuyến nguồn động DSR bao gồm hai cơ chế cùng thực hiện cho phép khám phá và duy trì của các phương pháp định tuyến nguồn động trong mạng ad hoc: Khám phá đường RD (Route Discovery) là cơ chế tìm đường khi nút S muốn chuyển một gói tin tớ nút đích D. Khám phá đường chỉ sử dụng khi mà nút S muốn gửi gói tin tới nút D mà chưa biết đường đi tới D. Duy trì đường RM ( Route Mantenance) là cơ chế mà khi nút S có một cách nào đó tự tìm thấy đường trong khi đường truyền đang sử dụng bị gián đoạn do cấu hình mạng bị thay đổi hoặc kết nối giữa các nút trong đường truyền đó không hoạt động. Khi RM chỉ ra rằng tuyến đến D bị đứt, S có thể cố gắng thử một đường nào khác để đến D hoặc có thể thực hiện lại cơ chế RD để tìm ra một đường mới. Duy trì đường RM chỉ được sử dụng khi S thực sự gửi gói tin tới D. Phát hiện đường và duy trì đường hoạt động hoàn toàn riêng rẽ theo các yêu cầu của nút. Thông thường, không giống như các giao thức khác, định tuyến nguồn động DSR không yêu cầu truyền định kì các gói của bất kì nhóm nào, mức độ nào trong phạm vi mạng. Ví dụ, DSR không sử dụng truyền định kì quảng bá đường, trạng thái hướng kết nối, hoặc sự nhận ra các gói hàng xóm, và không dựa vào các chức năng của các giao thức lớp dưới trong mạng. Các yêu cầu của nút này có cách hoạt động và thiếu các hoạt động định kỳ cho phép số lượng gói mào đầu sinh ra bởi DSR được sắp xếp trên tất cả các đường giảm xuống mức 0, khi tất cả các nút ở trạng thái ổn định với các nút cụ thể khác và tất cả các tuyến cần cho luồng kết nối vừa khám phá ra. Khi một số nút di chuyển nhiều hơn hoặc như sự thay đổi kiểu truyền thông, mào đầu gói định tuyến DSR tự động được sắp xếp để nắm bắt các tuyến đang được sử dụng. Trong sự đáp trả của một khám phá tuyến RD đơn ( như là qua thông tin định tuyến từ các gói mào đầu khác), một nút sẽ học và lưu trữ nhiều đường tới bất kì đích nào. Điều này cho phép đáp ứng được sự thay đổi tuyến nhiều và nhanh chóng, từ một nút với nhiều đường tới một đích có thể cố gắng truy cập bộ nhớ để tìm đường tới đích nếu như một tuyến nào đó bị lỗi. Bộ nhớ đệm các tuyến này cũng tránh cho các mào đầu cần thực hiện cơ chế khám phá tuyến mới mỗi khi tuyến sử dụng bị lỗi. Sự hoạt động của cơ chế RD và RM trong DSR được thiết kế cho phép kết nối đơn hướng và hỗ trợ dễ dàng các tuyến bất đối xứng. Cụ thể, trong các mạng không dây, nó có thể thực hiện được một kết nối giữa hai nút mà không thể thực hiện truyền cân bằng cả hai hướng hai hướng, vì những lí do như sự khác nhau giữa các anten, kiểu truyền hoặc các nguồn nhiễu. DSR cho phép sử dụng kết nối đơn hướng khi cần thiết, cải thiện hiệu suất nói chung và liên kết các mạng trong hệ thống. DSR cũng hỗ trợ ghép nối liên mạng giữa các loại mạng không dây khác nhau, cho phép một tuyến nguồn bao gồm nhiều chặng qua sự kết hợp của các kiểu mạng sẵn có. Ví dụ, một vài nút trong mạng ad hoc chỉ có duy nhất sóng vô tuyến phạm vi hẹp, trong khi những nút khác thì có cả sóng vô tuyến phạm vi hẹp và rộng; sự kết hợp giữa những nút này với nhau có thể được tính toán bởi DSR như một mạng ad hoc đơn. Thêm nữa, định tuyến nguồn động DSR có thể được tích hợp vào chuẩn định tuyến Internet, nơi mà các nút gateway kết nối tới Internet cũng tham gia trong các giao thức định tuyến của mạng ad hoc; và được tích hợp vào định tuyến Mobile IP, nơi mà các nút gateway cũng phục vụ vai trò của một nhà quản lý Mobile IP nước ngoài. 4.2.Vấn đề cơ bản của cơ chế xác định tuyến và duy trì tuyến 4.2.1 Vấn đề cơ bản của xác định tuyến Khi một vài nút S khởi đầu một gói tin mới định trước tới một vài nút D khác, trong phần mào đầu của gói tin chứa một tuyến nguồn lưu giữ chuỗi các chặng mà gói tin phải đi qua theo hướng đường đến đích D. Thông thường, S sẽ tìm được một tuyến nguồn phù hợp bằng cách tìm kiếm trong bộ nhớ đệm Route Cache của các tuyến trước đây nó học được, nhưng nếu không tìm thấy một tuyến nào trong bộ nhớ Cache nó sẽ phải thực hiện cơ chế khám phá đường RD để tìm ra đường mới tới D. Trong trường hợp này, ta gọi S là điểm khởi đầu và D là điểm kết thúc của cơ chế RD. Hình 3.1: Nút nguồn A thực hiện xác định tuyến tới đích E Ví dụ, hình 3.1 minh họa một ví dụ về cơ chế RD, trong đó nút A cố gắng xác định một tuyến tới nút E. Để bắt đầu xác định tuyến, A gửi một bản tin ROUTER REQUEST như một gói đơn quảng bá khu vực, cái mà được nhận bởi tất cả các nút trong phạm vi truyền không dây của nút A hiện tại. Mỗi bản tin RREQ cũng mang thông tin về điểm khởi đầu và điểm kết thúc của quá trình RD, và cũng bao gồm một request id duy nhất, được xác định rõ bởi điểm khởi đầu của bản tin. Mỗi bản tin RREQ cũng bao gồm một danh sách ghi chép địa chỉ của mỗi nút trung gian xuyên suốt quá trình bản tin RREQ được gửi đi. Bản định tuyến này ban đầu là một danh sách trống được tạo bởi điểm khởi đầu của cơ chế RD. Khi một nút khác nhận được bản tin RREQ, nếu nó là điểm kết thúc của RD, nó sẽ hổi đáp bằng bản tin ROUTER REPLY tới điểm bắt đầu của cơ chế RD, lưu giữ lại các tuyến tích lũy được từ bản tin RREQ; khi điểm khởi đầu nhậc được bản tin RREP này, nó lưu giữ tuyến này vào bộ nhớ đệm của nó để sử dụng cho việc gửi các gói tin sau đó tới đích. Trong trường hợp, nếu nút này nhận bản tin RREQ đã gặp mới đây được gửi từ điểm khởi đầu này và có cùng request id, hoặc nó tìm thấy địa chỉ của chính nó đã có trong danh sách chứa trong bản tin RREQ, nó sẽ loại bỏ yêu cầu này. Nếu không, nút này gắn thêm vào danh sách tuyến của bản tin RREQ địa chỉ của chính mình và quảng bá các gói bản tin RREQ tới các nút kế tiếp ( với cùng một chỉ số request id). Trong việc gửi ngược lại bản tin RREP đến nút khởi đầu xác định tuyến, chẳng hạn từ nút E hồi đáp về nút A trong hình 1, nút E sẽ nghiên cứu bộ nhớ đệm của chính nó để tìm ra một tuyến trở về A, và nếu tìm được, nó sẽ sử dụng tuyến đó làm tuyến nguồn để phân tán gói tin chứa bản tin RREP. Nếu không, E sẽ tự nó thực hiện một cơ chế xác định tuyến mới để tìm đường tới nút A, nhưng để tránh sự đệ quy vô thời hạn của xác định tuyến, nó phải mang thêm bản tin RREP này trong chính bản tin RREQ của nó gửi tới A. Nó cũng phải mang thêm những gói dữ liệu nhỏ khác như gói TCP SYN trên bản tin RREQ sử dụng cùng kĩ thuật này. Nút E cũng đảo ngược hoàn toàn chuỗi các chặng trong bản ghi tuyến trong bản tin RREQ mà nó đã nhận được để cố gắng gửi gói tin RREP và sử dụng nó như tuyến gốc trong gói tin mang chính bản tin RREP của nó. Đối với các giao thức MAC như IEEE 802.11 thì nó yêu cầu trao đổi một khung theo hai hướng trực tiếp như một phần của giao thức lớp MAC, tuyến đảo ngược này được ưu tiên hơn do nó tránh được mào đầu có thể có của xác định tuyến thứ hai, và nó kiểm tra được tuyến đã xác định ra để đảm bảo nó là hai hướng trực tiếp trước khi xác định tuyến của điểm khởi đầu bắt đầu sử dụng tuyến. Tuy nhiên, kĩ thuật này sẽ ngăn cản sự phám phá tuyến kết nối đơn hướng. Trong các môi trường vô tuyến nơi mà việc sử dụng kết nối đơn hướng được cho phép, như các tuyến mà trong một vài trường hợp thì việc sử dụng kết nối đơn hướng trực tiếp hiệu quả hơn so với việc kết nối hai hướng trực tiếp, hoặc nó chỉ có một đường duy nhất để kết nối tới nút đích. Khi bắt đầu khám phá tuyến, nút gửi sẽ lưu giữ một bản ghi của gói gốc trong vùng nhớ gọi là bộ nhớ đệm gửi Send Buffer. Bộ nhớ đệm gửi này chứa một bản ghi của mỗi gói cái mà nó không thể được truyền bởi nút này vì không có tuyến gốc tới đích của gói tin. Mỗi gói trong bộ nhớ đệm gửi được ghi vào thời gian mà nó được nhớ vào bộ nhớ đệm và bị hủy bỏ sau khi hết hạn tồn tại trong bộ nhớ đệm gửi trong một vài khe thời gian; nếu cần thiết ngăn cản bộ nhớ đệm gửi bị tràn, một FIFO hoặc một kế hoạch thay thế nào khác cũng có thể được sử dụng để truyền các gói đi trước khi nó hết hiệu lực. Trong khi một gói còn ở trong bộ nhớ đệm gửi, thì nút cần thỉnh thoảng phát động một cơ chế khám phá tuyến mới tới địa chỉ đích của gói tin. Tuy nhiên, nút phải giới hạn tốc độ phát động khám phá tuyến mới cho cùng một địa chỉ, vì nó có khả năng không thể đến đích. Cụ thể, do phạm vi truyền không dây bị giới hạn và các nút di chuyển trong mạng, mạng có thể bị chia cắt tại nhiều thời điểm, có nghĩa là hiện tại không có một chuỗi các nút xuyên suốt để có thể truyền một gói tới được đích. Tin tưởng vào hoạt động theo mẫu và sự đông đúc của các nút trong mạng, theo đó sự chia cắt trong mạng có thể là hiếm có và có thể là bình thường. Nếu một khá phá tuyến mới được phát động cho mỗi gói gửi bởi một nút như trong trạng thái, một số lượng lớn các gói RREQ không hữu ích có thể truyền bá rộng khắp các tập hợp con của mạng ad hoc từ nút này. Trong sự sắp xếp theo chiều hướng giảm xuống của mào đầu xuất phát từ các khám phá tuyến, chúng ta có thể sử dụng sự giảm dần theo hàm số mũ tới tốc độ giới hạn mà tại đó các khám phá tuyến mới có thẻ được phát động bởi bất kì nút nào đến cùng đích. Nếu nút cố gắng gửi thêm các gói dữ liệu đến cùng nút đích này thường xuyên hơn giới hạn, các gói đến sau sẽ được lưu giữ tại bộ nhớ đệm gửi cho đến khi một bản tin RREP được nhận, nhưng mà nút không được phát động một khám phá tuyến mới cho đến khi hết thời gian tối thiểu cho phép giữa các khám phá tuyến mới tới đích này. Sự giới hạn trong tốc độ lớn nhất của các khám phá tuyến cho cùng một đích tương tự như kĩ thuật quy định bởi các nút Internet tới tốc độ giới hạn mà tại đó các ARP REQUEST được gửi tới bất kì một địa chỉ IP đích nào. 4.2.2 Vấn đề cơ bản của duy trì tuyến Khi bắt đầu hay gửi một gói tin sử dụng một tuyến gốc, mỗi nút truyền gói tin có thể xác thực rằng gói tin đã được nhận bởi chặng kế tiếp dọc theo tuyến gốc hay chưa; các gói được truyền lại ( tới một số lượng lớn nhất có thể) cho đến khi được xác thực là đã được nhận. Ví dụ, trong minh họa ở hình 2, nút A phát động một gói tin tới nút E sử dụng một tuyến gốc xuyên suốt các nút trung gian là B, C và D. Trong trường hợp này, nút A có nghĩa vụ xác thực tại B, nút B có nghĩa vụ xác thực tại C, nút C có nghĩa vụ xác thực tại D và nút D cuối cùng có nghĩa vụ xác thực tại đích E. Sự ghi nhận xác thực này trong nhiều trường hợp có thể cung cấp không giá cho DSR, cái này như một phần tiêu chuẩn hiện tại của giao thức lớp MAC đang được sử dụng. Nếu các kĩ thuật xác thực không sẵn sàng, nút truyền gói tin có thể bố trí một phần nhỏ trong mào đầu gói tin đẻ yêu cầu một phần mềm đặc biệt của DSR công nhận sự phản hồi của chặng kế tiếp; phần mềm này công nhận đường truyền trực tiếp thông thường tới nút gửi, nhưng nếu kết nối giữa hai nút là đơn hướng trực tiếp, phần mềm có thể sẽ công nhận di chuyển qua một chặng khác, như đường nhiều chặng. Hình 3.2: Nút C không thể chuyển tiếp gói tin từ A đến E do liên kết giữa nó và D bị gãy Nếu gói tin được gửi lại bởi một vài chặng sau một lượng thời gian lớn nhất và không được xác thực là đã nhận, nút này sẽ gửi trả lại một bản tin ROUTE ERROR tới nút gốc của gói tin, chỉ ra rằng không thể chuyển tiếp gói tin. Ví dụ, trong hình 2, nếu C không thể gửi gói tin tới chặng kế tiếp D, thì C sẽ gửi một bản tin ROUTE ERROR tới A, chỉ ra rằng kết nối giữa C và D bị đứt. Nút A sau đó sẽ xóa bỏ liên kết bị gãy này khỏi bộ nhớ của nó; bất kỳ sự truyền lại nào của gói tin gốc đều là chức năng của các giao thức lớp cao hơn như TCP. Để gửi một sự truyền lại hay các gói tin khác đến cùng đích E, nếu A có trong bộ nhớ của nó một tuyến nào khác đến E ( ví dụ, từ các RREP của nó có được từ khám phá tuyến mới nhất, hoặc từ thông tin về tuyến đầy đủ trong mào đầu từ các gói khác), nó có thể ngay lập tức gửi gói tin sử dụng tuyến mới. Nếu không, nó có thể phát động một khám phá tuyến mới để tìm đường đến đích. 4.3.Định dạng mào đầu các lựa chọn DSR Giao thức định tuyến nguồn động DSR sử dụng một mào đầu đặc biệt mang thông tin điều khiển mà có thể chứa trong nó bất kì gói IP hiện tại nào. Mào đầu các lựa chọn DSR này trong một gói bao gồm một kích thước nhỏ cố định, theo sau là một chuỗi các số 0 hoặc nhiều lựa chọn DSR mang thông tin tùy ý. Kết thúc của chuỗi các lựa chọn DSR trong mào đầu các lựa chọn DSR được mặc định bởi tổng độ dài của mào đầu các lựa chọn DSR. Đối với IPv4, mào đầu các lựa chọn DSR phải theo ngay sau mào đầu IP trong gói. Để thêm một mào đầu các lựa chọn DSR vào một gói, mào đầu các lựa chọn được gài vào sau mào đầu gói tin IP, trước khi bất kì mào đầu nào theo như một mào đầu lớp vận chuyển truyền thống ( ví dụ TCP hoặc UDP). Trường giao thức trong mào đầu IP được sử dụng để chỉ ra rằng một mào đầu các lựa chọn DSR theo sau mào đầu IP, và trường mào đầu tiếp theo trong mào đầu các lựa chọn DSR được sử dụng để chỉ ra kiểu mào đầu giao thức theo sau mào đầu các lựa chọn DSR này ( như mào đầu lớp vận chuyển). Nếu bất kì mào đầu nào theo sau mào đầu các lựa chọn DSR trong một gói, tổng độ dài của mào đầu các lựa chọn DSR phải là một bội số của 4 octet. Luật lệ này bảo vệ sự liên kết của các mào đầu theo sau trong gói. 4.3.1 Sự phân chia cố định của mào đầu các lựa chọn DSR Sự phân chia cố định của mào đầu các lựa chọn DSR được sử dụng để mang thông tin mà phải có mặt trong bất kì mào đầu các lựa chọn DSR nào. Sự phân chia cố định của mào đầu các lựa chọn DSR được định dạng như dưới đây: Hình 3.3: Sự phân chia cố định mào đầu các lựa chọn DSR Next Header: 8 bit. Nhận biết kiểu mào đầu tiếp ngay sau mào đầu các lựa chọn DSR. Sử dụng cùng một giá trị như trường giao thức của IPv4. Nếu không có mào đầu nào theo sau thì Next Header phải có giá trị là 59, “No Next Header” F: Flow State Header- Mào đầu trạng thái luồng, là một flag bit. Bit này phải được thiết lập là 0. Nó được thiết lập trong một mào đầu trạng thái luồng và rõ ràng trong một mào đầu các lựa chọn DSR. Payload Length: Độ dài tải trọng. Độ dài của mào đầu các lựa chọn DSR, ngoại trừ phần 4 octet cố định. Giá trụ của trường độ dài tải trọng xác định tổng độ dài của tất cả các lựa chọn được mang trong mào đầu các lựa chọn DSR. Options: Trường các lựa chọn là trường có độ dài thay đổi. Độ dài của trường các lựa chọn được xác định bởi trường độ dài tải trọng trong mào đầu các lựa chọn DSR này. Bao gồm một hoặc nhiều mảnh của thông tin tùy ý (các lựa chọn DSR), được mã hóa trong định dạng type- length- value (TLV). Sự sắp xếp các lựa chọn DSR theo sau phần cố định của mào đầu các lựa chọn phải được lót đệm cho sự sắp hàng. Tuy nhiên, nhờ có đặc trưng băng thông không giây giới hạn cho phép trong các mạng ad hoc, việc đệm này không bắt buộc, và các nút nhận không phải mong đợi các lựa chọn trong vào một mào đầu các lựa chọn DSR được sắp hàng. Mỗi lựa chọn DSR được chỉ định một mã kiểu lựa chọn duy nhất. 3 bit quan trọng nhất (đó là kiểu tùy chọn & 0xE0) cho phép một node không triển khai thực hiện giá trị kiểu tùy chọn này để xử lý một cách gần đúng nhất kiểu đó: Các bit quan trọng nhất trong giá trị kiểu lựa chọn ( đó là kiểu tùy chọn & 0x80) có đại diện cho một nút nhận kiểu lựa chọn này hay không (khi một nút không thực hiện xử lý đối với kiểu lựa chọn này) nên hồi đáp tới một lựa chọn DSR với RERR của kiểu OPTION_NOT_SUPPORTED, không kể một RERR không bao giờ được gửi trong hồi đáp tới một gói bao gồm một lựa chọn RREQ. Hai bit theo sau trong giá trị kiểu lựa chọn ( đó là kiểu lựa chọn & 0x60) là một trường 2 bit chỉ ra một nút nào đó mà không hỗ trợ kiểu lựa chọn này phải xử lý gói: 00 = bỏ qua lựa chọn 01 = hủy bỏ lựa chọn 10 = đánh dấu lựa chọn 1

Các file đính kèm theo tài liệu này:

  • docNguyen Quang Hung.doc