III. THIẾT KẾ VÀ THỰC THI CÁC MÔ PHỎNG
3.2.1. Trường hợp 1: So sánh hiệu suất giữa SCTP và TCP với một kết nố
Để thực hiện phần này, chúng ta sẽ phát dữ liệu từ một đầu cuối này đến một đầu cuối khác sử dụng SCTP và TCP như là các giao thức lớp transport tương ứng. Với mỗi giao thức, chúng ta sẽ đo đạc băng thông, mất gói và thời gian dùng để truyền dữ liệu. Sau đó chúng ta sẽ so sánh về hiệu suất giữa SCTP và TCP với các số liệu thu được trên một biểu đồ.
Cùng với các tham số về hiệu suất, các ưu điểm và tiện ích vượt trội của SCTP so với TCP cũng được thể hiện qua việc loại trừ vấn đề nghẽn đầu dòng (HoL- Head ofLine) mà TCP gặp phải .
3.2.1. Trường hợp 1: So sánh hiệu suất giữa SCTP và TCP với một kết nối TCP TCP
Phần lab này sẽ chứng minh hiệu suất vượt trội của SCTP so với TCP trong môi trường mạng không ổn định với tỉ lệ mất gói từ 0-10%. Ở đây chỉ có một kết nối TCP nhưng dữ liệu được truyền tương đương với SCTP đa luồng.
Hình 3-13: Lab thể hiện ưu điểm của SCTP so với TCP trong môi trường mạng không ổn định
Cấu hình:
- 3 máy tính được chạy hệ điều hành Ubuntu với lksctp được cài đặt, chúng được kết nối như hình vẽ, thông qua hệ thống mạng Lan ở giữa
- Trên các máy tính server và client, các chương trình thử nghiệm với lớp transport là TCP và SCTP đã được biên dịch sẵn tương ứng
- Kích hoạt modun SCTP trên các máy tính server và client với lệnh:
modprobe –a sctp
- Máy tính ở giữa có 2 card mạng, đóng vai trò là bridge cho client và server gói ứng dụng netem đã được tích hợp sẵn trong hệ điều hành Ubuntu
Các bước thực hiện:
- Chạy chương trình thử nghiệm sctp/tcp_server trên máy server: 192.168.70.44 và chương trình sctp/tcp_client trên máy client với cùng một lượng dữ liệu. Client sẽ gửi một thông điệp tới server với một số lần lặp nào đó, ở đây chúng ta dùng chương trình với một kết nối TCP.
- Tỉ lệ mất gói là 0% và 10%
Server: ./sctpsrvr
Client: ./sctpclnt 192.168.70.44 500000 (500000 là số lần lặp)
- Nhập dữ liệu phía client
- Ghi lại thời gian cần thiết để dữ liệu truyền đi từ client đến server. Kết quả:
Hình 3-14: Thời gian ứng dụng truyền dữ liệu với lớp transport là SCTP và TCP trong điều kiện bình thường
Trong điều kiện bình thường (loss 0%) SCTP và TCP tương đương nhau về hiệu suất, TCP có phần tốt hơn. Trong điều kiện mạng không ổn định (loss 10%), SCTP tốt hơn TCP nhiều lần. Điều này có thể giải thích là SCTP giải quyết được vấn đề nghẽn HoL trong khi TCP thì vẫn gặp phải vấn đề này. Vì thế khi kết nối TCP bị mất dữ liệu tại máy PC ở giữa, nó bị trì hoãn để truyền lại các dữ liệu bị mất trong khi các luồng SCTP vẫn tiếp tục gửi dữ liệu
Hình 3-15: Thời gian ứng dụng truyền dữ liệu với lớp transport là SCTP và TCP khi tỉ lệ mất gói 10%
Hình 3-16 : So sánh thời gian truyền cũng một lượng dữ liệu giữa TCP và SCTP