Chương HỆ THỐNG MẠNG HÀNG ĐỢI ■ ■ ■ 4.1 MẠNG HÀNG ĐỢI Trong thực tế, nhiều hệ thống khơng mơ hình hóa hệ thống hàng đợi đơn mà phải mơ hình hóa tập hợp gồm nhiều hệ thống hàng đợi Một ví dụ cụ thể mạng Internet, nơi mà định tuyến tuyến truyền dẫn mơ hình hóa hệ thống hàng đợi đơn mạng tập hợp nhiều hàng đợi đem Mỗi gói phục vụ xong định tuyến (được mơ hình hóa hàng đợi đơn) đến hàng đợi đơn khác gói đến đích Do đó, để đánh giá hiệu hệ thống này, người ta phải phân tích mơ hình hệ thống mạng hàng đợi Mạng hàng đợi coi tập hợp nhiều nút, nút coi hệ thống hàng đợi đơn, hàng đợi đơn có hay nhiều trạm phục vụ Các yêu cầu vào hệ thống mạng hàng đợi số nút xác định số nút khác Trong trường hợp tổng quát nhất, yêu cầu đến hệ thống phục vụ trạm Sau phục vụ xong yêu cầu chuyển sang nút khác để phục vụ tiếp, quay lại nút vừa để phục vụ lại, rời khỏi hệ thống mạng hàng đợi 78 Chúng ta xem xét hệ thống mạng hàng đợi thỏa mãn điêu kiện sau: - Tiến trình đến nút i từ bên tuân theo luật phân bố Poisson với tốc độ đến Y - T i nút i, tốc độ phục vụ trạm không phụ thuộcnhau tuân theo phân bố mũ với tốc độ ụ - Xác suất để yêu cầu sau phục vụ xong nút / chuyển sang nút j r Xác suất r không phục thuộc vào trạng thái hệ thống mạng hàng đợi Trong i = ỉ,2 , ,k ,j = 0,l, ,k K0 xác suất để yêu cầu sau phục vụ nút i rời khỏi hệ thống Hệ thống mạng hàng đợi, thỏa mãn điều kiện trên, gọi mạng Jackson Trong phần tiếp theo, xem xét thông số hiệu hệ thống mạng hàng đợi đạt đến trạng thái tĩnh Trong trường hợp hệ thống mạng hàng đợi có giá trị Y —0 r = , nghĩa hệ thống mạng hàng đợi khơng có u cầu vào khơng có u cầu khỏi hệ thống, hệ thống gọi mạng Jackson đóng Ngược lại, mạng Jackson mở mạng có giá trị ỵ * r * 0, nghĩa có yêu cầu vào hệ thống rời khỏi hệ thống Nói cách khác, người ta phân biệt mạng hàng đợi thành hai loại: mạng hàng đợi mở mạng hàng đợi đóng Trong mạng hàng đợi mờ, yêu cầu hay khách hàng đến từ phía ngồi hệ thống rời khỏi hệ thống Trong mạng hàng đợi đóng, số yêu cầu hay số khách hàng cố định khơng có yêu cầu rời khỏi hệ thống Có thể tham khảo mạng hàng đợi đóng mở hai hình vẽ sau Trong hình vẽ thể mạng hàng đợi mở yêu cầu đến hệ thống hàng đợi đơn rời khỏi hệ thống hàng đợi Hệ thống chứa vịng lặp ngã rẽ 79 Hình 4.1 Mạng hàng đợi mở Đối với mạng hàng đợi đóng, xem xét hệ thống máy tính Trong hệ thống máy tính này, số lượng nhiệm vụ phải thực (hay yêu cầu) cố định Mỗi nhiệm vụ hay u cầu phải tính tốn, truy cập vào ổ cứng, sau lại sử dụng xử lý HJLO— I ổ cứng E H ffiD Bộ xử lý p o Máy in ỊỊỊD O - Bút vẽ Hình 4.2 Ví dụ mạng hàng đợi mở Sau đây, xem xét trường hợp mạng hàng đợi mà yêu cầu khách hàng cỏ đặc tính giống 80 4.2 HỆ THỐNG MẠNG NỐI TIẾP Một hệ thống mạng Jackson mờ thỏa mãn điều kiện sau: gọi mạng nối tiếp Trong mạng nối tiếp này, nút xếp thành hàng, yêu cầu phục vụ xong nút chuyển sang thành yêu cầu vào nút Cụ thể minh họa hình vẽ sau: Trạm Trạm □ □ □ Trạm phục vụ Ci □ Trạm phục vụ C2 Trạm n □ ©— □ Trạm phục vụ Cn Hình 4.3 Hệ thống mạng nối tiếp đây, xem xét dãy nút với hàng đợi có kích thước vơ hạn Chúng ta giả thiết yêu cầu đến hệ thống tuân theo phân bố Poisson với thông số Ẫ Thời gian phục vụ trạm phục vụ nút mạng thứ i tuân theo luật phân bố mũ với tham số ỊẤ1 Ngoài hàng đợi khơng có giới hạn mặt kích thước, nên mồi nút mạng xử lý cách riêng rẽ so với nút mạng khác Nút mạng thứ coi hệ thống hàng đợi theo mơ hình M / M / c , / 00 Để xác định phân bố thời gian tiến trình 81 đến nút mạng, phải xác định phân bố thời gian phục vụ nút mạng trước Ngồi ra, với hệ thống mạng hàng đợi theo kiểu nối tiếp, phân bố thời gian tiến trình đến nút mạng phân bố thời gian tiến trình phục vụ nút mạng trước Định lý 4.1: Cho hệ thống hàng đợi đơn theo kiểu M I M I c trạng thái tĩnh Thời gian đến yêu cầu đến hệ thống hàng đợi đơn tuân theo phân bố mũ với tham số X Khi khoảng thời gian giừa hai thời điểm phục vụ xong liên tiếp tuân theo phân bố mũ với tham số Ẳ Chứng minh: Gọi p , với 72= 0,1,2, xác suất để hệ thống có n yêu cầu: P„=P(N = n) với « = 0,1,2, Nếu gọi T biến ngẫu nhiên, biểu thị khoảng cách hai thời điểm phục vụ xong nối tiếp nhau, tức là: Fn(t) = p (N (t) = n & T > í ) Trong F (t) luật phân bố, để thời điểm t có lí u cầu sau u cầu cuối phục vụ xong t nhỏ thời gian phục vụ, có nghĩa yêu cầu chưa phục vụ Qua tính được: QO Fr( í ) = p ( r s o = i - Z f W /7=0 và: Ỳ F-(l) = P (T > t) 11=0 Bây có: Fn( t + dt) = (1 - Ảdí)( 1- c/udt)Fn(t)+ Ảdt(ì - c/jdt)Fn_ị (t ) với c < n Fn(í + dt) = (1 - Ằ dí){\- nỊidì)Fn(í) + Ẳ dt(ì- n/Ấdt)Fn_x(t) với \ < n < c Fũ(t+ d t) = (l-Ẳ d t)F 0(t) 82 Bời có úừ —» 0: £ Ị â =- ị j +Cfl)F.(t)+ẤFr í (0 dt Ể Ị M =- ụ +nft)F,ự)+ẲF,_,ụ) dt dF0(t) _ = -ẦF0(t) dt Với điều kiện bờ sau: F.(0) = pW < 0) = n & T > 0) = p(JV(0) = «) = /> Chúng ta nhận dược: m = p ne~* Áp dụng tính tốn với hàng đợi M I M I c : /l pn( \ - e"" /1=0 Đây điều cần phải chứng minh định lý 4.1 4.3 HỆ THỐNG MẠNG JACKSON MỞ Giả sử có mạng hàng đợi gồm k nút Các u cầu từ bên ngồi đến nút hệ thống mạng hàng đợi theo tiến trình Poisson Chúng ta gọi tốc độ đến nút i Y i (chứ Ãi ) Mồi nút i có trạm phục vụ theo phân bố mũ với tốc độ phục vụ trung bình n (tức tất trạm phục vụ nút i có tốc độ phục vụ nhau) Khi yêu cầu phục vụ xong nút i, tiếp tục 83 đến nút j với xác suất rự giả thiết xác suất không phụ ửiuộc vào trạng k thái hệ thống Chúng ta phải có ^ r = 1với i = Xác suất ri0 7=0 xác suất để yêu cầu rời khỏi hệ thống sau phục vụ nút i Kích thước hàng đợi nút ỉ khơng bị giới hạn Ngồi thấy số lượng yêu cầu nằm hệ thống mạng hàng đợi tổng số lượng yêu cầu có mặt tất nút hệ thống Gọi N- số yêu cầu có nút i Chúng ta có: w(Nx= nv N = Nk = nk) = p ni„2 „t Để xác định phân bố biến ngẫu nhiên N ị, phải mô tả hệ thống hoạt động trạng thái ổn định Sau hệ thống trạng thái Ổn định rồi, dựa vào tiến trình sinh tử để xác định phương trình cân xác suất phần trước Để thuận tiện hơn, sử dụng ký hiệu sau: Trạng thái n„ n2, r i ị , ì í j , ,nk kí hiệu n Trạng thái ,+1, ,rij, ,nkđược kí hiệu n;i+ Trạng thái nl,n 2, ,ni - \, ,n j, ,nkâuợc kí hiệu Trạng thái nv n2, ,nt -1 , ,nkđược kí hiệu n \ i+ j ~ Chúng ta giả thiết nút i có trạm phục vụ, tức Cị = với i = Áp dụng phương trình cân xác suất, tổng xác suất chuyển đến trạng thái n tổng xác suất xuất phát từ trạng thái Chúng ta nhận phương trình sau: k k k 'L m ,- + i= I k k + 'Lw nP-n* = ( ! j= \ i= l i= j*i i= Chú ý rằng: k k ‘ k k k Y Ỉ/ụ V iP -n i=l ý=0 j*i 84 i=\ j= j*i M k - ra)p-n+ Z YiPi i= l (4.1) Người ta chi rằng, kết phương trình biêu diễn dạng sau: Định lý 4.2: Cho mạng Jackson Gọi /L tốc độ tổng cộng đến nút i (bao gồm yêu cầu đến từ bên yêu cầu đến sau phục vụ xong từ nút khác) Khi đạt đến trạng thái cân bằng, phương trình cầnI nút có: k (4.2) K = Yi v i i = 7=1 Giả thiết p t = /Ấị với i = Từ kết (4.1) trở thành: p-n = P n hnr „ t = - A ) P \ (1 - A )p"n •• - í 1- P t )P k = n - Pi )p ? 1— Chứng minh: Trước hết chi rằng: thỏa mãn (4.1) Khi c xác định: c-no-A) 1=1 Để chi phương trình thỏa mãn (4.1), định nghĩa: Thay vào (4.1): C R ' ị Ií + C R - ỵ ỵ M f ụ — + CRi ÌL f‘rl i ) + - V ; ) = I ( « " - m + /,) / Ải Ải cuối nhận được: ^ = Z /, i i Trong phương trình trên, vế trái tổng luồng khỏi mạng hàng đợi, vế phải tổng luồng vào mạng Khi trạng thái tĩnh chúng phải Để xác định c xuất phát từ: 00 00 =1 «1=0 nk=0 Từ (4.1) suy được: -A với ỉ = 1,2, ,k Theo định lý Little mồi nút nhận được: 86 T = — N, với i = ỉ,2, ,k Ẳi Với mạng hàng đợi có nút, khơng phải có trạm phục vụ mà có nhiều trạm phục vụ (nút ị có c trạm, trạm có tốc độ xử lý trung bình jUị) lưu ý p i = \/ỊU thì: Trong đó: nr ( ni - c i) c r v tn ^ c ,) Và /?0 xác định bời: °e _rt, 4.4 MẠNG JACKSON ĐĨNG Khi có ( = ri0 = với i = 1,2, ,Ả: có mạng Jackson đóng Tức lúc mạng hàng đợi, số yêu cầu hữu hạn ký hiệu N Với c = \, hệ thống trạng thái tĩnh, phương trình cân xác suất nhận là: /=1 = Ề m - ^ )/>; j=i (4-4) ì* j Định lý 4.3: Cho mạng Jackson đóng với N yêu cầu nằm hệ thống Khi phương trình cân hệ thống tĩnh viết sau: Kết phương trinh (4.4) hệ thống trạng thái cân là: p- = Cp"' p"kk = c Ỵ \ p " i,p i = — với Ì=1 /A 1= 1,2, ,* (4.5) 87 6.4.1.1 Mơ hình mơ OMNeT++ Một mơ hình OMNeT++ bao gồm module lồng có cấu trúc phân cấp Độ sâu của module lồng không giới hạn, điều cho phép người sử dụng biểu diễn cấu trúc logic hệ thống thực tế cấu trúc mô hình Các module trao đổi thơng tin với thơng qua việc gửi tin Các tin có cấu trúc phức tạp tùy ý Các module gửi tin theo hai cách, gửi trực tiếp tới địa chi nhận, hai gửi theo đường dẫn định sẵn, thông qua cổng kết nối Các module có tham số riêng Các tham số sử dụng để chỉnh sửa thuộc tính module để biểu diễn cho cấu hình mơ hình Các module mức thấp cấu trúc phân cấp đóng gói thuộc tính Các module coi module đơn giản chúng lập trình ngơn ngữ C+ + cách sử dụng thư viện mô Mỗi mơ hình thường biểu diễn cho hệ thống mạng Module mức cao cấu trúc phân cấp gọi module hệ thống Module chứa module con, mồi module chứa module riêng Cấu trúc mơ hình mơ tả ngơn ngữ NED OMNeT++ Message, cổng, liên kết Các module trao đổi thông tin việc gửi tin Trong thực tế, tin có dạng khung {frame) gói tin {packet) truyền mạng Các tin có cấu trúc phức tạp tùy ý Các module đơn 157 giản gửi tin cách trực tiếp đến vị trí nhận đường dẫn định sẵn thông qua cổng liên kết gửi đitheo Thời gian mô địa phương (local simulation time) module tăng lên module nhận tin Bản tin đến từ module khác đến từ module Cổng (gate) giao tiếp vào module Bản tin gửi qua cổng nhận vào thông qua cổng vào Mồi kết nối (connection) hay gọi liên kết (link) tạo bên mức đon cấu trúc phân cấp module: bên module kết hợp, kết nối tạo cổng tương ứng hai module con, cổng module với cổng module kết hợp Tham số Các module có tham số Các tham số đặt giá trị file NED tệp cấu hình ompnetpp.ini Người ta dùng tham số để thay đổi thuộc tính module đơn giản dùng để biểu diễn cho cấu hình mơ hình Các tham số có kiểu chuỗi, số học, giá trị logic chứa liệu XML (.XML data tree) Các biến kiểu số biểu thức nhận giá trị từ tham số khác, gọi hàm, sử dụng biến ngẫu nhiên từ nguồn phân tán nhận giá trị trực tiếp nhập vào người sử dụng Các tham số có kiểu số dùng để tạo cấu hình dễ dàng Nằm module kết họp, tham số dùng để so module con, số cổng giao tiếp cách kết nối nội tạo 6.4.1.2 Xây dựng chạy thử mơ hình mơ Một mơ hình OMNeT++ bao gồm phần sau: - Ngơn ngữ mơ tả cấu hình - NED (file có phần mở rộng ,ned)\ mơ tả cấu trúc module với tham số, cổng Các tệp ned viết soạn thảo sử dụng chương trình GNED có OMNeT++ - Định nghĩa cấu trúc tin (các tệp có phần mở rộng msg): Người sử dụng định nghĩa nhiều kiểu tin thêm trường 158 liệu cho chúng OMNeT++ dịch định nghĩa sang lớp C++ đầy đủ - Mã nguồn module đơn giản: Đây tệp C++ với phân mở rộng h cc Hệ thống mô cung cấp cho ta thành phần sau: - Phần nhân mô phỏng: Phần chứa chương trình để quản lý trình mơ thư viện lớp mơ Nó viết C++, biên dịch đặt dạng với tệp thư viện (các tệp có phần mở rộng a lib) - Giao diện người sử dụng: Giao diện sử dụng thực q trình mơ phỏng, tạo dễ dàng cho trình sửa lồi, biểu diễn thực mơ theo khối Có vài kiểu giao diện OMNeT++, tất viết C+ + biên dịch Ví dụ, chương trình mô xây dựng cho giao thức định tuyến bao gồm thành phần sau: - Tệp wsn.ned mơ tả module mơ hình mạng - Các tệp mã nguồn Sensor.h, Sensor.cpp, BaseSíation.h, BaseStatỉon.cpp xử lý hoạt động module đơn giản khai báo wsn.ned - Tệp RoutingDef.h khai báo số sử dụng chương trình bao gom: giá trị kiểu sổ phân loại gói tin, độ dài loại tin - Tệp Message.msg khai báo loại gói tin trường liệu nằm mồi bàn tin - Tệp omnetpp.ini khai báo tham số đầu vào cho mơ phịng kích thước mạng, sổ nút cảm biến, mức lượng ban đầu, giới hạn truyền tải, giới hạn cảm biến - Tệp WSN.sca lưu kết đầu chương trình tổng lượng tồn mạng sau mồi vịng, mức lượng mồi nút, thời gian sống mạng, tổng số gói tin gửi Dừ liệu đầu có dạng bảng lọc theo tên hay theo module ghi kết Dừ liệu chuyển sang chương trình Excel hay Matlab để thực thao tác tính tốn tổng hợp vẽ đồ thị mô tả 159 Sau mô tả chi tiết cấu trúc hai thành phần quan trọng cấu trúc chương trình mơ OMNeT++ Tệp mơ tả cấu hình m ạng yvsn.ned Ngôn ngữ NED sử dụng để mơ tả cấu hình mơ hình OMNeT++ NED sử dụng phương pháp mơ tả module hóa Điều có nghĩa mạng mơ tả tập hợp module thành phần (các kênh, kiểu module đơn giản hay kết hợp) Các kênh, kiểu module đơn giản kết hợp sử dụng để mơ tả mạng sử dụng lại mô tả mạng khác Nội dung tệp wsn.ned khai báo module sau: - Simple module Sensor: module đơn đại diện cho nút cảm biến - Simple module BaseStation: module đơn đại diện cho trạm gốc - Module mạng WSN: bao gồm module đơn BaseStaion tập hợp module đơn Sensor với số lượng lấy từ file tham số đầu vào omnetpp.ini Mỗi module đơn bao gồm khai báo sau: - Khai báo tham số: vị trí xpos, ypos - module BS cố định module Sensor ngẫu nhiên khoảng nhỏ kích thước mạng, tham số giới hạn truyền tải, giới hạn cảm biến, mức lượng, chuỗi hiển thị Khai báo cổng: mồi module đơn có tập hợp cổng đầu vào in[] tập hợp cổng đầu out[] Module mạng cảm biến không dây bao gồm module nói trên, khai báo module mạng tiến hành gán giá trị cho tham số module thường lấy từ khai báo giá trị tham số file omnetpp.ini Các tệp m ã nguồn Các tệp mã nguồn bao gồm Sensor.h, Sensor.cpp, BaseSíation.h, BaseStion.cpp Mã nguồn viết ngơn ngữ C ++ để xây dựng lớp tương ứng module khai báo file wsn.ned Nội dung tệp lập trình cách thức thực kiện mồi module, hay nói cách khác thực hoạt động mơ hình Các module Sensor 160 BaseStation lớp kế thừa từ lớp SimpleModule thư viện OMNeT++ Câu trúc mã nguồn module gồm có hàm sau: - Void initializeQ: hàm khởi tạo cùa lớp Trong trình khởi tạo, OMNeT++ xây dựng mạng, tạo module đơn module kết hợp (compound module) Sau kết nối chúng theo khai báo định nghĩa file NED, đồng thời với khai báo gán giá trị cho biến module - Void handleMessage(cMessage *msg): hàm gọi trình xử lý kiện Như hầu hết hoạt động hệ thống mô lập trình hàm Hàm handleMessage() nhân mô gọi module nhận gói tin - Void finish(): Hàm fínish() gọi q trình mơ kết thúc thành cơng Ngoài ra, ứng dụng chủ yếu hàm cịn thu thập thống kê q trình mơ Trong hàm fìnish() module thường thực việc ghi thông tin liệu giá trị thời tham số vào tệp kết wsn.sca 6.4.2 NS2 Công cụ mô mạng NS2 chương trình mơ kiện rời rạc hướng đối tượng nhằm mục đích nghiên cứu hoạt động mạng Phiên N SỈ đời năm 1989 biến thể mô mạng REAL (www.cs.comell.edu/ skeshav/real/overview.html) phát triển bời nhóm nghiên cứu phịng thí nghiệm quốc gia Lawrence Berkeley (Lawrence Berkeley National Laboratory - LBNL), USA Sau phần dự án VINT hỗ trợ DARPA, Xerox PARC ƯCB Tiếp phiên đời phát triển phiên Mục đích VINT khơng phải thiết kế mơ mạng mà tập hợp nghiên cứu nhiều người lĩnh vực mô mạng Do NS2 sử dụng rộng rãi cộng đồng nghiên cứu mạng xem công cụ để thí nghiệm, kiểm tra ý tưởng, giao thức thuật toán Hiện NS2 hỗ trợ DARPA Trong NS2 bao gồm đóng góp tổ chức nghiên cứu cá nhân khác đoạn mã mô 161 mạng không dây gồm mạng adhoc mạng WLAN phát triển bời UCB Daedelus, dự án CMU Monarch Sun Microsystems Cấu trúc NS2 gần giống mơ hình OSỈ, mơ hình mạng đại diện cho liên kết thành phần mạng Nó bao gồm nút đường nối Một hay nhiều khởi tạo lưu lượng khởi tạo thống kê khởi tạo quen thuộc khác FTP, Telnet, gắn vào nút Thêm vào đó, hoạt động giao thức vận chuyển hay giao thức mạng mô cách gắn tác nhân (agent) thích hợp vào nút mong muốn NS2 sử dụng thông dịch kịch Tcl hướng đối tượng (OTct) bao gồm: định thời kiện mô phỏng, thư viện đối tượng thành phần mạng, thư viện module để cấu thành mạng Nói cách khác để sử dụng NS2, bạn phải lập trình ngơn ngữ kịch OTcl Để thiết lập chạy chương trình mơ mạng, người sử dụng phải viết đoạn mã OTcl để khởi tạo lịch trình kiện, thiết lập cấu hình mạng sử dụng đối tượng mạng chức thư viện, cho nguồn lưu lượng biết bắt đầu kết thúc truyền gói thơng qua lịch trình kiện OTcl: Bộ thông dịch Tcl với phần mờ rộng 0 Phân tích Các kết Đoạn mã OTcl Thư viện mơ NS Chương trinh Các đối tượng lịch trình kiện mô Các đối tượng thành phần mạng mô Module trợ giúp cấu hình mạng NAM Tạo hoạt tính Hình 6.13 Quy trình hoạt động NS2 Một thành phần quan trọng NS2 bên cạnh đối tượng mạng lịch trình kiện Mồi kiện NS2 ID gói, cho gói với thời gian đặt trước trỏ trỏ tới đối tượng điều khiên kiện Trong NS2, lịch trình kiện theo thời gian mơ kích hoạt tất kiện hàng đợi kiện định thời trước cho thời điểm cách gọi thành phần mạng 162 thích hợp, thường thành phần sinh kiện cho chúng thực hoạt động liên kết với gói Một ứng dụng khác lịch trình kiện định thời Bộ định thời đo thời gian liên quan tới gói thực hành động định trước cho gói sau khoảng then gian trôi qua mô khoảng trễ Mã nguồn NS2 kết hợp C+ + cho cấu hoạt động nhân OTcI, phần mở rộng cho Tcl M IT thực hiện, để viết đoạn mã mơ cấu hình Sự kết hợp hai ngơn ngữ tạo cho chương trình linh động dễ sử dụng Để làm giảm thời gian xử lý kiện gói (khơng phải thời gian mơ phỏng), lịch trình kiện đối tượng thành phần mạng viết biên dịch C++ Các đối tượng biên dịch sẵn sàng cho thông dịch OTcl sử dụng thông qua liên kết OTcl Liên kết có nhiệm vụ tạo đối tượng OTcl phù hợp cho đối tượng C++ khiến cho chức điều khiển biến cấu hinh đối tượng C ++ hoạt động hàm thành viên biến thành viên của đối tượng OTcl tương ứng Bằng cách này, điều khiển đối tượng C++ đưa cho OTcỉ Cũng thêm hàm biển thành viên vào C ++ liên kết với đối tượng OTcl Người sử dụng tạo đối tượng thông qua thông dịch OTcỉ Các thủ tục viết Tcl sử dụng để cung cấp quyền điều khiển linh hoạt q trình mơ (bắt đầu, kết thúc kiện, mạng bị lồi, thu thập thông số thống kê cấu hình mạng) Bộ thơng dịch OTcl cung cấp lệnh để tạo nút, đường liên kết mạng giao thức hoạt động nút 163 Để đưa ứng dụng vào NS2 để mô cần có bổn bước: - Đưa giao thức vào cách thêm đoạn mã kết hợp C+ + OTcỉ vào mã nguồn NS2 - Mô tả hoạt động cần mô đoạng mã OTcl - Chạy mơ - Phân tích tệp vết tạo ứ n g dụng giao thức cần thêm mã C ++ cho chức giao thức cập nhật file cấu hình OTcl NS2 để NS2 nhận giao thức thông số mặc định Mã C ++ đồng thời phải mô tả thông số phương thức trước dùng đoạn mã OTcl để định nghĩa hoạt động chúng Q trình mơ cấu hình, điều khiển vận hành thông qua việc sử dụng giao diện cung cấp lóp Simulator OTcl Lớp cung cấp thủ tục để tạo quản lý mạng, khởi tạo định dạng gói chọn lịch trình kiện Nó lưu tham số vào thành phần mạng Người dùng sử dụng OTcl tạo mơ hình mạng thơng qua việc dùng lớp nút liên kết để cung cấp chức tạo nút đường liên kết Chức nút nhận gói, kiểm tra đưa giao diện tương ứng Một nút bao gồm đối tượng phân loại (classifier) đơn giản phân loại địa phân loại cổng Chức phân loại để phân phối gói đến tới tác nhân tới đường khác Tác nhân thành phần quan trọng nút: chúng đặt điểm đầu cuối mạng nơi gói tạo xử lý Người dùng tạo nguồn đích từ lớp tác nhân NS2 hỗ trợ nhiều kiểu TCP khác nhau, ƯDP vài giao thức khác RTP, RTCP, SRM, SCTP Các đường liên kết có dạng hướng hai hướng với băng thông, độ trễ kiểu hàng đợi định nghĩa tạo liên kết Thêm vào đó, liên kết bị ngắt khơi phục lại thời điểm q trình mơ Các liên kết xây dựng từ chuỗi đối tượng kết nối (connectors) c ấu trúc liệu đại diện cho liên kết bao gồm đối tượng kết nối hàng đợi, tiêu đề nó, loại liên kết thời gian sống đối tượng đễ xử lý tình trạng gói liên kết Các 164 đơi tượng kết nối nhận gói, xử lý gói đó, chuyển cho đơi tượng kêt nơi tiêp theo hay cho đối tượng quản lý tình trạng gói Nhiêu loại liên kêt đuợc hỗ trợ điểm tới điểm, quảng bá hay không dây Hàng đợi xem phần liên kết NS2 cho phép mô nhiều loại hàng đợi lịch trình cho gói lớp C++ như: Drop-tail (FIFO), phát sớm ngẫu nhiên (RED), CBQ, hàng đợi theo kiểu công trọng lượng ( WFQ), hàng đợi theo kiểu công thống kê (SFQ) hay DRR (Deficit Round Robin) Người dùng phải xác định kiểu định tuyến {tĩnh, động) giao thức sử dụng Các đặc điểm kiểu định tuyến hỗ trợ bao gồm định tuyến đối xứng, định tuyến nhiều đường, trạng thái kết nối thuật toán vector khoảng cách, định tuyến quảng bá, vài phương pháp định tuyến adhoc khác Các giao thức đưa vào cách rõ tác nhân C++ định nghĩa thông số liên quan cho thông dịch Tcl Rất nhiều loại ứng dụng mô Chẳng hạn FTP, Telnet, Http dùng TCP giao thức lớp vận chuyển ứng dụng yêu cầu lưu lượng có tốc độ bit cố định (Constant Bit Rate-CBR) sử dụng giao thức UDP Tổn thất gói mơ việc cho tràn đệm router, trmg hợp phổ biến tình trạng gói Internet Ngồi cịn áp dụng mơ hình gây lỗi để làm gói với thông số đặt trước số thứ tự gói bị mất, số thứ tự bit bị hay thời gian gói Một cấu hình mạng ngẫu nhiên bao gồm router, đường liên kết, phương tiện chia sẻ, định nghĩa cách liệt kê nút mạng giới hạn mạng file cấu hình sử dụng tạo cấu hình mạng phát triển cho NS2 (tiers hay GT-ITM) Để thu thập thông tin đầu hay tệp vết mô phỏng, NS2 tạo dấu vết, ghi ghi thông tin việc tới, đường hay hàng đợi gói riêng lẻ thông tin giám sát, bàn ghi lưu thông tin tổng hợp đến, gói, byte Trong vết thông tin giám sát liên kết với gói 165 luồng Bộ tạo ảnh chuyển động mạng (Network Animator-NAM ) công cụ hoạt họa dựa Tcỉ/Tk dùng để xem tệp vết NS2 phục vụ cho việc tiền xử lý, phân tích xem lại tình mơ (thực NAM dùng với mơ định dạng liệu nào) Trong NS2 có hỗ trợ mơ mạng khơng dây mức mô việc trao đổi thông tin qua lại hay di chuyển hai hay nhiều nút sử dụng giao thức định tuyến mạng adhoc AODV, DSDV, DSR, TORA MAC 802.11 hay TDMA Lớp MobileNode mở rộng tính lóp sở Node cách thêm chức mạng không dây di động khả di chuyển cấu hình mạng cho trước, khả nhận truyền tín hiệu tới hay từ giao diện mạng anten, Thêm vào đó, nút di động không kết nối dây với node khác hay node di động khác MobileNode đổi tượng chia thành nhiều phần, v ề phần di động bao gồm di chuyển node, cập nhật vị trí định kỳ, trì giới hạn cấu hình mạng, đưa vào C + + thành phần mạng thân MobileNode (giống Classifiers, MAC, Channel, ) định nghĩa chức OTcl Các thành phần mạng nút di động bao gồm: - Lớp liên kết - Module chứa giao thức phân giải địa (.Address resolution Protocol-ARP) nối vào lórp liên kết, - Giao diện hàng đợi ưu tiên để đặt quyền ưu tiên cho gói giao thức định tuyến hồ trợ việc thực lọc tất gói hàng đợi - Lớp MAC theo chuẩn IEEE 802.1 ỉ (cũng giao thức MAC TDMA) - Một phận tiếp nhận (tap agent) để nhận, cho phép, tất gói từ lớp MAC trước tiến hành lọc địa - Giao diện mạng phục vụ giao diện phần cứng nút di động sử dụng để truy nhập vào kênh không dây Giao diện mạng đối 166 tượng đê áp dụng mơ hình va chạm mơ hình truyền dẫn vơ tun Nó nhận gói truyền giao diện nút tới kênh không dây Giao diện đánh dâu mồi gói truyền với siêu liệu (meta—data) liên quan tới giao diện truyền dẫn lượng truyền dẫn, bước sóng,— Siêu liệu tiêu đề gói mơ hình truyền dẫn giao diện mạng bên nhận xác định liệu gói có đủ lượng để nhận và/hoặc giữ lấy và/hoặc phát (cảm nhận sóng mang) nút nhận Mơ hình xấp xì giao diện vơ tuyến DSSS (trải phổ trực tiếp Lucent WaveLan) NS2 công cụ mô phổ biến sử dụng lĩnh vực nghiên cứu NS2 trang bị đầy đủ giao thức, mơ hình, thuật tốn, cơng cụ kèm theo khác tất miễn phí, có mã nguồn mờ Đối với sinh viên cần tìm hiểu mơ hình, giao thức mạng chương trình phù hợp 167 BÀI TẬP CHƯƠNG ■ Sử dụng phương pháp tuyến tính với m = 18, c = 17, a - nhân zo = để phát số ngẫu nhiên khoảng từ (0,17) Sau sử dụng phương pháp cộng đồng dư để phát số ngẫu nhiên, sử dụng m = 18, aữ= ••• = ứ!7 = sử dụng nhân Sử dụng phương pháp cộng đồng dư để nhận 1000 số ngẫu nhiên có phân bố đồng khoảng từ (0,1) Sử dụng phương pháp mơ phân bố trung bình, nhận giá trị trung bình sau: 2,45; 2,55; 2,39;2,41; 2,49; 2,67; 2,38;2,44;2,47 Hãy tính khoảng tin cậy, với a = 0,9; 0,95; 0,99 Độ rộng khoảng tin cậy thay đổi khoảng tin cậy tiến dần đến 1? cần phải có bó để giảm độ rộng khoảng tin cậy l lần? Sử dụng phương pháp mô theo kiện hàng đợi M /M /l trình bày ví dụ trên, làm để thay đổi chương trình M /M /l để mơ hàng đợi M /G /l G /G /ll Chúng ta tính xác suất p kiện ném đồng xu nhận mặt sấp Giả sử quăng đồng xu n lần Giá trị n phải để với khoảng tin cậy a = 0,9 độ rộng khoảng tin cậy chi 0,1 lần trung bình n p l Giá trị n p dần đến 0, nghĩa tung đồng xu nhận mặt sấp? 168 Đo hiệu mạng Ethernet BUS X = 200 pkt/s Máy tính Mạng Ethernet với tốc độ 10 Mbit/s, sử dụng cấu hình kênh truyền bus (coaxial cable) Trễ truyền dẫn 100 ms Biết đệm card mạng máy tính liên tục có gói gửi đến với tổc độ X = 200 gói/s, tuân theo phân bố Poisson Độ dài gói Ethernet 1500 byte Chạy mơ dùng NS2 khoảng thời gian 305 Đánh giá vẽ đồ thị tổng dung lượng băng thông bị chiếm bus truyền gói b(t) với tốc độ gói e(t) (tính gói/s) số máy tính nối mạng là: máy, máy 10 máy Giả thiết máy X phát gói đến đích máy y sinh viên tự chọn Băng thông công luồng ( S3) C / 12 Cho mạng gồm ba nút hình vẽ Nút 1, 2, hàng đợi đơn hoạt động theo nguyên tắc FIFO với độ lớn hàng đợi K = gói Có ba luồng liệu gửi qua mạng tương ứng (S I , D ì ), (S2, D 2) (S3, D3) Trong Si nguồn phát liệu cịn Di đích Đường nối L I có dung lượng MB/s trễ lan truyền 100 ms; đường L2 có dung lượng 0,6 Mb/s, trễ lan truyền 50 ms Các nguôn Si phát gói với độ dài cố định 125 byte, khoảng thời gian giừa gói tuân theo phân bố Poisson a Giả thiết băng thông tố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 Tính tốc độ Ằs„ Ảs2, Ầs, (kbit/s) để ba luồng chia sẻ băng thông kênh truyền theo nguyên lý công cực đại - cực tiểu (max - fairness) b Dựng kịch mô mạng với tốc độ luồng Ằs„ Ảs2, Ãs3đã tính tốn phần Chạy mô 100s c Vẽ đồ thị băng thông rắ(t) mà luồng (57, D l ) , {S2, D2) (S5, D3) sử dụng Vẽ đồ thị tốc độ gói e,(t) ba luồng (Sỉ, DI), (52, D2) (S3, D 3) nút 170 TÀI LIỆU THAM KHẢO ■ [WANsim] WAN simulators and emulators, http://www.wan- sim.net/ [OPNET] OPNET Modeler, http://www.opnet.com/ [NS2] NS2 official website, http://www.isi.edu/nsnam/ns/ [NS2-wiki] NS2 resource webpage, http://nsnam.isi.edu/nsnam/index.php/Main_Page [NS3] NS3 official website, http://www.nsnam.org/documents.html [OMNeT] OMNeT++ official website, http://www.omnetpp.org/ [REAL] REAL 5.0 simulator overview, http://www.cs.comell.edu/skeshav/real/overview.html [SSFNet] Scalable Simulation Framework (SSF), SSFNet homepage, http://www.ssfnet.org /homePage html [J-Sim] J-Sim homepage, http://www.j-sim.org/ 10 [QualNet] QualNet official site, http://www.scalablenetworks.com/products/ 11 [YANS], Yet Another Network Simulator, http://yans.inria.fr/code/yans/7summary [GTNetS] The Ge orgia Tech Network Simulator (GTNetS), 12 http://www.ece.gatech.edu/research /labs/MANIACS/GTNetS/ 171