Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 36 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
36
Dung lượng
3,43 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO THỰC TẬP CƠ SỞ Đề Tài : Tìm hiểu hệ mơ mạng OMNeT++ mô ứng dụng UDPClient/Sever Giáo viên hướng dẫn : Mai Cường Thọ Sinh viên thực : Nguyễn Văn Trâm Khánh Hòa - Tháng 1/2022 MỤC LỤC LỜI CAM ĐOAN LỜI CẢM ƠN .6 CHƯƠNG : TÌM HIỂU VỀ HỆ MƠ PHỎNG MẠNG OMNeT++ 1.1 Tổng quan OMNET++ 1.1.1 Giới thiệu 1.1.2 Các thành phần OMNET++ 1.1.3 Ứng dụng .8 1.2 Mơ hình OMNET++ 1.2.1 Cấu trúc phân cấp module 1.2.2 Kiểu module 1.2.3 Message, cổng, liên kết 10 1.2.4 Mô hình truyền gói tin 11 1.2.5 Tham số .12 1.3 Sử dụng OMNET++ 13 1.3.1 Xây dựng chạy thử mơ hình mơ 13 1.3.2 Hệ thống file .16 1.4 Ngôn ngữ NED 17 1.4.1 Các dẫn import .17 1.4.2 Khai báo kênh 18 1.4.3 Khai báo module đơn giản 19 1.5 Tictoc OMNeT++ 20 CHƯƠNG : TÌM HIỂU VỀ INET FRAMEWORK .22 2.1.Giới thiệu 22 2.2.Mô mạng OMNeT++ sử dụng INET 23 2.3.Mô lắp ráp 27 CHƯƠNG : TÌM HIỂU VỀ HỆ MƠ PHỎNG ỨNG DỤNG UDPCLIENT/SEVER 27 3.1 UDP ? 27 3.2.Các thuật ngữ UDP 28 3.2.1.Packet 28 3.2.2 Datagram 28 3.2.3 MTU 28 3.2.4 Port .29 3.2.5.TTL (Time To Live) 29 3.2.6 Multicasting .30 3.2.7 Hoạt động giao thức UDP 30 3.3.Các ứng dụng UDP 30 3.4.Các tính giao thức gói liệu người dùng 31 3.5 UDP OMNeT++ .31 3.5.1 UDPApp .31 3.5.2 UDPBasicApp 32 3.5.3 UdpEchoApp .33 3.5.4 UdpRequestResponseApp 33 3.5.5 UdpSink .34 3.5.6 UdpSocketIo 35 3.5.7 UdpVideoStreamClient 35 3.5.8 UdpVideoStreamServer 35 CHƯƠNG : KẾT LUẬN VÀ KIẾN NGHỊ 36 4.1 Kết luận 36 4.1.1 Ưu điểm 36 4.1.2 Hạn chế 36 LỜI CAM ĐOAN Tôi xin cam đoan: Bài báo cáo “ Tìm hiểu hệ mơ mạng OMNeT++ mô ứng dụng UDPClient/Sever ” kết dựa cố gắng, nỗ lực thân với hướng dẫn nhiệt tình thầy Mai Cường Thọ Các số liệu kết nghiên cứu đề tài trung thực hoàn tồn khơng chép sử dụng kết đề tài nghiên cứu tương tự Những phần sử dụng tài liệu tham khảo đồ án trích dẫn đầy đủ Nếu phát có chép kết nghiên cứu đề tài khác, xin chịu hoàn toàn trách nhiệm chịu kỷ luật Khoa Nhà trường đề Khánh Hòa, ngày 22 tháng năm 2022 Tác giả báo cáo LỜI CẢM ƠN Lời chúng em xin chân thành cảm ơn Ban giám hiệu trường Đại Học Nha Trang tạo điều kiện để sinh viên chúng em có mơi trường học tập thoải mái sở hạ tầng sở vật chất Em xin bày tỏ lòng biết ơn sâu sắc tới thầy Mai Cường Thọ tận tình hướng dẫn bảo chúng em trình thực đề tài Thầy cho em lời khuyên quan trọng suốt q trình hồn thành đồ án với chủ đề: “Tìm hiểu hệ mô mạng OMNet++ Mô ứng dụng UDPClient/Sever” Một lần nữa, em xin chân thành cảm ơn quý thầy cô khoa Công nghệ Thông tin tận tình giảng dạy, trang bị cho chúng em kiến thức quý báu năm vừa qua Xin cảm ơn quan tâm giúp đỡ ủng hộ anh chị bạn bè trình thực đề tài Mặc dù cố gắng hoàn thành đề tài phạm vi khả cho phép chắn khơng tránh khỏi thiếu sót Em mong nhận thơng cảm, góp ý tận tình bảo q thầy bạn Em xin chân thành cảm ơn! Khánh Hòa, ngày 22 tháng năm 2021 CHƯƠNG : TÌM HIỂU VỀ HỆ MƠ PHỎNG MẠNG OMNeT++ 1.1 Tổng quan OMNET++ 1.1.1 Giới thiệu OMNeT++ viết tắt cụm từ Objective Modular Network Testbed in C+ + OMNeT++ ứng dụng cung cấp cho người sử dụng môi trường để tiến hành mô hoạt động mạng Mục đích ứng dụng mơ hoạt động mạng thơng tin, nhiên tính phổ cập linh hoạt nó, OMNeT++ cịn sử dụng nhiều lĩnh vực khác mô hệ thống thông tin phức tạp, mạng kiểu hàng đợi (queueing networks) hay kiến trúc phần cứng OMNeT++ cung cấp sẵn thành phần tương ứng với mơ hình thực tế Các thành phần (cịn gọi module) lập trình theo ngơn ngữ C++, sau tập hợp lại thành thành phần hay mơ hình lớn ngôn ngữ bậc cao (NED) OMNeT++ hỗ trợ giao diện đồ hoạ, tương ứng với mơ hình cấu trúc đồng thời phần nhân mơ (simulation kernel) module OMNeT++ dễ dàng nhúng vào ứng dụng khác 1.1.2 Các thành phần OMNET++ Thư viện phần nhân mơ (simulation kernel) Trình biên dịch cho ngơn ngữ mơ tả hình trạng (topology description language) - NED (nedc) Trình biên tập đồ hoạ (graphical network editor) cho file NED (GNED) Giao diện đồ hoạ thực mô phỏng, liên kết bên file thực mơ (Tkenv) Giao diện dịng lệnh thực mô (Cmdenv) Công cụ (giao diện đồ hoạ) vẽ đồ thị kết vector đầu (Plove) Công cụ (giao diện đồ hoạ) mô tả kết vô hướng đầu (Scalars) Cơng cụ tài liệu hố mơ hình Các tiện ích khác Các tài liệu hướng dẫn, ví dụ mơ phỏng… 1.1.3 Ứng dụng OMNeT++ công cụ mô hoạt động mạng module đuợc thiết kế hướng đối tượng OMNeT++ thường sử dụng ứng dụng chủ yếu như: Mơ hình hoạt động mạng thơng tin Mơ hình giao thức Mơ hình hố mạng kiểu hàng đợi Mơ hình hố hệ thống đa vi xử lý (multiprocesser) hệ thống phần cứng theo mơ hình phân tán khác (distributed hardware systems) Đánh giá kiến trúc phần cứng Đánh giá hiệu hoạt động hệ thống phức tạp… 1.2 Mơ hình OMNET++ 1.2.1 Cấu trúc phân cấp module Một mơ hình OMNeT++ chứa module lồng có cấu trúc phân cấp, trao đổi thông tin với cách gửi message 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, module chứa module riêng Độ sâu phân cấp module không giới hạn, điều cho phép người sử dụng dễ dàng biểu diễn cấu trúc logic hệ thống thực tế cấu trúc phân cấp OMNeT++ Cấu trúc mơ hình mơ tả ngơn ngữ NED OMNeT++ Hình 1.1 Các module đơn giản kết hợp Các module chứa nhiều module gọi module kết hợp Các module đơn giản module có cấp thấp cấu trúc phân cấp Các module đơn giản chứa thuật tốn mơ hình Người sử dụng triển khai module đơn giản ngôn ngữ C++, sử dụng thư viện mô OMNeT++ 1.2.2 Kiểu module Tất module dù đơn giản hay phức tạp đối tượng cụ thể kiểu module Trong mô tả mơ hình, người sử dụng định nghĩa kiểu module; đối tượng cụ thể kiểu module sử dụng thành phần kiểu module phức tạp Cuối cùng, người sử dụng tạo module hệ thống đối tượng cụ thể kiểu module định nghĩa trước đó, tất module mạng module (hoặc module con) module hệ thống Khi kiểu module sử dụng khối dựng sẵn (building block), phân biệt module đơn giản hay phức tạp Điều cho phép người sử dụng tách module đơn giản thành nhiều module đơn giản nhúng module kết hợp, ngược lại tập hợp chức module kết hợp module đơn giản mà không ảnh hưởng đến kiểu module người sử dụng định nghĩa Kiểu module lưu trữ file riêng rẽ Điều cho phép người sử dụng nhóm kiểu module lại tạo thư viện thành phần 1.2.3 Message, cổng, liên kết Các module trao đổi thông tin việc gửi message Trong thực tế, message có dạng khung (frame) gói tin (packet) truyền mạng Các message có cấu trúc phức tạp tuỳ ý Các module đơn giản gửi message cách trực tiếp đến vị trí nhận gửi theo đường dẫn định sẵn thông qua cổng liên kết “Thời gian mô địa phương” (local simulation time) module tăng lên module nhận message Message đến từ module khác đến từ module (message thân module - self-message dùng để thực định thời) Cổng (gate) giao tiếp vào module Message 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 đơn 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 Hình 1.2 Các kết nối 10 CHƯƠNG : TÌM HIỂU VỀ INET FRAMEWORK 2.1.Giới thiệu INET Framework sưu tập mơ hình mơ lâu đời lớn cho OMNeT ++ Nói chung, khung cơng tác cung cấp số mơ hình mơ cho trường ứng dụng cụ thể để mở rộng trình mơ kiện rời OMNeT ++ chung độc lập với ứng dụng INET xem thư viện giao thức truyền 22 thông tiêu chuẩn tạo điều kiện cho việc mô kịch mạng truyền thơng Nó có lịch sử lâu dài gắn bó với OMNeT ++: từ điểm khởi đầu - Bộ giao thức Internet OMNeT ++ - trở lại năm 2000, qua việc đổi tên tạo lại thành INET Framework vào năm 2004, việc phát hành INET phiên 4.1 đề cập sách chương INET phát triển thúc đẩy phát triển OMNeT ++ giống OMNeT ++ không ngừng ảnh hưởng đến phát triển INET INET thiết kế phù hợp để nghiên cứu thử nghiệm lĩnh vực mô mạng truyền thơng Nó đặc biệt hữu ích khám phá kịch thiết kế xác nhận giao thức truyền thông từ tất lớp ngăn xếp giao thức 2.2.Mô mạng OMNeT++ sử dụng INET 23 24 25 26 2.3.Mô lắp ráp INET khuôn khổ mở rộng phức tạp sử dụng tính mơ đun vốn có OMNeT ++.Phần lớn thành phần mơ hình INET kết hợp theo nhiều cách khác điều chỉnh / tham số hóa theo u cầu kịch mơ Do đó, việc lắp ráp kịch mô với INET khả thi đồng thời phức tạp tính đa dạng kích thước túy thư viện mơ hình Người dùng bắt đầu lắp ráp cấu hình kịch nhỏ mở rộng tái sử dụng chúng để xây dựng mô mạng quy mơ lớn cách soạn mơ hình có Phạm vi mơ-đun mơ có sẵn INET giới thiệucùng với bước khác để tạo kịch mơ tồn ngăn xếp hồn chỉnh CHƯƠNG : TÌM HIỂU VỀ HỆ MƠ PHỎNG ỨNG DỤNG UDPCLIENT/SEVER Tổng quan UDP: 3.1 UDP ? UDP viết tắt User Datagram Protocol – gói tương tự gói thơng tin Giao thức UDP làm việc tương tự TCP, bao gồm tổng quan thứ kiểm tra có lỗi Khi tận dụng UDP, gói gửi đến bên nhận Bên gửi không chờ đợi để đảm bảo bên nhận nhận gói tin – tiếp tục gửi gói Nếu bạn người nhận bạn bỏ lỡ số gói tin UDP q xấu – bạn khơng thể u cầu gói tin lần Khơng có để bảo đảm bạn nhận tổng quan gói khơng có cách để yêu cầu gói lần bạn bỏ lỡ nó, bù vào đó, 27 máy tính hồn tồn giao tiếp cách nhanh bình thường UDP tận dụng tốc độ nguyện ước sửa lỗi không cần thiết Ví dụ, UDP thường tận dụng cho chương trình phát sóng trực tiếp trị chơi trực tuyến 3.2.Các thuật ngữ UDP Trước kiểm tra xem giao thức UDP hoạt động làm sao, cần làm quen với số thuật ngữ Trong phần tiếp sau đây, định nghĩa số thuật ngữ có liên quan đến giao thức UDP 3.2.1.Packet Trong truyền liệu, packet dãy số nhị phân, biểu diễn liệu tín hiệu điều khiển tinh chỉnh, gói tin chuyển chuyển tới host Trong gói tin, thông tin xếp theo khuôn dạng cụ thể 3.2.2 Datagram Một datagram gói tin độc lập, tự chứa, mang từ A đến Z liệu để định tuyến từ nguồn tới đích mà khơng cần thông tin thêm 3.2.3 MTU MTU viết tắt Maximum Transmission Unit MTU đặc trưng tầng mối liên quan mô tả số byte thông số tối đa hồn tồn truyền gói tin Mặt khác, MTU gói liệu lớn mà mơi trường mạng cho trước truyền Ví dụ, Ethernet có MTU cố định 1500 byte Trong UDP, kích thước datagram lớn MTU, IP thực phân đoạn, chia datagram thành phần nhỏ (các đoạn), đoạn nhỏ có kích thước nhỏ MTU 28 3.2.4 Port UDP tận dụng cổng để ánh xạ thông số đến vào tiến trình cụ thể chạy máy tính UDP định đường cho packet vị trí định hướng với cách dùng số hiệu cổng định hướng header datagram Các cổng biểu số 16-bit, cổng nằm dải từ đến 65535 Các cổng xem điểm cuối kết nối logic, chia thành ba loại sau: Các cổng phổ biến: Từ đến 1023 Các cổng đăng ký: 1024 đến 49151 Các cổng động/dành riêng 49152 đến 65535 Chú ý cổng UDP nhận nhiều thơng điệp thời điểm Trong số tình huống, dịch vụ TCP UDP sử dụng số hiệu cổng, (Echo) cổng 23 (Telnet) 3.2.5.TTL (Time To Live) Chất lượng TTL cho phép setup hạn hẹp router mà datagram hồn tồn qua Giá trị TTL ngăn ngừa 29 gói tin khỏi bị kẹt vịng lặp định tuyến vơ hạn TTL khởi tạo phía gửi giá trị giảm router quản trị datagram Khi TTL 0, datagram bị loại bỏ 3.2.6 Multicasting Multicasting phương pháp dựa chuẩn có tính chất mở để phân phối thông tin giống đến nhiều người tận dụng Multicasting đặc trưng giao thức UDP Multicasting cho phép truyền tin theo kiểu nhiều, ví dụ gửi tin thư điện tử tới nhiều người nhận, đài phát Internet, chương trình demo trực tuyến 3.2.7 Hoạt động giao thức UDP Giao thức UDP hoạt động tương tự TCP, bỏ qua q trình kiểm tra lỗi Khi ứng dụng sử dụng giao thức UDP, gói tinđược gửi cho bên nhận bên gửi chờ để đảm bảo bên nhận nhận gói tin, lại tiếp tục gửi gói tin 3.3.Các ứng dụng UDP UDP giao thức lý tưởng cho ứng dụng mạng mà độ trễ yếu tố tối quan trọng giao tiếp game, âm video Nhờ mà loại giao tiếp chịu việc liệu miễn không ảnh hưởng đến chất lượng liệu nhận Trong số trường hợp, kỹ thuật chuyển tiếp lỗi sử dụng để cải thiện chất lượng âm video bất chấp mát liệu xảy UDP sử dụng ứng dụng đòi hỏi khả bảo tồn liệu lúc truyền tin Khi đó, UDP sử dụng cấu hình ứng dụng nhằm quản lý q trình truyền lại gói bị 30 xếp xác gói nhận Cách thức giúp cải thiện tốc độ truyền liệu file dung lượng lớn so với TCP Trong giao tiếp mơ hình OSI (Open Systems Interconnection – hệ thống kết nối mở), UDP giống TCP thuộc layer – lớp truyền tải UDP thường phối hợp với giao thức cấp cao để quản lý dịch vụ truyền liệu bao gồm Giao thức truyền tải tệp nhỏ (TFTP), Giao thức truyền tải theo thời gian thực (RTSP), giao thức mạng đơn giản (SNP) hệ thống tên miền (DNS) 3.4.Các tính giao thức gói liệu người dùng Giao thức user datagram có thuộc tính thích hợp để sử dụng cho ứng dụng có khả chịu việc liệu Giao thức cho phép gói tin loại bỏ nhận theo thứ tự khác biệt so với chúng truyền đi, nhờ giao thức phù hợp với ứng dụng theo thời gian thực có độ trễ mối quan tâm hàng đầu User datagram sử dụng cho giao thức giao dịch, ví dụ DNS Network Time Protocol Sử dụng giao thức số lượng lớn máy khách kết nối việc sửa lỗi thời gian thực khơng cần thiết, ví dụ với gaming, hội thoại, video truyền phát trực tuyến 3.5 UDP OMNeT++ 3.5.1 UDPApp Đây mô-đun hợp chất Mô-đun tạo lưu lượng truy cập cho ứng dụng UDP Nguồn lưu lượng truy cập mơ-đun chìm giao thơng xây dựng từ yếu tố mơ hình xếp hàng 31 3.5.2 UDPBasicApp Đây mơ-đun đơn giản Gửi gói UDP đến địa IP định khoảng thời gian định Tương thích với Ipv4 Ipv6 32 3.5.3 UdpEchoApp Đây mô-đun đơn giản.Nghe cổng UDP gửi lại gói nhận cho người gửi Lưu ý: sử dụng với UdpBasicApp,thống kê "tuổi thọ gói nhận được" UdpBasicAppsẽ ghi lại thời gian 3.5.4 UdpRequestResponseApp Đây mô-đun hợp chất.Mô-đun ứng dụng máy chủ dựa yêu cầu / phản hồi chung Đối với yêu cầu mà nhận được, tạo lưu lượng truy cập khác dựa liệu mà yêu cầu chứa 33 Ứng dụng khách hàng nguồn có khả tạo gói với liệu khác Byte liệu gói xác định lưu lượng phản hồi, cấu hình để tạo luồng gói phức tạp với phân phối liệu thời gian khác 3.5.5 UdpSink Đây mơ-đun đơn giản có chức iêu thụ in gói nhận từ mô-đun Udp 34 3.5.6 UdpSocketIo Đây kiểu mô-đun đơn giản.Mô-đun cung cấp xử lý ổ cắm UDP cho ứng dụng chung 3.5.7 UdpVideoStreamClient Đây mô-đun đơn giản máy khách phát trực tuyến video.Máy khách phát trực tuyến video 3.5.8 UdpVideoStreamServer Đây mô-đun đơn giản.Máy chủ luồng video Để sử dụng với UdpVideoStreamClient 35 CHƯƠNG : KẾT LUẬN VÀ KIẾN NGHỊ 4.1 Kết luận 4.1.1 Ưu điểm Tìm hiểu tổng quan OMNeT++ tìm hiểu hệ mơ ứng dụng UDPClient/Sever Cài đặt OMNeT++ máy Mô TicToc OMNeT++ mô mạng OMNeT++ sử dụng inet 4.1.2 Hạn chế -Chưa hiểu sâu giao thức UDP -Chưa chạy mô ứng dụng UDPClient/Sever 4.2 Kiến nghị -Tiếp tục cố gắng, tìm tịi, học hỏi thêm mạng OMNeT++ giao thức UDP mạng khác -Cải thiện kiến thức phát huy phần tích cực cố gắng tìm hiểu phần chưa làm 36