Các quy tắc điều khiển và trao đổi thông báo

Một phần của tài liệu bảo đảm công bằng luồng trong các mạng ad hoc không dây (Trang 63 - 65)

Mục đích của MACAW là để tính toán lại một vài sự lựa chọn thiết kế cơ bản trong MAC và sau đó đưa ra một phiên bản được sửa lại phù hợp với mạng LAN không dây. Thuật toán MACAW là một thiết kế sơ bộ và đưa ra nhiều dữ liệu không xác định. MACAW cũng có thể được mô tả trong các điều kiện về các quy tắc điều khiển, quy tắc trì hoãn và các quy tắc chờ đợi.

Một bộ đệm đang chạy MACAW có thể là một trong tám trạng thái sau: rỗi (IDLE), tranh chấp (CONTEND), chờ đợi CTS (WFCTS - Wait For CTS), chờ đợi tranh chấp (WFCntend - Wait for Contend), chờ đợi gửi dữ liệu (WFDS - Wait For DataSend), chờ đợi dữ liệu (WFData - Wait For Data), chờ đợi ACK (WFACK - Wait For ACK) và yên lặng (QUIET).

Các quy tắc điều khiển như sau:

1. Khi A trong trạng thái IDLE và muốn truyền một gói tin dữ liệu đến B, nó thiết lập một bộ đếm thời gian ngẫu nhiên và đi đến trạng thái CONTEND.

2. Khi trạm B trong trạng thái IDLE và nhận một gói tin RTS từ A, nó truyền một gói tin CTS. B thì thiết lập bộ đếm thời gian và đi đến trạng thái WFDS.

3. Khi A trong trạng thái WFCTS và nhận một gói tin CTS từ B, nó xóa bộ đếm thời gian, truyền quay trở lại gửi dữ liệu (DS-Data Send)

theo sau bằng các gói tin dữ liệu đến B. A sau đó vào trạng thái WFACK và thiết lập bộ đếm thời gian.

4. Khi B trong trạng thái WFDS và nhận một gói tin DS từ A, nó đi đến trạng thái WFData và thiết lập bộ đếm thời gian.

5. Khi B trong trạng thái WFData và nhận một gói tin từ A, nó xóa bộ đếm thời gian, truyền lại một gói tin ACK và đi đến trạng thái IDLE

6. Khi A trong trạng thái WFACK và nhận một gói tin ACK từ B, nó khởi động lại trạng thái IDLE và xóa bộ đếm thời gian.

7. Khi B trong trạng thái IDLE và nhận một RTS với một gói tin dữ liệu nó báo nhận lần cuối, nó gửi lại một ACK thay thế CTS.

8. Nếu A nhận một RTS khi nó trong trạng thái CONTEND, nó truyền gói tin CTS tới bên gửi và đi đến trạng thái WFDS và thiết lập bộ đếm thời gian,

9. Nếu C trong trạng thái QUIET và nhận một RTS nó đi đến trạng thái WFContend.

10.Nếu một trạm trong trạng thái IDLE và nhận một gói tin yêu cầu tới RTS, nó truyền một gói tin RTS đến bên gửi, đi đến trạng thái WFCTS và thiết lập một giá trị bộ đếm thời gian.

Các quy tắc trì hoãn cho như sau:

1. Khi C nghe thấy một gói tin RTS từ A đến B, nó đi từ trạng thái hiện tại của nó đến trạng thái QUIET và thiết lập một giá trị bộ đếm thời gian đủ cho A nghe thấy CTS của B.

2. Khi C nghe thấy một gói tin DS từ A đến B, nó đi từ trạng thái hiện tại của nó đến trạng thái QUIET và thiết lập một bộ đếm thời gian đủ cho A để truyền gói tin dữ liệu và sau đó nghe ACK của B.

3. Khi D nghe thấy một gói tin CTS từ B đến A, nó đi từ trạng thái hiện taị của nó đến trạng thái QUIET và thiết lập một giá trị bộ đếm thời gian đủ cho B để nghe thấy dữ liệu của A.

hiện tại của nó đến trạng thái QUIET và thiết lập một giá trị bộ đếm thời gian đủ để trao đổi RTS - CTS.

Các quy tắc chờ đợi cho như sau:

1. Khi một trạm trong trạng thái WFContend và bộ đếm thời gian hết hạn, nó thiết lập một bộ đếm thời gian ngẫu nhiên và đi đến trạng thái CONTEND.

2. Khi một trạm trong trạng thái CONTEND và bộ đếm thời gian hết hạn, nó có thể hoặc truyền một gói tin CTS để thực hiện truyền dữ liệu bắt đầu - gửi (A) hoặc một gói tin yêu cầu RTS để thực hiện truyền dữ liệu bắt đầu - nhận (D), phụ thuộc vào hoặc nó vào trạng thái CONTEND từ trạng thái IDLE, hoặc từ trạng thái WFContend.

Với truyền dữ liệu bắt đầu - gửi, A truyền một gói tin RTS, bao gồm ID trạm của A và B, và một số lượng yêu cầu các byte để gửi. A đi đến trạng thái WFCTS và thiết lập giá trị bộ đếm thời gian. Với truyền dữ liệu bắt đầu - nhận, D truyền một gói tin yêu cầu RTS và sau đó đi đến trạng thái IDLE.

3. Từ bất kỳ trạng thái khác nào, khi bộ đếm thời gian hết hạn, một trạm đi đến trạng thái IDLE và khởi động lại giá trị bộ đếm thời gian.

Một phần của tài liệu bảo đảm công bằng luồng trong các mạng ad hoc không dây (Trang 63 - 65)