Baigiang Ns2

40 %
60 %
Information about Baigiang Ns2

Published on June 25, 2008

Author: hcdung18

Source: slideshare.net

HỆ MÔ PHỎNG NS

Giới thiệu NS (Network Simulation) NS (Network Simulation) chương trình phần mềm dạng hướng đối tượng được sử dụng để mô phỏng lại các sự kiện xảy ra trong hệ thống mạng  yêu cầu, đặc tính vận hành của hệ thống mạng thực. NS được sử dụng để mô phỏng LAN và WAN . Hệ mô phỏng NS-2 được phát triển ở trường đại học Berkeylay từ năm 1989 , là một phần trong dự án VINT (Virtual Internet Testbed) của phòng thí nghiệm quốc gia Lawrence Berkeley.

NS (Network Simulation) chương trình phần mềm dạng hướng đối tượng được sử dụng để mô phỏng lại các sự kiện xảy ra trong hệ thống mạng  yêu cầu, đặc tính vận hành của hệ thống mạng thực.

NS được sử dụng để mô phỏng LAN và WAN .

Hệ mô phỏng NS-2 được phát triển ở trường đại học Berkeylay từ năm 1989 , là một phần trong dự án VINT (Virtual Internet Testbed) của phòng thí nghiệm quốc gia Lawrence Berkeley.

Đối tượng mô phỏng: Wired, Wireless, Satellite TCP Agents, UDP Agents, multicast, unicast Thiết kế các cơ chế quản lý hàng đợi tại bộ định tuyến như DropTail, Fair Queueing, Red. Cài đặt thuật toán định đường động và tĩnh, Dijkstra, vector khoảng cách , thuật toán trạng thái liên kết, định đường di động ...  mạng có dây và không dây. Hổ trợ các ứng dụng WebCache, FTP, Telnet, CBR, Web, Real Audio.

Wired, Wireless, Satellite

TCP Agents, UDP Agents, multicast, unicast

Thiết kế các cơ chế quản lý hàng đợi tại bộ định tuyến như DropTail, Fair Queueing, Red.

Cài đặt thuật toán định đường động và tĩnh, Dijkstra, vector khoảng cách , thuật toán trạng thái liên kết, định đường di động ...  mạng có dây và không dây.

Hổ trợ các ứng dụng WebCache, FTP, Telnet, CBR, Web, Real Audio.

Cấu trúc thư mục của NS tclbox Ns-allinone tkbox otcl tclcl ns-2 nam-1 tcl ex test lib C++ source Otcl code Example Validation test Otcl source

Cấu trúc phân lớp ns-2 là nơi đặt tất cả các sự CT thực thi của mô phỏng Thư mục lib là thư mục con của tcl chứa đựng mã nguồn của Otcl và một thành phần quan trọng đó là sự thực thi quá trình mô phỏng (như Agent, Node, Link, Packet, Address, Routing...). ...

ns-2 là nơi đặt tất cả các sự CT thực thi của mô phỏng

Thư mục lib là thư mục con của tcl chứa đựng mã nguồn của Otcl và một thành phần quan trọng đó là sự thực thi quá trình mô phỏng (như Agent, Node, Link, Packet, Address, Routing...).

...

Lịch trình của sự kiện: lưu lại thời gian mô phỏng và những sự kiện xảy ra trong hàng đợi . Real-Time (thời gian thực) và Non-Real-Time (thời gian ảo) head Event Scheduler Net work Object Network Object handler() handler() time_uid_next_handler_ time_uid_next_handler_

Các thành phần của NS TclObject Other NsObject Connector Classifier SnoopQueue Queue Delay Agent Trace AddrClassifier McastClassfier Out Drp DropTail Red TCP In UDP Edrp

Link và Trace Simplex Link Link with Trace Object Drop Queue Delay TTL Agent/Null 1 0 EnqT Queue DeqT Delay TTL Drpt Agent/Null RecvT

Simplex Link

Link with Trace Object

Cơ chế theo dõi hàng đợi. Về cơ bản đối tượng lưu vết được thiết kế theo từng bản ghi tại thời điểm gói tin đến nơi nhận mà chúng được định dạng. Người sử dụng luôn có được thông tin từ Trace. Nhưng ở đây chúng ta quan tâm đến những hoạt động tiếp theo , một trường hợp có thể xảy ra khi độ trì hoãn trên mạng cao dẫn đến nghẽn mạch. Khi đó các gói tin tin sẽ được đưa vào hàng đợi như thế nào, và cơ chế quản lý hàng đợi nào sẽ có hiệu quả hơn. Chẳng hạn chúng ta muốn sử dụng hàng đợi RED ta phải xác định kích thước hàng đợi trung bình có trọng số , và kích thước hiện tại của hàng đợi RED , xác định giá trị chặn trên và chặn dưới là Tmax và Tmin phù hợp để giải quyết vấn đề trì hoãn cao trên mạng. Hình dưới đây mô tả quá trình theo dõi diễn biến trong một hàng đợi từ lúc gói tin đi vào hàng đợi, và đến lúc gói tin được chuyển đi.

Về cơ bản đối tượng lưu vết được thiết kế theo từng bản ghi tại thời điểm gói tin đến nơi nhận mà chúng được định dạng. Người sử dụng luôn có được thông tin từ Trace. Nhưng ở đây chúng ta quan tâm đến những hoạt động tiếp theo , một trường hợp có thể xảy ra khi độ trì hoãn trên mạng cao dẫn đến nghẽn mạch. Khi đó các gói tin tin sẽ được đưa vào hàng đợi như thế nào, và cơ chế quản lý hàng đợi nào sẽ có hiệu quả hơn.

Chẳng hạn chúng ta muốn sử dụng hàng đợi RED ta phải xác định kích thước hàng đợi trung bình có trọng số , và kích thước hiện tại của hàng đợi RED , xác định giá trị chặn trên và chặn dưới là Tmax và Tmin phù hợp để giải quyết vấn đề trì hoãn cao trên mạng. Hình dưới đây mô tả quá trình theo dõi diễn biến trong một hàng đợi từ lúc gói tin đi vào hàng đợi, và đến lúc gói tin được chuyển đi.

Định dạng gói tin NS: Một gói tin trong NS bao gồm hai phần đó là phần đầu Header và Data Header cmn header ip header tcp header rtp header trace header ...... cmn header Uid_ : unique id Ptype_ : pkt type Size_ : simulated pkt size Ts_ : time stamp  

Header

cmn header

ip header

tcp header

rtp header

trace header

......

cmn header

Uid_ : unique id

Ptype_ : pkt type

Size_ : simulated pkt size

Ts_ : time stamp

 

Dùng C++ và Otcl để xây dựng NS Hệ mô phỏng NS được viết trên C++ và Otcl, C++ dùng để xử lý dữ liệu, các thao tác về gói tin và Otcl được sử dụng để định dạng cấu hình mô phỏng, điều khiển mô phỏng. Đây là lí do để hệ mô phỏng NS đạt hiệu quả. Để giảm bớt thời gian xử lý gói tin và những sự kiện trong mô phỏng, tất cả đều được thực hiện trên C++.

Hệ mô phỏng NS được viết trên C++ và Otcl, C++ dùng để xử lý dữ liệu, các thao tác về gói tin và Otcl được sử dụng để định dạng cấu hình mô phỏng, điều khiển mô phỏng.

Đây là lí do để hệ mô phỏng NS đạt hiệu quả. Để giảm bớt thời gian xử lý gói tin và những sự kiện trong mô phỏng, tất cả đều được thực hiện trên C++.

Cài đặt: Linux, Windows http://www.isi.edu/nsnam/ns/ -download ns-allinone -includes Tcl, Otcl, TclCL, ns, nam... Tài liệu: Marc Gries tutorial, ns manual

http://www.isi.edu/nsnam/ns/

-download ns-allinone

-includes Tcl, Otcl, TclCL, ns, nam...

Tài liệu: Marc Gries tutorial, ns manual

Các Agent và dịch vụ truyền tin trong NS. UDP Agent được thực hiện trên giao thức UDP. UDP Agent truy cập, xử lý dữ liệu từ ứng dụng. Kích thước dữ liệu xử lý có thể thay đổi tuy nhiên không thể vượt quá kích thước lớn nhất của đoạn (Maximum Segment Size- MSS) giá trị này trong UDP Agent được mặc định là 1000 byte, thể hiện qua câu lệnh: Agent / UDP set packstsize_ 1000 UDP Agent có thể phát chuyển dữ liệu theo hai cách sau:   Dùng hàm sendmsg() (trong C++). Dùng phương thức s end hoặc sendmsg (trong Otcl).

UDP Agent được thực hiện trên giao thức UDP. UDP Agent truy cập, xử lý dữ liệu từ ứng dụng. Kích thước dữ liệu xử lý có thể thay đổi tuy nhiên không thể vượt quá kích thước lớn nhất của đoạn (Maximum Segment Size- MSS) giá trị này trong UDP Agent được mặc định là 1000 byte, thể hiện qua câu lệnh:

Agent / UDP set packstsize_ 1000

UDP Agent có thể phát chuyển dữ liệu theo hai cách sau:

  Dùng hàm sendmsg() (trong C++).

Dùng phương thức s end hoặc sendmsg (trong Otcl).

Mô tả hoạt động của UDP Agent trong mô phỏng set ns [ new Simulator ] set n0 [ $ns node] set n1 [ $ns node] $ns duplex-link $n0 $n1 5mbps 2ms Droptail set udp0 [ new Agent / UDP] $ns attach-agent $n0 $udp0 set cbr0 [ new Application / Traffic / CBR] $cbr0 attach-agent $udp0 $udp0 set packetsize_ 536 set null0 [ new Agent / Null] $ns attach-agent $n1 $null0 $ns connect $udp0 $null0 $ns at 1.0 " $cbr0 start " $ns at 4.0 " $cbr0 stop " n0 n1 udp cbr null

set ns [ new Simulator ]

set n0 [ $ns node]

set n1 [ $ns node]

$ns duplex-link $n0 $n1 5mbps 2ms Droptail

set udp0 [ new Agent / UDP]

$ns attach-agent $n0 $udp0

set cbr0 [ new Application / Traffic / CBR]

$cbr0 attach-agent $udp0

$udp0 set packetsize_ 536

set null0 [ new Agent / Null]

$ns attach-agent $n1 $null0

$ns connect $udp0 $null0

$ns at 1.0 " $cbr0 start "

$ns at 4.0 " $cbr0 stop "

TCP Agent Các TCP Agent truyền dữ liệu theo một chiều:      Agent / TCP     Agent / TCP / Reno      Agent / TCP / Sack       Agent / TCP / Vegas       Agent / TCp / Fack TCP Agent truyền dữ liệu theo hai chiều:  Agent / TCP / FullTCP  Agent / TCP / BayFullTCP Các TCP Agent nhận dữ liệu :  Agent / TCPSink  Agent / TCPSink / DelAck  Agent / TCPSink / Sack1    Agent / TCPSink / Sack1 / DelAck  Agent / Null

Các TCP Agent truyền dữ liệu theo một chiều:

     Agent / TCP

    Agent / TCP / Reno

     Agent / TCP / Sack

      Agent / TCP / Vegas

      Agent / TCp / Fack

TCP Agent truyền dữ liệu theo hai chiều:

 Agent / TCP / FullTCP

 Agent / TCP / BayFullTCP

Các TCP Agent nhận dữ liệu :

 Agent / TCPSink

 Agent / TCPSink / DelAck

 Agent / TCPSink / Sack1

   Agent / TCPSink / Sack1 / DelAck

 Agent / Null

Hoạt động của TCP Agent trong hệ mô phỏng set ns [ new Simulator ] set n0 [ $ns node] set n1 [ $ns node] $ns duplex-link $n0 $n1 5mbps 2ms RED Set tcp0 [ new Agent / TCP] $ns attach-agent $n0 $tcp0 set fpt0 [ new Application / Traffic / FPT] $fpt0 attach-agent $tcp0 $tcp0 set packetsize_ 210 $tcp0 set window_ 50 Set sink0 [newAgent/ TCPSink] $ns attach-agent $n1 $sink0 $ns connect $tcp0 $sink0 $ns at 1.0 " $fpt0 start " $ns at 4.0 " $fpt0 stop " Các tham số quan trọng:    Agent / TCP set windowOption_ 1  Agent / TCP set windowInit_ 1  Agent / TCP set windowConstant_ 4  Agent / TCP set windowThresh_ 0.02  Agent / TCP set packetsize_ 210    Agent / TCP set ack_ 0    Agent / TCP set dupacks_ 0    Agent / TCP set overhead_ 0    Agent / TCP set ecn_ 0 Agent / TCP set tcpTick_ 0.1

set ns [ new Simulator ]

set n0 [ $ns node]

set n1 [ $ns node]

$ns duplex-link $n0 $n1 5mbps 2ms RED

Set tcp0 [ new Agent / TCP]

$ns attach-agent $n0 $tcp0

set fpt0 [ new Application / Traffic / FPT]

$fpt0 attach-agent $tcp0

$tcp0 set packetsize_ 210

$tcp0 set window_ 50

Set sink0 [newAgent/ TCPSink]

$ns attach-agent $n1 $sink0

$ns connect $tcp0 $sink0

$ns at 1.0 " $fpt0 start "

$ns at 4.0 " $fpt0 stop "

Các tham số quan trọng:

   Agent / TCP set windowOption_ 1

 Agent / TCP set windowInit_ 1

 Agent / TCP set windowConstant_ 4

 Agent / TCP set windowThresh_ 0.02

 Agent / TCP set packetsize_ 210

   Agent / TCP set ack_ 0

   Agent / TCP set dupacks_ 0

   Agent / TCP set overhead_ 0

   Agent / TCP set ecn_ 0

Agent / TCP set tcpTick_ 0.1

Ứng dụng NS để mô phỏng một mô hình mạng Môi trường làm việc của NS. Để thực hiện mô phỏng một mô hình mạng trước hết ta phải khởi tạo các đối tượng, các liên kết, các Agent, các dịch vụ truyền tin... trên môi trường NS, và điều này khá đơn giản vì NS đã hỗ trợ cách khởi tạo ra các đối tượng này. Sau khi khởi tạo các đối tượng như nút(node), liên kết(link), các Agent, các dịch vụ truyền tin... thì đoạn mã lệnh tương ứng sẽ được phát sinh. Cấu trúc câu lệnh của NS cũng khá đơn giản chúng ta cũng có thể sử dụng nó để tạo ra một mô hình theo ý muốn. NAM (Network Animator). Sau khi thực hiện mô phỏng mô hình mạng trên NS, trình biên dịch sẽ dịch chương trình chúng ta đã mô phỏng, kết quả được lưu dưới dạng file NAM. NAM có một giao diện dễ sử dụng (có các nút điều khiển chương trình như: Play, Stop, FastForward, Rewind, Pause... ), chúng ta có thể thực hiện chương trình đã biên dịch dưới dạng file NAM trong môi trường NAM một cách dễ dàng. Trên màn hình luôn luôn hiển thị thời gian thực hiện chương trình, tốc độ truyền gói tin. Ngoài ra nó còn có màn hình quan sát lưu lượng gói tin truyền đi và số lượng gói tin rời khỏi đường truyền khi có độ trì hoãn cao hay nghẽn mạch xảy ra trên mạng.

Môi trường làm việc của NS.

Để thực hiện mô phỏng một mô hình mạng trước hết ta phải khởi tạo các đối tượng, các liên kết, các Agent, các dịch vụ truyền tin... trên môi trường NS, và điều này khá đơn giản vì NS đã hỗ trợ cách khởi tạo ra các đối tượng này. Sau khi khởi tạo các đối tượng như nút(node), liên kết(link), các Agent, các dịch vụ truyền tin... thì đoạn mã lệnh tương ứng sẽ được phát sinh. Cấu trúc câu lệnh của NS cũng khá đơn giản chúng ta cũng có thể sử dụng nó để tạo ra một mô hình theo ý muốn.

NAM (Network Animator).

Sau khi thực hiện mô phỏng mô hình mạng trên NS, trình biên dịch sẽ dịch chương trình chúng ta đã mô phỏng, kết quả được lưu dưới dạng file NAM. NAM có một giao diện dễ sử dụng (có các nút điều khiển chương trình như: Play, Stop, FastForward, Rewind, Pause... ), chúng ta có thể thực hiện chương trình đã biên dịch dưới dạng file NAM trong môi trường NAM một cách dễ dàng. Trên màn hình luôn luôn hiển thị thời gian thực hiện chương trình, tốc độ truyền gói tin. Ngoài ra nó còn có màn hình quan sát lưu lượng gói tin truyền đi và số lượng gói tin rời khỏi đường truyền khi có độ trì hoãn cao hay nghẽn mạch xảy ra trên mạng.

Mô hình mô phỏng. 5Mbps, 5ms: 0-1 4Mbps, 2ms:3-4..... 5Mbps, 5ms 3Mbps, 6ms 5Mb, 5ms 4Mb, 2ms 3Mbps, 6ms 5Mbps, 5ms Nút Liên kết Agent Dịch vụ 0 1 2 3 4 5 6 tcp ftp0 udp cbr tcp Fpt2 sink sink null

5Mbps, 5ms: 0-1

4Mbps, 2ms:3-4.....

Kết quả thực hiện mô phỏng Khi biên dịch chương trình này kết quả được lưu vào file Red.nam và thực hiện file này trong môi trường NAM cũng có kết quả mô phỏng như sau

Khi biên dịch chương trình này kết quả được lưu vào file Red.nam và thực hiện file này trong môi trường NAM cũng có kết quả mô phỏng như sau

Phân tích kết quả dựa vào TRGRAPH Event_time_fromnode_tonode_pktsize_flags_fid_srcaddr_dstaddr_sepnum_pktid r: receive, +: enqueue, -: dequeue, d: drop - 0.173036 1 0 tcp 450 ------- 1 2.1 0.0 1 2 r 0.175396 1 0 tcp 450 ------- 1 2.1 0.0 1 2 + 0.212896 0 1 ack 210 ------- 1 0.0 2.1 1 3 - 0.212896 0 1 ack 210 ------- 1 0.0 2.1 1 3 r 0.231696 0 1 ack 210 ------- 1 0.0 2.1 1 3 + 0.231696 1 2 ack 210 ------- 1 0.0 2.1 1 3

Event_time_fromnode_tonode_pktsize_flags_fid_srcaddr_dstaddr_sepnum_pktid r: receive, +: enqueue, -: dequeue, d: drop

- 0.173036 1 0 tcp 450 ------- 1 2.1 0.0 1 2

r 0.175396 1 0 tcp 450 ------- 1 2.1 0.0 1 2

+ 0.212896 0 1 ack 210 ------- 1 0.0 2.1 1 3

- 0.212896 0 1 ack 210 ------- 1 0.0 2.1 1 3

r 0.231696 0 1 ack 210 ------- 1 0.0 2.1 1 3

+ 0.231696 1 2 ack 210 ------- 1 0.0 2.1 1 3

Add a comment

Related presentations

Related pages

Thư viện Bài giảng điện tử

NGUYÊN TỐ CHUYỂN TIẾP I. Cấu Tạo Điện Tử IIIB : ns2(n-1)d1 Lantanid từ Ce đến Lutexi, Actinid từ Th đến Lr IVB : ns2(n-1)d2 VB ...
Read more

Thư viện Bài giảng điện tử

ns2 np3 Cấu hình tổng quát của lớp e ngoài cùng : Cấu hình lớp e ở trạng thái kích thích: Bị kích thích ns2 np3 nd0 nd1
Read more

Công ty Cổ phần Mạng Giáo dục Bạch Kim ...

This domain's nameservers are ns1.bachkim.vn and ns2.bachkim ... baigiang.bachkim.vn bach kim http://baigiang.viol... bai giang bach kim bai ...
Read more

baigiang.edu.vn - Tất cả thông tin về baigiang.edu ...

Với WebSiteLibrary Việt Nam bạn có thể kiểm soát tất cả mọi thứ về baigiang.edu.vn: ip địa lý, thể loại, liên kết, trang ...
Read more

baigiang.wru.edu.vn at WI. http://wru.edu.vn

BAIGIANG.WRU.EDU.VN Visit baigiang.wru.edu.vn. General Info. Stats ... ns2.vdconline.vn Stats & Details. Whois. IP Whois. Similar sites.
Read more

Bài giảng Bài 7: Hệ thống tuần hoàn - Bài ...

Phân nhóm chính nhóm VII (Halogen): Cấu trúc lớp ngoài cùng dạng ns2 np5 .Lớp ngoài cùng có 7 e , ... Copyright © 2014 BaiGiang.co ...
Read more

Bài giảng Bài 2: Clo (tiếp theo) - Bài Giảng ...

... (ns2 np5). Vì vậy khuynh hướng đặc trưng của các halogen là nhận thêm 1 electron để tạo ra lớp e ngoài cùng bền vững ...
Read more

CHƯƠNG I GIỚI THIỆU CHUNG VỀ MẠNG CÁP ĐỒNG

Scribd is the world's largest social reading and publishing site.
Read more