Mô phỏng mạng IP và làm chủ phần mềm NS 3

19 1.6K 6
Mô phỏng mạng IP và làm chủ phần mềm NS 3

Đ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

1 BỘ GIÁO DỤC ĐÀO TẠ O TẬP ĐOÀN BƯU CHÍNH VIỄN THÔNG VIỆT NAM HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG NGÔ THỊ LAN MÔ PHỎNG MẠNG IP LÀM CHỦ PHẦN MỀM NS-3 CHUYÊN NGÀNH : TRUYỀN DỮ LIỆU MẠNG MÁY TÍNH MÃ SỐ : 60.48.15 Người hướng dẫn khoa học: TS Đinh Văn Dũng TÓM TẮT LUẬN VĂN THẠC SĨ HÀ NỘI - 2011 2 MỞ ĐẦU I. Đặt vấn đề Thế giới của mạng viễn thông mạng máy tính đã trải qua kinh nghiệm trên 2 thập niên trước, một sự phát triển chưa từng có tiền lệ trong lĩnh vực cung cấp dịch vụ, âm lượng của quá trình truyền tin, các công nghệ được sử dụng. Các mạng viễn thông, mà trước đây tập trung vào sự truyền tải sử dụng công nghệ chuyển mạch, đã nhanh chóng phát triển theo hướng chuyển giao kỹ thuật số, dữ liệu, hình ảnh dùng các công nghệ chuyển mạch gói TCP/IP. Việc kết hợp các hệ thống làm tăng tính phức tạp trong xử lý là nguyên nhân dẫn đến sự ra đời của các phương pháp hình hóa các kỹ thuật phỏng trong khi quy hoạch, thiết kế mạng với công nghệ nền IP (Internet, NGN, 3G, MAN-E, ). Ngay nay, việc hình hóa phỏng là một trong hầu hết các kỹ thuật được sử dụng rộng rãi trong thiết kế các hệ thống phức tạp do nó linh hoạt hiệu quả. Đồng thời, sử dụng các phỏng làm cho việc học tập, nghiên cứu các hệ thống trong các nhà trường hiệu quả hơn trong khi cơ sở vật chất chưa đáp ứng được. II. Mục tiêu nghiên cứu của luận văn Xuất phát từ sự hiệu quả trong sử dụng, đồng thời cũng xuất phát từ yêu cầu của trường Đại học Công Nghiệp Việt – Hung: Khuyến khích giáo viên sử dụng các công cụ phỏng bài giảng, để học sinh quan sát trực quan cũng là để giải quyết vấn đề thiếu phương tiện dạy học. từ thực tế dạy học chuyên nghành “Quản trị mạng” tại trường. Đề tài “Mô phỏng mạng IP làm chủ phần mềm NS-3” với mong muốn sau khi hoàn thành sẽ giúp cho công tác giảng dạy được thuận lợi hơn để truyền đạt tối đa kiến thức đến cho sinh viên chuyên nghành “Quản trị mạng” nơi em công tác. Do đó, mục tiêu của đề tài cần đạt được là: - Tìm hiểu các phương pháp hình hóa mạng IP: phỏng sự kiện rời rạc, phỏng theo vết (trace driven) phương pháp phỏng Monte. - Làm chủ phần mềm mã nguồn mở ns-3, nắm vững các lớp, hình cách sử dụng của các lớp trong ns-3 - Thực hiện các minh họa phỏng sử dụng ns-3. III. Bố cục của luận văn Luận văn gồm 3 nội dung sau: Chương 1 : phỏng mạng IP Chương 2 : Kiến trúc hệ thống phần mềm NS-3 Chương 3 : Phát triển ứng dụng phần mềm phỏng NS-3 3 Chương 1 MÔ PHỎNG MẠNG IP 1.1. Các phương pháp hình hóa mạng IP 1.1.1. Phương pháp phỏng sự kiện rời rạc Một phỏng sử dụng hình trạng thái rời rạc của hệ thống được gọi là phương pháp phỏng sự kiện rời rạc. Phương pháp này ngược với các phương pháp phỏng sự kiện liên tục ở chỗ trong phỏng sự kiện liên tục trạng thái của hệ thống lấy các giá trị liên tục. Các hình trạng thái liên tục được sử dụng trong các phỏng hóa học do trạng thái của hệ thống được tả bởi sự tập trung của một chất hóa học. Trong các hệ thống máy tính, các hình sự kiện rời rạc được sử dụng bởi vì trạng thái của hệ thống được tả bởi số lượng công việc ở những thiết bị khác nhau. Lưu ý rằng thuật ngữ “rời rạc” không dùng để chỉ giá trị thời gian được sử dụng trong phỏng. Phương pháp phỏng sự kiện rời rạc có thể sử dụng các giá trị thời gian liên tục hay rởi rạc. Tất cả phương pháp phỏng sự kiện rời rạc đều có chung một cấu trúc. Bất kể hệ thống được hình là gì, thì phương pháp phỏng cũng sẽ có một số thành phần như sau: Nếu sử dụng ngôn ngữ lập trình đa dụng, thì các nhà phân tích phải tự phát triển tất cả các thành phần. Nguôn ngữ lập trình phỏng thì có thể cung cấp một vài thành phần, còn lại các nhà phân tích phải tự phát triển. 1.1.2. Phương pháp phỏng theo vết (trace driven) Mô phỏng sử dụng trace làm đầu vào là phương pháp phỏng trace-driven. Trace là một bản ghi các sự kiện được sắp xếp theo thời gian của một hệ thống thật. Các phương pháp phỏng trace-driven này khá thông dụng trong các phân tích hệ thống máy tính. Chúng thường được sử dụng để phân tích điều chỉnh các giải thuật quản lý tài nguyên. Giải thuật paging, phân tích bộ nhớ cache, các giải thuật lập lịch CPU, các giải thuật ngăn chặn nghẽn các giải thuật để phân chia động bộ nhớ là các ví dụ về các trường hợp đã áp dụng thành công phương pháp phỏng Trace-driven được để cập đến trong các tài liệu Trong những nghiên cứu đó, Trace của tài nguyên yêu cầu được dùng làm đầu vào để thực hiện phỏng để mô hình những giải thuật khác nhau. 1.1.3. Phương pháp phỏng Monte Phương pháp phỏng tĩnh hay một phương pháp phỏng nào đó không có trục thời gian thì được gọi là phương pháp phỏng Monte Carlo. Những phương pháp thường được dùng để hình những hiện tượng xác suất , những hiện tượng không thay đổi đặc tính theo thời gian. Giống như một phương pháp mô phỏng động, các phương pháp phỏng tĩnh cũng cần phải có một bộ tạo các số giả ngẫu nhiên. Phương pháp phỏng Monte Carlo cũng được sử dụng để tính toán các biểu thức không theo sắc xuất bằng cách sử dụng các phương pháp theo sắc xuất. 1.2. Đánh giá các phần mềm phỏng mạng IP 1.2.1. Các tiêu chí đánh giá một phần mềm phỏng mạng - Phương pháp phỏng được hỗ trợ: Các phương pháp phỏng phổ biến gồm có 3 phương pháp: phỏng sự kiện rời rạc, phỏng theo vết (trace driven) phỏng Monte. - Hỗ trợ chạy trên các nền tảng khác nhau: Sẽ hữu ích nếu có một chương trình phỏng chạy trên các nền tảng khác nhau, cụ thể là trên cả các hệ điều hành linux windows. Trong trường hợp phỏng có tải tính toán nặng, cần quan tâm tới các khả năng xử lí đa nhiệm, song song, hay phân tán - Hỗ trợ việc tạo các topo mạng: Các chương trình phỏng cần có khả năng tạo các topo mạng phân cấp, không phân cấp cũng như các topo mạng ngẫu nhiên. 4 - Hỗ trợ giám sát: Trong quá trình phỏng, sẽ rất có lợi nếu giám sát hoạt động của mạng trên mỗi luồng, mỗi nút mạng hay tổng quát hơn là trên một số các tiêu chí tổng hợp. Việc giám sát có thể được trợ giúp bởi giao diện đồ họa. Kết quả giám sát có thể ghi vào các file nhằm tạo ra các dữ liệu để so sánh về sau hay chạy lại phỏng phục vụ mục đích nghiên cứu các hoạt đã xảy ra. - Sự cân đối, khả năng mở rộng, khả năng điều chỉnh tính mềm dẻo/ linh hoạt: Các chương trình phỏng phải có một kiến trúc module mở trong đó, các hình hiện thời có thể được thay thế, chỉnh sửa, hay bổ sung các hình mới. - Tính khả dụng rộng rãi: Thiết kế phần mềm của một chương trình phỏng cũng như là các công cụ lập trình dùng trong chương trình phỏng đó có tác động lớn đến tính khả dụng của nó. Lợi ích của giao diện đồ họa có thể tăng tốc thao tác trên chương trình phỏng. chất lượng chung của các tài liệu sẵn có hỗ trợ về kĩ thuật cũng là các yếu tố quan trọng để có thể học cách sử dụng điều khiển chương trình phỏng đó một cách hiệu quả nhanh chóng. - Mức độ cộng đồng mạng chấp nhận một chương trình phỏng: Việc chọn lựa một chương trình phỏng được sử dụng rộng rãi được chấp nhận bởi cộng đồng mạng cho phép tạo ra các kết quả dễ so sánh với các kết quả được trình bày trong các tài liệu đã có, ở khía cạnh nào đó, các kết quả này cũng dễ được giới khoa học chấp nhận hơn. 1.2.2. Một số phần mềm phỏng mạng IP 1.2.2.1. OPNET 1.2.2.2. OMNeT++ 1.2.2.3. NS-2 1.2.2.4. JiST 1.2.2.5. SimPy 1.3. So sánh hiệu suất của các phần mềm phỏng 1.3.1. Phương pháp thực hiện Thực hiện trên một hình mạng bất kỳ chạy trên tất cả các phần mềm phỏng ns-2, OMNet++, ns-3, SimPy JiST/SWANS. Bởi vì, hiệu suất của quá trình phỏng mạng phụ thuộc chủ yếu vào mã của các hình mạng độ phức tạp tính toán của chúng. 1.3.2. Khả năng tương đương của các hình Thực hiện một phỏng trên 5 phần mềm phỏng khác nhau ở trên. Trong ví dụ này ta chạy phỏng một hình mạng trong tất cả các phần mềm phỏng, xác suất mất mát thông tin nằm trong khoảng giữa 0 1, cấu trúc liên kết mạng hình vuông giới hạn kích thước mạng từ 4 tới 1024 nút , thời gian mô phỏng được đặt là 600s. Kết quả đạt được cho thấy tỷ lệ mất mát thông tin của SimPy là hơi cao hơn mức trung bình, tuy nhiên vẫn nằm trong giới hạn chấp nhận được. Từ những kết quả này, ta có thể kết luận rằng việc triển khai độc lập các phỏng trong thực tế cho kết quả tương đương nhau. 1.3.3. So sánh hiệu suất Với thực tế khả năng phỏng của các phần mềm cho kết quả như nhau, bây giờ ta tiến hành so sánh từng công cụ phỏng riêng, đánh giá ở thông số: Thời gian chạy phỏng (simulation runtime) sử dụng bộ nhớ (memory usage). Để đánh giá khả năng của các phần mềm phỏng, chúng ta sẽ thực hiện 2 lượt chạy khác nhau sử dụng một phỏng. Trong lượt chạy đầu tiên, xác suất mất thông tin được đặt cố định là 0.10 với kích thước mạng trong khoảng từ 4 tới 3025 nút. 5 Hình 1.3. Thời gian chạy phỏng thời gian so với kích thước mạng Lượt thứ 2 sử dụng kích thức mạng cố định là 3025 nút, xác suất mất thông tin nằm trong khoảng 0.0 và 1.0. Tất cả các kết quả đưa ra sau đây là trung bình của 5 lần thực hiện đối với mỗi loạt phỏng. Trong cả 2 loạt phỏng, thời gian phỏng được đặt là 600s. 1.3.3.1. Thời gian chạy phỏng Hình 1.3 cho thấy thời gian chạy phỏng được đo ở các kích thước mạng khác nhau đối với các công cụ phỏng được so sánh. Trước hết, những kết quả này cho thấy rằng SimPy không hoạt động tốt vì thế không thể áp dụng phỏng mạng có quy lớn: Đối với một mạng có kích thước 3025 nút, trung bình nó cần tới 1225 giây để hoàn thành việc chạy phỏng. Trái ngược với điều đó, cùng một công việc đó JiST hoàn thành nhanh hơn khoảng 14 lần, kết quả thời gian thực hiện trung bình là 86s. Nhìn qua thì hiệu suất thời gian chạy tổng thể của JiST là đáng kinh ngạc. Thực tế cho thấy là nó được xây dựng dựa trên Java vẫn còn nhanh hơn so với OMNeT++ ns- 3, là những công cụ được thực hiện một cách tự nhiên. Điều đó là do giới hạn thành công là từ kiến trúc của JiST: Bên cạnh việc thực hiện song song trên các thực thể khác nhau, JiST thực hiện tối ưu hóa thời gian chạy dựa trên sự phân tích của mã byte thực hiện. Theo hiệu suất thời gian chạy của Ns-3, sự cải tiến về kiến trúc, cụ thể là việc bỏ oTCL/C++, được phản ánh rõ ràng trong kết quả đã thu được ở trên, ns-3 được coi là nhanh hơn so với phiên bản trước (ns-2) của nó. Trong khi hiệu suất thời gian chạy của OMNeT++ hơi kém hơn so với ns-3 JiST, cả 3 công cụ phỏng này thể hiện rằng hầu như có cùng một khả năng mở rộng theo thời gian chạy phỏng. Hình 1.4. Thời gian chạy phỏng so với việc giảm xác suất 6 Để hiểu sâu hơn về các cách thức trong thời gian chạy của các công cụ phỏng khác nhau ta có thể được quan sát từ các kết quả trong hình 1.4. Ở đây, có thể hình dung thời gian chạy trung bình từ loạt phỏng thứ 2 đối với một mạng có kích thước cố định là 3025 nút các xác suất mất mát thông tin khác nhau. Với việc tăng các xác suất mất mát thông tin, thời gian chạy phỏng tự nhiên giảm một cách nhanh chóng đối với toàn bộ các công cụ phỏng, càng ngày càng nhiều gói tin bị loại bỏ từ phỏng, do đó dẫn đến kết quả là ít sự kiện được xử lý hơn. Nói cách khác, xác suất mất mát thông tin trực tiếp phản ánh số các sự kiện được thực hiện trong các phỏng. Ta có thể thấy rằng thời gian chạy phỏng SimPy tăng nhanh hơn nhiều ở xác xuất mất thông tin thấp hơn bất kỳ một công cụ phỏng nào khác. Từ các kết quả đó, ta có thể kết luận rằng thực tế SimPy có một ít sự kiện xử lý hơn các lõi phỏng khác. 1.3.3.2. Sử dụng bộ nhớ Tương tự như phân tích ở trên về thời gian chạy phỏng. Hình 1.5 tả việc sử dụng bộ nhớ tối đa của từng công cụ phỏng riêng biệt trong hai loạt chạy phỏng. Hình 1.5. Bộ nhớ sử dụng so với kích thước mạng Từ kết quả trên cho thấy, JiST sử dụng tài nguyên bộ nhớ nhiều hơn so với các công cụ phỏng khác. Ngoài ra, sự khác biệt trong sử dụng bộ nhớ giữa JiST các công cụ khác tăng lên khi kích thước mạng lớn hơn. Hiệu suất sử dụng bộ nhớ của ns-2, OMNeT++ SimPY chia thành các đường tuyến tính tương tự nhau thể hiện tốc độ tăng dần của việc sử dụng bộ nhớ khi kích thước mạng tăng ns-3 là công cụ mô phỏng hiệu quả nhất trong vấn đề này. 7 Chương 2 KIẾN TRÚC HỆ THỐNG PHẦN MỀM NS-3 2.1 Cấu trúc phần mềm NS-3 Ns-3 là một phần mềm phỏng mạng các sự kiện rời rạc mà trong đó lõi các hình phỏng được thực hiện trong C++. Ns-3 xây dựng một thư viện có thể là tĩnh hoặc động liên kết với một chương trình chính của C++, định nghĩa các cấu trúc phỏng bắt đầu phỏng. Ns-3 cũng đưa ra hầu như tất cả các API của nó cho Python, cho phép các chương trình Python sử dụng một module Ns-3 tương tự như được sử dụng trong C++. 2.2 Lịch trình thời gian thực (RealTime Scheduler) Mục đích của lịch trình thời gian thực là đồng bộ giữa thời gian phỏng với thời gian thực bên ngoài. Nếu không có sự hiện diện các một thời gian thực bên ngoài (biên của đồng hồ) thời gian của các phỏng tiếp theo sẽ được nhảy ngay lập tức sau khi kết thúc một phỏng trước đó. 2.3 phỏng rời rạc với MPI Mô phỏng sự kiện rời rạc song song cho phép thực hiện một chương trình phỏng trên nhiều bộ xử lý. Bằng cách chia các phỏng thành các xử lý thích hợp, các LP, mỗi LP có thể được thực hiện bởi một bộ xử lý khác nhau. Phương pháp phỏng này cho phép phỏng các phỏng trong phạm vi rất lớn bằng cách thúc đẩy làm tăng năng lực xử lý sự sẵn có của bộ nhớ. Để đảm bảo chắc chắn việc thực hiện phỏng rời rạc là đúng, bắt buộc phải có một thông điệp truyền qua giữa các LP. Để hỗ trợ cho các mô phỏng rời rạc trong ns-3, một giao diện chuyển thông điệp chuẩn (Message Passing Interface (MPI)) được sử dụng, cùng với một lớp phỏng rời rạc mới. Hiện tại, việc phân chia một phỏng cho các mục đích rời rạc trong ns-3 chỉ có thể tập trung ở các liên kết điểm nối điểm (Point-to-Point) 2.4 Node NetDevices Node là một thành phần của lớp Node. Một lớp Node bao gồm các NetDevice những bộ phận cấu trúc bên trong là các phương thức các ứng dụng. Đối tượng Node chứa một danh sách các ứng dụng (Application) (ban đầu là danh sách rỗng), một danh sách các NetDevice (ban đầu là danh sách rỗng), một danh sách các ProtocolHandlers, một số nguyên ID duy nhất một ID của hệ thống (đối với phỏng rời rạc). 2.5 Wifi NetDevice WifiNetDevice hình hóa một điều khiển giao tiếp của mạng không dây dựa trên chuẩn IEEE802.11. Tập hợp các hình của 802.11 trong ns-3 cung cấp một thực thi chính xác mức MAC của các chi tiết kỹ thuật 802.11 cung cấp một hình mức PHY của các chi tiết kỹ thuật 802.11a. Mã nguồn của NetDevice Wifi có trong thư mục src/devices/wifi. 2.6 Wimax NetDevice Khi thêm các đối tượng WimaxNetDevice vào các nút của Ns-3, người ta có thể tạo ra các hình mạng dựa trên chuẩn 802.16. Các tính năng quan trọng nhất của hình Wimax trong ns-3 gồm: - Khả năng mở rộng, lớp vật lý thực tế hình kênh. - Phân loại gói tin cho các lớp con hội tụ IP - Hiệu quả trong các kế hoạch liên kết trên liên kết dưới. - Hỗ trợ dịch vụ truyền đa điểm quảng bá (Multicast Broadcast Service (MBS)) chức năng truy tìm gói tin. 8 Mã nguồn của các hình WiMAX được đặt trong thư mục src/devices/wimax 2.7 Các API Socket API của socket đã tồn tại từ lâu được sử dụng bởi các ứng dụng người dùng để truy cập các dịch vụ mạng trong nhân mạng. “Socket” là một khái niệm trừu tượng, giống như một kênh điều khiển tập tin của Unix, cho phép các ứng dụng kết nối với các máy tính khác trên Internet trao đổi dòng dữ liệu tin cậy các gói dữ liệu không tin cậy, giữa các dịch vụ với nhau. Ns-3 cung cấp 2 loại API Socket, điều đó là rất quan trọng để hiểu được sự khác biệt giữa chúng. Loại đầu tiên là một API ns-3 tự nhiên trong khi loại thứ 2 sử dụng các dịch vụ của API tự nhiên để cung cấp một API giống như POSIX như là một phần của quá trình xử lý ứng dụng tổng thể. Cả 2 loại này đều cố gắng sao cho gần với các API cơ bản để người viết ứng dụng trên hệ thống Unix quen với nó, nhưng các biến thể POSIX là rất gần với các API Socket của hệ thống thực. 2.8 Tổng quan về định tuyến Ns-3 được thiết kế nhằm mục đích hỗ trợ các phương pháp định tuyến các giao thức truyền thống, các cổng hỗ trợ thực thi các định tuyến trên mã nguồn mở tạo điều kiện để nghiên cứu các kỹ thuật định tuyến không chính thống. Một số vấn đề về định tuyến trong ns-3: Kiến trúc định tuyến, cấu hình các định tuyến toàn cục đối với cấu trúc mạng có dây, các giao thức định tuyến đơn, định tuyến đa luồng. 2.9 Tạo một hình Ns-3 mới 2.9.1 Phương pháp thiết kế Hãy xem xét việc hình muốn tạo làm việc như thế nào; nó nên làm những gì. Hãy suy nghĩ về những điều này: + Chức năng: Nó cần có những chức năng gì ? Những thuộc tính hay những cấu hình nào được người dùng nhìn thấy ? + Sử dụng lại: bao nhiêu người có khả năng sử dụng lại thiết kế của tôi? Tôi có thể sử dụng lại mã từ ns-2 để bắt đầu? Làm thế nào để người sử dụng tích hợp hình với phần còn lại của phỏng khác? + Phụ thuộc: Làm thế nào tôi có thể làm giảm bớt sự phụ thuộc vào bên ngoài ở trong đoạn mã mới của tôi càng nhiều càng tốt (để làm cho nó module hóa hơn không)? Ví dụ, tôi muốn sử dụng Ipv6 mà không phụ thuộc vào IPv4? Tôi có nên tránh bất kỳ sự phụ thuộc vào IP ở tất cả các phiên bản? 2.9.2 Xây dựng khung cho các hàm cần tạo Khi đã sẵn sàng để bắt đầu thực hiện đã xác định những gì muốn xây dựng. Một cách để giải quyết là tạo ra khung cho các hàm cần tạo (scaffolding) điền các chi tiết như là đã hoàn thành quá trình thiết kế. Phần này tả qua rất nhiều bước nên cần cân nhắc để định nghĩa scaffolding hoặc khung sườn không chứa nội dung nào của những hình gì sẽ được thực thi. Nó thường được thực hành tốt để không phải đợi để có được những chi tiết này kết hợp với người dùng cuối, nhưng thay vì đưa ngay khung trong hình vào hệ thống sau đó thêm một số chức năng mới sau khi API quá trình tích hợp dường như thích hợp 2.9.3 Tạo một hình Ns-3 mới 2.9.3.1 Bổ sung thêm các hỗ trợ cơ bản vào lớp point-to-point-net-device.h class ErrorModel; /** * hình lỗi đối với các sự kiện nhận gói tin Ptr<ErrorModel> m_receiveErrorModel; 9 2.9.3.2 Bổ sung bộ xử lý truy cập void PointToPointNetDevice::SetReceiveErrorModel (Ptr<ErrorModel> em) NS_LOG_FUNCTION (this << em); m_receiveErrorModel = em; .AddAttribute ("ReceiveErrorModel", "Mô hình lỗi nhận được sử dụng để phỏng mất gói tin", PointerValue (), MakePointerAccessor (&PointToPointNetDevice::m_receiveErrorModel), MakePointerChecker<ErrorModel> ()) 2.9.3.3 2.9.3.3 Xâm nhập vào hệ thống void PointToPointNetDevice::Receive (Ptr<Packet> packet) NS_LOG_FUNCTION (this << packet); uint16_t protocol = 0; if (m_receiveErrorModel && m_receiveErrorModel->IsCorrupt (packet) ) / / Nếu chúng ta có một hình thông báo lỗi nó chỉ ra thời điểm mất một gói dữ liệu bị hỏng, không chuyển tiếp gói tin này, hãy để cho nó đi. m_dropTrace (packet); else / / Tìm được dấu vết nhận tiếp theo thì gỡ bỏ tiêu đề của giao thức điểm nối điểm chuyển tiếp gói tin này lên ngăn xếp giao thức. m_rxTrace (packet); ProcessHeader(packet, protocol); m_rxCallback (this, packet, protocol, GetRemote ()); if (!m_promiscCallback.IsNull ()) m_promiscCallback (this, packet, protocol, GetRemote (), GetAddress (), NetDevice::PACKET_HOST); 2.9.3.4 Tạo một đoạn mã không có chức năng simple-error-model.cc / / hình thông báo lỗi // Chúng tôi muốn bổ sung thêm một hình lỗi vào NetDevice của Node 3. // Chúng tôi có thể có được một xử lý tới NetDevice thông quá kênh node // Các con trỏ Ptr<PointToPointNetDevice> nd3 = PointToPointTopology::GetNetDevice (n3, channel2); Ptr<ErrorModel> em = Create<ErrorModel> (); nd3->SetReceiveErrorModel (em); bool ErrorModel::DoCorrupt (Packet& p) NS_LOG_FUNCTION; NS_LOG_UNCOND("Corrupt!"); return false; 10 Chương 3 PHÁT TRIỂN ỨNG DỤNG PHẦN MỀM 3.1 Thực hiện gói tin IPv6 trong NS-3 Ns-3 ra đời nhằm đáp ứng sự phát triển mạnh mẽ của các công nghệ mạng, sự xuất hiện của công nghệ không dây, trong đó bao gồm hỗ trợ tính di động multihoming. Hiện nay, NS-3 đáp ứng được các yêu cầu của một công cụ phỏng cơ bản. Tuy nhiên NS-3 chỉ tập trung vào IPv4, trong khi IPv6 đang được triển khai trên mạng Internet chắc chắn sẽ là giao thức được sử dụng trên Internet trong năm mươi năm tới, vì thế bất kỳ một công cụ phỏng mạng nào cũng nên hỗ trợ cho IPv6. Hầu hết các phát triển trong tương lai của các giao thức cho Internet sẽ hỗ trợ IPv6 3.1.1 Đặc điểm của IPv6 Hiện nay, giao thức được sử dụng là giao thức mạng phiên bản 4 (IPv4). Giao thức này đã được đưa vào sử dụng rất hiệu quả. Tuy nhiên, sự phát triển ngày càng tăng của mạng Internet gây ra sự thiếu hụt về địa chỉ vấn đề bảo trì các tuyến đường. Vấn đề thiếu hụt địa chỉ được khắc phục một phần bằng cách giới thiệu rộng rãi về công nghệ NAT (Network Address Translators), cho phép kết hợp một địa chỉ IP toàn cục duy nhất cho nhiều máy trong cùng một mạng riêng. Mặc dù vậy, việc sử dụng NAT gây rắc rối trong quá trình truyền thông giữa các máy cũng có thể ảnh hưởng đến hiệu suất của mạng. Để giải quyết vấn đề này và để nâng cao dịch vụ được cung cấp bởi IP thì phải chấp nhận một phiên bản IP mới, là IP phiên bản 6 (IPv6). IPv6 đã được đưa ra để giải quyết phần lớn các vấn đề đúc kết được trên 30 năm qua trên mạng Internet. Đầu tiên, nó mở rộng không gian địa chỉ từ 232 tới 2128. Một địa chỉ IPv6 được cấu tạo gồm 128 bit: 64 bit đầu tiên thường được dùng để định danh một mạng (phần đầu của mạng), trong khi đó 64 bit sau dùng để định vị các máy trong mạng này. Mỗi địa chỉ IPv6 đều có thể hiện phạm vi của chúng: liên kết cục bộ, trang cục bộ hay toàn cục. Phạm vi có hiệu lực của các địa chỉ liên kết cục bộ bị giới hạn bởi chính tên của liên kết đó, ví dụ như các địa chỉ loại này chỉ được dùng để truyền thông trực tiếp giữa các máy gần nhau. Một địa chỉ liên kết cục bộ được cấu hình tự động trên mỗi giao diện mạng bằng cách kết hợp tiền tố FE80::/64 với IEEE802 E-64 của giao diện đó. Đối với một trang không kết nối được tới mạng Internet hoặc vẫn là một mạng riêng thì nó có phạm vi cục bộ. Những địa chỉ này tương đương với các địa chỉ IPv4 riêng (ví dụ 192.168.0.0). Tuy nhiên, những địa chỉ như thế này không được chấp nhận trong suốt quá trình định tuyến các vấn đề phân định ranh giới của một trang. Chúng được thay thế bởi địa chỉ cục bộ duy nhất. Cuối cùng, các địa chỉ IPv6 toàn cục có thể được định tuyến trên toàn bộ mạng IPv6 do đó được sử dụng để truyền tải thông tin giữa hai máy IPv6 từ xa bất kỳ. 3.1.1.1 Phát hiện các nút mạng lân cận IPv6 có một giao thức mới là giao thức phát hiện các nút mạng lân cận (Neighbor Discovery), thực hiện một vài chức năng như khám phá các tuyến đường, phân giải địa chỉ (ánh xạ các địa chỉ IP với các địa chỉ lớp liên kết), tự động cấu hình địa chỉ, tìm các nút mạng lân cận, quyết định bước nhảy tiếp theo chuyển hướng máy. Tất cả các thông điệp IPv6 (ICMPv6) được giao thức phát hiện các nút mạng lân cận truyền đi đều được thực hiện bởi Giao thức điều khiển thông báo trên mạng (Internet Control Message Protocol). Giao thức phát hiện nút mạng lân cận cung cấp một thủ tục cấu hình địa chỉ mới đó là cơ chế tự động cấu hình địa chỉ. Một máy tính có thể tự động cấu hình địa chỉ IPv6 có giá trị toàn cục khi nhận được một thông điệp thông báo của bộ định tuyến (Router Advertisement) rằng bộ định tuyến truy cập cục bộ định kỳ [...]... pháp hình hóa một số phương pháp phỏng được sử dụng hiện nay - Giới thiệu một số phần mềm phỏng mạng hiện đang được sử dụng - So sánh hiệu suất của một số phần mềm phỏng hiện nay: OPNET, OMNET++, JiST, SimPy NS- 2 về phương pháp thực hiện phỏng, hiệu suất thực hiện, thời gian chạy phỏng nhu cầu sử dụng bộ nhớ khi thực hiện phỏng - Tổng quan về cấu trúc của phần mềm phỏng. .. phỏng NS- 3 Trình bày các chức năng, cấu trúc của các lớp trong ns- 3 - Ứng dụng phần mềm phỏng NS- 3 vào thực hiện một số phỏng 19 KIẾN NGHỊ HƯỚNG NGHIÊN CỨU TIẾP I Kiến nghị Với mong muốn sau khi nghiên cứu, thực hiện đề tài này sẽ góp phần hỗ trợ việc học các môn học về mạng máy tính truyền thông tại trường Đại học Công Nghiệp Việt Hung Tác giả kiến nghị với ban giám hiệu nhà trường các... được hình như một thiết bị làm nhiễu làm giảm trong công nghệ lõi của ns- 3 Trong phần này, chúng ta sẽ thực hiện một kịch bản kết hợp với cả 2 loại thách thức Trong kịch bản này, một nút làm nhiễu làm giảm di chuyển như thể hiện trong hình 3. 15 Người gửi ở tọa độ (30 0,0) người nhận ở vị trí tọa độ (0,0), nút làm nhiễu ở tọa độ (-100,0) Trong khi phỏng nút làm giảm chạy ngang qua mạng. .. phỏng bước đầu tiên là cung cấp chi tiết thông tin thách thức bao gồm loại thách thức chi tiết cụ thể của loại thách thức đó Bước thứ 2 là cung cấp một tả về cấu trúc liên kết mạng, bao gồm vị trí địa lý của nút hoặc tọa độ logic một ma trận kề Bước thứ 3 là tự động sinh mã phỏng của ns- 3 dựa trên cấu trúc liên kết mạng các tả thách thức Cuối cùng, tiến hành chạy các phỏng và. .. 15 phỏng minh họa rằng đường tròn đạt đến NY trong 7 giây ( để hạn chế thời gian phỏng) với tuyến đường ước lượng lại mỗi 3 giây (3. 10.1) Sprint suy ra từ cấu trúc liên kết (3. 10.2) Cấu trúc (3. 10 .3) cấu trúc liên kết giả 1 liên kết giả 2 Hình 3. 10: Ví dụ về các cấu trúc liên kết để ước tính các nút các liên kết lỗi [11] Hình 3. 11:PDR trong suốt các liên kết có hại không có hại Hình 3. 12:PDR... trong quy lớn, các thách thức của môi trường Nguyên tắc phân loại thách thức mạng được dùng cho các công nghệ nền tảng phỏng thể hiện trong hình 3. 7 Hình 3. 7: Nguyên tắc phân loại các thách thức mạng Nguyên tắc này cần thiết để phân biệt những thách thức được đã đưa ra hiểu hơn về tác động của chúng Các thách thức được chia thành 3 loại: Mục đích, phạm vi miền hoạt động 3. 2.1 Các hình... (từ đây gọi là IP1 IP2 ), tương ứng với mỗi tiền tố Như vậy, nút mạng này có thể hoặc là giao tiếp chỉ với IP1 hoặc IP2 hoặc là cả IP1 IP2 3. 1.1 .3 Phương thức truyền đa điểm Phương thức truyền đa điểm IP là cơ chế chuyển các gói tin IP tới nhiều điểm đến cùng một lúc bằng cách thực hiện gửi mỗi gói tin một lần khi gặp một điểm đến bị chia tách thì tạo một bản sao khác Khác với IPv4, phương thức... hành chạy các phỏng phân tích hiệu suất mạng theo các kịch bản thách thức 3. 4 Các ví dụ phỏng Trong phần này, áp dụng nền tảng phỏng của các thách thức phương pháp đánh giá các cấu trúc liên kết mẫu để chứng minh sự hữu ích của phương pháp này Các tham số phỏng ns- 3 cho như sau: mạng bao gồm các liên kết hai chiều có dây với băng thông 10Mb/s thời gian truyền trễ là 2ms Việc định tuyến... quả các vấn đề sau: - Vận dụng các phần mềm phỏng vào dạy học chuyên ngành “Quản trị mạng tại trường để nâng cao chất lượng dạy học - Lập kế hoạch tập huấn, bồi dưỡng, tạo điều kiện cho đội ngũ giáo viên tiếp cận đưa vào nghiên cứu sử dụng các phần mềm mã nguồn mở - Khuyến khích giáo viên sử dụng các công cụ phỏng bài giảng, để học sinh quan sát trực quan cũng là để giải quyết vấn đề thiếu... Trong một khu vực khi việc suy giảm ảnh hưởng tới nút làm nhiễu, PDR đạt được giữa người gửi người nhận là 100% Khi suy giảm ảnh hưởng tới người gửi người nhận, PDR giảm xuống 0% 18 KẾT LUẬN phỏng mạng là lĩnh vực hiện nay đang ngày càng được sử dụng rộng rãi trong thiết kế mạng máy tính mạng viễn thông Các phần mềm mã nguồn mở, các phần mềm thương mại lần lượt xuất hiện mang đến cho người . phần mềm NS- 3 Chương 3 : Phát triển và ứng dụng phần mềm mô phỏng NS- 3 3 Chương 1 MÔ PHỎNG MẠNG IP 1.1. Các phương pháp mô hình hóa mạng IP 1.1.1 cụ mô phỏng hiệu quả nhất trong vấn đề này. 7 Chương 2 KIẾN TRÚC HỆ THỐNG PHẦN MỀM NS- 3 2.1 Cấu trúc phần mềm NS- 3 Ns- 3 là một phần mềm mô phỏng

Ngày đăng: 13/02/2014, 12:55

Hình ảnh liên quan

Hình 1.3. Thời gian chạy mô phỏng thời gian so với kích thước mạng - Mô phỏng mạng IP và làm chủ phần mềm NS 3

Hình 1.3..

Thời gian chạy mô phỏng thời gian so với kích thước mạng Xem tại trang 5 của tài liệu.
Hình 1.3 cho thấy thời gian chạy mô phỏng được đo ở các kích thước mạng khác nhau đối với các công cụ mô phỏng được so sánh - Mô phỏng mạng IP và làm chủ phần mềm NS 3

Hình 1.3.

cho thấy thời gian chạy mô phỏng được đo ở các kích thước mạng khác nhau đối với các công cụ mô phỏng được so sánh Xem tại trang 5 của tài liệu.
Tương tự như phân tích ở trên về thời gian chạy mô phỏng. Hình 1.5 mô tả việc sử dụng bộ nhớ tối đa của từng công cụ mô phỏng riêng biệt trong hai loạt chạy mô phỏng - Mô phỏng mạng IP và làm chủ phần mềm NS 3

ng.

tự như phân tích ở trên về thời gian chạy mô phỏng. Hình 1.5 mô tả việc sử dụng bộ nhớ tối đa của từng công cụ mô phỏng riêng biệt trong hai loạt chạy mô phỏng Xem tại trang 6 của tài liệu.
Hình 3.7: Nguyên tắc phân loại cácthách thức mạng - Mô phỏng mạng IP và làm chủ phần mềm NS 3

Hình 3.7.

Nguyên tắc phân loại cácthách thức mạng Xem tại trang 12 của tài liệu.
Trong khi các mô hình thách thức được nhắc đến ở trên là trực giao với nhau thì các kịch bản thách thức là sự kết hợp của các thách thức loại nhỏ - Mô phỏng mạng IP và làm chủ phần mềm NS 3

rong.

khi các mô hình thách thức được nhắc đến ở trên là trực giao với nhau thì các kịch bản thách thức là sự kết hợp của các thách thức loại nhỏ Xem tại trang 13 của tài liệu.
Hình 3.10: Ví dụ về các cấu trúc liên kết để ước tính các nút và các liên kết lỗi [11] - Mô phỏng mạng IP và làm chủ phần mềm NS 3

Hình 3.10.

Ví dụ về các cấu trúc liên kết để ước tính các nút và các liên kết lỗi [11] Xem tại trang 15 của tài liệu.
Hình 3.11:PDR trong suốt các liên kết có hại và không có hại - Mô phỏng mạng IP và làm chủ phần mềm NS 3

Hình 3.11.

PDR trong suốt các liên kết có hại và không có hại Xem tại trang 15 của tài liệu.
Hình 3.14. PDR trong suốt cácthách thức dựa trên vùng. - Mô phỏng mạng IP và làm chủ phần mềm NS 3

Hình 3.14..

PDR trong suốt cácthách thức dựa trên vùng Xem tại trang 16 của tài liệu.
Các đa giác rất hữu ích cho việc mơ hình cụ thể cácthách thứch địa lý như các thất bại về năng lực mạng - Mô phỏng mạng IP và làm chủ phần mềm NS 3

c.

đa giác rất hữu ích cho việc mơ hình cụ thể cácthách thứch địa lý như các thất bại về năng lực mạng Xem tại trang 16 của tài liệu.
Hình 3.15: Sự phối hợp giữa các thiết bị gây nhiễu và làm suy yếu thông tin [11] - Mô phỏng mạng IP và làm chủ phần mềm NS 3

Hình 3.15.

Sự phối hợp giữa các thiết bị gây nhiễu và làm suy yếu thông tin [11] Xem tại trang 17 của tài liệu.
Những thách thức không dây được mơ hình như một thiết bị làm nhiễu và làm giảm trong công nghệ lõi của ns-3 - Mô phỏng mạng IP và làm chủ phần mềm NS 3

h.

ững thách thức không dây được mơ hình như một thiết bị làm nhiễu và làm giảm trong công nghệ lõi của ns-3 Xem tại trang 17 của tài liệu.

Từ khóa liên quan

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

Tài liệu liên quan