Khởi tạo mạng

Một phần của tài liệu (LUẬN văn THẠC sĩ) phương pháp tiếp cận theo thiết kế xuyên tầng nhằm tối ưu hóa năng lượng trong mạng manet (Trang 52 - 57)

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. Ví dụ về một tiến trình khởi tạo mạng đơn giản

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 đó ( hoặc ( . Đố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ị.

Hình 2.7. Mô hình minh họa sự quan trọng của tham số X

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ĩ) phương pháp tiếp cận theo thiết kế xuyên tầng nhằm tối ưu hóa năng lượng trong mạng manet (Trang 52 - 57)