Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 80 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
80
Dung lượng
5,38 MB
Nội dung
ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA - NGUYỄN QUỐC VINH NGHIÊN CỨU MỘT SỐ THUẬT TOÁN LẬP LỊCH KÊNH TRÊN MẠNG CHUYỂN MẠCH CHÙM QUANG LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Đà Nẵng - Năm 2017 ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA - NGUYỄN QUỐC VINH NGHIÊN CỨU MỘT SỐ THUẬT TOÁN LẬP LỊCH KÊNH TRÊN MẠNG CHUYỂN MẠCH CHÙM QUANG Chuyên ngành: Khoa học máy tính Mã số: 60.48.01.01 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Người hướng dẫn khoa học: PGS TS LÊ VĂN SƠN Đà Nẵng - Năm 2017 LỜI CAM ĐOAN Tơi cam đoan cơng trình nghiên cứu riêng Các số liệu, kết nêu luận văn trung thực chưa cơng bố cơng trình khác Tác giả luận văn Nguyễn Quốc Vinh MỤC LỤC LỜI CAM ĐOAN MỤC LỤC DANH MỤC CÁC KÝ HIỆU, TỪ VIẾT TẮT DANH MỤC CÁC HÌNH MỞ ĐẦU CHƯƠNG TỔNG QUAN VỀ MẠNG CHUYỂN MẠCH CHÙM QUANG OBS 1.1 TỔNG QUAN VỀ MẠNG THÔNG TIN QUANG 1.2 CÁC CÔNG NGHỆ CHUYỂN MẠCH QUANG 1.2.1 Chuyển mạch kênh quang OCS 1.2.2 Chuyển mạch gói quang OPS 1.2.3 Chuyển mạch chùm quang OBS .5 1.3 MẠNG CHUYỂN MẠCH CHÙM QUANG 1.3.1 Kiến trúc 1.3.2 Các hoạt động 1.3.2.1 Tập hợp chùm 1.3.2.2 Báo hiệu .9 1.3.2.3 Giải tranh chấp 12 1.3.2.4 Lập lịch 12 1.4 KẾT LUẬN CHƯƠNG .14 CHƯƠNG MỘT SỐ THUẬT TOÁN LẬP LỊCH KÊNH TRÊN MẠNG OBS 16 2.1 GIỚI THIỆU CHƯƠNG 16 2.2 PHÂN LOẠI CÁC THUẬT TOÁN LẬP LỊCH KÊNH 16 2.2.1 Thuật toán Horizon (without Void filling) .16 2.2.1.1 Thuật toán FFUC .16 2.2.1.2 Thuật toán LAUC 17 2.2.2 Thuật toán Void filling (with Void filling) .19 2.2.2.1 Thuật toán FFUC-VF 19 2.2.2.2 Thuật toán LAUC-VF 21 2.2.2.3 Thuật toán tối ưu BFUC-VF 23 2.3 KẾT LUẬN CHƯƠNG .24 CHƯƠNG CÀI ĐẶT MƠ PHỎNG VÀ PHÂN TÍCH KẾT QUẢ 25 3.1 GIỚI THIỆU 25 3.2 GIỚI THIỆU CHƯƠNG TRÌNH MƠ PHỎNG .25 3.3 KỊCH BẢN MÔ PHỎNG .26 3.5 MƠ PHỎNG CÁC THUẬT TỐN XẾP LỊCH TRONG MẠNG OBS .30 3.4 CÀI ĐẶT CÁC GIẢI THUẬT TRONG NS2 27 3.5 PHÂN TÍCH KẾT QUẢ 32 3.6 KẾT LUẬN CHƯƠNG .36 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 37 TÀI LIỆU THAM KHẢO 38 QUYẾT ĐỊNH GIAO ĐỀ TÀI LUẬN VĂN (bản sao) PHỤ LỤC DANH MỤC CÁC KÝ HIỆU, TỪ VIẾT TẮT ACK BCP BFUC-VF BHP DB DIR DR FDL FFUC FFUC-VF JIT JET INI LAUC LAUC-VF LAUT NAM NGN NS2 OBS OCS O/E/O OPS QoS SIR VF WADM WDM WRN Acknowledged Burst Control Packet Best Fit Unscheduled Channel - Void Filling Burst Header Packet Data Burst Destination Initiated Reservation Delay Reservation Fiber Delay line First Fit Unscheduled Channel FFUC with void Filling Just In Time Just Enough Time Intermediate Node Initiated reservation Lastest Available Channel LAUC with void Filling Latest Available Unscheduled Time Network AniMator Next-generation network Network Simulation version Optical Burst Switching Optical Circuit Switching Optical/Electronic/Optical Optical Packet Switching Quality of Service Source Initiated Reservation Void Filling Wavelength Add-Drop Multiplexer Wavelength Division Multiplexing Wavelength Routed Networking DANH MỤC CÁC HÌNH Số hiệu Tên hình hình Trang 1.1 Kiến trúc mạng chuyển mạch chùm quang 1.2 Tập hợp tách chùm 1.3 Tập hợp chùm theo ngưỡng thời gian 1.4 Tập hợp chùm theo ngưỡng kích thước (số gói tối đa) 1.5 Tập hợp chùm theo ngưỡng thời gian ngưỡng độ dài chùm 1.6 Quá trình đặt trước tức thời sau thời gian trễ 11 1.7 Minh họa thuật tốn lập lịch khơng xét đến lấp đầy khoảng trống 13 1.8 Minh họa thuật toán lập lịch có xét đến lấp đầy khoảng trống 14 2.1 Mơ hình thuật tốn FFUC khơng sử dụng void filling 16 2.2 Lưu đồ thuật tốn FFUC 17 2.3 Mơ hình thuật tốn LAUC khơng sử dụng void filling 18 2.4 Lưu đồ thuật tốn LAUC 18 2.5 Mơ hình thuật tốn FFUC có sử dụng void filling 20 2.6 Lưu đồ thuật tốn FFUC-VF 20 2.7 Mơ hình thuật tốn LAUC có sử dụng void filling 21 2.8 Lưu đồ thuật tốn LAUC-VF 22 2.9 Mơ hình thuật tốn BFUC-VF 23 3.1 Kiến trúc NS2 25 3.2 NAM (Network AniMator) 26 3.3 Mô mạng OBS 27 3.4 Tiến hành cài đặt NS2 28 3.5 Cài đặt thành công NS2 28 3.6 Kiểm tra cài đặt thành công 29 3.6 3.7 Thông lượng truyền qua mạng sử dụng thuật tốn FFUC Thơng lượng truyền qua mạng sử dụng thuật toán 30 31 Số hiệu Tên hình hình Trang LAUC 3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.15 Thông lượng truyền qua mạng sử dụng thuật tốn FFUC-VF Thơng lượng truyền qua mạng sử dụng thuật tốn LAUC-VF Thơng lượng truyền qua mạng sử dụng thuật toán BFUC-VF So sánh giải thuật FFUC LAUC (Đỏ - FFUC, Xanh – LAUC) So sánh với giải thuật FFUC FFUCVF (Đỏ - FFUC, Xanh – FFUCVF) So sánh giải thuật LAUC LAUCVF (Đỏ - LAUC, Xanh – LAUCVF) So sánh giải thuật FFUC-VF LAUC-VF (Đỏ - FFUC-VF, Xanh – LAUC-VF) So sánh kết mô giải thuật 31 32 32 33 33 34 34 35 MỞ ĐẦU Trong giai đoạn với phát triển nhanh chóng lưu lượng liệu mạng, tốc độ xử lý điện tử khơng cịn phù hợp tương lai nữa, đồng thời liệu quang thường bị chậm lại xử lý điện tử node, việc tìm kiếm phương pháp chuyển tải gói IP trực tiếp lớp quang mà không cần qua chuyển đổi O/E/O cho mạng thông tin hệ sau (NGN) tất yếu Nhằm để xây dựng mạng tồn quang liệu trì miền quang tất node trung gian, cần phải thiết kế giao thức dành cho hệ thống chuyển mạch quang Một vấn đề cần thiết làm để hỗ trợ việc cung cấp tài nguyên nhanh chóng, truyền dẫn đồng (của gói kích thước biến đổi gói IP) hỗ trợ mức độ cao việc chia sẻ tài nguyên theo thống kê để xử lý hiệu lưu lượng có tính bùng nổ mà khơng cần có đệm lớp WDM (do chưa có nhớ truy cập ngẫu nhiên RAM) Do phương pháp chuyển tải toàn quang cần phải tránh đệm quang nhiều tốt Một vấn đề khác làm hỗ trợ chất lượng dịch vụ (QoS) mạng Internet quang hệ sau Mạng IP ban đầu cung cấp các dịch vụ best-effort, nhiên ứng dụng thời gian thực (ví dụ điện thoại hội nghị truyền hình qua Internet) yêu cầu QoS cao ứng dụng thời gian thực (như Email hay trình duyệt Web thơng thường) vấn đề đặt lớp WDM làm hỗ trợ QoS cho Internet quang Một số công nghệ khác phát triển, định tuyến bước sóng (chuyển mạch kênh quang OCS), chuyển mạch gói quang OPS chuyển mạch chùm quang OBS Các mạng quang định tuyến bước sóng triển khai đạt số hiệu định nhiên mạng quang định tuyến bước sóng lại lại sử dụng chuyển mạch kênh khơng phải cơng nghệ thích hợp cho ứng dụng khác sử dụng Internet quang Kỹ thuật chuyển mạch gói quang giải pháp cơng nghệ khác có lẽ tối ưu cho ứng dụng Tuy nhiên điều kiện số công nghệ đại đệm quang, logic quang chưa thực chuyển mạch gói quang chưa thể áp dụng vào thực tế Chuyển mạch chùm quang công nghệ trung gian chuyển mạch kênh quang chuyển mạch gói quang đáp ứng yêu cầu vận chuyển lượng lớn liệu qua mạng với tốc độ cao cung cấp tính giai đoạn tới Các vấn đề cần nghiên cứu OBS giao thức dự trữ giải phóng tài nguyên, phương pháp thiết lập chùm, thuật toán lập lịch liên kết đầu mạng OBS Nội dung đồ án trình bày tổng quan mạng OBS sâu tìm hiểu mơ thuật tốn lập lịch kênh mục đích để tìm thuật tốn tối ưu cho lượng liệu truyền qua mạng cao để nâng cao chất lượng mạng OBS Mục đích đề tài nghiên cứu thuật tốn lập lịch kênh, thuật tốn tối ưu cơng nghệ giảm thiểu tranh chấp, từ thấy phương pháp cho hiệu suất cao cho toàn mạng Đối tượng phạm vi nghiên cứu - Tìm hiểu lý thuyết mạng thông tin quang - Thảo luận giải thuật lập lịch kênh - Phân tích so sánh ưu nhược điểm giải thuật lập lịch kênh thuật toán tối ưu khác - Mơi trường kiểm thử (phần mềm NS2), gói hỗ trợ (OBS-0.9a) - Phân tích đánh giá hiệu mạng qua việc mơ - Đề tài thuộc loại hình nghiên cứu Ý nghĩa khoa học thực tiễn - Cung cấp cách nhìn tổng quan mạng thơng tin quang yêu cầu đặt thực tế - Đưa nhìn khai quát trình lập lịch kênh vấn đề mạng chùm quang - Qua mơ đánh giá thuật toán tốt việc sử dụng kênh giảm suy hao luồng node Qua đó, làm tiền đề để xây dựng giải pháp tối ưu việc truyền tải liệu node mạng Nội dung luận văn gồm chương: Chương 1: Tổng quan mạng chuyển mạch chùm quang OBS Chương 2: Một số thuật toán lập lịch kênh mạng OBS Chương 3: Cài đặt mơ phân tích kết Phương pháp nghiên cứu đồ án mơ thuật tốn lập lịch kênh liên kết đầu mạng OBS, so sánh kết thuật toán để từ tìm thuật tốn tối ưu Trong trình làm luận văn cố gắng nhiều khơng thể trách khỏi sai sót, mong thầy cô thông cảm hướng dẫn cho em Để hoàn thành luận văn em hướng dẫn tận tình PGS.TS Lê Văn Sơn, em xin gởi lời cảm ơn chân thành đến thầy #include "queue.h" #include "config.h" #include " /src_rtg/hdr_src.h" #include "op-burst_agent.h" #include "packet.h" #include "ip.h" class OpSchedule; struct SchList { Packet *p; SchList* Next; double start; double end; u_long burst_id; int source; int destination; int flow; }; class OpScheduleHandler : public Handler { public: inline OpScheduleHandler(OpSchedule& q) : op_schedule_(q) {} void handle(Event*); private: OpSchedule& op_schedule_; }; class OpSchedule { public: OpSchedule(): opsh_(*this) { Head = new SchList*[MAX_LAMBDA]; Tail = new SchList*[MAX_LAMBDA]; CurrentPtr = new SchList*[MAX_LAMBDA]; for(int i=0; iNext=NULL; Head[i]->p=NULL; Head[i]->start=-1; Head[i]->end=-1; Head[i]->burst_id=-1; Head[i]->source=-1; Head[i]->destination=-1; } } ~OpSchedule() { for(int i=0; i