Foto-Ruhrgebiet - stock.adobe.co
Ein Leitfaden für Netzwerk-APIs und ihre Anwendungsfälle
Eine API ermöglicht die Kommunikation zwischen zwei Anwendungen. Netzwerk-APIs sind für die Kommunikation zwischen der Netzwerkinfrastruktur, ihren Protokollen und Anwendungen da.
Eine Application Programming Interface (API) ist eine Schnittstelle, die es verschiedenen Anwendungen ermöglicht, über eine Reihe von Mechanismen und Protokollen miteinander zu kommunizieren. In ähnlicher Weise ermöglicht eine Netzwerk-API die Kommunikation zwischen dem Netzwerk und Anwendungen, Webbrowsern und Datenbanken.
Eine API, die die REST-Architektur (Representational State Transfer) verwendet, wird oft als RESTful API bezeichnet. Diese APIs werden häufig in Netzwerken verwendet. RESTful-APIs setzen HTTP-Methoden zur Erfassung und Bearbeitung von Daten ein, während HTTP-RESTful-APIs zur Interaktion mit Daten nutzt.
Rahmenwerke wie das OSI-Modell sorgen für eine Standardisierung der Art und Weise, wie Anwendungen und Geräte verschiedener Anbieter in einem Netzwerk miteinander kommunizieren. APIs verschiedener Anbieter können interagieren, da sie den Methoden und Frameworks für verschiedene Stack-Schichten folgen.
APIs und Datenbanken können auch Funktionen zum Erstellen, Lesen, Aktualisieren und Löschen (Create, Read, Update and Delete, CRUD) verwenden, um Daten zu speichern oder zu ändern. CRUD-Funktionen haben Ähnlichkeiten mit HTTP-Funktionen sind hier zu sehen:
CRUD-Funktion |
HTTP-Funktion |
Aktion |
Anwendungsfall |
CREATE |
POST |
Ein Netzwerk aus der Ferne konfigurieren |
Hinzufügen eines virtuellen LANs (VLAN) |
READ |
GET |
Netzwerkgeräte über Telemetrie auflisten |
Geräte in einem Netzwerk aus der Ferne auflisten |
UPDATE |
PUT/PATCH |
Ändern einer Netzwerkkonfiguration |
Ändern eines VLAN-Namens |
DELETE |
DELETE |
Ungenutzte VLANs löschen |
Ein VLAN löschen |
Anwendungsfälle für Netzwerk-APIs
Jahrzehntelang war die Kommandozeile (CLI) der De-facto-Standard in Netzwerken. Mit der Verbreitung intelligenter Geräte und großer Datenmengen wurden die Netzwerke immer größer und komplexer, was die Verwaltung auf globaler Ebene angeht. Die Kommandozeile war jedoch nicht für diesen Umfang ausgelegt, was oft zu langwierigen Aufgaben und menschlichen Fehlern führte.
Netzwerk-APIs können Netzwerkingenieuren helfen, Netzwerke einfacher und mit weniger Fehlern zu verwalten. Außerdem unterstützen sie programmierbare Netzwerke, die Konzepte wie Automatisierung und Skripting einführen.
Häufige Anwendungsfälle für Netzwerk-APIs sind:
- Action Batches
- Telemetrie
- Provisionierung
Anwendungsfall |
Wann APIs verwenden |
Warum |
Action Batches |
Sie müssen ein Software-Update für 1.000 Netzwerkgeräte bereitstellen. Verwenden Sie eine einzige API-Anfrage, um alles auf einmal zu erledigen. |
Es ist mühsam, Geräte einzeln zu konfigurieren oder zu aktualisieren. APIs können dabei helfen. |
Telemetrie |
Sie müssen aktive Geräte aus der Ferne sehen können. |
Das Verwenden einer API bietet eine einfache Möglichkeit, die Geräte anzuzeigen. Im Vergleich zur CLI können Sie die Ergebnisse mit erweiterten Funktionen filtern. |
Provisionierung |
Sie müssen manuelle Aufgaben, wie die Konfiguration von Ports oder Lastausgleichsrichtlinien, automatisieren. |
Vermeiden langwieriger CLI-Aufgaben für komplexe Konfigurationen.
|
Bewährte Verfahren für die Verwendung von Netzwerk-APIs
APIs verändern die Arbeitsweise von Netzwerktechnikern. Leider sind APIs in einer Welt, in der Netzwerke programmierbar sind, auch anfällig für Cyberangriffe von Bedrohungsakteuren.
Netzwerk- und Sicherheitsteams können Ressourcen wie die Top-10-Liste des Open Web Application Security Project (OWASP) nutzen, um gängige Bedrohungen zu verstehen und bessere API-Praktiken wie sichere Kodierung zu ermöglichen.
Weitere bewährte API-Praktiken sind:
- Senden und empfangen Sie Daten im JSON-Format.
- Verwenden Sie keine Verben in URLs.
- Denken Sie über die Versionierung von Uniform Resource Identifier nach.
- Erwägen Sie Optionen zur Datenfilterung.
- Prüfen Sie die OWASP Top 10 Schwachstellen.
API-Beispiele
Benutzer bemerken oft nicht, was passiert, wenn sie Geräte, Anwendungen und Plattformen verwenden, aber APIs sind für diese Interaktionen unerlässlich.
Hier sind einige bekannte Multivendor-APIs:
API |
Definition |
Anwendungsfall |
RESTCONF |
Ein HTTP-basiertes Protokoll, das eine programmatische Schnittstelle für den Zugriff auf in Yang definierte Daten bietet. |
Ermöglicht einem Netzwerkadministrator den Zugriff auf verschiedene Netzwerkgeräte. |
OpenFlow |
Ein herstellerübergreifender Standard für die Implementierung von Software-definierten Netzwerken in Netzwerkausrüstung. |
Hilft bei Load Balancing, Routing, Topologieerkennung und anderen Aufgaben. |
NETCONF and YANG API |
Ein Management-Netzwerkprotokoll, das zur Verwaltung von Netzwerkgeräten verwendet wird. |
Ändert Konfigurationen, löscht und ermittelt den Status von Netzwerkgeräten. |
Der beste Weg für Admins, APIs zu verstehen, besteht darin, zu bewerten, wie sie das Management von Netzwerken verbessern und durch die verschiedenen Herausforderungen zu lernen. Admins können verschiedene Tools verwenden, um mit Netzwerk-APIs zu interagieren, zum Beispiel:
- cURL: Ein Befehlszeilen-Tool, das Entwickler verwenden, um Daten zu und von einem Server zu übertragen.
- Postman: Eine API-Plattform für das Entwickeln und Verwenden von APIs.
- Visual Studio Code (VS Code): Einer der fortschrittlichsten Code-Editoren der Welt. Netzwerktechniker können VS Code verwenden, um Code zur Automatisierung täglicher Routineaufgaben zu schreiben oder fortschrittliche benutzerdefinierte Skripte zur Interaktion mit Netzwerk-APIs zu erstellen.
Programmierbarkeit verändert das Netzwerk
Das Netzwerk ist jetzt programmierbar, und die Fähigkeit zu programmieren ist eine hilfreiche Fähigkeit für Netzwerktechniker. Netzwerk-APIs sind die neue CLI geworden. Diejenigen, die den Wandel zur Automatisierung annehmen, werden in der sich wandelnden Technologiebranche erfolgreich sein. Die Vernachlässigung dieser Chance könnte dazu führen, dass Netzwerktechniker in Unternehmen irrelevant werden.
Die Automatisierung ist kein Ersatz für die Netzwerkarbeit, aber sie bietet die Möglichkeit, Dinge besser und schneller zu erledigen in einer Welt, in der Flexibilität der Schlüssel zum Erfolg ist.