1. Trang chủ
  2. » Giáo Dục - Đào Tạo

mạng thông tin đề tài mạng định nghĩa bằng phần mềm sdn

12 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Tiêu đề Mạng Định Nghĩa Bằng Phần Mềm - SDN
Tác giả Ngô Tiến Dũng
Người hướng dẫn PTS. Nguyễn Tiến Dũng
Trường học Trường Đại Học Bách Khoa Hà Nội
Chuyên ngành Viện Điện Tử - Viễn Thông
Thể loại Báo Cáo Cá Nhân
Năm xuất bản 2021
Thành phố Hà Nội
Định dạng
Số trang 12
Dung lượng 537,97 KB

Nội dung

- Sử dụng thuật toán Spanning Tree STP để tránh sự xuất hiện của vòng lặp xảy ra trong hệ thống, các luồng traffic sẽ được đi đến nơi mong muốn như đã được cấu hình từ trước... 1.2 Thiế

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN ĐIỆN TỬ - VIỄN THÔNG

- -BÁO CÁO CÁ NHÂN

MẠNG THÔNG TIN

Đề tài: Mạng định nghĩa bằng phần mềm - SDN

Giảng viên hướng dẫn: Thầy Nguyễn Tiến Dũng

Nhóm sinh viên thực hiện: Nhóm 7

Trang 2

Hà Nội, 12-2021

MỤC LỤC

DANH MỤC HÌNH VẼ 1

CHƯƠNG 1 CÀI ĐẶT MÔI TRƯỜNG VÀ CẤU HÌNH MẠNG SDN 2

1.1 Mô hình mạng 2

1.2 Thiết lập mạng 2

1.3 Cấu hình cấu trúc mạng SDN sử dụng giao thức Spanning Tree Protocol 4

1.4 Tìm hiểu mã nguồn 5

1.4.1 simple_switch_13.py 5

1.4.2 simple_switch_stp_13.py 7

KẾT LUẬN 8

TÀI LIỆU THAM KHẢO 9

Trang 3

DANH MỤC HÌNH VẼ

Hình 1 Mô hình mạng SDN 2

Hình 2 Tạo một mạng Mininet topology sử dụng Python 3

Hình 3 Thiết lập mạng SDN trên terminal 3

Hình 4 Kết quả của lệnh pingall trước khi thêm Flow 4

Hình 5 Minh họa một vòng lặp trong mạng SDN 4

Hình 6 Kết quả lệnh pingall sau khi thêm Flow 5

Hình 7 Lệnh khởi tạo RyuApp 6

Hình 8 Hàm add_flow 6

Hình 9 Hàm switch_features_handler 6

Hình 10 Hàm _packet_in_handler 7

Hình 11 Hàm delete_flow 7

Hình 12 Hàm _topology_change_handler 7

Hình 13 Hàm _port_state_change_handler 8

Trang 4

CHƯƠNG 1 CÀI ĐẶT MÔI TRƯỜNG VÀ CẤU HÌNH MẠNG

SDN

1.1 Mô hình mạng

Mạng SDN bao gồm 1 bộ điều khiển ,3 switch và 2 host

Hình 1 Mô hình mạng SDN

- Để các Host có thể kết nối được với nhau chúng ta cần AddFlow vào các Flow Table Khi đó giao thức OpenFlow sẽ cho phép truy cập trực tiếp và điều khiển các thiết bị mạng trong hệ thống, các quyết định về các luồng traffic sẽ được quyết định tập trung tại OpenFlow Controller

- Sử dụng Ryu Controller để cấu hình cho hệ thống

- Sử dụng thuật toán Spanning Tree (STP) để tránh sự xuất hiện của vòng lặp

xảy ra trong hệ thống, các luồng traffic sẽ được đi đến nơi mong muốn như đã được cấu hình từ trước

Trang 5

1.2 Thiết lập mạng

Sử dụng VM Virtual Box để làm máy ảo chạy nền tảng Hệ điều hành Ubuntu

- Cài đặt OpenvSwitch: $ sudo apt install openvswitch-switch

- Cài đặt mininet: $ sudo apt install mininet

- Cài đặt Ryu Controller: $ pip3 install ryu

Tạo ra một mạng Topo mininet bao gồm 3 switch (S1,S2,S3) và 2 host

(h1,h2) Trong đó các switch S1,S2,S3 được liên kết với nhau tạo thành vòng lặp Các

host h1 liên kết với với S1; h2 liên kết với S2 Sử dụng ngôn ngữ lập trình python

Hình 2 Tạo một mạng Mininet topology sử dụng Python

- $ sudo mn custom topo-3s-2h.py topo mytopo controller remote để

tạo mạng SDN

Trang 6

Hình 3 Thiết lập mạng SDN trên terminal

- Sử dụng lệnh pingall để kiểm tra trạng thái của các liên kết

Hình 4 Kết quả của lệnh pingall trước khi thêm Flow

Do ban đầu mạng có FlowTable trống, nên kết quả 100% dropped, chưa có

kết nối giữa các host với nhau

1.3 Cấu hình cấu trúc mạng SDN sử dụng giao thức Spanning Tree Protocol

Trong phần này, chúng ta sẽ cấu hình cấu trúc mạng bằng Ryu Controller.

Spanning Tree Protocol (STP) là một giao thức mạng được thiết kế để ngăn

chặn các vòng lặp tại layer 2, cho phép các bridge truyền thông với nhau để phát hiện vòng lặp vật lý trong mạng Vòng lặp xảy ra trong mạng với nhiều nguyên nhân Hầu hết các nguyên nhân thông thường là kết quả của việc cố gắng tính toán để cung cấp khả năng dự phòng, ví dụ một link hoặc switch bị hỏng, các link hoặc switch khác vẫn tiếp tục hoạt động

Trang 7

Hình 5 Minh họa một vòng lặp trong mạng SDN

STP chặn một số cổng trên các thiết bị chuyển mạch có liên kết dự phòng để ngăn chặn các cơn bão Broadcast và đảm bảo cấu trúc liên kết không có vòng lặp

Source file:

https://github.com/faucetsdn/ryu/blob/master/ryu/app/simple_switch_13.py https://github.com/Ehsan70/RyuApps/blob/master/simple_switch_stp_13.py

- Thêm Flow vào các FlowTable, ta sử dụng lệnh:

$ ryu-manager ryu.app.simple_switch_13

- Do mô hình mạng SDN đã tạo có cấu trúc vòng lặp, vì vậy ta cần sử dụng

thuật toán Spanning Tree (STP) trong Ryu để cấu hình mạng này

$ ryu-manager ryu.app.simple_switch_stp_13

- Sử dụng lệnh pingall để kiểm tra trạng thái của các liên kết

Hình 6 Kết quả lệnh pingall sau khi thêm Flow

Kết quả: 0% dropped

Trang 8

Theo kết quả đầu ra trên, ta có thể xác nhận cấu hình mạng SDN đã thiết lập không bị lặp, các cấu trúc liên kết đã được thực thi tốt

1.4 Tìm hiểu mã nguồn

1.4.1 simple_switch_13.py

- Khởi tạo Ryu app manager, đồng thời định nghĩa cho đối tượng một tập các thuộc tính

Hình 7 Lệnh khởi tạo RyuApp

- Hàm Add_flow: dùng để thêm các Flow vào Flow Table

Hình 8 Hàm add_flow

- switch_features_handler: Xử lý các thuộc tính của các Switch

Hình 9 Hàm switch_features_handler

Trang 9

- _packet_in_handler: Xử lý các gói tin đến

Hình 10 Hàm _packet_in_handler

1.4.2 simple_switch_stp_13.py

- delete_flow: xóa các flow ra khỏi Flow table

Hình 11 Hàm delete_flow

- _topology_change_handler: Xử lý các thay đổi của mạng topo

Trang 10

Hình 12 Hàm _topology_change_handler

- _port_state_change_handler: Xử lý thay đổi trạng thái của các cổng

Hình 13 Hàm _port_state_change_handler

Trang 11

KẾT LUẬN

1 Những kết quả đã đạt được:

- Có những kiến thức tổng quan về mạng SDN, Open vSwitch và Mininet

- Đã biết cách thiết lập và triển khai một mô hình mạng SDN Mininet trên Ubuntu

- Có những kiến thức cơ bản về giao thức STP thông qua việc sử dụng Ryu Controller

2 Những kết quả chưa đạt được:

- Do máy ảo VM hoạt động không ổn định nên vẫn còn những câu lệnh chưa thực hiện được

- Một vài đoạn mã nguồn Python vẫn chưa hiểu rõ chi tiết cách hoạt động

- Mới chỉ tạo mô hình theo mẫu có sẵn, chưa tự tạo mô hình riêng

Với những kết quả chưa thực hiện được, em sẽ cố gắng hoàn thiện trong tuần học tiếp theo

Trang 12

TÀI LIỆU THAM KHẢO

[1]https://www.codeproject.com/tips/1063072/build-your-own-sdn-network

[2]https://osrg.github.io/ryu-book/en/html/spanning_tree.html

[3]https://trogiupnhanh.com/stp-la-gi-cong-dung-cua-spanning-tree-protocol/

[4] https://anninhmang.net/tu-hoc-quan-tri-mang/tu-hoc-ccna-security-bai-1-giao-thuc-spanning-tree-protocol/

[5] https://github.com/Ehsan70/RyuApps/blob/master/simple_switch_stp_13.py

Ngày đăng: 22/07/2024, 09:54

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w