Truyền tải trên môi trường không dây rất dễ xảy ra lỗi. Dữ liệu truyền có lợi từ việc có độ trễ thấp, cơ chế cho phép truyền lại các khung không được giải điều chế thành công lúc nhận. Cơ chế này khá đơn giản: Máy trạm nhận được chính xác một khung dữ liệu thì ngay lập tức gửi lại một khung tin cho bên phát một khung xác nhận gọi là khung ACK. Nếu trạm gửi dữ liệu không nhận được khung ACK, nó sẽ tự hiểu là khung dữ liệu truyền đi chưa nhận được và sẽ truyền lại.
Không phải tất cả các khung tin dữ liệu đều có thể được xác nhận theo cách này. Khung tin quảng bá broadcast và đa hướng multicast được gửi cho tất cả hoặc một số máy trạm khác trong mạng WLAN và không được xác nhận theo cách này.
Trong 802.11 WLAN, khung tin broadcast và multicast không có lợi từ việc tăng độ tin cậy bằng cách thêm cơ chế xác nhận.
Truyền dữ liệu sử dụng trao đổi khung dữ liệu và xác nhận ACK được mô tả trong ví dụ ở hình 2.13 sau đây:
Hình 2.13 Trao đổi khung dữ liệu và khung xác nhận ACK.
Ta kí hiệu các máy trạm là STA (station). Ở đây máy trạm STA 1 truyền dữ liệu cho máy trạm STA 2. STA 1 truy cập thành vào đường truyền sau khi tranh chấp, theo đó xuất hiện DIFS và khoảng thời gian ngẫu nhiên đếm ngược. Nếu đường truyền rỗi, STA 1 bắt đầu truyền một khung dữ liệu gửi tới STA 2. Nếu STA 2 phát hiện và giải điều chế thành công khung tin đó nó sẽ gửi một khung ACK tới STA 1 để xác
Phân lớp MAC trong chuẩn 802.11n
nhận đã truyền thành công. Nếu STA 1 nhận được khung tin ACK do STA 2 gửi tới nó sẽ biết đã truyền dữ liệu thành công và lại truyền khung tiếp theo. Nếu với khung dữ liệu thứ 2 trong hình 2.13 , STA 2 thất bại trong giải điều chế khung tin đó, sau đó STA 1 không nhận được khung tin ACK và sẽ bắt đầu truyền lại khung tin vừa bị hỏng cho STA 2.
Số lượng khung tái phát sóng trên một MSDU cụ thể là có giới hạn. Máy trạm đang truyền sẽ liệt kê số lượng phải truyền lại trên một MSDU và khi đếm tới số lượng vượt quá số cho phép, MSDU sẽ bị hủy.
Để nâng cao độ tin cậy mà thông tin xác nhận phản hồi được cung cấp, khung ACK cần phải được điều chế mạnh và tăng khả năng phục hồi ví dụ như khung ACK phải được gửi đi với tốc độ thấp các khung dữ liệu từ cùng trạm. Ngoài ra các vấn đề phát sinh thêm hầu như rất ít bởi bản thân khung ACK rất nhỏ.
2.5.1 Phân đoạn khung (Fragmentation)
Phân đoạn khung dùng để cắt nhỏ các MSDU lớn để có thể truyền MSDU được trên môi trường không dây. Ở tốc độ truyền thấp, một MSDU chưa cắt có thể chiếm dung lượng khá lớn trong môi trường không khí. Ví dụ một khung dữ liệu 1500 byte được truyền trên tốc độ 1 Mbps của 802.11b mất gần 12 ms để truyền, như vậy dễ bị thay đổi do ngoại cảnh. Một bit hỏng trên khung sẽ làm cho cả khung đó phải truyền lại. Vì thế việc cắt nhỏ MSDU thành nhiều phần nhỏ và mỗi phần nhỏ sẽ được đóng gói thành một MPDU. Mỗi MPDU được gửi trong một PPDU cụ thế có thể cung cấp một kênh mới. một bit hỏng thì chỉ hỏng trên một MPDU hỏng, sau đó đoạn hỏng sẽ được truyền lại.
Các mảnh nhỏ của MSDU được gửi như các MPDU riêng biệt. Một máy trạm có thể gửi mỗi phần trên một kênh truy nhập riêng biệt, hoặc các phần nhỏ của MSDU có thể được gửi như nhiều MPDU theo một kênh truy nhập, ta có thể xem hình 2.14 để rõ hơn.
Một MSDU bị phân nhỏ khi độ dài vượt quá một mức qui định cụ thể. Mỗi mảnh có chứa một số chẵn các byte và tất cả các mảnh này có kích thước tương tự, trừ mảnh cuối cùng, có thể nhỏ hơn. Các mảnh nhỏ này được gửi theo thứ tự.
Các thiết bị phát của MSDU bị phân nhỏ sẽ duy trì một bộ đếm thời gian. Nó sẽ qui định một thời gian truyền tải tối đa cho một MSDU. Các trạm nguồn bắt đầu hẹn
Phân lớp MAC trong chuẩn 802.11n
giờ vào việc thử đầu tiên truyền tải các đoạn đầu tiên của MSDU. Nếu tính giờ vượt quá khoảng thời gian qui định thì tất cả các mảnh còn lại là bỏ đi.
Hình 2.14 Mô tả phân đoạn khung
Việc cắt nhỏ này cũng làm tăng độ tin cậy khi có hiện tượng giao thoa sóng xảy ra. Giao thoa trong mạng thường được gây ra bởi nhiều nguồn khác nhau. Giao thoa trong mạng thường xuất hiện bởi các sóng có tần số khoảng 2.4 GHz. Sóng điện từ sinh ra bởi ống magnetron và luôn biến đổi theo hình sin, vì thế các sóng phát ra thường giao thoa nửa thời gian. Ngay có sóng điện thoại di dộng cũng có thể gây ra giao thoa. Ngoài ra khi phát sóng ở môi trường khác nhau cũng giao thoa khác nhau do độ rộng khác nhau.
2.5.2 Phát hiện trùng lặp (Duplicate detection)
Với trường hợp truyền lại, có khả năng một khung đã được xác nhận lại được truyền lại lần nữa. Ví dụ như nếu thiết bị truyền sẽ truyền lại khung bởi ACK xác nhận không giải điều chế được. Để chống lại hiện tượng trùng lặp khung dữ liệu, khung dữ liệu bao gồm một bit Retry và một trường Sequence Control để đánh dấu số các phân đoạn và số thứ tự phân đoạn đó. Bit Retry sẽ được bật lên khi bất cứ khung nào được truyền lại. Các số thứ tự được tạo ra như là một chuỗi tăng dần các số nguyên được qui định bởi các MSDU và khung quản lý. Nếu MSDU hoặc khung quản lý được phân đoạn sau đó mỗi phần nhỏ sẽ nhận được số thứ tự với số đoạn tăng dần.
Để phát hiện trùng lặp khung, trạm tiếp nhận sẽ theo dõi những số thứ tự, số đoạn của MSDU cuối hoặc khung quản lý mà nó nhận được từ mỗi trạm giao tiếp với nó. Nói cách khác, nó duy trì một bộ nhớ đệm của bộ dữ liệu <địa chỉ truyền (transmit
Phân lớp MAC trong chuẩn 802.11n
address), số thứ tự ( sequence number), số lượng đoạn phân nhỏ (fragment number)>
cho từng mảnh nhận được cho các số thứ tự cuối nhìn thấy từ mỗi địa chỉ khác với địa chỉ broadcast hoặc multicast. Nếu trạm nhận được một MPDU với bit Retry được bật , sau đó sẽ đối chiếu trong bộ nhớ đệm xem MPDU có bị trùng lặp không.
2.5.3 Tiêu đề và sự bình đẳng thứ tự dữ liệu/ACK.
Trao đổi khung dữ liệu/ACK cơ bản có một tiêu đề cố định liên hệ với nó. Từ lúc khung dữ liệu được truyền thành công, tiêu đề này bao gồm quá trình cạnh tranh để dành lấy đường truyền rỗi, các thông tin liên quan đến truyền khung dữ liệu cụ thể, các sóng radio xung quanh thời điểm nhận (SIFS), và quá trình truyền khung ACK xác nhận. Trong khi tiêu đề này là cố định thì khoảng thời gian khung dữ liệu là không cố định bởi nó còn phụ thuộc vào quá trình điều chế và mã hóa để đưa xuống tầng vật lý.
Cơ chế phân phối kênh truy nhập thúc đẩy sự bình đẳng trong khi nghe với tất cả các trạm trong mạng: trung bình mỗi lần gửi đi số lượng khung dữ liệu thường bằng nhau giữa các trạm. Nếu như giả sử kích thước các gói tin là bằng nhau ta sẽ thấy thông lượng giữa các trạm có tốc độ truyền không khác nhau. Ví dụ với hình 2.15, ta thấy 2 trạm trên mạng, STA1 và STA 2, cả 2 đều truy nhập để gửi đến STA 3. STA 1 sử dụng tốc độ truyền cao trong khi STA 2 có tốc độ truyền thấp hơn.
Hình 2.15 Hai trạm cạnh tranh truy nhập.
Mỗi trạm cạnh tranh để truy cập kênh để gửi một frame dữ liệu và mỗi trạm sẽ nhận được trung bình cùng một số cơ hội truyền. Tuy nhiên do sử dụng tốc độ truyền thấp nên nó sẽ sử dụng không khí nhiều thời gian hơn tỷ lệ tương ứng để gửi dữ liệu của nó khung hơn STA 1.
Phân lớp MAC trong chuẩn 802.11n