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.2. Chia kết nối
Ý tưởng chính của nhóm giải thuật này là chia kết nối thành hai phần riêng biệt. Khi đó, kết nối ban đầu được chia thành hai kết nối thông qua một nốt mạng trung gian. Giải pháp này có phần giống với phương pháp hỗ trợ link layer, chỉ khác là các xử lý được thực hiện ở tầng TCP.
Hình 3.9 Mô hình chia kết nối
3.2.1. Indirect TCP (I-TCP)
I-TCP đề xuất chia kết nối từ một MH đến một thiết bị FH thành hai kết nối riêng biệt: một kết nối giữa MH và một thiết bị định tuyến hỗ trợ di động (mobile support router – MSR) thông qua kết nối không dây và kết nối còn lại giữa MSR đến FH trong mạng có dây. MSR trong trường hợp này tương ứng với một BS, hay nói cách khác là BS có tích hợp MSR. Việc chia kết nối giúp tách biệt hai môi trường truyền dẫn với những đặc tính khác nhau là không dây và có dây. Từ đó, dễ dàng hơn cho việc giải quyết vấn đề từng kết nối một cách độc lập. Ở tầng giao vận (transport), việc chia kết nối mang lại những lợi ích như:
• Tách biệt chức năng điều khiển luồng và điều khiển tắc nghẽn trên môi trường không dây với môi trường truyền có dây. Việc chia tách này xuất phát từ sự khác nhau về đặc điểm giữa hai môi trường truyền. Với môi trường có dây, các kết nối ethernet hay ATM cho phép đường truyền nhanh, băng thông lớn và tin cậy trong khi đó, đường truyền không dây chậm và dễ xảy ra lỗi do nhiễu tín hiệu (fading hay tỉ lệ lỗi cao).
• Trên phần kết nối qua mạng không dây, cho phép nhận biết chính xác nguyên nhân của các sự kiện mất gói tin như: mất kết nối do lỗi đường truyền, do nút mạng di chuyển hay những đặc điểm khác của kết nối không dây.
• I-TCP cho phép BS (có hỗ trợ MSR) quản lý số lượng lớn hơn các kết nối giữa FH và MH. BS có thể đóng vai trò như một proxy đại diện cho MH thực thi các giao thức phức tạp, đơn giản hóa các thao tác cho MH trong trường hợp MH chỉ là các thiết bị đơn giản.
Hình 3.10 Mô hình I-TCP
Khi một MH cần liên lạc với FH sử dụng I-TCP, yêu cầu được gửi đến MSR để để mở kết nối. MSR khi nhận được yêu cầu thiết lập kết nối từ MH, sẽ tạo kết nối với FH tương ứng.
Hình 3.11 BS đóng vai trò như Proxy trong I-TCP
MSR đóng vai trò như một proxy, mở cùng lúc 2 kết nối thông qua hai socket. Khi MH di chuyển, MSR đóng vài trò điều khiển quá trình handoff và chuyển các thông tin sang MSR mới.
Hình 3.12 Quá trình xử lý chuyển vùng (handoff) của I-TCP
Trong ví dụ trên, MH đầu tiên thiết lập kết nối với FH thông qua MSR-1 và di chuyển sang vị trí thuộc vùng phủ sóng của MSR-2. Khi MH yêu cầu kết nối I-TCP với FH trong vùng MSR-1, MSR-1 thiết lập một socket cho MH (MH socket) để quản lý kết nối với MH và socket cho FH (MH socket) để quản lý kết nối với MH. Khi MH di chuyển vào vùng MSR-2, trạng thái kết nối của I-TCP ở MSR-1 được chuyển sang MSR-2. MSR-2 tạo hai socket đáp ứng với kết nối I-TCP với cùng tham số mà MSR-1 đã thiết lập. Khi kết nối các đầu cuối đã được thiết lập thành phần cố định của kết nối (FH) I-TCP không thay đổi khi FH di chuyển, do đó không cần phải thực hiện kết nối lại với MSR mới. Điều này đảm bảo kết nối TCP hoàn toàn trong suốt với FH.
Giải pháp chia đôi kết nối của I-TCP là làm mất đi ngữ nghĩa end-to-end của TCP, nghĩa là, thực thể gửi gói tin biên nhận có thể không phải là thực thể nhận TCP (ở đầu thu). Hầu hết các ứng dụng sử dụng TCP để truyền dữ liệu như ftp hay một số ứng dụng khác đều có cơ chế khôi phục khi lỗi. Tuy nhiên đối với I-TCP, các ứng dụng không thể thực hiện chức năng trên một cách hiệu quả do không thật sự biết dữ liệu đã truyền đến đích hay chưa. Đồng thời I-TCP không có cơ chế nào cảnh báo lên tầng ứng dụng. Do đó, các ứng dụng dựa trên I-TCP phụ thuộc nhiều vào MSR cũng như kết nối giữa MSR và MH.
Quá trình handoff được thực hiện như sau:[6]
2. Tiến trình mhmicp thiết lập MSR mới thành bộ định tuyến mặc định và gửi thông điệp chào (greeting) đến MSR chứa các kết nối I-TCP hiện tại và địa chỉ của MSR cũ (MSR-1).
3. Tiến trình msrmicp ở MSR-2 gửi xác nhận cho thông điệp greeting từ MH (grack) 4. Tiến trình msrmicp (cần chọn chỗ nào thích hợp giải thích từ viết tắt này và ý
nghĩa của vấn đề liên quan) tại MSR-2 gửi thông điệp “MHIn” tới I-TCP daemon cục bộ chứa danh sách của các kết nối I-TCP nhận được từ MH
5. I-TCP deamon thiết lập socket cho cả kết nối trên mạng không dây và mạng có dây và chuẩn bị yêu cầu I-TCP handoff cho MSR-1. Deamon gửi ACK đến msrmicp. 6. Msrmicp gửi một gửi con trỏ (forwarding pointer) đến MSR-1, thông báo cho
MSR-1 biết MSR nào sẽ quản lý MH 7. Msrmicp tại MSR-1 xác nhận (ACK)
8. Msrmicp tại MSR-1 gửi thông điệp MHOut đến deamon của nó với địa chỉ của MH đã di chuyển ra ngoài để thông báo MH đã di chuyển ra ngoài.
9. Khi nhận thông điệp MHOut, I-TCP deamon đóng băng tất cả các kết nối liên quan tới MH. Đồng thời gửi thông điệp yêu cầu handoff đến deamon của MSR-2 để đảm bảo rằng đã sẵn sàng và gửi trạng thái của các kết nối I-TCP sang MSR-2 (MHState)
1. I-TCP deamon tại MSR-2 nhận trạng thái kết nối đồng thời khởi động lại từng kết nối. Sau đó, gửi ACK cho MSR-1 thông báo hoàn tất quá trình handoff (Ack).
Hình 3.13 Các bước thực hiện trong quá trình handoff của I-TCP
3.2.2. Kết luận
Việc chia kết nối mang lại nhiều lợi ích như tránh mất dữ liệu trong quá trình handover (hay handoff); Đồng thời, giúp giảm lượng dữ liệu bị mất trong quá trình truyền và tăng hiệu quả của kết nối như đã trình bày ở trên. Tuy nhiên, việc chia kết nối cũng mang lại những bất cập. Thứ nhất, tất cả các dữ liệu phải đi qua cùng một BS. Thứ hai, TCP header phải đọc được bởi BS (MSR), do đó, với các kênh truyền sử dụng các cơ chế bảo mật như IPSec, I-TCP không thể hoạt động. Ngoài ra, I-TCP không còn mang đúng ý nghĩa là kết nối end-to-end. I-TCP thích hợp với WLAN có sử dụng Mobile IP.