Nhận xét: Sau khi so sánh hai kết quả từ đồ thị, ta thấy phần mềm đã đáp ứng được độ chính xác so với kết quả [6].
Qua các kiểm nghiệm trên, phần mềm mô phỏng đã xây dựng có thể dùng trong việc mơ phỏng mạng OBS.
3.3.5 Cách sử dụng chương trình OBS4NS
Trong phần này, sẽ mô tả các thao tác để tạo một kịch bản mô phỏng bằng phần mềm OBS4NS.
Mở đầu một kịch bản mô phỏng bằng dòng lệnh
Set ns [new Simulator]; tạo ra đối tượng mô phỏng
Tạo ra node mạng
Set c($i) [$ns ObsCoreNode $ncc $ndc ChannelScheduler/$stype]; tạo ra node lõi
Set e($i) [$ns ObsEdgeNode $ncc $ndc ChannelScheduler/$stype]; tạo ra node biên
Set h($i) [$ns ObsHybridNode $ncc $ndc ChannelScheduler/$stype]; tạo ra node kết hợp
Trong các câu lệnh trên ChannelScheduler/$stype là loại lập lịch kênh truyền. Ndc và ncc là số lượng kênh dữ liệu và kênh điều khiển ở ngõ ra mỗi node.
Tạo ra các lệnh kết trong mạng
$ Ns duplex-obs-link $c(1) $c(2) $ncc $ndc 1100 ChannelScheduler/$stype
Câu lệnh trên sẽ tạo ra một liên kết song hướng giữa 2 node c(1) và c(2) với
Thiết lập các thông số mạng
Agent/Burstifier set equal_offset_ false; cho phép thời gian offset bằng nhau cho tất cả các mức dịch vụ hay không
Agent/Burstifier set max_db_size_ 50000; thiết lập kich thước tối đa cho một burst
Agent/Burstifier set bhp_size_ 40; thiết lập kích thước gói điều khiển
Agent/Burstifier set max_packets_ 100; thiết lập số lượng gói tối đa trong một burst
Agent/Burstifier set timeout_ 10ms; thiết lập thời gian cho bộ định thời của bộ đong khối
Agent/Burstifier set min_segmentable_size_ 2000
Agent/Burstifier set segmentation_ false; cho phép phân đoạn burst trong giải quyết xung đột hay không
Đưa lưu lượng vào mạng
Set Traffic_type($i$j$k) [new Application/Traffic/Traffic_type] $ Traffic_type($i$j$k) set rate_ $rate ; thiết lập tốc độ trung bình $ Traffic_type($i$j$k) set packetSize_ 1250 ; thiết lập kích thước gói # Attach traffic
set udp($i$j$k) [$c($i) set burstifier_([$c($j) id]:$k)]; cho phép việc đóng khối và gửi đi
$ Traffic_type ($i$j$k) attach-agent $udp($i$j$k)
$ Udp ($i$j$k) set-traffic-generator $ Traffic_type($i$j$k) $ Ns at 0.0 "$udp($i$j$k) start"; bắt đầu phát lưu lượng
Traffic_type là loại lưu lượng được đưa vào mạng như Pareto, Poisson..
Các câu lệnh sau dùng để giới hạn thời gian của việc mô phỏng. Mô phỏng kết thúc khi thông số cài đặt đạt đến yêu cầu.
Set sc [$ns get-global-stats-collector k]; biến sc ghi nhận các sự kiện đối với mức dịch vụ là k
$sc0 set-counter-convergence DATA_SND 125000000000; mô phỏng chỉ kết thúc khi dữ liệu được phát đi đạt đến mức đã đặt ra là 125000000000
Stats stop-command "stop"; khi đã đạt đến mức yêu cầu thì gọi hàm “stop” để
kết thúc mô phỏng
# Enable stats collector
$ns at [RouteLogic/ObsRoute transit_time] "$ns enable-stats"; cho phép gọi chức năng thống kê trong thời gian thực hiện mô phỏng
Hàm kết thúc các lưu lượng
Proc stop {} {
Global ns udp edge_count
$ns at-now "$udp($i$j$k) stop"; kết thúc phát burst Set now [$ns now]
$ Ns at [expr $now + 0.2] "finish"; chờ 0.2s sau cho các burst đã đến đích hết rồi mới kết thúc mơ phỏng
Hàm dùng để kết thúc mô phỏng và thu thập kết quả
Proc finish {} { Global ns sc
set ip_snd [expr [$sc get-counter-value DATA_SND]]; lấy số lượng gói được phát
đi
Set ip_rcv [expr [$sc get-counter-value DATA_RCV]]; lấy số lượng gói đã nhận
được
Set ip_drop [expr $ip_snd - $ip_rcv]; tính ra số lượng gói đã bị rớt set ip_p [expr 1.0*$ip_drop/$ip_snd]; tính tốn xác suất mất gói Set file [open "results. Txt " "a"]; mở một file để ghi kết quả
Puts $file "$ip_p" ; ghi kết quả xác suất mất gói vào một file exit 0
}
Bắt đầu cho việc chạy mơ phỏng
Chương IV
THỰC HIỆN MƠ PHỎNG Q TRÌNH ĐĨNG KHỐI TRONG MẠNG CHUYỂN MẠCH KHỐI
QUANG OBS
4.1 Mục đích
Như đã trình bày trong phần lý thuyết về mạng OBS ở chương 2, mạng OBS có nhiễu vấn đề cần phải quan tâm. Các thông số mạng cần phải được chọn một cách hợp lý và các giao thức mạng phải được xây dựng sao cho tốt nhất về mặt mất mát và độ trễ.
Vì giới hạn về mặt thời gian nên luận văn đi vào nghiên cứu một phần nhỏ trong mạng OBS, đó là việc đóng khối trong mạng OBS. Việc mơ phỏng trong luận văn nhằm tìm được một giá trị hay một dải giá trị về kích thước burst cho xác suất mất gói nhỏ nhất trong mạng OBS với một topo và các thông số mạng liên quan được giới hạn trước.
4.2 Cách thức thực hiện mô phỏng và ghi nhận kết quả
Việc mô phỏng sẽ được thực hiện bằng phần mềm mô phỏng OBS4NS. Mô phỏng được thực hiện để tính tốn xác suất mất gói đối với từng kích thước burst với cùng một lưu lượng tải đưa vào. Sau đó vẽ đồ thị và chọn ra kích thước burst cho xác suất mất gói thấp nhất trong số các kích thước burst đã mơ phỏng
4.3 Giới hạn mơ phỏng của bài tốn đóng khối