IP di động (Mobile IP) là một chuẩn do nhóm chuyên trách kỹ thuật Internet (Internet Engineering Task Force - IETF) đề xuất và được trình bày cụ thể trong tài liệu RFC 3344 và RFC 5944 (RFC 5944 mới được công bố vào tháng 11/2010). IP di động được xây dựng nhằm mục đích cho phép người dùng với thiết bị di động của mình có thể di chuyển từ mạng này sang mạng khác mà vẫn tiếp tục duy trì các dòng thông tin đang diễn ra. Cùng với sự phát triển của công nghệ mạng 4G, Mobile IP vẫn đang được nghiên cứu và cải tiến nhằm đảm bảo tính di động của thiết bị trong thế hệ mạng tương lai. Chúng tôi hy vọng rằng nội dung bài này sẽ giúp các bạn nắm bắt được nguyên lý hoạt động và một số vấn đề cơ bản của mobile IP.
Trong thiết kế của giao thức IP, mỗi thiết bị khi nối kết vào mạng sẽ được gắn kết với một địa chỉ IP nhất định. Đây được xem như điểm nối vật lý của thiết bị với mạng internet. Khi trao đổi dữ liệu trên mạng các thiết bị được giả định là không thay đổi địa chỉ IP. Nếu một nút liên lạc CN (Correspondent Node) gửi gói tin đến nút di động MN (Mobile Node) thì trước tiên gói tin sẽ được định tuyến đến mạng thường trú HN (Home Network) của MN mà không phụ thuộc vào vị trí hiện tại của MN. Sau đó, IP di động đảm nhiệm việc chuyển tiếp gói tin này đến cho MN để duy trì dòng thông tin không bị gián đoạn giữa hai thiết bị.
Để hiểu rõ về nguyên lý hoạt động của IP Mobile, chúng ta cần phải làm quen với một số thuật ngữ chính:
- Nút di động MN: là thiết bị có cài đặt phần mềm Mobile IP client. MN luôn được gán với một IP cố định gọi là địa chỉ thường trú HA (Home Address). Trong hình minh họa số 1 bên dưới thì địa chỉ thường trú của MN sẽ là 12.1.2.3/24. Khi MN đang trong mạng thường trú, quá trình liên lạc diễn ra bình thường, nút di động tiến hành gửi và nhận các gói tin như một thiết bị thông thường.
- Nếu MN di chuyển ra khỏi mạng thường trú, thì MN cần có một đại diện thường trú HA (Home Agent) thay mặt cho thiết bị. Vai trò của HA là nhận thông tin gửi đến MN và tiếp tục chuyển tiếp đến địa chỉ mới của MN.
- Khi MN chuyển từ mạng thường trú đến mạng tạm trú FN (Foreign Network), nó sẽ được cung cấp một địa chỉ tạm trú gọi là CoA (Care of Address). MN có nhiệm vụ đăng ký với HA địa chỉ CoA mới này. MN có thể nhận địa chỉ này là từ máy chủ DHCP hoặc sử dụng IP của đại diện tạm trú FA (Foreign Agent).
Chắc hẳn các bạn sẽ thắc mắc làm thế nào để MN xác định nó đã di chuyển khỏi mạng thường trú hay chưa cũng như tìm kiếm FA mới ở mạng tạm trú. Vấn đề này sẽ được HA và FA giải quyết bằng cách định kỳ gửi thông điệp quảng bá trên các mạng cục bộ của chúng, MN tiếp nhận các gói tin này và xác định được những thông tin cần thiết. Quá trình này được biết đến với tên là Agent Discovery.
Vậy thì cách thức mà Mobile IP thực hiện để duy trì được dòng dữ liệu liên tục khi thiết bị di chuyển đến mạng khác với địa chỉ IP mới như thế nào. Để trả lời câu hỏi này, chúng ta phải xem cách thức gửi gói tin đến MN khi chúng ở mạng tạm trú trong hình minh họa số 1 bên dưới:
Phân tích:
1. Trong minh họa số 1 này, router R1 đóng vai trò như một HA cho nút di động. Khi MN di chuyển sang mạng tạm trú, nó sẽ thực hiện việc đăng ký địa chỉ CoA bằng cách gửi gói tin “MIP registration” đến cho đại diện thường trú HA.
2. HA sử dụng địa chỉ CoA nhận được ở bước 1 để tiến hành cập nhật bảng đăng ký (MIP Registration Table). Bảng đăng ký này lưu trữ ánh xạ giữa địa chỉ thường trú, tạm trú và một số thông tin liên quan như thời hạn đăng ký.
3. Khi gói tin được gửi từ CN đến địa chỉ thường trú của MN, đại diện thường trú HA sẽ đứng ra làm trung gian tiếp nhận gói tin này sau đó chuyển hướng chúng đến vị trí hiện tại của MN.
4. HA dùng phương pháp "đóng gói" gói để chuyển thông tin cho MN bằng cách dùng thêm phần mào đầu IP bên ngoài (Outer IP header) vào gói tin gốc và chuyển theo đường hầm (IP-in-IP tunelling) đến địa chỉ CoA mà MN đã đăng ký. Trong ví dụ minh họa đường hầm được hình thành giữa HA và MN.
5. Card mạng vật lý (Physical NIC) thực hiện tháo bỏ IP header ngoài để khôi phục gói tin gốc và chuyển giao cho card mạng ảo (Virtual NIC). Các ứng dụng đang thực thi trên MN vốn chỉ gắn kết với địa chỉ thường trú trên card mạng ảo, do vậy việc thay đổi của CoA của thiết bị sẽ không làm gián đoạn luồng thông tin giữa hai thiết bị.
Quá trình tiếp diễn cho đến khi hết thời hạn đã đăng ký (hoặc MN chuyển đến vị trí mới). Khi điều này xảy ra, MN sẽ tiến hành đăng ký lại với HA. Khi MN trở về mạng thường trú, nó không cần di động nữa, vì thế MN sẽ gửi một yêu cầu hủy bỏ đăng ký lưu động đến HA, nói rõ rằng nó đang "ở nhà" để HA không thực hiện đường hầm và dọn bỏ các địa chỉ tạm trú trong bảng đăng ký trước đó.
Như vậy, chúng ta vừa tìm hiểu nguyên lý hoạt động cơ bản của Mobile IP. Nếu để ý, chúng ta sẽ thấy rằng giao thức này có một nhược điểm là thời gian trễ (delay) lớn (do gói tin phải chuyển qua HA trước rồi mới đến MN) vì thế nó sẽ ảnh hưởng đến các ứng dụng thời gian thực (real-time application). Chính vì vậy, đã có nhiều cải tiến được đưa vào Mobile IP để tăng tính hiệu quả và giảm delay.
Phần tiếp theo chúng ta sẽ tìm hiểu một số vấn đề liên quan đến Mobile IP.
1. Định tuyến tam giác TR (Triangular Routing):
MN sau khi nhận được gói tin gốc sẽ biết được chính xác địa chỉ IP của CN. Vì thế, MN có thể gửi các gói tin trực tiếp đến CN hoặc thông qua đường hầm đến HA nhờ chuyển giúp. Việc gửi trực tiếp gói tin đến CN sẽ là giải pháp tối ưu giúp giảm thiểu delay khi gửi/nhận thông tin giữa MN và CN. Quá trình này được gọi là định tuyến tam giác. Tuy nhiên, thực tế một số router và firewall thường được cấu hình với chức năng "ingress filtering" nhằm mục đích ngăn chặn các cuộc tấn công giả mạo địa chỉ. Chức năng này sẽ chặn các gói tin có địa chỉ IP nguồn không thuộc subnet mạng cục bộ. Trong hình minh họa số 2 thì gói tin gửi từ MN đến CN sẽ có IP source là 12.1.2.3, không thuộc về subnet 15.2.4.0/24, do đó nó sẽ bị loại bỏ. Để giải quyết vấn đề này IP di động đưa ra giải pháp đường hầm nghịch (Reverse Tunneling). Theo đó MN sẽ chuyển gói tin thông qua đường hầm đến HA trước khi HA chuyển tiếp chúng cho CN (xem các bước 1, 2, 3 trong hình minh họa số 2).
Để cải thiện hiệu quả định tuyến, người ta đưa ra giải pháp cho phép MN sau khi xác định được địa chỉ IP của CN thì MN sẽ gửi trực tiếp thông tin CoA hiện hành đến CN. CN sẽ duy trì ánh xạ liên kết giữa địa chỉ thường trú và CoA của MN (tương tự như HA) trong một khoảng thời gian nhất định. Nếu ánh xạ này vẫn còn hợp lệ thì CN và MN sẽ trao đổi dữ liệu trực tiếp với nhau mà không cần qua HA. Nếu ánh xạ không tồn tại hoặc bị expired thì CN sẽ tiến hành gửi các gói tin đến HA, rồi từ HA sẽ chuyển đến MN như bình thường, sau đó MN có thể gửi lại CoA cho CN.
2. Đại diện tạm trú FA (Foreign Agents)
Việc sử dụng địa chỉ IP thật (Public IP) để đăng ký như minh họa trên sẽ dẫn buộc các mạng tạm trú dành trước một số IP thật cho các thiết bị di động. Nếu số lượng các MN di chuyển đến mạng tạm trú quá nhiều sẽ dẫn đến tình trạng không còn đủ IP để cung cấp cho MN mới. Để giải quyết vấn đề này IP di động đã bổ sung thêm khái niệm đại diện tạm trú FA (Foreign Agents). Khi có sự hiện diện của FA thì các MN sẽ dùng chung IP của FA để làm CoA của mình. Trong hình minh họa số 3 bên dưới CoA của MN sẽ là IP củaa router R2 15.2.4.1/24.
Các bước thực hiện từ 1 đến 4 tương tự như hình minh họa số 1. Tuy nhiên, đường hầm được hình thành giữa HA và FA chứ không phải là giữa HA và MN. Tại FA, gói tin gốc sẽ được khôi phục bằng cách tháo bỏ IP header bên ngoài. Sau đó, FA căn cứ vào thông tin địa chỉ MAC có bảng ARP của nó để gửi thông tin đến vị trí hiện hữu của MN một cách chính xác.
3. NAT và IP di động
Khi MN ở sau một thiết bị NAT thì đường hầm IP-in-IP giữa HA và MN sẽ không thể thực hiện được, bởi vì địa chỉ CoA không thể truy cập một cách trực tiếp từ mạng ngoài. Để giải quyết vấn đề này, IP di động thực hiện đóng gói “IP packet” trong “UDP segment” và sử dụng đường hầm IP-in-UDP để gửi thông tin (xem chi tiết về IP-in-UDP tunneling trong RFC 3519).
4. Forwarding
Nếu MN di chuyển từ mạng tạm trú này sang một mạng tạm trú khác, tức sẽ chuyển từ FA cũ (FAold) sang một FA mới (FAnew) thì trong quá trình chuyển từ FAold sang FANew, thông tin gói sẽ vẫn tiếp tục được chuyển đến FAold. Và để giảm số packet bị mất do vấn đề này thì người ta đã cải tiến tính năng forwarding để cho phép FAold sẽ chuyển tiếp thông tin nó nhận được đến FAnew.
Kết luận
Trên đây chúng ta đã tìm hiểu cơ bản về Mobile IP giao thức quản lý di động hoạt động ở lớp mạng (Network layer). Mobile IP được thiết kế bởi IETF nhằm giải quyết bài toán Internet di động. Từ sau sự ra đời của MIPv4 (Mobile IP version 4) đã có rất nhiều nghiên cứu cải tiến nhằm giảm thời gian từ lúc MN di chuyển đến lúc HA nhận được thông tin CoA của MN. Và hiện nay, MIPv6 (Mobile IP version 6) cũng đang được tiếp tục nghiên cứu và hoàn thiện.
Tác giả hiện là giảng viên của Viện Công Nghệ Kỹ Thuật Sài Gòn – SaigonCTT. Mọi thông tin trao đổi về bài viết, xin vui lòng email về địa chỉ info@saigonctt.com.vn