ĐỀ TÀI GIỚI THIỆU PHẦN MỀM MÔ PHỎNG MẠNG NS2

19 6.6K 28
ĐỀ TÀI GIỚI THIỆU PHẦN MỀM MÔ PHỎNG MẠNG NS2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐỀ TÀI GIỚI THIỆU PHẦN MỀM MÔ PHỎNG MẠNG NS2 Môn : Lý thuyết mạng máy tính GV hướng dẫn : NGUYỄN ĐỨC THIỆN Hiện nay, các hệ thống mạng ngày càng phức tạp, đòi hỏi phải đáp ứng được với nhiều loại dịch vụ khác nhau, với tốc độ dịch vụ khác nhau, lưu lượng các gói tin trên đường truyền không ngừng tăng lên, nhiều lúc dẫn đến tắc nghẽn. Vì vậy, việc sử dụng các phương pháp giải thích ngày càng trở nên phức tạp trong tính toán các đối tượng ngẫu nhiên, đồng thời khó có những mô hình thực tế để do thử nghiệm nên việc sử dụng các hệ thống mô phỏng máy tính trở nên thuận lợi hơn nhiều Phương pháp mô phỏng là sử dụng chương trình phần mềm xây dựng các đối tượng trong mạng dựa trên Topology mạng đã được thiết kế. Thiết lập bảng hoạt động cho từng node mạng, thiết lập các thông số đường truyền, thời gian truyền. Hiện tại có rất nhiều phần mềm mô phỏng. Một trong số đó là NS2 – một sản phẩm phần mềm lớn, chuyên dụng cho việc mô phỏng mạng Sau đây, chúng em xin trình bày đề tài giới thiệu về NS2 bao gồm các phần chính -Giới thiệu về NS-2 -Mô phỏng với NS-2 -Xây dựng 1 ứng dụng demo

ĐỀ TÀI THẢO LUẬN GIỚI THIỆU PHẦN MỀM MÔ PHỎNG MẠNG NS2 Môn : GV hướng dẫn : SV thực : Lý thuyết mạng máy tính NGUYỄN ĐỨC THIỆN LỜI NÓI ĐẦU Hiện nay, hệ thống mạng ngày phức tạp, đòi hỏi phải đáp ứng với nhiều loại dịch vụ khác nhau, với tốc độ dịch vụ khác nhau, lưu lượng gói tin đường truyền không ngừng tăng lên, nhiều lúc dẫn đến tắc nghẽn Vì vậy, việc sử dụng phương pháp giải thích ngày trở nên phức tạp tính tốn đối tượng ngẫu nhiên, đồng thời khó có mơ hình thực tế để thử nghiệm nên việc sử dụng hệ thống mơ máy tính trở nên thuận lợi nhiều Phương pháp mô sử dụng chương trình phần mềm xây dựng đối tượng mạng dựa Topology mạng thiết kế Thiết lập bảng hoạt động cho node mạng, thiết lập thông số đường truyền, thời gian truyền Hiện có nhiều phần mềm mơ Một số NS2 – sản phẩm phần mềm lớn, chuyên dụng cho việc mô mạng Sau đây, chúng em xin trình bày đề tài giới thiệu NS2 bao gồm phần -Giới thiệu NS-2 -Mô với NS-2 -Xây dựng ứng dụng demo I GIỚI THIỆU VỀ NS2 Tổng quan NS2  NS2 phần mềm mô mạng điều khiển kiện riêng rẽ hướng đối tượng, phát triển đại học Califonia, Berkely  NS2 viết ngơn ngữ C++ OTcl Trong đó, C++ dùng để xử lí liệu, thao tác gói tin cịn Octl sử dụng để định dạng cấu hình mô phỏng, điều khiển mô  NS hữu ích cho việc mô mạng diện rộng (WAN) mạng local (LAN) Bốn lợi ích lớn NS2 phải kể đến là: • Khả kiểm tra tính ổn định giao thức mạng tồn • Khả đánh giá giao thức mạng trước đưa vào sử dụng • Khả thực thi mơ hình mạng lớn mà gần ta thực thi thực tế • Khả mô nhiều loại mạng khác Tổng quan NS2  NS2 phần mềm mã nguồn mở có sẵn cho mơi trường Linux.Để chạy NS-2 Windowns ta cần dùng phần mềm giả lập môi trường  NS thực thi giao thức mạng như: • Các mơ hình mạng: LAN, WLAN, di động, vệ tinh, • Các giao thức mạng như: TCP, UDP • Các dịch vụ nguồn lưu lượng như: FTP, CBR, VBR, Telnet, http • Các kỹ thuật quản lý hàng đợi: Vào trước Ra trước (Drop Tail), Loại bỏ sớm ngẫu nhiễn - RED (Random Early Drop) Xếp hàng dựa phân lớp – CBQ (Class-Based Queueing) • Các thuật tốn định tuyến như: Dijkstra, Distance Vector, Link State… • Các Chuẩn IEEE 802.11, IEEE 802.3,… • NS-2 thực thi multicasting vài giao thức lớp Điều khiển truy cập đường truyền (MAC) mô LAN Kiến trúc NS2  Kiến trúc thư mục NS-2 NAM môi trường Linux NS-2 NAM thư mục ns-allinone-2.28 NS-2 bao gồm thực thi mô (bằng mã C++ mã OTcl), kịch Otcl kiểm tra tính hiệu lực kịch OTcl minh Hình 1: Kiến trúc thư mục cài đặt NS-2 NAM  Cấu trúc NS-2 bao gồm thành phần Hình Hình 2: Tổng quan NS góc độ người dùng Kiến trúc NS2 chức chúng mô tả sau: -OTcl Script Kịch 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 -Event Scheduler Objects Thư viện Mô NS 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 Module Các mô đun Trợ giúp Thiết lập Mạng -Plumbling Modules Các mô đun Plumbling -Simulation Results Các kết Mơ -Analysis Phân tích -NAM Network Animator Minh họa Mạng NAM Kiến trúc NS2  NS Bộ biên dịch Tcl mở rộng hướng đối tượng: bao gồm đối tượng Bộ lập lịch Sự kiện, đối tượng Thành phần Mạng mô đun Trợ giúp Thiết lập Mạng (hay mô đun Plumbing) Để sử dụng NS-2, user lập trình ngơn ngữ kịch OTcl User thêm mã nguồn Otcl vào NS-2 cách viết lớp đối tượng OTcl Những lớp biên dịch với mã nguồn gốc Kịch OTcl thực 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 đối tượng Thành phần Mạng Báo cho nguồn traffic bắt đầu truyền ngưng truyền packet Bộ lập lịch Sự kiện  Thuật ngữ plumbing dùng để việc thiết lập mạng, thiết lập mạng nghĩa xây dựng đường liệu đối tượng mạng cách thiết lập trỏ “neighbour” cho đối tượng để đến địa đối tượng tương ứng Mô đun plumbing OTcl thực tế thực việc đơn giản Plumbing làm nên sức mạnh NS  Thành phần lớn khác NS bên cạnh đối tượng Thành phần Mạng Bộ lập lịch Sự kiện Bộ lập lịch Sự kiện NS-2 thực việc sau: • • • Tổ chức Bộ định thời Mô Huỷ kiện hàng đợi kiện Triệu gọi Thành phần Mạng mô Kiến trúc NS2  Phụ thuộc vào mục đích user kịch mô OTcl mà kết mơ lưu trữ file trace Định dạng file trace tải vào ứng dụng khác để thực phân tích: • • File nam trace (file.nam) dùng cho công cụ Minh họa mạng NAM File Trace (file.tr) dùng cho công cụ Lần vết Giám sát Mô XGRAPH hay TRACEGRAPH Hình 3: Luồng kiện cho file Tcl chạy NS • NAM Visual Simulation • Tracing and Monitoring Simulation Mô Lần vết Giám sát Mơ ảo NAM Kiến trúc NS2  Hình kiến trúc chung NS User tưởng tượng đứng góc trái dưới, thiết kế chạy mô Tcl Tcl dùng đối tượng mô OTcl Các đối tượng Bộ lập lịch Sự kiện hầu hết đối tượng Thành phần Mạng thực thi C++ sẵn có cho OTcl qua liên kết OTcl Liên kết OTcl thực thi dùng TclCL Tất làm nên NS, biên dịch Tcl mở rộng hướng đối tượng thư viện mơ mạng Hình 4: Kiến trúc NS-2 Kiến trúc NS2 NS sử dụng hai ngơn ngữ lập trình: Ngơn ngữ kịch (Tcl – Tool Command Language, đọc tickle) Ngôn ngữ lập trình hệ thống (C/C++) Trong  Ngơn ngữ C++: ‐ Mô giao thức chi tiết yêu cầu ngơn ngữ lập trình hệ thống ‐ Thao tác byte, xử lý gói, thực thi thuật tốn ‐ Tốc độ thời gian thực quan trọng ‐ Thực việc mà cần phải xử lý tứng packet luồng ‐ Thay đổi hành vi lớp C++ tồn theo hướng không lường trước  Ngôn ngữ Otcl: ‐ Mô thơng số hay cấu hình thay đổi ‐ Tham dị nhanh số tình ‐ Thời gian tương tác (thay đổi mơ hình hay chạy lại) quan trọng ‐ Cấu hình, thiết lập hay làm lần Bằng cách sử dụng C++/OTcl, mơ mạng phải hồn tồn hướng đối tượng  Các đặc tính NS-2 NS-2 thực thi tính sau: ‐ Các kỹ thuật quản lý hàng đợi Router DropTail, RED, CBQ, ‐ Mô 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 gói liệu packet ‐ Mơ hình mạng, Các ứng dụng – Telnet, FTP, Ping  Cài đặt ‐ Có thể cài đặt NS2 gói phần mềm gói phần mềm riêng lẻ Link down phần mềm có trang chủ http://www.isi.edu/nsnam/ns/ ‐ NS-2 phần mềm mã nguồn mở có sẵn cho Windows 32 Linux Để cài Windown, cần cài phần mềm giả lập mơi trường Cygwin Bạn có dùng phần mềm tạo máy ảo (VMware, VirtualBox ) hệ điều hành nhân Linux (thông dụng Ubuntu) để tạo môi trường Linux thực để cài đặt II MÔ PHỎNG VỚI NS-2 MÔ PHỎNG VỚI NS-2  KHỞI TẠO VÀ KẾT THÚC: • Cú pháp để khởi tạo đối tượng Simulator sau: Set tên_đối_tượng [new Simulator] • Để 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 • Để 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 q trình mơ : $ns run MƠ PHỎNG VỚI NS-2  TẠO NÚT MẠNG: tạo node: cú pháp : set tên_node [$ns node] vd: set n0 [$ns node]  TẠO LIÊN KẾT CÁC NÚT MẠNG:  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  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  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) MÔ PHỎNG VỚI NS-2  CÁC TÁC NHÂN-AGNET TRONG NS2  Agent UDP: 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_  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 MƠ PHỎNG VỚI NS-2  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: • 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  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”  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 $ns at TÀI LIỆU THAM KHẢO  “The ns Manual” Kavin Fall, Kannan Varadhan The VINT Project, A Collaboration between researchers at UC Berkeley, LBL, USC/ISI, and Xerox PARC December 13, 2003 http://nsnam.isi.edu/nsnam/ns  “NS by example” Jae Chung and Mark Claypool http://nsnam.isi.edu/nsnam/nam  Giáo trình thực hành NS-2  Một số tài liệu khác Internet ... Hiện có nhiều phần mềm mơ Một số NS2 – sản phẩm phần mềm lớn, chuyên dụng cho việc mô mạng Sau đây, chúng em xin trình bày đề tài giới thiệu NS2 bao gồm phần -Giới thiệu NS-2 -Mô với NS-2 -Xây... đặt NS2 gói phần mềm gói phần mềm riêng lẻ Link down phần mềm có trang chủ http://www.isi.edu/nsnam/ns/ ‐ NS-2 phần mềm mã nguồn mở có sẵn cho Windows 32 Linux Để cài Windown, cần cài phần mềm. .. NS-2 -Xây dựng ứng dụng demo I GIỚI THIỆU VỀ NS2 Tổng quan NS2  NS2 phần mềm mô mạng điều khiển kiện riêng rẽ hướng đối tượng, phát triển đại học Califonia, Berkely  NS2 viết ngơn ngữ C++ OTcl

Ngày đăng: 05/01/2014, 14:06

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan