Giao thức CSMA/CA có sử dụng bản tin biên nhận (ACK) và xác lập đường truyền (bằng các bản tin điều khiển RTS/CTS để "giữ chỗ") đã khắc phục hoàn toàn các nhược điểm của giao thức trước đó. Tiến trình của giao thức này được mô tả ở hình 2.5.
Hình 2.5: CSMA/CA sử dụng RTS/CTS và ACK
- Phía gửi sẽ gửi bản tin RTS sau khi đường truyền rỗi sau khoảng thời gian lớn hơn hoặc bằng DIFS.
- Phía nhận trả lời bằng bản tin CTS sau khi đường truyền rỗi một khoảng thời gian SIFS.
- Sau đó dữ liệu được truyền.
- Bên nhận sẽ gửi bản tin ACK sau khoảng thời gian SIFS.
Với giao thức này, RTS/CTS được sử dụng cho việc "giữ chỗ" đường truyền vì vậy xung đột chỉ xảy ra với các bản tin điều khiển thường là bản tin RTS. Một tình huống xung đột bản tin RTS được mô tả ở hình 2.6. Giả sử trạm A và B đều muốn truyền dữ liệu đến AP, sau khoảng thời gian chờ đợi đường truyền rỗi, trạm B gửi bản tin RTS để "giữ chỗ", sau đó trạm A cũng gửi RTS để "giữ chỗ". Tuy A, B phát 2 thời điểm khác nhau nhưng do trễ lan truyền nên có thể "va chạm" với nhau trên đường đi, xung đột xảy ra (reservation collision).
Khoảng thời gian xảy ra xung đột này rất nhỏ (có thể chấp nhận được), trong trường hợp này, trạm A phải gửi lại RTS để tiếp tục "giữ chỗ" và truyền tin con trạm B phải đợi đến phiên làm việc tiếp theo.
Hình 2.6: Mô hình RTS/CTS
Như vậy giao thức CSMA/CA + ACK + RTS/CTS là phương thức truyền tin thông qua việc bắt tay 4 bước truyền RTS/CTS – DATA – ACK. Tuy vẫn có thời gian “rỗi” (thực chất là trễ lan truyền) trong quá trình bắt tay nhưng về cơ bản giao thức này đã giải quyết được vấn đề xung đột dữ liệu trên đường truyền (do trước khi truyền bên gửi đã gửi tín hiệu RTS và bên nhận đã phản hồi tín hiệu CTS thì mạng hoàn toàn không thể có xung đột). Vấn đề Hidden terminal và Exposed terminal cũng đã được giải quyết.