Ngày nay,mạng máy tính toàncầu hay còngọi làmạng Internet đang phát
triển mộtcáchmạnh mẽvà rộng lớn, trởthành nơi trao đổi thông tinvà lưu trửdữ
liệu vớikhốilượng khổng lồ. Các công ngh ệmới, các giao th ức mới nhanh chóng
được ra đời và triển khai trênthựctế nhằm đáp ứng chosự phát triển nhưvũ bão,
cũng như các đòi hỏingày càng kh ắc khecủa mạng máy tính tương lai.
Internet giờ đây đã trở nên quá đồsộ và phứctạp đếnnỗi chúng ta khó có th ể
hiểu được cách thức hoạt động và nguyêntắcvận hànhcủa nó trong thờikỳmới.
Do đó, đốivới các nhà nghiêncứu và phát triển, việc kiểm trasự hoạt độngcủa
các tínhnăngmới, các giao thứcmới (như các giao thức truyềndữ liệu, các giao
thức định tuyến, )trước khi triển khaitrênthựctế làrất quantrọng vàcần thiết.
Công việc này không những giúp giảmrủi ro và chi phí mà còn đảmbảosự chắc
chắn và tính ổn địnhcủa việc triển khai các công nghệmới. Chính vì thế màmột
môi trường giảlậpmạng hoàn chỉnh là côngcụ thiếtyếu cho việc kiểm tra, thử
nghiệm các công nghệmới trên cácmạng lớn cócấu trúcphứctạp.
Ngoàimục đích kinhtế thươngmại, các côngcụ giảlậpmạng còn góp phần
rấtlớn trong việchổ trợ cho cácmục đíchhọctập và nghiêncứucủa sinh viên,
giảng viên chuyên ngànhmạng máy tính ở các trường Đạihọc-Cao đẳng,cũng
như các cá nhân, tổ chức đang làm việc trong lỉnh vực mạng.
Hiện nay, các côngcụ và môi trường giảlậpmạng xuất hiện chưa nhiều trong
khi nhucầucủa thị trường làrấtlớn, nhất là khimạng không dây ra đời và ngày
càng trở nên phổ biến thì nhucầu này càng tr ở nêncấp thiết. Trong phạm vicủa
đề tài luậnvăntốt nghiệp – “tìm hiểu ngôn ngữ mô hình hóamạng và xây
dựngbộ côngcụ phát sinh Topology chomạng”, chúng tôisẽ nghiêncứu,
tìm hiểu các ngôn ngữ mô hình hóamạng đang đượcsửdụng thôngdụng, đồng
thời giới thiệu cácbộ côngcụ phát sinh Topology chomạng, vàcuối cùng là xây
dựngchương trình ứng dụng phát sinh Topology chomạng không dây cókếthợp
với mạng có dây.
226 trang |
Chia sẻ: tuandn | Lượt xem: 2045 | Lượt tải: 5
Bạn đang xem trước 20 trang tài liệu Luận văn Tìm hiểu ngôn ngữ mô hình hóa mạng và xây dựng bộ công cụ phát sinh Topology cho mạng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Nhận xét của giáo viên hướng dẫn
…………………………………………………………………
…………………………………………………………………
…………………………………………………………………
…………………………………………………………………
…………………………………………………………………
…………………………………………………………………
…………………………………………………………………
…………………………………………………………………
…………………………………………………………………
…………………………………………………………………
Nhận xét của giáo viên phản biện
…………………………………………………………………
…………………………………………………………………
…………………………………………………………………
…………………………………………………………………
…………………………………………………………………
…………………………………………………………………
…………………………………………………………………
…………………………………………………………………
…………………………………………………………………
…………………………………………………………………
LỜI CẢM ƠN
Chúng con xin tỏ lòng biết ơn sâu sắc đến ba mẹ và gia đình đã nuôi dưỡng, giáo
dục và tạo điều kiện tốt nhất cho chúng con thực hiện đề tài này.
Chúng em xin chân thành cảm ơn khoa Công nghệ thông tin và quý Thầy, Cô
trong khoa, trường Đại học Khoa học Tự nhiên TpHCM đã tạo điều kiện cho chúng
em học tập và thực hiện luận văn tốt nghiệp này.
Đặc biệt, chúng em xin chân thành cảm ơn Thầy Phan Xuân Huy đã tận tình
hướng dẫn, chỉ bảo chúng em trong quá trình thực hiện đề tài.
Mặc dù chúng em đã cố gắng hoàn thành luận văn với tất cả sự nỗ lực của bản
thân, nhưng luận văn chắc chắn không tránh khỏi những thiếu sót nhất định, kính
mong sự cảm thông và tận tình chỉ bảo của quý Thầy, Cô và các bạn.
Phú Quý&Quang Hiếu
Tháng 7/2005
4
MỤC LỤC
Trang
Danh sách các bảng................................................................................................ 12
Danh sách các hình ................................................................................................ 14
Danh sách các từ viết tắt ........................................................................................ 18
Tóm tắt luận văn .................................................................................................... 22
Chương mở đầu ..................................................................................................... 24
1. Dẫn nhập................................................................................................. 24
2. Mục đích và ý nghĩa đề tài....................................................................... 25
3. Đối tượng và phạm vi nghiên cứu............................................................ 25
A. Ngôn ngữ mô hình hóa mạng và các môi trường giả lập mạng .......................... 27
Phần 1 SSFNet Models và Domain Modeling Language......................... 27
Chương 1 SSF và SSFNet Models .................................................... 28
1.1 SSF Model............................................................................. 28
1.1.1 Giới thiệu.................................................................... 28
1.1.2 Các đặc tính của SSF .................................................. 28
1.1.3 Các phiên bản cài đặt của SSF .................................... 28
1.1.4 Giới thiệu các lớp cơ sở của SSF................................. 29
1.1.5 Trình tự quá trình giả lập............................................. 34
1.2 SSFNet Model ....................................................................... 36
1.2.1 Giới thiệu.................................................................... 36
1.2.2 Tổ chức thư mục SSFNet ............................................ 38
1.2.3 Các giao thức hổ trợ trong SSFNet.............................. 38
1.2.4 Các gói thư viện trong SSFNet.................................... 39
1.2.4.1 SSF.OS................................................................. 39
1.2.4.2 SSF.Net ................................................................ 40
Chương 2 Domain Modeling Language ............................................ 42
2.1 Giới thiệu ngôn ngữ DML ..................................................... 42
5
2.1.1 DML là gì?.................................................................. 42
2.1.2 Cấu trúc ngữ pháp của DML....................................... 42
2.1.3 Quá trình biên dịch DML............................................ 44
2.2 Các bước cài đặt và biên dịch chương trình............................ 45
2.2.1 Môi trường Windows .................................................. 45
2.2.2 Môi trường Unix ......................................................... 48
2.3 Các đối tượng và thuộc tính của DML .................................. 48
2.3.1 Đối tượng Net ............................................................. 50
2.3.1.1 Định nghĩa và khai báo ......................................... 50
2.3.1.2 Các thuộc tính của Net.......................................... 52
2.3.2 Đối tượng Host ........................................................... 54
2.3.2.1 Định nghĩa và khai báo ......................................... 54
2.3.2.2 Các thuộc tính của Host ........................................ 54
2.3.3 Đối tượng Router ........................................................ 56
2.3.3.1 Định nghĩa và khai báo ......................................... 56
2.3.3.2 Các thuộc tính của Router ..................................... 57
2.3.4 Link ............................................................................ 58
2.3.4.1 Định nghĩa và khai báo ......................................... 58
2.3.4.2 Các thuộc tính của Link ........................................ 59
2.3.5 Traffic......................................................................... 60
2.3.5.1 Định nghĩa và khai báo ......................................... 60
2.3.5.2 Các thuộc tính của Traffic..................................... 60
2.3.6 Protocol ...................................................................... 60
2.3.6.1 Định nghĩa và khai báo ......................................... 60
2.3.6.2 Các thuộc tính của Protocol .................................. 61
2.3.6.3 Cấu hình một Host là FTP Client ......................... 65
2.3.6.4 Cấu hình một Host là FTP Server.......................... 66
2.4 Ciao thức BGP và SSFNet ................................................... 67
2.4.1 Giới thiêu về giao thức BGP ....................................... 67
6
2.4.2 Các yếu tố đánh giá BGP ............................................ 69
2.4.3 BGP trong SSFNet...................................................... 71
2.4.3.1 Các mô hình tùy chọn cấu hình BGP .................... 71
2.4.3.2 Tạo các sub-network và các AS ............................ 71
2.4.3.3 Chồng giao thức cấu hình cho Boundary Router ... 72
2.4.3.4 Các thuộc tính của BGP........................................ 73
2.5 Các từ khóa hổ trợ trong DML............................................... 75
2.5.1 Từ khóa _extend ......................................................... 75
2.5.2 Từ khóa _find ............................................................. 75
2.5.3 Từ khóa _dictionary .................................................... 76
2.5.4 Ví dụ minh họa ........................................................... 76
Phần 2 Công cụ giả lập mạng NS-2 và Ngôn ngữ TCL ........................... 78
Chương 3 Công cụ giả lập mạng NS-2 ............................................. 78
3.1 Tổng quan về NS-2 ............................................................. 78
3.2 Kiến trúc của NS-2 .............................................................. 78
3.3 Các thành phần cấu hình mạng trong NS-2 .......................... 81
3.3.1 Lớp Simulator ............................................................... 78
3.3.1.1 Khởi tạo đối tượng Simulator................................ 78
3.3.1.2 Các bộ lập lịch và các sự kiện .............................. 78
3.3.1.3 Các phương thức khác ......................................... 83
3.3.1.4 Tóm tắt ................................................................ 83
3.3.2 Cấu hình Node ............................................................. 84
3.3.2.1 Tạo Node ............................................................. 84
3.3.2.2 Cấu hình cho MobileNode ................................... 84
3.3.2.3 Cấu hình cho Base-Station Node .......................... 85
3.3.2.4 Bảng tóm tắt các tham số cấu hình cho Node ....... 85
3.3.3 Tạo liên kết cho các Node ............................................ 87
3.4 Các Agent trong NS-2 .......................................................... 88
3.4.1 Giới thiệu ..................................................................... 88
7
3.4.2 UDP Agent .................................................................. 89
3.4.3 TCP Agent ................................................................... 91
3.4.3.1 Một số TCP agent bên gởi ................................... 92
3.4.3.1.1 TCP Tahoe .................................................. 92
3.4.3.1.2 TCP Reno .................................................... 93
3.4.3.1.3 TCP Newreno .............................................. 94
3.4.3.2 Một số TCP agent bên nhận ................................. 94
3.4.3.3 TCP agent hai chiều ............................................. 95
3.4.4 Các ví dụ minh họa ...................................................... 96
3.5 Ứng dụng trong NS-2 ........................................................... 97
3.5.1 Lớp Application ........................................................... 97
3.5.2 Phân loại ứng dụng ...................................................... 97
3.5.2.1 Ứng dụng phát sinh lưu lượng mạng .................... 98
3.5.2.2 Ứng dụng giả lập mạng ........................................ 99
3.5.3 Các ví dụ minh họa .................................................... 100
3.6 Mạng không dây trong NS-2 .............................................. 101
3.6.1 Các thành phần cấu hình của một MobileNode .......... 101
3.6.2 Tạo mô hình mạng không dây trong NS-2 .................. 101
3.6.3 Tạo kịch bản chuyển động cho các Node .................... 103
3.6.4 Giao thức định tuyến cho mạng không dây ................. 104
3.6.4.1 Giới thiệu tổng quan .......................................... 104
3.6.4.2 Giao thức định tuyến TORA .............................. 106
3.6.4.3 Giao thức định tuyến DSDV .............................. 108
3.6.4.4 Giao thức định tuyến DSR ................................. 110
3.6.4.5 Giao thức định tuyến AODV ............................. 112
Chương 4 Ngôn ngữ TCL ................................................................ 117
4.1 Tổng quan và một số đặc điểm của ngôn ngữ TCL ............. 117
4.2 Cú pháp của TCL ............................................................... 118
4.2.1 Khai báo biến và mảng ............................................... 118
8
4.2.2 Các biểu thức toán học trong TCL .............................. 119
4.2.3 Thay thế và lập nhóm ................................................. 120
4.2.3.1 Thay thế ............................................................. 120
4.2.3.2 Lập nhóm ........................................................... 121
4.2.4 Cấu trúc điều khiển .................................................... 121
4.2.4.1 Điều kiện if ........................................................ 121
4.2.4.2 Vòng lặp for ....................................................... 121
4.2.4.3 Vòng lặp while .................................................. 122
4.2.4.4 Thủ tục .............................................................. 122
4.2.4.5 Tập lệnh của TCL .............................................. 124
4.2.4.5.1 Nhóm lệnh điều khiển ................................ 124
4.2.4.5.2 Nhóm lệnh sự kiện ..................................... 125
4.2.4.5.3 Nhóm lệnh về file ...................................... 125
4.2.4.5.4 Nhóm lệnh trên danh sách ......................... 126
4.2.4.5.5 Nhóm lệnh trên xử lý chuỗi ....................... 127
4.2.4.5.6 Nhóm lệnh trên xử lý biến ......................... 127
4.2.4.5.7 Nhóm lệnh về thời gian ............................. 128
Chương 5 Ngôn ngữ hướng đối tượng Otcl ...................................... 133
5.1 Otcl là ngôn ngữ hướng đối tượng của TCL ....................... 133
5.2 Lớp và đối tượng trong Otcl ............................................... 133
5.3 Phương thức khởi tạo và hủy cho lớp ................................. 133
5.4 Khai báo các phương thức cho lớp ..................................... 134
5.5 Khai báo các thành phần dữ liệu ......................................... 135
B. Giới thiệu các công cụ phát sinh Topology mạng ............................................ 137
Phần 3 Các công cụ hổ trợ ngôn ngữ DML ........................................... 137
Chương 6 DMLEditor..................................................................... 138
6.1 Giới thiệu............................................................................. 138
6.2 Các tính năng nổi bật của DMLEditor.................................. 138
6.3 Các bước cài đặt DMLEditor ............................................... 138
9
6.4 Quá trình thiết kế trên DMLEditor....................................... 139
Chương 7 RacewayViewer ............................................................. 143
7.1 Giới thiệu............................................................................. 143
7.2 Các tính năng nổi bật của RacewayViewer .......................... 143
7.3 Các bước cài đặt RacewayViewer........................................ 143
7.4 Quá trình thiết kế trên RacewayViewer................................ 144
Chương 8 NetViewer ...................................................................... 148
8.1 Giới thiệu............................................................................. 148
8.2 Các tính năng nổi bật của NetViewer ................................... 148
8.3 Các bước cài đặt NetViewer ................................................ 148
8.4 Quá trình thiết kế trên NetViewer ........................................ 149
Phần 4 Các công cụ hổ trợ ngôn ngữ TCL ............................................ 155
Chương 9 BRITE............................................................................ 155
9.1 Thiết kế và cài đặt BRITE .................................................. 155
9.1.1 Download và cài đặt BRITE........................................ 156
9.1.2 Giao diện bằng GUI .................................................... 158
9.1.3 Giao diện bằng dòng lệnh............................................ 158
9.1.4 Các file cấu hình ......................................................... 159
9.1.5 Định dạng output của BRITE ...................................... 160
9.2 Kiến trúc của BRITE .......................................................... 162
9.2.1 Qui trình làm viêc của BRITE .................................... 162
9.2.2 Kiến trúc của BRITE .................................................. 162
9.2.2.1 Lớp Model ......................................................... 163
9.2.2.1.1 Mô hình đẳng cấp Router-level .................. 164
9.2.2.1.2 Mô hình đẳng cấp AS-level ....................... 166
9.2.2.1.3 Mô hình phân cấp top-down ...................... 166
9.2.2.1.4 Mô hình phân cấp botton-up ...................... 167
9.2.2.1.5 Mô hình Imported File ............................... 167
9.3 Các tham số trong giao diện BRITE ................................... 168
10
9.4 Hạn chế của BRITE ............................................................ 170
Chương 10 NS-2 và NAM ................................................................ 171
10.1 Cài đặt NS-2 và NAM trên Window.................................. 171
10.1.1 Download NS-2 và NAM ......................................... 171
10.1.2 Cài đặt NS-2 ............................................................ 171
10.1.3 Chạy NS-2 và NAM ................................................. 172
10.2 Cài đặt NS-2 và NAM trên Linx ....................................... 173
10.2.1 Download NS-2 và NAM ......................................... 173
10.2 .2 Cài đặt ..................................................................... 174
10.2.3 Chạy NS-2 và NAM ................................................. 175
Phần 5 Các công cụ khác ...................................................................... 176
Chương 11 Otter ............................................................................... 176
11.1 Giới thiệu .......................................................................... 176
11.2 Các tính năng nổi bật của Otter.......................................... 176
11.3 Các bước cài đặt Otter ....................................................... 177
11.4 Quá trình thiết kế trên Otter............................................... 178
C. Xây dựng chương trình ứng dụng BRITE........................................................ 182
Phần 6 Cơ sở lý thuyết .......................................................................... 182
Chương 12 Lý thuyết cơ bản về mạng không dây ............................. 183
12.1 Giới thiệu ......................................................................... 183
12.1.1 Mạng không dây cố định .......................................... 184
12.2.2 Mạng không dây di động .......................................... 185
12.2 Mạng MANET ................................................................. 185
12.2.1 Tổng quan về mạng MANET ................................... 185
12.2.2 Phân loại mạng MANET theo cách thức định tuyến . 186
12.2.2.1 Mạng MANET định tuyến Single-hop ............ 186
12.2.2.2 Mạng MANET định tuyến Multi-hop ............... 186
12.2.2.3 Mô hình MANET định tuyến MobileMulti-hop 187
12.2.3 Phân loại mạng MANET theo chức năng của Node .. 187
11
12.2.3.1 Mạng MANET đẳng cấp .................................. 187
12.2.3.2 Mạng MANET phân cấp .................................. 187
12.2.3.3 Mạng MANET kết hợp .................................... 188
Phần 7 Xây dựng ứng dụng................................................................... 190
Chương 13 Giới thiệu ứng dụng ........................................................ 190
13.1 Giới thiệu ......................................................................... 190
13.2 Ngôn ngữ cài đặt và tính tương thích ................................ 190
13.3 Các mô hình mạng trong ứng dụng ................................... 191
13.3.1 Mạng MANET ......................................................... 191
13.3.2 Wired-cum-Wireless ................................................ 191
Chương 14 Các chức năng chính của ứng dụng................................. 192
14.1 Giới thiệu các lớp trong module wireless .......................... 192
14.2 Giao diện chính module Wireless ..................................... 193
14.3 Cấu hình các wireless node ............................................... 196
14.4 Tạo kịch bản chuyển động ................................................ 199
14.4.1 Tạo bằng tay ....................................................... 201
14.4.2 Tạo ngẫu nhiên ................................................... 202
14.4.3 Ý nghĩa của tạo bằng tay và ngẫu nhiên ............... 202
14.5 Tạo kịch bản ứng dụng ..................................................... 202
14.6 Giải thuật phát sinh số Domain và Cluster ......................... 204
14.7 Tiến hành giả lập ............................................................... 206
14.7.1 Các bước xây dựng kịch bản và biên dịch ................. 206
14.7.2 Các ví d