Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 16 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
16
Dung lượng
275,66 KB
Nội dung
Trường đại học Khoa Học Khoa công nghệ thông tin BÀI TẬP TIỂU LUẬN Đề tài:tìm hiểu ns2 demo Giáo viên hướng dẫn: Sinh viên thực hiện:ĐỒNG HỮU NGỌC HUY MỤC LỤC MỤC LỤC A.GIỚI THIỆU VỀ NS2: I.GIỚI THIỆU VỀ NS: II.CÀI ĐẶT NS2: .3 1.Cài windowns: 2.Cài ns-2 ubuntu: III.TÌM HIỂU VỀ NS2: .4 1.KHỞI TẠO VÀ KẾT THÚC: .4 2.TẠO NÚT MẠNG: .5 3.TẠO LIÊN KẾT CÁC NÚT MẠNG: a.Liên kết đơn công : b.Liên kết song cong: c.Làm đứt liên kết nút: 4.CÁC TÁC NHÂN-AGNET TRONG NS2: .6 a.khái niệm Agnet: .6 b.Agent UDP: .7 c.Agnet TCP: 4.LỚP ỨNG DỤNG TRONG NS2: .8 a.Lớp Application: b.Phân loại ứng dụng: c.Ứng dụng phát sinh lưu lượng mạng: .9 d.Ứng dụng giả lập mạng: 10 6.LẬP LỊCH SỰ KIỆN: .10 7.HIỂN THỊ DÙNG NAM: 10 8.LIÊN KẾT LỖI: 10 IV.CÁC PHẦN MỀM KẾT HỢP VỚI NS-2: 11 1.NAM 11 TRACEGRAPH: .12 B.PHẦN BÀI TẬP DEMO: .14 ĐỒNG HỮU NGỌC HUY A.GIỚI THIỆU VỀ NS2: I.GIỚI THIỆU VỀ NS: • Ns phần mềm mô mạng điều khiển kiện riêng rẽ hướng đối tượng ,được viết ngôn ngữ C++ va OTCL • Trong đó, C++ dùng để xử lý liệu, thao tác gói tin Otcl sử dụng để định dạng cấu hình mô phỏng, điều khiển mô • Đây lí để hệ mô NS đạt hiệu Để giảm bớt thời gian xử lý gói tin kiện mô phỏng, tất thực C++ • NS sử dụng để mô LAN WAN • NS-2 thiết kế để chạy môi trường Unix.Vì để chạy NS-2 windows ta cần Cygwin phần mềm giả lập môi trường Unix Windows • NS thực thi giao thức mạng Giao thức điều khiển truyền tải (TCP) Giao thức gói người dùng (UDP); dịch vụ nguồn lưu lượng Giao thức truyền tập tin (FTP), Telnet, Web, Tốc độ bit cố định (CBR) Tốc độ bit thay đổi (VBR) ; kỹ thuật quản lý hàng đợi Vào trước Ra trước (Drop Tail), Dò sớm ngẫu nhiễn (RED) CBQ; thuật toán định tuyến Dijkstra… NS thực thi multicasting vài giao thức lớp Điều khiển truy cập đường truyền (MAC) mô LAN Tổng quan ns2: Hình tổng quan ns2 gốc độ người dùng • OTcl Script Kịch OTcl ĐỒNG HỮU NGỌC HUY • Simulation Program • OTcl tượng • NS Simulation Library • Event Scheduler Objects • Network Component Objects • Network Setup Helping Modules • Plumbling Modules • Simulation Results • Analysis • NAM Network Animator Chương trình Mô phòng Bộ biên dịch Tcl mở rộng hướng đối Thư viện Mô NS 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 mô đun Trợ giúp Thiết lập Mạng Các mô đun Plumbling Các kết Mô Phân tích Minh họa Mạng NAM II.CÀI ĐẶT NS2: 1.Cài windowns: B1: Quá trình chạy file có bước chọn sau: - Chọn Install local from Directory hộp thoại Chose Install Type - Chọn thư mục C:\Cygwin chọn All User Unix/Binary hộp thoại Chose Installation Directory - Hộp thoại Select local Package Directory định gói đường dẫn đến thư mục ftp%3a%2f%2fftp.nctu.edu.tw%2fWindows%2fcygwin - Trong hộp thoại Select Package chọn mục Currence chọn All cho hiển thị Install - Chương trình tự động cài đặt hoàn thành Nên chọn Creat Icon on Desktop Trên Desktop có biểu tượng Cygwin B2: Cài đặt NS-2 Bước gồm bước nhỏ sau: *b2.1: Double Click (Chạy file Cygwin) biểu tượng Cygwin Desktop (Bước phải thực Khi file Cygwin chạy lần dầu khởi tạo thư mục có tên tên người sử dụng thư mục C:\Cygwin\home\ Nếu không chạy file Cygwin thư mục Màn hình làm việc giống hình DOS *b2.2: Xả nén file ns-allinone-2.30.tar chép thư mục ns-allinone-2.30 vào thư mục C:\Cygwin\home\ *b2.3: Trở lại hình Cygwin (giống hình DOS), dấu mời có dạng gõ lệnh CD ns-allinone-2.30 để vào thư mục ns-allinone-2.30 ĐỒNG HỮU NGỌC HUY dấu mời gõ lệnh: /install chương trình se thực cài đặt NS-2 hoàn thành Mở file BASHRC (với chương trình Wordpad) thư mục C:\Cygwin\home\ sửa lại sau: export NS_HOME=/cygdrive/c/cygwin/home/tên người sử dụng/nsallinone-2.30 export PATH=$NS_HOME/tcl8.4.13/unix:$NS_HOME/tk8.4.13/unix: $NS_HOME/bin:$PATH export LD_LIBRARY_PATH=$NS_HOME/tcl8.4.13/unix: $NS_HOME/tk8.4.13/unix:$NS_HOME/otcl-1.12:$NS_HOME/lib: $LD_LIBRARY_PATH export TCL_LIBRARY=$NS_HOME/tcl8.4.13/library 2.Cài ns-2 ubuntu: • B1: Đầu tiên update cho apt-get : Lệnh code : sudo apt-get update sau update xong ta thực lệnh : sudo apt-get install -f build-essential libxt-dev libxt6 libsm-dev libsm6 libice-dev libice6 libxmu-dev • B2: Giải nén ns-allinone-2.34 Code: tar -xzvf ns-allinone-2.34.tar.gz Thực lênh sau để cài đặt Code: /install • B3: Cần chỉnh sửa thêm file /.bashrc cài đặt windowns Để mở file /.bashrc thực lệnh sau Code: gedit ~/.bashrc III.TÌM HIỂU VỀ NS2: 1.KHỞI TẠO VÀ KẾT THÚC: • Trong công cụ giả lập ns-2,lớp quan trọng Simulator.Nó cung cấp thủ tục giao tiếp để tạo,quản lý topology va lưu giữ tham số cấu hình tham số cấu hình thành phần topology.Thông thường,các kịch giả lập thường bắt đầu bẳng việc giả lập,sau gọi phương thức để tạo node,topo cấu hình cho node,các liên kêt,ứng dụng • Cú pháp để khởi tạo đối tượng Simulator sau: Set tên_đối_tượng [new Simulator] ĐỒNG HỮU NGỌC HUY • Để có file đầu với liệu mô (file bám vết ) hay file sử dụng cho hiển thị (file nam) cần tạo file cách sử dụng lệnh open sau: #mở file bám vết Set tracefile1 [open out.tr w]//tao file bám vết tên out.tr $ns trace-all $tracefile1 #mở file bám vết nam Set namfile [open out.nam w]//tạo file bám vết tên out.nam $ns namtrace-all $namfile • Trong tập lệnh tcl,các file out.nam out.tr không gọi trực tiếp mà thông qua tên biến tracefile1 namfile • Phương thức trace-all tên file mà trace chạy • Để kết thúc chương trình ta dùng hàm finish #định nghĩa thủ tục `finish' Proc finish {} { glocal ns tracefile1 namfile $ns flush-trace close $tracefile1 close $namfile exe nam out.nam & exit } • Để gọi thủ tục hàm finish ta dùng lệnh $ns at t “finish” ,trong t thời điểm muốn gọi hàm finish tính giây • Để bắt đầu trình mô : $ns run 2.TẠO NÚT MẠNG: a.tạo node: cú pháp : set tên_node [$ns node] vd: set n0 [$ns node] • Một nút NS chứa thành phần sau: +Địa số ID,giá trị khởi tạo tăng đơn vị có node tạo +Danh sách node láng giềng nó(neighbor_) +Danh sách Agent (agent_) +Loại node(nodetype_) +Module định tuyến node ĐỒNG HỮU NGỌC HUY 3.TẠO LIÊN KẾT CÁC NÚT MẠNG: Trong ns2 có loại liên kết node: +liên kết đơn công(simple link) +liên kết song công(duplex-link) a.Liên kết đơn công : • loại liên kết theo kiểu point-to-point nút mà có node truyền node nhận.Cú pháp: $ns simplex-link • Trong đó: + bandwith:là băng thông +delay:thời gian trễ lần +queue_type:loại hàng đợi b.Liên kết song cong: • loại liên kết theo kiểu point-to-point nút node vừa truyền nhận.Cú pháp: $ns duplex-link • Có hàng đợi sau: +DropTail:loại bỏ gói tin cuối +RED:loại bỏ sớm ngẫu nhiên +FQ:sắp hàng đợi cân c.Làm đứt liên kết nút: • cú pháp : $ns rtmodel-at 1.0 down $n(1) $n(2) $ns rtmodel-at 2.0 up $n(1) $n(2) • dòng lệnh làm đứt kết nối nút 2,từ giây đến giây.sau kết nối lại thiết lập 4.CÁC TÁC NHÂN-AGNET TRONG NS2: a.khái niệm Agnet: • giao thức tầng mạng tầng vận tải dùng để xử lý gói tin node nhận Gồm Agnet sau: Thẻ Agent gồm có giao thức: Các TCP Agent nhận liệu : • Agent / TCPSink • Agent / TCPSink / DelAck • Agent / TCPSink / Sack1 ĐỒNG HỮU NGỌC HUY • Agent / Null Các TCP Agent truyền liệu • Agent / TCP • Agent / TCP / Reno • Agent / TCP / Sack • Agent / TCP / Vegas • Agent / TCp / Fack • Agent/UDP b.Agent UDP: • agent không hướng đối tượng tức không chế phát gói tin bị truyền truyền lại gói tin bị • Tạo đối tượng UDP: Set udp(int) [new agent/udp] • Kết nối agent udp cho node: $ns attach-agent • Cài đặt ứng dụng cho agent: $traffic-gen attach-agent Trong đó: traffic-gen:là tên ứng dụng,để tạo ứng dụng cú pháp: Set traffic-gen [new application/traffic/traffic-gen] • Tạo kết nối agnet: $ns connect • Cấu hình cho agent UDP: $udp set packsize _ $udp set dst_addr_ $udp set dst_port_ $udp set class_ $udp set ttl_ c.Agnet TCP: Cấu hình TCP: set tcp [new Agent/TCP]//tạo biến trỏ tcp cho tác nhân TCP set sink [new Agent/TCPSink]//định nghĩa nút TCP đích gán cho biến trỏ sink $ns attach-agent $n0 $tcp //định nghĩa nut nguồn kết nối TCP $ns attach-agent $n1 $tcp_sink//định nghĩa nút đích $ns connect $tcp $tcp_sink//kết nối TCP nút nguồn đích ĐỒNG HỮU NGỌC HUY gồm loại: +agnet chiều +agent chiều Agent chiều agent đóng hai vai trò bên gởi bên nhận Trong đó, agent hai chiều agent đóng hai vai trò vừa bên nhận, vừa bên gởi • Một số tcp bên gửi: Tcp reno: TCP Newreno • Một số tcp bên nhận: Tcp sink:nhiệm vụ trả ACK,phát ACK cho lần packet nhận Kích thước ACK thay đổi được.Cấu hình: Agent/TCPSink set packetSize_ kich_thước Tcp sink/delack:có thể gửi phản hồi ACK nhận vài packet.Cấu hình : Agent/tcpsink/delack set interval_thời gian Trong đó:thời gian thời gian chờ hai lần truyền gói tin ACK 4.LỚP ỨNG DỤNG TRONG NS2: a.Lớp Application: • Ứng dụng NS-2 xây dựng bỡi lớp application cài đặt phần nhân NS-2 • Lớp Application cung cấp số phương thức cho trình hoạt động ứng dụng: send(), recv(), resume(), start(), stop(), trỏ trỏ đến giao thức tầng vận tải bên mà kết nối b.Phân loại ứng dụng: Trong ns-2 có loại ứng dụng: • Ứng dụng phát sinh lưu lượng mạng (Traffic Generator) • Ứng dụng giả lập mạng (Simulated Applications) ĐỒNG HỮU NGỌC HUY c.Ứng dụng phát sinh lưu lượng mạng: Ứng dụng phát sinh lưu lượng mạng chia làm ba loại: exponential, pareto CBR • Exponential: phát sinh lưu lượng mạng theo hai trạng thái ON/OFF Ở trạng thái “ON”, gói liệu phát sinh theo tốc độ truyền không đổi Ngược lại, 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 gói liệu burst_time_ : thời gian trung bình trạng thái ON idle_time_ : thời gian trung bình trạng thái OFF rate_ : tốc độ gởi gói liệu Cú pháp:$exponential set thamso • Pareto (Application/Traffic/Pareto): 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 gói liệu burst_time_ : thời gian trung bình trạng thái ON idle_time_ : thời gian trung bình trạng thái OFF rate_ : tốc độ gởi gói liệu Cú pháp:$pareto set thamso • Đối tượng CBR (Application/Traffic/CBR) dùng để phát sinh gói liệu theo tốc độ bit không đổi Các tham số cấu hình: PacketSize_ : kích thước gói liệu rate_ : tốc độ truyền liệu interval_ : khoảng thời gian hai lần truyền liệu random_ : phát sinh tín hiệu nhiễu cách ngẫu nhiên Giá trị mặc định off maxpkts_ : số packet lớn truyền ĐỒNG HỮU NGỌC HUY Cú pháp:$cbr set thamso d.Ứng dụng giả lập mạng: • FTP:là ứng dụng dùng để truyền tải file qua mạng Các phương thức cài đặt NS-2: attach-agent : gắn ứng dụng FTP lên agent vận tải start : khởi động ứng dụng FTP stop : ngừng ứng dụng Tham số cấu hình: maxpkts : số gói liệu lớn phát sinh bên gởi • Telnet : dùng để phát sinh gói liệu theo hai cách dựa vào biến interval_ Mặc định , giá trị 6.LẬP LỊCH SỰ KIỆN: • Ns2 mô dựa tập kiện riêng lẻ,vì cần lập lịch kiện cú pháp sau: $ns at • Bộ lập lịch bắt đầu ta chạy ns :$ns run • Vd:$ns at 0.1 “$cbr start” $ns at “$cbr stop” Thời gian hoạt động cbr 0.1 đến đơn vị tính giây 7.HIỂN THỊ DÙNG NAM: • Thủ tục thiết lập vị trí nút mạng nam: $ns duplex-link-op $n0 $n2 orient right-down $ns duplex-link-op $n1 $n2 orient right-up $ns simplex-link-op $n2 $n3 orient left $ns simplex-link-op $n3 $n2 orient right $ns duplex-link-op $n3 $n4 orient right-up $ns duplex-link-op $n3 $n5 orient right-down • Tô màu nút: $n0 color Red//tô đỏ nút n0 • Tô màu liên kết: $ns duplex-link-op $n0 $n2 color “tên màu” 8.LIÊN KẾT LỖI: • Liên kết lỗi định tuyến đường khác tuyến đường cũ bị lỗi • Cú pháp: $ns rtpeoto dv 10 ĐỒNG HỮU NGỌC HUY Đặt câu lệnh trước đối tượng tạo IV.CÁC PHẦN MỀM KẾT HỢP VỚI NS-2: 1.NAM a.Chạy nam:ở hinh lệnh gõ nam b.chức NAM: • Cung cấp trình diễn ảo cho mạng tạo • Có thể thi hành trực tiếp từ kịch Tcl • NAM có giao diện đồ hoạ bắt mắt CD player với điều khiển bao gồm play (chạy), stop (ngưng), fast forward (chạy tiếp nhanh), rw (lùi lại), pause (tạm ngưng), điều khiển tốc độ trình diễn tính giám sát packet • Biểu diễn thông tin throughput (thông lượng), số packet link • Cung cấp giao diện rê thả cho việc tạo topology (mô hình) c.sử dụng NAM: Thẻ • • • • • Agent gồm có giao thức: Các TCP Agent nhận liệu : Agent / TCPSink Agent / TCPSink / DelAck Agent / TCPSink / Sack1 Agent / Null 11 ĐỒNG HỮU NGỌC HUY • • • • • • • Các TCP Agent truyền liệu Agent / TCP Agent / TCP / Reno Agent / TCP / Sack Agent / TCP / Vegas Agent / TCp / Fack Agent/UDF Thẻ TRAFFIC SOURCE gồm ứng dụng: • CBR • EXPONENTIAL • FTP • PARETO • TELNET Thẻ LOSS MODEL: • PERIODIC • UNIFORM TRACEGRAPH: -TraceGraph phân tích file trace Tracegraph chạy hệ điều hành Windows, Linux, Unix yêu cầu hệ thống có cài đặt Matlab 6.0 (hoặc phiên cao hơn) -gọi Tracegraph hỗ trợ định dạng file trace sau: • Wired (có dây) • Satellite (vệ tinh) • Wireless (không dây) a.chức Tracegraph: • 238 đồ thị 2D (hai chiều) • 12 đồ thị 3D (ba chiều) • Các đồ thị thống kê 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ị thống kê cho toàn network (mạng), link (liên kết) node • Tất kết lưu vào file dạng text (dạng văn bản), đồ thị lưu dạng file jpeg hay tiff 12 ĐỒNG HỮU NGỌC HUY • Thông tin 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) median (số trung bình) • Nếu đồ thị lưu file text file dựa vào thông tin hay cột để vẽ lại đồ thị • Xử lý file kịch để phân tích cách tự động 13 ĐỒNG HỮU NGỌC HUY Giao diện đồ họa người dùng Trace graph B.PHẦN BÀI TẬP DEMO: Mô tả toán: Cho mạng thông tin có cấu hình.Nút s1 va s2 tương ứng tạo nguồn lưu lượng tcp1 tcp2 gửi gói tin đến nút d dựa giao thức truyền TCP.Các gói phát sinh gói nguồn đặn với tốc độ tương ứng 500 600 gói/s chiều dài gói 1300byte.Nút s3 có nguồn lưu lượng UDP phát gói gửi tới d3 với chiều dài 1024byte/s,số lượng gói tuân theo phân bố poisson tốc đọ 400 gói/s.Các hàng đợi gắn với liên kết sử dụng chế SFQ 14 ĐỒNG HỮU NGỌC HUY 1.viết kịch chạy mô hệ thống thông tin nói khoảng thời gian phút 2.thu thập vẽ đồ thị số liệu khả thông tỉ lệ gói luồng luồng nút,kích thước hàng đợi liên kết node_2-node_5,node _4-node_5 node_3-node_4 -kết thúc CHÂN THÀNH CẢM ƠN THẦY 15 ĐỒNG HỮU NGỌC HUY [...]... 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) và throughput (thông lượng) • Các đồ thị và các thống kê cho toàn network (mạng), link (liên kết) và node • Tất cả các kết quả có thể được lưu vào file dạng text (dạng văn bản), các đồ thị có thể lưu dưới dạng file jpeg hay tiff 12 ĐỒNG HỮU NGỌC HUY • Thông tin của trục x,y,z:... 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 2 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 13 ĐỒNG HỮU NGỌC HUY Giao diện đồ họa người dùng Trace graph B.PHẦN BÀI TẬP DEMO: Mô tả bài toán: Cho mạng thông tin có cấu hình như hình.Nút s1 va s2 tương ứng tạo ra các nguồn lưu lượng tcp1 và tcp2... 500 và 600 gói/s chiều dài gói là 1300byte.Nút s3 có nguồn lưu lượng UDP phát ra những gói gửi tới d3 với chiều dài là 1024byte/s,số lượng gói tuân theo phân bố poisson tốc đọ là 400 gói/s.Các hàng đợi gắn với các liên kết sử dụng cơ chế SFQ 14 ĐỒNG HỮU NGỌC HUY 1.viết kịch bản và chạy mô phỏng hệ thống thông tin nói trên trong khoảng thời gian 4 phút 2.thu thập và vẽ đồ thị các số liệu khả thông và. .. trace 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) -gọi Tracegraph hỗ trợ các định dạng file trace như sau: • Wired (có dây) • Satellite (vệ tinh) • Wireless (không dây) a.chức năng của Tracegraph: • 238 đồ thị 2D (hai chiều) • 12 đồ thị 3D (ba chiều) • Các đồ thị và các thống kê về Delay (trì hoãn), jitter (độ rung pha),... khiển bao gồm play (chạy), stop (ngưng), fast forward (chạy tiếp nhanh), rw (lùi lại), pause (tạm ngưng), điều khiển tốc độ trình diễn và tính năng giám sát packet • Biểu diễn thông tin như throughput (thông lượng), số packet trên từng link • Cung cấp giao diện rê và thả cho việc tạo ra các topology (mô hình) c.sử dụng NAM: Thẻ • • • • • Agent gồm có các giao thức: Các TCP Agent nhận dữ liệu : Agent... trên trong khoảng thời gian 4 phút 2.thu thập và vẽ đồ thị các số liệu khả thông và tỉ lệ mất gói của từng luồng từng luồng tại từng nút,kích thước hàng đợi trên các liên kết node_2-node_5,node _4-node_5 và node_3-node_4 -kết thúc CHÂN THÀNH CẢM ƠN THẦY 15 ĐỒNG HỮU NGỌC HUY ... /.bashrc cài đặt windowns Để mở file /.bashrc thực lệnh sau Code: gedit ~/.bashrc III.TÌM HIỂU VỀ NS2: 1.KHỞI TẠO VÀ KẾT THÚC: • Trong công cụ giả lập ns-2,lớp quan trọng Simulator.Nó cung cấp thủ... multicasting vài giao thức lớp Điều khiển truy cập đường truyền (MAC) mô LAN Tổng quan ns2: Hình tổng quan ns2 gốc độ người dùng • OTcl Script Kịch OTcl ĐỒNG HỮU NGỌC HUY • Simulation Program •... ns-allinone-2.30 vào thư mục C:Cygwinhome *b2.3: Trở lại hình Cygwin (giống hình DOS), dấu mời có dạng gõ lệnh CD ns-allinone-2.30 để vào thư mục ns-allinone-2.30