.2 Lưu đồ chạy chương trình mơ phỏng

Một phần của tài liệu Mô phỏng ảnh hưởng của quá trình đóng khối trong mạng obs (Trang 56)

Sau đây là phần giải thích về các biến số trên lưu đồ thuật toán trên:

- Burstsize là kích thước burst được tính bằng số lượng gói tin trong một burst dữ liệu.

- Seed là con số được sử dụng để tạo ra một con số ngẫu nhiên cho việc tạo lưu lượng Poisson. Với mỗi số seed, việc phát lưu lượng Poisson sẽ khác nhau, khác nhau ở thời điểm phát gói đầu tiên và khác nhau ở thời điểm phát đột biến.

Bắt đầu

Burstsize = 50 Seed = 12345

Chạy chương trình

Burstsise <= 1200

seed <= 102345 Seed = seed + 10000 Burstsize = burstsize + 50 Seed = 12345 Đúng Đúng Xử lý kết quả và vẽ đồ thị Bắt đầu Sai Sai

Giải thích lưu đồ chạy chương trình mơ phỏng:

Đầu tiên chương trình sẽ được gán các thơng số ban đầu như burstsize = 50, seed = 12345. Sau khi chạy xong và thu nhận kết quả (cụ thể là xác suất mất gói với kích thước burst và số seed như vậy) số seed sẽ được tăng lên 10000 và chạy chương trình mơ phỏng lần thứ hai. Chương trình cứ tiếp tục như vậy cho đến khi số seed đạt được giá trị là 102345. Sau khi chạy xong, ta có kết quả xác suất mất gói trong 10 lần mơ phỏng với 10 giá trị seed khác nhau; lúc này ta lấy giá trị về xác suất mất gói của 10 lần này lấy trung bình và vẽ được một điểm trên đồ thị với trục hồnh là kích thước burst và trục tung là xác suất mất gói.

Kế đến chương trình sẽ tăng kích thước burst lên 50 và tiếp tục chạy với 10 giá trị seed như trên để vẽ được điểm thứ hai trên đồ thị. Cứ tiếp tục như vậy đến khi kích thước burst đạt được là 1200 gói tin/burst. Cuối cùng nối các điểm trên đồ thị lại với nhau ta nhận được đồ thị mô tả về xác suất mất gói so với các kích thước burst.

4.5.1 Một mức ngưỡng và khơng có mức ưu tiên trong mạng

Tải = 0.5 Erlang 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0 100 200 300 400 500 600 700 800 900 1000 1100 1200

Kích thước burst (gói)

X ác su t m t gói Drop Segment

Hình 4.3: Xác suất mất gói so với các kích thước burst khác nhau trong mạng dùng rớt hoàn toàn burst và phân đoạn burst trong việc giải quyết xung đột

Tải = 0.5 Erlang 0 0.05 0.1 0.15 0.2 0.25 0 100 200 300 400 500 600 700 800 900 1000 1100 1200

Kích thước burst (gói)

Độ tr e n d -t o -e nd ( s)

Hình 4.4: Độ trễ end-to-end trung bình so với các kích thước burst

Trong trường hợp một lớp dịch vụ hay một mức ưu tiên, chỉ có một mức ngưỡng cho kích thước burst được sử dụng cho tất cả các bộ đóng khối của tất cả các node biên trong mạng. Xác suất mất gói và xác suất mất gói trong mạng được phân tích qua nhiều mức ngưỡng khác nhau với tải vào mạng bằng nhau và băng 0.5 Erlang. Từ kết quả nhận được ta thu được giá trị tốt nhất cho mức ngưỡng với tải cho trước trong một mạng cho trước.

Hình 4.3 vẽ ra sự tương quan giữa kích thước burst và xác suất mất gói trong mạng với hai cách giải quyết xung đột khác nhau là rớt toàn bộ burst (Drop) và phân đoạn burst (Segment) được đưa vào mạng. Qua hình này ta cịn thấy tác dụng của phân đoạn burst đối với xác suất mất gói trong mạng. Hình 4.4 vẽ ra sự tương quan giữa kích thước burst và độ trễ end-to-end. Trong luận văn này chỉ xem xét các gói đến có kích thước cố định nên kích thước của burst được tính bằng số lượng gói trong nó.

Từ hình 4.3 ta thấy rằng:

Thứ nhất, nếu trong mạng sử dụng cách rớt toàn bộ burst trong việc giải quyết xung đột thì kích thước burst nằm trong khoảng từ 300 đến 650 gói cho xác suất mất gói nhỏ nhất. Qua hình vẽ ta cũng thấy một khi kích thước burst quá nhỏ, số lượng burst trong mạng sẽ tăng lên, xung đột trong mạng cũng tăng lên theo dẫn đến xác suất mất gói tăng lên nhưng số lượng gói rớt trong mỗi lần xung đột nhỏ. Ngược lại, một khi kích thước burst quá lớn, số lượng burst trong mạng giảm đi, số lượng xung đột trong mạng giảm

theo nhưng mỗi lần xung đột xảy ra số lượng gói mất là rất lớn. Cho nên kích thước burst nằm trong khoảng vừa nêu trên có thể nói là tốt nhất trong trường hợp này.

Thứ hai, nếu trong mạng sử dụng cách phân đoạn burst trong việc giải quyết xung đột thì kích thước burst nằm trong khoảng từ 350 đến 750 gói thì cho xác suất mất gói nhỏ nhất.

Nhưng liệu kích thước burst nằm trong khoảng nêu trên có thực sự là phù hợp, ta hãy xem hình 4.4. Ta thấy khi kích thước burst tăng lên thì độ trễ end-to-end cũng tăng lên theo. Điều này cũng dễ hiểu, khi kích thước burst tăng lên nghĩa là cần thời gian chờ để cho số lượng gói đến đủ để tạo thành một burst. Độ trễ end-to-end ảnh hưởng rất lớn đối với các dịch vụ yêu cầu đáp ứng thời gian thực. Với một yêu cầu về độ trễ trung bình ta có thể có được cận trên của kích thước burst. Và kích thước tốt nhất của burst chắc chắn có thể tìm ra trong điều kiện các thông số của mạng hay yêu cầu dịch vụ đều biết. Qua đó cũng cho thấy trong việc xây dựng mạng OBS nhất thiết phải có các bộ đóng khối dựa trên bộ định thời. Việc đóng khối cho các dịch vụ yêu cầu thời gian thực như thoại hay video on demand thì cần bộ đóng khối kiểu dựa trên bộ định thời cịn việc đóng khối cho các dịch vụ khơng yêu cầu về thời gian thực nhưng yêu cầu nghiêm ngặt về mất mát gói như dịch vụ dữ liệu thì cần bộ đóng khối dựa trên mức ngưỡng tối đa.

4.5.2 Một mức ngưỡng và có hai mức ưu tiên

Trong trường hợp hai mức ưu tiên và một mức ngưỡng, ta đánh giá xác suất mất gói và số lượng xung đột cho nhiều mức tải và mức ngưỡng kích thước burst khác nhau. Hai mức ưu tiên là mức ưu tiên số 0 và mức ưu tiên số 1. Mức ưu tiên số 1 được xem là mức ưu tiên cao hơn. Chúng ta giả sử rằng tỉ số lưu lượng của hai mức dịch vụ là bằng nhau.

Tải = 0.5 Erlang 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0 100 200 300 400 500 600 700 800 900 1000 1100 1200 1300 1400 Kích thước burst X ác su t m t gói Priority = 0 Priority = 1

Từ hình 4.5 ta thấy được lớp dịch vụ có mức ưu tiên cao hơn sẽ cho xác suất mất gói thấp hơn so với lớp dịch vụ có mức ưu tiên thấp hơn. Từ hình vẽ trên ta thấy trong mạng có hai mức dịch vụ thì mức ngưỡng tốt nhất cho xác suất mất gói thấp nhất đối với mức ưu tiên số 1 là 200 đến 700 còn đối với mức ưu tiên số 0 là 550 đến 750.

4.6 Kết luận

Qua hai bài mô phỏng với các kết quả nhận được và những nhận xét đối với từng bài mơ phỏng có thể đi đến khẳng định rằng tồn tài một dải kích thước burst cho xác suất mất gói thấp nhất. Cịn kích thước burst là bao nhiêu thì tuỷ thuộc vào từng topo mạng cùng với những thơng số kèm theo của nó.

KẾT LUẬN VÀ HƯỚNG MỞ CỦA ĐỀ TÀI

Sau quá trình thực hiện luận văn “Mô phỏng ảnh hưởng của quá trình đóng khối trong mạng OBS”, luận văn đã tìm hiểu và hiểu được cơ bản về mạng OBS. Qua q trình mơ phỏng luận văn đã thu nhận được kết quả về ảnh hưởng của q trình đóng khối đến xác suất mất gói trong mạng, kết quả mô phỏng đã chứng minh được lý thuyết đặt ra. Tuy nhiên, việc chọn lựa số bước sóng q ít và việc xây dựng mơ hình mơ phỏng cịn bị giới hạn bởi một số điều kiện đặt ra trước.

Đề tài có thể được mở rộng bằng cách xem xét số lượng bước sóng nhiều hơn và xây dựng mạng OBS kết hợp hai bộ đóng khối dựa trên mức ngưỡng và dựa trên bộ định thời. Thêm vào đó phần mềm mơ phỏng này có thể được sử dụng cho việc mơ phỏng các bài tốn khác của OBS.

TÀI LIỆU THAM KHẢO

[1] S. Verma, H. Chaskar, and R. Ravikanth. “Optical burst switching: A viable

solution for Terabit IP backbone”, IEEE Network, pages 48-53, Nov/Dec 2000

[2]C. Qiao and M. Yoo. “Optical burst switching (OBS) - a new paradigm for an

optical Internet.”, Journal of High Speed Networks, 8(1):69-84, 1999

[3] Würzburg “Static Lightpath Routing in IP over WDM Networks”, Germany - July 24, 2001

[4] Ibán Cereijo Gra, “Simulación y comparativa de mecanismos de conmutación en

redes ópticas”, University of Vigo – Spain, 2005

[5] X. Lu and B. Mark, “A New Performance Model of Optical Burst Switching with

Fiber Delay Lines”, In Proceedings of IEEE ICC, volume 2, pages 1365-1369, 2003

[6] Vinod M. Vokkarane, “Design and analysis of architectures and protocols for

optical burst switched networks”, the University of Texas at Dallas, August 2004.

[7] D. Morato, J. Aracil, L.A. Diez, M. Izal, and E. Magana. “On linear prediction of

internet traffic for packet and burst switching networks”, In proceedings of Tenth

International Conference on Computer Communications and Networks, pages 138-143, 2001.

[8] J. Turner. “Terabit burst switching”, Journal of High Speed Networks, 1999

[9] C. Qiao. “Labeled optical burst switching for IP-over-WDM integration”, IEEE Communications Magazine, 38(9):104-114, September 2000

[10] B. Kim and Y. Cho and J. Lee and Y. Choi and D. Montgomery. “Performance of

Optical Burst Switching Techniques in Multi-Hop Networks”, In Proceedings of

GLOBECOM, volume 3, pages 2772-2776, 2002

[11] M. Iizuka and M. Sakuta and Y. Nishino and I. Sasase. “A Scheduling Algorithm

Minimizing Voids Generated by Arriving Bursts in Optical Burst Switched WDM Network”, In Proceedings of GLOBECOM, volume 3, pages 2736-2740, 2002

[12] C. Gauger. “Contention resolution in optical burst switching networks”, In Advanced Infrastructures for Photonic Networks: WG 2 Intermediate Report, pages 62- 82, 2002

[13] S. Lee, K. Sriram, H. Kim, J. Song, “Contention-based Limited Deflection

Routing in OBS Networks”, In proceedings of Globecom 2003, pages 2633-2637

[14] V. M. Vokkarane, J. P. Jue, “Segmentation-Based Non-Preemptive Scheduling

Algorithms for Optical Burst-Switched Networks”, at the first WOBS J. Wang

[15] The VINT Project A Collaboration between researchers at UC Berkeley, LBL,

USC/ISI, and Xerox PARC “The ns Manual (formerly ns Notes and Documentation)”, January 8, 2007

[16] Eitan Altman and Tania Jiménez “NS simulator for beginners”, December, 2003 [17] http://advanced.comms.agilent.com/insight/2001-08/Questions/traffic_gen.htm [18] Richard Parkinson “Traffic Engineering Techniques in Telecommunications” [19] Battestilli, T. Perros, H. “An introduction to optical burst switching”, IEEE Communications Magazine, August 2003

[20] Trong luận văn còn kế thừa các chương trình mơ phỏng được viết bởi ông Iban Cereijo Grana và ông Jairo Chapela Matinez – trường Đại Học Vigo, Tây Ban Nha.

PHỤ LỤC A Cách tính tốn lưu lượng trong luận văn

Trong luận văn, lưu lượng được tính bằng đơn vị Erlang. Trong luận văn sẽ dùng loại lưu lượng Poisson với tốc độ trung bình là λ.

W napp A B λ = [4]

Với A là tải lưu lượng tính bằng Erlang λ là tốc độ trung bình

napp là số lượng luồng lưu lượng

BW băng thông kênh tuyền và 1/BW là thời gian chiếm giữ

Cụ thể trong mô phỏng sử dụng BW = 10Gbps, napp = 182 (bởi vì lưu lượng được phân bố đồng nhất tại tất cả các cặp node (14 node) nên số luồng lưu lượng là 14*(14-1) = 182) và λ là con số bất kỳ phụ thuộc vào tải lưu lượng. Trong mơ phỏng sẽ tính tốn cụ thể tốc độ trung bình của mỗi luồng lưu lượng với một tải lưu lượng cho trước. Sau đây là bảng thống kê một số giá trị Erlang và tốc độ trung bình λ tương ứng với BW = 10Gbps và napp = 182.

Lưu lựơng tải(Erlang) Tốc độ trung bình λ (Gbps)

0.1 0.00546 0.2 0.01093 0.3 0.01639 0.4 0.02186 0.5 0.02732 0.6 0.03279 0.7 0.03825 0.8 0.04372 0.9 0.04918 1 0.05464 1.1 0.06011 1.2 0.06557 1.3 0.07104 1.4 0.0765 1.5 0.08197 1.6 0.08743 1.7 0.0929 1.8 0.09836 1.9 0.10383

2 0.10929 2.1 0.11475 2.2 0.12022 2.3 0.12568 2.4 0.13115 2.5 0.13661 2.6 0.14208 2.7 0.14754 2.8 0.15301 2.9 0.15847 3 0.16393

PHỤ LỤC B 1. Cài đặt phần mềm NS

Sau đây là cách cài đặt phần mềm NS2, phiên bản NS 2.28

u cầu máy tính phải có hệ điều hành Linux (Fedora Core 1, 2, 3 hay Ubuntu 7.04…). Bước 1 : Download miễn phí file ns-2.28allinone.gz.tar tại www.isi.edu Bước 2 : Chép phần file này vào thư mục muốn cài đặt. Giả sử là /home/study Bước 3 : Tại câu nhắc lệnh của thư mục này đánh lệnh giải nén

[root ~]#tar xzvf ns-2.28allinone.gz.tar

Sau lệnh này một thư mục được giải nén được tạo ra /home/study/ns- 2.28allinone

Bước 4 : Vào thư mục /home/study/ns-2.28allinone đánh lệnh cài đặt

[root ~]#./install

2. Cài đặt OBS4NS

Yêu cầu máy tính phải cài đặt sẵn NS2.28

Bước 1: Copy file này vào thư mục /home/study/ns-2.28allinone/ns-2.28 Giải nén file này bằng lệnh

[root ~]#tar xzvf obs.gz.tar

Bước 2: Vào thư mục /home/study/ns-2.28allinone/ns-2.28 mở file Makefile và thêm một số dòng như sau OBS_PATH = ../../ns4obs OBJ_CC = \ ... $(OBS_PATH)/cpp/arch/typeswitch.o \ $(OBS_PATH)/cpp/arch/CoSclassifier.o \ $(OBS_PATH)/cpp/arch/OBSlink.o \ $(OBS_PATH)/cpp/arch/OBSswitch.o \ $(OBS_PATH)/cpp/arch/OXC.o \ $(OBS_PATH)/cpp/arch/SCU.o \ $(OBS_PATH)/cpp/arch/burstifier.o \ $(OBS_PATH)/cpp/arch/deburstifier.o \ $(OBS_PATH)/cpp/channelscheduler/channelscheduler.o \ $(OBS_PATH)/cpp/channelscheduler/LAUCscheduler.o \ $(OBS_PATH)/cpp/channelscheduler/LAUCVFscheduler.o \ $(OBS_PATH)/cpp/channelscheduler/LAUCVFMscheduler.o \ $(OBS_PATH)/cpp/channelscheduler/FFUCscheduler.o \ $(OBS_PATH)/cpp/traffgen/expoo2.o \

$(OBS_PATH)/cpp/stats/stats.o \ $(OBS_PATH)/cpp/stats/stat_entry.o \ $(OBS_PATH)/cpp/stats/Batches.o \ $(OBS_PATH)/cpp/stats/SmplStatDrved.o \ $(OBS_PATH)/cpp/stats/SmplStat.o \ $(OBS_PATH)/cpp/random/beta.o \ $(OBS_PATH)/cpp/random/IPlen.o \ $(OBS_PATH)/cpp/global.o \ $(OBS_PATH)/cpp/debug.o \ $(OBS_PATH)/cpp/OBSpacket.o \ $(OBS_PATH)/cpp/OBSroute.o NS_TCL_LIB = \ ... $(OBS_PATH)/tcl/lib/ns-obs-lib.tcl \ $(OBS_PATH)/tcl/lib/ns-obs-defaults.tcl \ $(OBS_PATH)/tcl/lib/ns-obs-node.tcl \ $(OBS_PATH)/tcl/lib/ns-obs-link.tcl \ $(OBS_PATH)/tcl/lib/ns-obs-stats.tcl

Bước 3: Mở file /tcl/lib/ns-packet.tcl và thêm một số dòng như sau

foreach prot { AODV ARP

.... MIP

OBS_BHP // ađadir esta línea y la siguiente. OBS_DB

Ping .... };

Bước 4: Mở file /common/packet.h và thêm một số dòng như sau

enum packet_t { PT_TCP, PT_UDP, ...... PT_OBS_BHP, PT_OBS_DB,

// insert new packet types here

PT_NTYPE // This MUST be the LAST one }; p_info() { name_[PT_TCP]= "tcp"; name_[PT_UDP]= "udp"; ........... name_[PT_OBS_BHP]= "OBS_BHP"; name_[PT_OBS_DB]= "OBS_DB"; name_[PT_NTYPE]= "undefined"; }

Bước 5: Tại câu nhắc lệnh của thư mục /home/study/ns-2.28allinone/ns- 2.28 đánh lệnh make

[root ~]#make

Một phần của tài liệu Mô phỏng ảnh hưởng của quá trình đóng khối trong mạng obs (Trang 56)

Tải bản đầy đủ (PDF)

(68 trang)