Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 35 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
35
Dung lượng
2,03 MB
Nội dung
HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG CƠ SỞ TẠI THÀNH PHỐ HỒ CHÍ MINH KHOA VIỄN THƠNG II BÁO CÁO MƠN: CHUN ĐỀ NIÊN KHĨA: 2016-2021 ĐỀ TÀI: TÌM HIỂU VỀ MỘT MẠNG SDN ĐƠN GIẢN Giảng viên: Nguyễn Xuân Khánh Nhóm: Lớp: D16CQVT01-N TP.HCM – Tháng 4, năm 2020 HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG CƠ SỞ TẠI THÀNH PHỐ HỒ CHÍ MINH KHOA VIỄN THƠNG II BÁO CÁO MƠN: CHUN ĐỀ NIÊN KHĨA: 2016-2021 ĐỀ TÀI: TÌM HIỂU VỀ MỘT MẠNG SDN ĐƠN GIẢN Giảng viên: Nguyễn Xuân Khánh Nhóm: Lớp: D16CQVT01-N TP.HCM – Tháng 4, năm 2020 Thành viên: Lê Văn Quyết N16DCVT059 Lê Trung Tín N16DCVT061 Nguyễn Quang Tuấn N16DCVT067 Võ Minh Thành N16DCVT072 Trương Minh Trí N16DCVT080 Nguyễn Thanh Trí N16DCVT079 Lâm Nữ Tố Trinh N16DCVT082 Nguyễn Hửu Vinh N16DCVT091 Bùi Nguyễn Tường Vy N16DCVT092 Nguyễn Thị Vỹ N16DCVT093 Nguyễn Thị Yến N16DCVT094 Mục lục I Tổng quan vền SDN Định nghĩa SDN 2 Kiến trúc SDN a Lớp ứng dụng b Lớp điều khiển c Lớp thiết bị hạ tầng Xây Dựng Mạng SDN Đơn Giản gồm switch, host II Khởi tạo Cấu hình tạo topo Thực thi lệnh tạo topo III Kiểm tra hoạt động thực chế tạo luồng host, ý nghĩa nội dung Flowtable 10 Hình thành sơ đồ topo mạng 10 a Hình thành sơ đồ topo mạng qua câu lệnh 10 b Hình thành sơ đồ topo-mạng qua Miniedit 11 Kiểm tra bảng luồng 12 Ý nghĩa nội dung Flowtable 14 IV Phân tích bảng tin openflow thực ping từ host đến host thực tạo kết nối nodes 14 Giao thức OpenFlow 14 Thực hành phân tích gói tin 16 a Khởi động WireShark 16 b Bắt gói tin Wire shark 17 V TÌM HIỂU VÀ TRIỂN KHAI MỘT BỘ ĐIỀU KHIỂN 24 Tìm hiểu điều khiển Opendaylight mạng SDN 24 Triển khai điều khiển Opendaylight 25 VI a Chạy topo mạng với điều khiển opendaylight 25 b Tạo cố mạng: đường nối Switch (S1) Switch (S2) bị đứt 27 c Xem thông tin switch giao diện web Opendaylight 28 Kết luận 30 Mục lục hình ảnh Hình 1 Kiến trúc SDN Hình Đăng nhập vào mininet Hình 2 Đọc địa IP máy ảo Hình Nhập địa IP máy ảo Hình Cửa sổ MobaXtern Hình Vị trí file cấu hình tạo topo Hình Cấu hình topo sử dụng python Hình Cấu hình phần tử topo Hình Thực thi lệnh tạo topo Hình Thơng tin thành phần topo 10 Hình Thiết lập lọc gói tin 16 Hình Chạy topo mạng 17 Hình Các gói tin bắt Wireshark 17 Hình 4 Bản tin hello 18 Hình Bản tin OFPT_FEATURES_ REQUEST 18 Hình Bản tin OFPT_FEATURES_ REPLY 19 Hình Bản tin OFPT_SET_CONFIG 19 Hình Bản tin OF_ECHO_REQUEST 20 Hình Bản tin OF_ECHO_REPLY 21 Hình 10 Bản tin OFPT_FLOW_MOD 22 Hình 11 Bản tin of_packet_in 23 Hình 12 Bản tin of_packet_out 24 Hình Mở thành công Opendayligth 26 Hình Chạy file topo cấu hình với controller 26 Hình Pingall thành công 27 Hình Mơ hình topo giao diện Opendayligth 27 Hình 5 Tạo cố mạng 28 Hình Sự cố mạng thể giao diện web Opendayligth 28 Hình Thông tin thẻ Nodes 29 Hình Thông tin chi tiết switch 29 Hình Thông tin chi tiết port switch 29 LỜI CẢM ƠN Đầu tiên, cho phép nhóm cảm ơn thầy tận tình hướng dẫn chúng em suốt trình thực đề tài nghiên cứu Thầy tận tình bảo, giúp đỡ chúng em giải vướng mắc, khó khăn để hồn thành đề tài nghiên cứu nhóm gửi lời cảm ơn chân thành đến thầy ThS Nguyễn Xuân Khánh Tiếp đến, chúng em xin gửi lời cảm ơn đến thầy ThS Nguyễn Xuân Khánh tạo điều kiện hỗ trợ hoạt động nghiên cứu Và Thầy Cô giảng dạy trường Học Viện Công Nghệ Bưu Chính Viễn Thơng sở TP Hồ Chí Minh giúp nhóm có kiến thức bổ ích để thực đề tài nghiên cứu khoa học Kính chúc các Thầy Cơ dồi sức khỏe, thành đạt ngày thành công đường nghiệp giáo dục Ngồi ra, nhóm xin gửi lời cảm ơn sâu sắc đến thành viên tìm hiểu đóng góp cơng sức để thực đề tài Xin chân thành cảm ơn! Tp Hồ Chí Minh, tháng năm 2020 I Tổng quan SDN Định nghĩa SDN Mạng định nghĩa phần mềm hay Sofware Defined Network (SDN) kiểu kiến trúc mạng mới, động, dễ quản lý, chi phí hiệu quả, dễ thích nghi phù hợp với nhu cầu mạng ngày tăng Kiến trúc phân tách phần điều khiển mạng (Control Plane) chức vận chuyển liệu (Forwarding Plane hay Data Plane), điều cho phép việc điều khiển mạng trở nên lập trình dễ dàng sở hạ tầng mạng độc lập với ứng dụng dịch vụ mạng” Kiến trúc SDN Về kiến trúc SDN bao gồm ba lớp: lớp ứng dụng (Application Layer), lớp điều khiển (Control Layer) lớp hạ tầng (Infrastructure Layer) Hình 1 Kiến trúc SDN a Lớp ứng dụng Lớp ứng dụng (Application Layer): ứng dụng triển khai mạng, kết nối tới lớp điều khiển thông qua API, cung cấp khả cho phép lớp ứng dụng lập trình lại (cấu hình lại) mạng (điều chỉnh tham số trễ, băng thông, định tuyến, …) thông qua lớp điều khiển lập trình giúp cho hệ thống mạng để tối ưu hoạt động theo yêu cầu định Lớp ứng dụng cung cấp giao diện có khả lập trình mở, cho phép nhà cung cấp dịch vụ điện toán đám mây cung cấp dịch vụ đám mây cơng cộng tự động có khả mở cho doanh nghiệp b Lớp điều khiển Lớp điều khiển (Control layer): nơi tập trung controller thực việc điều khiển cấu hình mạng theo yêu cầu từ lớp ứng dụng khả mạng Các controller phần mềm lập trình Một Controller (bộ điều khiển) ứng dụng quản lý kiểm soát luồng lưu lượng môi trường mạng Để điều khiển lớp sở hạ tầng, lớp điều khiển sử dụng chế OpenFlow, ONOS, ForCES, PCEP, NETCONF, SNMP thông qua chế riêng biệt Hầu hết SDN controller dựa giao thức OpenFlow SDN controller hoạt động loại hệ điều hành (OS) cho mạng Tất thông tin liên lạc ứng dụng thiết bị phải qua controller Controller sử dụng giao thức OpenFlow để cấu hình thiết bị mạng chọn đường tốt cho lưu lượng ứng dụng Cùng với chức chính, tiếp tục mở rộng để thực thêm nhiệm vụ quan trọng định tuyến truy cập mạng Vai trị: • Cung cấp API để xây dựng ứng dụng cho hệ thống mạng • Thu nhận thông tin từ hệ thống mạng vật lý, điều khiển hệ thống mạng vật lý c Lớp thiết bị hạ tầng Là thiết bị mạng thực tế (vật lý hay ảo hóa) thực việc chuyển tiếp gói tin theo điều khiển lớp điểu khiển Một thiết bị mạng hoạt động theo điều khiển nhiều điều khiển khác nhau, điều giúp tăng cường khả ảo hóa mạng II Xây Dựng Mạng SDN Đơn Giản gồm switch, host Khởi tạo Trong báo cáo sử dụng VirtualBox làm tảng chạy máy ảo Mininet Đăng nhập Mininet với user: mininet password: mininet Hình Đăng nhập vào mininet Kiểm tra địa IP máy ảo Ở ta có IP máy 192.168.20.201 Hình 2 Đọc địa IP máy ảo Để thao tác dễ dàng với hình lớn ta kết nối với MobaXtern Nhập sudo dhclient eth0 sau nhập IP máy ảo vào MobaXterm Echo Experimenter thiết lập Bản tin gửi controller switch nhận bên nhận phải đáp ứng trở lại Bản tin dùng cho chức bổ sung Thực hành phân tích gói tin a Khởi động WireShark Trên máy ảo mininet ta dùng lệnh $ sudo wireshark& để mở Wireshark Tại giao diện Wireshark chọn interface lo (Loopback) lọc gói tin of Hình Thiết lập lọc gói tin 16 Chạy topo mạng tạo câu lệnh $ sudo mn custom ~/mininet/custom/chuyende.py topo mytopo Hình Chạy topo mạng b Bắt gói tin Wire shark Hình Các gói tin bắt Wireshark 17 Hình 4 Bản tin hello Bản tin hello kiểm tra thông số port, ip, lenght, dùng để thực thỏa thuận phiên giao thức OpenFlow thiết bị Trong tin này, vùng version phiên cao giao thức OpenFlow mà bên gửi hỗ trợ Bên nhận tin Hello so sánh vùng version với phiên chọn phiên thấp giá trị này.Vùng xid dùng nhận diện giao dịch có giá trị 558681319 Hình Bản tin OFPT_FEATURES_ REQUEST 18 Hình Bản tin OFPT_FEATURES_ REPLY Sau thủ tục bắt tay tạo kết nối (dùng tin HELLO) Việc điều khiển thực gởi tin OFPT_FEATURES_REQUEST để lấy Datapath ID đặc tính chuyển mạch Chuyển mạch đáp ứng lại với tin OFPT_FEATURES_ REPLY với vùng datapath_id = số thông tin khả chuyển mạch: số lượng gói cực đại chuyển mạch đệm gởi gói tới điều khiển dùng tin packet_in 256 (n-buffer), số lượng bảng chuyển mạch hỗ trợ 254 (n_tables), thơng tin cổng chuyển mạch (of_port_desc list), hoạt động chuyển mạch hỗ trợ (actions) Hình Bản tin OFPT_SET_CONFIG 19 Bản tin OFPT_SET_CONFIG điều khiển gởi đến chuyển mạch để thiết lập chế độ hoạt động chuyển mạch Type = cho biết tin OFPT_SET_CONFIG Xid: số nhận diện giao dịch Flags = 1731062456 (OFPT_FRAG_NORMAL): thị chuyển mạch xử lý phân đoạn gói IP cách bình thường, có nghĩa nên cố gắng chuyển tiếp phân đoạn qua bảng OpenFlow Miss_send_len = 128 số lượng byte gói mà đường ống OpenFlow gởi đến điều khiển khơng sử dụng hoạt động xuất đến cổng luận lý điều khiển, ví dụ gởi gói với giá trị TTL khơng hợp lệ Hình Bản tin OF_ECHO_REQUEST 20 Hình Bản tin OF_ECHO_REPLY Hai tin gửi liên tục OF_ECHO_REQUEST OF_ECHO_REPLY để đo lường độ trễ băng thông kết nối chuyển mạch – điều khiển để kiểm tra xem thiết bị hoạt động không 21 Hình 10 Bản tin OFPT_FLOW_MOD Khi điều khiển muốn sửa đổi thơng tin bảng lưu lượng, gửi tin sửa đổi mục nhập luồng thông báo (OFPT_FLOW_MOD) tới switch Thông báo chứa thông tin cần thiết để xác định sửa đổi mục từ bảng lưu lượng 22 Bản tin thay đổi luồng OFPT_FLOW_MOD với vùng command =0 có tác dụng điều chuyển mạch thêm luồng Cùng với vùng match cho thấy mục luồng điều khiển chuyển tiếp lưu lượng từ port đến port 1, với idle_timeout = 60 hard_timeout = luồng hết hạn sau 60’ khơng có lưu lượng, với flags= chuyển mạch phải gởi tin loại bỏ luồng điều khiển đến thời hạn idle-timeout (60’) luồng bị xóa, với buffer_id=260 chuyển mạch phải lấy gói tương ứng tin packet_in (có buffer_id=260) khỏi đệm xử lý qua toàn đường ống OpenFlow sau luồng đưa vào luồng Tiến hành ping bắt gói tin openflow Hình 11 Bản tin of_packet_in Of_paket_in: gửi từ chuyển mạch (cổng TCP 58) đến điều khiển (cổng TCP 6633), lý chuyển tin đến điều khiển khơng so trùng với mục bảng luồng, cổng vào port 1, tổng chiều dài 42 23 vùng data chứa frame ethernet (đóng gói tin giao thức ICMP - lệnh ping) Hình 12 Bản tin of_packet_out Of_acket_out: gửi từ điều khiển (6653) đến chuyển mạch (41818), có buffer_id giống buffer_id gói packet_in (256), danh sách action gồm hoạt động xuất port 65531 V TÌM HIỂU VÀ TRIỂN KHAI MỘT BỘ ĐIỀU KHIỂN Tìm hiểu điều khiển Opendaylight mạng SDN Trong mạng SDN chuyển mạch (Switch) kết nối tới điều khiển từ xa mà máy ảo, máy ảo, máy máy local hay đâu giới Hiện có nhiều điều khiển cho SDN Nox, Pox, Beacon, Opendaylight.… số Opendaylight có giao diện thân thiện với người dùng tảng mở để tùy chỉnh tự động hóa mạng quy mô Các mạnh Opendaylight: - Cung cấp giao diện lập trình cho ứng dụng điều khiển mạng SDN 24 - Hỗ trợ nhiều giao thức khác ngồi OPENFLOW OVSDB, NETCONF, BGP,… - Có khả lập trình theo dõi thiết bị mạng, khả kiểm soát tập trung - Giúp xây dựng khả dự phòng cho mạng SDN dựa việc thiết lập đường truyền phụ(dự phịng) qua controller opendaylight • Dự phịng có nghĩa đường truyền gặp cố liệu chuyển sang đường truyền phụ (dự phòng), đảm bảo chất lượng ổn định khả truyền dự liệu mạng • Phương án dự phịng tìm đường đường dự phịng, thiết lập đường chính, đường dự phịng tự động thiết lập sau đường gặp cố Triển khai điều khiển Opendaylight a Chạy topo mạng với điều khiển opendaylight - Mở máy ảo Ubuntu lên login vào - Kiểm tra địa IP điều khiển $ ip addr show Ip: 192.168.20.50 - Dùng ip để làm việc MobaXterm - Trên MobaXterm ta thực dòng lệnh sau để mở Opendayligth: ~$ cd distribution-karaf- /0.6.4-Carbon ~/distribution-karaf-0.6.4-Carbon$ /bin/karaf 25 Hình Mở thành cơng Opendayligth - Cũng MobaXterm với máy ảo Mininet, chạy file topo cấu hình với controller opendaylight có ip:192.168.20.50 thơng qua cổng 6653 câu lệnh sau: $ sudo mn controller=remote,ip=192.168.20.50,port=6653 custom ~/mininet/custom/chuyende.py topo mytopo Hình Chạy file topo cấu hình với controller - Tiến hành pingall node 26 Hình Pingall thành cơng - Mở trình duyệt web để vào giao diện điều khiển: Gõ vào khung search: http://192.168.20.50:8181/index.html - Nếu có u cầu login user name mật mặc định là: admin - Vào thẻ Topology thấy topo mạng tạo Hình Mơ hình topo giao diện Opendayligth b Tạo cố mạng: đường nối Switch (S1) Switch (S2) bị đứt - Dùng câu lệnh $ link s1 s2 down để tắt kết nối switch1 switch2 27 Hình 5 Tạo cố mạng - Trên giao diện Opendayligth ta reload thấy dây nối s1 s2 bị xố Hình Sự cố mạng thể giao diện web Opendayligth c Xem thông tin switch giao diện web Opendaylight - Nhấp vào tag Nodes để xem thông tin switch mạng 28 Hình Thông tin thẻ Nodes - Tại cột Node Connectors, nhấp vào số kết nối switch để xem thông tin chi tiết Hình Thơng tin chi tiết switch - Tại cột Statistics nhấp vào link Node Connectors để xem thơng tin cổng switch Hình Thông tin chi tiết port switch 29 VI Kết luận Chủ đề hướng dẫn thao tác với mininet thơng qua dịng lệnh Cách tạo quản lý thực thể topo mạng cách SDN đời giúp đơn giản hóa việc quản lý thực thể topo mạng mininet công cụ để giúp ta thực việc quản lý đơn giản Dĩ nhiên, chủ đề dừng lại khía cạnh bản, để tiến xa nữa, hay nói cách khác tối ưu hóa việc quản lý Python công cụ để tối ưu việc 30 ... VIỄN THƠNG CƠ SỞ TẠI THÀNH PHỐ HỒ CHÍ MINH KHOA VIỄN THƠNG II BÁO CÁO MƠN: CHUN ĐỀ NIÊN KHĨA: 2016-2021 ĐỀ TÀI: TÌM HIỂU VỀ MỘT MẠNG SDN ĐƠN GIẢN Giảng viên: Nguyễn Xuân Khánh Nhóm: Lớp: D16CQVT01-N... vền SDN Định nghĩa SDN 2 Kiến trúc SDN a Lớp ứng dụng b Lớp điều khiển c Lớp thiết bị hạ tầng Xây Dựng Mạng SDN. .. đóng góp cơng sức để thực đề tài Xin chân thành cảm ơn! Tp Hồ Chí Minh, tháng năm 2020 I Tổng quan SDN Định nghĩa SDN Mạng định nghĩa phần mềm hay Sofware Defined Network (SDN) kiểu kiến trúc mạng