Do đó, các giao thức định tuyến trong mạng Ad-hoc phải có cơ chế tự thiết lập, cập nhật và quản lý các thông tin cần thiết cho các nút mạng.[13] Khoảng cách sóng ngắn: Các nút trong mạng
Trang 1ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM
Trang 2ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM
ĐỖ VĂN LAI
NGHIÊN CỨU MỘT SỐ GIAO THỨC
ĐỊNH TUYẾN TRÊN MẠNG MANET
Chuyên ngành: Hệ thống Thông tin
Mã số: 8480104
LUẬN VĂN THẠC SĨ
Người hướng dẫn khoa học: TS PHẠM ANH PHƯƠNG
Đà Nẵng, năm 2021
Trang 3LỜI CẢM ƠN
Em xin trân trọng biết ơn và gửi lời cảm ơn chân thành, sâu sắc nhất đến thầy
giáo hướng dẫn, Tiến sĩ Phạm Anh Phương, người đã tận tình dẫn dắt và tạo mọi
điều kiện tốt nhất để em có thể hoàn thành luận văn này Đây chính là những hành trang vững chắc cho sự nghiệp trong tương lai của em
Em xin chân thành cảm ơn các thầy cô giáo khoa Tin học trường Đại học Sư Phạm Đà Nẵng, các thầy giáo của Đại Học Sư Phạm Hà Nội, Đại Học Khoa Học Huế, Đại Học Đà Nẵng, các cán bộ phòng Khoa Sau Đại Học trường Đại Học Sư Phạm Đà Nẵng những người đã trực tiếp giảng dạy, giúp đỡ và tạo mọi điều kiện thuận lợi cho
em trong quá trình học tập và hoàn thành khóa học
Xin được cảm ơn Lãnh đạo Ủy ban Phường Nại Hiên Đông, quận Sơn Trà thành phố Đà Nẵng đã tạo mọi điều kiện để bản thân được tham gia và hoàn thành tốt khoá học
Xin chân thành cảm ơn các anh chị em lớp cao học Hệ Thống Thông Tin,
K35-36 và các bạn đồng nghiệp đã luôn bên cạnh, động viên, khuyến khích tôi trong suốt thời gian học tập và thực hiện đề tài
Xin chân thành cảm ơn!
Trang 4LỜI CAM ĐOAN
Tôi xin cam đoan Luận văn: Nghiên cứu một số giao thức định tuyến trên mạng Manet là một công trình nghiên cứu độc lập dưới sự hướng dẫn của giáo viên: TS Phạm Anh Phương Luận văn là sản phẩm mà tôi đã nỗ lực nghiên cứu trong quá trình học tập tại trường cũng như sự giúp đỡ của Giáo viên Hương dẫn Các số liệu và kết quả nghiên cứu trong luận văn này là trung thực và không tr ng l p với các đề tài khác Mọi sự giúp đỡ cho việc thực hiện luận văn này đã được cảm ơn và các thông tin trích dẫn trong luận văn được chỉ rõ nguồn gốc
Học viên
Đỗ Văn Lai
Trang 7MỤC LỤC
LỜI CẢM ƠN i
LỜI CAM ĐOAN ii
TÓM TẮT ii
MỤC LỤC v
DANH MỤC CÁC KÝ HIỆU, CHỮ VIẾT TẮT vii
DANH MỤC CÁC BẢNG viii
DANH MỤC CÁC HÌNH ix
MỞ ĐẦU 1
1 Lý do chọn đề tài 1
2 Mục tiêu và nhiệm vụ đề tài 1
3 Đối tượng và phạm vi nghiên cứu 2
4 Phương pháp nghiên cứu 2
5 Giải pháp đề xuất 2
6 Kết quả dự kiến 2
7 Bố cục của luận văn 2
CHƯƠNG 1 TỔNG QUAN VỀ MẠNG KHÔNG DÂY VÀ MẠNG MANET 3
1.1 Khái quát về mạng không dây 4
1.2 Những đ c điểm chính của mạng không dây 4
1.3 Các giao thức định tuyến mạng MANET 5
1.4 Một số ứng dụng của mạng không dây 10
1.5 Kết luận chương 1 12
CHƯƠNG 2 MỘT SỐ GIAO THỨC ĐỊNH TUYẾN TRÊN MẠNG MANET 13
2.1 Giao thức định tuyến CBRP (Cluster Based Routing Protocol) 13
2.1.1 Cơ chế định tuyến CBRP 14
2.1.2 Duy trì tuyến đường 16
2.1.3 Cơ chế cảm biến trạng thái kết nối 17
2.1.4 Cơ chế hình thành cụm (Cluster) 19
2.1.5 Khám phá cụm liền kề (Adjacent Cluster Discovery) 23
2.2 Giao thức định tuyến ZRP (Zone Routing Protocol) 26
2.2.1 V ng định tuyến và định tuyến nội v ng (Intrazone Routing Protocol - IARP) 26
2.2.2 Định tuyến liên v ng (IERP) 28
2.2.3 Giải pháp quảng bá biên BRP (Bordercast Resolution Protocol) 30
2.2.4 Cơ chế kiểm soát truy vấn (Query Control) 31
Trang 82.3 Giao thức định tuyến DSDV (Destination - Sequenced Distance - Vector) 34
2.4 Giao thức định tuyến AODV 37
2.4.1 Khám phá đường 38
2.4.2 Thiết lập đường đảo chiều 39
2.4.3 Thiết lập đường chuyển tiếp 39
2.4.4 Quản lý bản định tuyến 40
2.4.5 Duy trì đường 41
2.4.6 Xử lý lỗi, hết hạn và xóa bỏ tuyến 43
2.4.7 Quản lý kết nối nội v ng 44
2.4.8 So sánh ưu điểm và nhược điểm của các giao thức ZRP, CBRP 45
2.4.9 So sánh các giao thức định tuyến 46
2.5 Kết luận chương 2 47
CHƯƠNG 3 ĐÁNH GIÁ HIỆU NĂNG MỘT SỐ GIAO THỨC ĐỊNH TUYẾN TRÊN MẠNG MANET 48
3.1 Giới thiệu môi trường mô phỏng NS 48
3.1.1 Tổng quan về NS2 48
3.1.2 Kiến trúc của NS2 48
3.2 Mô phỏng mạng không dây trong môi trường mạng NS 50
3.2.1 Tạo MobileNode trong NS 50
3.2.2 Tạo sự hoạt động cho nút 51
3.2.3 Các bước viết mã tcl để thực thi mô phỏng mạng wireless: 52
3.3 Mô phỏng giao thức định tuyến ZRP 54
3.3.1 Cài đ t module mô phỏng ZRP 54
3.3.2 Xây dựng kịch bản mô phỏng 55
3.4 Phân tích kết quả mô phỏng 56
3.4.1 Đánh giá hiệu năng của giao thức định tuyến ZRP 56
3.4.2 So sánh hiệu năng hoạt động của giao thức ZRP với CBRP 61
3.5 Kết luận chương 3 64
KẾT LUẬN 65 TÀI LIỆU THAM KHẢO
QUYẾT ĐỊNH GIAO ĐỀ TÀI LUẬN VĂN (Bản sao)
Trang 9DANH MỤC CÁC KÝ HIỆU, CHỮ VIẾT TẮT Tên viết tắt Nghĩa tiếng anh Nghĩa tiếng việt
AODV Ad-hoc On Demand Distance Vector Giao thức định tuyến vector
khoảng cách theo yêu cầu BSS Basic Service Sets Mô hình mạng cơ sở
CBR Constant Bit Rate Tốc độ bít không đổi
DSDV Destination Sequenced Distance
Vector
Giao thức định tuyến khoảng cách tuần tự đích
DSR Dynamic Source Routing Định tuyến nguồn động
IARP Internet Address Resolution
Protocol
Giao thức phân giải ngược lại địa chỉ Internet
IBSS Infrastructure Basic Service Sets Mô hình mạng độc lập
FQMM Flexible QoS model for MANETs Mô hình QoS thiết kế cho
mạng di động MAC Media Access Control Địa chỉ truy cập đường truyền
MANET Mobile Ad hoc Network Mạng di động tùy biến không
dây ZRP Zone Routing Protocol Giao thức định tuyến vùng
OFDM Orthogonal Frequency Division
Multiplexing
Ghép kênh phân tần số trực giao
QoS Quality of Service Chất lượng dịch vụ
RREP Route Replay Phản hồi thông tin định tuyến RREQ Router Request Yêu cầu thông tin định tuyến CBRP Cluster Based Routing Protocol Giao thức định tuyến dựa
trên cụm
Trang 11DANH MỤC CÁC HÌNH
Số hiệu
2.1 Định tuyến gói tin từ nút nguồn S đến nút đích D 15
3.7 Biểu đồ về tỷ lệ gửi gói tin thành công theo N 62 3.8 Biểu đồ về tỷ lệ gửi gói tin thành công theo v 63
Trang 12MỞ ĐẦU
1 Lý do chọn đề tài
Ngày nay, với sự b ng nổ và phát triển mạnh mẽ của công nghệ thông tin và sự
đa dạng các thiết bị di động cá nhân như: laptop, smartphone, tablet thì nhu cầu kết nối giữa các thiết bị này cũng ngày càng đòi hỏi cao hơn về dịch vụ người sử dụng như chất lượng, dịch vụ QoS, tốc độ Với sự cải tiến của công nghệ truyền thông không dây, trong vài năm trở lại đây mạng không dây ngày nay đã thu hút được sự quan tâm chú ý và phát triển ngày càng mạnh mẽ
Mạng di động t y biến không dây - MANET (Mobile Ad-hoc Network) - là
một trong những công nghệ truyền thông không dây; bao gồm các thiết bị di động vô tuyến kết nối ngang hàng với nhau có khả năng thu phát độc lập, hình thành nên một mạng tạm thời mà không cần sự trợ giúp của các thiết bị trung tâm cũng như các cơ sở
hạ tầng mạng cố định, nên nó vừa đóng vai trò truyền thông, vừa đóng vai trò như thiết
bị định tuyến, với chi phí hoạt động thấp, triển khai nhanh, có tính di động cao, các thiết bị có thể di chuyển một cách t y ý mà vẫn có thể truy cập mạng và có thể trao đổi
dữ liệu với nhau, dễ dàng bổ sung, thay thế các thiết bị tham gia trong mạng mà không cần phải cấu hình phức tạp lại toàn bộ hình trạng (topo) của mạng Vì thế, một số giao thức định tuyến truyền thống không còn ph hợp với mạng MANET mà được thay thế
b ng các giao thức định tuyến thích nghi, bản ghi và lai Tuy nhiên, hiện nay mạng MANET chưa được ứng dụng rộng rãi và vẫn còn những hạn chế như bán kính phủ sóng còn hạn chế, thiết bị phần cứng còn đắt, khả năng bảo mật chưa cao
Để giải quyết những vấn đề này đã có nhiều nghiên cứu để cải tiến về giao thức truyền cũng như định tuyến đường truyền trên mạng để mạng đạt được hiệu quả hoạt động tốt hơn như những cải tiến của DSDV, OLSR, DDR, TORA cũng được nghiên cứu nhiều Bên cạnh đó, còn nghiên cứu các giao thức định tuyến lai kết hợp cả giao thức định tuyến bản ghi và thích nghi như ZRP, HARP, DST, SHARP
Chính vì những lý do trên, tôi chọn đề tài cho luận văn thạc sĩ là: “Nghiên cứu
một số giao thức định tuyến trên mạng Manet” để hiểu tính tối ưu của các giao thức
định tuyến trên mạng MANET
2 Mục tiêu và nhiệm vụ đề tài
Trang 132.2 Nhiệm vụ
- Tìm hiểu về các giao thức định tuyến trong mạng MANET
- Xây dựng mô phỏng các giao thức định thức để đánh giá tính tối ưu của các giao thức định tuyến trên mạng MANET
Trên cơ sở lý thuyết và so sánh, đánh giá tính tối ưu của một số giao thức định tuyến CBRP, ZRP, DSDV, AODV và cuối c ng đưa ra kết luận về tính tối ưu của giao thức định tuyến
3 Đối tượng và phạm vi nghiên cứu
3.1 Đối tượng nghiên cứu
Một số giao thức định tuyến CBRP, ZRP, DSDV, AODV trên mạng MANET
3.2 Phạm vi nghiên cứu
- Phạm vi nghiên cứu đề tài là nắm và hiểu rõ về mạng không dây mà đ c biệt
là mạng MANET, một số giao thức định tuyến lai trên mạng MANET đồng thời đánh giá được các giao thức định tuyến dựa trên chương trình mô phỏng NS-2
4 Phương pháp nghiên cứu
Để hoàn thành mục tiêu đề ra, tôi chọn phương pháp nghiên cứu lý thuyết và tiến hành mô phỏng thực nghiệm Cụ thể như sau:
- Về lý thuyết: Thu thập, tìm hiểu, phân tích các tài liệu và thông tin có liên quan đến luận văn
- Về thực nghiệm: Mô phỏng một số giao thức định tuyến
5 Giải pháp đề xuất
- Nghiên cứu mạng không dây t y biến MANET và các giao thức định tuyến
- Chọn lựa 1 ho c 2 giao thức định tuyến ph hợp để mô phỏng
6 Kết quả dự kiến
6.1 Lý thuyết
- Nghiên cứu tổng quan về mạng không dây và mạng MANET
- Nghiên cứu các giao thức định tuyến trong mạng MANET
- Tìm hiểu về mô phỏng b ng NS2
6.2 Thực tiễn
Hiểu sâu về mạng không dây và các giao thức định tuyến
7 Bố cục của luận văn
Luận văn tổ chức thành 3 chương chính như sau:
Chương 1: TỔNG QUAN VỀ MẠNG KHÔNG DÂY VÀ MẠNG MANET Chương 2: MỘT SỐ GIAO THỨC ĐỊNH TUYẾN TRÊN MẠNG MANET Chương 3: ĐÁNH GIÁ HIỆU NĂNG MỘT SỐ GIAO THỨC ĐỊNH TUYẾN TRÊN MẠNG MANET
Trang 14CHƯƠNG 1 TỔNG QUAN VỀ MẠNG KHÔNG DÂY VÀ MẠNG MANET
Mạng không dây ad hoc (Wireless ad hoc network – WANET hay Mobile ad hoc network – MANET) là một loại mạng không dây phân tán Mạng này không dựa trên cơ sở hạ tầng có sẵn từ trước, mỗi thiết bị (nút) tham gia định tuyến mạng b ng cách chuyển tiếp dữ liệu cho nút khác Mỗi nút mạng có một giao diện vô tuyến và giao tiếp với nút mạng khác thông qua sóng vô tuyến ho c tia hồng ngoại Mạng Ad hoc được hình thành bởi các nút di động có khả năng phát hiện ra sự có m t của các nút khác và tự định dạng để tạo nên mạng mà không cần phải thông qua máy chủ (server) quản trị mạng
Mạng t y biến không dây (Wireless ad-hoc network) là một tập hợp gồm nhiều hơn một thiết bị/nút mạng với khả năng nối mạng và giao tiếp không dây với nhau mà không cần sự hỗ trợ của một sự quản trị trung tâm nào Mỗi nút trong một mạng t y biến không dây hoạt động vừa như một máy chủ (host) vừa như một thiết bị định tuyến
Mạng loại này được gọi là t y biến (ad-hoc) vì mỗi nút đều sẵn sàng chuyển tiếp dữ liệu cho các nút khác, và do đó việc quyết định xem nút nào sẽ thực hiện việc chuyển tiếp dữ liệu được dựa trên tình trạng kết nối của mạng Điều này trái ngược với các công nghệ mạng cũ hơn, mà trong đó nhiệm vụ chuyển tiếp dữ liệu được thực hiện bởi một số nút chuyên biệt, thường là có phần cứng đ c biệt và được xếp thành các loại như thiết bị định tuyến, thiết bị chuyển mạch, hub, tường lửa Cấu hình tối thiểu
và khả năng triển khai nhanh chóng làm cho mạng t y biến không dây thích hợp cho các tình huống khẩn cấp như các thảm họa, xung đột quân sự, cấp cứu y tế, v.v
Tô pô của mạng t y biến không dây nói chung là động, do tình trạng kết nối giữa các nút mạng có thể thay đổi theo thời gian t y theo chuyển động của nút, sự xuất hiện của nút mới và việc nút cũ rời khỏi mạng Do đó, các giao thức định tuyến hiệu quả là cần thiết để cho phép các nút giao tiếp với nhau Các thiết bị ho c nút mạng t y biến phải có khả năng phát hiện sự có m t của các thiết bị khác để có thể giao tiếp và chia sẻ thông tin Ngoài ra, nó còn phải có khả năng xác định các loại dịch vụ và thuộc tính tương ứng Do các nút có thể liên tục thay đổi, các thông tin định tuyến cũng phải thay đổi theo để phản ánh các thay đổi của tình trạng của các đường kết nối
Một lợi điểm của làm việc đa ch ng so với đơn ch ng là triển khai đa ch ng tạo thuận lợi cho việc d ng lại tài nguyên kênh truyền về cả không gian, thời gian và giảm năng lượng phát cần thiết
Trang 151.1 Khái quát về mạng không dây
Hiện nay, các mạng không dây và các thiết bị di động đang ngày càng trở nên phổ biến khi nó giúp cho người sử dụng có thể truy cập vào thông tin và truyền thông mọi lúc mọi nơi Thông thường, việc kết nối thông tin liên lạc với các thiết bị không dây thường được hỗ trợ bởi một cơ sở hạ tầng cố định có dây Một thiết bị di động sẽ
sử dụng một cách thức định tuyến single-hop liên lạc qua môi trường vô tuyến để kết nối đến một máy trạm cơ sở của hệ thống mạng có dây Ngược lại, các mạng ad-hoc không sử dụng bất kỳ cơ sở hạ tầng cố định Mạng Adhoc là một tập hợp các nút mạng
di động không dây n m phân tán về m t địa lý tạo thành một mạng tạm thời mà không
sử dụng bất cứ cấu trúc hạ tầng mạng có sẵn hay sự quản lý tập trung nào Các nút trong hệ thống mạng di động không dây t y biến liên lạc với nhau thông qua cách thức định tuyến single-hop và multi-hop trong môi trường mạng ngang hàng (peer-to-peer) Các nút trung gian giữa một c p của các nút giao tiếp sẽ đóng vai trò như một router
Vì vậy, các nút hoạt động cả hai như là máy chủ cũng như các bộ định tuyến Các nút trong mạng ad hoc có thể có khả năng di động, và do đó, việc tạo ra các bảng định tuyến trong mạng cũng bị ảnh hưởng bởi việc bổ sung và xóa các nút khi nó di chuyển Cấu trúc liên kết của mạng không dây có thể thay đổi ngẫu nhiên, nhanh chóng, và bất ngờ [1][13]
Kỹ thuật không dây là phương thức truyền dữ liệu từ điểm này đến điểm khác không sử dụng đường truyền vật lý, mà có thể sử dụng sóng vô tuyến, hồng ngoại hay qua vệ tinh Là mạng sử dụng công nghệ mà cho phép hai hay nhiều thiết bị kết nối với nhau b ng một giao thức chuẩn, nhưng không cần kết nối vật lý hay không cần sử dụng dây mạng Mạng không dây cho phép dễ dàng bổ sung, thay thế các thiết bị tham gia mạng mà không cần phải cấu hình lại toàn bộ hình trạng của mạng
Khác với các hệ thống mạng có dây, việc định tuyến tìm đường đi tối ưu để truyền dữ liệu trong các hệ thống mạng không dây khá phức tạp, đòi hỏi phải có các
cơ chế điều khiển ph hợp với từng mô hình cụ thể Đây là một trong những hạn chế lớn nhất của mạng không dây làm ảnh hưởng đến tốc độ truyền dữ liệu [11]
1.2 Những đặc điểm chính của mạng không dây
Kiến trúc mạng thay đổi liên tục: Kiến trúc mạng luôn biến đổi do sự di
chuyển của các nút mạng Các nút của mạng Ad-học luôn biến đổi, thay đổi vị trí và
di chuyển tự do theo nhiều hướng không thể xác định, dẫn đến liên kết giữa các nút mạng thay đổi liên tục Vì vậy, kiến trúc mạng thay đổi liên tục làm ảnh hưởng đến hoạt động trao đổi thông tin giữa các nút mạng
Multihopping: một mạng multi-hop là một mạng lưới đi từ nguồn đi qua nhiều
điểm để đến các nút khác Các nút trong mạng Ad-hoc có thể kết nối với các nút khác
Trang 16trong mạng mà không cần phải kết nối trực tiếp với nhau Các nút có thể định tuyến đến các nút khác thông qua các nút trung gian trong mạng
Tự thiết lập: Mạng Ad-học không phụ thuộc vào bất kỳ một kiến trúc mạng
sẵn có nào cũng như sự quản lý tập trung tại bất kỳ một nút mạng nào Các nút có vai trò ngang nhau và hoạt động độc lập nhau Các nút phải tự thiết lập các thông tin cần thiết cho chính mình (địa chỉ mạng, thông tin định tuyến, …) khi gia nhập vào mạng cũng như tự điều chỉnh thông tin khi mạng thay đổi Do đó, các giao thức định tuyến trong mạng Ad-hoc phải có cơ chế tự thiết lập, cập nhật và quản lý các thông tin cần thiết cho các nút mạng.[13]
Khoảng cách sóng ngắn: Các nút trong mạng Ad-hoc sử dụng tần số radio để
trao đổi dữ liệu với nhau, nên khoảng cách sóng giữa các thiết bị di động là rất hạn chế
Năng lƣợng hạn chế: Hầu hết các nút của mạng Ad-hoc (ví dụ, máy tính xách
tay, PDA, cảm biến) có nguồn cung cấp năng lượng hạn chế và không có khả năng để tạo ra năng lượng mới (ví dụ, tấm pin m t trời) Việc thiết kế giao thức nh m tiết kiệm năng lượng một cách hiệu quả (ví dụ, MAC, định tuyến, khám phá tài nguyên) là rất quan trọng
Khả năng mở rộng: Trong một số ứng dụng mạng Ad-hoc có thể phát triển
đến vài ngàn các nút Mạng Ad-học có thể dễ dàng bổ sung ho c xóa bỏ các nút trong mạng
Băng thông hạn chế: Các liên kết không dây có băng thông thấp hơn so với
đường truyền cáp và chúng còn chịu ảnh hưởng của sự nhiễu, suy giảm tín hiệu, các điều kiện giao thoa vì thế mà thường nhỏ hơn tốc độ truyền lớn nhất của sóng vô tuyến
Bảo mật yếu: Đ c điểm của mạng Ad-hoc là truyền sóng qua môi trường
không khí, điều này khiến cho cơ chế bảo mật kém hơn so với môi trường truyền cáp
vì nó tiềm ẩn nhiều nguy cơ bị tấn công, nghe lén đường truyền, giả mạo, DoS.[11]
1.3 Các giao thức định tuyến mạng MANET
Trong mạng máy tính để định tuyến đường đi trong quá trình truyền dữ liệu người ta thường d ng các bộ định tuyến Hay định tuyến là cách thức mà các bộ định tuyến, các máy tính ho c các thiết bị mạng sử dụng để tìm đường trong việc phát gói tin tới địa chỉ đích trên mạng, đảm bảo tìm đường đi tốt nhất từ lớp mạng này sang lớp mạng khác để dưa dữ liệu đến dích mong muốn
Phân loại các giao thức định tuyến trong mạng MANET
Vấn đề luôn được đ t ra đối với các mạng MANET chính là phương pháp gửi thông tin giữa các nút không có liên kết trực tiếp, khi mà các nút trong mạng di chuyển
Trang 17không theo các dự đoán và dẫn tới cấu hình mạng thường xuyên thay đổi Vì vậy, cách tiếp cận định tuyến trong các mạng cố định truyền thống không thể áp dụng được đối với các mạng t y biến di động không dây Một phương pháp phổ biến để phân biệt các giao thức định tuyến trong mạng MANET dựa trên cách thức trao đổi thông tin định tuyến giữa các nút theo phương pháp này, các giao thức định tuyến được chia thành 3 loại: Giao thức định tuyến chủ động (Proactive Routing Protocol), Giao thức định tuyến bị động (Reactive Routing Protocol) và Giao thức định tuyến lai ghép (Hybrid Routing Protocol) [1]
Ad hoc Routing Protocols
Proactive
WRP DSDV GSR OLSR LANMAR
DSR TORA AODV
MSR LAR
ZHLS ZRP
DST HARP CBRP
Hình 1.1 Phân loại các giao thức trong MANET
1.3.1.1 Giao thức định tuyến chủ động (Proactive Routing Protocol)
Trong phương pháp định tuyến theo bảng (chủ động), các nút trong mạng MANET liên tục đánh giá các tuyến tới các nút để duy trì tính tương thích, cập nhật của thông tin định tuyến Vì vậy, một nút nguồn có thể đưa ra một đường dẫn định tuyến ngay lập tức khi cần Trong các giao thức định tuyến theo bảng, tất cả các nút cần duy trì thông tin về cấu hình mạng Khi cấu hình mạng thay đổi, các cập nhật được truyền lan trong mạng nh m thông báo sự thay đổi Hầu hết các giao thức định tuyến theo bảng đều kế thừa và sửa đổi đ c tính tương thích từ các thuật toán chọn đường dẫn ngắn nhất trong các mạng hữu tuyến truyền thống Các thuật toán định tuyến theo bảng được sử dụng cho các nút cập nhật trạng thái mạng và duy trì tuyến bất kể có lưu
Trang 18lượng hay không Vì vậy, tiêu đề thông tin để duy trì cấu hình mạng đối với các giao thức này thường là lớn Một số giao thức định tuyến điển hình theo bảng trong MANET gồm: Giao thức định tuyến không dây WRP (Wireless Routing Protocol), định tuyến vector khoảng cách tuần tự đích DSDV (Destination Sequence Distance Vector), định tuyến trạng thái tối ưu liên kết OLSR (Optimized Link State Routing), định tuyến trạng thái góc rộng (Fisheye State Routing) [1]
Giao thức định tuyến DSDV (Destination Sequence Distance Vector)
DSDV (Destination Sequence Distance Vector) là một biến thể của giao thức định tuyến theo vector khoảng cách theo kiểu chủ động, dựa trên ý tưởng của thuật toán định tuyến kinh điển Bellman-Ford với một số cải tiến Cải tiến mới của DSDV là
sử dụng kỹ thuật đánh số sequence number, kỹ thuật này d ng để nhận biết các đườ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 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.[1]
Giao thức định tuyến WRP (Wireless Routing Protocol)
Giao thức Wireless Routing Protocol (WRP) duy trì thông tin định tuyến giữa các nút trong mạng Mỗi nút duy trì bốn bảng là bảng khoảng cách, bảng định tuyến, bảng liên kết - chi phí và bảng danh sách truyền lại bản tin (MRL) Mỗi mục của MRL chứa số thứ tự của thông báo cập nhật một truy cập truyền lại và một sự thừa nhận yêu cầu cờ vector với một mục nhập cho mỗi người láng giềng và một danh sách các cập nhật được gửi trong thông báo cập nhật Các cập nhật bản ghi MRL trong một thông báo cập nhật cần phải được truyền lại và các láng giềng mà nên thừa truyền của họ [1]
Giao thức định tuyến GSR (Global State Routing)
Giao thức định tuyến Global State Routing (GSR) cải thiện liên kết định tuyến trạng thái b ng cách tránh lũ lụt của định tuyến thông điệp Mỗi nút duy trì một danh sách nút láng giềng, một bảng cấu trúc liên kết, một bảng bước nhảy tiếp theo và một bảng khoảng cách Danh sách láng giềng của một nút có chứa danh sách các nút láng giềng ở đây tất cả các nút có thể nghe được bởi một nút được giả định là nút láng giềng Các thông điệp định tuyến được tạo ra trên một sự thay đổi liên kết như trong các giao thức trạng thái liên kết Khi nhận được tin định tuyến, nút cập nhật bảng cấu trúc liên kết của nó nếu số thứ tự của thông điệp là mới hơn so với số thứ tự được lưu trữ trong bảng Sau này, nút dựng lại bảng và chương trình phát sóng thông tin cho các nút láng giềng định tuyến của nó [1]
1.3.1.2 Giao thức định tuyến bị động (Reactive Routing Protocol)
Trong phương pháp định tuyến theo yêu cầu (bị động), các đường dẫn được tìm
Trang 19kiếm chỉ khi cần thiết, hoạt động tìm tuyến đường bao gồm cả thủ tục xác định tuyến Thủ tục tìm tuyến kết thúc khi một tuyến đường không được tìm thấy ho c không có tuyến khả dụng sau khi xác minh toàn bộ tập hoán vị tuyến Trong mạng MANET, các tuyến đường hoạt động có thể ngừng do tính di động của nút
Vì vậy, thông tin duy trì tuyến là tối quan trọng đối với các giao thức định tuyến theo yêu cầu So với các giao thức định tuyến theo bảng, các giao thức định tuyến theo yêu cầu thường có tiêu đề trao đổi thông tin định tuyến nhỏ hơn Vì vậy, về
m t nguyên tắc, các giao thức này có khả năng mở rộng tốt hơn đối với các giao thức định tuyến theo bảng Tuy nhiên, vấn đề lớn nhất của các giao thức định tuyến theo yêu cầu là trễ do tìm kiếm tuyến trước khi chuyển tiếp thông tin dữ liệu Ví dụ về một
số giao thức định tuyến theo yêu cầu gồm: giao thức định tuyến nguồn động DSR (Dynamic Source Routing), giao thức định tuyến vector khoảng cách theo yêu cầu AODV (Ad hoc On- demand Distance Vector routing) và giao thức định tuyến theo thứ tự tạm thời TORA (Temporally Ordered Routing Algorithm) [1]
Giao thức định tuyến DSR (Dynamic Source Routing)
DSR (Dynamic Source Routing) là giao thức định tuyến đơn giản và hiệu quả,
nó cho phép mạng tự động tổ chức và cấu hình mà không cần đến sự can thiệp của người quản trị ho c cơ sở hạ tầng sẵn có của mạng [14]
Giao thức DSR sử dụng cơ chế định tuyến nguồn, ngĩa là bên gửi sẽ biết toàn
bộ thông tin về đường đi đến đích Trong đó Header của gói dữ liệu sẽ lưu trữ thứ tự
các nút mà gói tin cần phải đi qua để đạt tới đích Do vậy các gói trung gian chỉ cần giữu liên lạc với các nút láng giềng của nó để chuyển tiếp các gói tin [1]
Giao thức định tuyến AODV (Ad hoc On-demand Distance Vector
routing)
Giao thức định tuyến AODV phát gói tin broadcast để yêu cầu tìm đường khi
có yêu cầu AODV sử dụng nhiều cơ chế để duy trì thông tin bảng định tuyến như nó
sử dụng bảng định tuyến truyền thống để lưu trữ thông tin định tuyến với mỗi entry cho một địa chỉ đích Không sử dụng cơ chế Source Routing và cũng không cần biết thông tin về các nút láng giềng của nó, AODV dựa trên các thông tin của các entry của bảng định tuyến để phát gói tin RREP về nút nguồn và nút nguồn sử dụng thông tin đó
để gửi gói tin đến đích Để đảm bảo r ng thông tin trong bảng định tuyến là mới nhất thì AODV sử dụng kỹ thuật Sequence Number để loại bỏ các tuyến đường không còn giá trị trong bảng đinh tuyến [1]
Giao thức định tuyến TORA (Temporally Ordered Routing Algorithm)
Giao thức định tuyến TORA (Temporally Ordered Routing Algorithm) là một giao thức định tuyến giải quyết được nhược điểm của các giao thức định tuyến truyền
Trang 20thống là phá bỏ được vòng l p và có khả năng thích ứng cao với môi trường mạng có nhiều thay đổi dựa trên khái niệm “link reversal” Nó tìm kiếm thông tin về đường đi theo yêu cầu, cung ứng nhiều đường đi tới đích, xác lập đường đi một cách nhanh chóng TORA ít sử dụng đường đi tối ưu mà nó thường sử dụng các đường đi dài hơn
nh m để hạn chế việc phải tìm kiếm các đường đi mới làm ảnh hưởng đến lưu lượng truyền trên mạng
Cách thức hoạt động của TORA như một thuật ngữ hình nước chảy từ nút nguồn đến nút đích của mạng các ống nước như mô hình mạng thực tế Các ống nước đại diện cho liên kết của các nút, giao điểm các ống nước đại diện cho các nút, nước trong ống nước đại diện cho các gói dữ liệu truyền đến đích Mỗi nút có một trọng số đến nút đích được tính toán bởi giao thức định tuyến Nếu một ống nước giữa nút A và
B bị ch n làm cho nước không thể chảy qua thì trọng số của nút A được đ t trọng số lớn hơn các nút láng giềng của nó, đo đó nước sẽ chảy ngược trở ra nút A (chảy vào các nút khác mà có thông tin định tuyến qua nút A) [1]
1.3.1.3 Giao thức định tuyến lai ghép (Hybrid Routing Protocol)
Các giao thức định tuyến lai ghép được đề xuất để kết hợp các đ c tính ưu điểm của các giao thức định tuyến theo bảng và theo yêu cầu Thông thường, các giao thức định tuyến lai ghép MANET được sử dụng trong kiến trúc phân cấp Các giao thức định tuyến theo bảng và theo yêu cầu được triển khai trong các cấp thích hợp Một số
ví dụ về giao thức định tuyến lai ghép:
Giao thức ZRP (Zone Routing Protocol) Là một giao thức định tuyến lai kết hợp với các tính năng tốt nhất của giao thức tiên phong và phản ứng làm việc trong sự gắn kết ZRP định nghĩa một khu vực cho từng node trong đó bao gồm tất cả các node
n m trong một khoảng cách nhất định trong các bước nhảy, được gọi là v ng bán kính xung quanh các node được định nghĩa Khoảng cách chính xác từ node đến bán kính được gọi là biên giới của khu vực định nghĩa Các giao thức liên kết trạng thái tiên phong được sử dụng để giữ cho một node nhận thức đầy đủ cấu trúc liên kết trong
v ng của nó Khi một node X cần có một con đường đến node Y trong v ng định nghĩa của nó Thì nó khởi tạo một phản ứng khám phá con đường tương tự như ngập lụt Vấn đề đ t ra khi một node muốn giao tiếp với các node khác ở ngoài v ng định nghĩa Khi đó, một yêu cầu định tuyến được gữi đến các node ở đường biên giới rồi từ
đó chuyển ra các node bên ngoài Yêu cầu định tuyến trong ZRP Trả lời định tuyến trong ZRP Việc sử dụng giao thức ZRP làm giảm thiểu chi phí kiểm soát b ng cách sử dụng cơ chế yêu cầu định tuyến lũ lụt Bên cạnh đó, giao thức ZRP có xu hướng kiểm soát chi phí sản xuất cao hơn do sự chồng chéo của khu vực các node định tuyến Vì vậy, bán kính v ng định nghĩa có tác động đáng kể đến hiệu suất làm việc.[8]
Trang 21ZHLS (Zone-based Hierarchical Link State routing) và giao thức định tuyến mạng t y biến lai HARP (Hybrid Ad hoc Routing Protocol), giao thức định tuyến SHARP (Sharp Hybrid Adaptive Routing Protocol), giao thức định tuyến DST (Distributed Spanning Tree).[16]
Giao thức DSDV( Destination – Sequenced Distance – Vector) Là một trong những giao thức đầu tiên được phát triển cho mạng Ad hoc DSDV là một biến thể của giao thức định tuyến distance vector theo kiểu proactive, dựa trên ý tưởng của thuật toán định tuyến kinh điển Bell - Man - 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ố 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 node sẽ tăng số sequence number khi gởi thông tin về bảng định tuyến của nó cho các node khác trong mạng
1.4 Một số ứng dụng của mạng không dây
Trong t m kiếm, cứu trợ: Khi chúng ta phải đối m t với một tình huống không
may như: động đất, bão lũ ho c những thảm hoạ khác Mạng MANET rất có ích trong những ứng dụng tìm kiếm và cứu trợ Thảm hoạ để lại hậu quả lớn mà không thể liên lạc thông tin với nhau được, bởi vì chúng phá huỷ hết cơ sở hạ tầng mạng Mạng MANET có thể thiết lập lại mà không có những cơ sở hạ tầng, có thể cung cấp thông tin liên lạc đến những tổ chức liên quan để cứu trợ kịp thời
Trong quân đội: Giao tiếp an toàn, bí mật là một trong những đ c điểm chủ
chốt của hoạt động phòng thủ thành công Nhiều hoạt động phòng thủ diễn ra ở những
v ng cơ sở hạ tầng mạng không có sẵn Việc sử dụng mạng MANET trong những tình huống như vậy rất có ích Những máy bay không quân đang bay cũng có thể thiết lập mạng không dây ad hoc để liên lạc với nhau ho c để chia sẻ hình ảnh, dữ liệu Những nhóm quân đội đang di chuyển cũng có thể sử dụng mạng không dây ad hoc để liên lạc với nhau
Trong công tác chăm sóc sức kh e: Trao đổi thông tin đa phương tiện giữa
bệnh nhân và các cơ sở chăm sóc sức khỏe sẽ rất có ích trong những tình huống khẩn cấp Bệnh nhân được đưa đến bệnh viện b ng xe cấp cứu có thể sử dụng mạng ad hoc
để cung cấp các thông tin về tình trạng bệnh nhân, nh m đưa ra một giải pháp tức thời Điều này sẽ rất có ích trong việc chuẩn bị một kế hoạch điều trị cho bệnh nhân đang được đưa đến bệnh viện ho c trước khi đưa đến bệnh viện
Một số thuật toán định tuyến cơ sở
Thông thường, tiến trình định tuyến thường chỉ hướng đi dựa vào bảng định tuyến được tổ chức trong bộ nhớ của router, đó là bảng chứa những lộ trình tốt nhất đến các đích khác nhau trong mạng Vì vậy việc xây dựng bảng định tuyến trở nên vô
Trang 22c ng quan trọng trong việc định tuyến trên các hệ thống mạng Để định tuyến trên mạng MANET, người ta thường sử dụng 2 thuật toán định tuyến: thuật toán vector khoảng cách (Distance Vector) và thuật toán trạng thái liên kết (Link state)[11]
Thuật toán vector khoảng cách (Distance Vector)
Thuật toán này dùng thuật toán Bellman – Ford, trong đó chỉ định một con số, gọi là chi phí (hay trọng số), cho mỗi một liên kết giữa các nút trong mạng Các nút
sẽ gửi thông tin về đường đi từ nút A đến nút B qua các kết nối mang lại tổng chi phí thấp nhất.[1]
Hoạt động của thuật toán như sau: Khi một nút khởi động lần đầu, nó chỉ biết các nút kề trực tiếp với nó, gọi là nút láng giềng, và thông tin để đi đến đó (thông tin này bao gồm danh sách của các nút đích, tổng chi phí đến từng đích và nút kế tiếp
để gửi dữ liệu đến đó tạo nên bảng định tuyến, hay bảng khoảng cách) Mỗi nút, trong một tiến trình, gửi đến từng láng giềng tổng chi phí của nó để đi đến các nút đích mà nó biết Các nút láng giềng phân tích thông tin này, và so sánh với những thông tin mà chúng đang “biết”; bất kỳ điều gì cải thiện được những thông tin chúng đang có, sẽ được đưa vào các bảng định tuyến của những láng giềng này Đến khi kết thúc, tất cả nút trên mạng sẽ tìm ra bước truyền kế tiếp tối ưu đến tất cả mọi đích, và tổng chi phí tốt nhất.[15]
Khi trong một mạng có nút g p vấn đề, thì sẽ hủy các lộ trình đi qua nút này
và tạo nên thông tin mới trong bảng định tuyến Sau đó chúng chuyển thông tin này đến tất cả nút gần kề và l p lại quá trình trên Cuối cùng, tất cả nút trên mạng nhận được thông tin cập nhật, và sau đó sẽ tìm đường đi mới đến tất cả các đích mà chúng còn tới được
Ƣu điểm: Dễ cấu hình, router không phải xử lý nhiều nên không tốn nhiều
dung lượng bộ nhớ và CPU có tốc độ xử lý nhanh hơn
Nhƣợc điểm: Hệ thống cung cấp các thông số còn quá đơn giản (như Rip chỉ là
hop-count) dẫn đến việc các tuyến đường được chọn vào bảng định tuyến chưa phải tuyến đường tốt nhất Vì các gói tin cập nhật được gửi theo định kỳ nên một lượng băng thông đáng kể sẽ bị chiếm Do Router hội tụ chậm, dẫn đến việc sai lệch trong bảng định tuyến gây nên hiện tượng vòng l p (loop)
Thuật toán trạng thái liên kết (Link state)
Khi áp dụng các thuật toán trạng thái kết nối, mỗi nút sử dụng dữ liệu cơ sở của nó như là một bản đồ của mạng với dạng một đồ thị Để làm điều này, mỗi nút phát đi tới toàn mạng những thông tin về các nút khác mà nó có thể kết nối được, và từng nút góp thông tin một cách độc lập vào bản đồ Sử dụng bản đồ này, mỗi nút sau đó sẽ xác định được tuyến đường tốt nhất từ nó đến mọi nút khác.[1][15]
Trang 23Thuật toán này xây dựng cấu trúc dữ liệu dưới dạng cây, trong đó nút hiện tại
là gốc, và chứa mọi nút khác trong mạng Bắt đầu với một cây ban đầu chỉ chứa chính nó Sau đó, lần lượt từ tập các nút chưa được thêm vào cây, nó sẽ thêm nút
có chi phí thấp nhất để đến một nút đã có trên cây Tiếp tục quá trình đến khi mọi nút đều được thêm vào cây Cây này sau đó phục vụ để xây dựng bảng định tuyến, đưa ra bước truyền kế tiếp tối ưu để từ một nút đến bất kỳ nút khác trên mạng
Ưu điểm: Có thể thích nghi được với đa số hệ thống, cho phép người thiết kế
có thể thiết kế mạng linh hoạt, phản ứng nhanh với tình huống xảy ra Do không gởi cập nhật định kỳ như Distance Vector, nên Link State bảo đảm được băng thông cho các đường mạng
Nhược điểm: Do router phải xử lý nhiều, nên chiếm nhiều bộ nhớ, tốc độ CPU
chậm hơn nên tăng độ trễ Việc sử dụng các giao thức định tuyến truyền thống trong mạng MANET sẽ dẫn đến rất nhiều vấn đề trở ngại cần giải quyết: Tiêu tốn năng lượng nguồn nuôi cho các cập nhập định kỳ như trong giao thức định tuyến Distance Vector; Tiêu tốn băng thông mạng cho các cập nhập định kỳ; Làm quá tải bộ vi xử lý của thiết bị: khi các thông tin cập nhật, số nút mạng tăng lên; Tạo ra nhiều đường đi dư thừa
1.5 Kết luận chương 1
Chương này giới thiệu về mạng không dây và mạng MANET, với những ưu điểm triển khai nhanh chóng, tự cấu hình và đáp ứng các đ c điểm di động mạng không dây và mạng MANET hứa hẹn mang đến sự phổ biến rộng rãi trong nhiều lĩnh vực Tuy nhiên vẫn còn nhiều khó khăn thách thức về m t công nghệ cần giải quyết như cấu trúc liên kết mạng thay đổi, vấn đề tiết kiệm năng lượng của các nút, lựa chọn giao thức định tuyến ph hợp Xét thấy vấn đề định tuyến trong mạng Adhoc là vấn đề rất đáng quan tâm vì nó quyết định đến hiệu năng của mạng, vấn đề đó là làm định hướng cho việc nghiên cứu các chương tiếp theo
Trang 24CHƯƠNG 2 MỘT SỐ GIAO THỨC ĐỊNH TUYẾN TRÊN MẠNG MANET
Việc phát triển hỗ trợ cho việc định tuyến là một trong những thách thức quan trọng nhất trong hệ thống mạng MANET Đầu tiên, các nút trong một mạng MANET được phép di chuyển một cách không kiểm soát được dẫn đến những thay đổi nhanh chóng cấu trúc liên kết dẫn đến thường xuyên gây ra thất bại tuyến đường thường xuyên Một giao thức định tuyến tốt cho môi trường mạng là giao thưc định tuyến tự động thích ứng với thay đổi cấu trúc liên kết mạng Thứ hai, các kênh không dây cơ bản cung cấp băng thông thấp hơn nhiều và biến đổi nhiều hơn so với mạng có dây Các kênh không dây hoạt động như một phương tiện chia sẻ làm cho băng thông có sẵn cho mỗi nút thậm chí thấp hơn Thứ ba, các nút chạy trên pin có nguồn cung cấp năng lượng hạn chế Để cho các nút tồn tại và giao tiếp trong thời gian dài hơn, điều cần thiết là có một giao thức định tuyến cũng tiết kiệm được năng lượng hiệu quả Điều này cũng là một lý do tại sao các chi phí phải được giữ ở mức thấp Như vậy, giao thức định tuyến phải đáp ứng các mục tiêu mâu thuẫn thích ứng năng động và chi phí thấp để cung cấp hiệu suất tổng thể tốt
Cả hai giao thức định tuyến chủ động (Proactive) và bị động (Proactive) đều
có những ưu điểm và nhược điểm riêng Giao thức định tuyến lai ghép (Hybrid Routing Protocol) kết hợp cả hai cơ chế giao thức định tuyến chủ động (Proactive) và giao thức định tuyến bị động (Reactive) Giao thức này ph hợp với những mạng quy
mô, kích thước lớn, mật độ các nút mạng dày đ c Trong giao thức định tuyến này, mạng được chia thành các v ng (zone) Mỗi nút duy trì cả thông tin về kiến trúc mạng trong v ng của nó và thông tin về các v ng láng giềng Đều đó có nghĩa là giao thức định tuyến lai ghép sử dụng giao thức định tuyến bị động (Reactive) giữa các vùng và giao thức định tuyến chủ động (Proactive) cho các nút mạng trong c ng một v ng Do
đó, đường đi đến nỗi nút trong c ng một vùng được lập mà không cần phải định tuyến
ra ngoài vùng, trong khi đó các tiến trình khám phá đường và duy trì đường thì được
sử dụng để tìm kiếm và duy trì đường đi giữa các v ng với nhau
2.1 Giao thức định tuyến CBRP (Cluster Based Routing Protocol)
Giao thức định tuyến dựa trên cụm (CBRP) là một giao thức định tuyến được thiết kế để sử dụng trong các mạng MANET Giao thức phân chia các nút của mạng thành một số cụm chồng chéo ho c rời nhau một cách phân phối Nút trưởng cụm
(Cluster head - CH) được bầu cho mỗi cụm để duy trì thông tin thành viên nhóm
Tuyến đường liên cụm được phát hiện tự động b ng cách sử dụng thông tin thành viên cụm lưu giữ tại mỗi CH B ng cách phân nhóm các nút thành các nhóm, giao thức
Trang 25giảm thiểu hiệu quả lưu lượng lũ lụt trong thời gian khám phá tuyến đường và tăng tốc quá trình này Hơn nữa, giao thức đưa vào xem xét sự tồn tại của các liên kết đơn hướng và sử dụng các liên kết cho cả nội bộ cụm và tuyến đường liên cụm.[9]
2.1.1 Cơ chế định tuyến CBRP
Khi một nút nguồn S muốn cung cấp dữ liệu đến nút D (không có tuyến đường
thích ứng trong bảng định tuyến), đầu tiên nút S sẽ kiểm tra neighbor table của mình,
nếu có một tuyến đường thích ứng, nó chỉ việc bổ sung thêm tuyến đường này vào bảng định tuyến và trực tiếp gửi dữ liệu đến nút D Ngược lại, nó sẽ bắt đầu một quá trình khám phá tuyến đường để xác định vị trí tuyến đường thích hợp đến nút đích
2.2.1.1 Khám phá tuyến đường
Về cơ bản, trong khám phá tuyến đường, chỉ có nút CH là lũ lụt thông báo
Route Request Packets (RREQ) để tìm kiếm một tuyến đường nguồn [9]
Để thực hiện khám phá tuyến đường đến nút đích D, nút nguồn S gửi một thông báo RREQ, với trường địa chỉ nút mục tiêu được thiết lập là nút đích D Nó điền vào
mục Neighboring Cluster Head với các nút CH của nó và các mục nút CH liền kề (từ CAT), Gateway Node Address tương ứng ho c là nút CH của chính nó ho c là nút gateway của cụm liền kề Đây là thông báo RREQ ban đầu được phát sóng
* Khi một nút M nhận đƣợc một thông báo RREQ là nút thành viên
- Nếu nút đích D là nút láng giềng của nó, nó chỉ việc unicast RREQ đến nút D
- Ngược lại; nếu nút M được xác định là nút gateway thì unicast gói tin RREQ
đến nút CH của nó
Ngược lại, loại bỏ thông báo RREQ [9]
* Khi nào một nút C nhận đƣợc RREQ là nút CH
- Bước 1: Nếu nó đã nhận được thông báo RREQ này trước đó (b ng cách kiểm
tra trường identification) thì nó loại bỏ thông báo này; nếu không, tiếp tục thực hiện
bước 2
- Bước 2: Ghi địa chỉ riêng của nó vào trong danh sách Cluster Address
- Bước 3: Nếu nút D là nút láng giềng của nó ho c là cách 2 bước nhảy thì unicast thông báo RREQ đến nút D Ngược lại, ghi địa chỉ các nút CH có liên kết hai chiều vào trong CAT của nút C Nếu địa chỉ các nút CH đã có trong danh sách Neighboring Cluster Head của RREQ trước thì bỏ qua Ngược lại, nếu địa chỉ các nút
CH đã có trong danh sách Cluster Address thì bỏ qua Ngược lại, ghi mục địa chỉ các nút CH vào trong c p Neighboring Clusterhead/Gateway Node phát sóng thông báo RREQ [9]
Trang 26G3
K CH2
12
Hình 2.1 Định tuyến gói tin từ nút nguồn S đến nút đích D
Mỗi nút CH chuyển tiếp một gói tin RREQ chỉ một lần và nó không bao giờ chuyển nó đến một nút đã xuất hiện trong bản ghi tuyến đường Trong CBRP, thông báo RREQ sẽ luôn luôn theo một lộ trình với các mô hình sau đây để đi đến nút đích D
ra một con đường để đến nút S, nó có thể trực tiếp thăm dò tuyến đường này của nút
CH) Nút D cũng sao chép trường identification ở RREQ đến RREP và đ t địa chỉ
riêng của mình trong Calculated Route
Trang 27Bắt đầu truy vấn
Kết thúc truy vấn
D là nút láng giềng
Unicast thông báo RREQ đến nút D
Đ S
Hình 2.2 Sơ đồ cơ chế định tuyến CBRP
Cluster Address cung cấp đầy đủ thông tin về trình tự của cụm mà RREP cần
phải đi qua để đến nút S Vì mỗi nút CH có kiến thức về việc làm thế nào để tiếp cận với các nút CH láng giềng, gói tin RREP sẽ được chuyển đến S cuối c ng b ng cách
sử dụng định tuyến IP nguồn lỏng (loose)
Trong khi chuyển tiếp Route Reply, nút CH trung gian sẽ tính toán một tuyến
đường hop-by-hop tối ưu theo các thông tin chứa trong danh sách Cluster Address và
đ t nó trong trường Calculated Route
Nếu một nút nguồn không nhận được bất kỳ thông báo RREP sau khi gửi đi
RREQ một thời gian nhất định, nó đi vào exponential backoff trước khi gửi lại RREQ
[7]
Như thường lệ, tất cả các tuyến đường nguồn biết được bởi một nút được lưu
giữ trong một Route Cache Khi một nút muốn gửi một gói tin, nó luôn luôn kiểm tra Route Cache của nó đầu tiên trước khi thực hiện khám phá tuyến đường
2.1.2 Duy trì tuyến đường
Bảng định tuyến được tạo ra do bởi địa chỉ của nút trưởng cụm Điều này có nghĩa r ng, trong bảng định tuyến, địa chỉ của nút CH tiếp theo được lưu cho đến điểm đến bất kỳ Trong những phương pháp trước đó nếu một nút thất bại trong việc định tuyến tuyến đường ho c di chuyển cách xa các nút hàng xóm của nó, nó gây ra thất bại cho các tuyến đường và dẫn đến phải tái tạo lại tuyến đường
Trang 287 1
9
12
6 2
20 4
8
13
15 18
19
Hình 2.3 Sửa chữa tuyến đường khu vực
Tuy nhiên, có phương pháp được đề xuất, kể từ khi tuyến đường được thể hiện
do các CH, trong trường hợp một nút bị thất bại ở một tuyến đường, CH của nút đó có thể sử dụng một nút khác để chuyển tiếp một gói tin đi tiếp để đảm bảo sự tồn tại của
tuyến đường (Hình 2.23) Trong phương pháp này, chỉ khi một nhóm thất bại ho c bị
sai lệch nhu cầu tái tạo của tuyến đường phát sinh, mà liên quan đến nỗ lực để tạo ra các cụm ổn định hơn, thường ít xảy ra [7]
Khi một nút CH phát hiện một liên kết bị gẫy cho bước nhảy đến CH tiếp theo của tuyến đường đang hoạt động, nó sẽ gửi một thông báo lỗi tuyến đường (RERR) ngược trở lại tất cả các nút CH trước Định dạng của thông báo này là RERR (ID, SEQNUM) Ở đây, ID là địa chỉ đích và SEQNUM là số thứ tự điểm đến Khi một nút
CH nhận được một RERR từ một CH hàng xóm để thông báo lỗi cho một ho c nhiều tuyến đường hoạt động, nó chuyển tiếp các gói tin đến các nút CH trước được lưu trữ trong bảng định tuyến của nó Khi một nút nguồn nhận được một RERR, nó bắt đầu một khám phá tuyến mới nếu tuyến đường vẫn còn cần thiết.[7]
2.1.3 Cơ chế cảm biến trạng thái kết nối
Trong CBRP, mỗi nút biết liên kết hai chiều của nó đến các nút láng giềng cũng như liên kết một chiều từ các nút láng giềng đến chính nó Với mục đích này, mỗi nút
duy trì một neighbor table (Neighbor table) là một khái niệm cấu trúc dữ liệu mà ta sử
dụng cho việc nhận biết trạng thái liên kết và hình thành cụm Gồm các mục: ID của nút láng giềng mà nó có kết nối; Vai trò của nút láng giềng nút CH ho c nút thành viên cụm; Trạng thái của liên kết đó, hai chiều ho c một chiều) Mỗi nút định kỳ phát sóng
thông tin neighbor table của nó trong một tin nhắn HELLO, định kỳ mỗi giây
Trang 29hello_interval (tin nhắn HELLO của một nút chứa neighbor table của nó và cluster adjacency table - lưu giữ thông tin về các cụm liền kề và được duy trì bởi thủ tục khám phá cụm liền kề - Adjacent Cluster Discovery - của CBRP, gồm các mục: ID của
nút CH lân cận; Nút gateway để tiếp cận với nút CH lân cận; Trạng thái của liên kết từ nút gateway của cụm lân cận đến nút CH đó Một nút đôi khi có thể phát sóng một tin nhắn kích hoạt HELLO để đáp ứng với một số sự kiện cần hành động nhanh chóng) [6]
Khi nhận được thông báo HELLO từ nút B, hàng xóm của nó (nút A) thay đổi
neighbor table riêng của mình như sau:
Bước 1 Nó kiểm tra xem thông tin của nút B đã có trong neighbor table
chưa; nếu không, nó bổ sung thêm một mục nhập cho nút B nếu nó đã nghe từ B trong
giây hello_interval trước (tức là nút A chỉ thực hiện việc bổ sung thêm thông tin nút B vào trong neighbor table của nó khi nút A đã nghe từ thông báo HELLO của nút B hai lần trong khoảng thời gian hello_interval)
+ Nếu neighbor table của nút B có chứa thông tin nút A, khi đó nút A đánh dấu
liên kết đến B hai chiều trong các mục liên quan
+ Ngược lại nó sẽ đánh dấu sự liên kết đến B là một chiều (một chiều từ B đến A) [6]
Bước 2 Nếu thông tin của nút B có trong neighbor table của nút A,
+ Nếu trường link_status của mục thông tin nút B đánh dấu hai chiều nhưng
thông tin được ghi trong thông báo HELLO của nút B là không có liên kết, thì nó sẽ thay đổi đánh dấu thành một chiều;
+ Nếu trường link_status của mục thông tin nút B đánh dấu một chiều và được
ghi trong thông báo HELLO của nút B, thì nó sẽ thay đổi đánh dấu thành hai chiều [6]
Bước 3 Cập nhật vai trò của nút B trong trường Role của mục thông tin nút
B
Mỗi mục trong neighbor table được lưu giữ trong một khoảng thời gian Một
mục trong bảng sẽ được gỡ bỏ nếu không nhận được thông báo HELLO từ nút của
mục đó trong một khoảng thời gian (Hello_loss + 1)* Hello_interval, cho phép chờ thông báo HELLO bị mất trong khoảng thời gian Hello_loss liên tiếp từ nút đó [6]
Khi cấu trúc liên kết một khu vực láng giềng của nút ổn định, neighbor table
của một nút sẽ có thông tin đầy đủ của tất cả các nút láng giềng có một liên kết hai chiều ho c một chiều đến nó trong một thời gian giới hạn Tuy nhiên, một nút sẽ không biết nút láng giềng mà nó có liên kết một chiều
Ví dụ trong hình 2.15, neighbor table của nút 7 sẽ hiển thị 4 có một liên kết một
chiều với nó, tuy nhiên nút 4 sẽ không biết sự tồn tại của liên kết đó
Trang 307 4
6
2 1
1 2
Hình 2.4 Liên kết các cụm
Ngoài việc duy trì neighbor table tại mỗi nút, phát sóng định kỳ các thông báo
HELLO cũng cho phép mỗi nút có được thông tin đầy đủ về tất cả các liên kết hai
chiều trong vòng hai bước nhảy (two-hop) Những thông tin này được lưu giữ trong một cấu trúc dữ liệu gọi là cơ sở dữ liệu two-hop-topology (B ng cách kiểm tra neighbor table từ các nút láng giềng, một nút là có thể hoàn thành việc thu thập thông
tin về cấu trúc liên kết mạng nhiều nhất là hai bước nhảy bắt đầu từ chính nó Thông tin về cấu trúc liên kết hai bước nhảy được lưu giữ trong cấu trúc dữ liệu của mỗi nút)
Kiểm tra cơ sở dữ liệu two-hop-topology của nó, một nút có thể xác định nút láng giềng nào có liên kết two-hop và thông qua các nút trung gian nó có thể đến được [6]
2.1.4 Cơ chế hình thành cụm (Cluster)
Một cụm bao gồm một nhóm các nút với một trong số các nút đó được bầu là
một nút trưởng cụm (cluster head - CH) Một cụm được xác định bởi ID trưởng cụm
của nó (ID nút là một chuỗi xác định duy nhất một nút cụ thể, phải được sắp xếp hoàn toàn Ở đây, ta sử dụng địa chỉ IP của một nút như ID của nó cho các mục đích của định tuyến và khả năng tương tác với các mạng cố định) Cụm ho c chồng chéo ho c phân chia Mỗi nút trong mạng biết nút trưởng cụm (s) tương ứng của nó và do đó biết
nó thuộc về cụm (s) nào [7]
Ta sử dụng cấu trúc phân nhóm của giao thức định tuyến
Hình thành cụm là một quá trình mà chia mạng thành kết nối sơ sở hạ tầng với
nhau, gọi là cụm (cluster) Mỗi nút CH hoạt động như một trạm cơ sở tạm thời trong
v ng ho c cụm của nó và liên lạc với các CH khác
Trong giao thức này, các nút có 4 trạng thái có thể có: normal, isolated,
Trang 31clusterhead và gateway Ban đầu tất cả các nút đều ở trong trạng thái isolated Mỗi nút duy trì neighbor table, trong đó các thông tin về các nút láng giềng khác được lưu trữ
Mỗi CH có một bảng (CHneighbor) lưu trữ thông tin về các CH láng giềng khác [7]
Bước 1: H nh thành cụm
Bước chính trong cụm là chọn nút CH
Trong thuật toán này, ta phân bổ trọng số mỗi nút Các trọng số trong ba nhóm,
mỗi nhóm quy định cụ thể các biện pháp công nhận của nút để trở thành head Các nút
sẽ gửi tin nhắn vào head đó và mỗi nút đó là cao nhất trong nhóm và cung cấp các tin
nhắn đến các nút hàng xóm sớm hơn sẽ được chọn như CH Công việc này làm cho
nút head được lựa chọn trong một khoảng thời gian ngắn Mỗi nút định kỳ truyền đi
thông điệp HELLO tuyên bố chính nó và có kiến thức về các nút láng giềng của nó,
mà có thể được sử dụng để tính toán tham số W của nó W xác định nhóm trọng số W được tính từ trọng số Mỗi nút định kỳ tính toán trọng số.[7]
Weight = aN + bR + cT + dP
Trong đó:
- N là số lượng các nút láng giềng của nút Nút không thêm vào N đến khi chắc chắn r ng mức năng lượng của tin nhắn nhận được mới nhất từ láng giềng lớn hơn mức năng lượng của tin nhắn nhận được đầu tiên B ng cách này, nút chắc chắn r ng nút láng giềng đang tiến gần hơn đến nó
- R là năng lượng pin còn lại (tỷ lệ phần trăm còn lại trên pin) của nút Nó cho phép kéo dài thời gian sống của các nút b ng cách từ bỏ vai trò là một CH trong trường hợp không đủ năng lượng pin
- T là thời gian tích lũy, trong thời gian đó các nút n m trong cụm là cuối c ng
Mỗi nút tự xây dựng neighbor table của mình dựa trên những thông tin nhận
được
Các nút có thể bắt đầu chọn CH sau khi chu kỳ nhất định của thời gian (Te)
Nếu một nút isolated trong khoảng thời gian Te nhận được tin nhắn HELLO từ CH bất
kỳ, đ t IDch với địa chỉ CH và thiết lập trạng thái của nó là normal Nếu một nút isolated không nhận được tin nhắn từ bất kỳ CH nào sau khoảng thời gian Te thì nó tìm kiếm trong neighbor table các nút với tham số W cao hơn tham số W của nó Nếu
Trang 32có nó đ t IDch với địa chỉ của nút đó và thiết lập trạng thái của nó là normal Nếu
không, nó vẫn tiếp tục gửi tin nhắn HELLO cho đến khoảng thời gian là 2Te Nếu một nút sau thời gian 2Te không nhận được tin nhắn trực tiếp từ bất kỳ CH nào, nó sẽ tự
chọn chính nó như là CH và thiết lập trạng thái của nó là clusterhead (CH) và thiết lập
IDch với ID riêng của mình [7]
Khi nút normal nhận được thông báo HELLO từ CH khác và không tìm thấy thông tin về nút đó trong neighbor table của nó, nó sẽ gửi thông báo CTgateway đến
CH của nó và chèn thêm thông tin CH trong neighbor table của mình Thông báo CTgateway chứa thông tin của CH mới (giả sử nút X) Nút CH khi nhận được thông báo CTgateway từ nút normal, nó sẽ kiểm tra trong CHneighbor table và nếu không tìm thấy X, nó chèn thêm thông tin của nút X vào trong CHneighbor table và gửi thông báo ARgateway tới nút normal Ngược lại, nếu tìm thấy thì nó sẽ gửi thông báo NRgateway tới nút normal Khi nút normal nhận thông báo ARgateway từ CH, nó sẽ chuyển từ trạng thái normal sang trạng thái gateway và đ t IDch với CH có W cao
nhất Nút normal sẽ chuyển sang trạng thái gateway khi yêu cầu để tiếp nhận được chấp nhận bởi CH của nó, điều này để ngăn ch n việc tạo ra nút gateway chưa sử dụng
và giảm việc gia tăng chi phí [7]
Nếu nút normal nhận được thông báo HELLO từ một nút normal ho c gateway
khác trong một cụm khác nhau, nó sẽ giữ nguyên trạng thái của mình
7 1
9
12
6 2
20 4
8
13
15 18
19
Hình 2.5 Hình thành cụm
Một nút CH tự xem tất cả những nút láng giềng mà nó có liên kết hai chiều như các nút thành viên Một nút tự xem mình như một nút thành viên của một cụm cụ thể
Trang 33nếu nó có một liên kết hai chiều với nút CH tương ứng Lưu ý r ng một nút thành viên
có thể nghe thấy từ nhiều nút CH và do đó có nhiều cụm máy chủ; các nút CH máy chủ của nó được m c nhiên liệt kê trong các thông báo HELLO mà nó phát sóng
Khi cụm đã xác định được nút CH của chúng, ta sử dụng các quy tắc sau đây để thay đổi CH:
Quy tắc 1: Một nút không phải là CH luôn luôn thừa nhận trạng thái của một nút CH hiện có, tức là nếu nút X không phải là một nút CH mà lại có một liên kết hai chiều với nút CH Y, nút X không trở thành một nút CH cho d nó có một ID thấp hơn của nút Y
Quy tắc 2: Khi hai nút CH di chuyển bên cạnh nhau (tức là có một liên kết hai
chiều giữa chúng) trong một khoảng thời gian (contention_period giây), sau khoảng
thời gian đó thì một trong số chúng sẽ từ bỏ vai trò là nút CH
Bất cứ khi nào nút thành viên rời khỏi cụm, nút này sẽ kiểm tra xem có liên kết hai chiều giữa nó với các nút láng giềng không, nếu có và đồng thời nó có ID thấp
nhất thì nó sẽ chuyển sang trạng thái normal và gửi ra một thông báo kích hoạt HELLO; nếu không nó chuyển sang trạng thái isolated [7]
Bước 2: Bảo tr cụm
Do các nút thường xuyên di chuyển nên cấu trúc liên kết mạng sẽ thay đổi theo thời gian Một nút có thể tham gia ho c rời khỏi một cụm hiện có tại một thời điểm Hai nút CH có thể đến trong vòng một bước nhảy, điều này có thể gây ra sự kiện thay đổi nút CH Điều này thật đáng tiết khi nó xảy ra vào thời điểm hai nút CH nhận được thông báo HELLO từ các nút khác, điều này có thể thường xuyên xảy ra do sự di chuyển nhanh của các nút trong mạng Manet
Một thuật toán được sử dụng trong trường hợp này là khi hai nút CH A và B
g p nhau, nếu nút A là nút đầu tiên nhận được thông báo HELLO, nó sẽ kiểm tra
neighbor table Nếu tất cả các nút thành viên của nó ở trạng thái gateway thì nó sẽ thay đổi sang trạng thái normal và thiết lập IDch với địa chỉ của nút B Nếu không thì
nó kiểm tra các tham số W của mình Nếu A phát hiện ra r ng các tham số W thấp, nó
chỉ đơn giản là thay đổi sang trạng thái gateway và thiết lập IDch với địa chỉ của B Lý
do để chuyển đổi sang sang trạng thái nút gateway là bởi vì khi một nút CH hiện có từ
bỏ vai trò nút đứng đầu cụm, nơi mà các nút thành viên trong cụm không thuộc phạm
vi nút B có thể sử dụng thực hiện dịch vụ (ví dụ như định tuyến)
Nếu nút A thấy r ng nó có W thông số cao hơn, nó sẽ gửi unicast một thông
báo Coverlap đến nút B Sau đó, nút B chấm dứt vai trò nút đứng đầu cụm và thay đổi sang trạng thái gateway và thiết lập IDch với địa chỉ của nút A [7]
Trang 34Hình 2.6 Bảo trì cụm
Trong hình 2.17 khi nút CH 5 của cụm 5 di chuyển vào cụm 2 và có liên kết hai
chiều với nút CH 2, thì nút CH 5 từ bỏ vai trò của nó là CH vào gộp vào cụm 2 có ID cao hơn Các nút A và B bị mất CH và trở thành các CH mới
2.1.5 Khám phá cụm liền kề (Adjacent Cluster Discovery)
CBRP sử dụng hai cấu trúc dữ liệu để hỗ trợ quá trình định tuyến: Cluster Adjacency Table (CAT) và cơ sở dữ liệu two-hop-topology CAT lưu trữ thông tin về
các cụm lân cận là liên kết hai chiều ho c liên kết một chiều Điều đó có nghĩa, một cụm được gọi là
+ Có liên kết hai chiều, nếu có một liên kết hai chiều giữa hai nút của cụm,
ho c nếu có ít nhất hai liên kết đơn hướng đối diện giữa hai nút (hình 2.18, cụm A và
cụm C, cụm A và cụm B có liên kết hai chiều)
+ Có liên kết một chiều, nếu có chỉ là một liên kết đơn hướng giữa chúng (hình
Trang 35Cơ sở dữ liệu two-hop-topology được xây dựng từ những thông tin nhận được
qua tin nhắn HELLO Nó chứa tất cả các nút có nhiều nhất là hai bước nhảy xa Quá trình định tuyến hoạt động theo hai bước Đầu tiên, nó phát hiện ra một con đường từ một nút nguồn đến nút đích, sau đó nó định tuyến các gói dữ liệu
Trong hình 2.18, cụm C được cho là được liên kết một chiều đến cụm D Cụm
C được gọi là cụm ngược tuyến (upstream) liền kề liên kết một chiều của cụm D, và ngược lại cụm D là cụm xuôi tuyến (downstream)
Mục tiêu của Adjacent Cluster Discovery là giúp cụm có thể khám phá tất cả
các cụm liền kề có liên kết hai chiều với nó Với mục tiêu này, mỗi nút giữ một CAT ghi lại thông tin về tất cả các nút CH láng giềng [9]
Lưu ý: Đối với các nút thành viên, nút CH láng giềng luôn luôn cách hai bước nhảy và có thể được phát hiện b ng cách kiểm tra các thông báo HELLO nhận được Đối với một nút CH, nút CH láng giềng của nó có thể là cách 2 ho c 3 bước nhảy
(hình 2.19) Khi sử dụng các thông báo HELLO, một nút CH chỉ có thể phát hiện nút
CH láng giềng cách 2 bước nhảy Tuy nhiên, nó có thể dựa vào CAT của các nút thành viên của nó để khám phá những nút CH láng giềng cách 3 bước nhảy
5
6 11
Trang 36kết đơn hướng từ nút gateway đến chính nó và Link_to có nghĩa là một liên kết đơn hướng từ nó đến nút gateway Lưu ý r ng: Có thể có một số các nút gateway hàng đầu
đối với một cụm liền kề cụ thể
Bảng CAT được cập nhật đinh kỳ bởi các thông báo HELLO mà một nút nhận được Một nút thành viên phát hiện ra nút CH chính xác là cách 2 bước nhảy và ghi lại trong CAT của nó Giả sử, bất cứ khi nào một nút A nhận được một thông báo HELLO từ nút B, nó kiểm tra qua danh sách các mục của thông báo Nếu có một nút
CH C và trạng thái liên kết của nút là Link_bidirectional (tức là nút B là một nút thành
viên của cụm C) và, hơn nữa, cụm C không phải là cụm máy chủ của nút A, thì nút A
thêm một mục trong CAT cho cụm liền kề C với nút gateway B và trường link status
xác định trạng thái liên kết giữa nút A và nút B [9]
Để giúp nút CH có thể có được thông tin về cụm liền kề mà cách 3 bước nhảy,
mỗi nút thành viên phải phát sóng CAT tóm tắt như một Cluster Adjacency Extension
trong thông báo HELLO (Chỉ có nút thành viên mới gửi thông tin này, nút CH không thuộc trong trường hợp này) Các quy tắc được tóm tắt như sau:
- Quy tắc 1: Nếu có ít nhất một nút gateway mà nút đó có một liên kết hai
chiều, thì nó sẽ quảng bá các cụm láng giềng mà có thể truy cập hai chiều
- Quy tắc 2: Nếu chỉ có liên kết một chiều (Link_from), các cụm láng giềng sẽ được quảng bá là Link_from (Lưu ý r ng, b ng thông báo HELLO, một nút là không thể phát hiện bất cứ liên kết Link_to đến nút gateway) [9]
Ngoài việc sử dụng thông báo HELLO để xây dựng CAT gồm các nút CH láng
giềng cách 2 bước nhảy, một nút CH có thể kiểm tra Cluster Adjacency Extension của
các nút thành viên để xác định các nút CH láng giềng cách 3 bước nhảy của mình để đưa thêm vào CAT Cụ thể như sau, giả sử nút CH A nhận được thông báo HELLO
của nút B Sau khi cập nhật vào CAT của nó với mục neighbor table trong HELLO, nó kiểm tra Cluster Adjacency Extension của nút B trong HELLO, nếu nó tìm thấy nút
CH C liền kề mà nó đã không thể truy cập trong vòng 2 bước nhảy khi đó nó tạo ra
một mục mới trong CAT của nó với nút gateway là B và link status theo quy định tại
phần mở rộng [9]
Nếu một nút CH thấy r ng một số cụm liền kề chỉ có thể truy cập thông qua
liên kết một chiều Link_from, nó sẽ lũ lụt đến các cụm láng giềng một tin nhắn của TTL3 tìm kiếm một liên kết "to" tương ứng với liên kết "from" này Thông điệp này sẽ
bao gồm các mục tương ứng cho các cụm liền kề Khi một nút CH nhận được một
thông điệp tìm kiếm được gửi đến, nó sẽ kiểm tra xem nó có chứa một mục Link_from
tương ứng với nút CH nguồn không Nếu có, nó sẽ gửi một thông báo trả lời với các
mục CAT tương ứng và cập nhật vào CAT của nó với mục Link_to mới theo quy định
Trang 37trong thông báo Kết quả là nút CH sẽ có thông tin đầy đủ của tất cả các cụm liền kề liên kết hai chiều thậm chí nếu không có liên kết hai chiều thực tế ở giữa
8
5 7
Ví dụ, trong hình 2.20, cụm 1 biết cụm 2 có thể tiếp cận với cụm 1 thông qua
nút 5, nhưng cụm 1 không biết nó có thể tiếp cận cụm 2 thông qua nút 3 Trong CBRP, cụm đầu 1 và cụm 2 sẽ khám phá ra theo kịch bản này và phổ biến thông tin đến nút 3
và nút 5 tương ứng
2.2 Giao thức định tuyến ZRP (Zone Routing Protocol)
Giao thức định tuyến ZRP kết hợp những ưu điểm của các phương pháp tiếp cận chủ động và bị động b ng cách duy trì một bản đồ liên tục cập nhật cấu trúc liên kết của một v ng định tuyến chủ động trên mỗi nút Trong v ng định tuyến chủ động, tuyến đường có sẵn ngay lập tức Đối với các nút bên ngoài v ng định tuyến, ZRP sử dụng một thủ tục khám phá tuyến, có thể được thừa hưởng từ thông tin định tuyến địa phương của v ng định tuyến chủ động [5]
2.2.1 Vùng định tuyến và định tuyến nội vùng (Intrazone Routing Protocol - IARP)
Một v ng định tuyến của nút X là bao gồm các nút n m trong một v ng có bán kính nhất định, gọi là bán kính v ng (Radius Zone) Bán kính của một v ng định
tuyến không được xác định b ng số đo địa lý thông thường mà xác định bởi một số p
cho trước (p là số bước nhảy của v ng) Các nút n m trong v ng định tuyến của nút X
sẽ có khoảng cách từ nó đến nút X nhỏ hơn ho c b ng một số p bước nhảy được xác định trước [5]
Trang 38D
J
F H
L
K
C G
Hình 2.10 Một ví dụ vùng định tuyến của nút A với p = 2
Trong ví dụ này các nút từ B đến nút H là n m trong v ng định tuyến của nút
A (khoảng cách từ chúng đến nút A không lớn hơn p = 2 bước nhảy) Nút K và L
là n m ngoài v ng định tuyến của nút A (khoảng cách từ chúng đến nút A là 3 bước nhảy, p > 2) Ta thấy r ng, nút J có hai tuyến đường có thể đi đến nút A là tuyến đường có số bước nhảy là 2 và tuyến đường có số bước nhảy là 3 Nhưng nút J vẫn
n m trong v ng định tuyến của nút A vì tuyến đường định tuyến ngắn nhất từ nút A đến nút J là 2, b ng bán kính v ng định tuyến.[8]
Các nút biên là các nút n m trong v ng định tuyến của nút A và có số bước nhảy nhỏ nhất từ nó đến nút A b ng bán kính v ng Các nút trong là các nút n m trong v ng định tuyến của nút A và có số bước nhảy từ nó đến nút A nhỏ hơn bán kính v ng gọi là nút trong Như vậy, trong ví dụ trên, các nút B , D , E , H , F , và
J là các nút biên của A ; các nút C , G và I là các nút trong của A
Để xây dựng một v ng định tuyến và các nút biên của nó, mỗi nút phải xác định các nút láng giềng của nó Để xác định nút láng giềng mới và các liên kết bị đứt, các nút có thể sử dụng một giao thức phát hiện láng giềng (NDP - Neighbor Discovery Protocol) được cung cấp bởi lớp địa chỉ truy cập đường truyền (MAC) NDP truyền gói tin cảnh báo "HELLO" mội cách đều đ n Nếu một nút nhận được một tin nhắn
như vậy, nó có thể cập nhật vào neighbor table, nghĩa là nó có một kết nối trực tiếp
với nút láng giềng này Nút không nhận được gói tin của nút láng giềng trong một
khoảng thời gian xác định sẽ xóa nút láng giềng đó khỏi neighbor table Nếu lớp MAC
của các nút không không hỗ trợ NDP, thì giao thức định tuyến nội v ng (IARP) phải trực tiếp cung cấp khả năng này Giao thức này chịu trách nhiệm xác định các tuyến
Trang 39đường đến các biên và thường là giao thức chủ động [5]
ZRP hỗ trợ việc duy trì v ng định tuyến chủ động thông qua IARP Thông qua IARP, mỗi nút sẽ xác định khoảng cách (tối thiểu) cho tất cả các nút trong v ng định tuyến của nó IARP có thể sử dụng từ một loạt các giao thức chủ động, chẳng hạn như DSDV, OSPF D IARP lựa chọn giao thức chủ động nào thì giao thức cơ sở cần phải được sửa đổi để đảm bảo r ng phạm vi hoạt động của giao thức này được giới hạn bán kính v ng định tuyến của một nút [4]
Bởi vì mỗi nút cần chủ động có thông tin định tuyến các nút trong v ng của nó, tổng số lưu lượng IARP không phụ thuộc vào kích thước của mạng, mà nó có thể là tương đối lớn
2.2.2 Định tuyến liên vùng (IERP)
Trong khi IARP duy trì các tuyến đường trong phạm vi của v ng định tuyến, thì IERP lại chịu trách nhiệm cho việc tìm kiếm các tuyến đường đến các nút n m ngoài phạm vi v ng định tuyến (khoảng cách lớn hơn bán kính v ng) IERP được phân biệt với các giao thức tìm kiếm lũ lụt chuẩn (dựa trên giao thức query/response) b ng cách khai thác cấu trúc liên kết định tuyến vùng do IARP cung cấp Một nút có thể đáp ứng một cách tích cực với bất kỳ truy vấn nào của các nút trong v ng định tuyến của nó Đối với các mạng lớn, khả năng các điểm đến n m trong v ng định tuyến của nút gốc
là rất ít Trong trường hợp này, các nút sẽ sử dụng một cơ chế để có thể tiếp tục công việc quảng bá truy vấn đó là sử dụng giải pháp quảng bá biên BRP (Bordercast Resolution Protocol) [5]
* Định tuyến liên vùng dựa trên tuyến đường khám phá (Routing Zone Based Route Discovery)
IERP hoạt động như sau:
- Đầu tiên, nó kiểm tra xem nút đích có n m trong v ng định tuyến của nút nguồn không
+ Nếu nút đích n m trong v ng định tuyến của nó tức là biết được tuyến đường đến nút đích và quá trình khám quá tuyến đường không yêu cầu thực hiện
+ Nếu nút đích không n m trong v ng định tuyến của nút nguồn, nút nguồn sẽ gửi một yêu cầu quảng bá biên tuyến đường (mà chúng ta gọi là chỉ đơn giản là một yêu cầu) cho tất cả các nút biên của nó
- Bây giờ, đến lượt các nút biên, tất cả các nút biên thực hiện c ng một thuật toán: Các nút biên sẽ kiểm tra xem nút đích có n m trong v ng định tuyến của nó không
+ Nếu có, nó sẽ gửi trả lời tuyến đường (mà chúng ta gọi là chỉ đơn giản là trả lời) trở lại nút nguồn, điều này có nghĩa là một tuyến đường đến nút đích được khám phá;
+ Nếu không, nó sẽ chuyển tiếp gói tin yêu cầu đến nút biên của nó và lần lượt
Trang 40Một ví dụ về thủ tục khám phá tuyến này được thể hiện trong hình 2.2, nút
nguồn S cần gửi một gói tin đến nút đích D Để tìm một con đường trong hệ thống, đầu tiên nút nguồn S sẽ kiểm tra nút đích D có n m trong v ng định tuyến của nó không Nếu có, nút ngồn S đã biết đường đến nút đích D Nếu không, nút nguồn S
sẽ gửi một gói tin yêu cầu quảng bá biên tuyến đường cho tất cả các nút biên của nó,
mà cụ thể là nút S sẽ gửi một yêu cầu đến các nút C , G và H Bây giờ, đến lượt các nút biên, sau khi xác minh r ng nút đích D không phải thuộc v ng định tuyến của
nó, mỗi một trong số các nút ( C , G , và H ) sẽ chuyển tiếp truy vấn b ng quảng bá biên các truy vấn đến các nút biên của nó Trong đó, H sẽ gửi truy vấn đến nút B , tại đây nút B công nhận nút đích D là n m trong v ng định tuyến của nó và đáp ứng truy vấn và chỉ ra con đường chuyển tiếp:[8]