Định dạng khung

Một phần của tài liệu Nâng cao hiệu năng mạng adhoc đa chặng (Trang 30)

Có ba dạng khung như sau:

- Khung dữ liệu: Được sử dụng để truyền dữ liệu

- Khung điều khiển: Được sử dụng để điều khiển truy nhập đường truyền (RTS, CTS, ACK)

- Khung quản lý: Các khung được truyền cùng giống như khung dữ liệu để trao đổi thông tin quản lý, nhưng không được chuyển lên tầng cao hơn.

Tất cả các khung của giao thức 802.11 gồm các thành phần như sau: Preamble, gồm có:

- Synch: chuỗi 80 bit, sử dụng mạch điện vật lý để lựa chọn anten thích hợp (nếu sử dụng phân tập), và để lấy được tần số trạng thái ổn định và đồng bộ với định thời gói tin nhận được;

- SFD: Phân cách bắt đầu khung bằng cách sử dụng mẫu 16 bit nhị phân 0000 1100 1011 1101, dùng để xác định định thời khung.PLCP Header

Phần này luôn được truyền với tốc độ 1 Mbit/s và chứa thông tin logic được tầng PHY sử dụng để giải mã khung, các thành phần của nó gồm:

- PLCP_PDU Length Word: thể hiện số lượng byte chứa trong gói tin, điều này có ích cho tầng PHY phát hiện chính xác kết thúc gói tin.

- PLCP Signaling Field: Hiện tại chứa thông tin tốc độ, được mã hóa với các tốc độ từ 1 Mb/s đến 4.5 Mb/s, khoảng cách mỗi bước tăng là 0.5 Mbps

- Header Error Check Field: trường phát hiện lỗi CRC 16 bit. Dữ liệu MAC

Hình sau mô tả định dạng khung MAC nói chung, các trường sẽ được mô tả riêng ở phần sau:

Hình 2.12 Định dạng khung MAC

Trường điều khiển:

Protocol Version: chứa 2 bit thông tin về phiên bản của chuẩn IEEE802.11, và được dùng để nhận biết phiên bản trong tương lai.

Type and Subtype:

6 bit định nghĩa Type và Subtype được biểu diễn trong bảng sau: Giá trị trường Type Loại trường Type Giá trị trường Subtype

Loại trường Subtype

00 Quản lý 0000 Yêu cầu liên kết

00 Quản lý 0001 Trả lời liên kết

00 Quản lý 0010 Yêu cầu tái liên kết

00 Quản lý 0011 Trả lời tái liên kết

00 Quản lý 0100 Yêu cầu Probe

00 Quản lý 0101 Trả lời Probe

00 Quản lý 0110 – 0111 Dự phòng

00 Quản lý 1000 Beacon

00 Quản lý 1001 Bản tin chỉ thị lưu lượng thông báo (ATIM)

00 Quản lý 1010 Ngừng liên kết

00 Quản lý 1011 Nhận thực

00 Quản lý 1100 Ngừng nhận thực

00 Quản lý 1101-1111 Dự phòng (adsbygoogle = window.adsbygoogle || []).push({});

01 Điều khiển 0000-1001 Dự phòng

01 Điều khiển 1010 Power Save (PS) – poll

01 Điều khiển 1100 Sẵn sàng gửi (CTS)

01 Điều khiển 1101 ACK

01 Điều khiển 1110 Contention – free(CF) – End

01 Điều khiển 1111 CF – end +CF-ACK

10 Dữ liệu 0000 Dữ liệu

10 Dữ liệu 0001 Dữ liệu +CF-ACK

10 Dữ liệu 0010 Dữ liệu + CF –poll

10 Dữ liệu 0011 Dữ liệu +CF – Ack+CF-

poll

10 Dữ liệu 0100 NULL(không có dữ liệu)

10 Dữ liệu 0101 CF – Ack (không có dữ

liệu)

10 Dữ liệu 0110 CF – poll (không có dữ

liệu)

10 Dữ liệu 0111 CF–Ack +CF-

poll(không có dữ liệu)

10 Dữ liệu 1000-1111 Dự phòng

10 Dự phòng 0000-1111 Dự phòng

Bảng 2.2 Định nghĩa các giá trị trong trường Type và Subtype

ToDS

Bit này được thiết đặt là 1 khi khung được gửi cho AP chuyển tiếp đến DS (trong đó có trường hợp khi trạm đích là cùng BSS, và AP là để chuyển tiếp). Bit được thiết đặt là 0 trong tất cả các khung khác.

Bit này được thiết đặt là 1 khi khung đến từ DS.

More Fragments

Bit này được thiết đặt là 1 khi có nhiều phân mảnh thuộc cùng một khung đi sau phân mảnh này.

Retry

Bit này chỉ ra rằng khung này là khung được truyền lại, trường này cũng được trạm nhận dùng để nhận biết các khung lặp lại có thể xảy ra khi một gói tin ACK bị mất.

Power Management

Bit này chỉ ra rằng kiểu quản lý năng lượng của trạm sau khi truyền khung này. Được các trạm sử dụng khi thay đổi trạng thái từ chế độ tiết kiệm sang chế độ hoạt động và ngược lại. (adsbygoogle = window.adsbygoogle || []).push({});

More Data

Bit này được dùng để chỉ ra rằng có thêm các khung đang đợi đến trạm. Trạm này có thể quyết định sử dụng các thông tin đó để tiếp tục hỏi hoặc đổi chế độ sang active.

WEP

Bit này chỉ ra rằng phần thân của khung được mã hóa theo thuật toán WEP.

Order

Bit này chỉ ra rằng khung được gửi sử dụng lớp dịch vụ Strictly-Ordered.

Duration/ID

Trường này có hai ý nghĩa phụ thuộc vào từng loại khung: Trong các thông điệp ở chế độ tiết kiệm nó là Station ID

Trong các khung còn lại, nó là giá trị khoảng thời gian cho việc tính toán NAV.

Các trường địa chỉ:

Địa chỉ 1: Địa chỉ bên nhận (là trạm trên BSS trung gian nhận gói tin), nếu ToDS là địa chỉ của AP, còn nếu ToDS không được đặt thì đây là địa chỉ của trạm cuối.

Địa chỉ 2: Luôn luôn là địa chỉ bên phát (trạm phát gói tin về mặt vật lý), nếu FromDS được đặt thì đây là địa chỉ của AP, nếu FromDS không được đặt thì đây là đây là địa chỉ của trạm.

Địa chỉ 3: trong hầu hết các trường hợp thì là địa chỉ bị bỏ qua, còn lại, nếu FromDS được thiết đặt là 1, thì địa chỉ 3 là địa chỉ nguồn ban đầu, nếu là khung ToDS thì địa chỉ 3 là địa chỉ đích.

Địa chỉ 4: được dùng trong trường hợp đặc biệt ở đó Hệ thống phân tán không dây được sử dụng, và khung này được truyền từ một AP sang một AP khác, trong trường hợp này cả ToDS và FromDS được đặt, do đó địa chỉ nguồn và đích được bỏ qua.

Bảng 2.3 Biểu diễn các giá trị trong trường địa chỉ

Sequenc Control

Trường này được dùng để biểu diễn thứ tự của các phân mảnh khác nhau thuộc về một khung, và nhận biết việc gói tin bị lặp, nó gồm 2 trường con là Fragment Number và Sequence Number.

CRC

Trường này có độ dài 32 bit. Định dạng khung RTS

Khung này là địa chỉ của STA, trên đường truyền không dây, đó là bên nhận trung gian của khung quản lý hoặc khung dữ liệu

Giá trị Duration là thời gian, tính bằng micro giây, để truyền khung dữ liệu hoặc khung quản lý, cộng với một khung CTS, khung ACK, và ba khoảng SIFS.

Định dạng khung CTS

Địa chỉ trạm nhận (RA) của khung CTS được sao từ Địa chỉ trạm gửi (TA) của khung RTS.

Giá trị Duration được lấy từ giá trị Duration của khung RTS trừ đi khoảng thời gian được yêu cầu để truyền khung CTS và khoảng thời gian SIFS, tính bằng micro giây.

Định dạng khung ACK

Receiver Address của khung ACK được lấy từ trường Address 2 của khung ngay trước đó.

Nếu bit More Fragment được thiết lập đến 0 trong trường Frame Control của khung trước, giá trị Duration được thiết lập bằng 0, nếu không thì giá trị này lấy từ trường Duration của khung trước đó, trừ đi thời gian được yêu cầu để truyền khung ACK và khoảng SIFS tính bằng ms.

Một phần của tài liệu Nâng cao hiệu năng mạng adhoc đa chặng (Trang 30)