Báo cáo môn cơ sở truyền số liệu Tìm hiểu về nguyên lý công bằng cực đại cực tiểu (maxmin fairness)

15 454 0
Báo cáo môn cơ sở truyền số liệu Tìm hiểu về nguyên lý công bằng cực đại cực tiểu (maxmin fairness)

Đ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ìm hiểu về nguyên lý công bằng cực đại cực tiểu (maxmin fairness) Trong môn Cơ sở mạng thông tin, chúng ta đã làm quen với phương pháp đánh giá hoạt động của một hệ thống thông tin bằng phương pháp phân tích toán học, đặc biệt là các mô hình liên quan đến hệ thống hàng đợi đơn, mạng hàng đợi,cơ sở cho các cơ chế điều khiển luồng và định tuyến trong mạng. Trong phần bài tập lớn này, chúng ta sẽ được làm quen với một phương pháp khác để đánh giá hiệu năng, đó là phương pháp mô phỏng.

Mục lục ục đích Trong mơn Cơ sở mạng thơng tin, làm quen với phương pháp đánh giá hoạt động hệ thống thông tin phương pháp phân tích tốn học, đặc biệt mơ hình liên quan đến hệ thống hàng đợi đơn, mạng hàng đợi,cơ sở cho chế điều khiển luồng định tuyến mạng Trong phần tập lớn này, làm quen với phương pháp khác để đánh giá hiệu năng, phương pháp mơ Bài tập lớn có số mục đích sau: - Kiểm nghiệm kết phân tích, đánh giá hệ thống dùng phương pháp phân tích tốn học phương pháp mơ - Làm quen với công cụ mô NS-2 – công cụ mô mạng thông dụng - Làm quen với hệ điều hành Linux lập trình môi trường GNU - Phát triển kỹ làm việc theo nhóm - Phát triển kỹ làm việc độc lập Yêu cầu BTL: BTL nhóm yêu cầu tính tốc độ luồng liệu gửi qua mạng để luồng chia băng thông kênh truyền dựa theo nguyên lý công cực đại cực tiểu (max-min fairness) dựng kịch mô công cụ NS2 Các thành viên nhóm nhiệm vụ thành viên Hồng Văn Pháp Tìm hiểu nguyên lý công cực đại cực tiểu Max-min fairness tính tốn tham số λS1, λS2, λS3 dựa theo ngun lý Nguyễn Hồng Ân Tìm hiểu công cụ mô NS-2 dựng kịch mơ Nguyễn Đình Q Vẽ đồ thị băng thơng vẽ đồ thị tốc độ gói Thực tập lớn: I.Tìm hiểu ngun lý cơng cực đại cực tiểu (max-min fairness) Trong trao đổi thơng tin, phía phát truyền liệu đến phía thu liệu lưu đêm phía thu Dữ liệu đệm sau xử lý chuyển lên lớp phía xóa đi, để dành đệm cho liệu Trên thực tế trao đổi thơng tin mạng, xảy tình trạng phía phát truyền liệu với tốc độ cao khả xử lý phía thu, dẫn đến đệm phía thu đầy dần bị tràn Trong trường hợp này, phía thu khơng thể nhận thêm gói liệu từ phía phát dẫn đến việc phía phát phải thực truyền lại liệu, gây lãng phí băng thơng đường truyền Nhằm giảm thiểu việc phải truyền lại thơng tin gói tràn hàng đợi, cần có chế thực kiểm sốt điều khiển lưu lượng thơng tin đến thiết bị/mạng Chức thực kỹ thuật điều khiển luồng kiểm soát tắc nghẽn Một vấn đề khó khăn thực điều khiển luồng kiểm soát tắc nghẽn đảm báo tính cơng cho kết nối người dùng xảy tắc nghẽn Khái niệm tính cơng thể chỗ kết nối, người dùng sử dụng tài nguyên mạng với hội Việc sử dụng tài nguyên mạng hiệu đảm bảo tính cơng cho kết nối thực chế điều khiển luồng cực đại – cực tiểu (max–min flow control) Cơ chế xây dựng mơ hình cơng cực đại – cực tiểu (max-min fairness) Nguyên tắc hoạt động chế điều khiển luồng cực đại – cực tiểu sau: Nguyên tắc : Sau người dùng với u cầu tài ngun đáp ứng cơng bằng, tài ngun cịn lại tiếp tục phân chia (một cách công bằng) cho người dùng cịn lại Trong nhóm người dùng này, tài nguyên lại phân chia cho người dùng có u cầu đáp ứng, q trình tiếp tục đến hết Nói cách khác, việc cấp phát tài nguyên mạng cho người dùng i khơng làm ảnh hưởng đến tài ngun cấp ngườii dùng khác với yêu cầu i Thuật toán: 1.Khởi tạo tất kết nối với tốc độ = Tăng tốc độ tất kết nối với lượng nhỏ δ, lặp lại trình tồn liên kết có tổng băng thơng đạt đến giá trị băng thông cực đại (Fa = Ca) Lúc này: Tất kết nối chia sẻ liên kết sử dụng băng thông Liên kết điểm tắc nghẽn tất kết nối sử dụng liên kết Ngừng việc tăng băng thông cho kết nối vỡ kết nối đạt đến trạng thái cân cực đại – cực tiểu 2.Lặp lại trình tăng tốc độ cho kết nối khác chưa đạt đến điểm tắc nghẽn lại tìm thấy điểm tắc nghẽn ứng với kết nối khác (lặp lại bước này) 3.Thuật toán kết thúc tất kết nối tìm điểm tắc nghẽn k na := số lượng đường p ∈ Pk k % r k := (Ca − Fak −1 ) / na a∈Ak với δ p (a) = %  rpk −1 + r k ( p ∈ P k )  r =  k −1 k  rp ( p ∉ P )  k p Fak := ∑ δ p ( a).rpk a∈A A k+1 := { a | Ca − Fak > 0} P k +1 := { p | δ p (a ) = 0, for all a ∉ A k+1} k := k + Nếu Pk tập hợp rỗng dừng lại, khơng quay lại bước II Thực hiện: Yêu cầu: Băng thông đối đa tổng cộng mà luồng chiếm kênh truyền vật lý 95% dung lượng kênh truyền => C1sd=95%*1.5 Mb/s=1.425 Mb/s C2sd=95%*1 Mb/s=0.95 Mb/s C3sd=95%*0.6 Mb/s=0.57 Mb/s C4sd=95%*0.5 Mb/s=0.475 Mb/s Các đường liên kết: (1,2); (2,3); (3,4); (4,5) Các kết nối (S1,D1); (S2,D2); (S3,D3) -Pk tập hợp kết nối không qua liên kết bão hịa nào, tính lúc bắt đầu bước k -nka số lượng kết nối Pk sử dụng liên kết a Liên kết (1,2) nka =1 Liên kết (2,3) nka =2 Liên kết (3,4) nka =2 Liên kết (4,5) nka =1 - phần băng thông tăng lên cho kết nối Pk bước thứ k % r k Bước 1: k = 1, F01 = F02 = F03 = F04 = 0, r0p = 0, P1 =[(S1,D1),(S2,D2),(S3,D3)] A1 = A =min((1.425-0)/1, (0.95-0)/2 , (0.57-0)/2 , (0.475-0)/1)= 0.285 Mb/s % rk r11 = 0.285 Mb / s r21 = 0.285 Mb / s r31 = 0.285 Mb / s Bước 2: k=2, F11 F =0.285 Mb/s =0.285+0.285=0.57 Mb/s F F41 P =0.285+0.285=0.57 Mb/s =0.285 Mb/s =[(S2,D2)] Liên kết (3,4) bão hòa đặt giá trị λS1 =0.285 Mb/s λS3 =0.285 Mb/s Để kết nối (2,3) bão hòa λS2 = 0.95-0.285=0.665 Mb/s Khi F1 = 0.665Mb/s < C1sd => phù hợp F4 = 0.285Mb/s < C2sd => phù hợp Như ta tính tham số λS1, λS2, λS3 theo nguyên lý max-min fairness Mô Tạo đối tượng mô phỏng: set ns [new Simulator] Tạo namfile lưu liệu hệ thống mô set nf [open out.nam w] $ns namtrace-all $nf Tạo tracefile lưu liệu để vẽ đồ thị băng thông set f0 [open S1_D1_Band.tr w] set f1 [open S2_D2_Band.tr w] set f2 [open S3_D3_Band.tr w] đồ thị tốc độ gói set l0 [open S1_D1_Lost.tr w] set l1 [open S2_D2_Lost.tr w] set l2 [open S3_D3_Lost.tr w] Tạo đích, nguồn, nút: #Creat sources set s1 [$ns node] set s2 [$ns node] set s3 [$ns node] #Creat set d1 set d2 set d3 destinations [$ns node] [$ns node] [$ns node] #Create nodes set n1 [$ns node] set n2 [$ns node] set n3 [$ns node] set n4 [$ns node] set n5 [$ns node] Tạo liên kết cho nút với băng thông (Mbits/s) trễ truyền dẫn (ms): $ns $ns $ns $ns $ns $ns $ns $ns $ns $ns duplex-link duplex-link duplex-link duplex-link duplex-link duplex-link duplex-link duplex-link duplex-link duplex-link $s1 $n1 $n2 $n3 $n4 $n4 $n1 $n3 $n3 $n5 $n2 $n2 $n3 $n4 $n5 $d1 $s2 $d2 $s3 $d3 1Mb 10ms DropTail 1.5Mb 150ms DropTail 1Mb 100ms DropTail 0.6Mb 50ms DropTail 0.5Mb 100ms DropTail 1Mb 10ms DropTail 1Mb 10ms DropTail 1Mb 10ms DropTail 1Mb 10ms DropTail 1Mb 10ms DropTail Thiết lập vị trí cho nút $ns $ns $ns $ns $ns $ns $ns $ns $ns $ns duplex-link-op duplex-link-op duplex-link-op duplex-link-op duplex-link-op duplex-link-op duplex-link-op duplex-link-op duplex-link-op duplex-link-op $s1 $n2 $n2 $n3 $n4 $n1 $n3 $n3 $n4 $n5 $n2 $n1 $n3 $n4 $n5 $s2 $s3 $d2 $d1 $d3 orient orient orient orient orient orient orient orient orient orient right left-down right right right-up down up down right up Thiết lập vị trí hàng đợi kích thước hàng đợi $ns $ns $ns $ns duplex-link-op duplex-link-op duplex-link-op duplex-link-op $n2 $n3 $n4 $n5 $n1 $n2 $n3 $n4 queuePos queuePos queuePos queuePos 1.5 1.5 1.5 1.5 $ns $ns $ns $ns queue-limit queue-limit queue-limit queue-limit $n1 $n2 $n3 $n4 $n2 $n3 $n4 $n5 10 10 10 10 Xây dựng Agent cho nút s1, s2, s3, d1, d2, d3 #Create a UDP agent and attach it to node s1 set udp0 [new Agent/UDP] $udp0 set class_ $ns attach-agent $s1 $udp0 #Create a UDP agent and attach it to node s2 set udp1 [new Agent/UDP] $udp1 set class_ $ns attach-agent $s2 $udp1 #Create a UDP agent and attach it to node s3 set udp2 [new Agent/UDP] $udp2 set class_ $ns attach-agent $s3 $udp2 #Create a Sink agent (a traffic sink) and attach it to node d1, d2, d3 set sink0 [new Agent/LossMonitor] $ns attach-agent $d1 $sink0 set sink1 [new Agent/LossMonitor] $ns attach-agent $d2 $sink1 set sink2 [new Agent/LossMonitor] $ns attach-agent $d3 $sink2 Liên kết nguồn đích tương ứng #Connect the traffic sources with the traffic sink $ns connect $udp0 $sink0 $ns connect $udp1 $sink1 $ns connect $udp2 $sink2 Các gói truyền từ nút s1, s2, s3 tuân theo phân bố Poisson thiết lập hàm sendpacket: proc sendpacket0 {} { global ns udp0 ArrivalTime1 pksize set time [$ns now] $ns at [expr $time + [$ArrivalTime1 value]] "sendpacket0" $udp0 send $pksize } proc sendpacket1 {} { global ns udp1 ArrivalTime2 pksize set time [$ns now] $ns at [expr $time + [$ArrivalTime2 value]] "sendpacket1" $udp1 send $pksize } proc sendpacket2 {} { global ns udp2 ArrivalTime1 pksize set time [$ns now] $ns at [expr $time + [$ArrivalTime1 value]] "sendpacket2" $udp2 send $pksize } Với tốc độ phát gói nút xác định biến sau, đơn vị gói/s: set lambda1 285.0 set lambda2 665.0 thời gian để phát gói là: Set ArrivalTime1 [new RandomVariable/Exponential] $ArrivalTime1 set avg_ [expr 1/$lambda1] set ArrivalTime2 [new RandomVariable/Exponential] $ArrivalTime2 set avg_ [expr 1/$lambda2] kích thước gói (bytes) xác định set pksize 125.0 Các hàm sau lọc liệu lưu vào tracefile để vẽ đồ thị băng thông đồ thị tốc độ gói: proc recordbw {} { global sink0 sink1 sink2 f0 f1 f2 #Get an instance of the simulator set ns [Simulator instance] #Set the time after which the procedure should be called again set time 0.5 #How many bytes have been received by the traffic sinks? set bw0 [$sink0 set bytes_] set bw1 [$sink1 set bytes_] set bw2 [$sink2 set bytes_] #Get the current time set now [$ns now] #Calculate the bandwidth (in Mbit/s) and write it to the files puts $f0 "$now [expr $bw0/$time*8/1000000]" puts $f1 "$now [expr $bw1/$time*8/1000000]" puts $f2 "$now [expr $bw2/$time*8/1000000]" #Reset the bytes_ values on the traffic sinks $sink0 set bytes_ $sink1 set bytes_ $sink2 set bytes_ #Re-schedule the procedure $ns at [expr $now+$time] "recordbw" } proc recordlost {} { global sink0 sink1 sink2 l0 l1 l2 #Get an instance of the simulator set ns [Simulator instance] #Set the time after which the procedure should be called again set time 0.5 #How many packet have been lost? set lost0 [$sink0 set nlost_] set lost1 [$sink1 set nlost_] set lost2 [$sink2 set nlost_] #Get the current time set now [$ns now] #Calculate number of packet lost puts $l0 "$now [expr $lost0]" puts $l1 "$now [expr $lost1]" puts $l2 "$now [expr $lost2]" #Reset the nlost_ values on the traffic sinks $sink0 set nlost_ $sink1 set nlost_ $sink2 set nlost_ #Re-schedule the procedure $ns at [expr $now+$time] "recordlost" } Hàm finish dùng để kết thúc chương trình vẽ đồ thị: proc finish {} { global ns nf f0 f1 f2 $ns flush-trace #Close the output files close $f0 close $f1 close $f2 close $nf #Execute nam on the trace file exec nam out.nam & #Call xgraph to display the results exec xgraph S1_D1_Band.tr S2_D2_Band.tr S3_D3_Band.tr -geometry 800x400 -t "BandWidth" -x "s" -y "Mbit/s" & exec xgraph S1_D1_Lost.tr S2_D2_Lost.tr S3_D3_Lost.tr -geometry 800x400 -t "LostPacket" -x "s" -y "Packet" & exit } Thực chạy mô 100s #Schedule events for the CBR agents $ns at 0.0 "recordbw" $ns at 0.0 "recordlost" $ns at 0.5 "sendpacket0" $ns at 0.5 "sendpacket1" $ns at 0.5 "sendpacket2" #Call the finish procedure $ns at 100 "finish" #Run the simulation $ns run Kết mô phỏng: Kết mô nam Đồ thị băng thơng luồng Tốc độ gói ... nhiệm vụ thành viên Hồng Văn Pháp Tìm hiểu ngun lý cơng cực đại cực tiểu Max-min fairness tính toán tham số λS1, λS2, λS3 dựa theo nguyên lý Nguyễn Hồng Ân Tìm hiểu cơng cụ mô NS-2 dựng kịch mô Nguyễn... Thực tập lớn: I .Tìm hiểu ngun lý cơng cực đại cực tiểu (max-min fairness) Trong trao đổi thông tin, phía phát truyền liệu đến phía thu liệu lưu đêm phía thu Dữ liệu đệm sau xử lý chuyển lên lớp... Cơ chế xây dựng mơ hình cơng cực đại – cực tiểu (max-min fairness) Nguyên tắc hoạt động chế điều khiển luồng cực đại – cực tiểu sau: Nguyên tắc : Sau người dùng với yêu cầu tài ngun đáp ứng cơng

Ngày đăng: 29/10/2014, 21:14

Từ khóa liên quan

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

Tài liệu liên quan