Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 66 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
66
Dung lượng
2,16 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI NGƠ HẢI LINH Ngơ Hải Linh CƠNG NGHỆ THÔNG TIN NGHIÊN CỨU GIAO THỨC TCP THẾ HỆ MỚI TRÊN DI ĐỘNG LUẬN VĂN THẠC SĨ KỸ THUẬT CÔNG NGHỆ THÔNG TIN 2015B HàNội – Năm 2018 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI Ngô Hải Linh NGHIÊN CỨU GIAO THỨC TCP THẾ HỆ MỚI TRÊN DI ĐỘNG Chuyênngành : Côngnghệthông tin LUẬN VĂN THẠC SĨ KỸ THUẬT CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC : PGS.TS NgôHồngSơn HàNội – Năm 2018 Danh mục MỞ ĐẦU CHƯƠNG I: TỔNG QUAN VỀ GIAO THỨC TCP Giới thiệu giao thức TCP Cấu trúc gói tin TCP 10 Quá trình hoạt động giao thức TCP 13 Điều khiển luồng TCP 17 Điều khiển tắc nghẽn TCP 21 6.Kết luận chương 23 CHƯƠNG 2: TỔNG QUAN VỀ GIAO THỨ C MULTIPATH TCP 24 Nguyên nhân đời MP TCP 24 Lợi ích MP TCP 24 Những mục tiêu đặt thiết kế MP TCP 25 Mơ hình phân chia chức MP TCP 27 Các thành phần MP TCP 29 Các loại tin MP TCP 30 Quá trình thiết lập kết nối 32 Khởi tạo luồng 36 Quản lý đường dẫn 37 10 Quá trình truyền liệu 40 11 Đóng kết nối 43 12 Kết luận chương 45 CHƯƠNG 3: XÂY DỰNG MÔI TRƯỜNG KIỂM THỬ GIAO THỨC MPTCP 45 Giới thiệu cài đặt môi trường kiểm thử MPTCP điện thoại thông minh sử dụng hệ điều hành Android 45 Kịch kết thử nghiệm 56 KẾT LUẬN 62 TÀI LIỆU THAM KHẢO 64 Ngô Hải Linh CB2015B Page Ngô Hải Linh CB2015B Page DANH MỤC HÌNH VẼ Hình 1: Cấu trúc trường phần TCP header 10 Hình Cấu trúc phần liệu 12 Hình Biểu đồ trình hoạt động giao thức TCP 13 Hình Sơ đồ thiết lập kết nối 15 Hình Q trình thiết lập kết nối phía 15 Hình Quá trình kết thúc kết nối 16 Hình Cửa sổ trượt 18 Hình Giao thức Go-Back-N 20 Hình 9Giao thức Selective Repeat với cửa sổ trượt lớn 21 Hình 10 Các thuật toán điều khiển tắc nghẽn 22 Hình 11 Mơ hình kiến trúc Internet truyền thống 26 Hình 12 Mơ hình thực tế 27 Hình 13 Mô hình MPTCP 27 Hình 14 Thành phần MPTCP 29 Hình 15 Ví dụ kịch sử dụng MPTCP 33 Hình 16 Bản tin Multipath Capable 34 Hình 17 Quá trình khởi tạo phiên kết nối giao thức MPTCP 35 Hình 18 Minh họa trình bắt đầu luồng giao thức MPTCP 36 Hình 19Ví dụ sử dụng Token 37 Hình 20 Bản tin Join Connection 37 Hình 21 Bản tin Add Address 39 Hình 22 Bản tin Remove Address 40 Hình 23 Bản tin Data Sequence Mapping 41 Hình 24 Bản tin xác nhận cấp kết nối 42 Hình 25 Bản tin Data Finish 44 Hình 26 Sơ đồ minh họa cách thức hoạt động chương trình kiểm thử giao thức MPTCP 46 Hình 27 Thiết lập cấu hình giao thức MPTCP 47 Hình 28 Các thiết lập cấu hình router 48 Hình 29Các thiết lập cấu hình điện thoại 48 Hình 30 Hình ảnh kết nối máy tính điều khiển laptop, điện thoại thơng minh Nexus router TpLink 52 Hình 31 Thư mục chứa tồn code chương trình 52 Hình 32 Chương trình kiểm tra điều kiện trước kiểm thử 53 Ngô Hải Linh CB2015B Page Hình 33 Chương trình kiểm tra trạng thái điện thoại hiển thị danh sách mạng kiểm thử 54 Hình 34 Log file chạy kiểm thử ứng dụng 55 Hình 35 Các thư mục lưu file log, file pcap chứa liệu thu thập theo loại mạng 55 Hình 36 Lưu lượng mạng thu thập lưu dạng file pcap 56 Hình 37 Biểu đồ thể lưu lượng mạng MPTCP qua thời gian 56 Hình 38 Các ứng dụng điện thoại thông minh sử dụng giao thức TCP Mỗi điểm tương ứng kết nối cho lưu lượng upload download 58 Hình 39Các ứng dụng điện thoại thông minh sử dụng giao thức MPTCP với mạng kết nối mặc định wifi 59 Hình 40Quá trình điện thoại mở kết nối MPTCP với điều kiện hai mạng có RTT 60 Hình 41Các ứng dụng điện thoại thông minh sử dụng giao thức MPTCP với mạng kết nối mặc định mạng di động 61 Ngô Hải Linh CB2015B Page CÁC TỪ VIẾT TẮT TCP Transmission Control Protocol Giao thức điều khiển truyền vận IP Internet Protocol Giao thức internet UDP User Datagram Protocol Giao thức khơng liên kết OSI Open Systems Interconnection Mơ hình tham chiếu kết nối hệ thống mở MPTCP MultipathTransmission Control Protocol Giao thức truyền đa đường IETF Internet Engineering Task Force Lực lượng chuyên trách kỹ thuật liên mạng Ngơ Hải Linh CB2015B Page TĨM TẮT Trong đề tài tơi trình bày nghiên cứu, đánh giá giao thức Multipath TCP thiết bị di động sử dụng hệ điều hành Android Đưa thông số đường truyền sử dụng giao thức Multipath TCP, Single path TCP Và đưa kết quả, nhận xét, đánh giá hiệu suất, độ tin cậy, tốc độ đường truyền, lưu lượng mạng thu thập sử dụng giao thức Multipath TCP giao thức Single path TCP thiết bị di động sử dụng hệ điều hành Android ABSTRACT In this dissertation I will show how the research on generation of Multipath TCP on mobile phone using Android operating Given the information on the transmission system using Multipath TCP protocol, single path TCP protocol And show evaluate performance, speed, trust, flow network collected when using the Multipath TCP and Single path TCP on the mobile phone using Android operating Ngô Hải Linh CB2015B Page MỞ ĐẦU Hiện hạ tầng Internet thay đổi nhiều so với thời điểm ban đầu lúc đời Khi giao thức TCP/IP thiết kế, thiết bị đầu cuối có giao diện kết nối(single interface) Ngày nay, hầu hết phương tiện có kết nối internet có nhiều giao diện kết nối phổ biến điện thoại thông minh trang bị với 3G Wifi mang lại số lượng ngày tăng máy chủ multihomed(máy chủ có nhiều giao diện kết nối) Internet.Một giải pháp đặt cho việc truy cập Internet thiết bị di động tận dụng nhiều giao diện kết nối mạng, nghĩa người sử dụng thiết bị di động thiết lập kết nối TCP sử dụng đồng thời nhiều giao diện kết nối mạng Khi giao diện mạng bị tắc nghẽn kết nối, giải pháp dễ dàng giảm giao thông mạng cách kết nối với giao diện mạng khác mà không cần phải phá vỡ kết nối TCP Một số công nghệ di động cho phép người dùng sử dụng liền mạch kết nối 3G4G/Wifi đề xuất năm qua Một số triển khai Gần đây, giao thức Multipath TCP (MPTCP)[1] nhận nhiều ý chọn Apple để hỗ trợ ứng dụng nhận dạng giọng nói (Siri) Siri ứng dụng điện thoại thông minh triển khai có sử dụng MPTCP, nhiên khơng có thơng tin lợi ích việc sử dụng MPTCP với ứng dụng Trong báo cáo này, trình bày nghiên cứu đánh giá thử nghiệm giao thức MPTCP với ứng dụng thiết bị di động Luận văn tập trung nghiên cứu xây dựng chương trình kiểm thử giao thức MPTCP điện thoại di động sử dụng hệ điều hành android Bài kiểm thử đánh giá so sánh thông số lưu lượng mạng thu thập với mạng Wifi mạng di động 2G/3G/4G Các ứng dụng dùng việc kiểm thử bao gồm Facebook, Messenger, Dailymoition, Youtube, Dropbox, Drive, Firefox Một chương trình xây dựng Ngơ Hải Linh CB2015B Page để chạy kịch thử nghiệm ứng dụng thu thập lưu lượng, từ đưa nhận xét đánh giá Bằng cách tận dụng đa dạng kết nối mạng (4G, 3G Wifi), giao thức MPTCP hỗ trợ tốt điện thoại di động Giải pháp tự động giảm tải lưu thông từ đường tắc nghẽn, cung cấp việc truyền TCP đáng tin cậy hiệu với hiệu suất tốt so với đơn đường TCP[2] Nội dung luận văn trình bày gồm chương chính: - Chương 1: Tổng quan, giới thiệu giao thức TCP - Chương 2: Tổng quan, cách thức hoạt động giao thức MPTCP - Chương 3: Xây dựng chương trình, mơi trường kiểm thử giao thức MPTCP thiết bị di động Ngô Hải Linh CB2015B Page thử bao gồm cập nhật news feed, sau viết trạng thái mới, chụp ảnh, chia sẻ ảnh kèm mô tả cuối thực checkout kèm trạng thái Kịch lặp lại ba lần kiểm thử tất liệu qua Facebook gửi qua HTTPS Với ứng dụng Messenger, kiểm thử bắt đầu với gửi tin nhắn văn bản, sau biểu tượng cảm xúc cuối gửi ảnh Kịch lặp lại ba lần kiểm thử tất liệu gửi qua HTTPS Tiếp theo, em sử dụng hai ứng dụng lưu trữ đám mây Dropbox Google Drive Với ứng dụng Dropbox, kiểm thử tạo ngẫu nhiên tập tin chứa 20Mb liệu tải lên, trình tải lên nhanh thời gian cho phép, kịch lặp lại lần hai, tất liệu thực HTTPS Với ứng dụng Google Drive, em sử dụng kịch với ứng dụng Dropbox 1.3.2 Kịch tải xuống liệu Kịch sử dụng ứng dụng chủ yêu nhận liệu Thử nghiệm đầu tiên, em sử dụng ứng dụng Firefox để duyệt web, kiểm thử đơn giản mở trang 12 trang web xếp hạng đầu Alexa Ứng dụng firefox chủ yếu sử dụng cổng 80 (HTTP) 443 (HTTPS) Ứng dụng thứ hai sử dụng Spotify, ứng dụng phân phối nhạc Bài kiểm thử phát nhạc 75 giây lựa chọn nhờ tính ngẫu nhiên ứng dụng Các tập tin nhạc lấy qua HTTP ứng dụng có sử dụng kết nối HTTPS TCP cổng 4070 (dùng cho việc mã hóa) Cuối cùng, em sử dụng hai ứng dụng video phổ biến Dailymoition Youtube Các ứng dụng sử dụng để truyển tải video, clip từ máy chủ đám mây Với ứng dụng Dailymoition, kiểm thử mở ba video khác theo thử tự xem chúng 25 giây Những video xem định dạng HD dùng mạng di động, việc cấu hình cài sẵn ứng dụng Kịch dùng tương tự với ứng dụng Youtube 1.4 Cài đặt chạy chương trình Để cài đặt chương trình cần chuẩn bị thiết bị Ngô Hải Linh CB2015B Page 50 1.4.1 Điện thoại thơng minh Sử dụng điện thoại dịng Nexus phát triển LG Google với CPU Qualcomm Snapdragon 800 (2.26 GHz), 2GB RAM, hỗ trợ mạng 2G/3G/4G Trong suốt trình kiểm thử, điện thoại sử dụng hệ điều hành Android KitKat 4.4.4 cài lại kernel để hỗ trợ Multipath TCP Điện thoại cài sẵn hai ứng dụng Android ShadowSocks MultipathControl để hỗ trợ tính MPTCP tất kết nối TCP mạng di động Wifi 1.4.2 Máy chủ Máy chủ cài hệ điều hành Debian Stable (Wheezy 7) với phiên MPTCP ổn định (0.89.5) 1.4.3 Bộ định tuyến Sử dụng Tp Link WR740N cài đặt hệ điều hành OpenWRT, bật sẵn cổng 22 để SSH 1.4.4 Cài đặt - Trên máy chủ điều khiển cài dịch vụ adb (android-tools- adb package), openjdk-7- jdk, git, ant android - Điện thoại Nexus cài sẵn ứng dụng kiểm thử ứng dụng hỗ trợ MPTCP: Multipath Control app, Busybox SSHTunnel ShadowSocks - Đây toàn thiết bị theo sơ đồ kết nối hình 29: Ngơ Hải Linh CB2015B Page 51 Hình 30Hình ảnh kết nối máy tính điều khiển laptop, điện thoại thơng minh Nexus router TpLink - Đây toàn tập tin thực thi chương trình: Hình 31Thư mục chứa tồn code chương trình Ngơ Hải Linh CB2015B Page 52 - Để chạy chương trình, cửa sổ dịng lệnh command gõ python3 launch_tests.py, chương trình bắt đầu kiểm tra điều kiện cài đủ ứng dụng, có mạng di động, Wifi, kết nối router Hình 32Chương trình kiểm tra điều kiện trước kiểm thử - Tiếp theo chương trình kiểm tra thời gian hoạt động điện thoại, ngày reset để đảm bảo kết kiểm thử xác - Các kịch kiểm thử sử dụng loại mạng: o wlan: mạng wifi o rmnet: mạng di động 3G/4G o both[234]: wlan + rmnet[234] o Với TC: L5p – cho phép gói tin 5%; D10m: cho phép delay 10ms Ngô Hải Linh CB2015B Page 53 Hình 33Chương trình kiểm tra trạng thái điện thoại hiển thị danh sách mạng kiểm thử - Sau kiểm tra cấu hình, chương trình bắt đầu kiểm thử ứng dụng với loại mạng chọn Ngô Hải Linh CB2015B Page 54 Hình 34Log file chạy kiểm thử ứng dụng - Dữ liệu thu thập lưu máy tính điều khiển điện thoại thông minh Hình 35Các thư mục lưu file log, file pcap chứa liệu thu thập theo loại mạng - Tất cấu hình, mã lệnh lưu lại thành file log, liệu thu thập lưu dạng file pcap: Ngô Hải Linh CB2015B Page 55 Hình 36Lưu lượng mạng thu thập lưu dạng file pcap Hình 37Biểu đồ thể lưu lượng mạng MPTCP qua thời gian Kịch kết thử nghiệm Quá trình kiểm thử chia làm hai phần chính: Thử nghiệm kết nối TCP bao gồm mạng wifi mạng di động Kết thử nghiệm lưu vào thư mục TCP Ngô Hải Linh CB2015B Page 56 Thử nghiệm kết nối MPTCP gồm có mạng wifi mạng di động 3/4G Kết thử nghiệm lưu vào thư mục MPTCP Bài thử nghiệm bao gồm: o Mạng wifi mạng 3G với wifi làm chủ đạo o Mạng wifi mạng 3G với mạng 3G làm chủ đạo o Mạng wifi mạng 4G với wifi làm chủ đạo o Mạng wifi mạng 4G với mạng 4G làm chủ đạo 2.1 Thử nghiệm kết nối đơn 2.1.1 Kết nối TCP qua Wifi Để phân tích Multipath TCP, em bắt đầu với việc phân tích gói tin TCP truyền thống MPTCP TCP có nhiều đặc điểm khác số lượng kết nối, thời gian kết nối lưu lượng liệu trao đổi Tổng quan kết nối TCP thiếtlập ứng dụng biểu diễn qua hình 37 trang 49 Dữ liệu tổng hợp ứng dụng thể bảng sau: Ứng dụng Số lượng kết Lưu lượng từ điện thoại Lưu lượng từ server tới nối tới server (bytes) điện thoại (bytes) Firefox 236 54,568 890,786 Drive 17 580,514 85,450 Dropbox 23 1,252,327 43,480 Facebook 34 503,177 331,690 Messenger 23 178,240 33,037 Youtube 39 247,362 2,378,642 Dailymoition 73 22,242 1,486,855 Bảng 2Tổng hợp liệu ứng dụng Hình 38 hiển thị kết nối TCP tạo ứng dụng điện thoại thông minh kết nối mạng wifi Trục ox thời gian kết nối Trục oy thể lưu lượng liệu thay đổi kết nối Firefox rõ ràng ứng dụng sử dụng số lượng kết nối nhiều Dropbox, Youtube, Drive Dailymotion ứng dụng có chuyển Ngơ Hải Linh CB2015B Page 57 đổi liệu lớn Trong Facebook ứng dụng có kết nối TCP dài không thay đổi liệu nhiều Qua liệu thu thập từ ứng dụngcó thể chia kết nối làm loại: kết nối thời gian ngắn (nhỏ 1s) với lưu lượng liệu tương đối thấp, kết nối thời gian dài với lưu lượng liệu lớn kết nối thời gian dài với lưu lượng liệu thấp 2000 Lưu lượng liệu (bytes) 1800 1600 1400 Facebook 1200 Firefox 1000 Drive Dailymoition 800 Messgenger 600 Dropbox 400 Youtube 200 -10 10 30 50 70 90 110 Thời gian (s) Hình 38Các ứng dụng điện thoại thông minh sử dụng giao thức TCP Mỗi điểm tương ứng kết nối cho lưu lượng upload download 2.1.2 Đặc điểm mạng Round-trip-time (RTT) khoảng thời gian tính từ lúc client bắt đầu gửi request tới lúc nhận gói liệu trả về, không bao gồm thời gian nhận đầy đủ liệu RTT yếu tố quan trọng ảnh hưởng đến hiệu suất kết nối TCP RTT mạng wifi nhỏ sau đến mạng di động 4G, 3G 2.2 Thử nghiệm kết nối đa đường Khi kiểm thử kết nối đa đường thu thập lưu lượng mạng hai mạng Lưu lượng mạng thuộc mạng phụ thuộc vào trình điều khiển tắc nghẽn, trình lập lịch, mạng tính chất ứng dụng kiểm thử 2.2.1 Kết nối MPTCP với Wifi chủ đạo Ngơ Hải Linh CB2015B Page 58 Hình 38 hiển thị kết nối MPTCP cài đặt mạng kết nối mặc định wifi cho thấy 92,4% sử dụng kết nối wifi, kết nối chiếm 1,1% tồn liệu Có thể giải thích MPTCP lại không sử dụng mạng di động cho kết nối Thứ nhất, mạng kết nối mặc định wifi, ứng dụng khởi tạo kết nối MPTCP gửi gói tin SYN sử dụng mạng kết nối mặc định, wifi Đây cấu hình chuẩn điện thoại thơng minh Android để wifi mạng (default route) Vậy kết nối MPTCP ngắn có chuyển đổi liệu (