Phần mềm tự động hóa hoạt động trong giới hạn của các hướng dẫn, công cụ và khuôn khổ đó để thực hiện các nhiệm vụ mà không có hoặc không có sự can thiệp của con người Do đó , Network au
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI
Trang 2Thành Viên Nhóm 3 :
Xác nhận đồng ý nội dung của bản báo cáo hiện tại của tất cả thành viên
Mức độ hoàn thành đề tài: 100%
* Mức độ hoàn thành của các thành viên
Nguyễn Thanh Hoàng 18200110
Software Define Networking
Trang 3
Mục Lục
1.1 Giới thiệu trang 4
1.2 Nguyên nhân cần Netword Automation trang 5
1.3 Network automation users trang 6
1.4 Cách thức network automation hoạt động trang 6
1.5 Intelligent network automation trang 7
1.6 Ví dụ về network automation trang 7
1.7 5G network automation trang 8
II.Network programmability trang 10
2.1 Network programmabilty là gì? trang 10 2.2 Lịch sử của network programmabilty trang 11 2.3 Các nguyên tắc cơ bản trong network programmabilty trang 11 2.4 Lợi ích của network programmabilty trang 13
III.SDN trang 13 3.1 Khái niệm trang 13 3.2 Kiến trúc của SDN trang 14 3.3 Cách hoạt động của SDN trang 15
IV.Các loại network automation trang 16 4.1 Network automation theo hướng tập lệnh(script) trang 16 4.2 Network automation đựa trên phần mềm trang 17 4.3 Network automation dựa trên mục đích trang 17
V.Lợi ích và thách thức của network automation trang 17 5.1 Lợi ích của network automation trang 17 5.2 Những thách thức trang 18
VI.Ngôn ngữ lập trình và công cụ trang 18 6.1 Công cụ trang 18 6.2 Ngôn ngữ lập trình trang 19
VII.Các phương pháp để dùng network automation trang 19
Tài liệu tham khảo trang 21
Trang 4I Network Automation
1.1 Giới thiệu
Networking là việc sử dụng phần cứng — như thẻ giao diện mạng, cáp ethernet và thiết bị chuyển mạch — cũng như phần mềm — chẳng hạn như phần mềm tạo mạng do phần mềm xác định (SDN), mạng diện rộng do phần mềm xác định (SD-WAN) và mạng ảo hóa các chức năng (NFV) —để vận chuyển dữ liệu giữa các điểm cuối được gọi là các nút
Automaton là việc sử dụng công nghệ để thực hiện các nhiệm vụ với sự trợ giúp của con người automation IT là việc sử dụng phần mềm để tạo ra các hướng dẫn
và quy trình lặp lại nhằm thay thế hoặc giảm bớt sự tương tác của con người với hệthống IT Phần mềm tự động hóa hoạt động trong giới hạn của các hướng dẫn, công cụ và khuôn khổ đó để thực hiện các nhiệm vụ mà không có hoặc không có
sự can thiệp của con người
Do đó , Network automation là quá trình tự động hóa việc cấu hình, quản lý, kiểm tra, triển khai và vận hành các thiết bị vật lý và ảo trong mạng Với các nhiệm vụ
và chức năng mạng hàng ngày, các quy trình tự động và lặp đi lặp lại được kiểm soát và quản lý tự động, tính khả dụng của dịch vụ mạng được cải thiện
Bất kỳ loại mạng nào cũng có thể sử dụng Network automation Các giải pháp dựa trên phần cứng và phần mềm cho phép các trung tâm dữ liệu, nhà cung cấp dịch vụ
và doanh nghiệp thực hiện tự động hóa mạng để nâng cao hiệu quả, giảm lỗi do con người và giảm chi phí vận hành
Network Automation sẽ tách biệt người quản trị mạng ra khỏi các chi tiết phần cứng và các chi tiết phần mềm phức tạp Nó sẽ cho phép các phần mềm tương tác trực tiếp với hạ tầng mạng
Network Automation được hiện thực thông qua hai thành phần chủ chốt: mạng hỗ trợ lập trình (network programmability) và mạng định nghĩa bởi phần mềm
(Software Define Networking - SDN)
Trang 5vụ trên quy mô lớn và giảm thời gian trung bình để giải quyết (MTTR) đối với các gián đoạn dịch vụ.
Load balancing and failover: tải ứng dụng phải được cân bằng trên cơ sở hạ tầng
để tối ưu hóa hiệu suất và chi phí Cân bằng tải theo cách thủ công có thể dẫn đến hiệu suất ứng dụng kém và trì hoãn chuyển đổi dự phòng khi hệ thống phát sinh sự
cố Tự động hóa bộ cân bằng tải của bạn giúp loại bỏ nhu cầu can thiệp thủ công, cho phép điều chỉnh liên tục nhanh hơn và chuyển đổi dự phòng để cải thiện hiệu suất và độ tin cậy của ứng dụng.
1.2 Nguyên nhân cần Network Automation
Network Automation cho phép bạn tăng tốc độ triển khai ứng dụng bằng cách tự
động hóa việc cung cấp và quản lý mạng và bảo mật thông qua các vòng đời ứng dụng hoàn chỉnh và trên các môi trường trung tâm dữ liệu và đám mây
Tự động hóa IT của bạn: Thực hiện bước tiếp theo trong quá trình chuyển đổi kỹ thuật số bằng cách ảo hóa và tự động hóa các hoạt động mạng và bảo mật - một lĩnh vực cơ sở hạ tầng theo truyền thống chủ yếu dựa trên phần cứng và yêu cầu cung cấp và quản lý thủ công
Tăng tốc phát triển ứng dụng mới: Kết hợp các ứng dụng gốc đám mây mới
và quy trình làm việc DevOps với mạng và quản lý bảo mật, dễ dàng tích hợp vào các quy trình của nhà phát triển mà không yêu cầu trang bị lại
Trang 6 Xem rõ ràng trên môi trường: Trao đổi một cái nhìn hạn chế truyền thống
về lưu lượng mạng và phụ thuộc bảo mật để có khả năng hiển thị toàn cầu
và khắc phục sự cố dễ dàng đối với mạng và chính sách bảo mật của bạn
1.3 Network automation users
Trong khi các nhà cung cấp dịch vụ viễn thông là một trong những người đầu tiên
áp dụng Network automation để cải thiện mạng kỹ thuật số, các công ty trong mọi ngành đều có thể hưởng lợi từ Network automation
Một số nhà cung cấp dịch vụ điển hình:
Swisscom quản lý tự động khoảng 15.000 thành phần mạng và IT để
chuyển trọng tâm sang các dự án phát triển có giá trị hơn và tăng tốc thời gian phản hồi cho các yêu cầu tài nguyên — mà Swisscom dự đoán sẽ tiết kiệm hơn 3.000 giờ thường dành cho các tác vụ thủ công
Surescripts tự động hóa các quy trình IT và các hoạt động chuyển đổi dự phòng để tăng tốc độ triển khai thiết bị mạng và máy chủ, giải quyết vấn đề
và khởi chạy các ứng dụng mới cho khách hàng — dẫn đến 2 giờ mỗi dịch
vụ được lưu trong các sự cố chuyển đổi dự phòng
1.4 Cách thức Network automation hoạt động
Phần mềm network automation tìm ra cách hiệu quả nhất để lập bản đồ, cấu hình, cung cấp và quản lý mạng Tự động hóa dựa trên API thay thế các hướng dẫn thủ công, dòng lệnh để định cấu hình từng thiết bị mạng Các API có thể được gọi trực tiếp hoặc thông qua một ngôn ngữ lập trình, ví dụ như Python, Java hoặc Go Tập lệnh chỉ là một khía cạnh của tự động hóa mạng — một nền tảng tự động hóa hiện đại giám sát tài nguyên mạng khi cấp phép và xác minh rằng một mạng sẽ có thể
xử lý một yêu cầu cấu hình trước khi thực hiện nó
Trang 7Network automation tương tự như lập trình phần mềm vì nó sử dụng logic và khuôn khổ có thể so sánh được để quản lý và lập lịch trình tự động hóa các tác vụ khác nhau Các câu lệnh quyết định "if X, then Y" phổ biến được sử dụng để lập trình tự động hóa vào mạng.
Quản trị viên có thể sử dụng các công cụ được tích hợp vào nền tảng mạng Ngoài
ra, họ có thể tạo và thực thi các tập lệnh tự động hóa cho các thành phần mạng bằng cách sử dụng phần mềm của bên thứ nhất hoặc thứ ba
Các nền tảng SDN hiện đại sử dụng mặt phẳng điều khiển tập trung và thường có các tác vụ tự động hóa thường được sử dụng và xây dựng trước có thể được điều chỉnh và lên lịch Như một cách thay thế khác, các nhóm mạng có thể sử dụng các công cụ bên ngoài để tạo các tập lệnh và thực thi chúng thông qua giao diện dòng lệnh (CLI) hoặc giao diện lập trình ứng dụng (API)
1.5 Intelligent network automation
Một dạng tự động hóa mạng thông minh phức tạp hơn sử dụng máy học và dữ liệu lớn để xác định cách tốt nhất để định cấu hình và quản lý mạng nhằm đáp ứng các mục tiêu kinh doanh cụ thể Mạng thông minh sử dụng chế độ xem tập trung, cấp cao của toàn bộ mạng để xác định cách mạng hoạt động để đáp ứng các mục tiêu này, thay vì định cấu hình từng cổng hoặc thiết bị riêng lẻ
Mạng dựa trên mục đích có một cái nhìn tổng thể về cách một yêu cầu kinh doanh
sẽ ảnh hưởng đến mạng và đưa ra các giải pháp khác nhau để đáp ứng yêu cầu đó Mạng dựa trên mục đích được săn đón vì các kỹ sư mạng có thể dễ dàng mở rộng mạng để đáp ứng các mục tiêu khác nhau và giảm số lượng cấu hình sai do lỗi của con người
1.6 Ví dụ về network automation
Khi sử dụng network automation với virtualization(ảo hóa), mạng do phần mềm xác định (SDN) được kết hợp với công nghệ ảo hóa các chức năng mạng (NFV) đểđịnh cấu hình và thay đổi mạng theo mục tiêu kinh doanh hoặc dịch vụ SDN kiểm soát cách các thiết bị phần cứng hoạt động Quản trị viên có thể tạo mạng phần mềm ảo giữa các máy ảo hoặc quản lý nhiều mạng vật lý bằng phần mềm kết nối mạng Network virtualization và network automation đặc biệt hữu ích cho các môi trường trải qua mức tăng đột biến sử dụng ngoài kế hoạch vì mạng tự động có thể
Trang 8đáp ứng các mức tăng này bằng cách tự động chuyển hướng lưu lượng mạng đến máy chủ trong các khu vực mạng ít bị ảnh hưởng hơn.
Có một số dự án mã nguồn mở dành riêng cho việc thiết lập các tiêu chuẩn cho network automation thông qua virtualization Ví dụ: European
Telecommunications Standards Institute (ETSI) Industry Specification Group (ISG) về NFV thì Management and Orchestration (MANO) tập trung vào việc quản lý và điều phối tài nguyên mạng trong các trung tâm dữ liệu dựa trên đám mây Các tiêu chuẩn này sẽ cho phép giao tiếp tốt hơn và hiệu quả hơn giữa các nền tảng SDN và NFV
Các công cụ network automation có nhiều loại và có rất nhiều công ty tự động hóamạng cung cấp các loại phần mềm tnetwork automation khác nhau Các ý tưởng tựđộng hóa mạng vẫn đang xuất hiện — các tổ chức thông minh sẽ bắt đầu với các trường hợp sử dụng tự động hóa mạng cấp bách nhất của họ và chọn một công cụ phù hợp để trợ giúp với các quy trình đó
1.7 5G network automation
Network automation theo một số cách, là quá trình nguyên tử cốt lõi của mạng 5G
và điện toán đám mây Tự động hóa mạng bảo mật, cung cấp và quản lý các thiết
bị mạng Hệ thống điều phối phối hợp tự động hóa mạng trên quy mô lớn trên nhiều miền
Cơ sở hạ tầng viễn thông được ảo hóa và dựa trên đám mây cần tự động hóa mạng
để hoạt động trên quy mô lớn Không thể quản lý sự phức tạp hoạt động đáng kinh ngạc như vậy nếu không có nó Các ứng dụng gốc đám mây hoặc microservices, quay lên và xuống gần như ngay lập tức Tóm tắt từ phần cứng mà nó chạy trên, đám mây hoạt động trên một hoặc hàng nghìn máy chủ
Tự động hóa mạng giúp tăng quy mô, tính tức thời và năng động.5 trường hợp sử dụng tự động hóa mạng 5G hàng đầu:
5G Core network:5G Core network sẽ không hoạt động nếu không có
automation network Lõi 5G độc lập (SA) sử dụng kiến trúc dựa trên dịch vụ (SBA) phản ánh đám mây IT Nó được thiết kế để trở nên năng động và có quy
mô giống như cách hoạt động của đám mây CNTT, được xây dựng trên cơ sở
hạ tầng tự động hóa mạng.5G Core network hợp nhất các yếu tố tự động hóa mạng trong đám mây viễn thông
Trang 9 Multi-access edge computing (MEC): Edge computing mang đám mây đến gầnhơn với người dùng Định vị vật lý máy tính và lưu trữ giữa trung tâm dữ liệu
và khách hàng giúp các công ty viễn thông cung cấp độ trễ thấp, độ tin cậy cực cao và khả năng mở rộng như đã hứa của 5G Multi-access edge computing (MEC) không phải là duy nhất của 5G, nhưng nó là công nghệ nền tảng của 5G.MEC, theo định nghĩa, trải dài trên nhiều miền mạng Quá trình đó là
không thể nếu không có tự động hóa mạng Việc cung cấp mạng phải trải rộng trên nhiều miền: mạng WAN siêu cấp, mạng 5G của nhà cung cấp dịch vụ, cơ
sở tại chỗ hoặc mạng riêng Hệ thống điều phối thúc đẩy quá trình tự động hóa mạng khiến điều đó xảy ra
5G network slicing:Network slicing cho phép các nhà cung cấp dịch vụ xây dựng các mạng ảo trên cơ sở hạ tầng dùng chung Đây là một lựa chọn hấp dẫn cho chính phủ, vận tải y tế / ô tô, năng lượng và tiện ích, sản xuất cũng như truyền thông và giải trí Các lát mạng có thể được tùy chỉnh với các yêu cầu dịch vụ cụ thể cho doanh nghiệp như độ trễ thấp, băng thông lớn hoặc bảo mật cao hơn
Virtualized RAN:Các động lực ảo hóaRadio Area Network (RAN) cần tự động hóa mạng nhất quán và có thể lặp lại tới 10 mili giây Bộ điều khiển thông minh RAN của thiết kế Open RAN, hoặc RIC, là nền tảng phần mềm được sử dụng để kiểm soát và tối ưu hóa các điều kiện RAN.RIC bao gồm cả các thành phần không thời gian thực (không phải RT) và gần thời gian thực (gần RT), cả hai đều quản lý các chức năng riêng biệt của RAN Các dịch vụ vi mô chuyên biệt (rApps và xApps) hoạt động từ RIC điều chỉnh các chức năng mạng riêng lẻ
Trang 10 Hybrid cloud Các đám mây kết hợp bảo vệ tài nguyên của doanh nghiệp trong một đám mây riêng đặt tại trụ sở hoặc trong một cơ sở đặt địa điểm hoặc trung tâm dữ liệu, đồng thời cung cấp quyền truy cập an toàn vào các dịch vụ đám mây công cộng và viễn thông.Các giải pháp đám mây lai đang nổi lên như những lựa chọn hiệu quả cho các doanh nghiệp có nhu cầu bảo mật và chủ quyền dữ liệu cụ thể Các doanh nghiệp sử dụng đám mây lai thường yêu cầu quản lý chi phí, hoạt động linh hoạt và quản lý rủi ro tốt hơn so với các giải pháp khác.
II.N etwork programmability (mạng hỗ trợ lập trình)
2.1 Network programmability là gì?
- Network programmability là mạng trong đó hoạt động của các thiết bị mạng và điều khiển luồng được xử lý bởi phần mềm hoạt động độc lập với phần cứng của mạng Bản chất cơ bản của mạng lập trình là tách phần cứng vật lý bên dưới khỏi phần mềm điều khiển của thiết bị
- Khả năng lập trình mạng là việc sử dụng phần mềm để triển khai, quản lý và khắcphục sự cố các phần tử mạng Một mạng có thể lập trình được điều khiển bởi một ngăn xếp phần mềm thông minh có thể thực hiện hành động dựa trên các yêu cầu trao đổi hoặc các sự kiện mạng
-Có ba dạng định dạng dữ liệu phổ biến là JSON, XML và YANG Việc chọn định dạng dữ liệu nào sẽ phụ thuộc vào router API hỗ trợ định dạng nào Nếu router API
hỗ trợ nhiều loại định dạng, chúng ta hãy chọn loại mà chúng ta quen thuộc hơn
- Bổ sung cho network programmability là Software Defined Networking (SDN) Thuật ngữ SDN hiện đã thay thế phần lớn thuật ngữ network programmability chung trong từ vựng mạng chung,không chỉ phân tách mặt phẳng điều khiển và mặt phẳng chuyển tiếp của các phần tử mạng mà còn cung cấp (giao diện lập trình ứng dụng) API để kiểm soát và quản lý chúng
-Thuật ngữ etwork programmability có thể có nhiều ý nghĩa khác nhau, tùy thuộc vào quan điểm Đối với một kỹ sư mạng, khả năng lập trình có nghĩa là tương tác với một phần mềm gắn trên thiết bị hoặc một nhóm thiết bị (cấu hình lái xe, khắc phục sự cố, v.v.) (về mặt logic) phía trên thiết bị Đối với một nhà phát triển, khả năng lập trình mạng có nghĩa là trừu tượng hóa mạng sao cho nó xuất hiện như mộtthiết bị duy nhất có thể được thao tác bằng phần mềm chuyên dụng hoặc trong phần mềm hiện có Cả hai quan điểm đều đúng và hướng tới cùng mục tiêu sử dụng mạng để nâng cao và bảo mật việc phân phối ứng dụng
Trang 11- Trong một số trường hợp, phần mềm sẽ được xây dựng có chủ đích để tương tác với mạng
Hình 1.1: mô tả mối quan hệ giữa phần mềm, API và mạng
2.2 Lịch sử của network programmability
- Một trong những nỗ lực ban đầu cho phép các kỹ sư và nhà vận hành mạng bắt đầu làm cho mạng có thể lập trình được là Giao thức quản lý mạng đơn giản
(SNMP) vào năm 1990
- SNMP hiển thị dữ liệu quản lý dưới dạng các biến được tổ chức trong cơ sở thông tin quản lý (MIB), cơ sở này mô tả trạng thái và cấu hình hệ thống Sau đó, các biến này có thể được truy vấn từ xa (và, trong một số trường hợp, bị thao túng) bằng cách quản lý các ứng dụng SNMP cũng hỗ trợ gửi thông báo, dựa trên cài đặtcấu hình sẵn, được gọi là SNMP Traps
- Một số kỹ thuật tự động hóa tồn tại trong những ngày đó, hầu hết ở dạng ngôn ngữ Script phức tạp hoặc cut và paste Ví dụ: quản trị viên có thể cắt và dán thông tin thiết bị đã bản địa hóa đang thay đổi, chẳng hạn như địa chỉ IP Tuy nhiên, với
sự phát triển theo cấp số nhân của các mạng, mức độ tự động hóa này đơn giản là không thể sử dụng được
2.3 Các nguyên tắc cơ bản của trong network programmability
A.Protocols(các giao thức)
Sử dụng các giao thức, như OpenFlow và các tiêu chuẩn mở và độc quyềnkhác, quản trị viên mạng giờ đây có thể kiểm soát và lập trình mạng ở một nơi và tại một thời điểm Tất cả phần cứng cơ bản hoạt động cùng nhau, giống như ai đó
đã nhấn vào tất cả các lệnh CLI đó trên mỗi thiết bị Tiến bộ quan trọng này cho