Giao thức MAC của mạng WLA N CSMA/CA

Một phần của tài liệu khảo sát mạng lan với các phần mở rộng không dây (Trang 25 - 29)

2.2.1. CSMA/CD không thể sử dụng cho mạng WLAN

CSMA/CD tuy là một giao thức truy nhập đường truyền khá hiệu quả nhưng nó khơng thể sử dụng được cho mạng WLAN bởi vì các ngun nhân:

Trạm phát khơng phát hiện được xung đột khi đang phát bởi vì đặc thù

của thiết bị không dây trong mạng WLAN là bán song công (haft-duplex) nên khi trạm phát đang truyền, nếu có lỗi thì nó khơng thể nhận được thơng báo (của trạm phát gói tin bị lỗi) về sự xung đột trên mạng.

Hiện tượng trạm ẩn (Hidden terminal): Mạng khơng dây có các ranh

giới mờ, đơi khi có những vị trí mà nút mạng tại đó khơng thể liên lạc trực tiếp được với các nút khác trong mạng. Trong hình 2.2, trạm B có thể liên lạc với cả trạm A và C, nhưng trạm A và C không thể liên lạc trực tiếp với nhau (có thể là do khoảng cách giữa chúng quá xa so với nút B do đó sóng vơ tuyền khơng thể đến được đích). Như vậy nút A và C là các nút “ẩn” của nhau. Nếu sử dụng một giao thức CSMA/CD, khi cả A và C đồng thời truyền đến B sẽ xảy ra hiện tượng xung đột trên nút B mà cả A và C đều khơng hề hay biết. Ngồi ra trạm vẫn thuộc vùng phủ sóng của AP nhưng chỉ "nghe" mà khơng phát tín hiệu gì cũng được xem là trạm ẩn.

A B C

Hình 2.2: Trạm A và C được xem là "ẩn" đối với nhau

Hiện tượng trạm bị lộ (Exposed terminal): Khi các mạng WLAN sử

dụng nhiều AP, hiện tượng này trở nên phổ biến và giao thức CSMA/CD không giải quyết được.

A B C D

Khi trạm B đang gửi dữ liệu tới trạm A và trạm C muốn gửi dữ liệu cho cho trạm D. Theo giao thức CSMA/CD thì C phải đợi tín hiệu CS (Carrier

Sense) để được phép truy nhập đường truyền nhưng trạm A và D khơng nằm trong vùng phủ sóng của nhau nên việc C đợi là không cần thiết.

2.2.2. Giao thức CSMA/CA

Bên phát sẽ lắng nghe trên môi trường truyền và khi mơi trường truyền rỗi thì nó sẽ tiến hành gửi dữ liệu ra mơi trường truyền, cịn khơng nó sẽ sử dụng giải thuật Back-Off time để tiếp tục chờ. Thuật toán Back-Off sẽ chọn ngẫu nhiên (Random Back-Off) một giá trị từ 0 đến giá trị CW (Contention Window). Theo mặc định, giá trị CW có thể khác nhau tùy nhà sản xuất và nó được lưu trữ trong card mạng không dây của máy trạm. Giá trị Back-Off tính được bằng cách lấy một số ngẫu nhiên đã chọn ở trên nhân với Slot Time (Random Back-Off chính là số lần Slot Time). Back-Off time là khoảng thời gian bất kỳ mà bên phát phải đợi trước khi có thể giành quyền sử dụng đường truyền nếu phát hiện đường truyền bận. Do Back-Off time của các máy phát là ngẫu nhiên và khác nhau nên đã hạn chế tối đa khả năng xảy ra xung đột đường truyền ngay sau khi đường truyền chuyển sang trạng thái rỗi.

Trường hợp 1 trạm sau khi giành được đường truyền và đã truyền gói tin đi nhưng gói tin đó khơng đến đích (trạm gửi chưa nhận được ACK biên nhận), trạm gửi sẽ cập nhật lại biến đếm Retry của nó, tăng giá trị CW lên gấp đơi và bắt đầu tiến trình truy nhập đường truyền lại từ đầu. Cứ mỗi lần việc truy nhập đường truyền bất thành (hoặc thành công nhưng việc truyền tin khơng đến được đích như đã nói ở trên), các trạm sẽ tăng giá trị biến đếm Retry. CW tiếp tục được tăng gấp đôi cho đến khi nó đạt giá trị lớn nhất là CWmax.

CSMA/CA tuy giải quyết triệt để vấn đề xung đột đường truyền nhưng vẫn chưa giải quyết được vấn đề trạm ẩn. Nếu có 3 trạm A, B, C như hình vẽ 2.2. Khi A gửi cho B đồng thời C khơng nhận được tín hiệu "báo bận" trên mơi trường truyền, nếu C cũng gửi cho B thì xảy ra sẽ xảy ra xung đột.

CSMA/CA cũng chưa giải quyết được vấn đề trạm bị lộ vì khơng có có cơ chế phát hiện và xử lý.

2.2.3. Giao thức CSMA/CA + ACK

Giao thức CSMA/CA có sử dụng ACK đã cải tiến CSMA/CA bằng cách thêm thơng báo biên nhận ACK. Tiến trình của giao thức này như sau (hình 2.4)

- Bước 1: Phía nhận sẽ gửi ACK ngay sau khi nhận được khung tin mà khơng cần thăm dị đường truyền. Khung ACK được truyền sau khoảng thời gian SIFS (Short Inter-Frame Space) (SIFS < DIFS) (xem thêm ở phần 2.3) - Bước 2: Nếu ACK bị mất, việc truyền lại sẽ được tiến hành.

Hình 2.4: Lược đồ giao thức CSMA/CA có ACK

Cơ chế báo nhận ACK được thêm vào giao thức CSMA/CA sẽ đảm bảo cho gói tin đến đích mà khơng có lỗi. Các trạm muốn phát đều phải nghe đường truyền để phát gói tin vào các khe thời gian không giao nhau nên khơng thể xảy ra xung đột. Ví dụ ở hình 2.2, nếu sử dụng CSMA/CD, trạm A và C có thể đồng thời truyền tin đến trạm B gây xung đột nhưng với CSMA/CA có sử dụng ACK, từng kênh truyền được hoạt động trên những khe thời gian riêng lẻ (sau những thời gian chờ nhất đinh) nên đã giải quyết triệt để vấn đề trạm ẩn (Hidden

terminal). Tuy nhiên vấn đề Exposed terminal thì giao thức CSMA/CA + ACK

vẫn chưa giải quyết được. Ví dụ ở hình 2.3, giả sử trạm B đang truyền dữ liệu

cho trạm A, trạm C muốn truyền dữ liệu cho trạm D nên phải lắng nghe đường truyền rỗi bằng cách chờ đợi các khoảng thời gian SIFS (trong trường hợp A, B gửi ACK) hoặc DIFS (trong trường hợp trạm A hoặc B gửi gói tin dữ liệu), thời gian chờ này là khơng cần thiết vì C có thể gửi cho D bất kỳ lúc nào (sau các

nhịp thời gian SIFS hoặc DIFS) mà không sợ bị xung đột. Hơn nữa, tuy B và C nằm trong 1 cell (cùng kênh truyền) nhưng C và D lại khác kênh nên sự lãng phí thời gian chờ đợi (độ trễ) càng trở nên trầm trọng.

2.2.4. Giao thức CSMA/CA + ACK + RTS/CTS

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 hồn tồn khơng thể có xung đột). Vấn đề Hidden terminal và Exposed terminal cũng đã được giải quyết.

Một phần của tài liệu khảo sát mạng lan với các phần mở rộng không dây (Trang 25 - 29)