huong dan mo phong
TRANSCRIPT
MỤC LỤC
LỜI CẢM ƠN........................................................................................................................3LỜI MỞ ĐẦU........................................................................................................................4Chương 1. GIỚI THIỆU MẠNG MANET......................................................................5
1.1 Khái niệm mạng Manet..........................................................................................51.2 Phân loại mạng Manet............................................................................................6
1.2.1 Phân loại mạng Manet theo cách thức định tuyến.........................................61.2.1.1 Single-hop..................................................................................................61.2.1.2 Multi – hop.................................................................................................7
1.2.2 Phân loại Manet theo chức năng của Node....................................................71.2.2.1 Mạng Manet đẳng cấp................................................................................71.2.2.2 Mạng Manet phân cấp................................................................................71.2.2.3 Mạng Manet kết hợp..................................................................................8
1.3 Nhận xét.................................................................................................................9Chương 2. MÔ PHỎNG MẠNG DÙNG NS2...............................................................10
2.1 Công cụ mô phỏng NS2.......................................................................................102.1.1 Tổng quan về NS2........................................................................................102.1.2 Kiến trúc của NS2........................................................................................102.1.3 Đặc điểm của NS-2......................................................................................142.1.4 Các thành phần cấu hình mạng trong NS-2.................................................14
2.1.4.1 Lớp Simulator..........................................................................................142.1.4.2 Cấu hình cho Node...................................................................................152.1.4.3 Các Agent trong NS-2..............................................................................16
2.1.5 Giới thiệu phần mềm Nam dùng kết hợp với NS-2.....................................172.2 Sử dụng OTCL SCRIPT để viết các kịch bản mô phỏng mạng trong NS-2........20
2.2.1 Tổng quan về OTCL SCRIPT......................................................................202.2.2 Khởi tạo Node..............................................................................................272.2.3 Khởi tạo link.................................................................................................282.2.4 Khởi tạo Network Agents............................................................................292.2.5 Các loại Traffic............................................................................................292.2.6 Các dịch vụ cơ bản trong Internet................................................................29
2.3 Sử dụng TraceGraph để phân tích kết quả mô phỏng..........................................30Chương 3. MÔ PHỎNG MẠNG MANET SỬ DỤNG NS2.........................................36
3.1 Kịch bản mô phỏng Manet sử dụng NS-2............................................................363.2 Phân tích kết quả chạy mô phỏng........................................................................36
PHỤ LỤC. Cài đặt NS2 trong Windows.............................................................................41KẾT LUẬN..........................................................................................................................51TÀI LIỆU THAM KHẢO....................................................................................................52
1
DANH MỤC CÁC HÌNH VẼ
Hình 1.1 Biểu đồ mạng Manet..........................................................................................6Hình 1.2 Định tuyến Single-hop.......................................................................................6Hình 1.3 Định tuyến Multi – hop......................................................................................7Hình 1.4 Mô hình mạng phân cấp.....................................................................................8Hình 1.5 Mô hình mạng Aggregate...................................................................................8Hình 2.1 Mô hình đơn giản của NS................................................................................10Hình 2.2 Luồng các sự kiện cho file Tcl chạy trong Nam..............................................12Hình 2.3 Kiến trúc của NS-2...........................................................................................12Hình 2.4 TclCL hoạt động như liên kết giữa A và B......................................................13Hình 2.5 Giao diện đồ hoạ Nam......................................................................................15Hình 2.6 Cửa sổ Nam......................................................................................................16Hình 2.7 Cửa sổ minh họa Nam......................................................................................17Hình 2.8 Topology mạng đơn giản và kịch bản mô phỏng.............................................18Hình 2.9 Minh họa NAM cho kịch bản OTcl.................................................................22Hình 2.10 Node unicast và node multicast....................................................................25Hình 2.11 Biểu diễn link giữa 2 node...........................................................................25Hình 2.12 Giao diện đồ hoạ người dùng TraceGraph...................................................31Hình 2.13 Chèn đối tượng trace....................................................................................31Hình 3.1 Mô hình mạng MANET trong NAM...............................................................33Hình 3.2 Kết quả phân tích file.tr....................................................................................37
2
LỜI CẢM ƠN
Em xin chân thành cảm ơn Khoa Công nghệ Thông tin trường Đại học Sư Phạm Hà Nội đã tạo điều kiện thuận lợi để em được học tập và tham gia làm khoá luận tốt nghiệp.
Em xin gửi lời cảm ơn chân thành tới thầy giáo Phạm Tuấn Minh đã tận tình hướng dẫn em hoàn thành khoá luận.
Mặc dù đã cố gắng và nỗ lực song báo cáo chắc không tránh khỏi những thiếu sót rất mong sự góp ý của thầy cô và các bạn.
Hà Nội, ngày 16/4/2008Sinh viên: Ngô Thị Thu Hà
3
LỜI MỞ ĐẦU
Ngày nay, mạng máy tính đang ngày càng phát triển không ngừng và kèm theo đó là tính phức tạp. Các dự án nghiên cứu, xây dựng và phát triển các môi trường giả lập mạng chỉ mới đề cập và quan tâm đúng mức trong thời gian gần đây. Sử dụng công cụ mô phỏng mạng giúp chúng ta đánh giá được các thông số về hiệu năng, chất lượng dịch vụ của các mô hình mạng mới cũng như đánh giá được các thuật toán trong mạng máy tính mà không phải tốn nhiều chi phí. Điều này có ý nghĩa trong việc nghiên cứu các thuật toán hay các mô hình mạng được ứng dụng trên thực tế. Mục đích của đề tài “Mô phỏng mạng Manet” là tìm hiểu mô hình mạng Manet và tìm hiểu về công cụ mô phỏng mạng NS-2 và bước đầu mô phỏng mạng Manet sử dụng công cụ mô phỏng NS-2.
4
Chương 1. GIỚI THIỆU MẠNG MANET
1.1 Khái niệm mạng ManetKhái niệm
Manet ( Mobile Ad-hoc Network) - Mạng không dây di động. Theo định nghĩa của Tổ chức Internet Engineering Task Force (IETF)- Mạng Manet là một vùng tự trị ( Autômmous System) của các router (đó chính là các node) được kết nối với nhau bằng liên kết không dây, các node có thể di chuyển một cách tự do nên kiến trúc của mạng thay đổi liên tục mà không thể dự đoán trước.
Đặc điểm
Mạng Manet có các đặc điểm chính sau: Mạng Manet là tập hợp các mobile node trong một mạng có tính chất tạm
thời không có sự quản lý của các nhà quản trị. Mô hình này gồm hai hay
nhiều wireless mobile kết nối với nhau theo mô hình mạng ngang hàng
(peer – to – peer) các node có vai trò như nhau, có thể kết nối vời nhau và
không cần đến cơ sở hạ tầng của các mạng trước đó. Các node trong mạng
này còn đóng vai trò như là các router có khả năng tìm kiếm, duy trì và định
tuyến các gói dữ liệu cho các node nằm trong vùng phát sóng của nó.
Mạng Mobilet Ad-hoc Network là một mạng tạm thời
Không có central server (Máy phục vụ trung tâm)
5
Hình 1.1 Biểu đồ mạng Manet
1.2 Phân loại mạng Manet
1.2.1 Phân loại mạng Manet theo cách thức định tuyếnTheo tiêu chí phân loại là cách thức định tuyến, mạng Manet được chia thành
hai kiểu là Single-hop và multi-hop.
1.2.1.1 Single-hopĐây là loại mô hình mạng Ad-hoc đơn giản nhất. Ở đó tất cả các node đều
nằm trong cùng một vùng phủ sóng (các node có thể kết nối trực tiếp với các node khác mà không cần phải qua node trung gian). Một số đặc điểm của mạng Manet kiểu single-hop là:
Hình 1.2 Định tuyến Single-hop
Wired internet
HA FA
M1
M2
M3
M4
Ad hoc network
6
1.2.1.2 Multi – hopMulti-hop là mở rộng vùng của Single - hop Network. Một số đặc điểm của
mạng Manet kiểu multi-hop: Đây là mô hình phổ biến nhất trong mạng Manet, mô hình này khác với mô
hình trước là các node có thể kết nối với các node khác trong mạng mà có
thể không cần phải kết nối trực tiếp với nhau ( Các node có thể định tuyến
đến các node khác thông qua các node trung gian trong mạng)
Hình 1.3 Định tuyến Multi – hop
1.2.2 Phân loại Manet theo chức năng của NodeTiêu chí phân loại theo chức năng của Node, mạng Manet được chia thành hai
loại là mạng Manet đẳng cấp và mạng Manet phân cấp.
1.2.2.1 Mạng Manet đẳng cấpTrong kiến trúc mạng Manet đẳng cấp (Flat) này tất cả các node có vai trò
ngang hàng với nhau (peer-to-peer) và các node cũng đóng vai trò như các router dùng để định tuyến các gói dữ liệu truyền trên mạng.
1.2.2.2 Mạng Manet phân cấpMạng Manet phân cấp (Hierarchical) là mô hình mạng được sử dụng phổ biến
nhất trong mạng Manet. Mạng chia làm các vùng (domain), trong mỗi vùng bao gồm một hoặc nhiều nhóm (cluster) với mỗi nhóm bao gồm nhiều node. Trong mạng Manet phân câp node được chia thành 2 loại:
Master node: Là node quản trị một nhóm và có nhiệm vụ chuyển dữ liệu
của các node trong nhóm đến các node trong các nhóm khác và ngược lại.
7
Normal node: Là các node nằm trong cùng một nhóm chỉ có thể kết nối
với các node trong cùng một nhóm. Nếu node trong nhóm đó muốn kết nối
với các node trong các nhóm khác phải thông qua master node trong nhóm
đó
Hình 1.4 Mô hình mạng phân cấp
1.2.2.3 Mạng Manet kết hợpTrong kiến trúc mạng Manet kết hợp (Aggregate), mạng phân thành các khu
vực (zone) và các node được chia vào trong mỗi khu vực. Mỗi node bao gồm hai mức topo (topology) là topo mức thấp (node level) và topo mức cao (zone level). Ngoài ra, mỗi node còn đặc trưng bởi hai số ID là node ID và zone ID.
Trong một khu vực có thể áp dụng kiến trúc đẳng cấp hoặc kiến trúc phân cấp
Hình 1.5 Mô hình mạng Aggregate
8
1.3 Nhận xétNgày nay khoa học kỹ thuật và công nghệ phát triển mạnh mẽ. Những thiết
bị di động như laptop, PDA…xuất hiện phổ biến trong thị trường. Bên cạnh đó mạng có dây không thể đáp ứng hết tất cả các công dụng của những thiết bị tiên tiến, hiện đại, tiện nghi trên.Vì thế mạng không dây đã ra đời giúp cho các thiết bị di động được sử dụng một cách hiệu quả, thuận tiện hơn vì những đặc tính nổi bật của mạng không dây.
Ưu điểm:
Hệ thống mạng có khả năng cơ động cao, các thiết bị có thể di
chuyển một cách tuỳ ý mà vẫn có thể truy cập mạng và có thể trao đổi
dữ liệu với nhau.
Không phải lắp đặt dây cáp
Nhược điểm
Khả năng nhiễu sóng radio cao
9
Chương 2.MÔ PHỎNG MẠNG DÙNG NS2
2.1 Công cụ mô phỏng NS2
2.1.1 Tổng quan về NS2NS2- Network Simulator Version 2: là phần mền mô phỏng mạng điều khiển
sự kiện riêng rẽ hướng đối tượng, được phát triển tại UC Berkely, viết bằng ngôn ngữ C++ và Otcl. Được sử dụng rất phổ biến trong các nghiên cứu khoa học về mạng ( rất hữu ích cho việc mô phỏng mạng diện rộng WAN và mạng local LAN.
Mục đích của NS-2 là tạo ra một môi trường giả lập cho việc nghiên cứu, kiểm tra, thiết kế các giao thức, các kiến trúc mới, so sánh các giao thức và tạo ra các mô hình mạng phức tạp.
Phiên bản thứ nhất của NS được phát triển vào năm 1995 và phiên bản thứ hai ra đời năm 1996. NS-2 là phần mền mã nguồn mở có thể chạy được trong môi trường Linux và Window (Lưu ý khi cài đặt NS-2 trong môi trường Window thì chúng ta phải cài thêm phần mền cywin để giả môi trường Linux).
2.1.2 Kiến trúc của NS2
NS thực thi các giao thức mạng như giao thức điều khiển truyền tải (TCP) và thức gói thường dùng (UDP), các dịch vụ nguồn lưu lượng như giao thức truyền tập tin (FTP), tốc độ bit cố định (CBR) và tốc độ bit thay đổi (VBR).
Các kỹ thuật quản lý hàng đợi như Vào trước Ra trước (Drop Tail), Dò sớm ngẫu nhiên (RED) và CBQ, các thuật toán định tuyến như Dijkstra…NS cũng thực thi multicasting và vài giao thức lớp Điều khiển truy cập đường truyền (MAC) đối
với mô phỏng LAN.
Hình 2.6 Mô hình đơn giản của NS
10
Otcl Kịch bản OTcl
Simulation Program Chương trình Mô phỏng
OTcl Bộ biên dịch Tcl mở rộng hướng đối
tượng
NS Simulation Library Thư viện mô phỏng NS
Event Scheduler Objects Các đối tượng Bộ lập lịch sự kiện
Network Component Objects: Các đối tượng Thành phần mạng
Network Setup Helping Modules: Các modun Trợ giúp Thiết lập mạng
Plumbling Modules Các modun Plumbling
Simulation Results Các kết quả Mô phỏng
Analysis Phân tích
NAM Network Animator Minh họa Mạng NAM
NS-2 bao gồm: Các đối tượng Bộ lập lịch sự kiện
Các đối tượng Thành phần mạng
Các modun trợ giúp thiết lập mạng (modun Plumbing)
Để sử dụng NS-2, user lập trình bằng ngôn ngữ kịch bản OTcl. User có thể thêm các mã nguồn Otcl vào NS-2 bằng cách viết các lớp đối tượng mới trong OTcl. Những lớp này khi đó sẽ được biên dịch cùng với mã nguồn gốc.
Kịch bản OTcl có thể thực hiện những việc sau: Khởi tạo Bộ lập lịch sự kiện
Thiết lập Mô hình mạng dùng các đối tượng Thành phần mạng
Báo cho nguồn traffic khi nào bắt đầu truyền và ngưng truyền packet trong
Bộ lập lịch sự kiện.
Bộ lập lịch sự kiện trong NS2 thực hiện những việc sau: Tổ chức bộ định thời mô phỏng
Hủy các sự kiện trong hàng đợi sự kiện
Triệu gọi các Thành phần mạng trong mô phỏng
11
Phụ thuộc vào mục đích của User đối với kịch bản mô phỏng OTcl mà kết quả mô phỏng có thể được lưu trữ như file trace.
File name trace ( file.nam) được dùng cho công cụ Minh họa mạng Nam
File Trace (file.tr) được dùng cho công cụ Lần vết và Giám sát Mô phỏng
XGRAPH hay TRACEGRAPH
Hình 2.7 Luồng các sự kiện cho file Tcl chạy trong Nam
Trong mô phỏng mạng dùng NS2 ta sử dụng: NAM Visual Simulation: Mô phỏng ảo NAM
Tracing and Monitoring Simulation: Mô phỏng lần vết và Giám sát
Tcl
OTclOTcl
TclCLTclCL
ns-2
Event Scheduler
Network Components
Event Scheduler
Network Components
C/C++
Hình 2.8 Kiến trúc của NS-2
Hình trên biểu diễn kiến trúc của NS-2. User có thể tưởng tượng mình đang đứng ở góc trái dưới, thiết kế và chạy các mô phỏng trong Tcl. Tcl dùng các đối tượng mô phỏng trong OTcl. Các đối tượng Bộ lập lịch sự kiện và các đối tượng thành phần mạng thực thi bằng C++ và sẵn có cho OTcl qua một liên kết OTcl. Liên kết OTcl này được thực thi dùng TclCL. Tất cả đã làm nên NS, bộ biên dịch Tcl mở rộng hướng đối tượng và các thư viện mô phỏng mạng.
NS sử dụng hai ngôn ngữ lập trình: Ngôn ngữ kịch bản OTcl và ngôn ngữ
lập trình hệ thống C++.
NS là tầng biên dịch Tcl để chạy các kịch bản Tcl
12
Hình 2.9 TclCL hoạt động như liên kết giữa A và B
TclCL là ngôn ngữ được sử dụng để cung cấp liên kết giữa C++ và OTcl. Các kịch bản Tcl/OTcl được viết để thiết lập và cấu hình topology của mạng. TclCL cung cấp liên kết giữa phân cấp lớp, khởi tạo đối tượng, nối kết biến và gửi lệnh.
NS phải sử dụng đến 2 ngôn ngữ vì Bộ mô phỏng cần thực hiện hai việc khác nhau:
Việc 1: Các mô phỏng cho các giao thức yêu cầu một ngôn ngữ lập trình hệ
thống có thể tính toán hiệu quả các byte, các tiêu đề packet và các thuật
toán thực thi đang chạy trên một tập dữ liệu lớn. Với tác vụ này, run-time
speed (tốc độ thời gian chạy thực) là quan trọng trong khi turn – around
time ( thời gian thay đổi) thì ít quan trọng hơn. Turn- around time bao gồm
thời gian chạy mô phỏng, thời gian tìm lỗi, thời gian sửa lỗi, thời gian biên
dịch lại và thời gian chạy lại.
Việc 2: Khi nghiên cứu mạng thì rất cần quan tâm đến các tham số và cấu
hình có thay đổi nhưng không đáng kể, hay quan tâm đến các scenario
( tình huống) cần khám phá thật nhanh chóng. Trong tác vụ này thì iteration
time ( thời gian lặp lại, tức là thời gian thay đổi mô hình và chạy lại) là
quan trọng hơn. Vì cấu hình chỉ chạy một lần lúc bắt đầu mô phỏng nên
run-time trong tác vụ này rõ ràng kém quan trọng hơn.
Vì thế mà dùng C++ để: Mô phỏng giao thức chi tiết theo yêu cầu ngôn ngữ lập trình hệ thống
Thao tác trên byte, xử lý gói, thực thi thuật toán, thực hiện bất kỳ việc gì mà
cần phải xử lý từng packet của một luồng
Thay đổi hành vi của lớp C++ đang tồn tại theo những hướng đã không
được lường trước.
Dùng OTcl để: Mô phỏng những thông số hay cấu hình thay đổi
13
Cấu hình, thiết lập những gì chỉ làm 1 lần
Thực hiện những cái ta muốn bằng cách thao tác trên các đối tượng C++
đang tồn tại
2.1.3 Đặc điểm của NS-2 NS-2 thực thi những tính năng sau: Các kỹ thuật quản lý hàng đợi Router như DropTail, RED, CBQ
Multicasting
Mô phỏng mạng không dây
Hành vi nguồn traffic –www, CBR, VBR
Các agent truyền tải - UDP, TCP
Định tuyến
Luồng Packet
Mô hình mạng
Các ứng dụng – Telnet, FTP, Ping
Các Packet tracing trên tất cả các link và trên các link xác định
Lợi ích của NS-2: Khả năng kiểm tra tính ổn định của các giao thức mạng đang tồn tại
Khả năng đánh giá các giao thức mạng mới trước khi đưa vào sử dụng
Khả năng thực thi những mô hình mạng lớn mà gần như ta không thể thực
thi được trong thực tế.
Khả năng mô phỏng nhiều loại mạng khác nhau
2.1.4 Các thành phần cấu hình mạng trong NS-2
2.1.4.1 Lớp SimulatorLà lớp quan trọng cung cấp các thủ tục, giao tiếp để tạo, quản lý topology và
lưư giữ các tham số cấu hình của các thành phần trong topology. Thông thường, các kịch bản giả lập thường bắt đầu bằng việc tạo một thể nghiệm của lớp Simulator để điều khiển và thực hiện giả lập, sau đó gọi các phương thức để tạo các node, topo và cấu hình cho các node, các liên kết, ứng dụng….
Khởi tạo đối tượng Simulator như sau:
set ten_doi_tuong [new Simulator] Các phương thức khác:
14
Lớp Simulator còn cung cấp thêm một số phương thức cho việc cài đặt các thông số cho việc giả lập.
Các phương thức này bao gồm 3 loại Các phương thức tạo, quản lý node, topo và các liên kết
Các phương thức thực hiện việc ghi nhận kết quả của quá trình
giả lập.
Các phương thức trợ giúp tương tác với bộ lập lịch
Simulator instproc now: trả về thời gian hiện tại.Simulator instproc at args: thực thi sự kiện ở thời điểm cụ thể.Simulator instproc cancel args: hủy bỏ việc thực thi sự kiện.Simulator instproc run args: bắt đầu khởi động bộ lập lịch.Simulator instproc halt: dừng bộ lập lịch.Simulator instproc flush-trace: flush all trace object write buffers.Simulator instproc create-trace type files src dst: tạo đối tượng trace.Simulator instproc create_packetformat: thiết lập định dạng gói dữ liệu.
2.1.4.2 Cấu hình cho Node Để tạo một Node trong Tcl ta dùng cú pháp:
set ns_ [new Simulator]$ns nodeMột node trong NS bao gồm các thành phần sau:
Địa chỉ hoặc số ID, giá trị này khởi tạo bằng 0 và tuần tự tăng
một đơn vị khi có một node mới được tạo ra.
Danh sách các node láng giềng của nó.
Danh sách các Agent
Loại node
Module định tuyến của Node
Cấu hình cho Mobilenode
set topo [new Topography]$ns_ node-config -addressingType hierarchical \-adhocRouting AODV \-llType LL \-macType MAC/802_11 \-ifqType Queue/DropTail/PriQueue \
15
-ifqLen 50 \-antType Antenna/OmniAntenna \-propType Propagation/TwoRayGround \-phyType Phy/WirelessPhy \-topologyInstance $topo \-channel Channel/WirelessChannel \-agentTrace ON \-routerTrace ON \-macTrace OFF \-movementTrace OFF
2.1.4.3 Các Agent trong NS-2Agent hay có thể gọi là giao thức ở tầng mạng hoặc ở tầng vận tải dùng để xử
lý các gói tin khi node nhận được. Lớp Agent được cài đặt một phần trong Otcl và một phần trong C++. Trong Otcl là file ns-agent.tcl trong C++ là file agent.cc và agent.h
UDP Agent
UDP Agent được cài đặt bên node gửi dữ liệu và cũng có thể cài đặt bên node nhận. Agent này là Agent không hướng kết nối, tức là không có cơ chế để phát hiện gói tin bị mất khi truyền và truyền lại gói tin khi mất. Nó chỉ thích hợp cho những ứng dụng không đòi hỏi độ chính xác cao, và chấp nhận chịu sự mất mát dữ liệu.
Cú pháp thông thường dùng để thiết lập UDP trong NS-2 Tạo một thể nghiệm của đối tượng UDP Agent
set udp0[New Agent /UDP] Kết nối Agent UDP cho Node
$ns_ attach-agent <node> <agent> Cài đặt ứng dụng cho Agent
$traffic-gen attach-agent <agent> TCP Agent
Trong NS-2 TCP Agent được chia thành 2 loại: Agent một chiều: Là những Agent chỉ đóng một trong hai vai
trò hoặc là bên gửi hoặc là bên nhận
Agent hai chiều: Là những Agent đóng cả hai vai trò vừa là bên
nhận, vừa là bên gửi. Hiện nay Agent này đang được phát triển
Các Agent một chiều ở bên gửi đã cài đặt trong NS Agent/TCP
16
Agent/TCP/Reno
Agent/TCP/Newreno
Agent/TCP/Sack1
Agent/TCP/Vagas
Agent/TCP/Fack
Các TCP Agent một chiều ở bên nhận Agent/TCP/Sink
Agent/TCP/Sink/DelAc
Agent/TCPSink/Sack1
Agent/TCPSink/Sack1/DelAck
TCP Agent hai chiều Agent/TCP/FullTcp
2.1.4.4 Ứng dụng trong NS-2Trong NS-2 có hai loại ứng dụng:
2.1.5 Giới thiệu phần mềm Nam dùng kết hợp với NS-2Các tính năng của Nam Cung cấp trình diễn ảo cho mạng đã được tạo
Có thể thi hành trực tiếp từ kịch bản Tcl
Nam có giao diện đồ họa bắt mắt của CD player với các điểu khiển bao
gồm play, stop, fast forward, rw, pause …
Biểu diễn thông tin như số packet trên từng link
Cung cấp giao diện rê và thả cho việc tạo ra các topoloty
17
Hình 2.10 Giao diện đồ hoạ Nam
Các chức năng của Nam trong giao diện đồ họa người dùng Cửa sổ Nam Console: Sau khi khởi động Nam, cửa sổ Nam console xuất
hiện. Trong cửa sổ Nam Console có hai menu chính‘File’và ‘Help’.
Trong menu File có:
New: Tạo mới một topology ns dùng chương trình soạn thảo
Nam
Open: Mở các file trace đã tồn tại (mở cửa sổ minh họa Nam)
WinList: Mở cửa sổ liệt kê tên của tất cả các file trace đang mở
Quit: Thoát khỏi Nam
Trong menu Help: Các trợ giúp đơn giản, xem phiên bản,
thông tin về bản quyền.
Cửa sổ minh họa Nam: Khi một file trace được tải vào Nam (File/Open) thì
cửa sổ minh họa Nam xuất hiện. Giao diện chính có Menu File, Views,
Analysis
18
Hình 2.11 Cửa sổ Nam
19
Hình 2.12 Cửa sổ minh họa Nam
2.2 Sử dụng OTCL SCRIPT để viết các kịch bản mô phỏng mạng trong NS-2
2.2.1 Tổng quan về OTCL SCRIPTNS là trình biên dịch OTcl với các thư viện đối tượng mô phỏng mạng. Ví dụ
sau giúp chúng ta tiếp cận với Otcl. Chạy ví dụ này bằng cách gõ lệnh “ns ns-simple.tcl”.
20
Hình 2.13 Topology mạng đơn giản và kịch bản mô phỏng
Mạng trên gồm 4 node (n0, n1, n2, n3). Duplex-link (liên kết truyền dữ liệu hai chiều diễn ra đồng thời) giữa node n0 và n2, n1 và n2 có bandwith= 2Mbps, delay=10ms. Duplex-link giữa n2 và n3 có bandwidth=1.7Mbps, và delay=20ms. Các node dùng hàng đợi DropTail, maxsize=10.
Agent “tcp” gắn với n0 và agent “sink” gắn với n3. Agent “tcp” có thể tạo packet với maxsize=1 Kbyte. Agent tcp “sink” tạo và gửi packet dạng ACK cho sender (sender là agent gửi packet đi) và giải phóng packet nhận được. Agent “udp” gắn với n1 sẽ kết nối với agent “null” gắn với n3. Agent “null” chỉ giải phóng packet đã nhận được. Bộ khởi tạo lưu lượng “ftp” và “cbr” tương ứng được gắn vào agent “tcp” và “udp”. “cbr” được cấu hình để tạo ra packet 1 Kbyte tại tốc độ 1 Mbps. “cbr” được thiết lập cho start bắt đầu tại thời điểm 0.1 giây và kết thúc tại thời điểm 4.5 giây, “ ftp” bắt đầu lúc 1.0 giây và kết thúc lúc 4.0 giây.
#Create a simulator object
set ns [new Simulator]
#Define different colors for data flows (for NAM)
$ns color 1 Blue
$ns color 2 Red
#Open the NAM trace file
set nf [open out.nam w]
21
$ns namtrace-all $nf
#Define a 'finish' procedure
proc finish {} {
global ns nf
$ns flush-trace
#Close the NAM trace file
close $nf
#Execute NAM on the trace file
exec nam out.nam &
exit 0
}
#Create four nodes
set n0 [$ns node]
set n1 [$ns node]
set n2 [$ns node]
set n3 [$ns node]
#Create links between the nodes
$ns duplex-link $n0 $n2 2Mb 10ms DropTail
$ns duplex-link $n1 $n2 2Mb 10ms DropTail
$ns duplex-link $n2 $n3 1.7Mb 20ms DropTail
#Set Queue Size of link (n2-n3) to 10
$ns queue-limit $n2 $n3 10
#Give node position (for NAM)
$ns duplex-link-op $n0 $n2 orient right-down
$ns duplex-link-op $n1 $n2 orient right-up
$ns duplex-link-op $n2 $n3 orient right
22
#Monitor the queue for link (n2-n3). (for NAM)
$ns duplex-link-op $n2 $n3 queuePos 0.5
#Setup a TCP connection
set tcp [new Agent/TCP]
$tcp set class_ 2
$ns attach-agent $n0 $tcp
set sink [new Agent/TCPSink]
$ns attach-agent $n3 $sink
$ns connect $tcp $sink
$tcp set fid_ 1
#Setup a FTP over TCP connection
set ftp [new Application/FTP]
$ftp attach-agent $tcp
$ftp set type_ FTP
#Setup a UDP connection
set udp [new Agent/UDP]
$ns attach-agent $n1 $udp
set null [new Agent/Null]
$ns attach-agent $n3 $null
$ns connect $udp $null
$udp set fid_ 2
#Setup a CBR over UDP connection
set cbr [new Application/Traffic/CBR]
$cbr attach-agent $udp
$cbr set type_ CBR
$cbr set packet_size_ 1000
$cbr set rate_ 1mb
23
$cbr set random_ false
#Schedule events for the CBR and FTP agents
$ns at 0.1 "$cbr start"
$ns at 1.0 "$ftp start"
$ns at 4.0 "$ftp stop"
$ns at 4.5 "$cbr stop"
#Detach tcp and sink agents (not really necessary)
$ns at 4.5 "$ns detach-agent $n0 $tcp ; $ns detach-agent $n3 $sink"
#Call the finish procedure after 5 seconds of simulation time
$ns at 5.0 "finish"
#Print CBR packet size and interval
puts "CBR packet size = [$cbr set packet_size_]"
puts "CBR interval = [$cbr set interval_]"
#Run the simulation
$ns run
Kết quả của kịch bản trên
24
Hình 2.14 Minh họa NAM cho kịch bản OTcl
Đầu tiên là quá trình thiết lập mạng cơ bản. NS Script bắt đầu bằng việc tạo ra một instance cho đối tượng Simulator ( đối tượng mô phỏng).
set ns [new Simulator] :
Tạo instance của Simulator, gán vào biến ns. Dòng này sẽ thực hiện lệnh Khởi tạo định dạng packet
Tạo bộ lập lịch ( mặc định là Calender scheduler – Bộ lập lịch thời gian).
Đối tượng “ Simulator” có các hàm thành viên thực hiện những việc sau Tạo đối tượng ghép như các node và các link.
Connect (nối) các đối tượng thành phần mạng đã được tạo lại với nhau ( ví
dụ hàm attach-agent).
Gán giá trị cho các tham số cho các đối tượng thành phần mạng ( thường
là cho các đối tượng ghép).
Tạo các connection giữa các agent ( ví dụ tạo connection giữa “tcp” và
“sink”)
Xác định tuyến tùy chọn trình diễn Nam.
25
Hầu hết các hàm thành viên dùng cho mục đích thiết lập mô phỏng ( được đề cập đến như các hàm plumbing) và cho mục địch lập lịch. Tuy nhiên cũng có những hàm cho việc trình diễn bằng Nam. Các thực thi cho các hàm thành viên của đối tượng “Simulator” được định vị trong file “ns-2/tcl/lib.ns-lib.tcl”
$ns color fid color:
Gán màu các packet cho luồng có mã nhận dạng luồng fid. Hàm thành viên này của đối tượng Simulator được dùng cho việc trình diễn NAM, và không có tác dụng gì trên mô phỏng thực tế.
$ns namtrace-all file-descriptor:
Hàm thành viên này yêu cầu mô phỏng lưu lại các dấu vết mô phỏng vào trong định dạng đầu vào cho NAM. Đồng thời có thể cung cấp tên file mà trace ( dấu vết) sẽ được ghi vào bằng lệnh $ns flush-trace tương tự, hàm thành viên trace-all dùng lưu trace theo định tuyến dạng chung.
proc finish{}:
Hàm được gọi sau khi mô phỏng đã kết thúc. Trong hàm này các tiến trình post-simulation ( mô phỏng thông báo được xác định).
set n0 [$ns node]:
Hàm thành viên Node khởi tạo một node. Node trong NS là đối tượng ghép bao gồm address (địa chỉ) và port classifiers (bộ phân loại cổng). User có thể tạo node bằng cách tạo riêng đối tượng address và port classifier và nối chúng lại với nhau. Tuy nhiên các hàm thành viên của đối tượng Simulator đã thực hiện việc này rất đơn giản. Xem file “C:\cygwin\usr\local\ns-allinone-2.29.3\ns-allinone-2.29\ns-2.29\tcl\lib\ ns-node.tcl” để viết Simulator tạo node như thế nào.
$ns duplex-link node1 node2 bandwidth delay queue-type:
Tạo 2 simplex link (liên kết đơn) với bandwidth và delay xác định tuyến, nối hai node xác định lại với nhau. Trong NS, hàng đợi đầu ra của node được thực thi như một phần của link, vì vậy user nên xác định luôn queue-type khi khởi tạo link. Giống như node, link là đối tượng ghép, user có thể tạo và nối các link với các node. Mã nguồn link được tìm trong file ““C:\cygwin\usr\local\ns-allinone-2.29.3\ns-allinone-2.29\ns-2.29\tcl\lib\ ns-lib.tcl” và “C:\cygwin\usr\local\ns-allinone-2.29.3\ns-allinone-2.29\ns-2.29\tcl\lib\ ns-link.tcl”
$ns queue-limit node1 node2 number:
Xác định giới hạn hàng đợi của hai simplex link kết nối node1 và node2 với nhau.
$ns duplex-link-op $n0 $n2 orient right-down:
Dùng cho NamQuá trình tiếp theo là thiết lập các agent như FTP, CBR, connect các agent với
các node và connect các nguồn traffic với các agent. set tcp [new Agent/TCP]:
26
Lệnh tạo ra một agent TCP và đây cũng là cách để tạo ra bất kỳ agent hay nguồn traffic nào. Các agent và các nguồn traffic chứa trong các đối tượng cơ bản thực (không phải trong đối tượng kép), hầu như được thực thi trong C++ và được liên kết đến OTcl. Vì vậy, không có hàm thành viên nào của một đối tượng Simulator xác định là có thể tạo ra instance của các đối tượng này. Để tạo ra được Agent và nguồn lưu lượng thì user cần phải biết tên lớp của các đối tượng này ( Agent/TCP, Agent/TCPSink, Application/FTP …). Xem thêm trong file “C:\cygwin\usr\local\ns-allinone-2.29.3\ns-allinone-2.29\ns-2.29\tcl\lib\ ns-default.tcl”. File này chứa các thiết lập giá trị tham số cấu hình mặc định cho các đối tượng mạng sẵn có.
$ns attach-agent node agent:
Hàm thành viên attach-agent gắn agent vào node. Hàm này sẽ gọi hàm thành viên attach của một node xác định tuyến, để gắn agent vào node đó. Vì vậy, user có thể làm tương tự, như $n0 attach $tcp chẳng hạn. Ngoài ra, một agent có thể dùng hàm attach của nó để gắn một nguồn traffic vào chính nó.
$ns connect agent1 agent2:
Hàm thiết lập liên kết luận lý giữa hai agent, bằng cách thiết lập địa chỉ đích đến mạng của nhau và cặp địa chỉ cổng.
Bây giờ giả sử rằng tất cả cấu hình mạng đã được thực hiện. Tiếp theo là ghi kịch bản mô phỏng. Đối tượng Simulator hiện có nhiều hàm thành viên lập lịch.
$ns at time “string”:
Hàm này yêu cầu scheduler (bộ lập lịch) lập lịch cho “string” thực thi vào thời gian time. Trong NS, thực tế thì nguồn traffic không truyền dữ liệu thật, nhưng nó lại thông báo cho agent phía dưới rằng nó có dữ liệu cần truyền. Khi đó agent sẽ tạo ra packet để truyền dữ liệu ấy đi.
Cuối cùng là chạy mô phỏng bằng lệnh $ns run.
2.2.2 Khởi tạo NodeTrong NS có hai loại node: Node unicast có một address classifier ( bộ phân loại địa chỉ) làm nhiệm vụ
định tuyến tuyến unicast và một port classifier ( bộ phân loại cổng).
Node multicast có thêm một classifier (bộ phân loại) làm nhiệm vụ phân
loại các packet multicast với các packet unicast
Trong NS, các node unicast là node mặc định. Để tạo node multicast user phải thông báo tường minh trong kịch bản OTcl đầu vào rằng tất cả các node sẽ được tạo ra là node multicast, ngay sau khi user tạo ra đối tượng lập lịch
27
Hình 2.15 Node unicast và node multicast
Đối tượng mô phỏng node được dùng để khởi tạo một node. Hai node được tạo với điều khiển n0,n1
set n0 [$ns node]
set n1 [$ns node]
Thiết lậ màu cho node bằng lệnh: $n0 color <colour>
2.2.3 Khởi tạo linkTạo link một chiều giữa 2 node bằng lệnh: $ns simplex-link $n0 $n1 <bandwidth> <delay> <queue_type>
Và link hai chiều giữa hai node bằng lệnh: $ns duplex-link $n0 $n1 <bandwidth> <delay> <queue_type>
Giá trị bandwidth và delay tương ứng có thể là 1Mb và 10ms. NS2 hỗ trợ nhiều giá trị queue_type như RED, Drop Tail…
Hình 2.16 Biểu diễn link giữa 2 node
28
2.2.4 Khởi tạo Network AgentsHai lớp Agent và Application sẽ tạo nên traffic trong NS-2. Mỗi node trong
mạng muốn gửi và nhận tracffic thì phải có Agent gắn vào nó. Trên đỉnh của Agent chạy Application
Có 2 loại Agent trong NS-2 là agent UDP và agent TCP: UDP:
set udp0 [new Agent/UDP]
set null [new Agent/Null]
$ns attach-agent $n0 $udp0
$ns attach-agent $n1 $null
$ns connect $udp0 $null
Đoạn mã trên tạo Agent UDP và gắn vào node n0 bằng thủ tục attach-agent. Tạo ra agent Null, hoạt động như một traffic sink và gắn vào node n1. Hai agent được nối lại bằng phương thức connect.
TCP:
set tcp [new Agent/TCP]
set tcp_sink [new Agent/TCPSink]
$ns attach-agent $n0 $tcp
$ns attach-agent $n1 $tcp_sink
$ns connect $tcp $tcp_sink
Đoạn mã trên tạo agent TCP và gắn vào node TCP dùng thủ tục attach-agent. Agent TCPSink hoạt động như một TCP sink và gắn vào tcp_sink. Hai agent nối với nhau bằng phương thức connect. Các loại TCP có sẵn trong NS-2 là: TCP, TCP/Reno, TCP/Vegas, TCP/Sack1, TCP/Fact, TCPSink.
2.2.5 Các loại TrafficCó 4 loại traffic application ( ứng dụng lưu lượng) có thể gắn vào agent UDP
để mô phỏng lưu lượng mạng: CBR, Exponential, Pareto, TrafficTrace.
2.2.6 Các dịch vụ cơ bản trong InternetHai application mô phỏng gửi traffic trên đỉnh đối tượng TCP
là :Application/FTP và Application/Telnet Giao thức truyền tin FTP:
set ftp [new Application/FTP]
$ftp attach-agent $tcp
29
$ns at <time> “$ftp start”
Các tham số: attach-agent: gắn Application/FTP vào một agent
start: khởi động Application/FTP truyền dữ liệu
stop: ngưng truyền dữ liệu
produre n: n là bộ đếm số packet được truyền
producemore n: n là giá trị số packet vừa mới tăng được truyền
send n: tương tư như produremore, nhưng gửi n byte thay vì n
packet
Telnet
set telnet [new Application/Telnet]
$telnet attach-agent $tcp
Các tham số cấu hình: interval_: thời gian đến nội (inter-arrival) trung bình của packet
được tạo bởi đối tượng Telnet
if (interval_==0) Số lần đến nội theo phân bố tcplib
if (interval_!=0) Số lần đến nội theo phân bố mũ, giá trị trung
bình được gán bằng giá trị interval_
2.3 Sử dụng TraceGraph để phân tích kết quả mô phỏng
Tracegraph chạy trong hệ điều hành Windows, Linux, Unix và yêu cầu hệ thống có cài đặt Matlab 6.0( Hoặc các phiên bản cao hơn).
Tracegraph hỗ trợ các định dạng file trace như sau: Wired ( có dây)
Satellite (vệ tinh)
Wireless (không dây)
Tracegraph phiên bản 2.02 có các tính năng sau: 238 đồ thị 2D (hai chiều)
12 đồ thị 3D ( ba chiều)
30
Các đồ thị và các thống kê về Delay (trì hoãn), jitter (độ rung pha),
processing times (số lần xử lý), Round Trip Times (số lần khứ hồi),
intermediate nodes (số node trung gian) throughput (thông lượng).
Các đồ thị và các thống kê cho toàn network, link và node
Tất cả các kết quả có thể được lưu vào fiel dạng text, các đồ thị có thể lưư
dưới dạng file tiff.
Thông tin của trục x, y, z: minimum ( giá trị nhỏ nhất), mean (giá trị trung
bình), maximum ( giá trị lớn nhất), standard deviation (độ lệch tiêu chuẩn)
và median ( số trung bình).
Nếu các đồ thị lưu trong file text thì trong file này có thể dựa vào thông tin
hai hay 3 cột để vẽ lại đồ thị.
Xử lý các file kịch bản để phân tích một cách tự động
Chức năng của Tracegraph trong giao diện đồ hoạ người dùng: Ứng dụng Tracegraph bao gồm 3 thành phần chính: Cửa sổ Tracegraph 2.02, cửa sổ Network Information ( thông tin mạng) và của sổ Graphs (đồ thị).
31
32
33
Hình 2.17 Giao diện đồ hoạ người dùng TraceGraph
Trong NS2, các hoạt động mạng được trace ( lưu dấu) trong các simplex link. Nếu mô phỏng được chỉ trực tiếp đến các hoạt động trace ( bằng lệnh $ns trace-all file hay $ns namtrace-all file) thì các link sẽ có các đối tượng trace được chèn thêm vào. User cũng có thể tạo đối tượng trace với loại xác định để lưu vết mạng từ nguồn đến đích bằng lệnh create-trace {type file src dst}.
Khi từng đối tượng được chèn thêm đối tượng trace (EnqT, DeqT, DrpT, RecvT) nhận packet, nó sẽ ghi vào file trace xác định mà không tiêu tốn thời gian mô phỏng. Và truyền packet đến đối tượng mạng kế tiếp.
Hình 2.18 Chèn đối tượng trace
34
Trace file có tất cả các thông tin để thực hiện minh hoạ - vừa trên sơ đồ biểu diễn mạng tĩnh vừa trên các sự kiện động như sự kiện packet arival( gói đến), packet departure ( gói xuất phát), packet drop (huỷ bỏ gói), và link failre ( hỏng liên kết)
Mã Otcl thực thi Tracing trong mô phỏng
set trace_file [open out.tr w]$ns trace-all $trace_file $ns flush-traceclose $trace_file
File trace chuẩn trong NS-2 và định dạng của file này như sau:
event: thao tác được thực hiện trong mô phỏng
time: thời gian xuất hiện sự kiện
from node: node 1 là node được trace
to node: node 2 là node được trace
pkt type: loại packet
pkt size: kích cỡ packet
flags: cờ
fid: mã luồng
src addr: địa chỉ node nguồn
dst addr: địa chỉ node đích
seq num: số trình tự
pkt id: mã packet duy nhất
35
Chương 3.MÔ PHỎNG MẠNG MANET SỬ DỤNG NS2
3.1 Kịch bản mô phỏng Manet sử dụng NS-2
Hình 3.19 Mô hình mạng MANET trong NAM
3.2 Phân tích kết quả chạy mô phỏng Cấu hình cho MobileNode
set val(chan) Channel/WirelessChannel ;# loại kênh truyềnset val(prop) Propagation/TwoRayGround;#cách thức truyền dữ liệu qua mạngset val(netif) Phy/WirelessPhy ;# network interface typeset val(mac) Mac/802_11 ;# loại địa chỉ macset val(ifq) Queue/DropTail/PriQueue ;# interface queue typeset val(ll) LL ;# loại link layerset val(ant) Antenna/OmniAntenna ;# antenna modelset val(ifqlen) 50 ;# max packet in ifqset val(nn) 3 ;# number of mobilenodesset val(rp) AODV ;# routing protocol
36
set val(x) 500 ;# X dimension of topographyset val(y) 400 ;# Y dimension of topography set val(stop) 150 ;# time of simulation end Các node được khởi tạo tại những vị trí sau:
# Provide initial location of mobilenodes$node_(0) set X_ 5.0$node_(0) set Y_ 5.0$node_(0) set Z_ 0.0
$node_(1) set X_ 490.0$node_(1) set Y_ 285.0$node_(1) set Z_ 0.0
$node_(2) set X_ 150.0$node_(2) set Y_ 240.0$node_(2) set Z_ 0.0# Generation of movements$ns at 10.0 "$node_(0) setdest 250.0 250.0 3.0"$ns at 15.0 "$node_(1) setdest 45.0 285.0 5.0"$ns at 110.0 "$node_(0) setdest 480.0 300.0 5.0" Các MobileNode được thiết kế để chuyển động ba chiều ( X,Y,Z ). Tuy
nhiên,trong công cụ giả lập này, thì chiều Z không được sử dụng ( Z=0 ), nên các MobileNode chỉ chuyển động theo hai chiều X, Y
Phát sinh chuyển động giữa node 0 và node 1
$ns at 10.0 "$node_(0) setdest 250.0 250.0 3.0"$ns at 15.0 "$node_(1) setdest 45.0 285.0 5.0"$ns at 110.0 "$node_(0) setdest 480.0 300.0 5.0" Tại thời điểm “10.0” giây, node 0 sẽ bắt đầu di chuyển từ vị trí khởi tạo
(5.0,5.0,0.0) đến vị trí có tọa độ (250.0 , 250.0 ,0.0) với vận tốc 3.0Tại thời điểm “15.0” giây, node 1 sẽ bắt đầu di chuyển từ vị trí khởi tạo
(490.0, 285.0, 0.0) đến vị trí có tọa độ (45.0 , 285.0 , 0.0) với vận tốc 5.0Tại thời điểm “110.0” giây, node 0 sẽ bắt đầu di chuyển từ vị trí khởi tạo
(5.0,5.0,0.0) đến vị trí có tọa độ (480.0 , 300.0 ,0.0) với vận tốc 5.0 Thiết lập kết nối TCP giữa node 0 và node1
set ns [new Simulator]…set tcp [new Agent/TCP/Newreno]:#Khởi tạo agent TCP bên node gởi dữ liệu$tcp set class_ 2
37
set sink [new Agent/TCPSink] ;# Khởi tạo agent TCPSink bên node nhận$ns attach-agent $node_(0) $tcp #Thiết lập agent TCP cho node n0$ns attach-agent $node_(1) $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 agentset 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 10.0 "$ftp start“ # Thực thi ứng dụng FTP tại thời điểm giây thứ 10Các thông tin về node ta sẽ biết khi sử dụng công cụ lần vết và giám sát mô
phỏng TraceGraph.
38
39
Hình 3.20 Kết quả phân tích file.tr
40
PHỤ LỤC. Cài đặt NS2 trong Windows
NS-2(Network Simulation version 2) là phần mền chuyên dùng để mô phỏng các giao thức mạng. Rất nhiều đề tài tốt nghiệp chuyên ngành CNTT sử dụng NS-2 để demo. Chúng ta có thể cài NS-2 trên Linux hoặc Windown. Trên Linux thì chỉ việc giải nén rồi gõ ./install để cài. NS-2 cũng có thể cài trên Windows bằng cách sử dụng Cygwin để giả lập môi trường Linux. Sau đây là hướng dẫn cụ thể.
Download zip file of ns2.29 (allinone) từ: http://www.isi.edu/nsnam/dist/ns-allinone-2.29.2.tar.gzNs-allinone-2.29 bao gồm các gói sau: cweb
gt-itm
nam-1.11
ns-2.28
otcl-1.9
sgb
tcl8.4
tclcl-1.16
tk8.4
xgraph-1.1
zlib-1.1
install
install.win
readme install
Download cygwin setup.exe từ www.cygwin.com
41
42
43
44
Nhấn vào View, chỗ nào có Skip nhấp vào để cài những gói chưa được cài
45
Cài xong cygwin, bạn copy file ns-allinone-2.29.3.tar.gz trong thu mục ns-setup đã download vào thư mục C:/cygwin/usr/local và giải nén.
Tiếp theo click vào biểu tượng cygwin trên desktop để tiếp tục cài đặt ns-allinone-2.29.3
46
47
Việc cài đặt sẽ kết thúc khi màn hình xuất hiện như sau:
48
Bạn lưu ý phải đổi PATH trong Environment Variables thành: /usr/local/ns-allinone-2.29.3/ns-allinone-2.29/bin:/usr/local/ns-allinone-
2.29.3/ns-allinone-2.29/tcl8.4.11/unix:/usr/local/ns-allinone-2.29.3/ns-allinone-2.29/tk8.4.11/unix
49
Các ví dụ tham khảo ở trang http://www.isi.edu/nsnam/ns/tutorial/.
50
KẾT LUẬN
Nội dung báo cáo đã tập trung tìm hiểu về mạng Manet, công cụ mô phỏng mạng NS-2 và tìm hiểu mô phỏng mạng Manet trong NS-2. Tuy nhiên, phần mô phỏng mạng Manet trong NS-2 em vẫn tiếp tục tìm hiểu hoàn thiện.
51
TÀI LIỆU THAM KHẢO
[1] Alex Ali Hamidian (2003), A Study of Internet Connectivity for Mobile Ad Hoc Networks in NS 2, Lund University.
[2] Andres Lagar Cavilla (2004), MANET extensions to ns2, University of Toronto.[3] T. Huovila, P. Lassilay, J. Manner, and A. Penttinen (2006), State of the Art
Analysis of Wireless Mesh Technologies 2006, Helsinki University of Technology.[4] http://www.isi.edu/nsnam/ Địa chỉ Download các phần mền:
[5] http://cygwin.com/setup.exe
[6] http://nsnam.isi.edu/nsnam
[7] http://www.tracegraph.com/
52