Đề tài Xây dựng một traffic balancing layer 2 trên nền softswitch

Yêu cầu về băng thông luôn là một vấn đề làm “đau đầu” các nhà quản trị mạng, dù rằng tốc độ của những thiết bị mạng ngày càng được cải thiện và nâng cao. Một trong các hướng giải quyết mâu thuẫn giữa nhu cầu về băng thông và băng thông thực tế của mạng truyền thông là kỹ thuật cân bằng tải.

pdf124 trang | Chia sẻ: vietpd | Lượt xem: 1376 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Đề tài Xây dựng một traffic balancing layer 2 trên nền softswitch, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
KH OA C NT T – Đ H KH TN Lời cám ơn LỜI CÁM ƠN Chúng tôi vô cùng biết ơn sự dìu dắt và hướng dẫn tận tình, chu đáo của thầy Cao Đăng Tân, trưởng bộ môn Mạng Máy Tính và Viễn Thông, trong suốt quá trình thực hiện luận văn này. Thầy luôn theo sát từng bước đi của chúng tôi, gợi mở cho chúng tôi cách thức để giải quyết các vấn đề gặp phải khi tiến hành nghiên cứu đề tài này. Thông qua các cuộc thảo luận, thầy không chỉ giúp chúng tôi hiểu rõ bản chất của một vấn đề cụ thể cần nghiên cứu mà còn hướng chúng tôi tìm hiểu những trường hợp tổng quát, những vấn đề liên quan có thể nảy sinh. Thêm vào đó, phong cách làm việc của thầy là tấm gương thúc đẩy chúng tôi hăng say nghiên cứu hơn. Chúng tôi xin bày tỏ lòng biết ơn chân thành đến tất cả các thầy cô, những người đã dạy dỗ, truyền đạt và trang bị cho chúng tôi nguồn tri thức khoa học rộng lớn về tự nhiên và xã hội trong những năm ngồi ở ghế giảng đường đại học. Chúng tôi xin cảm ơn các anh Trương Bảo Long và Nguyễn Xuân Quang, tác giả của phần mềm SoftSwitch, đã nhiệt tình giúp đỡ và đóng góp ý kiến cho luận văn. Chúng tôi cũng xin gởi lời cám ơn đến bạn bè của chúng tôi, những người đã nhiệt tình giúp đỡ chúng tôi tìm kiếm các tài liệu cần thiết cho việc nghiên cứu, đóng góp những ý kiến quý báu cho luận văn cũng như động viên, khích lệ chúng tôi trong thời gian thực hiện đề tài này. Cuối cùng, chúng tôi muốn bày tỏ lòng biết ơn sâu sắc đến những người thân trong gia đình, đặc biệt là cha mẹ của chúng tôi, vì tất cả tấm lòng yêu thương bao la và sự chăm sóc ân cần mà họ dành cho chúng tôi. 1 KH OA C NT T – Đ H KH TN Mục lục MỤC LỤC LỜI CÁM ƠN............................................................................................................1 MỤC LỤC..................................................................................................................2 BẢNG HÌNH VẼ .......................................................................................................5 TÓM TẮT LUẬN VĂN............................................................................................7 1. GIỚI THIỆU..........................................................................................................9 1.1. Những kỹ thuật cân bằng tải giữa các server .............................................10 1.1.1. Xử lý các yêu cầu kết nối tập trung ....................................................11 1.1.2. Xử lý các yêu cầu kết nối phân tán .....................................................14 1.2. Cân bằng tải trong mạng nhiều bridge/switch nối với nhau ......................20 1.2.1. Per-VLAN Spanning Tree (PVST) và PVST+...................................22 1.2.2. Multiple Spanning Tree (MST) ..........................................................24 1.2.3. EtherChannel.......................................................................................27 1.3. Cân bằng tải trong mạng gồm nhiều router kết nối với nhau.....................28 1.3.1. Routing Information Protocol (RIP) ...................................................29 1.3.2. Interior Gateway Routing Protocol (IGRP) và Enhanced IGRP (EIGRP).............................................................................................................30 1.3.3. Open Shortest Path First (OSPF) ........................................................32 1.3.4. Per destination.....................................................................................32 1.3.5. Per packet............................................................................................33 2. TỔNG QUAN VỀ LAYER 2 SWITCH ............................................................35 2.1. Giới thiệu chung .........................................................................................35 2.2. Các chức năng điển hình của layer 2 switch ..............................................36 2.2.1. Chức năng học địa chỉ.........................................................................36 2.2.2. Quyết định forward/filter ....................................................................40 2.2.3. Chống Loop ........................................................................................41 2.2.4. Virtual LAN (VLAN) .........................................................................47 2.3. Các frame được truyền đi như thế nào .......................................................48 2.4. Switch “nói chuyện” với các thiết bị khác như thế nào .............................49 2 KH OA C NT T – Đ H KH TN Mục lục 3. TỔNG QUAN VỀ CÁC CHƯƠNG TRÌNH NETWORK SIMULATOR ....52 3.1. Lý do sử dụng Simulation ..........................................................................52 3.1.1. Định nghĩa...........................................................................................52 3.1.2. Mục đích .............................................................................................52 3.1.3. Những ưu khuyết điểm của hệ thống Simulation ...............................53 3.2. Các chương trình Simulation đang được sử dụng......................................53 3.2.1. MIT's NETSIM ...................................................................................53 3.2.2. NIST....................................................................................................54 3.2.3. CPSIM.................................................................................................54 3.2.4. INSANE..............................................................................................55 3.2.5. NEST 2.5.............................................................................................55 3.2.6. REAL 5.0 ............................................................................................56 3.2.7. NS version 2.0.....................................................................................57 3.3. Network Simulator .....................................................................................58 3.3.1. Kiến trúc..............................................................................................58 3.3.2. Sơ lược các thành phần tạo mô hình...................................................60 3.3.3. Sơ lược về NAM ( Network AniMator) .............................................63 3.3.4. Một chương trình ví dụ về NS ............................................................65 4. CÁC MÔ HÌNH SOFTSWITCH VÀ KẾT QUẢ KIỂM TRA.......................71 4.1. Các mô hình SoftSwitch.............................................................................72 4.2. Kết quả kiểm tra các mô hình SoftSwitch bằng NS...................................76 4.2.1. Kết quả kiểm tra mô hình 2.................................................................76 4.2.2. Kết quả kiểm tra mô hình 3.................................................................77 4.2.3. Kết quả kiểm tra mô hình 4.................................................................78 5. CÁC MÔ HÌNH CÂN BẰNG TẢI VÀ KẾT QUẢ KIỂM TRA ....................82 5.1. Các mô hình cân bằng tải đề nghị ..............................................................82 5.1.1. Theo số thread.....................................................................................82 5.1.2. Theo priority .......................................................................................85 5.2. Kết quả kiểm tra các mô hình.....................................................................87 5.2.2. Mô hình nhiều module cân bằng tải....................................................88 5.3. Kết luận ......................................................................................................89 6. CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT........................................................92 6.1. Cấu trúc dữ liệu ..........................................................................................92 6.1.1. Các hằng số được định nghĩa trong chương trình...............................92 6.1.2. Các biến toàn cục ................................................................................92 6.1.3. Cấu trúc dữ liệu cho forwarding table ................................................93 6.2. Giải thuật ....................................................................................................95 3 KH OA C NT T – Đ H KH TN Mục lục 7. ĐÁNH GIÁ VÀ KẾT LUẬN............................................................................102 7.1. Kết quả kiểm nghiệm ...............................................................................102 7.1.1. Mô hình 1 ..........................................................................................102 7.1.2. Mô hình 2 ..........................................................................................103 7.2. Kết quả đạt được ......................................................................................104 7.3. Đánh giá về chương trình SoftSwitch ......................................................104 7.3.1. Ứng dụng 1........................................................................................104 7.3.2. Ứng dụng 2........................................................................................105 7.4. Hướng mở rộng của chương trình ............................................................107 TÀI LIỆU THAM KHẢO ....................................................................................108 PHỤ LỤC...............................................................................................................111 4 KH OA C NT T – Đ H KH TN Bảng hình vẽ BẢNG HÌNH VẼ Hình 1-1 – 2-way packet rewriting ...........................................................................11 Hình 1-2 – 1-way packet rewriting ...........................................................................13 Hình 1-3 – Distributed packet rewriting ...................................................................15 Hình 1-4 – Thí dụ 1 về CST......................................................................................21 Hình 1-5 – Thí dụ 2 về CST......................................................................................22 Hình 1-6 – Thí dụ 1 về PVST và PVST+ .................................................................23 Hình 1-7 – Thí dụ 2 về PVST và PVST+ .................................................................23 Hình 1-8 – Internal Spanning Tree............................................................................26 Hình 1-9 – EtherChannel ..........................................................................................28 Hình 1-10 – Thí dụ 1 về RIP.....................................................................................29 Hình 1-11 – Thí dụ 2 về RIP.....................................................................................30 Hình 1-12 – IGRP .....................................................................................................31 Hình 2-1 – Generic Switch........................................................................................36 Hình 2-2 – Các bước học địa chỉ của Switch............................................................37 Hình 2-3 – Các bước học địa chỉ của Switch............................................................38 Hình 2-4 – Các bước học địa chỉ của Switch............................................................39 Hình 2-5 – Quyết định forward/filter ........................................................................40 Hình 2-6 – Loại bỏ Broadcast Storm ........................................................................43 Hình 2-7 – Loại bỏ truyền lặp nonbroadcast frame ..................................................44 Hình 2-8 – Loại bỏ tính không ổn định của MAC database .....................................46 Hình 3-1 - Quá trình biên dịch một tập tin *.tcl........................................................62 Hình 3-2 – Giao diện và các phím chức năng của NAM..........................................65 Hình 3-3 – Hình ảnh khi NS bắt đầu chạy. ...............................................................68 Hình 3-4 – Hình ảnh chụp được trong quá trình chạy NS .......................................69 Hình 3-5 – Khi kích chuột phải trên các packet, chọn Monitor...............................69 Hình 4-1 – Mô hình 1 của SoftSwitch ......................................................................72 Hình 4-2 – Mô hình 2 của SoftSwitch ......................................................................73 Hình 4-3 – Mô hình 3 của SoftSwitch ......................................................................74 Hình 4-4 – Mô hình 4 của SoftSwitch ......................................................................75 Hình 4-5 – Giao diện chương trình NS.....................................................................80 Hình 5-1 – Mô hình cân bằng tải Multi-thread 1-1...................................................83 Hình 5-2 – Mô hình cân bằng tải Multi-thread 1-n...................................................84 Hình 5-3 – Mô hình cân bằng tải sử dụng độ ưu tiên 1-1 .........................................85 Hình 5-4 – Mô hình cân bằng tải sử dụng độ ưu tiên 1-n .........................................86 Hình 6-1 – Mô hình cấu trúc của forwarding table...................................................93 Hình 7-1 – Mô hình PING ......................................................................................102 Hình 7-2 – Mô hình truyền file ...............................................................................103 5 KH OA C NT T – Đ H KH TN Bảng hình vẽ Hình 7-3 – Mô hình ứng dụng 1..............................................................................104 Hình 7-4 – Mô hính ứng dụng 2..............................................................................106 Hình phụ lục 1 – Giao diện chương trình................................................................112 Hình phụ lục 2 – Giao diện mô tả quá trình truyền nhận frame .............................113 Hình phụ lục 3 – MH2: Packet đi từ NIC ...............................................................113 Hình phụ lục 4 – MH2: Các packet bắt đầu đi đến Switching module...................114 Hình phụ lục 5 – MH2: Packet đang xử lý trong module Switching......................114 Hình phụ lục 6 – MH2: Packet đi ra khỏi module Switching để đến NIC .............115 Hình phụ lục 7 – MH2: Packet đến NIC.................................................................115 Hình phụ lục 8 – MH2 Drop: Packet bắt đầu đi từ NIC đến module Switching ....116 Hình phụ lục 9 – MH2 Drop: Packet đang xử lý ở module Switching, ô vuông màu xanh là packet bị drop do quá tải ....................................................................116 Hình phụ lục 10 – MH2 Drop: Packet được xử lý và đưa đến NIC........................117 Hình phụ lục 11 – MH2 Drop: Packet đến được NIC.............................................117 Hình phụ lục 12 – MH3: Packet bắt đầu di chuyển ................................................118 Hình phụ lục 13 – MH3: Sơ đồ Packet di chuyển...................................................118 Hình phụ lục 14 – MH3 Drop: Packet bắt đầu di chuyển.......................................119 Hình phụ lục 15 – MH3 Drop: Packet bị drop tại Switching do không xử lý kịp ..119 Hình phụ lục 16 – MH3 Drop: Sơ đồ di chuyển Packet .........................................120 Hình phụ lục 17 – MH4: Các packet bắt đầu di chuyển .........................................120 Hình phụ lục 18 – MH4: Sơ đồ packet di chuyển...................................................121 Hình phụ lục 19 – MH4 Drop: Packet bắt đầu di chuyển.......................................121 Hình 20 – MH4 Drop: Packet bị drop do Thread Send không xử lý kịp................122 Hình phụ lục 21 – MH4 Drop: Ban đầu thì Thread Send vẫn chưa bị quá tải, các packet vẫn đi đến đích.....................................................................................122 Hình phụ lục 22 – MH 1-N: Packet bắt đầu di chuyển...........................................123 Hình phụ lục 23 – MH 1-N: Sơ đồ các packet di chuyển .......................................123 Hình phụ lục 24 – MH 1-1: Packet bắt đầu di chuyển............................................124 Hình phụ lục 25 – MH 1-1: Sơ đồ packet di chuyển. .............................................124 6 KH OA C NT T – Đ H KH TN Tóm tắt luận văn TÓM TẮT LUẬN VĂN Yêu cầu về băng thông luôn là một vấn đề làm “đau đầu” các nhà quản trị mạng, dù rằng tốc độ của những thiết bị mạng ngày càng được cải thiện và nâng cao. Một trong các hướng giải quyết mâu thuẫn giữa nhu cầu về băng thông và băng thông thực tế của mạng truyền thông là kỹ thuật cân bằng tải. Cân bằng tải có thể được thực hiện ở các tầng 2, 3 và 4 của mô hình OSI. Hiện nay, có nhiều phương pháp được đề xuất cho phép thực hiện việc cân bằng tải giữa các collision domain (tầng 2) và giữa các broadcast domain (tầng 3, 4). Tuy nhiên, hầu như chưa có giải pháp và thiết bị nào cho phép thực hiện cân bằng tải giữa các collision domain dựa trên địa chỉ MAC. Chương 1 của luận văn này sẽ trình bày chi tiết đến các phương pháp cân bằng tải trên mạng đang được sử dụng phổ biến hiện nay. Kiến trúc, các chức năng chung cũng như cách thức nhận và truyền frame của một layer 2 switch điển hình sẽ được đề cập đến trong chương tiếp theo. Network Simulator (NS) version 2.0 là một chương trình mô phỏng hướng đối tượng, cho phép mô phỏng một mạng máy tính bao gồm các thành phần “cứng” của mạng như đường truyền, các thiết bị mạng, server, … và các hoạt động truyền thông giữa chúng. Nhóm thực hiện đề tài đã tiến hành nghiên cứu và sử dụng NS như là một môi trường mô phỏng các module “mềm” có trong một layer 2 switch, từ đó, cho phép kiểm tra và đánh giá các phương án khác nhau trong quá trình tìm ra mô hình thích hợp để giải quyết vấn đề được đặt ra. Các chương trình giả lập mạng đang được sử dụng hiện nay cũng như các vấn đề liên quan đến NS sẽ được trình bày trong chương 3 của luận văn. 7 KH OA C NT T – Đ H KH TN Tóm tắt luận văn SoftSwitch là một phần mềm cho phép biến một PC chạy hệ điều hành Linux thành một layer 2 switch đơn giản (chủ yếu đảm bảo chức năng switching), rẻ tiền nhưng rất hiệu quả về tốc độ. Các mô hình switching liên quan đến SoftSwitch được mô phỏng lại bằng NS để khẳng định các kết quả thực nghiệm là đáng tin cậy. Dựa trên những kết quả đánh giá có được thông qua việc mô phỏng nói trên, đề tài đã lựa chọn mô hình switching tốt nhất làm cơ sở cho việc đề xuất các giải pháp cân bằng tải trong một layer 2 switch. Các giải pháp này cũng được mô phỏng để lựa chọn ra một giải pháp tối ưu cho vấn đề. Cuối cùng, phần mềm tương ứng giải pháp tối ưu cho cân bằng tải trên một layer 2 switch được xây dựng trên cơ sở mở rộng phần mềm SoftSwitch. Các kết quả thử nghiệm, đánh giá và hướng phát triển của chương trình được đề cập ở chương cuối của luận văn. 8 KH OA C NT T – Đ H KH TN Chương 1 Giới Thiệu Chương 1 GIỚI THIỆU Ngày nay, công nghệ thông tin đã và đang đóng vai trò quan trọng trong đời sống kinh tế – xã hội của nhiều quốc gia trên thế giới, là một thành phần không thể thiếu trong một xã hội hiện đại. Nói đến công nghệ thông tin không thể không đề cập đến lĩnh vực mạng máy tính, đặc biệt là mạng Internet. Với sự phát triển mạnh mẽ và liên tục của công nghệ thông tin nói chung và công nghệ mạng nói riêng, Internet đang được sử dụng rộng rãi từ các cơ quan chính phủ, các công ty hoạt động trong nhiều lĩnh vực khác nhau