Aufgabenstellung
SDN ist ein neuer Trend bei der Vernetzung von Datacenter und Campus Netzwerken. Sein zentralisierter Ansatz soll sowohl den Betrieb vereinfachen als auch die Effizienz dieser Netzwerke massiv steigern - so zumindest das Versprechen dieser Technologie. Im Umfang dieser Bachelorarbeit sollen nun einerseits die technischen Aspekte von SDN beleuchtet werden und andererseits nach einer Bestandsaufnahme konkrete Produkte in Betrieb genommen und getestet werden. Dabei soll beurteilt werden, ob diese neue Technologie ihre Versprechen halten kann.
Ergebnisse
Software Defined Network steckt gemäss heutigem Stand noch immer in den Kinderschuhen. Bereits vor einigen Jahren wurden die entsprechenden Konzepte erarbeitet, konnten aber auf dem kommerziellen Markt nur in Einzelfällen Fuss fassen. Mit VMware NSX und Cisco ACI stehen Alternativen zur OpenFlow und OpenDaylight Implementation auf dem Markt bereit, welche diese Hürde bereits gemeistert haben und zu einem essenziellen Bestandteil in Data Centers geworden sind. Zum jetzigen Zeitpunkt darf man sich nicht von den Erfolgsgeschichten grosser Firmen mit Software Defined Networks blenden lassen, denn dahinter steckt noch sehr viel Aufwand, was für normalgrosse Unternehmen nicht rentabel wäre. Es muss auch ganz klar evaluiert werden, ob Software Defined Networks tatsächlich einen Mehrwert für das entsprechende Unternehmen bieten oder nur „Nice to Have“ sind. Von einer kompletten Implementation von SDN mit OpenFlow und OpenDaylight in einem Unternehmen ist zum jetzigen Zeitpunkt ganz klar abzuraten. Einerseits muss sehr viel Eigenleistung erbracht werden und entsprechende Automatisierungen und schnelleres zur Verfügung stellen des Netzwerks erreichen zu können. Diese Eigenleistung wird insbesondre auf die Ausnutzungen der SDN Controller Northbound API erbracht, welche nicht standarisiert sind und somit von SDN Controller Hersteller zu Hersteller verschieden sein kann. Da es sich bei den SDN Controller Northbound APIs um ziemliche Low Level APIs handelt, die sich am OpenFlow Standard orientieren, ist es durchaus denkbar, dass in den nächsten Jahren Applikationen basierend auf dem SDN Controller erscheinen werden, die ein einfacheres Administrieren des Netzwerks auf einer höheren Ebene zulassen und auf intelligente Weise die Vorteile von OpenFlow vollständig ausnutzen kann, ohne dass der Administrator OpenFlow verstehen muss. Bestrebungen in diese Richtungen sind bereits jetzt mit dem HP SDN Appstore und der hohen Anzahl an OpenDaylight Features feststellbar. Sobald diese Applikationen zur Verfügung stehen, die sämtliche Anforderungen an Software Defined Networks abdecken, auf einfache Weise administrierbar, finanziell erschwinglich sind und die entsprechende Stabilität aufweisen, wird SDN mit OpenFlow und OpenDaylight bereit sein, für eine grossflächige Implementation. Bis dahin aber ist man mit VMware NSX oder Cisco ACI besser bedient, die den notwendigen Reifegrad und Stabilität aufweisen.
Lösungskonzept
Die Idee hinter SDN ist, die Control Plane jedes Routers/Switches in einer zentralen Stelle zusammenzufassen (im SDN Controller) und von dort aus mit Hilfe des OpenFlow Protokolls die Data Planes der Routers/Switches zu steuern. Das OpenFlow Protokoll muss hierfür sowohl auf den Netzwerkgeräten implementiert sein, wie auch dem SDN Controller.
OpenFlow Netzwerkgeräte
Netzwerkgeräte die OpenFlow aktivert haben, treffen ihre Entscheidungen basiered auf Flows. Flows werden via Control Plane vom SDN Controller auf einem Netzwerkgerät einprogrammiert. Wenn also ein Datenpaket von einem Netzwerkgerät empfangen wird, so wird dieser überprüfen ob ein Flow auf das entsprechende Datenpaket zutrifft, beispielsweise an wen ist das Datenpaket adressiert oder wer hat es gesendet und wird dann entsprechende dem zugetroffenen Flow das Paket verarbeiten, und wird dies beispielsweise an einen bestimmten Ausgang am Netzwerkgerät weiterleiten. Es ist auch beispielsweise möglich, dass das Netzwerkgerät Datenpakete zur weiteren Analyse an den SDN Controller weiterleitet, welcher dann die entsprechende Entscheidung trifft, wie das Datenpaket weiter verarbeitet werden soll.
SDN Controller
Der SDN Controller ist das Gehirn einer jeden Software Defined Network Infrastruktur, er kann über die Southbound Schnittstelle mit Hilfe von OpenFlow Steuerbefehle an die Netzwerkgeräte senden, wie beispielsweise Flows. Weiter verfügt der SDN Controller über eine Northbound Schnittstelle, die es einer Applikationen ermöglicht, selber Veränderungen im Netzwerk vorzunehmen.
Aufgetretene Probleme
Während der Bachelorarbeit konnten mehrere Probleme identifiziert werden, weshalb zum jetzigen Zeitpunkt von einer Implementation in die produktive Umgebung des EnterpriseLabs abgeraten werden muss. Einerseits wird der OpenFlow Standard nicht von allen Netzwerkgeräte Herstellern gleich implementiert, was zu Problemen in der Interoperabilität führt. Weiter ist für die korrekte Implementation von SDN in einer Infrastruktur sehr viel Programmieraufwand notwendig, um die notwendigen Applikationen bauen zu können, die den Anforderungen an eine stabile, dynamische und automatisierte Netzwerkinfrastruktur gerecht werden können. Weiter konnte festgestellt werden, das für die Erkennung der Netzwerktopologie und die Sicherstellung der Kommunikation zwischen den Endgeräten sehr viel Netzwerkverkehr zwischen den Netzwerkgeräten und dem SDN Controller generiert wird, der für den produktiven Betrieb mit einer Vielzahl von Netzwerkgeräten und Endgeräten noch zu optimieren ist.
Ausblick
Software Defined Network mit OpenFlow hat das Potenzial sich in zu Zukunft zu einem essentiellen Bestandteil eines jeden grösseren Datacenters zu entwickeln. Hierfür wird es aber notwendig sein, das die Anbieter von SDN Lösungen nicht nur OpenFlow Netzwerkgeräte anbieten und einen SDN Controller, sondern auch SDN Applikationen, die den Anforderungen an eine stabile, dynamische und automatisierte Netzwerkinfrastruktur gerecht werden können. Bis aber dieser Grad an Reife für SDN erreicht ist, werden noch einige Jahre Aufwand für die Hersteller von SDN Lösungen notwendig sein.
Aufgabenstellung
SDN ist ein neuer Trend bei der Vernetzung von Datacenter und Campus Netzwerken. Sein zentralisierter Ansatz soll sowohl den Betrieb vereinfachen als auch die Effizienz dieser Netzwerke massiv steigern - so zumindest das Versprechen dieser Technologie. Im Umfang dieser Bachelorarbeit sollen nun einerseits die technischen Aspekte von SDN beleuchtet werden und andererseits nach einer Bestandsaufnahme konkrete Produkte in Betrieb genommen und getestet werden. Dabei soll beurteilt werden, ob diese neue Technologie ihre Versprechen halten kann.
Ergebnisse
Software Defined Network steckt gemäss heutigem Stand noch immer in den Kinderschuhen. Bereits vor einigen Jahren wurden die entsprechenden Konzepte erarbeitet, konnten aber auf dem kommerziellen Markt nur in Einzelfällen Fuss fassen. Mit VMware NSX und Cisco ACI stehen Alternativen zur OpenFlow und OpenDaylight Implementation auf dem Markt bereit, welche diese Hürde bereits gemeistert haben und zu einem essenziellen Bestandteil in Data Centers geworden sind. Zum jetzigen Zeitpunkt darf man sich nicht von den Erfolgsgeschichten grosser Firmen mit Software Defined Networks blenden lassen, denn dahinter steckt noch sehr viel Aufwand, was für normalgrosse Unternehmen nicht rentabel wäre. Es muss auch ganz klar evaluiert werden, ob Software Defined Networks tatsächlich einen Mehrwert für das entsprechende Unternehmen bieten oder nur „Nice to Have“ sind. Von einer kompletten Implementation von SDN mit OpenFlow und OpenDaylight in einem Unternehmen ist zum jetzigen Zeitpunkt ganz klar abzuraten. Einerseits muss sehr viel Eigenleistung erbracht werden und entsprechende Automatisierungen und schnelleres zur Verfügung stellen des Netzwerks erreichen zu können. Diese Eigenleistung wird insbesondre auf die Ausnutzungen der SDN Controller Northbound API erbracht, welche nicht standarisiert sind und somit von SDN Controller Hersteller zu Hersteller verschieden sein kann. Da es sich bei den SDN Controller Northbound APIs um ziemliche Low Level APIs handelt, die sich am OpenFlow Standard orientieren, ist es durchaus denkbar, dass in den nächsten Jahren Applikationen basierend auf dem SDN Controller erscheinen werden, die ein einfacheres Administrieren des Netzwerks auf einer höheren Ebene zulassen und auf intelligente Weise die Vorteile von OpenFlow vollständig ausnutzen kann, ohne dass der Administrator OpenFlow verstehen muss. Bestrebungen in diese Richtungen sind bereits jetzt mit dem HP SDN Appstore und der hohen Anzahl an OpenDaylight Features feststellbar. Sobald diese Applikationen zur Verfügung stehen, die sämtliche Anforderungen an Software Defined Networks abdecken, auf einfache Weise administrierbar, finanziell erschwinglich sind und die entsprechende Stabilität aufweisen, wird SDN mit OpenFlow und OpenDaylight bereit sein, für eine grossflächige Implementation. Bis dahin aber ist man mit VMware NSX oder Cisco ACI besser bedient, die den notwendigen Reifegrad und Stabilität aufweisen.
Lösungskonzept
Die Idee hinter SDN ist, die Control Plane jedes Routers/Switches in einer zentralen Stelle zusammenzufassen (im SDN Controller) und von dort aus mit Hilfe des OpenFlow Protokolls die Data Planes der Routers/Switches zu steuern. Das OpenFlow Protokoll muss hierfür sowohl auf den Netzwerkgeräten implementiert sein, wie auch dem SDN Controller.
OpenFlow Netzwerkgeräte
Netzwerkgeräte die OpenFlow aktivert haben, treffen ihre Entscheidungen basiered auf Flows. Flows werden via Control Plane vom SDN Controller auf einem Netzwerkgerät einprogrammiert. Wenn also ein Datenpaket von einem Netzwerkgerät empfangen wird, so wird dieser überprüfen ob ein Flow auf das entsprechende Datenpaket zutrifft, beispielsweise an wen ist das Datenpaket adressiert oder wer hat es gesendet und wird dann entsprechende dem zugetroffenen Flow das Paket verarbeiten, und wird dies beispielsweise an einen bestimmten Ausgang am Netzwerkgerät weiterleiten. Es ist auch beispielsweise möglich, dass das Netzwerkgerät Datenpakete zur weiteren Analyse an den SDN Controller weiterleitet, welcher dann die entsprechende Entscheidung trifft, wie das Datenpaket weiter verarbeitet werden soll.
SDN Controller
Der SDN Controller ist das Gehirn einer jeden Software Defined Network Infrastruktur, er kann über die Southbound Schnittstelle mit Hilfe von OpenFlow Steuerbefehle an die Netzwerkgeräte senden, wie beispielsweise Flows. Weiter verfügt der SDN Controller über eine Northbound Schnittstelle, die es einer Applikationen ermöglicht, selber Veränderungen im Netzwerk vorzunehmen.
Aufgetretene Probleme
Während der Bachelorarbeit konnten mehrere Probleme identifiziert werden, weshalb zum jetzigen Zeitpunkt von einer Implementation in die produktive Umgebung des EnterpriseLabs abgeraten werden muss. Einerseits wird der OpenFlow Standard nicht von allen Netzwerkgeräte Herstellern gleich implementiert, was zu Problemen in der Interoperabilität führt. Weiter ist für die korrekte Implementation von SDN in einer Infrastruktur sehr viel Programmieraufwand notwendig, um die notwendigen Applikationen bauen zu können, die den Anforderungen an eine stabile, dynamische und automatisierte Netzwerkinfrastruktur gerecht werden können. Weiter konnte festgestellt werden, das für die Erkennung der Netzwerktopologie und die Sicherstellung der Kommunikation zwischen den Endgeräten sehr viel Netzwerkverkehr zwischen den Netzwerkgeräten und dem SDN Controller generiert wird, der für den produktiven Betrieb mit einer Vielzahl von Netzwerkgeräten und Endgeräten noch zu optimieren ist.
Ausblick
Software Defined Network mit OpenFlow hat das Potenzial sich in zu Zukunft zu einem essentiellen Bestandteil eines jeden grösseren Datacenters zu entwickeln. Hierfür wird es aber notwendig sein, das die Anbieter von SDN Lösungen nicht nur OpenFlow Netzwerkgeräte anbieten und einen SDN Controller, sondern auch SDN Applikationen, die den Anforderungen an eine stabile, dynamische und automatisierte Netzwerkinfrastruktur gerecht werden können. Bis aber dieser Grad an Reife für SDN erreicht ist, werden noch einige Jahre Aufwand für die Hersteller von SDN Lösungen notwendig sein.