Khởi tạo mạng

Một phần của tài liệu (Luận văn thạc sĩ) Nghiên cứu vấn đề tối ưu hóa cơ chế sử dụng năng lượng của các nút di động nhằm nâng cao hiệu năng định tuyến trong mạng AD hoc (Trang 47 - 51)

Nút dữ liệu bắt đầu khởi tạo mạng bằng cách phát ra quảng bá khởi tạo gọi là “InitBroadcast” (IB). Mỗi IB chỉ chứa một vài byte bao gồm địa chỉ nguồn, số chặng của gói (HC) và tổng giá của đường đi tới nút dữ liệu. Tại nút dữ liệu, giá trị của hai trường cuối được thiết lập bằng 0.

Hình 2.5. Véc tơ quảng bá khởi tạo

Hình 2.5 cho thấy cấu trúc chi tiết của một frame được gọi là “Véc tơ quảng bá khởi tạo” (IBV – Init Broadcast Vector). Nút dữ liệu được giả định là nút mạnh nhất và không có rằng buộc năng lượng với nút này. Thông thường, nút dữ liệu sẽ là một máy tính hoạt động như là một giao tiếp để lưu trữ và phân tích dữ liệu.

Mọi nút cảm biến nhận IB sẽ lưu IBV trong bảng định tuyến của nó và chuyển tiếp IB này sau khi đã thay địa chỉ nguồn trong IB bằng địa chỉ của nó, tăng giá trị trường HC lên 1 đơn vị và cập nhật giá trị trường giá. Tiến trình này được gọi là tiến trình IBF (Init Broadcast Forward).

Hình 2.6 biểu diễn trình tự quảng bá thông điệp IB trong mạng. Mỗi nút cảm biến được biểu diễn bằng một vòng tròn có địa chỉ duy nhất. Khi khởi tạo, mọi nút đều không biết số chặng của mình bằng báo nhiêu nên nó sẽ thiết lập giá trị này bằng giá trị lớn nhất có thể. Đường liền nét biểu diễn các gói IB là gói sẽ kích hoạt tiến trình IBF tại nút nhận gói. Đường đứt nét biểu diễn việc truyền một IBV mà không phải là hệ quả của tiến trình IBF tại nút nhận. Trong ví dụ này, khi nút 1 chạy tiến trình IBF, các nút 0, 2, 4 và 5 nhận được gói IB. Nút dữ liệu (nút 0) không chạy tiến trình IBF vì mặc định nó không chuyển tiếp thông điệp. Nút 2 có kết nối trực tiếp với nút dữ liệu (HC=1), do đó nó không chạy tiến trình IBF tại thời điểm này. Tuy nhiên khi nút 2 nhận một IBV từ nút dữ liệu với HC=0, nó sẽ chạy tiến trình IBF được kích hoạt bởi thông điệp IB của nút dữ liệu. Nút 1 là kết nối đầu tiên của nút 4 và nút 5 hướng về nút dữ liệu, do đó cả hai nút này đều chạy tiến trình IBF. Nút 4 cũng nhận được IBV từ nút 2 và do HC trong IBV nhận được nhỏ hơn HC của nó nên nó chạy tiến trình IBF. Theo cách này, mọi nút tại HC cấp độ 2 sẽ chạy tiến trình IBF nhiều lần và do đó cũng sẽ nhận nhiều IBV có giá trị HC bằng với giá trị số chặng của chúng. Chỉ khi giá trị HC trong IBV lớn hơn hoặc bằng giá trị HC của nút nhận thì IBF mới không được kích hoạt thêm nữa. Điều kiện dừng quảng bá có thể được phát biểu theo công thức (4) như sau:

𝐻𝐶_𝐼𝐵𝑉 ≥ 𝐻𝐶_𝑁𝑜𝑑𝑒 + 𝑋 (4)

Trong đó (0 ≤ 𝑋 𝑣à 𝐻𝐶_𝐼𝐵𝑉 > 1) hoặc (𝑋 = 0 𝑣à 𝐻𝐶_𝐼𝐵𝑉 ≤ 1). Đối với trường hợp X = 1 cho mạng trong Hình 2.6, truyền thông giữa các nút có cùng giá trị HC có thể xảy ra. Đối với trường hợp X = 0, dữ liệu chỉ có thể được chuyển tiếp tới các nút có giá trị HC nhỏ hơn. Đối với trường hợp X > 1, có thể có đường ngược đi ra từ nút dữ liệu. Giá trị X càng lớn thì bảng định tuyến tại mỗi nút có kích thước càng lớn và có càng nhiều chặng hướng tới các nút có HC cao hơn. Đối với tùy chọn cuối cùng, các thông điệp tiếp theo phải được xem xét để tránh các đường lặp vòng. Điều này được thực hiện bằng một điều

kiện biên bổ sung. Nếu X > 1, không có véc tơ nào sẽ được truyền trong gói ACK chứa nút gửi thực sự (nút láng giềng tiếp theo) như là một đường rẻ nhất hướng tới nút dữ liệu. Thay vào đó, véc tơ có giá đắt hơn tiếp theo sẽ được sử dụng. Nếu không có entry véc tơ bổ sung thì gói ACK chứa véc tơ NULL trong khi các entry tương ứng trong bảng định tuyến bị xóa và vì vậy liên kết sẽ bị ngắt. Với cơ chế này, một phần mạng có thể sẽ bị tách ra. Tuy nhiên đây không phải là vấn đề lớn bởi vì các đoạn mạng bị tách sẽ định kỳ cố gắng chạy gói LB (Login Broadcast) để đăng ký vào mạng.

Để thấy được sự quan trọng của điều kiện dừng và sự cần thiết của tham số X, ta phải hình dung rằng thông tin giá trong bảng định tuyến biểu diễn tổng các giá dọc theo đường từ nút nguồn tới nút dữ liệu. Do đó bảng định tuyến phải chứa nhiều thông tin hơn chứ không chỉ là thông tin về các nút láng giềng. Nhưng điều này cũng có nghĩa là dữ liệu chỉ có thể được gửi theo chiều ngược lại qua các liên kết mà IB đến từ đó. Hình 2.7 minh họa một ví dụ trong đó tham số X giúp giải quyết một trạng thái mạng đặc biệt không đầy đủ. Các nút từ 0 đến 6 có số chặng bằng với số hiệu nút. Đối với các nút còn lại, số chặng và số hiệu nút được phân tách bằng dấu phẩy. Nếu chọn X = 0 thì một nút chỉ có thể truyền dữ liệu tới nút có số chặng nhỏ hơn. Nếu X = 1 thì các nút có cùng số chặng có thể truyền thông với nhau. Việc truyền dữ liệu có thể diễn ra theo chiều nghịch nếu X > 1. Khi chọn X = 2, các nút 5 và 7 có thể truyền dữ liệu qua nút 6 (là nút có số chặng cao hơn). Khi X =3, một nút có thể truyền dữ liệu tới nút có số chặng lớn hơn số chặng của nó 2 đơn vị.

Vậy tại sao X lại cần thiết? Giả sử nút có số hiệu 4 sắp hết năng lượng khi đang chạy. Trong trường hợp X=1, các nút 5 và 6 vẫn truyền dữ liệu qua nút 4 cho đến khi nút này dừng làm việc. Sau đó nút 5 và 6 phải thực hiện tiến trình LB ngay khi chúng phát hiện ra sự thay đổi trong topo mạng. Sau khi thực hiện tiến trình LB, nút 5 và 6 sẽ truyền dữ liệu qua nút 7. Để tránh hiệu ứng ảnh hưởng tới toàn mạng từ nút 4, có thể chọn giá trị X cao hơn. Trong ví dụ này, X=3 là một giá trị đủ lớn để giải quyết vấn đề. Ngay khi chi phí gửi dữ liệu từ nút 5 qua nút 4 đắt hơn con đường qua nút 6, nút 5 sẽ gửi dữ liệu của mình qua nút 6. Việc lựa chọn một giá trị X phù hợp có thể làm trễ hoặc tránh được việc một nút ngừng hoạt động dẫn tới ảnh hưởng tới toàn mạng. Nhưng khi thiết lập giá trị X cao hơn thì kích thước bảng định tuyến và gói IB sẽ dài hơn. Điều này đồng nghĩa với việc quá trình khởi tạo mạng sẽ tiêu tốn nhiều năng lượng hơn. Vì vậy, việc lựa chọn một giá trị phù hợp cho X nên phụ thuộc vào loại, độ lớn và lĩnh vực của ứng dụng.

Mạng có mức độ di động càng cao thì tần suất xảy ra hiện tượng không nhất quán giữa các bảng định tuyến trong mạng càng cao. Điều này chỉ có thể tránh khỏi được bằng cách định kỳ chạy thông điệp IB từ nút dữ liệu. Khoảng thời gian giữa 2 lần chạy có thể được điều chỉnh trên cơ sở các yêu cầu và đặc điểm của mạng. Trong các mạng cảm biến điển hình, các nút mạng có tính di động rất thấp, vì vậy sự biến động trong mạng chủ yếu là do các nút được loại bỏ hoặc thêm vào mạng.

Hình 2.8: Bảng định tuyến được xây dựng trên cơ sở IBV và IBF

Hình 2.8 cho thấy các bảng định tuyến của mỗi nút. Mỗi dòng (entry) đại diện cho một véc tơ IBV, với một IBF theo sau. Trong mỗi entry, giá trị bên

trái nhất là địa chỉ chặng tiếp theo, giá trị tiếp theo là số chặng để đi về nút dữ liệu và giá trị ở bên phải là chi phí tổng. Nút 3 và nút 5 có hai entry trong bảng định tuyến cho nút 4 để cung cấp hai đường đi tới nút dữ liệu. Dựa trên tính khả dụng của bộ nhớ, mỗi nút có thể quyết định chỉ lưu trữ một entry có chi phí thấp nhất hoặc để lại tất cả các entry trong bảng định tuyến. Trong trường hợp chỉ giữ entry có chi phí thấp nhất cho mỗi nút láng giềng, việc quảng bá có thể được đơn giản hóa bằng cách chỉ truyền IBF nếu IBV được quảng bá là entry có chi phí rẻ nhất trong bảng định tuyến. Nhưng việc chỉ lưu trữ IBV rẻ nhất trong bảng định tuyến làm cho việc quảng bá IB phải thường xuyên hơn vì nếu không thì không thể chuyển sang các đường dự phòng.

Một phần của tài liệu (Luận văn thạc sĩ) Nghiên cứu vấn đề tối ưu hóa cơ chế sử dụng năng lượng của các nút di động nhằm nâng cao hiệu năng định tuyến trong mạng AD hoc (Trang 47 - 51)

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

(81 trang)