LỜI CAM ĐOAN Tôi cam đoan đây là công trình nghiên cứu của riêng tôi. Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác. Tác giả luận văn ký và ghi rõ họ tên Mai Quốc DuyLỜI CẢM ƠN Đầu tiên, tôi xin chân thành bày tỏ lòng kính trọng và biết ơn sâu sắc đến thầy TS. Võ Văn Khang đã nhiệt tình hướng dẫn tôi hoàn thành luận văn này. Kể từ lúc tôi đề xuất đề tài với thầy cho tới hôm nay, thầy đã dành nhiều thời gian để hướng dẫn phương pháp nghiên cứu khoa học, xác định mục tiêu của đề tài và đặc biệt là luôn theo sát tiến độ nghiên cứu của tôi để có những góp ý kịp thời. Ngoài những kiến thức thầy truyền đạt, tôi còn học được ở thầy một phong cách làm việc rất khoa học, nghiêm túc và đầy trách nhiệm. Tiếp theo, tôi vô cùng cảm ơn anh em kỹ thuật đang làm việc tại công ty NetNam đã tạo điều kiện tốt nhất để tôi có thể ứng dụng kết quả luận văn vào môi trường thực tế. Những lúc ngoài giờ, những anh em này đã cùng tôi xây dựng hệ thống test trên mạng nội bộ của công ty. Chính nhờ vậy mà tôi đã có cơ hội kiểm chứng được tính hiệu quả của giải thuật cũng như chương trình cân bằng tải đã đề xuất. Cuối cùng, tôi xin cảm ơn quý thầy cô Học viện Công nghệ Bưu chính Viễn thông đã tận tình giảng dạy, truyền đạt kiến thức nền tảng cho tôi. Xin chúc tất cả quý thầy cô và các anh em kỹ thuật tại công ty NetNam luôn tràn đầy sức khỏe và thành công trong mọi lĩnh vực TP.HCM, ngày 01 tháng 08 năm 2013 Học viên Mai Quốc Duyi MỤC LỤC MỤC LỤC................................................................................................................... i DANH MỤC CÁC CHỮ VIẾT TẮT ....................................................................... iii DANH MỤC BẢNG................................................................................................. iv Chương 1 GIỚI THIỆU ..............................................................................................1 1.1 Hiện trạng ...........................................................................................................1 1.2 Nhu cầu và xu hướng cân bằng tải .....................................................................2 1.3 Mục tiêu nghiên cứu...........................................................................................3 1.3.1 Xây dựng một giải thuật cân bằng tải mới và hiệu quả................................3 1.3.2 Xây dựng phần mềm dựa vào giải thuật đã đề xuất .....................................4 1.4 Đối tượng và phạm vi nghiên cứu.....................................................................4 1.5 Bố cục luận văn ..................................................................................................5 Chương 2 XÂY DỰNG GIẢI THUẬT CÂN BẰNG TẢI........................................6 2.1 Khái niệm ...........................................................................................................6 2.2 Phân loại .............................................................................................................9 2.3 Chức năng của cân bằng tải kết nối (link loadbalancer).................................10 2.4 Giải thuật và mô hình .......................................................................................11 2.4.1 Xoay vòng (roundrobin)............................................................................11 2.4.2 Xoay vòng theo trọng số (Weighted roundrobin ) ....................................13 2.4.3 Độ ưu tiên (Priority) ...................................................................................15 2.4.4 Tràn băng thông (overflow)........................................................................17 2.4.5 Băng thông sử dụng thấp nhất (Least used) ...............................................19 2.4.6 Băng thông sử dụng thấp nhất theo trọng số (Weighted least used) ..........21 2.4.6 Số kết nối thấp nhất (Least connection) .....................................................23 2.4.7 Số kết nối thấp nhất theo trọng số (Weighted least connection) ................25 2.4.8 Độ trễ thấp nhất (“Lowest latency” hay “Fastest repsonse time”) .............27 2.4.8 Cố định hướng truyền dữ liệu (Enforced) ..................................................29 2.5 Giải thuật đề xuất .............................................................................................30 2.5.1 Đặt vấn đề...................................................................................................30 2.5.2 Ví dụ so sánh giữa giải thuật đã biết và giải thuật đề xuất......................31 2.5.3 Nguyên lý hoạt động của giải thuật mới – “Best QoS”..............................33ii 2.5.4 Đánh giá giải thuật “Best QoS”..................................................................34 Chương 3 XÂY DỰNG PHẦN MỀM CÂN BẰNG TẢI DỰA VÀO GIẢI THUẬT ĐỀ XUẤT .................................................................................................................35 3.1 Ý tưởng chương trình .......................................................................................35 3.2 Nội dung chương trình .....................................................................................36 3.2.1 Class Main ..................................................................................................37 3.2.2 Class Routing..............................................................................................39 3.2.3 Class Loadbalancer.....................................................................................44 3.2.4 Class DatabaseUpdate ................................................................................51 3.3 Đánh giá chương trình......................................................................................57 Chương 4 KẾT QUẢ TEST TRONG MÔI TRƯỜNG THỬ NGHIỆM VÀ THỰC TẾ..............................................................................................................................58 4.1 Mô hình test......................................................................................................58 4.1.1 Mô hình lab ảo VMWare............................................................................58 4.1.2 Mô hình lab thực tế tại công ty đang làm việc ...........................................59 4.2 Các bước cài đặt, triển khai..............................................................................60 4.3 Kịch bản test.....................................................................................................60 4.3.1 Kịch bản 1: Test khả năng chọn hướng có Best QoS.................................60 4.3.2 Kịch bản 2: Test khả năng tự thay đổi hướng truyền dữ liệu khi Best QoS thay đổi hoặc băng thông sắp nghẽn ......................................................................63 TỔNG KẾT VÀ HƯỚNG PHÁT TRIỂN ................................................................65 1. Kết quả đạt được.................................................................................................65 2. Vấn đề tồn đọng .................................................................................................65 3. Hướng phát triển.................................................................................................65 TÀI LIỆU THAM KHẢO.........................................................................................66iii DANH MỤC CÁC CHỮ VIẾT TẮT Viết tắt Tiếng Anh Tiếng Việt IP Internet Protocol Giao thức Internet QoS Quality of Service Chất lượng dịch vụ VM Virtual Machine Máy ảoiv DANH MỤC BẢNG Bảng 1.1: Vài giải thuật cân bằng tải hiện nay ...........................................................2 Bảng 2.1: Cách phân phối gói tin trong giải thuật “xoay vòng” (roundrobin)........12 Bảng 2. 2:Cách phân phối gói tin trong giải thuật “xoay vòng theo trọng số” (weighted roundrobin) .............................................................................................14 Bảng 2.3: Vài giải thuật cân bằng tải thông dụng hiện nay ......................................30 Bảng 4.1: Danh sách thiết bị cần thiết cho lab ảo VMWare.....................................59v DANH MỤC HÌNH VẼ Hình 2.1: Công việc của bộ cân tải (loadbalancer)....................................................7 Hình 2.2: Ví dụ về cân bằng tải kết nối (link loadbalancer)......................................9 Hình 2.3: Tổng quát về cân bằng tải kết nối (link loadbalancer) ............................10 Hình 2.4: Giải thuật “xoay vòng” (roundrobin).......................................................11 Hình 2.5: Giải thuật “xoay vòng theo trọng số” (weighted roundrobin).................13 Hình 2.6: Giải thuật “độ ưu tiên” (priority) ..............................................................15 Hình 2.7: Nguyên lý hoạt động của giải thuật “độ ưu tiên” (priority)......................16 Hình 2.8: Giải thuật “tràn băng thông” (overflow)...................................................17 Hình 2.9: Nguyên lý hoạt động của giải thuật “tràn băng thông” (overflow) ..........18 Hình 2.10: Giải thuật “băng thông sử dụng thấp nhất” (leastused).........................19 Hình 2.11: Nguyên lý hoạt động của giải thuật “băng thông sử dụng thấp nhất” (leastused)................................................................................................20 Hình 2.12: Giải thuật “băng thông sử dụng thấp nhất theo trọng số” (Weighted least used)..........................................................................................................21 Hình 2.13: Nguyên lý hoạt động của giải thuật “băng thông sử dụng thấp nhất theo trọng số” (Weighted least used) ...............................................................22 Hình 2.14: Giải thuật “số kết nối thấp nhất” (Least Connection).............................23 Hình 2.15: Nguyên lý hoạt động của giải thuật “số kết nối thấp nhất” (Least Connection) ..............................................................................................24 Hình 2.16: Giải thuật “Số kết nối thấp nhất theo trọng số” (weighted least connection) ...............................................................................................25 Hình 2.17: Nguyên lý hoạt động của giải thuật “Số kết nối thấp nhất theo trọng số” (weighted least connection)......................................................................26 Hình 2.18: Giải thuật “độ trễ thấp nhất” (lowest latency) ........................................27 Hình 2.19: Nguyên lý hoạt động của giải thuật “độ trễ thấp nhất” (lowest latency) 28 Hình 2.20: Giải thuật “cố định hướng truyền dữ liệu” (enforced)............................29 Hình 2.21: So sánh giải thuật đã biết và giải thuật đề xuất.......................................31 Hình 2.22: Tóm tắt nguyên lý hoạt động của giải thuật đề xuất – Best QoS............33vi Hình 2.23: Chi tiết nguyên lý hoạt động của giải thuật đề xuất – Best QoS ............34 Hình 3.1: Lưu đồ xử lý của chương trình “Best QoS”..............................................36 Hình 3.2: Phương thức main() của chương trình ......................................................38 Hình 3.3: Phương thức command() của class Main..................................................38 Hình 3.4: Phương thức isInteger() của class Main....................................................39 Hình 3.5: Phương thức showRoutingRule() của class Routing ................................40 Hình 3.6: Phương thức deleteRoutingRule() của class Routing ...............................40 Hình 3.7: Phương thức getCurrentRoutingRule() của class Routing .......................41 Hình 3.8: Phương thức isReachable() của class Routing..........................................42 Hình 3.9: Phương thức parseInterfaceFromCurrentRoutingRule() của class Routing ..................................................................................................................42 Hình 3.10: Phương thức parseSubnetFromIP() của class Routing ...........................43 Hình 3.11: Phương thức parseLoss() của class Routing ...........................................43 Hình 3.12: Phương thức parseLatencyAndJitter() của class Routing.......................43 Hình 3.13: Phương thức parseQoSFromPing() của class Routing ...........................44 Hình 3.14: Phương thức findBestGateway() của class Loadbalancer ......................46 Hình 3.15: Phương thức getCurrentBandwidth() của class Loadbalancer ...............47 Hình 3.16: Phương thức checkIntefaceHasAvailableBW() của class Loadbalancer48 Hình 3.17: Phương thức parseDest() của class Loadbalancer ..................................48 Hình 3.18: Phương thức run() của class Loadbalancer.............................................50 Hình 3.19: Phương thức readFile() của class DatabaseUpdate.................................52 Hình 3.20: Phương thức writeFile() của class DatabaseUpdate ...............................52 Hình 3.21: Phương thức parseIPFromDatabaseLine() của class DatabaseUpdate ...52 Hình 3.22: Phương thức parseQoSFromDatabaseLine() của class DatabaseUpdate53 Hình 3.23: Phương thức lookupDatabase() của class DatabaseUpdate....................54 Hình 3.24: Phương thức compareQoSInDatabaseAndBest QoS() của class DatabaseUpdate........................................................................................55 Hình 3.25: Phương thức deleteLineInDatabaseFile() của class DatabaseUpdate.....55 Hình 3.26: Phương thức addInfoToGuessDabase() của class DatabaseUpdate .......56vii Hình 3. 27: Phương thức run() của class DatabaseUpdate .......................................57 Hình 4.1: Mô hình lab ảo VMWare ..........................................................................58 Hình 4.2: Mô hình lab thật tại công ty NetNam........................................................60 Hình 4.3: Kịch bản 1 (Test khả năng chọn hướng có Best QoS)..............................60 Hình 4.4: Kịch bản 2 (Test khả năng tự thay đổi hướng truyền dữ liệu khi Best QoS thay đổi hoặc băng thông sắp nghẽn) .......................................................631 Chương 1 GIỚI THIỆU Chương 1 giới thiệu chung về hiện trạng, nhu cầu và xu hướng chọn lựa giải thuật cân bằng tải trong hệ thống mạng. Chương này cũng trình bày mục tiêu, đối tượng và phạm vi nghiên cứu. Cuối chương nêu tóm tắt bố cục của toàn luận văn. 1.1 Hiện trạng Ngày nay, mạng internet là một thành phần không thể thiếu của hầu hết các doanh nghiệp. Nhờ có internet mà các công ty có thể giao dịch kinh doanh với thế giới bên ngoài một cách nhanh chóng, hiệu quả. Nói cách khác, internet đã trở thành một nhu cầu thiết yếu cho sự phát triển của các tổ chức. Nếu hệ thống internet của doanh nghiệp bị lỗi, chắc chắn hoạt động kinh doanh sẽ gặp rất nhiều khó khăn. Do đó, các doanh nghiệp thường thuê ít nhất hai đường truyền internet từ hai ISP khác nhau để có thể dự phòng lẫn nhau. Sau khi có nhiều đường truyền internet rồi thì doanh nghiệp lại phải nghĩ cách để sử dụng tối ưu các đường đã thuê. Nếu như chọn giải pháp một đường chính, đường còn lại làm dự phòng thì đường truyền chính của công ty có thể bị nghẽn vào giờ cao điểm trong khi đường dự phòng lại đang không có lưu lượng. Trong trường hợp này, doanh nghiệp buộc phải chi thêm tiền để thuê thêm băng thông từ nhà cung cấp. Giải pháp này xem ra lãng phí về kinh tế và kém hiệu quả về kỹ thuật. Có một giải pháp khác mà hiện nay các doanh nghiệp thường sử dụng để có thể khắc phục được các hạn chế ở trường hợp vừa trình bày đó là: xây dựng hệ thống cân bằng tải. Nhờ cơ chế cân bằng tải mà doanh nghiệp có thể sử dụng đồng thời các đường truyền internet mà họ đã thuê, trong khi với giải pháp “một đường chính, đường còn lại dự phòng” thì không làm được điều này. Đó chính là lý do mà ngày nay có rất nhiều doanh nghiệp sử dụng cơ chế cân bằng tải cho đường truyền2 internet để vừa tiết kiệm chi phí cho doanh nghiệp trong thời buổi kinh doanh khó khăn hiện nay, vừa tạo sự ổn định cho các hoạt động kinh doanh qua internet. 1.2 Nhu cầu và xu hướng cân bằng tải Cân bằng tải đã giúp doanh nghiệp sử dụng “đồng thời” các đường truyền internet mà họ đã thuê. Trước đây, tiện ích này đã làm thõa mãn được nhu cầu của doanh nghiệp. Nhưng hiện tại thì chưa, bởi theo quy luật phát triển thì đòi hỏi của con người sẽ luôn tăng theo thời gian. Cái họ cần là cơ chế cân bằng tải phải thông minh hơn nữa. Cụ thể là phải sử dụng “tối ưu” các đường truyền internet mà họ đã thuê (không phải chỉ là sử dụng “đồng thời” như trước đây). Do đó đã có rất nhiều giải thuật cân bằng tải lần lượt được phát minh để có thể đáp ứng nhu cầu thực tế. Bảng 1.1 dưới đây trình bày một số loại phổ biến hiện nay: Bảng 1.1: Vài giải thuật cân bằng tải hiện nay STT Tên giải thuật cân bằng tải Tiêu chí cân bằng tải 1 Round robin (RR) 2 Weighted round robin (WRR) Băng thông 3 Least used 4 Fastest response time (FRT) Độ trễ Loại 1, 2 và 3 trong bảng 1.1 chỉ dựa vào yếu tố băng thông để cân tải. Ba loại này thuộc nhóm “cân tải để lưu lượng chạy đồng thời”. Trong khi đó, loại 4 lại dựa vào tiêu chí độ trễ để truyền lưu lượng. Nếu chỉ dựa vào thời gian đáp ứng thôi thì chưa thể xếp loại này vào nhóm “cân tải để lưu lượng chạy hiệu quả” (vì giả sử đường truyền 1 luôn có độ trễ tốt nhất thì tất cả lưu lượng đều đi qua đường truyền 1? Nếu như thế thì không thể hiện sự cân tải trong giải thuật này. Hoặc nếu đường truyền 1 có độ trễ tốt nhưng tỉ lệ rớt gói cao thì sao?...) Tóm lại, hiện nay chưa có một giải thuật nào thuộc nhóm “cân tải để lưu lượng chạy hiệu quả”. Bắt kịp xu thế hiện tại, cũng như nắm được mong muốn của3 các doanh nghiệp, trong luận văn này em sẽ trình bày một giải thuật mới với mục tiêu sẽ cân tải thật sự hiệu quả hơn các giải thuật đã được biết trước đây. 1.3 Mục tiêu nghiên cứu 1.3.1 Xây dựng một giải thuật cân bằng tải mới và hiệu quả. Giải thuật này có 2 đặc điểm chính đó là: Xử lý nhanh Dựa vào đủ 4 tiêu chí: độ trễ, tỉ lệ rớt gói, biến thiên độ trễ và băng thông Ý tưởng chính của giải thuật: Với mỗi dest IP, hệ thống cân bằng tải sẽ chọn hướng truyền gói tin dựa vào độ ưu tiên từ cao nhất xuống thấp nhất như sau: Tỉ lệ rớt gói thấp nhất Băng thông còn trống Độ trễ thấp nhất Băng thông còn trống Biến thiên độ trễ thấp nhất Băng thông còn trống Băng thông còn trống nhiều nhất Defaultroute Ghi chú: Người dùng có thể thay đổi thứ tự độ ưu tiên tùy theo nhu cầu Giải thuật trên được xây dựng dựa trên nhu cầu thực tế của khách hàng NetNam (nơi sinh viên thực hiện đề tài đang công tác). Các khách hàng này thường sử dụng nhiều đường truyền của các ISP khác
HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG - MAI QUỐC DUY CÂN BẰNG TẢI TRONG TRUYỀN DỮ LIỆU NHIỀU KẾT NỐI LUẬN VĂN THẠC SĨ KỸ THUẬT TP HỒ CHÍ MINH - 2013 MAI QUỐC DUY HỆ THỐNG THÔNG TIN 2010 – 2012 TP.HCM 2013 HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THƠNG - MAI QUỐC DUY CÂN BẰNG TẢI TRONG TRUYỀN DỮ LIỆU NHIỀU KẾT NỐI CHUYÊN NGÀNH: HỆ THỐNG THÔNG TIN MÃ SỐ: 60.48.01.04 LUẬN VĂN THẠC SĨ KỸ THUẬT NGƯỜI HƯỚNG DẪN KHOA HỌC: TS VÕ VĂN KHANG TP HỒ CHÍ MINH - 2013 LỜI CAM ĐOAN Tơi cam đoan cơng trình nghiên cứu riêng Các số liệu, kết nêu luận văn trung thực chưa công bố cơng trình khác Tác giả luận văn ký ghi rõ họ tên Mai Quốc Duy LỜI CẢM ƠN Đầu tiên, xin chân thành bày tỏ lịng kính trọng biết ơn sâu sắc đến thầy TS Võ Văn Khang nhiệt tình hướng dẫn tơi hồn thành luận văn Kể từ lúc tơi đề xuất đề tài với thầy hôm nay, thầy dành nhiều thời gian để hướng dẫn phương pháp nghiên cứu khoa học, xác định mục tiêu đề tài đặc biệt theo sát tiến độ nghiên cứu tơi để có góp ý kịp thời Ngồi kiến thức thầy truyền đạt, tơi học thầy phong cách làm việc khoa học, nghiêm túc đầy trách nhiệm Tiếp theo, vô cảm ơn anh em kỹ thuật làm việc công ty NetNam tạo điều kiện tốt để tơi ứng dụng kết luận văn vào môi trường thực tế Những lúc ngồi giờ, anh em tơi xây dựng hệ thống test mạng nội công ty Chính nhờ mà tơi có hội kiểm chứng tính hiệu giải thuật chương trình cân tải đề xuất Cuối cùng, xin cảm ơn quý thầy cô Học viện Cơng nghệ Bưu Viễn thơng tận tình giảng dạy, truyền đạt kiến thức tảng cho Xin chúc tất quý thầy cô anh em kỹ thuật công ty NetNam tràn đầy sức khỏe thành công lĩnh vực! TP.HCM, ngày 01 tháng 08 năm 2013 Học viên Mai Quốc Duy i MỤC LỤC MỤC LỤC i DANH MỤC CÁC CHỮ VIẾT TẮT iii DANH MỤC BẢNG iv Chương GIỚI THIỆU 1.1 Hiện trạng 1.2 Nhu cầu xu hướng cân tải .2 1.3 Mục tiêu nghiên cứu 1.3.1 Xây dựng giải thuật cân tải hiệu 1.3.2 Xây dựng phần mềm dựa vào giải thuật đề xuất .4 1.4 Đối tượng phạm vi nghiên cứu .4 1.5 Bố cục luận văn Chương XÂY DỰNG GIẢI THUẬT CÂN BẰNG TẢI 2.1 Khái niệm 2.2 Phân loại .9 2.3 Chức cân tải kết nối (link load-balancer) 10 2.4 Giải thuật mơ hình .11 2.4.1 Xoay vòng (round-robin) 11 2.4.2 Xoay vòng theo trọng số (Weighted round-robin ) 13 2.4.3 Độ ưu tiên (Priority) 15 2.4.4 Tràn băng thông (overflow) 17 2.4.5 Băng thông sử dụng thấp (Least used) .19 2.4.6 Băng thông sử dụng thấp theo trọng số (Weighted least used) 21 2.4.6 Số kết nối thấp (Least connection) .23 2.4.7 Số kết nối thấp theo trọng số (Weighted least connection) 25 2.4.8 Độ trễ thấp (“Lowest latency” hay “Fastest repsonse time”) .27 2.4.8 Cố định hướng truyền liệu (Enforced) 29 2.5 Giải thuật đề xuất .30 2.5.1 Đặt vấn đề 30 2.5.2 Ví dụ so sánh giải thuật biết giải thuật đề xuất 31 2.5.3 Nguyên lý hoạt động giải thuật – “Best QoS” 33 ii 2.5.4 Đánh giá giải thuật “Best QoS” 34 Chương XÂY DỰNG PHẦN MỀM CÂN BẰNG TẢI DỰA VÀO GIẢI THUẬT ĐỀ XUẤT 35 3.1 Ý tưởng chương trình .35 3.2 Nội dung chương trình .36 3.2.1 Class Main 37 3.2.2 Class Routing 39 3.2.3 Class Loadbalancer .44 3.2.4 Class DatabaseUpdate 51 3.3 Đánh giá chương trình 57 Chương KẾT QUẢ TEST TRONG MÔI TRƯỜNG THỬ NGHIỆM VÀ THỰC TẾ 58 4.1 Mơ hình test 58 4.1.1 Mơ hình lab ảo VMWare 58 4.1.2 Mơ hình lab thực tế công ty làm việc 59 4.2 Các bước cài đặt, triển khai 60 4.3 Kịch test .60 4.3.1 Kịch 1: Test khả chọn hướng có Best QoS 60 4.3.2 Kịch 2: Test khả tự thay đổi hướng truyền liệu Best QoS thay đổi băng thông nghẽn 63 TỔNG KẾT VÀ HƯỚNG PHÁT TRIỂN 65 Kết đạt .65 Vấn đề tồn đọng 65 Hướng phát triển 65 TÀI LIỆU THAM KHẢO 66 iii DANH MỤC CÁC CHỮ VIẾT TẮT Viết tắt Tiếng Anh Tiếng Việt IP Internet Protocol Giao thức Internet QoS Quality of Service Chất lượng dịch vụ VM Virtual Machine Máy ảo 12 file database Nếu phát thông tin khơng cịn xác với cập nhật Dưới phương thức class DatabaseUpdate: readFile() writeFile() parseIPFromDatabaseLine() parseQoSFromDatabaseLine() lookupDatabase() compareQoSInDatabaseAndBestQoS() deleteLineInDatabaseFile() addInfoToGuessDabase() run() 3.3 Đánh giá chương trình a) Ưu điểm Chương trình cân tải “BestQoS” điều phối lưu lượng hiệu so với chương trình biết Dữ liệu ưu tiên qua hướng có chất lượng tốt nhất, trường hợp hướng nghẽn lái qua kết nối có chất lượng thấp nhì, thấp ba,…Như vậy, lợi ích chương trình lưu lượng mạng vừa chuyển hướng có QoS tốt, vừa giúp cho kết nối không bị nghẽn 13 Trong lúc chương trình tính tốn BestQoS gói tin bình thường Do đó, tốc độ truyền gói tin nhanh thể khơng có can thiệp hệ thống b) Nhược điểm Vì giai đoạn thử nghiệm nên cách viết code hỗ trợ kết nối cân tải (trong giải thuật lại không giới hạn số lượng kết nối) Các gói tin session bị thay đổi hướng (Do trạng thái QoS thay đổi interface bị nghẽn nên chương trình phải lái gói tin hướng khác) 3.4 Hướng phát triển chương trình Chương trình hỗ trợ nhiều kết nối gói tin session ln đường 14 Chương KẾT QUẢ TEST TRONG MÔI TRƯỜNG THỬ NGHIỆM VÀ THỰC TẾ 4.1 Mơ hình test 4.1.1 Mơ hình lab ảo VMWare /24 1.0 168 192 100 e0 Internet Gateway 10.20.3.0/24 e1 e0 e2 Load-Balancer (LB) Client 192 168 2.0 /24 Internet Gateway Hình 4.1: Mơ hình lab ảo VMWare 4.1.2 Mơ hình lab thực tế cơng ty làm việc 1 168 192 100 e0 Server 17 Internet ISP X Modem ISPX 10.20.3.0/24 Staff 0/2 e0 e1 e2 Load-Balancer (LB) 192 168 2.0 /24 NetNam 19 HVB_68 Modem NetNam Hình 4.2: Mơ hình lab thật cơng ty NetNam Internet 15 4.2 Các bước cài đặt, triển khai 4.3 Kịch test 4.3.1 Kịch 1: Test khả chọn hướng có BestQoS 8.8.8.8 8.8.4.4 168 192 e0 100 10.20.3.0/24 8.8.8.8 8.8.4.4 Gateway 2 e0 e1 e2 Load-Balancer (LB) Client /24 1.0 192 168 2.0 /24 Lo = 8.8.8.8 X Gateway 8.8.4.4 GHI CHÚ Đường ĐƯỢC cân tải chọn để truyền gói tin Client 8.8.8.8 Đường KHÔNG ĐƯỢC cân tải chọn để truyền gói tin Client 8.8.8.8 8.8.8.8 Đường ĐƯỢC cân tải chọn để truyền gói tin Client 8.8.4.4 Đường KHƠNG ĐƯỢC cân tải chọn để truyền gói tin Client 8.8.4.4 Hình 4.3: Kịch (Test khả chọn hướng có BestQoS) a) Ngữ cảnh Danh sách thiết bị hệ thống gồm có client, loadbalancer gateway Trong đó, gateway nối với internet thật Còn gateway server có địa loopback 8.8.8.8 để giả lập internet Các kết nối hoạt động tốt cịn trống băng thơng b) Sự kiện 16 Client thực lệnh “ping 8.8.8.8” “ping 8.8.4.4” c) Phản ứng Chương trình cân tải server load-balancer sẽ: Lái gói tin 8.8.8.8 thơng qua gateway 2: Vì gateway hướng có QoS tốt đến 8.8.8.8 (gateway cấu hình IP 8.8.8.8, từ gateway đến 8.8.8.8 phải qua nhiều router) Lái gói tin 8.8.4.4 thơng qua gateway 1: Vì gateway hướng có QoS tốt đến 8.8.4.4 (gateway khơng có cấu hình IP 8.8.4.4, nên load-balancer có đường đến 8.8.8.8 thông qua gateway 1) d) Kết kiểm tra phản ứng kịch Dựa vào kết traceroute từ client đến 8.8.8.8 8.8.4.4 cho thấy gói tin hướng mong muốn 17 4.3.2 Kịch 2: Test khả tự thay đổi hướng truyền liệu BestQoS thay đổi băng thông nghẽn Ngữ cảnh: Load-Balancer chọn Gateway để đến 8.8.8.8 (vì hướng có QoS tốt nhất) 8.8.8.8 Gateway Client Load-Balancer (LB) Lo = 8.8.8.8 Gateway Sự kiện: Vì lý đó, QoS 8.8.8.8 thơng qua Gateway khơng cịn tốt 8.8.8.8 Gateway Client Load-Balancer (LB) Rớt gói Lo = 8.8.8.8 Gateway Phản ứng: Loadbalancer lái gói tin 8.8.8.8 thơng qua Gateway 8.8.8.8 Gateway Client Load-Balancer (LB) Rớt gói Lo = 8.8.8.8 Gateway Hình 4.4: Kịch (Test khả tự thay đổi hướng truyền liệu BestQoS thay đổi băng thông nghẽn) 18 a) Ngữ cảnh Các kết nối hoạt động tốt cịn trống băng thơng Client thực lệnh “ping 8.8.8.8” (tức gởi gói tin ICMP đến 8.8.8.8) Bộ cân tải lái liệu qua gateway (vì hướng QoS tốt cịn trống băng thông) b) Sự kiện Tại gateway giới hạn băng thơng cách chạy script cấu hình từ trước Khi đó, từ cân tải 8.8.8.8 thơng qua gateway có tỉ lệ rớt gói cao (giả lập trường hợp best QoS bị thay đổi) c) Phản ứng Bộ cân tải tự động nhận biết thay đổi hướng có Best QoS đến 8.8.8.8, sau lái gói tin 8.8.8.8 thơng qua gateway d) Kết kiểm tra phản ứng kịch Dựa vào kết traceroute máy client cho thấy lưu lượng 8.8.8.8 tự động đổi qua hướng gateway (trước hướng gateway 2) 19 TỔNG KẾT VÀ HƯỚNG PHÁT TRIỂN Kết đạt a) Đã đề xuất giải thuật cho cân tải Giải thuật dựa vào đủ tiêu chí sau để định đường cho gói tin: Tỉ lệ rớt gói (loss) Độ trễ (latency) Biến thiên độ trễ (jitter) Băng thơng (bandwidth) b) Đã xây dựng trình trình cân tải từ giải thuật đề xuất Kết chương trình cho thấy cân tải điều phối lưu lượng thông minh, hiệu Dữ liệu ln ưu tiên kết nối có QoS tốt nhất, hướng bị nghẽn liệu lái tạm qua hướng khác có QoS thấp Đặc biệt QoS thay đổi kết nối cân tải tự động phát hiện, tìm đường tốt khác để thay Vấn đề tồn đọng Chương trình hỗ trợ hai interface nối với gateway Chương trình chưa trì phiên làm việc trường hợp QoS bị thay đổi 20 Hướng phát triển Tinh chỉnh lại code để: số lượng interface khơng bị giới hạn chương trình trì phiên làm việc cho người dùng QoS bị thay đổi Xây dựng chương trình dạng web để người dùng dễ thay đổi cấu hình: số lượng kết nối, trọng số cho interface, băng thông tối đa, xếp độ ưu tiên QoS,… 21 TÀI LIỆU THAM KHẢO Tài liệu tiếng Anh [1] Aliyildiz (2006), Resource-aware load balancing system with artificial neural networks, Middle east technical university [2] Arjun Singh (2005), Load-balanced routing in interconnection, Stanford university [3] Chulunsuren Damdinsuren (2012), Load Balancing Techniques for Lifetime Prolonging in Smart Metering System, Osaka University [4] IBM corp (2006), Load Balancer Administration Guide, ACM Press [5] Jagnyashini Debadarshini (2008), Algorithms for load balancing in distributed network, National Institute of Technology Rourkela in India [6] Jean Ghanem (2002), Implementation of Load Balancing Policies in Distributed Systems, American University of Beirut [7] Lukas Kencl (2003), Load sharing for multiprocessor network nodes, Ecole Polytechnique Federale de Lausanne [8] Sundar Iyer (2008), Load balancing and parallelism for the internet, Stanford university 22 [9] Warren W Gray (2000), Linux Socket Programming by Example, Lisa England [10] Zhenhai SHAO and Masayuki FUJISE (2006), Efficient Load balancing in MANETs to Improve Network Performance, National Institute of Information Communication Technology Japan CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự - Hạnh phúc -Ảnh 4x6 (đóng dấu giáp lai quan quản lý quyền địa phương) LÝ LỊCH KHOA HỌC (Dùng cho nghiên cứu sinh học viên cao học) LÝ LỊCH SƠ LƯỢC Họ tên: Mai Quốc Duy Nơi sinh: Gia Lai Ngày tháng năm sinh: 15/09/1987 Giới tính: Nam Quê quán: Quảng Phước – Quảng Điền – Thừa Thiên Huế Dân tộc: Kinh Chức vụ, đơn vị công tác trước học tập, nghiên cứu: Nhân viên quản trị mạng - Công ty cổ phần NetNam (chi nhánh Hồ Chí Minh) Chổ riêng địa liên lạc xác: 76B Phan Tây Hồ, phường 7, quận Phú Nhuận, TP Hồ Chí Minh Điện thoại liên lạc di động (số dùng thường xun): 0989 226 090 Điện thoại nhà riêng: Khơng có Điện thoại quan : 08 39976400 Email: maiquocduy@gmail.com QUÁ TRÌNH ĐÀO TẠO Đại học: Hệ đào tạo: Chính quy Thời gian đào tạo từ: 09/2006 đến 12/2010 Nơi học (trường, thành phố): Học viện cơng nghệ bưu viễn thông TP HCM Ngành học: Công nghệ thông tin Tên đồ án, luận án môn thi tốt nghiệp: QoS Linux Ngày nơi bảo vệ đồ án, luận án thi tốt nghiệp: 01/10/2009 Đại học Kỹ thuật công nghệ – TP HCM Người hướng dẫn: TS Lê Mạnh Hải Thạc sĩ: Hệ đào tạo: Chính quy Thời gian đào tạo từ: 2010 đến 2012 Nơi học (trường, thành phố): Học viện công nghệ bưu viễn thơng TP HCM Ngành học: Hệ thống thơng tin Tên luận văn: Cân tải truyền liệu nhiều kết nối Ngày nơi bảo vệ luận văn: 10/2013 - Học viện cơng nghệ bưu viễn thông TP HCM Trang Người hướng dẫn: TS Võ Văn Khang Trình độ ngoại ngữ (biết ngoại ngữ gì, mức độ): Tiếng Anh (khá) Học vị, học hàm, chức vụ kỹ thuật thức cấp; số bằng, ngày nơi cấp: Học vị: Kỹ sư công nghệ thông tin (Bằng số cấp ngày Đại học Kỹ thuật công nghệ TP.HCM) Chức vụ kỹ thuật: Nhân viên quản trị mạng công ty cổ phần NetNam (chi nhánh Hồ Chí Minh) Q TRÌNH CƠNG TÁC CHUYÊN MÔN KỂ TỪ KHI TỐT NGHIỆP ĐẠI HỌC Thời gian 2010 – Nơi công tác Công ty cổ phần NetNam (chi nhánh Hồ Chí Minh) Cơng việc đảm nhiệm Nhân viên quản trị mạng CÁC CÔNG TRÌNH KHOA HỌC ĐÃ CƠNG BỐ: LỜI CAM ĐOAN Tôi xin cam đoan lời khai thực, có điều khai man tơi xin chịu trách nhiệm hồn toàn XÁC NHẬN Ngày 01 tháng 08 năm 2013 Của quyền địa phương/Cơ quan Người khai (Ký ghi rõ họ tên) Trang TẬP ĐỒN BƯU CHÍNH VIỄN THƠNG VIỆT NAM HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự - Hạnh phúc BẢNG NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN LUẬN VĂN TỐT NGHIỆP CAO HỌC Tên đề tài luận văn: Cân tải truyền liệu nhiều kết nối Chuyên ngành: Hệ thống thông tin Mã số: 60.48.01.04 Tên học viên: Mai Quốc Duy Họ tên giáo viên hướng dẫn: Võ Văn Khang Học hàm, học vị: Tiến sĩ Nơi công tác: Ngân hàng Sacombank Số điện thoại liên hệ: 0909 387 027 NỘI DUNG NHẬN XÉT I/ Đánh giá chung luận văn: II/ Tinh thần, thái độ học viên: III/ Kết luận: IV/ Điểm đánh giá: Ngày tháng năm 2013 Giáo viên hướng dẫn (Ký ghi rõ họ tên) TS Võ Văn Khang ... 22 Bắt đầu - Gói gin - Trọng số kết nối - Tính băng thơng sử dụng kết nối - Tính “băng thông theo trọng số” cho kết nối Băng thông theo trọng số = “Băng thông sử dụng” chia “Trọng số” - Lập danh... nối) 26 Bắt đầu - Gói gin - Trọng số kết nối - Tính số kết nối kết nối - Tính “số kết nối theo trọng số” cho kết nối Số kết nối theo trọng số = “số kết nối” chia cho “Trọng số” - Lập danh sách... tải (load-balancer) Hình 2.2: Ví dụ cân tải kết nối (link load-balancer) Hình 2.3: Tổng quát cân tải kết nối (link load-balancer) 10 Hình 2.4: Giải thuật “xoay vịng” (round-robin)