3. Cấu trúc luận văn
4.1. Mô phỏng mô hình
4.1.1. Công cụ Network Simulator 2 (NS2)
NS2 là phần mềm dạng hướng đối tượng được sử dụng để mô phỏng lại các sự kiện xảy ra trong hệ thống mạng được phát triển bởi trường đại học Berkeylay từ năm 1989. Phần mềm này thường được sử dụng để mô phỏng mạng LAN, WAN. Đối tượng mô phỏng gồm mạng có dây, không dây, mạng vệ tinh; Các giao thức mạng như TCP, UDP, multicast, unicast; Các cơ chế quản lý hàng đợi, bộ định tuyến như Drop Tail…. Ngoài ra còn hỗ trợ các ứng dụng WebCache, FTP, Telnet, CBR, Web; Các thuật toán định đường động và tĩnh, Dijkstra, vector… Ngôn ngữ để viết các lệnh điều khiển là TCL (Tool Command Language)
và C++.
4.1.2. Môi trường mô phỏng
Phần kiểm chứng được thực hiện trên công cụ mô phỏng mạng NS2 tập trung vào mô phỏng dịch vụ web sử dụng agent di động. Hai mô hình được mô phỏng để kiểm tra đối chiếu là mô hình Client-Server truyền thống và mô hình Client-Proxy-Server đề xuất. Máy tính được sử dụng có chip xử lý E6500, RAM 2G, hệ điều hành Ubuntu 11.04. Hình ảnh mô phỏng được thể hiện bởi công cụ NAM được tích hợp trong NS2.
4.1.3. Các kết quả và đánh giá
Kịch bản mô phỏng được đưa ra gồm 10 Client gửi đồng thời gửi khoảng 3000 yêu cầu tới Server trong khoảng 100ms với tốc độ mạng nội bộ được đặt ở 10Mbps, mạng internet 128Kbps. Thứ tự gửi yêu cầu của Client là ngẫu nhiên và mỗi yêu cầu cách nhau 1ms. Hình 4.1 là kết quả thu được trong giao diện NAM khi chạy với mô hình Client – Proxy – Server.
Hình 4.1. Mô phỏng client-proxy-server trên NS2
Trong đó Delaybox0 và Delaybox1 là phần đại lượng mô phỏng cho độ trễ đường truyền và trễ tại hàng đợi xử lý. Định dạng yêu cầu của client đến server có dạng [<ServerID><urlID> <PageSize> <AccessCount>]. Trong đó ServerID là địa chỉ của server, urlID là mã của yêu cầu tới server có dung lượng PageSize và số thứ tự là AccessCount. Tệp tin log được ghi lại theo định dạng [<Time> <ClientID> <ServerID> <urlID>]. Trong đó, Time là thời điểm client gửi yêu cầu, ClientID là mã của Client gửi yêu cầu, ServerID là mã của server nhận yêu cầu, urlID là mã địa chỉ của server.
Sáu trạng thái được ghi lại trong tệp tin log là 1. GET – Yêu cầu được gửi bởi client
2. MISS – Proxy xử lý yêu cầu 3. MOD – Server xử lý yêu cầu
4. ENT – Proxy nhận hồi đáp từ Server 5. SND – Proxy gửi kết quả lại Client 6. RCV – Client nhận hồi đáp
Hình 4.2. Giao diện kết quả chạy NS2 [15]
Cột đầu tiên là thời gian bắt đầu gửi yêu cầu của client. Cột thứ 3 là ID của phần gửi với 0 – ClientID, 1 – ProxyID, 2 – ServerID. Cột thứ 4 là tên của các thành phần với C – Client, E – Proxy, S – Server. Cột thứ 5 là các trạng thái, gồm có 6 trạng thái được nêu ở phần trên. Cột 11 là thời gian hồi đáp tới client và cột 13 là dung lượng của hồi đáp.
Sau khi chạy với 10 client, mỗi client gửi 100 yêu cầu trong khoảng thời gian ngẫu nhiên cho hai mô hình riêng biệt client – server và client – proxy – server, thời gian đáp ứng yêu cầu của 2 mô hình thống kê và ghi lại trong bảng 2.1
Bảng 2.1. Thời gian đáp ứng của 2 mô hình
Bảng 2.1 cho thấy rằng với sự tăng lên của số lượng yêu cầu từ client, thời gian đáp ứng của mô hình đề xuất nhỏ hơn của mô hình truyền thống. Thời gian đáp ứng của mô hình client – server được biểu diễn trên đồ thị hình 4.3
Hình 4.3. Đồ thị thời gian đáp ứng của mô hình Client – Server
Khi số lượng yêu cầu càng lớn thì thời gian hồi đáp của mô hình Client – Server càng tăng nhanh. Chỉ khoảng 50 yêu cầu thì thời gian hồi đáp đã xấp xỉ 1mili giây. Đến 100 yêu cầu thì thời gian này đã tăng lên gần 3 mili giây. Trong khi đó với mô hình đề xuất, đồ thị thời gian đáp ứng được thể hiện trong hình 4.4
Hình 4.4. Đồ thị thời gian đáp ứng của mô hình Client – Proxy – Server
proxy, máy chủ proxy sẽ hồi đáp lại client ngay lập tức mà không cần chuyển yêu cầu đến server. Điều này làm giảm rất nhiều thời gian nhận kết quả của client. Và trong lần tiếp theo, nếu proxy nhận được yêu cầu tương tự như nó đã xử lý trước đó, nó có thể ngay lập tức hồi đáp lại client. Thời gian đáp ứng của yêu cầu đến sau luôn nhỏ hơn của yêu cầu trước. Như vậy hiệu năng hệ thống đã được tăng lên và lưu lượng mạng giảm. Khi số lượng yêu cầu lên đến 100 thì thời gian đáp ứng chỉ khoảng 0.35 mili giây. Hình 4.5 chỉ ra sự chênh lệch về thời gian đáp ứng của hai mô hình.
Hình 4.5. Đồ thị so sánh thời gian đáp ứng của 2 mô hình [15]
Đường đồ thị của mô hình đề xuất năm phía dưới đường đồ thị của mô hình truyền thống và có khoảng cách khá lớn chứng tỏ chênh lệnh thời gian hồi đáp là tương đối lớn. Điều này chỉ ra rằng mô hình client – proxy – server với sự phối hợp của các agent có khả năng đáp ứng tốt cho một số lượng lớn yêu cầu. Kết quả này đã chứng minh tính hiệu quả của mô hình đề xuất.