Cơ chế hình thành cụm (Cluster)

Một phần của tài liệu Nghiên cứu một số giao thức định tuyến trên mạng manet (Trang 30 - 34)

7. Bố cục của luận văn

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.

clusterhead 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. T ngụ ý sự ổn định nút, do đó làm tăng sự ổn định của cụm.

- P là truyền tải năng lượng và được sử dụng để chọn các nút ở các cụm có phạm vi lớn nhất, do đó, giảm thiểu số lượng các cụm được tạo ra.

- Các hệ số a, b, c và d là trọng số cho các thông số hệ thống tương ứng và a + b + c + d = 1. Sự linh hoạt thay đổi các yếu tố trọng lượng giúp ta áp dụng thuật toán với các mạng khác nhau. [7]

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

có 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 3 5

Clusterhead Gateway Normal

17 14 10 16 11 21 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ể

nế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]

D 5 G A 5 2 B C F E D G A 5 2 B C F E Hì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.

Một phần của tài liệu Nghiên cứu một số giao thức định tuyến trên mạng manet (Trang 30 - 34)

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

(86 trang)