Xem mẫu

  1. Kỷ yếu Hội nghị KHCN Quốc gia lần thứ XI về Nghiên cứu cơ bản và ứng dụng Công nghệ thông tin (FAIR); Hà Nội, ngày 09-10/8/2018 DOI: 10.15625/vap.2018.00033 MẠNG PHÂN PHỐI NỘI DUNG CDN TRÊN NỀN GIAO THỨC TRUYỀN ĐA ĐƯỜNG MULTIPATH TCP Phùng Duy Trường1, Lê Phong Dũ2, Lê Tuấn Anh3, Võ Thị Lưu Phương4 1 Viện Y tế Công cộng Thành phố Hồ Chí Minh 2 Trường Đại học Lạc Hồng; Trường Đại học Trà Vinh 3 Trường Đại học Thủ Dầu Một 4 Trường Đại học Quốc tế, Đại học Quốc gia TP.HCM 1 phungduytruong@gmail.com, 2lpdu@tvu.edu.vn, 3letuanh@tdmu.edu.vn, 4vtlphuong@hcmiu.edu.vn TÓM TẮT: Mạng phân phối nội dung CDN ra đời nhằm khắc phục hạn chế của giao thức TCP/IP do việc tắc nghẽn đường truyền tại các đầu cuối máy chủ. Bằng cách đặt máy chủ ở nhiều vị trí địa lý khác nhau và chứa những bản sao của nội dung từ máy chủ gốc, hệ thống CDN xác định máy chủ gần người dùng và nội dung sẽ được phân phối tới người dùng nhanh nhất. Giao thức Multipath TCP cho phép truyền tải các gói dữ liệu của nó trên nhiều đường (path) đồng thời, việc truyền dữ liệu trên đa đường sẽ cải thiện thông lượng truyền, có thể cân bằng tắc nghẽn trong các đường và cung cấp khả năng chuyển vùng tự nhiên trong mạng. Trong bài báo này, chúng tôi thực nghiệm mạng phân phối nội dung CDN trên nền giao thức Multipath TCP nhằm đánh giá tính hiệu quả của nó so với TCP. Thông qua thực nghiệm đã khẳng định được việc sử dụng giao thức Multipath TCP làm tăng thông lượng mạng, làm giảm tình trạng tắc nghẽn tại mỗi máy chủ CDN, đồng thời mỗi máy chủ trong mạng phân phối nội dung có thêm một kết nối mạng dự phòng tới người dùng. Từ khóa: CDN, Multipath TCP, Performance. I. GIỚI THIỆU Kiến trúc multipath TCP [1] là giao thức mở rộng các đặc điểm từ giao thức TCP, cho phép một kết nối phân chia thành nhiều đường (path) và dữ liệu được truyền trên các đường đồng thời. Multipath TCP hoạt động giống như TCP và mở rộng thêm các API nhằm cung cấp thêm chức năng điều khiển cho các ứng dụng multipath TCP. Một kết nối multipath TCP là một tập hợp của nhiều subflow mà mỗi subflow điều khiển một đường, sử dụng cửa sổ điều khiển tắc nghẽn để điều chỉnh tốc độ trên mỗi đường. Gần đây, thuật toán điều khiển tắc nghẽn MPTCP đã được IETF phê duyệt hoạt động trên kiến trúc multipath TCP [2]. MPTCP thực hiện điều khiển tốc độ gửi dữ liệu phối hợp giữa các đường đảm bảo ba tiêu chí: (i) nâng cao thông lượng truyền, (ii) đảm bảo tính công bằng đối với các luồng TCP hiện có và (iii) có khả năng cân bằng tắc nghẽn: chuyển dữ liệu từ đường có tắc nghẽn nhiều sang đường có tắc nghẽn ít hơn. Application Application MPTCP TCP Subflow Subflow (TCP) (TCP) IP IP IP Hình 1. Mô hình TCP và multipath TCP [1] Số lượng người dùng truy cập vào nội dung số và các loại dịch vụ trên web đang phát triển rất nhanh. Kết quả là nhiều trang web tạm thời không truy cập được từ phía người dùng do xảy ra hiện tượng hiện tắc nghẽn tại phía các máy chủ. Mạng phân phối nội dung (CDN) ra đời đã khắc phục những hạn chế nói trên bằng cách cung cấp cơ sở hạ tầng, kỹ thuật phân phối nội dung và dịch vụ có khả năng mở rộng. Đây là một hệ thống các máy chủ được đặt ở nhiều nơi khác nhau trên thế giới và chứa những bản sao của nội dung trang thông tin điện tử (Website) từ máy chủ gốc. Khi người dùng truy cập thì hệ thống CDN sẽ xác định máy chủ gần với người dùng và nội dung sẽ được phân phát tới người dùng nhanh nhất. Đã có nhiều nghiên cứu điều khiển tắc nghẽn cho các ứng dụng trong multipath TCP, cụ thể: MultiTCP [10] là một điều khiển định hướng bên nhận (receiver-driven control), nó tăng tốc độ như TCP đơn đường và giảm tốc độ tỉ lệ nghịch với bình phương của số lượng đường được sử dụng. Ngược lại, DMP scheme [8] là một điều khiển định hướng bên gửi (sender-driven control), nó không quan tâm các luồng con có chia sẻ đường truyền cổ chai hay không, cả hai giải pháp trên không quan tâm đến tốc độ mượt và cân bằng tắc nghẽn. Ngoài ra, TCP-ROME [9] giảm sự biến động của tốc độ tức thời bằng cách sử dụng điều khiển dựa trên tốc độ như trong TFRC [3], đầu nhận trong TCP-ROME điều chỉnh tốc độ của luồng con tùy theo tốc độ video yêu cầu và tỉ lệ thông lượng của mỗi luồng, không quan tâm có đường truyền cổ chai. Giao thức MPTFRC bao gồm xác định trọng số động nhằm điều chỉnh thông lượng gửi dữ liệu giữa các đường trong nhiều điều kiện mạng khác nhau. Trọng số động của MPTFRC sẽ điều chỉnh lưu lượng tỉ lệ nghịch với mức độ tắc nghẽn của mạng [7].
  2. 246 MẠNG PHÂN PHỐI NỘI DUNG CDN TRÊN NỀN GIAO THỨC TRUYỀN ĐA ĐƯỜNG MULTIPATH TCP FSOB [4] khai thác kỹ thuật chuyển hướng đa chiều của giao thức HTTP để phân phối tối ưu các yêu cầu của người dùng tới các máy chủ trong CDN. Phân phối này nhằm mục đích cân bằng mức độ chiếm dụng các hàng đợi tại mỗi máy chủ bằng cách định kỳ trao đổi thông tin cục bộ đã được tính toán tại mỗi nút. Như vậy, trong hệ thống CDN sẽ có một máy chủ đảm nhận vai trò cân bằng tải đều các yêu cầu từ người dùng tới các máy chủ CDN khác trong hệ thống. Giải pháp giảm tắc nghẽn trên Internet trên hệ thống CDN đã đề xuất áp dụng quản lý phân phối nội dung cho dịch vụ giá trị gia tăng trên MYTV của VNPT hoạt động trên nền của CDN [5], giải pháp này chỉ thực nghiệm CDN trên nền giao thức TCP đơn đường. Trong [6] nhóm tác giả đề xuất giải pháp giảm tắc nghẽn Internet Quốc tế bằng việc thiết lập trung tâm trung chuyển Internet Quốc tế của Việt Nam do VNNIC quản lý. Các nghiên cứu trên các tác giả chưa thấy nghiên cứu phân phối nội dung CDN trên nền giao thức truyền tải đa đường. Multipath TCP có thể trở thành một giải pháp để khắc phục vấn đề băng thông của mạng, giảm tắc nghẽn mạng tại phía máy chủ CDN và dự phòng đường kết nối mạng tại mỗi máy chủ trong CDN. Trong bài báo này, chúng tôi thực nghiệm mạng phân phối nội dung CDN trên nền giao thức multipath TCP nhằm đánh giá tính hiệu quả của nó so với TCP. Bài báo được tổ chức bao gồm: Phần I giới thiệu tổng quan; phần II mô tả thực nghiệm phân phối nội dung CDN trên nền giao thức truyền tải multipath TCP; phần III kết quả thực nghiệm và phần kết luận sẽ được trình bày ở phần IV. II. MÔ HÌNH THỰC NGHIỆM Trong phần này, chúng tôi sử dụng kỹ thuật định tuyến yêu cầu theo vị trí địa lý của địa chỉ IP dựa vào dịch vụ DNS. Giả sử chúng ta có một trang thông tin điện tử với tên miền là www.cdn.com. Trang thông tin điện tử này có 2 máy chủ phục vụ đặt tại Site 1 và Site 2. Hai Site này có vị trí địa lý khác nhau. Giả sử các truy cập xuất phát từ Châu Mỹ, Châu Âu, … sẽ được định tuyến đến máy chủ đặt tại Site 1, các truy cập xuất phát từ Châu Á sẽ được định tuyến đến máy chủ đặt tại Site 2. Việc định tuyến này hoàn toàn trong suốt đối với người dùng khi tên miền dùng để truy cập vẫn là www.cdn.com. Mô hình thực nghiệm bao gồm một máy chủ IBM System x3650 M4 chạy phần mềm ảo hóa VMware ESXi. Trên máy chủ này, chúng tôi tạo 2 máy chủ ảo CDN, 5 máy tính ảo (1 máy chủ DNS, 4 máy trạm), 5 thiết bị định tuyến ảo. Các thiết bị này có cấu hình phần cứng chi tiết trong Hình 2. Máy ảo DNS chạy hệ điều hành Ubuntu Server 14.04 LTS, phần mềm BIND được sử dụng phân dãy tên miền và phần mềm GeoIP MaxMind điều hướng truy cập đến máy chủ; Thiết bị định tuyến ảo R1, R2, R3, R4 dùng phần mềm HP VSR1000, sử dụng giao thức định tuyến OSPF; Máy ảo CDN chạy hệ điều hành Debian 8.1 Jessie 64 bit, Joomla 3; Sử dụng phần mềm Iperf để đo băng thông ở đầu gửi và đầu nhận; Máy trạm ảo chạy hệ điều hành Ubuntu Desktop 14.04 LTS 64 bit. Hình 2. Cấu hình phần cứng của các thiết bị thực nghiệm III. KẾT QUẢ THỰC NGHIỆM Để đánh giá hiệu quả phân phối nội dung CDN trên nền của giao thức multipath TCP, chúng tôi tiến hành thực nghiệm mạng phân phối nội dung CDN trên nền giao thức truyền đơn đường, đo thông lượng mạng giữa máy trạm và máy chủ CDN (i); Thực nghiệm mạng phân phối nội dung CDN trên nền giao thức multipath TCP, đo thông lượng mạng giữa máy trạm và máy chủ CDN (ii); So sánh thông lượng mạng của (i) và (ii). Để dễ dàng phân biệt, chúng tôi gọi CDN là phân phối nội dung trên nền TCP, mCDN là là phân phối nội dung trên nền giao thức multipath TCP. Băng thông của mỗi đường truyền giữa các bộ định tuyến là 5 Mbps, băng thông của mỗi đường truyền từ bộ định tuyến đến thiết bị đầu cuối là 3 Mbps, thời gian đo trong cả hai trường hợp là 10 giây.
  3. Phùng Duy Trường, Lê Phong Dũ, Lê Tuấn Anh, Võ Thị Lưu Phương 247 3.1. Phân phối nội dung CDN trên nền giao thức truyền đơn đường Giả sử có một trang thông tin điện tử với tên miền là www.cdn.com. Trang thông tin điện tử này có 2 máy chủ CDN, máy chủ CDN 1 có IP là 192.168.0.10/24 đặt tại Site 1 và máy chủ CDN 2 có IP là 192.168.10.10/24 đặt tại Site 2. Hai Site này có vị trí địa lý khác nhau. Các truy cập xuất phát từ Site 3 sẽ được định tuyến đến máy chủ CDN đặt tại Site 1. Các truy cập xuất phát từ Site 4 sẽ được định tuyến đến máy chủ CDN đặt tại Site 2. Việc chuyển hướng yêu cầu sẽ do máy chủ DNS tại Site 1 xử lý. Hình 6. Mô hình CDN trên nền giao thức TCP đơn đường Hình 3. Băng thông đo tại Site 1 và Site 3 Hình 4. Băng thông đo tại Site 2 và Site 4 Kết quả thực nghiệm cho thấy, băng thông của máy trạm đạt ≥ 3 Mbps, băng thông của máy chủ CDN đạt ≥ 2,5 Mbps. Băng thông của máy chủ CDN luôn thấp hơn băng thông của máy trạm do tắc nghẽn tại phía máy chủ CDN khi số lượng máy trạm tăng lên.
  4. 248 MẠNG PHÂN PHỐI NỘI DUNG CDN TRÊN NỀN GIAO THỨC TRUYỀN ĐA ĐƯỜNG MULTIPATH TCP 3.2. Mạng phân phối nội dung CDN trên nền giao thức multipath TCP Tương tự như mô hình CDN sử dụng TCP đơn đường, mỗi máy chủ CDN tại Site 1 và Site 2 sẽ có hai đường truyền mạng, mỗi máy trạm tại Site 3 và Site 4 có hai đường truyền mạng, tương tự máy chủ DNS tại Site 1 có hai đường truyền mạng. Tất cả đều sử dụng multipath TCP. Việc xử lý yêu cầu xuất phát từ Site 3, Site 4 sẽ do máy chủ DNS tại Site 1 xử lý chuyển hướng. Hình 5. Mô hình thực nghiệm mCDN Hình 6. Băng thông đo tại Site 1 và Site 3 Hình 7. Băng thông đo tại Site 2 và Site 4 Kết quả thực nghiệm trong cả 2 trường hợp đều cho kết quả giống nhau. Cụ thể, ở hình 6 băng thông của máy trạm và băng thông của máy chủ duy trì ổn định ≥ 5 Mbps. Kết quả trong hình 7 cũng cho kết quả tương tự.
  5. Phùng Duy Trường, Lê Phong Dũ, Lê Tuấn Anh, Võ Thị Lưu Phương 249 3.3. So sánh thông lượng mạng của CDN trên nền TCP và multipath TCP Trong phần này, chúng tôi so sánh băng thông tại máy chủ CDN tại site 1 trên nền giao thức TCP và trên nền giao thức multipath TCP; so sánh băng thông đo tại máy chủ CDN tại site 1 và máy trạm tại site 3 trong trường hợp sử dụng multipath TCP. Hình 11. Sự khác biệt băng thông máy chủ tại Site 1 giữa mô hình CDN và mCDN Hình 12. Băng thông máy tính tại Site 1 và Site 3 trong mCDN Kết quả thực nghiệm cho thấy, thông lượng mạng phân phối nội dung CDN trên nền multipath TCP cao gấp đôi thông lượng mạng so với TCP khi đo tại máy chủ CDN như hình 11, giảm được tình trạng tắc nghẽn tại mỗi máy chủ CDN. Trong hình 12, thông lượng mạng của multipath TCP tại máy chủ tại site 1 và máy trạm tại site 3 là gần như tương đương, không có có sự chênh lệch băng thông như trong trường hợp phân phối nội dung CDN trên nền TCP. IV. KẾT LUẬN Từ nghiên cứu kỹ thuật điều khiển tắc nghẽn trong multipath TCP và kỹ thuật định hướng yêu cầu dựa trên DNS, chúng tôi đã xây dựng được mô hình thực nghiệm CDN trên nền giao thức Multipath TCP. Từ các kết quả thực nghiệm đã chứng minh việc sử dụng giao thức multipath TCP sẽ làm tăng thông lượng mạng của CDN, làm giảm tình trạng tắc nghẽn tại mỗi máy chủ CDN, dự phòng đường kết nối cho mỗi máy chủ CDN. Thực nghiệm này chứng minh giao thức multipath TCP hoạt động được trên CDN. Hướng nghiên cứu này còn một số hạn chế do chưa thực nghiệm multipath TCP trên môi trường thật vì giao thức multipath TCP khi đi qua các thiết bị tường lửa, NAT, máy chủ Proxy (gọi chung là Middlebox) sẽ bị xóa TCP Option 30 và quay về sử dụng giao thức TCP đơn đường. LỜI CÁM ƠN Nghiên cứu này được tài trợ bởi Quỹ Phát triển Khoa học và Công nghệ Quốc gia (NAFOSTED) trong đề tài mã số 102.02-2013.48. TS. Lê Tuấn Anh là tác giả liên hệ.
  6. 250 MẠNG PHÂN PHỐI NỘI DUNG CDN TRÊN NỀN GIAO THỨC TRUYỀN ĐA ĐƯỜNG MULTIPATH TCP TÀI LIỆU THAM KHẢO [1] A. Ford, C. Raiciu, M. Handley, S. Barre, J. Iyengar (2011). “Architecture guidelines for Multipath TCP Development”. IETF RFC 6182. [2] A. Ford, C. Raiciu, M. Handley, O. Bonaventure (2013). “TCP extensions for multipath operation with multiple addresses”. IETF RFC 6824. [3] A. Ford, C. Raiciu, M. Handley, S. Barre, J. Iyengar (2011). “Architecture guidelines for Multipath TCP Development”. IETF RFC 6182. [4] S. Manfredi, F. Oliviero, S.P. Romano (2012). “Optimised balancing algorithm for content delivery networks”. IET Commun., 6 (7), 733-739. [5] Nguyễn Huy Trường (2012). Luận văn thạc sĩ “Nghiên cứu giải pháp mạng phân phối nội dung (CDN) và đề xuất áp dụng vào việc quản lý phân phối nội dung cho dịch vụ giá trị gia tăng trên MYTV của VNPT”. Học viện Công nghệ Bưu chính Viễn thông. [6] Trần Thị Lý (2013). Luận văn thạc sĩ “Nghiên cứu các giải pháp giảm tắc nghẽn mạng Internet”. Học viện Công nghệ Bưu chính Viễn thông. [7] Lê Phong Dũ, Lê Tuấn Anh (2013). “Điều khiển tắc nghẽn trong giao thức truyền đa đường cho ứng dụng Multimedia”. Tạp chí Khoa học Trường Đại học Cần Thơ, Số Công nghệ TT 2013, trang: 180-189. [8] B. Wang, W. Wei, Z. Guo, and D. Towsley, 2009. “Multipath live streaming via TCP: Scheme, performance and benefits”. ACM Trans, NY, USA,vol. 5, no. 3. [9] J. W. Park, R. Karrer, and J. Kim, 2011. “TCP-ROME: A transport-layer parallel streaming protocol for real-time online multimedia environments”. Communications and Networks Journal, vol. 13, no. 3, pages. 277-285. [10]. S. Tullimas, T. Nguyen, R. Edgecomb, and S.-c. Cheung, 2008. “Multimedia streaming using multiple TCP connections”. ACM Trans. Multimedia Comput. Commun. Appl, vol. 4, no. 2, pages. 120-121. [11] Linux Kernel MultiPath TCP project, https://www.multipath-tcp.org. CONTENT DELIVERY NETWORK (CDN) ON MULTIPATH TCP Phung Duy Truong, Le Phong Du, Le Tuan Anh, Vo Thi Luu Phuong ABSTRACT: Content Delivery Network (CDN) was introduced to overcome the inherent limitations of TCP/IP protocol due to the network congestion at the server-end. By placing caching/duplicated servers, containing copies of content from the origin server, near to geographic locations of the visitor, the CDN system identifies the server closer to the users and contents will be delivered to the user faster. Multipath transport control protocol (multipath TCP) allows spreading its data packets between end-to-end on several paths simultaneously. Such the multipath transfer can improve TCP throughput, balance congestion among paths, and provide native handover in a network. In this paper, we have conducted a testbed of CDN on the Multipath TCP protocol to evaluate its effectiveness compared single path TCP. Through our experiments, the result shows that the usage of Multipath TCP protocol is to improve network throughput, reduce network congestion at each CDN server. Keywords: CDN, Multipath TCP, Performance.
nguon tai.lieu . vn