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.
124 trang |
Chia sẻ: vietpd | Lượt xem: 1384 | Lượt tải: 0
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