Mục đích cuối cùng của giải pháp là thúc đẩy tốc độ truyền các gói tin từ Mobile Agent đến Mobile Node trên các đường kết nối khác nhau của giữa chúng. Việc áp dụng giải thuật tại Mobile Agent và Mobile Node phải làm tăng tốc độ tải các tập tin của Mobile Node. Vì vậy yêu cầu đặt ra là giải thuật cần đơn giản và được tối ưu hoá, vì nếu giải thuật quá phức tạp thì thời gian thực thi giải thuật ở Mobile Agent và Mobile Node lớn, dẫn đến mục tiêu tăng tốc độ truyền các tập tin đạt được là không cao.
Bên cạnh đó, giải pháp phải đảm bảo không làm thay đổi quá nhiều cấu hình hiện tại và đảm bảo tính trong suốt đối với người sử dụng. Người sử dụng chỉ cần cài đặt chương trình ứng dụng trên thiết bị đầu cuối của mình mà không cần biết đến các hoạt bên trong của giải thuật.
3.3.2 Thiết kế kiến trúc cơ bản của chƣơng trình mô phỏng giải thuật
Kiến trúc cơ bản của chương trình bao gồm các mô-đun chính như được chỉ ra trong hình 17. Chức năng của các mô-đun như sau:
Mobile Agent
Mobile Node
gói tin ứngdụng (STT gói tin, dữ liệu) yêu cầu điều chỉnh tỷ lệ phát (STT của kết nối)
xác nhận đã điều chỉnh tỷ lệ phát
thông báo đã thiết lập các biến đếm C bằng 0
+ Mô - đun PacketSniffer: Nhận các gói tin trên các giao diện của Mobile Node
+ Mô - đun Monitor: xác định xem các gói tin đến Mobile Node có bị trễ hay không, tính tỷ lệ các gói tin trễ trên các giao diện tại Mobile Node
+ Mô - đun MsgSender: Gửi các bản tin điều khiển như yêu cầu điều chỉnh tỷ lệ phát, thông báo trạng thái các biến đếm ,…. từ Mobile Node đến Mobile Agent
+ Mô - đun PacketCapture: Bắt các gói tin được gửi từ các thực thể mạng tới
+ Mô - đun MsgHander: Xử lý các gói tin mà nó bắt được. Nếu đấy là các gói tin ứng dụng có đích đến là Mobile Node thì nó chuyển các gói tin đó cho mô - đun Scheduler + Mô - đun Scheduler: Lập lịch chuyển tải các gói tin bao gồm việc xác định các kết nối đang có và định ra tỷ lệ phát các gói tin trên các kết nối đó.
+ Mô - đun PacketSender: Chuyển các gói tin đến Mobile Node theo tỷ lệ mà mô - đun Scheduler đã quyết định
Hình 17. Kiến trúc cơ bản của chương trình
a. Thiết kế chƣơng trình tại Mobile Agent:
Mobile Agent sử dụng một socket lắng nghe tất cả các gói tin truyền tới nó trên một card mạng. Sau khi lấy được một gói tin nó sẽ xem gói tin đó được chuyển tới Mobile Node nào và thực hiện việc lập lịch cho gói tin trên các kết nối khả dụng từ Mobile Agent tới Mobile Node.
Việc lập lịch dựa trên các thông tin về tỷ lệ trễ của các gói tin trên các giao diện mạng. Mỗi một giao diện mạng có một tỷ lệ các gói tin đến trễ. Nếu tỷ lệ các gói tin đến trễ vượt quá ngưỡng cho phép xuất hiện ở một trong các giao diện, một thông báo sẽ được gửi từ Mobile Node đến Mobile Agent yêu cầu điều chỉnh lại tỷ lệ phát các gói tin trên các giao diện. Việc phát các gói tin dựa trên tỷ lệ đã quy
định được thực hiện bằng cách áp dụng giải thuật DC đã được đề cập đến trong phần nghiên cứu liên quan.
Việc lập lịch phát các gói tin được thực hiện bởi hàm schedulePacket(). Kết quả thực thi của hàm này là một địa chỉ của một giao diện mạng ở phía Mobile Node. Nghĩa là, hàm schedulePacket() sẽ chọn ra kết nối nào giữa Mobile Agent và Mobile Node là thích hợp nhất để truyền một gói tin có đích đến là Mobile Node. Sau khi đã lập lịch xong, Mobile Agent sẽ thêm vào tiêu đề của gói tin gửi tới Mobile Node một trường thứ tự gửi gói tin để phục vụ cho quá trình lập lịch. Trường này có tên là packetSequence, được thêm vào phần padding của gói tin. Đồng thời Mobile Agent thay đổi địa chỉ đích đến của gói tin thành địa chỉ lấy được sau quá trình lập lịch hay chính là điạ chỉ giao diện mạng được chọn để truyền gói tin tại Mobile Node. Tiếp đó, Mobile Agent tính lại checksum cho gói tin. Cuối cùng, Mobile Agent gửi gói tin này tới giao diện đã được chọn ra ở Mobile Node nhờ quá trình lập lịch.
Mobile Agent đồng thời lắng nghe tất cả các gói tin từ các Mobile Node gửi tới thông qua một cổng cố định là cổng 2903. Các gói tin này mang thông tin điều khiển như thông tin lập lịch hoặc về kết nối mới từ Mobile Node tới Mobile Agent:
Khi có một kết nối mới được thiết lập thì gói tin Mobile Agent nhận được có trường Type là NEW_MSG
Nếu là gói tin mang thông tin lập lịch như tỷ lệ độ trễ mà Mobile Node gửi tới Mobile Agent thì gói tin nhận được có trường Type là UPDATE. Về phía Mobile Agent, khi nhận được một gói tin trên cổng 2903 thì tuỳ vào trường Type của gói tin đó là gì nó sẽ thực hiện các công việc thích hợp.
Nếu là gói tin có trường Type là NEW_MSG, Mobile Agent sẽ thêm giao diện mới tới Mobile Node bằng cách lưu lại thông tin của giao diện đó tương ứng với Mobile Node để phục vụ cho quá trình lập lịch
Nếu là gói tin có trường Type là UPDATE, Mobile Agent sẽ cập nhật tỷ lệ độ trễ trên các giao diện có sẵn của Mobile Node đang được lưu.
b. Thiết kế chƣơng trình tại Mobile Node:
Mobile Node sử dụng một socket trên cổng 2903 để gửi các gói tin lập lịch tới Mobile Agent. Khi một giao diện mới trở nên khả dụng tại Mobile Node, Mobile Node sẽ gửi gói tin NEW_MSG thông báo cho Mobile Agent biết thông tin về giao diện mới đó. Cổng 2903 còn được Mobile Node sử dụng để gửi gói tin cập nhật tỷ lệ độ trễ trên các giao diện mạng của nó đến Mobile Agent trong trường hợp tại
thời điểm mà độ trễ trên một giao diện nào đó vượt ngưỡng cho trước THRESHOLD.
Để có thể xác định một gói tin có đến trễ hay không, Mobile Node lưu thêm hai thông tin là lastSeqNo và lastInterface.
- lastSeqNo là thông tin về số thứ tự lớn nhất của các gói tin mà nó nhận được - lastInterface là giao diện mạng mà ở đó, gói tin có số thứ tự lớn nhất được
nhận.
Khi nhận được gói tin khác từ Mobile Agent gửi tới không phải qua cổng 2903, nó sẽ thay đổi địa chỉ đích đến của gói tin thành home address của nó, tính lại checksum và tiếp tục gửi gói tin đó cho ứng dụng đích, đồng thời tăng số gói tin nhận được trên giao diện đó lên 1 đơn vị.
Tuy nhiên, trước khi thay đổi địa chỉ đích đến thành home address, Mobile Node lấy ra thông tin về packetSequence từ padding của gói tin và đem so sánh với giá trị lastSeqNo của nó. Nếu sequencePacket nhỏ hơn lastSeqNo và gói tin nhận được trên một giao diện khác lastInterface thì gói tin đó coi như bị trễ. Khi đó giao diện nhận được gói tin này sẽ tăng trường độ trễ lên một đơn vị.
Khi có một gói tin bị trễ, Mobile Node kiểm tra xem tỷ lệ độ trễ trên giao diện nhận được gói tin có vượt ngưỡng không. Tỷ lệ độ trễ được tính bằng cách lấy tổng số gói tin bị trễ chia cho tổng số gói tin nhận được. Nếu tỷ lệ độ trễ này vượt tỷ lệ cho phép, Mobile Node sẽ gửi bản tin UPDATE cho Mobile Agent thông qua socket trên cổng 2903.
3.4 Nhận xét, đánh giá giải pháp
Ƣu điểm
Giải pháp đã đề ra một thuật toán nhằm đưa ra một tỷ lệ thích hợp để truyền tải các gói tin từ Mobile Agent đến Mobile Node khi Mobile Node sử dụng đồng thời nhiều giao diện mạng để kết nối vào Internet. Từ đó, giải thuật nhằm làm giảm độ trễ của các gói tin trên các kết nối, làm tăng tốc độ truyền tải các tập tin từ Mobile Agent đến Mobile Node.
Thuật toán được đề xuất trong giải pháp khá rõ ràng, đơn giản, nó chỉ là các mô- đun phần mềm sử dụng hệ điều hành Linux, do đó dễ dàng để triển khai ở Mobile Node và Mobile Agent. Việc cài đặt các mô-đun phần mềm này cũng không tạo ra quá nhiều sự thay đổi trong cấu hình mạng hiện tại.
Nhƣợc điểm
Việc xác định tỷ lệ ban đầu để phát các gói tin trên các kết nối được xác định theo cách thăm dò, vì vậy tỷ lệ này đôi khi là không phù hợp dẫn đến hiệu quả đạt được của giải thuật trong khoảng thời gian ngắn ban đầu là không cao. Nguyên nhân là do lúc ban đầu giải thuật chưa kịp điều chỉnh tỷ lệ phát các gói tin trên các kết nối. Nếu tỷ lệ phát ban đầu không hợp lý, độ trễ trên các kết nối sẽ tăng và đến lúc vượt qua một ngưỡng cho phép thì việc điều chỉnh tỷ lệ phát mới được thực hiện. Đây là một nội dung cần cải tiến của giải thuật trong thời gian tới để giải thuật này được tối ưu hơn.
Trong phần tiếp theo của đề tài, các kết quả đạt được từ việc triển khai triển khai chương trình để thực thi giải pháp sẽ được trình bày.
CHƢƠNG 4: KẾT QUẢ TRIỂN KHAI THỰC TẾ VÀ NHẬN XÉT ĐÁNH GIÁ
4.1 Triển khai chƣơng trình mô phỏng thực tế
Chương trình mô phỏng để thực thi giải pháp được viết bằng ngôn ngữ lập trình C. Chương trình được triển khai trên Mobile Agent và Mobile Node. Mobile Agent là một máy tính để bàn, Mobile Node là một máy tính xách tay, cả hai đều sử dụng hệ điều hành Linux.
Yêu cầu đặt ra là sau khi áp dụng chương trình tại Mobile Agent và Mobile Node, tốc độ truyền các tập tin giữa Mobile Agent đến Mobile Node thông qua các đường truyền đang có tăng lên so với khi chưa áp dụng chương trình.
4.2 Thí nghiệm và kết quả đạt đƣợc
4.2.1 Bố trí thí nghiệm
Hình 18 mô tả thí nghiệm thực tế. Trong mô hình thí nghiệm có thành phần sau: Mobile Node (MN) là một máy tính xách tay có 3 giao diện WLAN kết nối tới
một Router có các địa chỉ là 192.168.3.10, 192.168.3.11, 192.168.3.12. Mobile Node sử dụng hệ điều hành Ubuntu 9.04.
Router là một máy tính sử dụng hệ điều hành FreeBSD để giới hạn băng thông và độ trễ trên các đường truyền từ Mobile Agent tới Mobile Node. Router có hai địa chỉ, một là 192.168.3.1 nối tới Mobile Node, một là 192.168.2.10 nối tới Mobile Agent.
Mobile Agent (MA) là một máy tính có hai giao diện mạng, một giao diện có địa chỉ 192.168.1.210 được kết nối tới Correspondent Node; giao diện còn lại có địa chỉ 192.168.2.2 được kết nối với Router. Mobile Node sử dụng hệ điều hành Ubuntu 9.04.
Correspondent Node (CN) là một máy tính để bàn có địa chỉ 192.168.1.128 có thể sử dụng Hệ điều hành Linux hoặc Windows.
Một Access Point (AP) được Mobile Node sử dụng thông qua 3 giao diện WLAN.
19 .16 8.3 .11 19..168 .3.12 CN MA Router AP MN 19 .16 8.3 .10 35kbps 45kbps 60kbps 192.168.3.1 192.168.2.10 192.168.2.2 192.168.1.210 192.168.1.128 Hình 18. Bố trí thí nghiệm 4.2.2 Mô tả thí nghiệm
Mục đích của thí nghiệm là nhằm đánh giá kết quả thực thi của chương trình. Yêu cầu đặt ra là tốc độ tải tập tin từ Correspondent Node đến Mobile Node khi áp dụng chương trình cao hơn khi không áp dụng chương trình.
Dùng Router là máy tính sử dụng hệ điều hành FreeBSD để giới hạn băng thông của 3 giao diện kết nối đến Mobile Node là 35 kbps, 40 kbps và 45 kbps.
Tập tin được tải từ Correspondent Node về Mobile Node có tên là test.rar có kích thước 100MB.
Thí nghiệm được thực hiện qua các bước:
- Lần thứ nhất: Tải file test.rar, không áp dụng chương trình lập lịch, ghi lại tốc độ tải file của Mobile Node.
- Lần thứ hai: Tải file test.rar, có áp dụng chương trình lập lịch, ghi lại tốc độ tải file của Mobile Node.
- Đánh giá các kết quả đạt được.
4.2.3 Kết quả đạt đƣợc
Hình 19 là biểu đồ kết quả đạt được khi thực thi chương trình thí nghiệm khi chưa áp dụng giải thuật lập lịch. Kết quả đạt được cho thấy, khi chưa áp dụng chương trình lập lịch tại Mobile Node và Mobile Agent, tốc độ truyền tập tin dao động trong khoảng từ 21 kbps đến 35 kbps. Sở dĩ như vậy là vì tại một thời điểm chỉ có một giao diện được dùng để truyền gói tin, mà giao diện có băng thông cao nhất là 45 kbps và trong thực tế, không phải trong mọi trường hợp đều có thể sử dụng được tối đa 100% băng thông đường truyền.
Kết quả thí nghiệm khi chưa áp dụng giải thuật lập lịch 0 5 10 15 20 25 30 35 40 1 2 3 4 5 6 x 10 giây k b p s
Hình 19. Kết quả thí nghiệm khi chưa áp dụng giải thuật lập lịch
Ở lần thí nghiệm thứ hai, với kết quả thể hiện ở hình 20, có thể nhận thấy khi đã áp dụng chương trình lập lịch tại Mobile Node và Mobile Agent, tốc độ truyền tập tin lúc cao nhất đạt 55 kbps. Tốc độ này đạt được bắt đầu từ giây thứ 20 và được duy trì trong suốt khoảng thời gian từ đó về sau. Ban đầu, giải thuật chọn tỷ lệ các gói tin là 1:1:1 cho 3 giao diện.
Kết quả thí nghiệm khi đã áp dụng giải thuật lập lịch 0 10 20 30 40 50 60 1 2 3 4 5 6 x 10 giây k b p s
Hình 20. Kết quả thí nghiệm khi đã áp dụng giải thuật lập lịch
Trên biểu đồ kết quả, tốc độ tải tập tin trong khoảng 20 giây đầu tiên của thí nghiệm là không cao. Điều đó có thể được lý giải rằng do tỷ lệ định ra ban đầu là chưa hợp lý nên có những gói tin bị trễ do chưa tìm đươc kết nối phù hợp để thông qua. Sau
đó, chương trình đã theo dõi tỷ lệ trễ trên các giao diện và điều chỉnh lại tỷ lệ phát các gói tin, do đó tốc độ truyền tải tập tin đã tăng lên và đạt được tốc độ là 55 kbps từ giây thứ 20. Như vậy có thể thấy rằng, tốc độ truyền tin trên các giao diện giữa Mobile Agent và Mobile Node tăng lên nhờ áp dụng chương trình lập lịch.
4.3 Nhận xét đánh giá chƣơng trình
Chương trình mô phỏng đã đáp ứng được các yêu cầu đặt ra, thể hiện được các ý tưởng của giải pháp đã được đề xuất. Kết quả thực thi chương trình cho thấy tốc độ tải các tập tin tại Mobile Node tăng lên đáng kể. Tuy nhiên do tỷ lệ phát các gói tin được chọn ban đầu là 1:1:1 cho 3 giao diện, do đó trong khoảng thời gian 20 giây đầu khi thực thi chương trình, tốc độ tải tập tin là không cao. Vấn đề chọn tỷ lệ hợp lý ngay từ ban đầu để phát các gói tin là tương đối khó, đòi hỏi phải dựa trên nhiều thí nghiệm thực tế để có thể đưa ra một tỷ lệ phù hợp.
KẾT LUẬN
Trong phần đầu, luận văn đã đưa ra các vấn tổng quan về mạng không dây, tập trung vào mạng không dây di động và về giao thức hỗ trợ tính di động của giao thức Mobile IP.
Luận văn cũng đã nêu được vấn đề chuyển giao dọc trong các mạng không dây di động, sự cần thiết của nó và các ứng dụng chuyển giao dọc trong thực tế để nhằm tối ưu hoá việc truyền thông tin giữa các nút mạng với nhau. Các nghiên cứu liên quan đến vấn đề kết hợp băng thông nhiều đường truyền cũng được quan tâm đề cập trong luận văn này. Từ những hạn chế của các nghiên cứu đó, luận văn đã đưa ra một giải pháp để lập lịch phát các gói tin cho Mobile Node trong mô hình kết hợp nhiều đường truyền với mục đích tăng tốc độ tải các tập tin tại Mobile Node.