什么是网络API以及用例

什么是API?

API(application programming interface,应用程序编程接口)可使不同的应用程序通过一套机制和协议相互通信。同样,网络 API 可实现网络与应用程序、网络浏览器和数据库之间的通信。

使用表征状态传输(REST)架构的 API 通常被称为 RESTful API。这些 API 通常用于网络。RESTful API 使用 HTTP 方法收集和操作数据,而 HTTP 则使用 RESTful API 与数据交互。

OSI 模型等框架为不同供应商的应用程序和设备在网络中相互通信的方式带来了标准化。不同供应商的应用程序接口可以进行交互,因为它们遵循不同方法和框架。

应用程序接口和数据库还可以使用创建、读取、更新和删除(CRUD)函数来存储和修改数据。CRUD 函数与 HTTP 函数有相似之处,如图所示。

增删改查 HTTP功能 动作 用例
create post 远程配置网络 添加虚拟 LAN (VLAN)
read get 通过遥测列出网络设备 远程列出网络中的设备
update put/patch 修改网络配置 更改 VLAN 的名称
delete delete 删除未使用的 VLAN 删除 VLAN

网络 API 用例

几十年来,网络的事实标准一直是命令行界面 (CLI)。随着智能设备和大数据的普及,全球范围内的网络变得越来越大,管理起来也越来越复杂。但是,命令行形式并不是为支持这种大规模部署场景而设计的,它往往会导致繁琐的任务和人为错误。

与此相对的,网络 API则可以帮助网络工程师更轻松地管理网络,减少人工运维中的错误,通过引入自动化和脚本等概念还可以支持可编程网络。

网络 API 的常见用例如下:

| 用例 | 场景 | 价值 |
| 批量部署 | 需要为 1,000 个网络设备部署软件更新。使用单个 API 请求即可一次性完成所有操作。 | 一台一台地配置或更新设备非常繁琐,API 可以提供帮助。 |
| 网络遥测 | 需要远程查看活动设备。 | 使用 API 提供了一种查看设备的简单方法,并且与 CLI 相比,您可以使用高级功能来过滤结果。 |

配置 需要自动执行手动任务,例如配置端口或负载平衡策略。 避免复杂配置的繁琐 CLI 任务。

管理员在使用设备、应用程序和平台时往往没有感知,但 API的存在对于这些交互是必不可少的。以下是一些业内常见的API类型:

| API | 定义 | 使用案例 |
| RESTCONF | 基于 HTTP 的协议,提供编程接口来访问 Yang 中定义的数据 | 使网络管理员能够访问不同的网络设备 |
| OpenFlow | 用于在网络设备中实施软件定义网络的多供应商标准 | 帮助完成负载平衡、路由、拓扑发现和其他任务 |

NETCONF & YANG API 用于管理网络设备的管理网络协议 修改配置、删除、获取网络设备状态

管理员了解 API 的最佳方式是评估如何改进管理网络的方式,并在应对各类真实挑战的过程中不断思考、创新。管理员可以使用不同的工具与网络 API 进行交互,例如以下工具:

  • cURL:一种命令行工具,开发人员使用它将数据传输到服务器或从服务器传输数据。
  • Postman.:用于构建和使用 API 的 API 平台。
  • Visual Studio Code(VS 代码):世界上最先进的代码编辑器之一,网络工程师可以使用 VS Code 工具编写代码,自动执行日常任务,或构建高级自定义脚本,与网络 API 交互。

网络已经走向了可编程时代,网络 API 已成为新的 CLI。编程能力将会成为未来网络工程师的一项有用技能,迎接变革,我们将一起在不断变化的技术行业中茁壮成长。

相关阅读 :

关注vx公号"星融元Asterfusion",获取更多技术分享和最新产品动态。

相关推荐
xu_yule37 分钟前
网络和Linux网络-3(套接字编程)TCP网络通信代码
linux·网络·tcp/ip
喜欢吃豆2 小时前
使用 OpenAI Responses API 构建生产级应用的终极指南—— 状态、流式、异步与文件处理
网络·人工智能·自然语言处理·大模型
xixixi777772 小时前
解析一下存储安全——“它是什么”,更是关于“它为何存在”、“如何实现”以及“面临何种挑战与未来”
网络·安全·通信
运维有小邓@2 小时前
实时日志关联分析工具:智能检测潜在安全威胁
运维·网络·安全
j***57683 小时前
电脑可以连接wifi,但是连接后仍然显示没有网络
网络·电脑·php
brave and determined4 小时前
接口通讯学习(day04):RS-232与RS-485:通信接口全解析
网络·uart·通讯·emc·rs232·rs485·嵌入式设计
檀越剑指大厂4 小时前
在家也能远程调代码?WSL+cpolar 的实用技巧分享
网络
秋邱4 小时前
价值升维!公益赋能 + 绿色技术 + 终身学习,构建可持续教育 AI 生态
网络·数据库·人工智能·redis·python·学习·docker
爱学习的大牛1234 小时前
如何系统学习网络渗透测试:从入门到精通的完整指南
网络·学习
程序猿编码4 小时前
PRINCE算法的密码生成器:原理与设计思路(C/C++代码实现)
c语言·网络·c++·算法·安全·prince