Download miễn phí 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


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ómtắt luậnvăn . 22
Chương mở đầu . 24
1. Dẫn nhập . 24
2. Mục đích và ý nghĩa đềtài. 25
3. Đốitượng và phạm vi nghiên cứu. 25
A.Ngôn ngữ mô hình hóamạng vàcác môitrường giảlậpmạng . 27
Phần 1 SSFNetModels và Domain Modeling Language . 27
Chương 1 SSFvà 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ênbản cài đặtcủa SSF . 28
1.1.4 Giới thiệu cáclớp cơsởcủaSSF. 29
1.1.5 Trình tựquá trình giảlập. 34
1.2 SSFNetModel . 36
1.2.1 Giới thiệu . 36
1.2.2Tổ 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
2.1.1 DML làgì?. 42
2.1.2Cấu trúc ngữphápcủa DML . 42
2.1.3 Quá trình biên dịch DML . 44
2.2 Cácbước cài đặt vàbiêndịch chương trình. 45
2.2.1 Môitrường Windows . 45
2.2.2 Môitrường Unix . 48
2.3 Các đốitượ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ộctính củaNet . 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ộctí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ộctí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ộctí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ộctí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ộctính của Protocol . 61
2.3.6.3 Cấu hìnhmộtHost là FTP Client . 65
2.3.6.4 Cấu hìnhmộtHostlà 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
2.4.2 Cácyếutố đánh giá BGP . 69
2.4.3 BGPtrong 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ộctính của BGP . 73
2.5 Cáctừ khóahổ trợ trong DML. 75
2.5.1Từkhóa _extend . 75
2.5.2Từkhóa _find . 75
2.5.3Từkhóa _dictionary . 76
2.5.4 Vídụminh họa . 76
Phần 2 Côngcụgiảlập mạng NS-2 và Ngôn ngữTCL . 78
Chương 3 Công c ụ giảlậpmạ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 đốitượng Simulator. 78
3.3.1.2 Các bộlậplịch và các sựkiện . 78
3.3.1.3 Các cách 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ênkếtcho 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 agentbê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 agentbên nhận . 94
3.4.3.3 TCP agent hai chiều . 95
3.4.4 Cácví dụminh họa . 96
3.5 Ứngdụng trong NS-2 . 97
3.5.1 LớpApplication . 97
3.5.2 Phân loại ứng dụng . 97
3.5.2.1 Ứngdụng phát sinh l ưulượng mạng . 98
3.5.2.2 Ứngdụng giảlập mạng . 99
3.5.3 Cácví dụminh họa . 100
3.6 Mạng không dây trong NS-2 . 101
3.6.1 Cácthành ph ầncấu hình củamộtMobileNode . 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ổngquan . 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.1Tổng quan vàmộtsố đặ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
4.2.2 Cácbiểu thứctoá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ênxửlý chuỗi . 127
4.2.4.5.6 Nhóm lệnh trênxử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.2Lớp và đốitượng trongOtcl . 133
5.3 cách khởitạo và hủy cholớp . 133
5.4 Khaibáo cácph ương thức cholớp . 134
5.5 Khaibáo cácthà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 chức năngnổibật của DMLEditor. 138
6.3 Cácbước cài đặt DMLEditor . 138
6.4 Quá trình thiếtkếtrên DMLEditor . 139
Chương 7 RacewayViewer . 143
7.1 Giới thiệu. 143
7.2 Các chức năngnổibật của RacewayViewer . 143
7.3 Cácbước cài đặt RacewayViewer . 143
7.4 Quá trình thiếtkếtrên RacewayViewer. 144
Chương 8 NetViewer . 148
8.1 Giới thiệu. 148
8.2 Các chức năngnổibật củaNetViewer . 148
8.3 Cácbước cài đặt NetViewer . 148
8.4 Quá trình thiếtkế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ếtkế và cài đặt BRITE . 155
9.1.1 Download và cài đặt BRITE. 156
9.1.2 Giao diệnbằng GUI . 158
9.1.3 Giao diệnbằng dòng lệnh. 158
9.1.4 Cácfilecấu hình . 159
9.1.5 Định dạng outputcủa BRITE . 160
9.2 Kiến trúccủaBRITE . 162
9.2.1 Qui trình làm viêccủa BRITE . 162
9.2.2 Kiến trúccủaBRITE . 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
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 ăngnổibật của Otter. 176
11.3 Cácbước cài đặt Otter . 177
11.4 Quátrình thi ếtkếtrên Otter . 178
C. Xây dựng chương trình ứng dụng BRITE . 182
Phần 6Cơsở lý thuyết . 182
Chương 12 Lý thuyếtcơ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.1Tổng quan vềmạng MANET . 185
12.2.2 Phân loạimạngMANET theo cách thức định tuyến . 186
12.2.2.1Mạng MANET định tuyến Single-hop . 186
12.2.2.2Mạng MANET định tuyến Multi-hop . 186
12.2.2.3Mô hình MANET định tuyến MobileMulti-hop 187
12.2.3 Phân loạimạngMANET theo chứcnăngcủa Node . 187
12.2.3.1Mạng MANET đẳng cấp . 187
12.2.3.2Mạng MANET phân cấp . 187
12.2.3.3Mạng MANET kếthợp . 188
Phần 7 Xây dựng ứng dụng. 190
Chương 13 Giới thiệu ứngdụ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ìnhmạng trong ứngdụng . 191
13.3.1 Mạng MANET . 191
13.3.2 Wired-cum-Wireless . 191
Chương 14 Các chứcnăng chính của ứngdụng . 192
14.1 Giới thiệu các lớp trong modulewireless . 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ạokịch bản chuyển động . 199
14.4.1Tạo bằng tay . 201
14.4.2Tạo ngẫu nhiên . 202
14.4.3 Ý nghĩa củatạo bằng tay vàngẫu nhiên . 202
14.5 Tạokị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ụminh họa . 206
14.7.2.1Mạng MANET. 206
14.7.2.2Mạng Wired-cum-Wireless . 208
Tổng kết. 210
Phụlục Các vídụminh họa ngôn ngữDML và TCL . 212
Tài liệu tham khảo . 224




http://ket-noi.com/forum/viewtopic.php?f=131&t=100854

Tóm tắt nội dung tài liệu:

t đầu khởi động lại cơ chế Slow-Start.
3.4.3.1.2 TCP Reno
TCP Reno (Agent/TCP/Reno) là một cải tiến của TCP Tahoe bằng cách
đưa ra cơ chế Fast Recovery (phục hồi nhanh) kết hợp với cơ chế Fast
Retransmit trong TCP Tahoe. Ý tưởng của Fast Recovery là một yêu cầu
truyền lại (D-ACK) sẽ phải chỉ ra băng thông có thể dùng trong khung
truyền từ khi một đoạn dữ liệu được phát đi thành công. Điều này có nghĩa
rằng cwnd_ cần thực sự tăng lên mỗi khi phát đi một D-ACK. Sau khi gởi
94
đoạn được xem như là bị mất, Fast Recovery sẽ bắt đầu. Lúc đó, cwnd_ sẽ
được tăng lên:
cwnd_ = ssthresh_ + 3 MSS
Sau đó, mỗi khi nhận D-ACK, cwnd_ sẽ tăng lên 1MSS.
Cơ chế Fast Recovery được kích hoạt khi nhận được một số ngưỡng các
D-ACK: bên gởi sẽ truyền lại một đoạn và gán các ngưỡng này giá trị bằng
½ giá trị của cwnd_ hiện tại. Kế đến, thay vì chuyển sang cơ chế Slow-Start
như TCP Tahoe, bên gởi sẽ cộng thêm vào cwnd_ một số bằng với số
ngưỡng. Sau đó, chừng nào bên nhận còn trong trạng thái Fast Recovery thì
cwnd_ sẽ được cộng thêm 1 cho mỗi D-ACK được nhận. Fast Recovery chỉ
được hoàn tất khi một ACK cho dữ liệu mới được nhận. Bên gởi sau đó sẽ
gán cwnd_ bằng với giá trị của ngưỡng hiện tại và chỉnh lại số đếm D-ACK
về giá trị ban đầu.
3.4.3.1.3 TCP Newreno
TCP Newreno (Agent/TCP/Newreno) giải quyết được sự bất khả thi của
TCP Reno đó là việc khắc phục lỗi khi có nhiều packet bị mất đồng thời. Nó
sửa lại quá trình hoạt động của cơ chế Fast Recovery: trong quá trình Fast
Recovery, nếu một “partial ACK” (thông báo không công nhận số byte liên
tiếp cao nhất đã được nhận) được nhận, bên gởi sẽ xem nó như là dấu hiệu
chỉ ra rằng đoạn kế tiếp tương ứng với thông báo đó đã bị mất. TCP
Newreno sẽ truyền lại đoạn đó và đợi thông báo phản hồi tương ứng. Trạng
thái Fast Recovery sẽ không kết thúc chừng nào mà byte được đánh số cao
nhất được gởi đi trước khi phát hiện ra sự mất packet đầu tiên được thừa
nhận. Khi điều này xảy ra, kích thước khung sẽ co lại bằng ssthresh_ và cơ
chế tránh tắt nghẽn được lặp lại.
3.4.3.2 Một số TCP agent bên nhận
TCPSink
95
TCPSink có nhiệm vụ trả về giá trị ACK mỗi khi nhận gói dữ liệu từ
TCP bên gởi. Nó chỉ phát sinh một ACK cho mỗi packet nhận được. Kích
thước của ACK có thể thay đổi đựoc.
Các tham số cấu hình:
Agent/TCPSink set packetSize_ 40 : thay đổi kích thước của packet.
TCPSink/DelAck
Đối tượng Delayed-ACK TCP Sink (Agent/TCPSink/DelAck) có thể gởi
phản hồi một gói ACK sau khi đã nhận được vài packet. Đối tượng này
chứa tham số interval_ để qui định thời gian chờ giữa hai lần truyền gói tin
ACK.
Các tham số cấu hình:
Agent/TCPSink/DelAck set interval_ 100ms1
3.4.3.3 TCP agent hai chiều
Để có thể tạo kết nối, TCP phải thực hiện việc bắt tay ba lần (3 way_
handshake):
+ Bên gởi gởi một gói SYN sang bên nhận.
+ Bên nhận gởi phản hồi một gói với SYN + ACK tương ứng.
+ Bên gởi sẽ gởi lại một gói ACK để chấp nhận kết nối.
Sau đó dữ liệu sẽ được trao đổi với nhau.
Các tham số cấu hình mặc định cho FullTcp:
+ Agent/TCP/FullTcp set segsperack_ 1.
+ Agent/TCP/FullTcp set segsize_ 536.
+ Agent/TCP/FullTcp set tcprexmtthresh_ 3.
+ Agent/TCP/FullTcp set iss_ 0.
+ Agent/TCP/FullTcp set nodelay_ false.
+ Agent/TCP/FullTcp set data_on_syn_ false.
+ Agent/TCP/FullTcp set dupseg_fix_ true.
+ Agent/TCP/FullTcp set dupack_reset_ false.
+ Agent/TCP/FullTcp set interval_ 0.1.
96
Ví dụ:
Tạo một agent FullTcp:
set src [new Agent/TCP/FullTcp] ;# create agent
set sink [new Agent/TCP/FullTcp] ;# create agent
$ns_ attach-agent $node_(s1) $src ;# bind src to node
$ns_ attach-agent $node_(k1) $sink ;# bind sink to node
$src set fid_ 0 ;# set flow ID field
$sink set fid_ 0 ;# set flow ID field
$ns_ connect $src $sink ;# active connection src to sink
# set up TCP-level connections
$sink listen ;# will figure out who its peer is
$src set window_ 100;
3.4.4 Ví dụ minh họa
Tạo một kết nối TCP giữa hai node n0 và n1 với n0 sử dụng TCP Tahoe và n1
sử dụng TCPSink. lớp TCP thay mặt cho giao thức TCP ở bên node gởi dữ liệu.
Nó sẽ gởi dữ liệu đến cho agent TCPSink và TCPSink sẽ xử lý tham số ACK để
kiểm tra tính đúng đắn của gói dữ liệu:
set ns [new Simulator]

set tcp [new Agent/TCP] ;# Khởi tạo agent TCP bên node gởi dữ liệu
$tcp set fid_ 2 ;# set IP-layer flow ID
set sink [new Agent/TCPSink] ;# Khởi tạo agent TCPSink bên node nhận
$ns attach-agent $n0 $tcp ;# Thiết lập agent TCP cho node n0
$ns attach-agent $n1 $sink ;# Thiết lập agent TCPSink cho node n1
$ns connect $tcp $sink ;# Xác lập một kết nối TCP cho hai agent
set ftp [new Application/FTP] ;# Tạo môt ứng dụng FTP
$ftp attach-agent $tcp ;# Cài đặt ứng dụng FTP cho node n0
$ns at 2 "$ftp start" ;# Thực thi ứng dụng FTP tại thời điểm giây thứ 2
97
3.5 Ứng dụng trong NS-2:
3.5.1 Lớp Application
Ứng dụng trong NS-2 được xây dựng bỡi lớp Application được cài đặt trong
phần nhân của NS-2:
class Application: public TclOject {
public:
Application();
virtual void send(int nbytes);
virtual void recv(int nbytes);
virtual void resume();
protected:
int command(int argc, const char* const* argv);
virtual void start();
virtual void stop();
Agent *agent_;
int enableRecv_; // call Otcl recv or not
int enableResume_; // call Otcl resume or not
};
Bảng 3.3 Các cách của lớp Application
Lớp Application cung cấp một số cách cơ bản cho quá trình hoạt động
của một ứng dụng: send(), recv(), resume(), start(), stop(), một con trỏ trỏ đến
giao thức ở tầng vận tải bên dưới mà nó kết nối.
3.5.2 Phân loại ứng dụng
Trong NS-2 có hai loại ứng dụng cơ bản:
+ Ứng dụng phát sinh lưu lượng mạng (Traffic Generator).
+ Ứng dụng giả lập mạng (Simulated Applications).
98
Hình 3.5 Hai loại ứng dụng trong NS-2
3.5.2.1 Ứng dụng phát sinh lưu lượng mạng
Loại ứng dụng này được xây dựng bỡi lớp TrafficGenerator:
class TrafficGenerator :
public:
TrafficGenerator();
virtual double next_
virtual void init()
virtual double interval()
virtual int on()
virtual void timeout();
virtual void recv()
virtual void resume()
protected:
virtual void start();
virtual void stop();
double nextPkttime_;
int size_;
int running_;
TrafficTimer timer_;
99
};
Bảng 3.4 Các cách của lớp TrafficGenerator
Ứng dụng phát sinh lưu lượng mạng có thể chia làm ba loại: exponential,
pareto và CBR.
Đối tượng Exponential (Application/Traffic/Exponential) phát sinh lưu
lượng mạng theo hai trạng thái ON/OFF. Ở trạng thái “ON”, các gói dữ liệu
được phát sinh theo một tốc độ truyền không đổi. Ngược lại, trong trạng thái
“OFF”, không phát sinh lưu lượng mạng. Các tham số cấu hình cho đối
tượng:
PacketSize_ : kích thước của gói dữ liệu.
burst_time_ : thời gian trung bình trong ở trạng thái ON.
idle_time_ : thời gian trung bình trong ở trạng thái OFF.
rate_ : tốc độ gởi các gói dữ liệu.
Đối tượng Pareto (Application/Traffic/Pareto) cũng phát sinh lưu lượng
mạng theo hai trạng thái ON, OFF. Các tham số cấu hình:
PacketSize_ : kích thước của gói dữ liệu.
burst_time_ : thời gian trung bình trong ở trạng thái ON.
idle_time_ : thời gian trung bình trong ở trạng thái OFF.
rate_ : tốc độ gởi các gói dữ liệu.
Đối tượng CBR (Application/Traffic/CBR) dùng để phát sinh các gói dữ
liệu theo một tốc độ bit không đổi. Các tham số cấu hình:
PacketSize_ ...

Ai cần download tài liệu gì mà không tìm thấy ở đây, thì đăng yêu cầu down tại đây nhé:
Nhận download tài liệu miễn phí

Link download cho các bạn:
 

Các chủ đề có liên quan khác

Top