Dạng đơn giản nhất của đa truy cập là Aloha khụng chia rónh và Aloha chia rónh. Trong Aloha khụng chia rónh, mỗi node hoạt động độc lập và đơn giản là truyền một gúi bất cứ khi nào nú được gửi tới; nếu một xung đột xảy ra, gúi sẽ được truyền lại sau một chu kỳ đợi ngẫu nhiờn. Tức là mỗi node truyền gúi bất cứ khi nào cú gúi được gửi tới. Như vậy khụng thể giải quyết được vấn đề xung đột như trường hợp node ẩn, node hiện trỡnh bày phớa dưới đõy.
Bản Aloha chia rónh làm việc cũng theo cỏch tương tự, nhưng chỉ cho phộp truyền trong những rónh đặc biệt được đồng bộ. Một giao thức MAC cổ điển khỏc là giao thức đa truy cập cảm nhận súng mang (CSMA). Trong CSMA, một node muốn truyền trước hết phải lắng nghe kờnh để đỏnh giỏ nú cú rỗi khụng. Nếu kờnh nhàn rỗi, node sẽ tiến tới việc truyền. Nếu kờnh bận, nốt sẽ đợi một chu kỳ back-off ngẫu nhiờn để cố truyền lại. CSMA với dũ xung đột là kỹ thuật cơ bản được sử dụng trong chuẩn IEEE 802.3/Ethernet. Tuy nhiờn vẫn chưa giải quyết được vấn đề node ẩn hiện.
Trong mạng Ethernet, CSMA được sử dụng với chế độ CSMA/CD (cảm nhận súng mang dũ xung đột): chế độ này hoạt động như CSMA thường nhưng trong quỏ trỡnh truyền, node đồng thời lắng nghe, nhận lại cỏc dữ liệu gửi đi xem cú xung đột khụng. Nếu phỏt hiện xung đột, node sẽ truyền 1 tớn hiệu nghẽn để cỏc node khỏc nhận ra và dừng việc gửi gúi trong 1 thời gian ngẫu nhiờn backoff trước khi cố gửi lại, tức là cú khả năng dũ xung đột nhưng vẫn khụng trỏnh được.
Vỡ vậy, trong cỏc dạng mạng phức tạp hơn như mạng khụng dõy hay WSN thỡ người ta dựng chế độ CSMA/CA. Chế độ này là CSMA trỏnh xung đột và cú khả năng giải quyết vấn đề node ẩn, node hiện. CSMA/CA hoạt động như sau: trước khi node gửi dữ liệu, nú sẽ lắng nghe kờnh. Nếu kờnh rỗi nú sẽ gửi một tớn hiệu RTS( request to send) ra mụi trường. Nơi nhận nếu nhận được RTS của nú, sẽ gửi lại tớn hiệu CTS (clear to send) chấp nhận cho phộp nơi gửi truyền dữ liệu. Những node nhận được 1 trong 2 gúi RTS/CTS sẽ tự động tạo ra NAV( network allocation vector) ngăn cản việc truyền dữ liệu. Do đú sẽ trỏnh được xung đột.
CSMA truyền thụng ngăn ngừa xung đột lỗi và khụng hiệu quả trong mạng khụng dõy bởi vỡ 2 vấn đề duy nhất: vấn đề node ẩn và node hiện.
Vấn đề node ẩn được minh hoạ trong hỡnh 4a; ở đõy, node A được truyền tới node B. Node C, nằm ngoài vựng súng radio của A, sẽ cảm nhận được kờnh truyền nhàn rỗi và bắt đầu truyền gúi tới node B. Trong trường hợp này, CSMA truyền thụng ngăn ngừa xung đột bởi vỡ A và C ẩn cho mỗi node. Vấn đề node hiện được minh hoạ trong hỡnh b. Ở đõy, trong khi node B truyền tới node A, node C cú một gúi cần truyền cho node D. Bởi vỡ node C trong khoảng của B, nú nhận thấy kờnh bận và khụng cú khả năng truyền. Tuy nhiờn, trong lý thuyết, vỡ D nằm ngoài khoảng của B, và A nằm ngoài khoảng của C, 2 sự truyền này khụng xung đột với nhau. Việc truyền bởi C sẽ bị hoón lại vỡ lóng phớ băng thụng.
Hỡnh 8. Node ẩn và node hiện
Vấn đề này là súng đụi: trong vấn đề node ẩn, gúi gõy xung đột vỡ trong khi node gửi mà khụng biết node khỏc đang truyền, trong khi đú node hiện cú một cơ hội lớn để gửi 1 gúi do sự nhầm lẫn của quỏ trỡnh truyền khụng bị làm phiền. Lời giải cho sự ghộp đụi này nằm ở chỗ khụng phải nơi truyền cần thiết để cảm nhận súng mang mà là nơi nhận. Một vài giao tiếp giữa nơi truyền và nơi nhận cần thiết để giải quyết vấn đề này.
3.2.3. Đa truy cập trỏnh xung đột (MACA hay CSMA/CA) và đặc tả 802.11
Giao thức MACA bởi Karn giới thiệu cỏch sử dụng 2 thụng bỏo điều khiển nú cú thể giải quyết (về cơ bản) vấn đề node ẩn và hiện. Thụng bỏo điều khiển đượ gọi là RTS(request to send) và CTS(clear to send). Khi một node muốn gửi một thụng điệp, nú sẽ phỏt ra một gúi RTS để mong đợi tớn hiệu truyền. Nếu tớn hiệu cho phộp nhận gúi, nú sẽ phỏt ra một gúi CTS. Khi nơi gửi nhận được CTS, nú bắt đầu truyền gúi.
chặn quỏ trỡnh truyền của nú và chờ đợi tớn hiệu trả lời CTS. Nếu một CTS khụng trong trạng thỏi lắng nghe, node cú thể bắt đầu quỏ trỡnh truyền dữ liệu. Nếu một CTS được nhận, nú sẽ chỳ ý cú hay khụng một RTS được lắng nghe trước đú, một node sẽ ngăn chặn quỏ trỡnh truyền của chỳng trong khoảng thời gian đủ để cho phộp kết thỳc quỏ trỡnh truyền dữ liệu tương ứng.
Với những điều kiện lý tưởng (vớ dụ như bỏ đi khả năng xung đột RTS/CTS, hay giao tiếp 2 chiều, khụng mất dữ liệu và cỏc hiệu ứng giữ), cú thể coi sơ đồ MACA cú khả năng giải quyết cả vấn đề về node ẩn và node hiện. Với cỏc vớ dụ đơn giản như ở trờn, node C lắng nghe thụng điệp CTS và loại bỏ xung đột truyền. Nú giải quyết vấn đề node hiện ở chỗ node C lắng nghe cỏc thụng điệp RTS của node B, nú sẽ khụng nhận CTS từ node A và như vậy cú thể truyền gúi dữ liệu của nú sau thời gian đợi đủ.
Cơ chế hoạt động của CSMA/CA trong chế độ DCF.
- Carrier sense: Một trạm khụng dõy muốn truyền dữ liệu phải kiểm tra xem đường truyền cú bận khụng, nếu đường truyền đang bận, trạm đú phải trỡ hoón việc truyền lại cho đến khi đường truyền rỗi. Cỏc trạm xỏc định trạng thỏi của đường truyền dựa trờn 2 cơ chế:
+ Kiểm tra lớp vật lý (PHY) xem cú súng mang hay khụng.
+ Sử dụng chức năng carrier sense ảo là NAV (network allocation vector).
Cỏc trạm cú thể kiểm tra lớp vật lý và thấy rằng đường truyền rỗi. Nhưng trong một số trường hợp, đường truyền cú thể đó được đặt chỗ trước bởi một trạm khỏc thụng qua NAV. NAV là một timer được cập nhật bởi cỏc frame dữ liệu truyền trong đường truyền.
Vớ dụ: Trong một Infrastructure BSS cú 3 client Minh, Việt, Quõn. Giả sử Minh đang truyền một frame đến Quõn. Bởi vỡ đường truyền khụng dõy là đường truyền chia sẻ dựa trờn quảng bỏ nờn Việt cũng cú thể nhận được frame. Nhưng cỏc frame của 802.11 cú chứa 1 trường thời gian (Duration Field). Giỏ trị DF này là đủ lớn để cho frame cú thể truyền đến đớch và hồi đỏp lại một ACK. Việt sẽ cập nhật giỏ trị NAV của mỡnh với giỏ trị duration trong frame, và sẽ khụng thực hiện truyền cho đến khi giỏ trị của NAV giảm đến 0. Chỳ ý cỏc trạm chỉ cập nhật giỏ trị NAV của chỳng khi trường duration trong frame nhận được cú giỏ trị lớn hơn giỏ trị của NAV mà nú đang lưu giữ.
- DCF( distributed coordination function): IEEE xỏc định cơ chế truy nhập cho mạng 802.11 là DCF. DCF là một cơ chế truy nhập dựa trờn phương phỏp truy nhập
CSMA/CA. Để mụ tả phương thức hoạt động của DCF, trước tiờn chỳng ta định nghĩa một số khỏi niệm cơ bản.
Trong cơ chế hoạt động của DCF, một trạm muốn truyền frame phải đợi một khoảng thời gian xỏc định sau khi đường truyền rỗi. Giỏ trị thời gian này được gọi là DCF Interframe Space (DIFS). Một khi DIFS trụi qua, đường truyền đó cú thể sẵn sàng cho cỏc trạm giành quyền truy nhập.
Trong vớ dụ trước, giả sử Việt và Quõn muốn truyền frame sau khi Minh truyền xong. Cả Việt và Quõn đều cú cựng giỏ trị NAV, cả 2 sẽ kiểm tra vật lý và thấy đường truyền rỗi. Cú khả năng lớn cả 2 trạm sẽ cựng truyền 1 lỳc và gõy xung đột. Để trỏnh tỡnh huống này, DCF sử dụng một random backoff timer. Thuật toỏn random backoff sẽ chọn ngẫu nhiờn một giỏ trị từ 0 đến giỏ trị Contention Window (CW). Theo mặc định, giỏ trị CW cú thể khỏc nhau tuỳ nhà sản xuất và nú được lưu trữ trong NIC (network interface card) của mỏy trạm. Để cú được giỏ trị random backoff, ta lấy một số ngẫu nhiờn đó chọn ở trờn nhõn với slot time (random backoff chớnh là số lần slot time). Giỏ trị của random backoff là khoảng thời gian cỏc trạm phải chờ thờm sau khi đường truyền rỗi và DIFS đó trụi qua, sau đú trạm nào cú random backoff ngắn nhất sẽ giành được quyền truyền frame.
Trở lại vớ dụ trước, Việt đó sẵn sàng truyền dữ liệu ( sau khi DIFS trụi qua), giỏ trị NAV của nú đó giảm đến 0, và kiểm tra lớp vật lý cũng cho thấy đường truyền rỗi. Việt sẽ đợi thờm một random backoff timer ( giả sử là 4 slot time) nữa trước khi cú thể bắt đầu truyền dữ liệu. Giỏ trị random backoff timer là khỏ nhau, tuỳ mỗi trạm. Nếu Việt và Quõn đều muốn truyền dữ liệu nhưng Quõn cú giỏ trị random backoff nhỏ hơn (giả sử là 2 slot time) thỡ Quõn sẽ là người truyền dữ liệu trước. Lỳc đú, Việt sẽ nhận được frame từ Quõn cú chứa trường duration lớn hơn giỏ trị NAV của Việt ( NAV hiện tại là 0) nờn Việt sẽ cập nhật NAV sang giỏ trị mới. Đồng thời Việt cũng lưu giỏ trị random backoff cũn lại của mỡnh ( trong trường hợp này là 2 slot time). Sau đú Việt sẽ lại phải chờ cho đến khi NAV = 0 và kiểm tra vật lý thấy đường truyền rỗi thỡ Việt sẽ chỉ phải đợi thờm một giỏ trị random backoff đó lưu lại ở lần trước (2 slot time), trước khi Việt thực sự truyền dữ liệu.
Giả sử sau khi Việt truyền được frame, thỡ làm thế nào để Việt biết được frame đú đó đến đớch mong muốn hay chưa? Đặc tả 802.11 yờu cầu rằng trạm nhận phải hồi đỏp lại một frame ACK cho trạm phỏt nếu nú nhận được frame thành cụng. Frame
trờn đường truyền. Trạm truyền sẽ cập nhật lại biến đếm Retry của nú, tăng giỏ trị CW lờn gấp đụi ( với hy vọng làm tăng giỏ trị random backoff) và bắt đầu tiến trỡnh truy nhập đường truyền lại lần nữa.
- Frame ACK: Trạm nhận sau khi nhận được frame thành cụng ( khụng cú lỗi) sẽ hồi đỏp lại một frame ACK cho trạm truyền. Lưu ý là trạm nhận phải truy nhập đường truyền và truyền frame ACK. Bạn cú thể nghĩ rằng ACK nhiều khả năng sẽ bị trỡ hoón bởi vỡ phải đấu tranh giành đường truyền. Tuy nhiờn, việc truyền frame ACK là một trường hợp đặc biệt. Frame ACK được phộp bỏ qua quỏ trỡnh random backoff và chỉ phải đợi một khoảng thời gian ngắn sau khi nhận được frame để cú thể truyền ACK. Khoảng thời gian ngắn mà trạm nhận phải đợi được gọi là Short Interframe Space (SIFS). SIFS nhỏ hơn DIFS 2 slot time. Nú đảm bảo cho trạm nhận cú nhiều cơ hội nhất để truyền trước cỏc trạm khỏc.
Cũng với vớ dụ trước, sau khi Việt trỡ hoón việc truyền tổng cộng 4 slot time, đường truyền vẫn rỗi, Việt bắt đầu truyền frame sang Quõn. AP nhận được frame và đợi một khoảng thời gian SIFS trước khi gửi lại frame ACK. Giả sử vỡ lý do nào đú, Việt khụng nhận được frame ACK, Việt sẽ tăng gấp đụi giỏ trị CW và lặp lại tiến trỡnh backoff. Cứ mỗi lần việc truy nhập đường truyền bất thành, cỏc trạm 802.11 sẽ tăng giỏ trị biến đếm Retry. CW tiếp tục được tăng gấp đụi cho đến khi nú đạt giỏ trị lớn nhất là Cwmax. Lớp MAC cú thể tiếp tục cố gắng truyền frame, nhưng khi biến đếm Retry dành cho frame đạt giỏ trị ngưỡng do admin đặt ra cho Retry, trạm Việt sẽ cố gắng giành lấy đường truyền.
Vấn đề node ẩn, node hiện và RTS/CTS: Việt cú thể khụng truy nhập được đường truyền vỡ một trạm khỏc trong vựng phủ súng AP nhưng lại ngoài tầm với của Việt. Giả sử Việt và Quõn nằm trong vựng phủ súng của nhau và trong vựng phủ súng của AP nhưng khụng cú ai nằm trong vựng phủ súng của Thắng. Thắng nằm trong vựng phủ súng của AP và cũng muốn truyền frame. Tỡnh huống này là node ẩn bởi vỡ Thắng là ẩn đối với Việt và Quõn. Việt cố giành đường truyền bằng cỏch sử dụng một frame đặc biệt gọi là RTS. Frame RTS được gửi đến AP, nú thụng bỏo cho AP và tất cả cỏc trạm khỏc trong vựng phủ súng của Việt biết khoảng thời gian (duration) cần thiết để Việt trao đổi dữ liệu. Việt trao đổi frame bao gồm Việt truyền frame và nhận ACK.
AP nhận được frame RTS của Việt và hồi đỏp lại với một frame điều khiển gọi là CTS. Frame CTS chứa trường duration cú giỏ trị đủ lớn cho phộp Việt hoàn thành việc
trao đổi frame. Tất cả cỏc trạm trong vựng phủ súng của AP bao gồm Thắng và Quõn nhận được frame CTS và cập nhật giỏ trị NAV của họ.
Việc khởi tạo frame RTS mà Việt đó truyền cũng phải đi qua đầy đủ cỏc tiến trỡnh trong DCF như cỏc frame bỡnh thường khỏc. Nhưng cũng tương tự như frame ACK, frame CTS tương ứng từ AP cũng bỏ qua thủ tục random backoff và chỉ cần đợi SIFS trước khi truyền.
3.2.4. IEEE 802.15.4 MAC
Hình 9. IEEE 802.15.4 MAC
Chuẩn IEEE 802.15.4 được thiết kế cho mạng cục bộ cỏ nhõn khụng dõy tốc độ thấp (LR-WPAN), gồm cỏc ứng dụng cảm ứng nhỳng. Những đặc điểm quan trọng nhất của chỳng là chế độ cho phộp bỏo hiệu trong topo dạng sao. Trong chế độ này, lớp MAC IEEE 802.15.4 sử dụng một cấu trỳc siờu khung như hỡnh vẽ. Một siờu khung được định nghĩa bởi một tớn hiệu bỏo hiệu tuần hoàn gửi bởi khối điều phối PAN. Trong khi siờu khung cú một pha hoạt động cho giao tiếp giữa node và bộ điều phối PAN và một pha khụng hoạt động, ta cú thể điều khiển phụ thuộc vào chu kỳ ngủ mong muốn. Quỏ trỡnh hoạt động cú 16 slot, gồm 3 phần: bộ điều phối, quỏ trỡnh truy cập (CAP) và một quỏ trỡnh xung đột tự do (CFP), nú cho phộp việc phõn phối và đảm
theo lịch được dành riờng. Node chỉ giao tiếp trờn GTS cú thể ngủ và chỉ cần thức dậy trước slot chỉ định GTS của nú.
Giao tiếp trong CAP là một thuật toỏn CSMA/CA đơn giản, nú cho phộp một quỏ trỡnh back off nhỏ để giảm bớt năng lượng tiờu tốn cho việc lắng nghe nhàn rỗi. Trong khi IEEE 802.15.4 trờn lý thuyết cú thể được sử dụng cho cỏc topo khỏc, chế độ cho phộp bỏo hiệu khụng được định nghĩa cho chỳng. Phần cũn lại ta sẽ tỡm hiểu về cả 2 giao thức MAC sử dụng năng lượng hiệu quả, đú là chế độ tranh chấp và chế độ lập lịch, sử dụng trong mạng khụng dõy multi-hop.
3.3. Năng lượng hiệu quả trong giao thức MAC
Năng lượng hiệu quả trong giao thức MAC đạt được khi tắt súng radio để rơi vào trạng thỏi ngủ bất cứ khi nào cú thể, để giữ năng lượng tiờu thụ.
3.3.1. Quản lý năng lượng trong IEEE 802.11
Tồn tại cỏc lựa chọn quản lý năng lượng trong chế độ Infrastructure của 802.11. Node được coi là điểm truy cập (AP) khi chỳng cú thể vào trạng thỏi ngủ mà bất cứ thụng điệp nào gửi tới cú thể được buffer tại AP. Quỏ trỡnh thức dậy của node sẽ đọc lại cỏc thụng điệp buffer này. Năng lượng giữ được sẽ được cung cấp cho cỏc tiờu phớ về lưu lượng vào thấp hơn và tiềm năng cao hơn.
3.3.2. Năng lượng cần cho đa truy cập và bỏo hiệu (PAMAS)
PAMAS là một kỹ thuật mở rộng của MACA, ở đú RTS/CTS bỏo hiệu được thực hiện với việc chia kờnh radio từ dữ liệu trao đổi được. Đõy là một trong những năng lượng cần cho giao thức MAC đầu tiờn đề cập cho mạng khụng dõy multi-hop. Trong PAMAS, node ngủ bất cứ khi nào chỳng khụng thể truyền và khụng thể nhận đầy đủ. Đặc biệt chỳng cú thể ngủ bất cứ khi nào chỳng nghe thấy 1 node hàng xúm truyền tới node khỏc, hoặc nếu chỳng xỏc định thụng qua kờnh bỏo hiệu điều khiển RTS/CTS rằng một trong những node hàng xúm đang nhận.
Quỏ trỡnh của chế độ ngủ được đặt trong khi xảy ra quỏ trỡnh truyền xỏc định bởi những tớn hiệu điều khiển nhận được của kờnh thứ 2. Nếu 1 quỏ trỡnh truyền được bắt đầu trong khi một node đang ở chế độ ngủ, sẽ thức node dậy gửi cỏc tớn hiệu thăm dũ