Xây dựng hệ thống

Một phần của tài liệu (Luận văn thạc sĩ) Nghiên cứu và đánh giá hiệu năng giao thức TCP đa đường (MPTCP) (Trang 54)

Để đánh giá được sự khác biệt chủ yếu của giao thức MPTCP và TCP, trong chương này này sử dụng hệ thống mạng như hình 3.1 ở dưới đây.

44

A. Về mô hình hệ thống

Trong cả hai kịch bản sử dụng giao thức MPTCP và TCP có điểm chung:

 Sử dụng 16 OvS đóng vai trò như các router.  1 host đóng vai trò làm client.

 1 host đóng vai trò làm server.  Định tuyến tĩnh.

 Toàn bộ được mô phỏng bởi Mininet trong máy chủ Kali Linux.

Điểm riêng:

 Kịch khi thử nghiệm giao thức MPTCP thì MPTCP sẽ được enable và với thử nghiệm TCP thì MPTCP sẽ bị disable.

B. Các tham số và thông số trong hệ thống.

 Mô hình được mô phỏng trong mạng ảo Mininet phiên bản 2.3.0

 OvS phiên bản 2.16.90 và MPTCP kernel 4.19.126.mptcp - hỗ trợ giao thức MPTCP.  Trong máy chủ Kali linux 2020 (4 CPU cores, 8 GB RAM).

 Host1 (client) được kết nối với 3 OvS: R1, R2, R3 thông qua 3 Ethernet: h1- eth0:10.0.1.10, h1-eth1:10.0.2.22, h1-eth2:10.0.3.33.

 Host2 (server) được kết nối với 1 OvS R9 thông qua Ethernet h2-eth0:10.0.9.20  Băng thông: link (h2-eth0---R9) có BW=30Mb, toàn bộ links còn lại có BW=10Mb.  Các thông số tham số khác của links được để mặc định (default). Nếu muốn thêm tham số như delay, packetloss thì có thể thực hiện thêm “params” trong câu lệnh addlink ở trong file code.

 Ví dụ, dùng dòng lệnh sau:

addLink(r1,r3,bw=10,cls=TCLink,params1={ 'ip' : '10.0.13.1/24' },params2={ 'ip' : '10.0.13.3/24' }, delay="50ms").

C. Xác nhận thiết lập hệ thống thành công

Như hình trong hình 3.2, hệ thống mạng đã được khởi tạo thành công. Chi tiết trong đó ta có thể nhìn thấy trong phần “nodes” thể hiện mô hình mạng có 16 OvS đóng vai trò như 16 Router, H1 đóng vai trò như một Client, H2 đóng vai trò như một Server còn thiết bị Controller c0 đóng vai trò đủ thành phần trong hệ thống.

45

Không chỉ thế ta có thể thấy trong phần “links” cho ra kết quả ở trong hình 2 còn cho thấy rằng các kết nối giữa toàn bộ thiết bị trên mô hình đều được kết nối như kịch bản trong hình 1 và các giao diện mạng trên các thiết bị này đã được bật và đang hoạt động.

Hình 3. 2.Thông tin hệ thống

Sau các khởi tạo mô phỏng hệ thống thành công, tôi thực hiện enable và disable giao thức MPTCP bằng câu lệnh. Như hình 3.3 là kết quả cho thấy giao thức MPTCP đã bị disable, tức là hệ thống bây giờ sẽ sử dụng giao thức TCP truyền thống để thực hiện truyền thông. Với hình 3.4 là kết quả cho thấy giao thức MPTCP đã được enbale, dẫn đến hệ thống sẽ sử dụng giao thức MPTCP để truyền thông thay cho giao thức TCP truyền thống với điều kiện thiết bị trong phiên truyền thông hỗ trợ giao thức MPTCP. Trong hình ta có thể thấy được các tham số khác của MPTCP như checksum, scheduler, path manager … Toàn bộ các thông số, tham số này có thể được thay đổi bằng câu lệnh hoặc thay đổi trực tiếp trong file.

46

Hình 3. 3. disable MPTCP

Hình 3. 4. enable MPTCP

47

Hình 3. 5.. Xác nhận các giao diện mạng trên Client và Server đã nhận IP và hoạt động

Hình 3.5 là bước cơ bản để kiểm tra và xác nhận lại rằng các giao diện mạng trên thiết bị Client và Server đã hoạt động và nhận IP. Như hình ở trên cho thấy các giao diện trên hai thiết bị đã hoạt động và nhận IP được cấu hình từ file code.

48

Sau bước kiểm tra khả năng hoạt động của hai thiết bị trên thì ta thực hiện kiểm tra lại cấu hình bảng định tuyến cho thiết bị Client. Với kịch bản sử dung giao thức MPTCP đồng nghĩa với việc sử dụng nhiều giao diện mạng cùng lúc. Dẫn đến việc phải cấu hình bảng định tuyến cho thiết bị Cliet để cả ba giao diện H1-eth0, H1-eth1 và H1- eth2 cùng hoạt động thay vì việc cấu hình mặc định chỉ có một giao diện hoạt động. Hình 3.6 ở dưới đây cho thấy việc cấu hình bảng định tuyến thành công. Ở đây kết quả cho thấy đã thành công cấu hình ba bản định tuyến table1 ứng với H1-eth0, table2 ứng với H1-eth1 và table3 ứng với H1-eth2. Và từng bảng sẽ có các tuyến đường mặc định khác nhau (default route).

Hình 3. 6.. Xác nhận cấu hình định truyến trên H1 – sử dụng 3 đường thay vì 1 đường mặc định

49

3.2. Thử nghiệm hệ thống và đánh giá

Sau toàn bộ các bước kiểm tra thiết lập hệ thống ta bước tới giai đoạn thử nghiệm hoạt động của hệ thống. Trong phần này xác nhận lại rằng hệ thống hoạt động và thực hiện cá thử nghiệm cũng như đưa ra các kịch bản và thử ngiệm để làm nền tảng cho việc đưa ra kết quả cũng như kết luận.

Trong hình 3.7 ở sau đây đưa ra kết quả cho thấy rằng sau các bước thực hiện cấu hình trên các thiết bị của hệ thống thì thiết bị Client và Server đã kết nối được với nhau. Cụ thể như ta có thể thấy được từ thiết bị H1-Client ping lên địa chỉ IP của H2- Server kết quả cho thấy rằng đã ping thành công từ Client đến Server. Và ngược lại, từ H2-Server thực hiện ping lần lượt đến các giao diện eth0, eth1 và eth2 của Client cũng cho kết quả tương tự là đã ping thành công. Từ các kết quả trên cho thấy thằng việc kết nối giữa hai thiết bị Client và Server đã thành công. Chứng minh được các cấu hình và định tuyến đề xuất đã hoạt động.

Sau các thao tác ping để kiểm tra kết nối thành công, tôi tiến tới bước thử nghiệm truyền file thông qua giao thức HTTP để kiểm tra cũng như đánh giá hiệu năng của hai giao thức MPTCP và TCP. Với các bước thực hiện:

 Trên H2-Server chạy câu lệnh: “python3 -m http.server” để khởi động tính năng simple server.

 Phía H1-Client chạy câu lệnh: “wget -c 10.0.9.20:8000/path_of_file_name” để thực hiện download file về

50

Hình 3. 7. Xác nhận kết nối của topo – 3 interface

Ở hình sau đưa ra kết quả tức thì cho thấy rằng có thể thực hiện phiên truyền thông qua MPTCP và TCP, như khi sử dụng MPTCP thì tốc độ truyền tải sẽ nhanh hơn nhiều so với TCP. Bằng trực quan ta có thể thấy nhanh MPTCP là 3.3MB/s và TCP là 1.14MB/s hay nói cách khác MPTCP cho kết quả tốc độ truyền tải nhanh hơn gấp 3 lần so với TCP (khi sử dụng càng nhiều đường đi thì băng thông tăng lên càng nhiều). Kết quả phân tích và đánh giá chi tiết sẽ được thực hiện ở phần sau.

51

b. TCP

Hình 3. 8.. Thực hiện truyền file thông qua http – BW MPTCP ~ 3.30MB – TCP ~ 1.14MB

Trong phần này sẽ đưa ra các kết quả và phân tích chi tiết của quá trình thực hiện thử nghiệm truyền file thông qua HTTP. Như ở hình 3.8, là hình biểu diễn luồng thực hiện thiết lập kết nối và truyền dữ liệu sau khi kết nối. Với hai hình 3.8.a và 3.8.b ta có thể thấy được sự khác biệt giữa các phiên thực hiện bắt tay để thiết lập kết nối của MPTCP và TCP. Chi tiết như trong hình 3.8.a ta có thể thấy được với việc sử dụng 3 giao diện mạng cùng hoạt động thì sẽ có 3 luồng subflow được thiết lập. Các subflow này thực hiện thiết lập kết nối thông qua ba bước bắt tay tương tự như một phiên TCP truyền thống.

Ví dụ với subflow đầu tiên, tương ứng với kết nối giữa Client IP 10.0.1.10 và Server IP 10.0.9.20 ta có thể thấy được các bản tin bắt tay. Đầu tiên MPTCP Client gửi bản tin SYN – Multipath capable với các tùy chọn theo sau đến Server để thực hiện yêu cầu bắt tay, thiết lập kết nối MPTCP. Khi này Server nhận được bản tin, thực hiện các bước kiểm tra về hỗ trợ MPTCP, nếu có và đáp ứng đủ các điểu kiện bắt tay Server sẽ thực hiện phản hồi lại bằng bản tin SYN+ACK để thông báo cho Client biết rằng Server có hỗ trợ MPTCP và đồng ý thiết lập kết nối. Sau khi nhận được thông báo từ phía Server thì Client phản hồi lại bằng bản tin ACK để xác nhận lại với Server là đã thực hiện bắt tay thành công và có thể thực hiện phiên truyền thông trên đó.

52

Với subflow thứ hai, tương ứng với Client IP 10.0.2.11 và Server IP 10.0.9.20. Khi này MPTCP Client sẽ gửi bản tin SYN – Join connection cùng các tùy chọn theo sau để yêu cầu tham gia vào phiên truyền thông có sẵn và tạo ra một subflow mới. Server nhận được bản tin, tự thực hiện kiểm tra xem có đủ tài nguyên để đáp ứng yêu cầu từ Client hay không. Nếu có thể đáp ứng yêu cầu thì Server sẽ phản hồi lại bằng bản tin SYN+ACK để thông báo cho Client biết rằng có thể tạo subflow mới. Sau khi Client nhận được thông báo xác nhận từ phía Server thì nó sẽ phản hồi lại phía Server bản tin ACK để xác nhận quá trình bắt tay hoàn tất và tạo subflow mới thành công. Tương tự với subflow 3, các bước thực hiện bắt tay và yêu cầu thiết lập kết nối sẽ được thực hiện như với subflow 2. Bên cạnh các bản tin bắt tay, ta có thể thấy theo sau đó là bản tin TCP window update, đây là bản tin cập nhật thông tin của luồng TCP.

Với kịch bản sử dụng TCP như hình 3.9.b ta có thể thấy được TCP truyền thống chỉ dùng một luồng kết nối để thực hiện phiên truyền thông. Trong đó cũng có các bước bắt tay thiết lập kết nối. Chi tiết về các bản tin bắt tay và thiết lập kết nối được trình bày ở phần sau.

53

b. TCP

Hình 3. 9. Bản tin thiết lập kết nối – 3subflow – với 3IP: 10.0.1.10, 10.0.2.11, 10.0.3.33

Chi tiết hơn về các mô tả ở trên thì sau đây là hình chi tiết về các bản tin MPTCP. Với hình 3.10.a và 3.10.b ta có thể thấy điểm khác biệt chủ yếu giữa hai bản tin MPTCP- SYN và TCP-SYN là trong MPTCP-SYN có thêm tùy chọn Multipath capable. Còn hình 3.10.c là bản tin MPTCP-SYN-Join connection, bản tin đặc trưng để tạo subflow mới chỉ có trong MPTCP. Dẫn đến kích thước bản tin MPTCP lớn hơn so với TCP nhưng không đáng kể.

54

b. TCP SYN

c. MPTCP SYN-Join connection Hình 3. 10. Chi tiết các bản tin thiết lập kết nối

Tiếp theo đây là kết quả thể hiện khi sử dụng giao thức MPTCP thì cần nhiều thời gian để thiết lập các subflow hơn là giao thức TCP chỉ thiết lập một kết nối. Cụ thể

55

trong hình 3.11 cho thấy thời gian từ lúc khởi đầu đến lúc có gói tin chứa dữ liệu được truyền đi của MPTCP nhiều hơn so với TCP. Bên cạnh đó hình 3.12 chứng minh cả 3 subflow hay nói cách khác cả giao diện mạng trên Client đêu thực hiện truyền tải dữ liệu. Thay vì chỉ một giao diện mặc định như kịch bản sử dụng giao thức TCP.

Hình 3. 11.. Khác biệt trong thiết lập kết nối MPTCP và TCP

Hình 3. 12. Qúa trình truyền dữ liệu sử dụng 3 subflow – với 3IP: 10.0.1.10, 10.0.2.11, 10.0.3.33

Sau các bước thực hiện phân tích khác biệt của hai giao thức ở trên, tiếp theo đây ta hướng tới các kết quả của thử nghiệm để đánh giá hiệu năng của hai giao thức. Trước

Một phần của tài liệu (Luận văn thạc sĩ) Nghiên cứu và đánh giá hiệu năng giao thức TCP đa đường (MPTCP) (Trang 54)

Tải bản đầy đủ (PDF)

(73 trang)