LỜI MỞ ĐẦU Ngày nay mạng máy tính ngày càng phát triển vượt bậc. Nhu cầu mở rộng mạng ngày càng tăng, đòi hỏi số lượng thiết bị rất lớn chạy các loại giao thức khác nhau gây ra nhiều khó khăn cho việc quản trị. Hệ thống mạng phức tạp hơn khi các công ty chuyển sang môi trường điện toán đám mây, việc cấu hình mạng thủ công qua giao diện dòng lệnh phảo phụ thuộc vào các hãng sản xuất đã gây ra rất nhiều bất lợi và mất thời gian. Kiến trúc mạng truyền thống đang ngày càng không phù hợp với nhu cầu kinh doanh và quản lý các doanh nghiệp, các nhà khai thác mạng của những người dùng đầu cuối. Hệ thống mạng phức tạp, chính sách không nhất quán, khả năng mở rộng kém, chi phí cao, nhiều nguy cơ về bảo mật. Sự phức tạp trong việc tích hợp các giải pháp bảo mật cho hệ thống mạng là vấn đề được quan tâm hàng đầu. Công nghệ SDN – Sodtware Defined Networking (Mạng máy tính định nghĩa bằng phần mềm) ra đời như một giải pháp cho hệ thống mạng hiện nay. Vì thế để có thể nắm bắt được nguyên lý hoạt động, chức năng và cũng như cách thiết lập một mạng SDN cơ bản, nhóm xin trình bày bài báo cáo chuyên đề “Triển khai một mạng SDN đơn giản” gồm những nội dung chính sau: Chương 1: Giới thiệu tổng quan về các công cụ đươc sử dụng trong demo Chương 2: Xây dựng một mạng SDN đơn giản Chương 3: Các cơ chế tạo luồng giữa các Host và ý nghĩa nội dung Flowtable Chương 4: Phân tích các bản tin giao thức OpenFlow khi khời động mạng, ping và tạo MỤC LỤC LỜI CẢM ƠN 1 LỜI MỞ ĐẦU 2 MỤC LỤC 3 MỤC LỤC HÌNH ẢNH 5 THUẬT NGỮ VIẾT TẮT 7 CHƯƠNG 1. GIỚI THIỆU TỔNG QUAN VỀ CÁC CÔNG CỤ ĐƯƠC SỬ DỤNG TRONG DEMO 8 1.1 VMware Workstation Pro 15 8 1.1.1 Giới thiệu 8 1.1.2 Tính năng 9 1.2 MININET 10 1.2.1 Giới thiệu 10 1.2.2 Tính năng 10 1.3 Putty 11 1.3.1 Giới thiệu 11 1.3.2 Tính năng 12 1.4 Xming 12 1.4.1 Giới thiệu 12 1.4.2 Tính năng 12 1.5 Ubuntu 13 1.5.1 Giới thiệu 13 1.5.2 Tính năng 13 1.5.2.a Đặc điểm 13 1.5.2.b Ứng dụng 13 1.6 MobaXterm 13 1.6.1 Giới thiệu 13 1.6.2 Tính năng 14 CHƯƠNG 2. XÂY DỰNG MỘT MẠNG SDN ĐƠN GIẢN 15 2.1 Mô hình mạng SDN triển khai 15 2.2 Triển khai mạng SDN đơn giản 15 CHƯƠNG 3. CƠ CHẾ TẠO LUỒNG GIỮA CÁC HOST VÀ Ý NGHĨA FLOWTABLE 22 3.1 Cơ chế tạo luồng giữa các host 22 3.2 Ý nghĩa nội dung Flowtable 29 CHƯƠNG 4. PHÂN TÍCH CÁC BẢN TIN GIAO THỨC OPENFLOW KHI KHỞI ĐỘNG MẠNG, PING VÀ TẠO LUỒNG 32 4.1 BẢN TIN HELLO 37 4.2 BẢN TIN OFPT_FEATURE_REQUEST 38 4.3 Bản tin OFPT_FEATURE_REPLY 39 4.4 Bản tin OFPT_SET_CONFIG 39 4.5 Bản tin OF_PORT_STATUS 40 4.6 BẢN TIN: PACKET_IN, PACKET_OUT, FLOW_ADD. 41 4.7 Bản tin OFPT_PACKET_IN 42 4.8 Bản tin OFPT_PACKET_OUT 43 4.9 Bản tin OFPT_FLOW_MOD 44 CHƯƠNG 5. TÌM HIỂU VÀ TRIỂN KHAI BỘ ĐIỀU KHIỂN SDN: OPENDAYLIGHT 45 5.1 Giới thiệu 45 5.2 Kiến trúc Opendaylight 45 5.3 REST 49 5.4 Bộ điều khiển tập trung và phân tán 49 5.5 Opendaylight SDNi 51 5.6 Triển khai OpenDaylight 52 TÀI LIỆU KHAM KHẢO 56
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 CHUYÊN ĐỀ CHUYÊN NGÀNH: KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG HỆ: ĐẠI HỌC CHÍNH QUY NIÊN KHĨA: 2016-2021 ĐỀ TÀI: TRIỂN KHAI MỘT MẠNG SDN ĐƠN GIẢN NHÓM THỰC HIỆN : NHÓM Giáo viên hướng dẫn :Th.S NGUYỄN XUÂN KHÁNH TP.HCM – Tháng 04/2020 LỜI CẢM ƠN LỜI CẢM ƠN Đầu tiên, cho phép nhóm gửi lời cảm ơn chân thành đến thầy hướng dẫn môn học ThS Nguyễn Xuân Khánh Thầy ln hướng dẫn nhóm bạn tận tình suốt trình học tập Thầy tận tình bảo, giúp đỡ chúng em giải vấn đề thắc mắc, khó khăn để hồn thành đề tài mơn học Tiếp đến, nhóm xin gửi lời cảm ơn đến Thầy, Cô khoa Viễn Thông tạo điều kiện hỗ trợ hoạt động học thuật Kính chúc Thầy, Cơ dồi sức khỏe, đạt nhiều thành công đường nghiệp giáo dục Với vốn kiến thức thời gian thực tập, nghiên cứu hạn chế nên báo cáo tránh khỏi sai sót, mong Thầy bạn góp ý, dẫn để báo cáo nhóm hồn thiện Cuối cùng, nhóm xin cảm ơn bạn bè lớp ln quan tâm giúp đỡ nhóm suốt khoảng thời gian thực Nhóm xin chân thành cảm ơn ! TP Hồ Chí Minh, 04/2020 Sinh viên thực NHÓM LỜI MỞ ĐẦU LỜI MỞ ĐẦU Ngày mạng máy tính ngày phát triển vượt bậc Nhu cầu mở rộng mạng ngày tăng, đòi hỏi số lượng thiết bị lớn chạy loại giao thức khác gây nhiều khó khăn cho việc quản trị Hệ thống mạng phức tạp công ty chuyển sang môi trường điện tốn đám mây, việc cấu hình mạng thủ cơng qua giao diện dòng lệnh phảo phụ thuộc vào hãng sản xuất gây nhiều bất lợi thời gian Kiến trúc mạng truyền thống ngày không phù hợp với nhu cầu kinh doanh quản lý doanh nghiệp, nhà khai thác mạng người dùng đầu cuối Hệ thống mạng phức tạp, sách khơng qn, khả mở rộng kém, chi phí cao, nhiều nguy bảo mật Sự phức tạp việc tích hợp giải pháp bảo mật cho hệ thống mạng vấn đề quan tâm hàng đầu Công nghệ SDN – Sodtware Defined Networking (Mạng máy tính định nghĩa phần mềm) đời giải pháp cho hệ thống mạng Vì để nắm bắt ngun lý hoạt động, chức cách thiết lập mạng SDN bản, nhóm xin trình bày báo cáo chuyên đề “Triển khai mạng SDN đơn giản” gồm nội dung sau: Chương 1: Giới thiệu tổng quan công cụ đươc sử dụng demo Chương 2: Xây dựng mạng SDN đơn giản Chương 3: Các chế tạo luồng Host ý nghĩa nội dung Flowtable Chương 4: Phân tích tin giao thức OpenFlow khời động mạng, ping tạo NHÓM MỤC LỤC MỤC LỤC NHĨM MỤC LỤC HÌNH ẢNH MỤC LỤC HÌNH ẢNH NHĨM TḤT NGỮ VIẾT TẮT THUẬT NGỮ VIẾT TẮT VM AMD VT SDN DES LAN VLAN SSH IP MAC NHÓM Virtual Machine Advanced Micro Devices Virtualization Technology Software-defined networking Data Encryption Standard Local area network virtual local area network Secure Shell Internet Protocol Media Access Control CHƯƠNG GIỚI THIỆU TỔNG QUAN CHƯƠNG GIỚI THIỆU TỔNG QUAN VỀ CÁC CÔNG CỤ ĐƯƠC SỬ DỤNG TRONG DEMO 1.1 VMware Workstation Pro 15 1.1.1 Giới thiệu Hình 1.1 Logo VMware Workstation Pro 15 VMware Workstation phần mềm ảo hóa hàng đầu giới hãng phần mềm VMware Inc VMware Workstation cung cấp giải pháp ảo hóa máy tính để bàn thiết kế cho người sử dụng Windows Với 15 năm đời phát triển, Workstation Pro dành nhiều giải thưởng, hỗ trợ người dùng hệ điều hành họ khơng tương thích, mang tới trải nghiệm sử dụng giàu tính hiệu hoạt động mượt mà Và đặc biệt phiên VMware Workstation Pro 15 mắt kỷ niệm 20 năm đời sau thành công phiên VMware Workstation Pro 14 NHÓM CHƯƠNG GIỚI THIỆU TỔNG QUAN Hình 1.2 Giao diện VM ware workstation 15.5 pro VMware Workstation Pro trình ảo hóa lưu trữ chạy phiên x64 hệ điều hành Windows Linux ( phiên x86 phát hành trước có sẵn); cho phép người dùng thiết lập máy ảo (VM) máy vật lý sử dụng chúng đồng thời với máy thực tế Mỗi máy ảo thực thi hệ điều hành riêng , bao gồm phiên Microsoft Windows , Linux , BSD MS-DOS 1.1.2 Tính Các tính phần mềm VMware Workstation: Chạy lúc nhiều hệ điều hành khác máy tính Tạo máy ảo với hệ điều hành Windows, Linux,… Chạy, di chuyển, chia sẻ, kết nối máy ảo với cách đơn giản, dễ sử dụng Hỗ trợ cài đặt hàng trăm hệ điều hành với cơng nghệ điện tốn đám mây với vùng chứa Kubernetes, Docker Kết nối an toàn với VMware vSphere, ESXi máy chủ server, máy trạm workstation khác để quản lý điều khiển máy ảo (VM) máy chủ vật lý NHÓM 8 CHƯƠNG GIỚI THIỆU TỔNG QUAN Tối đa hóa phần cứng, suất cho phép dễ dàng thêm xóa máy tính ảo từ máy tính bạn VMware Workstation 15 có mới: Tương thích hồn tồn với hệ điều hành Windows Windows 10 Hỗ trợ OpenGL 3.3 DirectX 10 Hỗ trợ tương thích tốt với hình có độ phân giải 4K (Ultra HD) Hỗ trợ tính One-Click-SSH cho máy ảo Linux bạn sử dụng Windows 10 phiên 1803 lớn Bổ sung API Rest mới, giới thiệu giống với Fusion 10 API Rest cho phép người dùng tự động hóa tác vụ máy ảo (VM) phần quy trình làm việc Giúp nhanh chóng triển khai, cấu hình tắt nóng máy tính ảo 1.2 MININET 1.2.1 Giới thiệu Mininet ứng dụng mã nguồn mở đăng tải GitHub, phần mềm mô cho phép mô thiết bị máy tính đầu cuối, thiết bị chuyển mạch q trình trao đổi thơng tin thiết bị Mininet cơng cụ quan trọng cộng đồng mã nguồn mở SDN thường sử dụng công cụ để mô phỏng, kiểm tra, xác minh ứng dụng SDN 1.2.2 Tính Nhanh chóng: ta sử dụng mininet để thiết lập mạng lưới đơn giản Điều có nghĩa chạy, chỉnh sữa, gỡ lỗi cách nhanh chóng Có thể tùy chỉnh tạo topo mạng khác nhau: ví dụ mạng đơn giản gồm switch vài thiết bị đầu cuối đến mạng lớn Có thể tùy chỉnh gói tin chuyển tiếp: quy tắc Mininet thiết lập trình việc sử dụng giao thức Openfow thiết kế SDN chạy Mininet dễ dàng chuyển sang thiết bị chuyển mạch Openflow Có thể sử dụng Mininet laptop, sever, máy ảo công nghệ điện tốn đám mây nên tính linh động cao NHÓM CHƯƠNG GIỚI THIỆU TỔNG QUAN 1.3 Putty 1.3.1 Giới thiệu Hình 1.3 Logo Putty PuTTY trình giả lập thiết bị đầu cuối cho phép kết nối Nó hỗ trợ vài giao thức mạng, bao gồm SSH, Telnet, Rlogin,… giao thức khác qua port khác PuTTY thức viết cho hệ điều hành Microsoft Windows, dần xây dựng để chạy nhiều hệ điều hành khác: Unix, Linux, Symbian, Windows Mobiles, Windows Phone Hình 1.4 Putty mở NHĨM 10 CHƯƠNG PHÂN TÍCH CÁC BẢN TIN GIAO THỨC OPENFLOW KHI KHỞI ĐỘNG MẠNG, PING VÀ TẠO LUỒNG 4.7 Bản tin OFPT_PACKET_IN Hình 4.15 Bản tin OFPT_PACKET_IN Packet_in : từ chuyển mạch Src Port (cổng TCP 59966) đến điều khiển Dst Port (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 total_len 42 vùng data chứa frame ethernet (đóng gói tin giao thức ICMP - lệnh ping) NHÓM 41 CHƯƠNG PHÂN TÍCH CÁC BẢN TIN GIAO THỨC OPENFLOW KHI KHỞI ĐỘNG MẠNG, PING VÀ TẠO LUỒNG 4.8 Bản tin OFPT_PACKET_OUT Hình 4.16 Bản tin OFPT_PACKET_OUT Packet_out : gởi từ điều khiển Src Port (6653) đến chuyển mạch Dst Port (59966), có buffer_id giống buffer_id gói packet_in (262), danh sách action gồm hoạt động xuất port 65531 NHĨM 42 CHƯƠNG PHÂN TÍCH CÁC BẢN TIN GIAO THỨC OPENFLOW KHI KHỞI ĐỘNG MẠNG, PING VÀ TẠO LUỒNG 4.9 Bản tin OFPT_FLOW_MOD Hình 4.17 Bản tin OFPT_FLOW_MOD 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 Luồ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 idletimeout (60’) luồng bị xóa, với buffer_id = 257 chuyển mạch phải lấy gói tương ứng tin packet_in (có buffer_id = 257) khỏi đệm xử lý qua tồn đường ống OpenFlow sau luồng đưa vào luồng NHĨM 43 CHƯƠNG 5: TÌM HIỂU VÀ TRIỂN KHAI BỘ ĐIỀU KHIỂN OPENDAYLIGHT CHƯƠNG 5: TÌM HIỂU VÀ TRIỂN KHAI BỘ ĐIỀU KHIỂN OPENDAYLIGHT 5.1 Giới thiệu OpenDaylight phần mềm mã nguồn mở dành cho Software Defined Networking (SDN) sử dụng giao thức mở cung cấp khả kiểm sốt tập trung, có khả lập trình theo dõi thiết bị mạng Giống nhiều Bộ điều khiển SDNs khác, OpenDaylight hỗ trợ OpenFlow, cung cấp giải pháp mạng khác sẵn sàng để cài đặt có yêu cầu OpenDaylight cung cấp giao diện cho phép kết nối thiết bị mạng nhanh chóng thơng minh để tối ưu hiệu mạng OpenDaylight Controller cung cấp northbound APIs, sử dụng ứng dụng Các ứng dụng sử dụng controller để thu thập thông tin mạng, chạy thuật tốn để kiểm sốt, phân tích, sau sử dụng OpenDaylight Controller tạo rules cho mạng OpenDaylight Controller viết ngơn ngữ Java, có nghĩa sử dụng OpenDaylight Controller mơi trường hỗ trợ Java Tuy nhiên để đạt hiệu tốt nhất, OpenDaylight nên chạy môi trường Linux hỗ trợ JVM tối thiểu 1.7 5.2 Kiến trúc Opendaylight Kiến trúc Opendaylight gồm lớp logic Hình 5.1 Các lớp logic NHĨM 44 CHƯƠNG 5: TÌM HIỂU VÀ TRIỂN KHAI BỘ ĐIỀU KHIỂN OPENDAYLIGHT - Ứng dụng mạng dịch vụ: Bao gồm ứng dụng mạng logic kiểm soát giám sát hành vi mạng, ứng dụng thương mại Các ứng dụng sử dụng điều khiển để thu thập thông tin mạng, chạy thuật tốn để thực phân tích sau sử dụng điều khiển để xếp quy tắc Ví dụ: Dlux(Opendaylight user Experience) ,DdoS(Distributed Denial of Service) Protection,OpenStack Neutron,SDNI Wrapper,VTN(Virtual Tenant Network) Coordinator - API: Một tập hợp giao diện chung cho chức điều khiển OpenDaylight OpenDaylight hỗ trợ khung Open Service Gateway Initiative (OSGi) REST hai chiều cho API hướng Bắc Khung OSGi sử dụng cho ứng dụng chạy không gian địa giống điều khiển, API REST (dựa web) sử dụng cho ứng dụng không chạy khơng gian địa (hoặc chí máy) với điều khiển - Các chức dịch vụ: Các chức dịch vụ điều khiển SDN Hình 5.2 Các Dịch Vụ Chú thích: • DOCSIS Abstraction:Data over Cable Service Interface Specification Abstraction • AAA:Authentication , Authorization & Accounting • LISP service: Locator/Identifier Separation Protocol service • ALTO Protocol Manager: Application Layer Traffic Optimization Protocol Manager -Lớp trừu tượng dịch vụ (SAL): Cung cấp chế độ xem thống tài nguyên mặt liệu,để chức điều khiển thực độc lập với giao diện giao thức hướng nam NHĨM 45 CHƯƠNG 5: TÌM HIỂU VÀ TRIỂN KHAI BỘ ĐIỀU KHIỂN OPENDAYLIGHT Hình 5.3 Lớp Service Abstraction - Giao diện giao thức Southbound: Hỗ trợ OpenFlow, giao thức khác theo tiêu chuẩn Nam, giao diện nhà cung cấp cụ thể Hình 5.4 Giao diện Southbound Chú thích: • OVSDB:Open vSwitch Database Protocol • BGP:Boder Gateway Protocol • PCEP:Path Computation Element Protocol • CAPWAP: Control and Provisioning of Wireless Access Points • SXP:Source-Group Tag eXchange Protocol • SNMP:Simple Network Management Protocol • USC:Unified Secure Channel • SNBI:Secure Network Bootstrapping infrastructure • LACP:Link Aggregation Controll Protocol • PCMM:Packet Cable MultiMedia • COPS:Common Open Policy Service Có số khía cạnh đáng lưu ý kiến trúc OpenDaylight Thứ nhất, OpenDaylight bao gồm mặt điều khiển chức mặt phẳng ứng dụng Do đó, OpenDaylight khơng điều khiển SDN Điều cho phép nhà quản lý mạng doanh nghiệp viễn thông lưu trữ phần mềm nguồn mở máy chủ riêng họ để xây dựng cấu hình SDN Các nhà cung cấp sử dụng phần mềm để tạo sản phẩm có thêm chức dịch vụ mặt phẳng ứng dụng bổ sung Một khía cạnh quan trọng thứ hai thiết kế OpenDaylight khơng gắn với OpenFlow giao diện hướng nam cụ thể khác Điều cung cấp tính linh NHĨM 46 CHƯƠNG 5: TÌM HIỂU VÀ TRIỂN KHAI BỘ ĐIỀU KHIỂN OPENDAYLIGHT hoạt cao việc xây dựng cấu hình mạng SDN Yếu tố then chốt thiết kế SAL cho phép điều khiển hỗ trợ nhiều giao thức giao diện hướng Nam cung cấp dịch vụ thống cho chức điều khiển cho ứng dụng SDN Hình 3.8 minh họa hoạt động SAL Khung OSGi cung cấp liên kết động plug-in cho giao thức hướng nam có sẵn Khả giao thức trừu tượng hóa thành tập hợp tính viện dẫn dịch vụ máy điều khiển thơng qua trình quản lý dịch vụ SAL Người quản lý dịch vụ trì đăng ký để lập đồ yêu cầu dịch vụ để yêu cầu tính Dựa yêu cầu dịch vụ, SAL đồ cho plug-in thích hợp sử dụng giao thức hướng Nam thích hợp để tương tác với thiết bị mạng định Hình 5.5 Các Lớp Trừu Tượng Một điểm mạnh OpenDaylight phần mềm mơ đun hóa có tính linh hoạt cao Tất mã thực Java chứa Java Virtual Machine (JVM) riêng Như vậy, triển khai phần cứng tảng hệ điều hành hỗ trợ Java 5.3 REST REpresentational State Transfer (REST) kiểu kiến trúc sử dụng để xác định APIs REST trở thành phương thức chuẩn để xây dựng API hướng Bắc NHÓM 47 CHƯƠNG 5: TÌM HIỂU VÀ TRIỂN KHAI BỘ ĐIỀU KHIỂN OPENDAYLIGHT cho điều khiển SDN Một API REST, hay API RESTful (tuân thủ ràng buộc REST) giao thức, ngôn ngữ tiêu chuẩn thiết lập Có tất sáu yêu cầu mà API phải tuân theo để RESTful Mục tiêu ràng buộc tối đa hóa khả mở rộng độc lập/khả tương tác tương tác phần mềm cung cấp phương thức đơn giản để xây dựng API REST giả định khái niệm truy cập dựa web sử dụng cho tương tác ứng dụng dịch vụ hai bên API REST không xác định chi tiết cụ thể API áp đặt ràng buộc chất tương tác ứng dụng dịch vụ Sáu yêu cầu REST bao gồm: Client-server Stateless Cache Giao diện thống Hệ thống phân lớp Mã hóa theo yêu cầu 5.4 Bộ điều khiển tập trung phân tán Một điểm quan trọng then chốt thiết kế kiến trúc liệu điều khiển tập trung đơn lẻ hay điều khiển phân tán sử dụng để kiểm soát switches mặt liệu Bộ điều khiển tập trung máy chủ quản lý tất switches mặt liệu mạng Trong mạng doanh nghiệp lớn, việc triển khai điều khiển để quản lý tất thiết bị mạng dẫn đến khó sử dụng bất cập khơng mong muốn Một kịch có khả nhà điều hành doanh nghiệp lớn mạng lưới nhà cung cấp chia mạng lưới tồn thành số miền SDN khơng trùng lặp, cịn gọi “SDN islands” (Hình 3.9), quản lý điều khiển phân tán NHÓM 48 CHƯƠNG 5: TÌM HIỂU VÀ TRIỂN KHAI BỘ ĐIỀU KHIỂN OPENDAYLIGHT Hình 5.6 Cấu trúc miền SDN Lý sử dụng miền SDN bao gồm điều sau: - Khả mở rộng: Số lượng thiết bị mà điều khiển SDN quản lí cách khả thi có giới hạn Do đó, mạng lớn phù hợp cần phải triển khai nhiều điều khiển SDN - Độ tin cậy: Việc sử dụng nhiều điều khiển tránh rủi ro điều khiển xảy lỗi - Riêng tư: Nhà cung cấp dịch vụ chọn thực sách bảo mật khác miền SDN khác Ví dụ: miền SDN dành riêng cho nhóm khách hàng thực sách bảo mật tùy chỉnh cao riêng họ, yêu cầu không tiết lộ số thơng tin mạng miền (ví dụ topo mạng) cho thực thể bên - Triển khai gia tăng: Mạng hãng truyền thơng cơng cộng bao gồm phần sở hạ tầng kế thừa không kế thừa Chia mạng thành nhiều miền SDN quản lý riêng lẻ cho phép triển khai gia tăng linh hoạt Bộ điều khiển phân tán xếp khu vực nhỏ, phân tán rộng rãi, kết hợp hai Các điều khiển đặt chặt chẽ cung cấp lưu lượng cao thích hợp cho trung tâm liệu, điều khiển phân tán thích hợp với mạng lưới nhiều điểm Thơng thường, điều khiển phân bố theo chiều ngang Tức là, điều khiển điều khiển tập hợp không chồng chéo switches mặt liệu.Trong kiến trúc phân tán, cần giao thức để truyền thông điều khiển Về nguyên tắc, giao thức độc quyền sử dụng cho mục đích giao thức mở chuẩn rõ ràng thích hợp cho mục đích tương tác Các chức liên quan đến giao diện hướng Đông/hướng Tây cho kiến trúc NHĨM 49 CHƯƠNG 5: TÌM HIỂU VÀ TRIỂN KHAI BỘ ĐIỀU KHIỂN OPENDAYLIGHT phân tán bao gồm việc trì sở liệu phân chia nhân rộng topo tham số mạng, chức giám sát/thông báo Chức thứ hai bao gồm việc kiểm tra xem điều khiển có cịn hoạt động hay khơng điều phối thay đổi việc chuyển đổi điều khiển sang điều khiển 5.5 Opendaylight SDNi IETF phát triển đặc tả kỹ thuật định nghĩa yêu cầu chung để thiết lập luồng lưu lượng ngang hàng trao đổi thông tin khả tiếp cận qua nhiều tên miền, gọi SDNi (SDNi: Một giao thức trao đổi tin cho mạng định nghĩa phần mềm qua nhiều tên miền, draft-yin-sdn-sdni-00 txt, ngày 27 tháng năm 2012) Đặc tả SDNi (SDNi specification) không định nghĩa giao thức SDN hướng Đông/Tây mà cung cấp số nguyên tắc sử dụng để phát triển giao thức Chức SDNi định nghĩa đặc tả bao gồm điều sau: Thiết lập luồng lưu lượng ngang hàng bắt nguồn từ ứng dụng, chứa thông tin yêu cầu truy cập, QoS mức dịch vụ phù hợp nhiều tên miền SDN Trao đổi thông tin khả tiếp cận để định tuyến miền SDN Điều cho phép luồng đơn qua miền SDNs điều khiển lựa chọn đường thích hợp số đường dẫn khả dụng SDNi phụ thuộc vào loại tài nguyên sẵn có khả sẵn có quản lý điều khiển khác miền Do đó, điều quan trọng phải thực SDNi phương thức mở để khả cung cấp loại điều khiển khác hỗ trợ Do SDN chất cho phép thay đổi, liệu trao đổi điều khiển có tính linh động Vì cần có số trao đổi siêu liệu (metadata) cho phép SDNi trao đổi thông tin khả không xác định.Các loại thông điệp cho SDNi dự kiến bao gồm: Cập nhật khả tiếp cận Thiết lập/cập nhật yêu cầu (bao gồm yêu cầu khả ứng dụng QoS, tốc độ liệu, độ trễ ) Cập nhật khả (bao gồm tính liên quan đến mạng, chẳng hạn tốc độ liệu QoS, khả hệ thống phần mềm có sẵn bên miền) NHĨM 50 CHƯƠNG 5: TÌM HIỂU VÀ TRIỂN KHAI BỘ ĐIỀU KHIỂN OPENDAYLIGHT Chứa kiến trúc OpenDaylight khả SDNi để kết nối nhiều điều khiển liên kết OpenDaylight mạng chia sẻ thông tin topology số chúng Khả phù hợp với đặc tả IETF cho chức SDNi Ứng dụng SDNi triển khai điều khiển OpenDaylight bao gồm ba thành phần Trình kết hợp SDNi: Plug-in SDNi hướng Bắc hoạt động trình tổng hợp để thu thập thông tin mạng topo, thống kê định danh máy chủ lưu trữ Plug-in phát triển để đáp ứng nhu cầu liệu mạng yêu cầu chia sẻ qua điều khiển SDN liên kết SDNi REST API: API SDNi REST thu thập thông tin tổng hợp từ plug-in hướng Bắc (trình kết hợp SDNi) SDNi Wrapper: Wrapper SDNi BGP có trách nhiệm chia sẻ thu thập thông tin gửi/nhận từ điều khiển liên kết 5.6 Triển khai OpenDaylight Cài đặt máy ảo Ubuntu Cài đặt môi trường Java cho Ubuntu: • • Dùng lệnh: sudo apt-get -y install openjdk-8-jre sudo update-alternatives config java để nâng cấp cấu hình Hình 5.7 Kích hoạt Java Lệnh nano ~/.bashrc để mở thêm export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/jre (thêm JAVA_HOME vào môi trường làm việc Ubuntu) NHĨM 51 CHƯƠNG 5: TÌM HIỂU VÀ TRIỂN KHAI BỘ ĐIỀU KHIỂN OPENDAYLIGHT Hình 5.8 Kích Hoạt Java mơi trường Ubuntu • Lệnh echo $JAVA_HOME để kiểm tra lại $JAVA_HOME -Cài đặt OpenDaylight: • Dùng lệnh wget để tải file cài đặt OpenDaylight: wget https://nexus.opendaylight.org/content/groups/public/org/opendaylight/integr ation/distribution-karaf/0.6.4-Carbon/distribution-karaf-0.6.4-Carbon.tar.gz • • Lệnh tar –xvf distribution-karaf-0.6.4-Carbon.tar.gz để giải nén file vừa tải Khởi động OpenDaylight lệnh: NHÓM 52 CHƯƠNG 5: TÌM HIỂU VÀ TRIỂN KHAI BỘ ĐIỀU KHIỂN OPENDAYLIGHT cd distribution-karaf-0.6.4-Carbon/ (đi đến file opendaylight) /bin/karaf (khởi động OpenDaylight) Hình 5.9:Khi cài đặt hồn tất Opendaylight ubuntu Sau Opendaylight khởi động,ta dùng lệnh feature:list –installed để hiển thị danh sách tính có Opendaylight Tiếp theo lệnh feature:install odl-restconf odl-l2switch-switch Dùng lệnh feature:list | grep odl-dlux để hiển thị tính cần cài đặt Cuối ta dùng lệnh feature:install odl-dluxapps-applications odl-dluxappsnodes odl-dluxapps-topology odl-dluxapps-yangui odl-dluxapps-yangvisualizer odldluxapps-yangutils odl-dlux-core ( odl-dluxapps-applications odl-dluxapps-nodes odldluxapps-topology odl-dluxapps-yangui odl-dluxapps-yangvisualizer odl-dluxappsyangutils odl-dlux-core tên tính cần cài) NHĨM 53 CHƯƠNG 5: TÌM HIỂU VÀ TRIỂN KHAI BỘ ĐIỀU KHIỂN OPENDAYLIGHT Để kiểm tra lại tính cài đặt hay chưa,ta dùng lệnh feature:list – installed Sau cài đặt khởi động OpenDaylight,ta tiến hành kết nối topo mạng switch host với điều khiển OpenDaylight Tại giao diện Mininet,ta dùng lệnh cd mininet/custom để đến file topo mạng switch host tạo Sau ta gõ lệnh sudo mn –controller=remote,ip=192.168.43.244,port=6653 – custom 3s4h.py –topo mytopo để nối điều khiển với topo mạng ( ip=192.168.43.244 địa máy ảo Ubuntu chứa điều khiển OpenDaylight,3s4h.py file topo mạng switch host) Vậy ta xây dựng xong topo mạng switch host dùng điều khiển OpenDaylight NHĨM 54 CHƯƠNG 5: TÌM HIỂU VÀ TRIỂN KHAI BỘ ĐIỀU KHIỂN OPENDAYLIGHT Hình 5.10:Giao diện Opendaylight bật web TÀI LIỆU KHAM KHẢO [1] Bài giảng chuyên đề SDN, Nguyễn Xuân Khánh, Tháng 03/2020 NHÓM 55 ... DỰNG MỘT MẠNG SDN ĐƠN GIẢN CHƯƠNG XÂY DỰNG MỘT MẠNG SDN ĐƠN GIẢN 2.1 Mơ hình mạng SDN triển khai Hình 2.1 Mơ hình mạng Mơ hình mạng gồm có: CO (bộ điều khiển), Switch Host 2.2 Triển khai mạng SDN. .. trình bày báo cáo chun đề ? ?Triển khai mạng SDN đơn giản? ?? gồm nội dung sau: Chương 1: Giới thiệu tổng quan công cụ đươc sử dụng demo Chương 2: Xây dựng mạng SDN đơn giản Chương 3: Các chế tạo... DỰNG MỘT MẠNG SDN ĐƠN GIẢN Hình 2.5 Nội dung file topo3sw-4h.py Khởi chạy mạng vừa tạo lệnh sudo mn custom topo3sw-4h.py topo mac switch ovsk controller remote NHÓM 18 CHƯƠNG XÂY DỰNG MỘT MẠNG