(Luận văn thạc sĩ) nghiên cứu mô phỏng đánh giá chất lượng dịch vụ trên mạng MPLS

120 46 0
(Luận văn thạc sĩ) nghiên cứu mô phỏng đánh giá chất lượng dịch vụ trên mạng MPLS

Đ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

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN HỒNG TRƯỜNG NGHIÊN CỨU MƠ PHỎNG ĐÁNH GIÁ CHẤT LƯỢNG DỊCH VỤ TRÊN MẠNG MPLS Ngành: Công nghệ Điện tử - Viễn thông Chuyên ngành: Kỹ thuật điện tử Mã số: 60 52 70 LUẬN VĂN THẠC SĨ NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS NGUYỄN KIM GIAO Hà Nội - 2009 MỤC LỤC LỜI CAM ĐOAN LỜI CẢM ƠN MỤC LỤC DANH MỤC CHỮ VIẾT TẮT DANH MỤC CÁC HÌNH VẼ DANH MỤC CÁC BẢNG MỞ ĐẦU CHƢƠNG 1: TỔNG QUAN VỀ CHUYỂN MẠCH NHÃN ĐA GIAO THỨC 10 1.1 Khái quát Chuyển mạch nhãn đa giao thức MPLS 10 1.1.1 Giới thiệu 10 1.1.2 Vấn đề mạng IP ATM 11 1.2 Công nghệ Chuyển mạch nhãn đa giao thức (MPLS) 13 1.2.1 Sự đời MPLS 13 1.2.2 Một số đặc điểm MPLS 14 1.2.3 Một số ưu điểm MPLS 16 1.3 Các thành phần Chuyển mạch nhãn Đa giao thức 19 1.3.1 Định tuyến Cơ 19 1.3.2 Các Khái niệm Cơ sở 21 1.4 Các Thành phần điều khiển hoạt động Hệ thống MPLS 24 1.4.1 Thành phần chuyển tiếp chuyển mạch nhãn 24 1.4.2 Các thiết bị MPLS 27 1.4.3 Các Giao thức sử dụng MPLS 27 1.5 Các ứng dụng Chuyển mạch nhãn Đa giao thức 29 CHƢƠNG 2: CHẤT LƢỢNG DỊCH VỤ TRONG CHUYỂN MẠCH NHÃN ĐA GIAO THỨC 33 2.1 Vấn đề Chất lƣợng dịch vụ (QoS) 33 2.1.1 Chất lượng dịch vụ ? 33 2.1.2 Những lợi ích QoS 33 2.2 Các đặc tính QoS 35 2.2.1 Băng thông (bandwidth) 35 2.2.2 Độ trễ (delay) 36 2.2.3 Độ trượt (Jitter) 36 2.2.4 Mất gói (loss) 37 2.2.5 Hoạt động QoS 37 2.3 Các công nghệ QoS 38 2.3.1 Cơ chế Xử lý Lưu thông 38 2.3.2 Các chế cung cấp thiết lập 40 2.3.3 Chất lượng 42 2.4 Chất lƣợng dịch vụ MPLS 42 2.4.1 Kỹ thuật lưu lượng trước MPLS 43 2.4.2 Kỹ thuật lưu lượng với MPLS 43 2.5 MPLS công nghệ định luồng 47 CHƢƠNG 3: CÔNG NGHỆ ĐỊNH LUỒNG (STREAMING) 49 3.1 Tổng Quan Công nghệ Streaming Media 49 3.1.1 Codecs – Nén liệu 49 3.1.2 Luồng Video làm việc ? 51 3.1.3 Các thiết bị Hệ thống Luồng Video 52 3.1.4 Các Thông số mạng cần quan tâm 53 3.2 Bộ Mã hoá/Giải mã chuẩn định luồng Media 57 3.2.1 H.263 57 3.2.2 Tổng quan MPEG-1 59 3.2.3 Tổng quan MPEG-2 59 3.2.4 MPEG-4 60 3.3 Các giao thức Định luồng Video 65 3.3.1 Tổng quan giao thức 65 3.3.2 Real-Time Transport Protocol (RTP) 66 3.3.3 Real-Time Control Protocol (RTCP) 68 3.3.4 Resource Reservation Protocol (RSVP) 70 3.3.5 Real-Time Streaming Protocol 72 CHƢƠNG 4: NGHIÊN CỨU MƠ HÌNH ĐÁNH GIÁ CHẤT LƢỢNG TRONG ĐỊNH LUỒNG MPLS 76 4.1 Lựa chọn tiêu chí đánh giá chất lƣợng Định luồng Đa phƣơng tiện 76 4.1.1 Những Tiêu chuẩn Chất lượng Định luồng 76 4.1.2 Thiết lập tiêu chí kiểm tra chất lượng định luồng 79 4.1.3 Lựa chọn tiêu chuẩn đánh giá chất lượng Định luồng Đa phương tiện sử dụng Chuyển mạch nhãn Đa giao thức 80 4.2 Xây dựng mơ hình thực nghiệm mơ Công nghệ định luồng MPLS 82 4.2.1 Phương pháp tiến hành 82 4.2.2 Xây dựng mơ hình thực nghiệm 82 4.3 Xây dựng Phần mềm Đánh giá Chất lƣợng định luồng MPLS 89 4.3.1 Phân rã Chức 89 4.3.2 Sơ đồ luồng liệu 90 4.3.3 Lựa chọn Cơng cụ Lập trình 92 4.3.4 Mơ tả chi tiết Module Chương trình 92 4.3.5 Kết xuất Tiêu chí thời gian 96 4.3.6 Kết xuất Tiêu chí Chất lượng Hình ảnh, Âm 97 4.4 Kết Đánh giá 98 4.4.1 Các tiêu chí thời gian 99 4.4.2 Độ mát gói tin 99 KẾT LUẬN 108 TÀI LIỆU THAM KHẢO 109 PHỤ LỤC A 110 PHỤ LỤC B 114 PHỤ LỤC C 118 DANH MỤC CHỮ VIẾT TẮT ATM BGP CoS CBR Asynchronous Transfer Mode CR-LDP Constraint-base routing LDP EGP FEC Exterior Gateway Protocol Forwarding Equivalence Class FTN GMPLS IETF FEC to NHLFE Map Generalized Multiprotocol Label Switching Internet Engineering Task Force IGP IML LDP LER LIB LSP LSR MPLambdaS Interior Gateway Protocol Incoming Label Map Label Distribution Protocol Label Edge Router Label Information Base Label Switching Path Label Switching Router Multiprotocol Lambda Switching MPLS MPEG Multiprotocol Label Switching Moving Picture Experts Group NHLFE NS Next Hop Label Forwarding Entry Network Simulation OSPF Open Shortest Path First PCM QoS RIP RSVP Pulse Code Modulator Quality of Service Routing Information Protocol Resource Reservation Protocol Border Gateway Protocol Class of Service Constant Bit Rate Chế độ Truyền không đồng Giao thức Cổng biên Lớp dịch vụ Ứng dụng phát yêu cầu truyền có tốc độ bit khơng đổi Giao thức phân phối nhãn dùng định tuyến dựa vào ràng buộc Giao thức Cổng Lớp tương đương mặt chuyển tiếp Khái niệm MPLS để việc phân loại gói tin phương diện chuyển tiếp Ánh xạ từ FEC NHLFE Chuyển mạch nhãn Đa giao thức Tổng qt hố Nhóm làm việc cấu Internet Giao thức Cổng Nội Ánh xạ Nhãn đến Giao thức Phân phối nhãn Định tuyến Nhãn Biên Cơ sở thông tin nhãn Tuyến Chuyển mạch nhãn Định tuyến chuyển mạch nhãn Chuyển mạch nhãn Đa giao thức dựa vào Thông tin quang Chuyển mạch nhãn Đa giao thức Nhóm chun gia Hình ảnh chuyển động, đồng tgời tên chuẩn mã hoá liệu đa phương tiện mà nhóm đưa Mục Chuyển Nhãn cho điểm Mô Mạng - Sản phẩm mơ Phịng thí nghiệm Lawrence Berkeley National Laboratory Phương pháp lựa chọn định tuyến dựa đường ngắn Bộ điều chế xung mã Chất lượng dịch vụ Giao thức Thông tin định tuyến Giao thức Đặt trước Tài nguyên RTP Real-Time Protocol RTCP RTSP Real-Time Control Protocol Real-Rime Streaming Protocol TE TTL Traffic Engineering Time-To-Live UDP VC Universal Datagram Protocol Virtual Chanel VCI Virtual Chanel Giao thức Thời gian thực – Giao thức vân chuyển Cơng nghệ thời thực Giao thức Điều khiển Thời gian thực Giao thức định luồng thời gian thực Giao thức mức ứng dụng công nghệ định luồng Kỹ thuật điều khiển lưu lượng Thời gian sống Thường thời gian tồn gói tin đường truyền Giao thức Mơ hình liệu Tổng quát Kênh ảo Khái niệm ATM để tuyến liệu Định danh mạch ảo DANH MỤC CÁC HÌNH VẼ Hình 1.1: Định tuyến mạng IP 11 Hình 1.2: Mơ hình chồng lấn mạng IP/ATM 13 Hình 1.3: Ví dụ chuyển mạch truyền thống 19 Hình 1.4: Ví dụ MPLS TE 21 Hình 1.5: Định dạng nhãn MPLS chung 22 Hình 1.6: Lớp liên kết liệu ATM 22 Hình 1.7: Ngăn xếp nhãn 23 Hình 1.8: Minh hoạ lớp chuyển tiếp tương đương 23 Hình 1.9: Giao thức LDP với giao thức khác 28 Hình 1.10: Thủ tục báo hiệu RSVP 29 Hình 1.11: Mạng Nhà cung cấp dich vụ 29 Hình 1.12: IP over ATM với vấn đề N(N-1)/2 30 Hình 1.13: MPLS mạng ATM tồn 31 Hình 1.14: Ánh xạ MPLS/ATM QoS 31 Hình 2.1: Ví dụ độ trượt 36 Hình 2.2: Mất gói mạng 37 Hình 2.3: Mối liên hệ Công nghệ định luồng MPLS 48 Hình 3.1: Truyền liệu Video phương pháp Download file Video 51 Hình 3.2: Truyền Video theo phương pháp Luồng Video 52 Hình 3.3: Bộ đệm sử dụng để lưu trữ truyền đẳng thời 52 Hình 3.4: Máy chủ gửi luồng video riêng biệt đến điểm 54 Hình 3.5: Multicast 54 Hình 3.6: Ethernet chuyển mạch cho truyền mạng LAN tín hiệu Video luồng 55 Hình 3.7: Tín hiệu Video định luồng thông qua Internet 56 Hình 3.8: Thâm nhập Video định luồng thơng qua mạng truyền thơng cơng cộng 56 Hình 3.9: Bộ mã hoá mã hoá H.263 58 Hình 3.10: Quá trình giải mã H.263 59 Hình 3.11: Mơ hình hệ thống MPEG-1 MPEG-2 60 Hình 3.12: Kiến trúc Dựa vào đối tượng (Object-Based) 62 Hình 3.13: Truyền liệu định luồng 64 Hình 3.14: Các phiên MPEG-4 65 Hình 3.15: Các Giao thức Định luồng ngăn xếp TCP/IP 66 Hình 3.16: Đóng gói RTP 67 Hình 3.17: Khn dạng Header RTP 68 Hình 3.18: Gói tin RTCP Sender Report 70 Hình 3.19: Kết hợp yêu cầu RSVP Multicast 71 Hình 3.20: Quy trình Yêu cầu RSVP 72 Hình 3.21: Kết nối điều khiển RTSP 74 Hình 3.22: Kết nối RTSP 75 Hình 3.23: Các trạng thái RTSP[12] 75 Hình 4.1: Mơ hình thực nghiệm 86 Hình 4.2: Mơ hình mơ NS2 87 Hình 4.3: Khuôn dạng file log 88 Hình 4.4: Quy trình tiến hành thực nghiệm 89 Hình 4.5: Phân rã Chức Chương trình 90 Hình 4.6: Sơ đồ luồng liệu 91 Hình 4.7: Lưu đồ Thuật tốn Mơ Máy trạm Định luồng 95 Hình 4.8: Lưu đồ Thuật tốn Kết xuất Tiêu chí thời gian 97 Hình 4.9: Lưu đồ Thuật tốn Kết xuất Tiêu chí Chất lượng Hình ảnh Âm 98 Hình 4.10: Độ mát gói tin tồn thể đoạn phim 100 Hình 4.11: Độ mát gói tin Phim Công viên kỷ Jura ( không MPLS) 102 Hình 4.12: Độ mát gói tin Phim Ngài Bean ( khơng MPLS) 102 Hình 4.13: Độ mát gói tin Phim Aladdin đèn thần (khơng MPLS) 103 Hình 4.14: Độ mát gói tin Phim Cơng viên kỷ Jura (có MPLS) 103 Hình 4.15: Độ mát gói tin Phim Ngài Bean ( có MPLS) 104 Hình 4.16: Độ mát gói tin Aladdin đèn thần ( có MPLS) 104 Hình 4.17: So sánh độ mát gói tin trường hợp (có MPLS khơng MPLS) Phim Công viên kỷ Jura 105 Hình 4.18: So sánh độ mát gói tin trường hợp (có MPLS không MPLS) Phim Ngài Bean 105 Hình 4.19: So sánh độ mát gói tin trường hợp (có MPLS khơng MPLS) Aladdin đèn thần 106 Hình 4.20: So sánh Độ mát cực đại hệ thống 106 Hình 4.21: So sánh Độ mát trung bình hệ thống 107 DANH MỤC CÁC BẢNG Bảng 1.1: Các công nghệ chuyển mạch đa lớp 14 Bảng 2.1: Một số vấn đề gặp phải mạng không hỗ trợ QoS 34 Bảng 4.1 Các tiêu chí lựa chọn để đánh giá chất lượng định luồng 81 Bảng 4.2 Khuôn dạng file liệu mã hóa 84 Bảng 4.3 Các phim lựa chọn thể loại 85 Bảng 4.4 Thông số kỹ thuật Phim Công viên kỷ Jura 85 Bảng 4.5 Thông số kỹ thuật Phim Ngài Bean 85 Bảng 4.6 Thông số kỹ thuật Phim Aladin Cây đèn thần 86 Bảng 4.7 Các Tham số Mơ hình thực nghiệm 86 Bảng 4.8 Các Module chức Chương trình 90 Bảng 4.9 Thống kê gói tin Cơng viên kỷ Jura 101 Bảng 4.10 Thống kê gói tin Ngài Bean 101 Bảng 4.11 Thống kê gói tin Aladdin đèn thần 101 MỞ ĐẦU Trong thời gian qua mạng Internet phát triển cách bùng nổ, với dịch vụ mạng phổ biến mạng xã hội, blog, chia sẻ video, đặc biệt dịch vụ điện toán đám mây Đằng sau thành công rực rỡ dịch vụ trực tuyến kể đến trợ giúp đắc lực công nghệ mạng lõi đặc biệt Công nghệ Chuyển mạch nhãn Đa giao thức (MPLS) Vậy với cơng nghệ vậy, bên cạnh việc tìm hiểu để làm chủ cơng nghệ việc đánh giá hiệu của cơng nghệ ứng dụng cụ thể việc làm có ý nghĩa lý thuyết lẫn thực tiễn Chính lý đó, tác giả chọn đề tài “Nghiên cứu mô phỏng, đánh giá chất lượng dịch vụ mạng MPLS” nhấn mạnh việc đánh giá hiệu công nghệ Chuyển mạch nhãn Đa giao thức ứng dụng cụ thể Công nghệ Định luồng (Streaming Media) - công nghệ thời gian thực phổ biến Internet Để báo cáo kết thực được, luận văn tổ chức thành chương: - Các chương 1, 2, tập trung vào sở lý thuyết, trình bày vấn đề Chuyển mạch nhãn Đa giao thức, chất lượng dịch vụ, công nghệ định luồng, mối liên hệ chúng - Chương sâu vào việc xây dựng phương pháp tiến hành thực nghiệm đánh giá hiệu phân tích số kết thu - Phần kết luận đưa số hướng nghiên cứu để làm rõ thêm hiệu Chuyển mạch nhãn Đa giao thức với Công nghệ định luồng - Đồng thời với việc thực luận văn này, tác giả mong muốn xây dựng mơ hình mơ thực nghiệm triển khai phịng LAB trường Đại học Cơng Nghệ - Đại học Quốc gia Hà Nội, để giúp sinh viên, học viên trường có cơng cụ phục vụ công việc học tập nghiên cứu 105 Mơ hình mạng truyền tải có sử dụng MPLS làm giảm đáng kể Độ mát gói tin so với mơ hình khơng sử dụng MPLS Độ mát gói tin (%) Các hình 4.17, 4.18, 4.19 thể so sánh Độ mát gói tin sử dụng mạng truyền tải: Có MPLS không MPLS Chúng ta thấy rằng, mạng sử dụng MPLS phát huy giá trị Độ tắc nghẽn cao 100 90 80 70 60 50 40 30 20 10 0 10 15 Tỷ lệ gói tin ( % ) (MPLS) 20 25 30 35 40 45 50 55 Độ tắc nghẽn (%) Tỷ lệ gói tin ( % ) ( khơng MPLS) Độ mát gói tin (%) Hình 4.17: So sánh độ mát gói tin trường hợp (có MPLS không MPLS) Phim Công viên kỷ Jura 100 90 80 70 60 50 40 30 20 10 0 10 15 Tỷ lệ gói tin ( % ) (Có MLPS) 20 25 30 35 40 45 50 55 Độ tắc nghẽn (%) Tỷ lệ gói tin ( % ) ( khơng MPLS) Hình 4.18: So sánh độ mát gói tin trường hợp (có MPLS không MPLS) Phim Ngài Bean Độ mát gói tin (%) 106 100 90 80 70 60 50 40 30 20 10 0 10 15 Tỷ lệ gói tin ( % ) (Có MLPS) 20 25 30 35 40 45 50 55 Độ tắc nghẽn (%) Tỷ lệ gói tin ( % ) ( khơng MPLS) Hình 4.19: So sánh độ mát gói tin trường hợp (có MPLS khơng MPLS) Aladdin đèn thần Độ mát cực đại (%) Tác giả so sánh giá trị cực đại giá trị trung bình Độ mát gói tin đoạn tắc nghẽn từ 0% đến 50% kết thể hình 4.20 4.21 120 110 97.99236311 100 98.22532939 98.15194414 90 80 70 60 50 40 30 20 10.14840767 10.82088119 10 6.834924092 Cơng viên kỷ Jura Có MPLS Ngài Bean Aladdin đèn thần Khơng MPLS Hình 4.20: So sánh Độ mát cực đại hệ thống Độ mát gói tin trung bình (%) 107 70 64.77219226 65.86045012 64.77854354 60 50 40 30 20 10 1.774829745 2.070750322 1.487136396 Cơng viên kỷ Jura Có MPLS Ngài Bean Aladdin đèn thần Khơng MPLS Hình 4.21: So sánh Độ mát trung bình hệ thống 108 KẾT LUẬN Công nghệ Chuyển mạch nhãn Đa giao thức MPLS, với hàng loạt ưu điểm trình bày trên, thực cơng nghệ chuyển mạch tiên tiến phù hợp với đòi hỏi cấp bách môi trường mạng đa dịch vụ Nó cho phép kết hợp hàng loạt công nghệ truyền dẫn mức lõi ATM hay FrameRelay, đồng thời cung cấp giải pháp đảm bảo Chất lượng Dịch vụ (QoS) Đặc biệt với dịch vụ thời gian thực, có cơng nghệ định luồng (Streaming Media), MPLS thực đáp ứng nhu cầu đảm bảo tài nguyên hệ thống thông qua tính QoS Bản luận văn cố gắng đánh giá tính hiệu MPLS với ứng dụng định luồng thu số kết định Do điều kiện hạn chế thời gian thực lực thân người thực hiện, kết thu hạn chế Hơn nữa, điều kiện khơng cho phép, tác giả khơng có điều kiện thực đo đạc, đánh giá môi trường thực, mà thực qua mơ phần mềm, nên khơng có điều kiện đánh giá kỹ hệ thống MPLS Tuy vậy, thơng qua mơ thực hiện, kết luận tính hiệu hệ thống MPLS Cơng nghệ định luồng nói riêng ứng dụng thời gian thực nói chung Trong thời gian tới, được, người thực tiến hành nghiên cứu sâu theo hướng : Tìm cách mơ giao thức định luồng thực RTP, RTCP, RTCP, MMS, để đánh giá hiệu MPLS theo tiêu chí thời gian Tiến hành đo kiểm hệ thống thực có điều kiện đồng thời so sánh với kết đạt mô máy tính Hy vọng với kết đạt luận văn, tác giả có mong muốn triển khai mơ hình phịng LAB trường Đại học Cơng Nghệ Trên sở đó, sinh viên học viên dựa mơ hình tiến hành thử nghiệm phát triển thêm module để phục vụ cho công tác học tập nghiên cứu 109 TÀI LIỆU THAM KHẢO [1] Bùi Quang Hưng (2001), ―Nghiên cứu cơng cụ mơ phân tích đánh giá hiệu suất hệ thống mạng thông tin máy tính NS‖ [2] Nguyễn Thị Đoan Trang (2008), “Kết hợp DiffServ MPLS việc đảm bảo chất lượng dịch vụ”, đồ án tốt nghiệp, ĐH Bách Khoa Đà Nẵng [3] Trần Thị Tố Uyên, “Chuyển mạch nhãn đa giao thức”, Truy cập ngày 14 tháng 05 năm 2009, từ http://www.ebook.edu.vn/?page=1.6&view=10204 [4] “[Giới thiệu & Hướng dẫn] NS2 mô MPLS”, Truy cập ngày 14 tháng 10 năm 2009, từ http://hoangtrongminh.info/diendan/showthread.php?t=181 [5] D Adami, C Callegari, S Giordano, F Mustacchio, M Pagano, F Vitucci (2002), “Overview of the RSVP-TE Network Simulator: Design and Implementation‖, Dept of Information Engineering, University of Pisa, ITALY [6] Charnvithya Sresthadatta (2002), “Multi-protocol label switching : building MPLS based virtual private networks and services for service”, Project Report (MSTM) Assumption University [7] Gregory J Conklin, Gary S Greenbaum, Karl O Lillevold,Alan F Lippman,Yuriy A Reznik (2000), ―Video Coding for Streaming Media Delivery on the Internet‖ [8] Kevin Fall, Kannan Varadhan (2009), “The ns Manual”, The VINT Project, December 13 [9] Frank H.P Fitzek, Martin Reisslein (2000), “MPEG-4 and H.263 Video Traces for Network Performance Evulation”, Technical University Berlin [10] F Paul, H Geoff (1998), “Quality of service : delivering QoS on the Internet and in corporate networks” [11] E Rosen, A Viswanathan, R Callon (2001), “Multiprotocol Label Switching Architecture‖, IETF RFC3031 [12] Chuck Semeria (2002), “RSVP Signaling Extensions for MPLS Traffic Engineering‖ White Page, Juniper Networks, Inc [13] Black, Uyless (2002), “MPLS & label switching networks‖, Prentice Hall PTR [14] Nortel Networks (2001), “MPLS—An introduction to multiprotocol label switching‖ White Page, Nortel Networks Marketing Publications 110 PHỤ LỤC A Mã nguồn NS2 mô mơ hình thực nghiệm ( Mã nguồn phụ lục A, B, C mang tính chất tham khảo, chương trình đầy đủ copy đĩa CD kèm luận văn) # # # # # # Nguyen Hoang Truong K12D2 Khoa Dien tu – Vien thong – Truong Dai hoc Cong nghe Dien thoai: 0983109637 Email: nh.truong@gmail.com Mo phong Streaming Media tren MPLS Phien ban: 1.00 - Dai hoc Quoc gia - Ha Noi proc usage {} { global argv0 puts stderr "Cach su dung: ns $argv0 [][][]" puts stderr "Ten file Du lieu : File trace cua du lieu media" puts stderr "RSVP-TE : Co dung RSVP-TE hay khong ?" puts stderr "UDP/TCP: Su dung UDP hay TCP ?" puts stderr "BW : Bang thong gay tac nghen" exit } proc finish {} { global ns tf tfs #close $nf close $tf #close $tfs puts "END" #exec nam -f dynamic-nam.conf testing.nam & exit } proc attach-cbr-traffic { node sink udp size rate interval} { global ns $ns attach-agent $node $udp set traffic [new Application/Traffic/CBR] $traffic set packetSize_ $size $traffic set interval_ $interval $traffic set rate_ $rate $traffic attach-agent $udp $ns connect $udp $sink return $traffic } proc createVideoSource { videoSourceName traceName } { global end_sim_time_ set original_file_id [open $videoSourceName r] set trace_file_id [open $traceName w] # REQUIRED in Windoze version: fconfigure $trace_file_id -encoding binary fconfigure $trace_file_id -translation binary #set trace_file_id [open video.dat w] set last_time while {[eof $original_file_id] == 0} { gets $original_file_id current_line if {[string length $current_line] == || [string compare [string index $current_line 0] "#"] == 0} { continue } scan $current_line "%d%s%d" next_time type length set time [expr 1000*($next_time-$last_time)] set last_time $next_time puts -nonewline $trace_file_id [binary format "II" $time $length] } 111 close $original_file_id close $trace_file_id # set the simulation end time: set end_sim_time_ [expr 1.0*$last_time/1000+0.001] } proc attach-vdo-traffic { node sink filename} { global ns createVideoSource $filename video_1.dat # set udp [new Agent/UDP] $ns attach-agent $node $tp set trace_file_name video_1.dat set trace_file [new Tracefile] $trace_file filename $trace_file_name set traffic [new Application/Traffic/Trace] $traffic attach-tracefile $trace_file $traffic attach-agent $tp $ns connect $tp $sink return $traffic } #Thiet lap cac thong so dau vao set end_sim_time_ set video_file_ "" set rsvp_te_ "N" set tp_ "U" set bw_ "344K" switch $argc { { set video_file_ [lindex $argv 0] } { set video_file_ [lindex $argv 0] set rsvp_te_ [lindex $argv 1] } { set video_file_ [lindex $argv 0] set rsvp_te_ [lindex $argv 1] set tp_ [lindex $argv 2] } { set set set set video_file_ [lindex $argv 0] rsvp_te_ [lindex $argv 1] tp_ [lindex $argv 2] bw_ [lindex $argv 3] } default { usage } } set ns [new Simulator] set nf [open $video_file_$rsvp_te_$tp_$bw_.nam w] $ns namtrace-all $nf $ns $ns $ns $ns $ns color color color color color red magenta blue red green #Tao cac node mang set n0 [$ns node] set n1 [$ns node] set n2 [$ns node] set n3 [$ns mpls-node] set n4 [$ns mpls-node] set n5 [$ns mpls-node] set n6 [$ns mpls-node] set n7 [$ns mpls-node] 112 set set set set set n8 [$ns mpls-node] n9 [$ns mpls-node] n10 [$ns node] n11 [$ns node] n12 [$ns node] $ns duplex-rsvp-link $n0 $n5 1Mb 10ms 0.99 1000 10000 Param Null $ns duplex-rsvp-link $n3 $n4 1Mb 10ms 0.99 1000 10000 Param Null $ns duplex-rsvp-link $n4 $n5 1Mb 10ms 0.99 1000 10000 Param Null $ns duplex-rsvp-link $n1 $n4 1Mb 10ms 0.99 1000 10000 Param Null $ns duplex-rsvp-link $n4 $n9 1Mb 10ms 0.99 1000 10000 Param Null $ns duplex-rsvp-link $n2 $n3 1Mb 10ms 0.99 1000 10000 Param Null $ns $ns $ns $ns $ns duplex-rsvp-link duplex-rsvp-link duplex-rsvp-link duplex-rsvp-link duplex-rsvp-link $n4 $n5 $n6 $n7 $n8 $n5 $n6 $n7 $n8 $n9 1Mb 1Mb 1Mb 1Mb 1Mb 10ms 10ms 10ms 10ms 10ms 0.99 0.99 0.99 0.99 0.99 1000 1000 1000 1000 1000 10000 10000 10000 10000 10000 Param Param Param Param Param Null Null Null Null Null $ns duplex-rsvp-link $n7 $n10 1Mb 10ms 0.99 1000 10000 Param Null $ns duplex-rsvp-link $n7 $n11 1Mb 10ms 0.99 1000 10000 Param Null $ns duplex-rsvp-link $n7 $n12 1Mb 10ms 0.99 1000 10000 Param Null $n2 label "Server" $n12 label "Client" $n0 label "CBR 400Kb" $n1 label "CBR $bw_\Kb" set tf [open $video_file_$rsvp_te_$tp_$bw_.tr w] $ns trace-queue $n7 $n12 $tf set tfs [open $video_file_$rsvp_te_$tp_$bw_.input.tr w] $ns trace-queue $n2 $n3 $tfs # Enable upcalls on all nodes Agent/RSVP set noisy_ 255 # # configure ldp agents on all mpls nodes # $ns configure-ldp-on-all-mpls-nodes set set set set set set set set set set set set set rsvp0 [$n0 add-rsvp-agent] rsvp1 [$n1 add-rsvp-agent] rsvp2 [$n2 add-rsvp-agent] rsvp3 [$n3 add-rsvp-agent] rsvp4 [$n4 add-rsvp-agent] rsvp5 [$n5 add-rsvp-agent] rsvp6 [$n6 add-rsvp-agent] rsvp7 [$n7 add-rsvp-agent] rsvp8 [$n8 add-rsvp-agent] rsvp9 [$n9 add-rsvp-agent] rsvp10 [$n10 add-rsvp-agent] rsvp11 [$n11 add-rsvp-agent] rsvp12 [$n12 add-rsvp-agent] set udp0 [new Agent/UDP] $udp0 set packetSize_ 500 $udp0 set fid_ set udp1 [new Agent/UDP] $udp1 set packetSize_ 500 $udp1 set fid_ if {$tp_=="U"} { set tp2 [new Agent/UDP] $tp2 set packetSize_ 8500 $tp2 set fid_ } if {$tp_=="T"} { set tp2 [new Agent/TCP] $tp2 set packetSize_ 8500 $tp2 set fid_ $tp2 set window_ $tp2 set class_ } 113 ############################################################################### set sink10 [new Agent/LossMonitor] $ns attach-agent $n10 $sink10 set sink11 [new Agent/LossMonitor] $ns attach-agent $n11 $sink11 if {$tp_=="U"} { set sink12 [new Agent/LossMonitor] } if {$tp_=="T"} { set sink12 [new Agent/TCPSink] } $ns attach-agent $n12 $sink12 #node sink udp size rate interval set bw $bw_\Kb set cbr0 [attach-cbr-traffic $n0 $sink10 $udp0 500 400Kb 0.010] set cbr1 [attach-cbr-traffic $n1 $sink11 $udp1 500 $bw 0.010] set vdo2 [attach-vdo-traffic $n2 $sink12 $tp2 $video_file_] for {set i 3} {$i < 10} {incr i} { set a n$i set m [eval $$a get-module "MPLS"] eval set LSRmpls$i $m } ############################################################################### $ns $ns $ns $ns $ns $ns at 0.0 "$cbr0 start" at $end_sim_time_ "$cbr0 stop" at 0.0 "$cbr1 start" at $end_sim_time_ "$cbr1 stop" at 0.0 "$vdo2 start" at $end_sim_time_ "$vdo2 stop" if {$rsvp_te_=="Y"} { $ns at -0.1 "$LSRmpls3 create-crlsp $n3 $n7 +262144 8500 32 3_4_5_6_7_" $ns at -0.1 "$LSRmpls3 bind-flow-erlsp 12 0" } $ns at $end_sim_time_ "finish" $ns run 114 PHỤ LỤC B Mã nguồn FoxPRO mô Máy trạm định luồng * Tao viec mo phong viec choi file video tai may tram * Dau vao : lpDir : Thu muc chua du lieu * lpMaxBuffer, lpMinBuffer : Thong so Buffer PARAMETERS lpReportDir,lpDir,lpDataFile,lpMaxBuffer, lpMinBuffer * Mo file luu tru sReportFile = lpReportDir + "report.txt" IF (!FILE(sReportFile )) nReportHandle = FCREATE(sReportFile) ELSE nReportHandle = FOPEN(sReportFile) ENDIF * Kiem tra su ton tai cua file sInput = lpDir + lpDataFile + ".dbf" sOutput = lpDir + left(lpDataFile,at("_",lpDataFile)-1) + ".dbf" IF !(FILE(sInput) AND FILE(sOutput)) ?'Khong ton tai file' RETURN ENDIF * File log sLogFile = lpDir + "log.txt" * Mo file SELECT USE &sInput ALIAS tInput SELECT USE &sOutput ALIAS tOutput nLogHandle = FCREATE(sLogFile) * Trang thai : : Init,1 : Play, :Buffer sStatus = * Seq cua Frame dau tien cua trang thai Play hien thoi nFirstSeq = nFirstTime = * Hang doi buffer DIMENSION dSeqBuffer(100) * Kich thuoc buffer hien thoi nItemCount = * Thoi gian he thong (ms) nTime = 0; * Thong ke loai packet mat nPLost = nPBLost = nILost = nPAmount = nPBAmount = nIAmount = * Seq goi tin gan nhat nLastSeq = * Viet thoi diem init vao log 115 sLogString = PADL(ALLTRIM(STR(nTime)), 10, SPACE(1)) + PADL("INIT", 6, SPACE(1)) + PADL(nItemCount, 4, SPACE(1)) ?sLogString =FPUTS(nLogHandle ,sLogString) DO WHILE T * Kiem tra trang thai hien thoi nTime = nTime + 10 * Dua them Frame vao Buffer SELECT tInput IF (!EOF()) IF (m.nTime >= tInput.timestamp) * neu dung thoi gian den thi nap vao buffer nItemCount = nItemCount + dSeqBuffer[nItemCount] = seq ?nItemCount SKIP ENDIF ELSE sStatus = ENDIF * Kiem tra lon cua buffer IF (nItemCount >= lpMaxBuffer) * neu khong phai dang trang thai Play thi chuyen trang thai va ghi log IF (sStatus 2) * Ghi log sLogString = PADL(ALLTRIM(STR(nTime)), 10, SPACE(1)) + PADL("PLAY", 6, SPACE(1)) + PADL(nItemCount, 4, SPACE(1)) =FPUTS(nLogHandle ,sLogString) ?sLogString * Chuyen trang thai sStatus = nFirstSeq = dSeqBuffer[1] ENDIF ENDIF * Dua khoi buffer IF (sStatus = 2) bDay = F * Neu vua Buffering xong thi day IF (nFirstSeq = dSeqBuffer[1]) nFirstTime = nTime bDay = T ELSE * Tinh toan Interval * Lay Seq dau tien cua buffer nSeq = dSeqBuffer[1] SELECT tOutput GO TOP LOCATE FOR seq = nSeq IF (!FOUND()) EXIT ENDIF nCurTime = tOutput.timestamp GO TOP LOCATE FOR seq = nFirstSeq IF (!FOUND()) EXIT ENDIF nTimeofFirst = tOutput.timestamp nInterval = nCurTime - nTimeofFirst IF ((nTime - nFirstTime )>= nInterval ) 116 bDay = T ENDIF ENDIF * Day khoi buffer IF (bDay) * Tinh toan cac Packet bi mat nSeq = dSeqBuffer[1] FOR i = nLastSeq + TO nSeq -1 SELECT tOutput GO TOP LOCATE FOR seq = i IF (FOUND()) DO CASE CASE ALLTRIM(tOutput.packettype) = "I" nILost = nILost + nIAmount = nIAmount + tOutput.packetsize CASE ALLTRIM(tOutput.packettype) = "P" nPLost = nPLost + nPAmount = nPAmount + tOutput.packetsize CASE ALLTRIM(tOutput.packettype) = "PB" nPBLost = nPBLost + nPBAmount = nPBAmount + tOutput.packetsize ENDCASE ENDIF ENDFOR FOR i = TO nItemCount + dSeqBuffer[i-1] = dSeqBuffer[i] ENDFOR nItemCount = nItemCount - ?nItemCount * Kiem tra ve lpMinBuffer IF (nItemCount

Ngày đăng: 05/12/2020, 11:32

Mục lục

  • MỤC LỤC

  • 1.1. Khái quát về Chuyển mạch nhãn đa giao thức MPLS

  • 1.1.1. Giới thiệu

  • 1.1.2. Vấn đề của mạng IP và ATM

  • 1.2. Công nghệ Chuyển mạch nhãn đa giao thức (MPLS)

  • 1.2.1. Sự ra đời của MPLS

  • 1.2.2. Một số đặc điểm của MPLS

  • 1.2.3. Một số ƣu điểm của MPLS

  • 1.3. Các thành phần cơ bản Chuyển mạch nhãn Đa giao thức

  • 1.3.1. Định tuyến Cơ bản

  • 1.3.2. Các Khái niệm Cơ sở

  • 1.4. Các Thành phần điều khiển hoạt động của Hệ thống MPLS

  • 1.4.1. Thành phần chuyển tiếp chuyển mạch nhãn

  • 1.4.2. Các thiết bị cơ bản của MPLS

  • 1.4.3. Các Giao thức sử dụng trong MPLS

  • 1.5. Các ứng dụng của Chuyển mạch nhãn Đa giao thức

  • 2.1. Vấn đề Chất lƣợng dịch vụ (QoS)

  • 2.1.1. Chất lƣợng dịch vụ là gì ?

  • 2.1.2. Những lợi ích của QoS

  • 2.2. Các đặc tính QoS

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

Tài liệu liên quan