3.3.1.a Môi trường thử nghiệm:
Môi trường kiểm tra bao gồm hai máy tính để bàn kết nối với nhau trong cùng một mạng LAN thông qua switch. Cả hai máy chạy hệ điều hành Fedora Linux (phiên bản 2.4.22).
Switch: Switch: D-Link DES-1008A, 8 ports. Máy 1 – Server:
PC Foxconn.
Pentium(R), Dual-Core. CPU E5200 2.5Ghz 768MB RAM.
Network Adapters: Realtek PCIe FE family Controller.
Máy 2 – Client:
PC Foxconn.
Pentium(R), Dual-Core. CPU E5200 2.5Ghz 768MB RAM.
Network Adapters: Realtek PCIe FE family Controller.
3.3.1.b Thực hiện mô phỏng
Để phân tích lưu lượng mạng đã sử dụng Ethereal. Để phân tích bộ nhớ và tài nguyên CPU, đã sử dụng lệnh “top” của Linux.
3.3.1.b.1/ Mô phỏng 1 – Cơ chế bắt tay bốn bước.
Hiểu rõ đặc tính bắt tay bốn bước, qua việc hiện thực mô phỏng cơ chế bắt tay bốn bước trong giao thức SCTP.
Mô tả và phương pháp:
Với sự hỗ trợ bộ thư viện SCTP và những đoạn mã có sẵn, đã thử nghiệm mô phỏng cơ chế bắt tay bốn bước thành công.
Tập tin: test1_client_terminal.c chạy trên máy Client và test1_echo_server.c chạy trên máy server.
Phía Server:
SCTP_registerInstance(): được gọi khởi tạo một đối tượng SCTP. SCTP_eventLoop(): lắng nghe cho các sự kiện.
Phía Client:
SCTP_associate(): thiết lập một Association. SCTP_eventLoop(): lặp lại sự kiện.
Kết quả:
Bằng cách sử dụng các chương trình nhất định trước đó, có thể dễ dàng thiết lập một SCTP Association. Sau đây một đoạn trích của lưu lượng mạng.
Số TT Thời gian Địa chỉ nguồn Địa chỉ đích Giao
thức Thông tin
1 0.000000 192.168.0.134 192.168.0.155 SCTP Init
2 0.000873 192.168.0.155 192.168.0.134 SCTP Init Ack
3 0.020310 192.168.0.134 192.168.0.155 SCTP Cookie-Echo
4 0.020839 192.168.0.155 192.168.0.134 SCTP Cookie-Ack
3.3.1.b.2/ Mô phỏng 2 – INIT/COOKIE-ECHO Flooding
Mục tiêu:
Hiểu rõ cơ chế chống Flood trong giao thức SCTP, qua việc hiện thực mô phỏng bên dưới.
Mô tả và phương pháp:
Gồm 2 tập tin: test2_client_terminal.c chạy trên phía Client và
test2_echo_server.c chạy trên phía server
Kết quả:
Hình 3.3 – Kết quả chống Flood trong SCTP
Sự thực là trong mô phỏng này đã không đánh sập được máy chủ. Vì sau mỗi khi tấn công Flood thì bộ nhớ trên server trở lai bình thường khi dừng chương trình bên máy client.
3.3.1.b.3/ Mô phỏng 3 – MultiStream
Mục tiêu:
Hiểu rõ hơn cơ chế hoạt động và điểm mạnh của MultiStream trong giao thức SCTP.
Để đo các lợi ích mang lại từ multistream, mô phỏng này thiết lập một thử nghiệm là có 10000 Asscociation với 1 stream cho mỗi một Association và so sánh với 10000 stream trên một Association.
Gồm 3 tập tin: test3_client_multiassoc_terminal.c: chạy phía client có nhiều Association, test3_client_multistream_terminal.c: chạy phía client có nhiều Stream, test3_echo_server.c: chay trên phía server.
Kết quả:
10000 associations with one stream each
10000 streams over one association:
Memory usage 8.3 % 0.1 %
CPU usage: 0 % idle 95.8 % idle
Run time:
real 0 m 28.644 s 0 m 0.134 s
user 0 m 25.220 s 0 m 0.090 s
sys 0 m 1.930 s 0 m 0.020 s
Bảng 3.2 – Kết quả mô phỏng Multistream Thông tin chi tiết sau khi dùng lệnh “Top”
Hình 3.4 và 3.5 – Kết quả mô phỏng Multistream
Gần như không có sự khác biệt nào trong việc phân phối tài nguyên. Trước tiên, 10000 Association mất 25 giây để bắt đầu trong khi số lương stream đề xuất chỉ là một. Bộ nhớ gần như không sử dụng trong trường hợp còn lại.