CHƢƠNG 3 CÁC GIAO THỨC MAC
3.6 Các giao thức MAC dựa trên lịch trình
Phần này sẽ giới thiệu một số giao thức dựa trên lịch trình (schedule-based protocol),
ởđây khơng cần phải tránh trạng thái nghe rỗi, ví dụ nhƣ sử dụng các sơ đồ TDMA thì việc
truyền dẫn đƣợc ấn định một cách rõ ràng, cơ hội nhận tin của các nút và đƣa chúng về trạng
thái ngủ có thể thực hiện ở mọi thời điểm khácnhau. Ƣu điểm thứ hai của các giao thức dựa
trên lịch trình là lịch trình truyền dẫn đƣợc tính tốn sao cho khơng có xung đột xảy ra ở các bộ thu và do đó, khơng u cầu các sơ đồ đặc biệt để tránh các giải pháp đầu cuối ẩn.
Tuy nhiên, các sơ đồ này cũng có một số rủi ro. Thứ nhấtlà việc cài đặt và duy trì lịch
trình bao gồm lƣu lƣợng tín hiệu, đặc biệt khi đối mặt với mạng có cấu hình thay đổi. Thứ hai là nếu dùng biến thể của TDMA, thời gian đƣợc chia thành các khe tƣơng đối nhỏ, cả bộ phát và bộ thu đều đồng ý với việc chia khe thời gian đó để có thể thực sự gặp nhau và tránh đƣợc việc chồng lên các khe thời gian khác, mà đây là lý do tạo ra các xung đột. Tuy nhiên, để duy
trì đồng bộ thời gian bao gồm cả trƣờng hợp lƣu lƣợng tín hiệu bị tăng lên là một việc khó.
Thứ balà lịch trình đó khơng dễ thích nghi với các tải khác nhau trong một khoảng thời gian nhỏ. Đặc biệt, trong TDMA rất khó nhƣờng các khe thời gian khơng sử dụng cho các nút lân cận nó. Nhƣợc điểm tiếp theo là lịch trình của nút (có thể là cả của các nút lân cận nó) có thể yêu cầu nhiều mà bộ nhớ mà đây lại là tài nguyên khan hiếm trong một số thiết kế nút cảm biến. Cuối cùng và việc ấn định phân bố các sơ đồ TDMA khơng có xung đột thực sự là một vấn đề khó
3.6.1 Giao thức LEACH
Giao thức phân cụm thích nghi cơng suất thấp LEACH (Low-energy Adaptive
Clustering Hierarchy) sử dụng khái niệm phân cấp và tổ chức các nút trong mạng thành các
cụm (cluster). Trong mỗi cụm, các nút lần lƣợt đóng vai trị nút chủ (clusterhead). LEACH
sử dụng TDMA để truyền thông tin từ các nút tới nút chủ. Nút chủ chuyển tiếp thông tin nhận đƣợc tới trạm gốc.
120
khác của cụmđƣợc gọi là nút thành viên (member n o d e). Với tất cả các nút thành viên, các
khe TDMA đƣợc ấnđịnh và có thể đƣợc dùng để trao đổi dữ liệu giữa các thành viên và nút
chủ. Ở đây khơng có giao tiếp ngang hàng. Ngồi các khe thời giancủa chúng, các thành viên
có thể ở trạng thái ngủ. Nút chủ tập hợp dữ liệu của các thành viên và truyền chúng đến bộ
thu hoặc đến các nút khác. Do bộ thu thƣờng ở xa nên nút chủ phải sử dụng năng lƣợng đáng kể cho việc truyền này. Đối với nút thành viên, việc truyền dữ liệu đến nút chủ thƣờng rẻ hơn rất nhiều so với chuyển trực tiếp đến bộ thu. Các nút chủ tiêu tốn nhiều năng lƣợng do nó ln
phải bật và phải có trách nhiệm trong các truyền dẫn khoảng cách lớn. Nếu một nút cốđịnh có
vai trị này thì nó sẽ tiêu thụ năng lƣợng rất nhanh và sau đó, nó sẽ chết, tất cả các thành viên của nó sẽ nhƣ “rắn mất đầu” và do đó, chúng trở nên vơ dụng. Vì vậy, vai trị chủ đạo này sẽ đƣợc thay đổi giữa các nút. Đặc biệt, mỗi nút sẽ quyết định độc lập với các nút khác rằng nó có trở thành nút chủ khơng nên lƣu lƣợng tín hiệu khơng phụ thuộc vào việc chọn nút chủ (mặc dù lƣu lƣợng tín hiệu đƣợc yêu cầu để kết hợp các nút sau đó). Quyết định này đƣợc đƣa vào báo cáo khi nút đƣợc xem nhƣ là nút chủ lần cuối cùng. Giao thức sẽ đƣợc xâu dựng dựa trên cơ sở này, đó là tất cả các nút quyết định xem liệu có trở thành nút chủ tại cùng một thời điểm không và các nút không trở thành nút chủ sẽ phải liên kết với nhau để sau đó trở thành nút chủ. Các nút không trở thành nút chủ chọn nút chủ cho chúng trên cơ sở cƣờng độ tín hiệu
thu đƣợc. Mạng đƣợc chia thành các cụmsẽ biến đổi theo thời gian và giao thức phải đồng bộ
thời gian hoàn toàn.
Để giảm can nhiễu giữa các cụm, LEACH sử dụng cơ chế gán mã dựa trên bộ phát. Truyền thông giữa một nút và nút chủ đƣợc thực hiện sử dụng trải phổ dãy trực tiếp (DSSS), trong đó mỗi cụm sẽ đƣợc cấp một mã trải phổ duy nhất. Mã này đƣợc sử dụng bởi tất cả các nút trong cụm để phát dữ liệu tới nút chủ. Các mã trải phổ đƣợc cấp cho các nút chủ dựa trên
cơ sở vào trƣớc – đƣợc phục vụ trƣớc (first-in, first-served), bắt đầu bằng nút chủ đầu tiên
thơng báo vị trí của nó, sau đó là các nút chủ kế tiếp. Nút chủ thông báo tới các nút thành viên
mã CDMA đƣợc cấp. Điều này sẽ tránh tình trạng khi nút nằm ở biên giới thuộc nút chủ A
nhƣng do méo trong quá trình truyền lại thuộc cụm B nhƣ hình 3.23. Các nút phải có khả năng điều chỉnh cơng suất phát để giảm can nhiễu giữa các cụm lân cận.
Hình 3.23. Nhiễu giữa các nhóm
Tham số mạng tới hạnlà phần trăm nút làm nút chủ. Nếu chỉ có một số ít làm nút chủ
thì khoảng cách mong muốngiữa nút thành viên và nút chủ trở nên lớn hơn, do đó nút thành
viên phải sử dụng nhiều năng lƣợng để đến đƣợc nút chủ của chúng khi đảm muốn đảm bảo tỉ số BER đã cho. Nói cách khác, nếu có nhiều nút chủ thì sẽ phải sử dụng nhiều năng lƣợng
121
hơn cho việc truyền dẫn từ các nút chủ đến bộ thu. Vì vậy, tồn tại tỉ lệ phần trăm tối ƣu nút
chủ là 5%. Nếu giá trị tối ƣu này đƣợc chọn thì LEACH có thể giảm đƣợc bảy đến tám lần
năng lƣợng sử dụng so với trƣờng hợp mỗi nút truyền trực tiếp dữ liệu của mình đến bộ thu,
và sẽ là bốn đến tám lần so với trƣờng hợp các gói tin chuyển tiếp trong đa bƣớc nhảy. Do
LEACH phân bố vai trị của nút chủ một cách cơng bằng đối với tất cả các nút nên chúng thƣờng chết cùng lúc.
Sau khi nhận các gói dữ liệu từ các nút thành viên, nút chủ tập hợp dữ liệu trƣớc khi gửi tới trạm gốc. Truyền thông giữa nút chủ với trạm gốc đƣợc thực hiện sử dụng mã trải phổ đã chọn và CSMA. Trƣớc khi phát dữ liệu, nút chủ phải cảm nhận kênh truyền để đảm bảo khơng có nút chủ khác đang truyền dữ liệu. Nếu kênh truyền bận, nút chủ chờ cho đến khi kênh truyền rỗi. Lúc này nút chủ gửi dữ liệu tới trạm trung tâm sử dụng mã trải phổ đã chọn.
Với các giao thức đã đƣợc mô tả ở trên, LEACH không thể bao phủ một vùng địa lý rộng lớn khoảng vài dặm vng hoặc lớn hơn vì nút chủ chỉ đƣợc cách bộ thu khoảng hai dặm là đã không đủ năng lƣợng để tới bộ thu, chƣa kể đến việc tỉ số BER lúc đó sẽ thấp. Nếu có thể sắp xếp sao cho nút chủ này có thể sử dụng các nút chủ khác để truyền tiếp thì hạn chế này có thể khắc phục phần nào.
Nhìn chung, các giao thức dựa trên lịch trình khơng có sự ganh đua, do đó hạn chế đƣợc sự lãng phí năng lƣợng do xung đột. Ngoài ra, các nút cảm biến chỉ cần bật máy thu trong các khe thời gian dữ liệu đƣợc phát hoặc thu. Trong các khe thời gian khác, máy thu đƣợc tắt, do đó tránh đƣợc hiện tƣợng nghe lén. Kết quả là các nút hoạt động ở trạng thái chu trình làm việc thấp, kéo dài đáng kể thời gian sống của mạng. Tuy nhiên, các giao thức dựa trên lịch trình cũng có một vài nhƣợc điểm, hạn chế việc sử dụng chúng trong WSN. Sử dụng TDMA yêu cầu tổ chức các nút thành cụm. Cấu trúc phân cấp này thƣờng hạn chế các nút chỉ giao tiếp đƣợc với nút chủ. Nhƣ vậy không thể hỗ trợ trực tiếp truyền thông ngang hàng (đồng cấp), trừ khi các nút đƣợc yêu cầu ở trạng thái nghe trong tất cả các khe thời gian. Hầu hết các
cơ chế dựa trên lịch trình phụ thuộc vào sự đồng bộthời gianchính xác, phân bố để căn đƣợc
biên của các khe thời gian. Việc đồng bộ thời gian giữa các nút phân tán là một nhiệm vụ khó khăn và tốn kém, đặc biệt trong các mạng khơng dây có năng lƣợng hạn chế. Các cơ chế dựa trên lịch trình cũng yêu cầu sử dụng thêm các phƣơng thức nhƣ FDMA hay CDMA để khắc phục hiện tƣợng nhiễu liên cụm. Một nhƣợc điểm nữa là các giao thức MAC dựa trên TDMA hạn chế khả năng mở rộng mạng và rất khó thích nghi với sự di chuyển của nút và sự thay đổi về lƣu lƣợng cũng nhƣ cấu hình mạng. Khi một nút gia nhập hoặc rời khỏi một cụm, chiều dài khung và việc gán khe thời gian phải đƣợc điều chỉnh. Nếu thay đổi xảy ra thƣờng xuyên, việc điều chỉnh có thể rất tốn năng lƣợng hoặc mất nhiều thời gian để đạt hiệu quả.
Hoạt động của giao thức LEACH sẽ đƣợc trình bày chi tiết hơn ở chƣơng 4.
3.6.2 Giao thức SMACS
Giao thức điều khiển truy cập môi trƣờng tự tổ chức cho các mạng cảm biến
(SMACS - Self-Organizing Medium Access Control for Sensor Networks) đƣợc mô tả bởi Sohrabi và Pottie là một phần của giao thức WSN phù hợp với MAC địa chỉ, phát hiện vùng
lân cận, gắn liền với các nút di chuyển, giao thức định tuyến đa bƣớc nhảyvà giao thức định
tuyến cục bộ cho mục đích xử lý tín hiệu hợp tác.
122 TDMA của các nút. SMACS dựa trên các giả thiết sau:
• Phổ đƣợc chia thành một số kênh và mỗi nút có thể điều chỉnh bộ thu phát của mình đến một giá trị bất kỳ, giả thiết rắng các mã CDMA đƣợc sử dụng.
• Hầu hết các nút trong mạng cảm biến là đứng yên và đƣợc ấn định một giá trị trong
thời gian khá dài.
•Mỗi nút chia thời gian của nó thành các siêu khung có độ dài cố định (có độ rộng Tframe
giây) nhƣng khơng cần thiết phải cùng pha. Tuy nhiên, tất cả các nút phải có cùng độ dài siêu khung và yêu cầu đồng bộ về mặt thời gian. Các siêu khung cũng đƣợc chia thành các khe thời gian nhƣng điều này khơng chính xác vì các truyền dẫn khơng bị giới hạn là chỉ xảy ra trong một khe thời gian.
Mục tiêu của SMACS là phát hiện các nút lân cận và cài đặt các tuyến và các kênh
truyềndẫn đến chúng. Tuyến đƣợc xác định theo tất cả các gói tin đã cho đƣợc truyền theo
một hƣớng. Hơn nữa, tuyếnđƣợc sử dụng bởi khe TDMA ở một trong hai điểm đầu cuối. Khi
hai nút muốn hoạt động theo hình thức hai chiều thì u cầu phải có hai tuyến. Một nút sẽ có
một khe nhận và một khe truyềntới các nút khác. Ấn định các tuyếnđể đảm bảo khơng có
xung đột xảy ra ở cácbộ thu. Để có đƣợc điều này, SMACS quan tâm rằng với nút đơn, các
khe thời gian của các tuyếnkhác nhau sẽ không chồng nhau. Với mỗi tuyến ngẫu nhiên, một
lƣợng lớn kênh tần số/ mã CDMA sẽ đƣợc lựa chọn và sử dụng. Nó khơng u cầu nút và các nút lân cận truyền ở các thời điểm hoàn toàn khác nhau. Tuy nhiên, trong trƣờng hợp này, chúng phải truyền đến các bộ thu khác nhau và phải sử dụng các mã/ tần số khác nhau. Sau khi cài đặt tuyến, các nút phải thức dậy định kỳ (một lần trên siêu khung) trong các khe thời gian nhận tƣơng ứng với bộ thu đƣợc điều chỉnh để phù hợp với tần số hoặc mã CDMA. Khe thời gian truyền chỉ đƣợc sử dụng khi có yêu cầu.
Nếu sử dụng sơ đồ cục bộ thay vì ấn định tồn bộ thì nên tránh nhiệm vụ truyền tin từ vùng lân cận đến nút trung tâm phản hồi kết quả tính tốn.
Đối với vùng bao phủ lân cận và cài đặt tuyến, ta sẽ xét bốn trƣờng hợp. Giả sử nút x và
y muốn cài đặt tuyến và x đƣợc bật trƣớc.
Trường hợp đầu tiên, ta giả sử hoặc x hoặc y khơng có nút lân cận nhƣ hình 3.24. Nút x
nghe ở dải tần số cố định trong một khoảng thời gian ngẫu nhiên. Nếu khơng nhận đƣợc gì
trong khoảng thời gian này thì x sẽ gửi một thông báo mời là TYPE1(x,unattached)
nhằm cho biết nhận dạng nút và số nút lân cận của nó Khi nút lân cận z bất kỳ của x nhận
đƣợc thơng báo này, nó sẽ đợi một cách ngẫu nhiên nhƣng nằm trong giới hạn thời gian và trả
lời với thông báo TYPE2(x,z,n) nhằm cho biết địa chỉ của nó, địa chỉ của x và số nút lân
cận n. Giả sử rằng nút y trả lời khơng chính xác trƣớc bằng TYPE2(x,y,unattached) và
x nhận đúng thông báo này. Do y gửi câu trả lời trƣớc nên x mời y tạo tuyến bằng cách gửi
thông báo TYPE3(y, -), mang nhận dạng của nút “chiến thắng” y và các tham số của nó. Thông báo này đƣợc gửi khi kết thúc thời kỳ cạnh tranh của thông báo trả lời
TYPE2(x,z,n). Giờ y đã biết rằng nó đã đƣợc lựa chọn (i) và (ii) nó có thể lựa chọn khe
123
Hình 3.24. SMACS: cài đặt tuyến cho hai nút đơn
Nút y trả lời x bằng tuyếnđã đƣợc chỉ định, đó là hai khethời gian và tần số/ mã bằng cách sử dụng thông báo TYPE2(x,y,LinkSpec). Các khe thời gian chỉ định có mối thời gian chung do nút y chấp nhận pha siêu khung của x dựa trên việc nhận thông báo
TYPE3(y, -). Do đó, các nút lân cận đƣợc nhận ra trong trƣờng hợp đầu tiên sẽ cùng pha (và cùng chu kỳ).
Nút z sẽ quay trở lại trạng thái ngủ và cố đợi thêm một thời gian nữa. Các nút định kỳ lặp lại lời mời của chúng bằng các thơng báo TYPE1(x,unattached).
Trường hợp thứ hai, nút x có sẵn các nút lân cận nhƣng nút chiến thắng y ở gần. Vì
vậy, x gửi thơng báo TYPE1(x,unattached) và y cố gắng trả lời trƣớc tiên bằng thông
báo TYPE2(x,y,unattached) của nó. Sau đó, nút x biết rằng nó có thể tự do sắp xếp
tuyến đến y do nó ở gần x. Nút x chọn hai khe thời gian và tần số phù hợp, gửi thông báo
TYPE3(y,LinkSpec) đến y. Nó nhận pha siêu khung của x và trả lời bằng thông báo
TYPE2(x,y,-) mang chỉ định của tuyến rỗng (có nghĩa là chỉ định tuyếncủa x đã đƣợc chấp nhận).
Trường hợp thứ ba, nút x thực sự khơng có nút lân cận, vì vậy y trả lời thông báo
TYPE1(x,unattached) của x bằng TYPE2(x,y,unattached). Nút x tiếp tục bằng
cách gửi thông báo TYPE3(y,-) mà không chỉ định tuyếnđến y và y sẽ điều chỉnh để lựa
chọn các khe thời gian và tần số. Sau đó, y gửi trả lại thông báo
TYPE2(x,y,unattached) đến x.
Trường hợp thứ tư, cả x và y đều có tuyếnvới các nút khác và các siêu khung của nó
chúng thƣờng khơng thẳng hàng. Vì vậy, x gửi thơng báo TYPE1(x,unattached) và y
trả lời bằng TYPE2(x,y,unattached). Nút x trả lời với thông báo
124
định sự dịch pha giữa các siêu khung của x và y. Sau khi nhận đƣợc thông tin này, nút y xác
định các khe thời gian cịn trống giữa hai lịch trình, chúng khơng nhất thiết phải thẳng hàng
với biên giới các khe thời gian ở một trong hai lịch trình.
Giao thức này cho phép cài đặt các tuyến tĩnh giữa các nút cố định. Do quá trình xác
định vùng bao phủ đƣợc lặp lại theo thời gian nên giao thức này phù hợp để thay đổi cấu hình mạng.