Chương 3 Một số phương pháp nâng cao hiệu năng TCP trong mạng không dây
3.3. Cơ chế cảnh báo tường minh EN (Explicit Nofitication)
TCP thông thường luôn cho rằng việc mất dữ liệu trên đường truyền là do tắc nghẽn trên mạng. Điều này không phù hợp khi áp dụng cho mạng không dây. Các cơ chế EN được phát triển với mục đích cho phép nguồn phát TCP phân biệt được nguyên nhân thật sự của việc mất dữ liệu. Ý tưởng chính của hướng tiếp cận này là gửi các thông báo trên đường truyền để thông báo cho nguồn phát biết việc mất dữ liệu do lỗi trên đường truyền không dây.
3.3.1. ICMP Message
Ý tưởng chính của phương pháp này là sử dụng gói ICMP để chuyển tải thông điệp cho biết tình trạng mất gói. Tiêu chí của phương pháp:
• Một thông điệp ICMP cho phép TCP phân biệt được mất gói là do lỗi trên đường truyền không dây hay do nghẽn mạng trên trường truyền có dây. Qui ước rằng, mất gói trên đường truyền không dây hoàn toàn là do lỗi đường truyền và mất gói trên mạng có dây là do nghẽn mạng.
• Thông điệp ICMP có thể giúp TCP tránh được xung đột giữa các cơ chế truyền lại của tầng liên kết ( link layer) và truyền lại tầng chuyển vận (TCP)
• Lượng thông tin tiêu đề nhỏ
Để thực hiện chức năng trên, một loại mới của giao thức ICMP được thiết kế gọi là ICMP-DEFER. Thông điệp ICMP-DEFER được BS gửi khi nỗ lực truyền đầu tiên trên đường truyền không dây không thành công. Điều này đảm bảo trong một khoảng thời gian RTT, TCP sẽ nhận được một ACK khác hoặc một thông điệp ICMP. Nó đảm bảo quá trình truyền lại đầu cuối – đầu cuối không bắt đầu khi tầng liên kết đang thực hiện truyền lại. Nếu cả ACK và ICMP đều không đến đầu phát, cũng đồng nghĩa với việc đang có tình trạng tắc nghẽn. Như vậy, đầu phát có thể nhận diện được tắc nghẽn đường truyền. Thông điệp ICMP đồng thời mang cả thông tin về IP và TCP (tiêu đề). Do đó, đầu phát biết được chính xác gói dữ liệu nào bị mất. ICMP không được truyền lại, lượng tiêu đề được truyền đi thấp là một ưu điểm của phương pháp này.
Khi nhận được thông điệp ICMP-DEFER, TCP ở đầu phát tạm ngưng bộ định thời phát lại gói. Điều này tránh cho TCP khỏi phải xung đột với tầng liên kết trong việc truyền lại. Nếu segment cần phải được truyền lại đồng thời đã từng có ICMP-DEFER của segment đó, việc truyền lại được thực hiện nhưng không giảm cwnd ở đầu phát. Sau một số lần thực hiện truyền lại ở tầng liên kết không thành công, BS gửi thông điệp ICMP- RETRANSMISSION cho đầu phát TCP để thực hiện việc truyền lại đầu cuối – đầu cuối (end-to-end).
Với thông điệp ICMP mới là ICMP-DEFER, và ICMP-RETRANSMISSION, có khả năng đầu cuối không hiểu. Trong trường hợp này, các thông điệp ICMP được bỏ qua, và quá trình truyền được thực hiện như TCP truyền thống.
3.3.2. Phương pháp thông báo mất dữ liệu tường minh ELN (Explicit Loss Notification) Notification)
Phương pháp này được sử dụng khi MH là nguồn phát. Nếu dữ liệu mất trên đường truyền không dây, BS gửi một ELN cho MH (đầu phát). Đồng thời BS xem xét tiêu đề TCP và lưu số tuần tự sequence number. Một khoảng trống trong dãy sequence number
được ghi dấu cho biết dữ liệu đã bị mất trên đường không dây từ MH đến BS. Khi xảy ra mất gói, FH như thông thường gửi các dupACKs về cho MH. Khi các dupACKs đi qua BS, BS bật cờ ELN và chuyển tiếp các dupACKs này về MH. MH truyền lại các gói có ELN mà không giảm cửa sổ tắc nghẽn.
3.3.3. Phương pháp đếm syndrome
Phương pháp đếm syndrome được thi bởi BS. Phương pháp này được mở rộng từ phương pháp ELN. BS đếm số lượng gói mà BS chuyển tiếp với từng kết nối. Đồng thời, giá trị bộ đếm này ứng với từng gói được thêm vào tiêu đề TCP như là một thành phần mở rộng. Một syndrome được định nghĩa bởi cặp giá trị (sequence number, giá trị đếm của BS). Từ cặp giá trị này có thể suy ra nguyên nhân mất gói. Nếu xuất hiện một khoảng trống trong chuỗi sequence number hay giá trị đếm, đồng nghĩa với việc có mất dữ liệu xảy ra.
Để thuận tiện trong phát hiện mất gói, syndrome định ra khái niệm khoảng trống G. Các G được tính với từng gói. Gọi:
Trong đó,
• seq_num: số tuần tự segment
• max_seq_seen : seq_num lớn nhất được ghi nhận
• n: khoảng các giữa hai segment dữ liệu nhận được liên tục. Nếu n = 0, không có gói nào bị mất ở khoảng giữa các gói vừa nhận được.
Cặp giá trị (Gn, Gm) cho biết có mất gói hay không và nguyên nhân mất. Gn ứng với sequence number và Gm ứng với bộ đếm của BS. Có ba trường hợp xảy ra
• (G0, G0): không xảy ra mất gói
• (Gm, Gm): có m gói bị mất và tất cả mất trên đường không dây
• (Gn, Gm) với n>m>=0 : có n gói bị mất, trong đó có m gói mất trên đường truyền không dây.
Trong trường hợp có mất gói do đường truyền không dây, ELN được sử dụng bởi đầu thu để báo hiệu cho đầu phát.
3.3.4. Phương pháp ACK thành phần (partial ACK)
Phương pháp này đề xuất việc sử dụng hai loại ACK khác nhau thay vì chỉ sử dụng một loại ACK hiện tại. Hai loại ACK bao gồm ACK xác nhận đầu cuối – đầu cuối (complete ACK – Ac) và một loại ACK dành cho đầu phát – BS (partial ACK – Ap). Trong giải thuật này, kết nối end-to-end được phân làm hai chặng về mặt logic.
Hình 3.14 Mô hình xử lý ACK thành phần
Ac hoạt động như ACK bình thường được sử dụng trong các phiên bản TCP truyền thống. Ap được sử dụng bởi BS gửi đến FH. Nếu không xảy ra mất dữ liệu trên đường truyền, nguồn phát nhận được hai loại ACK: Ap từ BS và Ac từ MH. Nếu chỉ có Ap đến được gửi đến FH, FH xác nhận có mất gói trên đường truyền không dây. Nếu không có ACK về, FH xác nhận mất gói do tắc nghẽn.
3.3.5. Kết luận
Không giống với các phương pháp khác, phương pháp cảnh báo tường minh hoạt động dựa trên sự phối hợp xử lý của cả đầu phát cũng như đầu thu dựa trên thông tin đường truyền. Đầu phát có vai trò phân biệt loại tắc nghẽn từ những thông tin có được từ đầu thu. Điểm thuận lợi của hướng tiếp cận này là thuật giải tương đối đơn giản và độc lập với cơ chế điều khiển TCP (chỉ can thiệp vào cơ chế truyền lại). Đồng thời hướng tiếp cận này cung cấp thuật giải hữu hiệu trong phân biệt loại mất gói. Tuy nhiên, hứớng tiếp cận này không thật sự khả thi. Nguyên nhân là do:
• Thông điệp thông báo tường minh về sự mất gói tin trên đường truyền được gửi chung với các gói dữ liệu hoặc thông qua giao thức ICMP. Trên đường truyền có độ tin cậy thấp của môi trường không dây, phương pháp này tỏ ra không hiệu quả vì các gói mang báo hiệu hay ICMP có thể bị mất.
• EN đòi hỏi BS phải có khả năng hoạt động ở tầng transport (ngoại trừ ICMP)
• Trong trường hợp sử dụng giao thức bảo mật IpSec, EN không thể hoạt động