Bài tập lớn CƠ SỞ MẠNG THÔNG TIN Đề tài 5 Đo Băng Thông Của Nhiều Luồng Lưu Lượng Gửi Qua Một Mạng Gồm Nhiều Nút Thực hiện: nhóm BTV Các thành viên: Hoàng Công Thaont Hoàng Thanh T
Trang 1Bài tập lớn
CƠ SỞ MẠNG THÔNG TIN
Đề tài 5
Đo Băng Thông Của Nhiều Luồng Lưu Lượng Gửi Qua Một Mạng
Gồm Nhiều Nút
Thực hiện: nhóm BTV
Các thành viên:
Hoàng Công Thao(nt) Hoàng Thanh Tùng Nguyễn Đức Binh Nguyễn Xuân Thành Phạm Thành Vinh
Trang 2MỤC LỤC
1 Yêu cầu bài tập lớn 3
2 Phân chia công việc 4
2.1 Hoàng Công Thao 4
2.2 Nguyễn Đức Binh 4
2.3 Hoàng Thanh Tùng 4
2.4 Nguyễn Xuân Thành 4
2.5 Phạm Thành Vinh 4
3 Quá trình thực hiện 4
3 1 Mô phỏng hệ thống .4
3.2 Kết Quả Mô phỏng ………7
4 Kết luận 13
5 Tài liệu tham khảo 13
Trang 31 Yêu cầu bài tập lớn
Trang 4
2 Phân chia công việc
2.1 Hoàng Công Thao
- Viết code mô phỏng trên NS2:
thường
2.2 Hoàng Thanh Tùng
- Viết code mô phỏng trên NS2 :
Tạo nút
Tạo hàng đợi
Vẽ băng thông của luồng lưu lượng
2.3 Nguyễn Đức Binh
- Viết code mô phỏng trên NS2 :
Vẽ đồ thị tốc độ mất gói e(t)
Tạo nút
Tạo các luồng lưu lượng giữa các Agent
2.4 Nguyển Xuân Thành
- Viết code mô phỏng trên NS2 :
Vẽ đồ thị độ lưu lượng thực sự của các Link1 va Link3
Xây dựng Procedure Finish( )
2.5 Phạm Thành Vinh
- Thay các tham số trong mô phỏng & đưa ra nhận xét
3 Quá trình thực hiện
3.1 Mô phỏng hệ thống
Sử dụng công cụ NS2 mô phỏng hệ thống gồm 3 luồng lưu lượng gửi qua 4 nút
Trang 5Giả thiết :
125bytes Và khoảng thời gian giữa các gói là λ(S1)= λ(S3)=500kbit/s,
λ(S2)=300kbit/s
100ms
1.Xây dụng đồ hình gồm các Nut,Agent truyền và nhận dữ liệu
#tao 4 nut set n1 [$ns node]
set n2 [$ns node]
set n3 [$ns node]
set n4 [$ns node]
#tao cac duong link cho cac nut
$ns duplex-link $n1 $n2 1Mb 100ms DropTail
$ns duplex-link $n1 $n3 1Mb 100ms DropTail
$ns duplex-link $n2 $n4 1Mb 100ms DropTail
$ns duplex-link $n3 $n4 1Mb 100ms DropTail
#tao do dai hang doi va cach xap xep vi tri hang doi
$ns duplex-link-op $n1 $n2 queuePos 0.5
$ns queue-limit $n1 $n3 10
$ns duplex-link-op $n1 $n3 queuePos 0.5
$ns queue-limit $n2 $n4 10
$ns duplex-link-op $n2 $n4 queuePos 0.5
$ns queue-limit $n3 $n4 10
$ns duplex-link-op $n3 $n4 queuePos 0.5
#tao do hinh cho mo phong
$ns duplex-link-op $n1 $n3 orient right-down
$ns duplex-link-op $n1 $n2 orient right
$ns duplex-link-op $n2 $n4 orient right-down
$ns duplex-link-op $n3 $n4 orient right
#tao dich cho cac nut
set null0 [new Agent/Null]
set null1 [new Agent/Null]
set null2 [new Agent/Null]
$ns attach-agent $n2 $null0
$ns attach-agent $n2 $null2
Trang 6$ns attach-agent $n4 $null1
$ns connect $udp0 $null0
$ns connect $udp1 $null1
$ns connect $udp2 $null2
2.Tạo các luồng lưu lượng
#tao do hinh cho mo phong
$ns duplex-link-op $n1 $n3 orient right-down
$ns duplex-link-op $n1 $n2 orient right
$ns duplex-link-op $n2 $n4 orient right-down
$ns duplex-link-op $n3 $n4 orient right
#tao ung dung Trafic
set cbr0 [new Application/Traffic/CBR] set cbr1 [new Application/Traffic/CBR] set cbr2 [new Application/Traffic/CBR]
#khoi tao toc do truyen du lieu
$cbr0 set packet_size_ 150
$cbr0 set rate_ 500Kb
$cbr0 attach-agent $udp0
$cbr1 set packet_size_ 150
$cbr1 set rate_ 300Kb
$cbr1 attach-agent $udp1
$cbr2 set packet_size_ 150
$cbr2 set rate_ 500Kb
$cbr2 attach-agent $udp2
3.Xây dựng các hàm tính băng thông
#chuong trinh con ve do thi
proc record {} {
set time 1 set bw0 [$sink2 set bytes_]
set bw1 [$sink3 set bytes_]
set bw2 [$sink4 set bytes_]
set now [$ns now]
puts $f0 "$now [expr $bw0/$time*8/1000]" puts $f1 "$now [expr $bw1/$time*8/1000]" puts $f2 "$now [expr $bw2/$time*8/1000]" $sink2 set bytes_ 0
Trang 7$sink3 set bytes_ 0 $sink4 set bytes_ 0 $ns at [expr $now+$time] "record"
}
4.Xây dựng các hàm tính tốc độ mất gói
procrecord {} {
set time 1 set et0 [$sinkt2 set nlost_]
set et1 [$sinkt3 set nlost_]
set et2 [$sinkt4 set nlost_]
set now [$ns now]
puts $f0 "$now [expr ($et0+$et2)/$time]"
$sinkt2 set nlost_ 0 $sinkt3 set nlost_ 0 $sinkt4 set nlost_ 0 $ns at [expr $now+$time] "record"
}
5.Sử dụng hàm làm đứt link3
$ns rtmodel-at 25 down $n3 $n4
$ns rtmodel-at 75.0 up $n3 $n4
6.Xây dựng biểu tính luu lượng của link1 va link3 7.Chạy chương trình
Sau 5 lần thay biến timer bằng các giá trị:0.05;0.1;0.5;0.75 ;1 Cuối cùng Đặt biến timer co giá trị bằng 1s và mô phỏng trong 110s.thì thu được kết quả dễ quan sát nhất
Đơn vị của băng thông và lưu lượng là Kbit/s
Đơn vị tốc độ mất gói là e(goi/s) Quy định màu :(S1,D1)-blue;(S2,D2):Red;(S3,D3):Green
Trang 83.2 Kết Quả Mô phỏng
Sau khi mô phỏng thành công chúng tôi thu đựợc kêt quả như sau:
Mô hình theo kịch bản:
Hình1: Đồ hình mô phỏng 1a: Trước lúc chạy
Trang 9Hình1b: Mô phỏng trước khi Link 3 bị đứt
Trang 10Hình 1c Mô phỏng khi Link 3 bị đứt ( Node 4 và Node 3 )
Trang 11Hình 1d Mô phỏng khi Link 3 hoạt động bình thường
Hình 2 Đồ thị băng thông mà các luồng (Si ,Di ) sử dụng
Trang 12Hinh3:Lưu lượng và băng thông
Trang 13Hình 4 Đồ thị tốc độ mất gói tại Node 2
4 Kết luận
Các nguồn lưu lượng phân chia tài nguyên băng thông rất phù hợp thực tế và lý thuyết
NS-2 là một công cụ mô phỏng khá mới, lại viết trên ngôn ngữ tcl nên trong quá trình làm bài tập lớn nhóm chúng em đã gặp phải nhiều khó khăn, và vẫn chưa hoàn thành được công việc được giao:
Chưa tính toán chính xác nhất Lưu Lượng của Link3
5 Tài liệu tham khảo
http://www.isi.edu/nsnam/ns/tutorial/index.html
http://nile.wpi.edu/ns
http://140.116.72.80/~smallko/ns2/ns2.htm
http://www-sop.inria.fr/maestro/personnel/Eitan.Altman/COURS-NS/n3.pdf