Phương thức truy cập CSMA/CA là nền tảng của DCF. Các quy tắc cho quá trình hoạt động thay đổi không đáng kể giữa DCF và PCF.
1.2.2.5.1. Truy cập cơ sở
Truy cập cơ sở có liên quan tới cơ chế lõi sử dụng một trạm để xác định xem nó có thể truyền hay không. Nói chung, một trạm có thể truyền một MPDU chưa thực hiện khi nó hoạt động dưới phương thức truy cập DCF, hay khi thiếu một điểm phối hợp, hoặc trong chu kỳ xung đột của phương thức truy cập PCF, khi một trạm xác định rằng môi trường đang rỗi theo tỷ lệ lớn hơn hoặc bằng với một chu kỳ DIFS, hoặc một chu kỳ EIFS nếu như ngay lập tức sự kiện môi trường bận trước đó được gây ra bởi sự phát hiện một khung, tức là đã không nhận được tại trạm này với một giá trị MAC FCS chính xác.
Nếu như, dưới những điều kiện này, môi trường được xác định bởi cơ chế cảm biến tần số là đang bận khi một trạm yêu cầu bắt đầu với khung ban đầu của một trong số các khung trao đổi, loại trừ chu kỳ không xung đột, giải thuật backoff ngẫu nhiên sẽ xảy ra.
Trong khi một trạm đang có một tần số bước nhảy vật lý, quyền điều khiển kênh mất vào thời điểm dừng lại tại ranh giới và trạm sẽ phải chắc chắn lấy lại được kênh sau khi dừng lại tại ranh giới tiếp theo. Nó yêu cầu các trạm mà có tần số bước nhảy vật lý hoàn thành việc truyền toàn bộ MPDU và kết hợp báo nhận (nếu được yêu cầu) trước thời gian dừng lại tại ranh giới. Nếu như, khi đang truyền hoặc truyền lại một MPDU, không đủ thời gian còn lại trong lúc dừng để cho phép truyền MPDU cùng với báo nhận (nếu được yêu cầu), trạm sẽ trì hoãn việc truyền bằng cách lựa chọn một khoảng thời gian ngẫu nhiên, sử dụng CW hiện tại (không tăng lên với giá trị trong các phiên bản kế tiếp). Bộ đếm lại ngắn và bộ đếm lại dài đối với MSDU là không bị ảnh hưởng.
1.2.2.5.2. Thủ tục Backoff
Thủ tục backoff sẽ được gọi đối với một trạm để truyền một khung khi phát hiện ra môi trường bận do được thông báo bởi tầng vật lý hoặc cơ chế cảm biến tần số ảo. Thủ tục backoff cũng sẽ được gọi khi một trạm đang truyền đưa đến kết luận truyền có lỗi.
Để bắt đầu thủ tục backoff, trạm sẽ thiết lập bộ tính giờ backoff của nó với một thời gian backoff ngẫu nhiên. Tất cả các khe backoff xảy ra theo sau một chu kỳ DIFS trong thời gian mà môi trường được xác định là rỗi trong khoảng thời gian của chu kỳ DIFS, hoặc theo sau một chu kỳ EIFS trong khoảng thời gian mà môi trường được xác định là rỗi trong khoảng thời gian của chu kỳ EIFS theo đó phát hiện một khung mà đã không nhận được chính xác.
Một trạm đang thực thiện thủ tục backoff sẽ sử dụng cơ chế cảm biến tần số để xác định liệu có hoạt động trong thời gian mỗi khe backoff hay không. Nếu như phạm vi hoạt động môi trường không được thông báo trong khoảng thời gian của một khe backoff riêng biệt, trong trường hợp này thủ tục backoff sẽ giảm thời gian backoff của nó bởi một khe thời gian.
Nếu như môi trường được xác định là bận tại bất cứ thời gian nào trong khoảng thời gian một khe backoff, trong trường hợp này thủ tục backoff bị đình chỉ; tức là, bộ tính giờ backoff sẽ không giảm đối với khe đó. Môi trường sẽ được xác định là rỗi trong khoảng thời gian của một khu kỳ DIFS hoặc EIFS, thích hợp như, trước khi thủ tục backoff được cho phép bắt đầu lại. Quá trình truyền sẽ bắt đầu bất cứ khi nào bộ tính giờ backoff đạt đến con số 0.
Một thủ tục backoff sẽ được thực hiện ngay lập tức sau khi kết thúc mỗi phiên truyền với nhiều đoạn bít thiết lập tiến tới 0 trong một MPDU gồm có kiểu dữ liệu, quản lý, hoặc điều khiển với thăm dò PS phụ, thậm chí nếu như các phiên truyền không được thêm vào hàng đợi hiện thời. Trong trường hợp các phiên truyền được thông báo nhận thành công, thủ tục backoff này sẽ bắt đầu tại nơi cuối cùng nhận được khung ACK. Trong trường hợp các phiên truyền không thành công phải cần đến tin báo nhận, thủ tục backoff này sẽ bắt đầu tại nơi cuối cùng trong khoảng thời gian chờ đợi ACK. Nếu như phiên
truyền thành công, giá trị CW trở lại tới CWmin trước khi khoảng thời gian backoff ngẫu nhiên được lựa chọn. Điều này đảm bảo rằng các khung được truyền từ một trạm luôn luôn được tách ra bởi ít nhất một khoảng thời gian backoff. Hiệu quả của thủ tục này là khi có nhiều trạm đang trì hoãn và đi vào thủ tục backoff ngẫu nhiên, trong trường hợp đó trạm lựa chọn thời gian backoff nhỏ nhất mà sử dụng thủ tục ngẫu nhiên sẽ chiến thắng xung đột.
Hình 1.13. Thủ tục Backoff
1.2.2.5.3. Thiết lập và cài đặt lại NAV
Các trạm nhận được một khung hợp lệ sẽ cập nhật NAV của chúng với thông tin nhận được trong trường Duration/ID, nhưng chỉ khi giá trị NAV mới lớn hơn giá trị NAV hiện tại và chỉ khi khung không được gửi tới trạm đang nhận. Các điều kiện thêm vào khác nhau có thể thiết lập hoặc khởi động lại NAV. Khi một NAV xác lập lại, một yêu cầu tầng vật lý khởi động lại sự sẵn sàng đánh giá sẽ được đưa ra.
Hình 1.14 cho biết NAV trong các trạm mà có thể nhận được khung RTS, trong khi các trạm khác chỉ có thể nhận được khung CTS, kết quả là thanh NAV thấp hơn như nhìn thấy.
Hình 1.14 : RTS/CTS/DATA/ACK và thiết lập NAV
Một trạm đang sử dụng thông tin từ một khung RTS gần nhất là cơ sở để cập nhật các thiết lập NAV cho phép thiết lập lại NAV của mình nếu không có dấu hiệu tầng vật lý bắt đầu nhận được phát hiện từ tầng vật lý trong khoảng thời gian một chu kỳ với thời gian bằng (2 x thời gian SIFS) + (thời gian CTS) + (2 x một khe thời gian) được bắt đầu với dấu hiệu tầng vật lý kết thúc nhận tương ứng để phát hiện khung RTS. Thời gian CTS sẽ được tính bằng cách sử dụng chiều dài của khung CTS và tốc độ dữ liệu tại khung RTS đó được sử dụng cho các NAV cập nhật gần nhất đã nhận được.
1.2.2.5.4. Điều khiển kênh
SIFS được sử dụng để cung cấp một cơ chế phân phối MSDU hiệu quả. Sau khi có trạm đã tranh chấp được kênh, thì trạm đó sẽ tiếp tục gửi các đoạn cho đến khi hoặc tất cả các đoạn của một MSDU đơn hoặc MMPDU đã được gửi đi, hoặc một tin báo nhận không nhận được, hoặc một trạm bị hạn chế do việc gửi bất kỳ đoạn bổ sung nào đều được định trước bởi thời gian dừng lại ở ranh giới. Nên việc gửi các đoạn bị gián đoạn do một trong các lý do này, sau khi cơ hội tiếp theo để truyền xuất hiện trạm sẽ tiếp tục truyền. Một giải thuật trong đó một trạm quyết định các MSDU nào sẽ được tiếp theo sau khi đã cố gắng truyền không thành công là vượt quá phạm vi của chuẩn này, nhưng bất kỳ một thuật giải nào như vậy sẽ tuân thủ những sự hạn chế do chuẩn này cung cấp.
Hình 1.15. Minh họa việc truyền của một đoạn MSDU sử dụng SIFS
Khi trạm nguồn truyền một đoạn, nó sẽ giải phóng kênh, rồi ngay lập tức theo dõi kênh bằng một tin báo nhận. Khi trạm đích vừa kết thúc gửi xác nhận, SIFS theo sau tin báo nhận sẽ được giữ lại cho trạm nguồn để tiếp tục (nếu cần thiết) với đoạn khác. Trạm gửi xác nhận sẽ không được truyền trên kênh ngay lập tức theo sau tin báo nhận. Quá trình gửi nhiều đoạn sau khi chắc chắn rằng kênh được định nghĩa như một chùm đoạn. Nếu trạm nguồn nhận được một tin báo nhận nhưng không có đủ thời gian để truyền khung kế tiếp và nhận tin báo nhận do xảy ra trước khi dừng tại ranh giới, trạm nguồn sẽ cho rằng các kênh được bắt đầu tại thời gian dừng kế tiếp.
Nếu trạm nguồn không nhận được một khung tin báo nhận, nó sẽ cố gắng truyền lại MPDU lỗi hoặc một MPDU thích hợp khác, sau khi thực hiện thủ tục backoff và quá trình tranh chấp. Sau khi một trạm tranh chấp lấy kênh để truyền lại một đoạn của một MSDU, nó sẽ bắt đầu với đoạn cuối cùng mà không được xác nhận. Trạm đích sẽ nhận các đoạn theo thứ tự (do trạm nguồn gửi chúng theo thứ tự, và chúng được xác nhận riêng biệt). Tuy nhiên, có thể xảy ra, đó là trạm đích có thể nhận được các đoạn lặp lại. Nó sẽ là phản hồi lại trạm nhận để dò tìm và loại bỏ những đoạn lặp.
Một trạm sẽ truyền sau SIFS chỉ dưới những điều kiện sau đây trong suốt thời gian một chùm đoạn:
Trạm vừa nhận được một đoạn và yêu cầu xác nhận.
Trạm nguồn nhận được một xác nhận của một đoạn trước, có nhiều đoạn do cùng một MSDU truyền, và có đủ thời gian trước khi dừng lại ranh giới kế tiếp để gửi đoạn tiếp theo và nhận được xác nhận của nó. Các quy tắc sau đây sẽ được áp dụng:
ở giữa, trạm đó sẽ không truyền trên kênh theo sau tin báo nhận cho khung đó, không thực hiện thủ tục backoff.
Khi một MSDU đã truyền thành công hoặc tất cả các cố gắng truyền lại đã bị thất bại, và một trạm có một MSDU kế tiếp để truyền, khi đó trạm sẽ thực hiện thủ tục backoff.
Chỉ những đoạn không được xác nhận sẽ được truyền lại.
1.2.2.5.5. Cách sử dụng RTS/CTS với phân đoạn
Sau đây là một mô tả về việc sử dụng RTS/CTS cho một đoạn MSDU hay MMPDU. Các khung RTS/CTS định nghĩa khoảng thời gian sau khung và tin báo nhận. Trường Duration/ID trong dữ liệu và các ACK xác định rõ tổng thời gian của đoạn và tin báo nhận kế tiếp. Điều này được minh họa trong hình 1.16.
Hình 1.16. RTS/CTS với các MSDU đã phân đoạn
Mỗi khung chứa đựng thông tin mà xác định thời gian truyền tiếp theo. Thông tin khoảng thời gian từ các khung RTS sẽ được dùng để cập nhật NAV tiến tới chỉ ra trạng thái bận cho đến khi kết thúc ACK 0. Thông tin khoảng thời gian từ khung CTS cũng sẽ được dùng để cập nhật NAV tiến tới chỉ ra trạng thái bận cho đến khi kết thúc ACK 0. Cả hai khung 0 và ACK 0 sẽ chứa thông tin khoảng thời gian cập nhật NAV để chỉ ra trạng thái bận cho đến khi kết thúc ACK 1. Điều này sẽ được thực hiện bằng cách sử dụng trường Duration/ID trong các khung dữ liệu và ACK. Điều này sẽ tiếp tục cho đến khung cuối cùng, khung này sẽ có khoảng thời gian bằng thời gian một ACK cộng với thời gian một SIFS, và ACK của nó, ACK này sẽ có trường Duration/ID thiết lập bằng 0. Mỗi khung và ACK hành động như một RTS và CTS ảo, cho nên không có các khung RTS/CTS nào cần được tạo ra sau khi
RTS/CTS đó bắt đầu chuỗi trao đổi khung thậm chí các khung theo sau mặc dù có thể lớn hơn khi bắt đầu RTS. Tại những trạm sử dụng một tầng vật lý với bước nhảy tần số, khi có một khoảng thời gian không đủ trước khi dừng lại ở ranh giới kế tiếp để truyền khung tiếp theo, một trạm bắt đầu chuỗi trao đổi khung, có thể thiết lập trường Duration/ID trong dữ liệu cuối cùng hoặc khung điều khiển được truyền đi trước khi dừng lại ở ranh giới với một khoảng thời gian ACK cộng với một thời gian SIFS.
Trong trường hợp khi một tin báo nhận được gửi đi nhưng không nhận được bởi trạm nguồn, các trạm mà nghe thấy khung, hay ACK, sẽ đánh dấu kênh trong trạng thái bận cho sự trao đổi khung kế tiếp do NAV đang được cập nhật từ những khung này. Đây là trường hợp xấu nhất, và được chỉ ra trong Hình 1.17. Nếu một tin báo nhận không được gửi đi bởi trạm đích, các trạm mà chỉ có thể nghe thấy trạm đích sẽ không cập nhật NAV của chúng và có thể cố gắng truy cập kênh khi NAV chúng cập nhật từ khung nhận được trước đó đạt đến 0. Tất cả các trạm mà nghe thấy nguồn sẽ tự do truy cập kênh sau khi NAV của chúng được cập nhật từ đoạn đang truyền kết thúc.
Hình 1.17. RTS/CTS với độ ƣu tiên truyền và thiếu báo nhận
1.2.2.5.6. Thủ tục CTS
Một trạm có địa chỉ của một khung RTS sẽ truyền một khung CTS sau một chu kỳ SIFS nếu như NAV tại trạm nhận được khung RTS chỉ ra rằng môi trường là rỗi. Nếu như NAV tại trạm nhận được RTS chỉ ra rằng môi trường là không rỗi, tức là trạm sẽ không trả lời với khung RTS. Trường RA
của khung CTS sẽ là giá trị thu được từ trường TA của khung RTS, từ đó khung CTS này là một sự đáp lại.
Trường Duration/ID trong khung CTS sẽ là trường khoảng thời gian từ khung RTS nhận được, được điều chỉnh bằng sự trừ đi một thời gian SIFS và số lượng micrô-giây được yêu cầu để truyền một khung CTS với tốc độ dữ liệu được dùng cho khung RTS tới khung CTS này là một sự đáp lại.
Sau khi truyền một khung RTS, một trạm sẽ chờ trong một khoảng thời gian chờ đợi CTS, bắt đầu xác nhận tầng vật lý kết thúc truyền. Nếu một dấu hiệu tầng vật lý bắt đầu nhận không xuất hiện trong suốt khoảng thời gian chờ đợi CTS, một trạm sẽ kết thúc truyền RTS có lỗi, và trạm này sẽ gọi thủ tục backoff của nó vào lúc hết hạn trong khoảng thời gian chờ đợi CTS. Nếu như một dấu hiệu tầng vật lý bắt đầu nhận không xuất hiện trong suốt khoảng thời gian chờ đợi CTS, một trạm sẽ đợi dấu hiệu tầng vật lý kết thúc nhận tương ứng để quyết định liệu RTS đã truyền thành công hay không. Việc nhận ra giá trị khung CTS được gửi đi bằng cách nhận khung RTS, tương ứng với dấu hiệu tầng vật lý kết thúc nhận này, sẽ được làm sáng tỏ khi phản hồi thành công, cho phép chuỗi khung được tiếp tục. Việc nhận ra bất kỳ điều gì khác, bao gồm bất kỳ giá trị khung nào khác, sẽ được làm sáng tỏ khi không thành công trong việc truyền RTS. Trong trường hợp này, một trạm sẽ gọi thủ tục backoff của nó tại dấu hiệu tầng vật lý kết thúc nhận và có thể xử lý khung đã nhận được.
1.2.2.5.7. Thủ tục ACK
Sau khi nhận thành công của một khung thuộc một kiểu mà yêu cầu tin báo nhận với bít ToDS được thiết lập, một AP sẽ tạo ra một khung ACK. Một khung ACK sẽ được truyền bởi trạm đích tức là không phải một AP, bất cứ lúc nào nó nhận thành công một khung unicast thuộc một kiểu mà yêu cầu tin báo nhận, nhưng không phải nếu như nó nhận một khung broadcast hoặc multicast cùng kiểu đó. Sau khi nhận thành công một khung yêu cầu tin báo nhận, truyền khung ACK sẽ bắt đầu sau một chu kỳ SIFS, mà không quan tâm đến trạng thái bận/rỗi của môi trường.
nhận khung ACK trước khi kết luận rằng MPDU bị lỗi.
Sau khi đang truyền một MPDU mà yêu cầu một khung ACK lúc trả lời, trạm sẽ chờ trong một khoảng thời gian chờ đợi ACK, bắt đầu xác nhận tầng vật lý kết thúc truyền. Nếu dấu hiệu tầng vật lý bắt đầu nhận không xuất hiện trong suốt quãng thời gian chờ đợi ACK, một trạm kết luận rằng truyền MPDU đã bị lỗi, và trạm này sẽ gọi thủ tục backoff của nó hết hạn trong khoảng thời gian chờ đợi ACK. Nếu một dấu hiệu tầng vật lý bắt đầu nhận xuất hiện trong suốt quãng thời gian chờ đợi ACK, trạm sẽ chờ dấu hiệu tầng vật lý kết thúc nhận tương ứng để xác định khi nào truyền MPDU là thành