OTcl Bbiên dịch Tcl mở rộng hướng đối
ợ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 mô đun Trợ giúp Thiết lập Mạng
Plumbling Modules Các mô đun 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
Để thiết lập và chy một mạng phỏng, người dùng phải viết một tập lệnh
OTcl Script và khởi động một lịch trình skiện, thiết lập cấu hình mạng sdụng
các đối tượng mạng và c m chức năng trong tviện, chỉ cho tài nguyên lưu
lượng biết khi nào thì bắt đầu và kết thúc việc truyền gói thông qua lập biểu.
Khi phỏng kết thúc, NS-2 sxuất hiện một hay nhiều file text, đó
chứa các dữ liệu kết quả phỏng chi tiết nếu chúng ta yêu cu trong tp lệnh Tcl.
Các file này lại là dliệu đầu vào cho một chương trình hin thị phỏng trực
quan gọi là Network Animator (NAM). c sliệu kết quả phỏng cũng được
dùng để vcác đthị phân tích bằng chương trình Xgraph theo các yêu cầu người
dùng.
4.2.2 Chuẩn bị công cmô phỏng
NS-2 được thiết kế để chạy trong môi trường Unix. Tuy nhiên, ta vẫn thể
cài đặt NS-2 trong Windows bằng cách dùng thêm chương trình Cygwin. đây,
sinh viên cài NS-2 trên Windows XP với Cygwin v1.5.24.
Cài đặt i phần mềm ns-allinone-2.32 phát hành ngày 03/09/2007 tại
website http://nsnam.isi.edu/nsnam. Trong gói phần mềm này đã bao gm ns-2.32,
nam-1.13, otcl-1.13 tclcl-1.19. Trong thư viện đã htrợ cho mô phỏng của sinh
viên.
4.3 Ni dung và kết quả mô phỏng
4.3.1 phỏng thuật toán tăng giảm
Như trong chương 2, tài nguyên phân b của 2 người dùng bt k
})(),({ 21 txtx th biểu din như điểm {x1, x2 } trong không gian 2 chiều. Khi
chúng ta đang hoạt động ti hay gần điểm gãy (Knee) (mạng tài nguyên Xgoal)
mọi tài nguyên yêu cầu bởi người dùng đều được chấp nhận. Thuật toán tăng giảm
mong muốn hội tụ đến bình đẳng và hiệu quả, tức là x1+x2=Xgoal /2
Bắt đầu
x1=x2=Xgoal/2
x1+x2>Xgoal
Sai
Dùng thuật toán tăng
x’1=aI+bI.x1
x’2=aI+bI.x2
Dùng thuật toán giảm
x’1=aD+bD.x1
x’2=aD+bD.x2
x1=x’1
x2=x’2
Kết thúc
Đúng
Đúng
Nhập phân phối cho ngườing 1
(x1), người dùng 2 (x2), mức lưu
lượng đưa vào tại điểm knee (Xgoal),
các h s trong thuật toán tăng gim aI,
aD, bI, bD
Sai
Hình 4.2 Sơ đồ thuật tnng giảm
Trong hình 4.3, trc Y (trc đứng) mô t phân phối (allocation) cho người
dùng 1 x1, trc X (trục ngang) mô t phân phối cho người dùng 2 x2. Tất c s
phân phối với x1+x2=Xgoal phân phối có hiệu qu. tương ứng với đường thng
đường hiệu quả” ường màu đỏ). Tất c phân phối mà x1= x2 phân b bình
đẳng. tương ng với đường thẳng được gọi là đường bình đẳng” (đường màu
xanh). Hai đường này cắt nhau tại điểm (Xgoal/2, Xgoal/2) đim tối ưu. Mục tiêu
của phương pháp điều khiển là m cho h thống đến hoạt động tại đim này mà
không quan m đến v trí bắt đầu. Tất c các điểm bên dưới đường hiệu qu mô t
h thống “không đủ tải mt cách tưởng h thống s yêu cầu người dùng tăng
tải. Tương t, tất c các điểm trên đường hiệu qu mô t h thống quá tải.
Hình 4.3 Giao diện công cụ mô phỏng thuật toán tăng giảm
Khi ta chọn đồng bộ ngõ vào tức 2 người dùng sdụng thuật toán như
nhau. Ta ththay đổi các hsố tăng giảm a, b, thay đổi thời gian vòng truyền (là
tổng thời gian mất do mạng khi phát gói đi từ luồng đến phía nhận và phát phúc đáp
đến phía gởi). Phthuộc vào thuật toán lựa chọn, các hệ số thay đổi đến c giá trị
cho phép. Thêm vào đó ta thể vẽ đồ thị tốc độ người dùng theo thời gian, khoảng
cách đến điểm tối ưu và tạo ra file dưới dạng text để dùng với các công cụ vđồ thị
thông thường như xgraph hay gnuplot.
phỏng thuật toán AIMD và MIAD với 2 người dùng cùng thời gian
vòng truyền RTT=1s, khoảng thời gian mô phỏng là 50s, các hsố a=0.1 và b=0.5.
Giá trị x, y lần lượt là tốc độ của người dùng.
Hình 4.4 Biểu đồ vector của thuật tn AIMD