VLAN – Vom Nutzen der Segmentierung im lokalen Netzwerk

VLAN ist ein Begriff aus der modernen IT Technologie. Ein VLAN ist ein Virtual Local Area Network, also die virtuelle – bzw. logische, im Gegensatz zur physikalischen – Umsetzung eines lokalen Netzwerks. VLANs dienen hauptsächlich der Segmentierung von lokalen Netzwerken. Die Segmentierung kann aus verschiedenen Gründen notwendig werden und wird technisch auf den Switches, die für die Vernetzung eingesetzt werden, umgesetzt. Im Gegensatz zum herkömmlichen geswitchten Netzwerk können beim Einsatz von VLANs nicht alle Geräte an allen Switchports direkt miteinander kommunizieren. Aus diesem Grund ist der Einsatz eines Routers bzw. einer Firewall zur Verbindung von VLANs erforderlich.

Welche Gründe sprechen für den Einsatz von VLANs?

Ein LAN, zum Beispiel in Unternehmen oder Behörden, kann in seiner modernen Ausprägung sehr groß werden und eine Vielzahl verschiedener Dienste auf Basis von Netzwerkpaketen ermöglichen. Bei der Konzeptionierung und beim Ausbau eines lokalen Netzwerks müssen verschiedene Aspekte berücksichtigt werden. Besonderen Wert wird auf die Sicherheit und die Stabilität gelegt.

Zu Beginn der Zeiten des Ethernets wurden sensible Teile eines Netzwerkes physisch voneinander getrennt. Dieses Verfahren erhöhte die Sicherheit zwischen den Netzwerkteilen und die Netzwerklast der einzelnen Teile war niedriger als in einem alles umspannenden Netzwerk. Die Trennung erfolgte durch den Einsatz mehrerer, meist unmanaged Switches für die einzelnen Segmente.

In modernen Unternehmensnetzwerken und zunehmend beim Einsatz im Heimnetz kommen managed Switches zum Einsatz. Diese sind geringfügig teurer, ermöglichen im Gegenzug eine Vielzahl an Konfigurationsoptionen. Mittels Webinterface im Browser oder über die Kommandozeile (CLI – Command Line Interface) stehen viele Funktionen zur Verfügung.

Sicherheit

Die logische Trennung von lokalen Netzwerken kommt aus verschiedenen Gründen zum Einsatz. Hauptgrund war die Erhöhung der Netzwerksicherheit, was heute durch verbesserte Angriffstechniken weniger zutrifft. Angreifern wird der Zugriff auf Daten und Geräte in unterschiedlichen Subnetzen zumindest erschwert. Durch eine Firewall zwischen den Segmenten lässt sich der Zugriff gut steuern.

 

Performance

Durch die Segmentierung mittels VLAN lassen sich zeitkritische Daten vom Rest des Datenverkehrs trennen. In einem VLAN können Daten für Telefonie, Videostreaming oder Steuerungsdaten für Maschinen unabhängig vom gesamten Datenaufkommen mit garantierten Lauf- und Antwortzeiten übertragen werden. Mittels QoS (Quality of Services – Priorisierung bestimmter Datentypen) kann die Perfomance auch über geroutete Verbindungen in andere VLANs oder über das Internet garantiert werden.

Lastverringerung

Durch die Segmentierung eines großen Netzwerkes in VLANs wird das gesamte Datenaufkommen im Netzwerk reduziert, da Broadcasts nur jeweils in ihrem Subnetz verbreitet werden. In einem großen Netzwerk würden alle Broadcasts der Geräte über das gesamte Netzwerk geflutet werden, durch die Segmentierung bleiben sie innerhalb des VLANs.

Flexibilität

Weil VLANs einfach konfiguriert und geändert werden können, erhöht sich die Flexibilität im Netz. Zieht ein Gerät an einen anderen Standort, lässt sich der zugehörige Port am Switch umprogrammieren und das Gerät kann wie gewohnt weiterarbeiten. Ohne VLANs wären aufwändige Verkabelungsarbeiten notwendig. Ebenso der umgekehrte Fall – Umzug eines Gerätes in ein anderes Subnetz – kann durch die simple Änderung der VLAN-Zugehörigkeit umgesetzt werden.

Ordnung

Mittels Zuordnung von Geräten zu einem VLAN kann eine Sortierung nach Aufgabengebiet erfolgen. Geräte an verschiedenen Standorten im Netzwerk können einem Segment zugeordnet werden und gehören dadurch logisch zusammen. Das kann einzelne Arbeitsgruppen oder Abteilungen betreffen wie auch die Segmentierung nach Funktion wie Management-VLAN, WLAN-VLAN, Voice-VLAN und so weiter.

Wie konfiguriert man ein VLAN?

Die Konfiguration der VLANs erfolgt an der Verwaltungsoberfläche der Switches, am einfachsten grafisch über das Webfrontend, am flexibelsten und sogar programmierbar über die CLI. Es gibt verschiedene Techniken, VLANs zu konfigurieren und Ports VLANs zuzuordnen. Je nach Technik wird unterschieden zwischen portbasiertem oder tagged VLAN. Ist die Portzuordnung fest, spricht man vom statischen VLAN, bei veränderlicher Portzuordnung dagegen vom dynamischen.

Portbasiertes VLAN

Portbasierte VLANs waren die erste Implementierung dieser Technik. Dabei wird jedem Port eines Switches genau ein VLAN zugeordnet. Direkter Datenverkehr ist nur zwischen den Ports eines VLANs möglich. Mit der Anzahl der VLANs und der Switche steigt die Anzahl der Verbindungen zur VLAN-Übertragung exponentiell. Das Verfahren ist deshalb nur für kleine Anzahlen von VLANs und Switchen praktikabel.

Tagged VLAN

Tagged VLANs stellen eine Erweiterung des Ethernet Standards dar und sind nur mit speziell dafür vorgesehenen Switches verwendbar. Dabei wird das Ethernetpaket um den sogenannten Tag erweitert, der der die VLAN ID des zugehörigen Netzwerkpaketes darstellt. Der VLAN-Tag ist vier Bytes lang, davon werden 12 Bit für das VLAN Tag verwendet. Rechnerisch ergibt sich daraus die Möglichkeit, 4096 VLANs anzulegen. Wegen der sich verändernden Länge der Pakete ist das Verfahren nur auf dafür vorgesehenen Switches und Netzwerkgeräten anwendbar.

Das Tag wird verwendet, um die Zugehörigkeit von Paketen zu einem VLAN zu kennzeichnen. Dadurch können über einen Port Pakete mehrerer VLANs übertragen werden. Diese Ports lassen sich gut zur Verbindung von Switches verwenden und reduzieren den Aufwand der Verkabelung erheblich.

In modernen Switches wird heute eine Mischung aus port- und tag-basierten VLANs verwendet. Sogenannte Access-Port für den Anschluss von Geräten werden einem VLAN zugeordnet (portbasiert), das Tagging wird bei Ports für die Koppelung von Netzwerkgeräten wie Switches Routern oder Virtualisierungshosts verwendet. Dadurch ist es möglich, die Vorteile des VLAN Taggings zu nutzen, ohne dass alle Geräte im Netzwerk mit Tags umgehen können müssen.

Statische VLANs

Statische VLANS sind praktisch gleichzusetzen mit portbasierten. Die Portzuordnung wird fest vorgegeben und verändert sich nur durch Neukonfiguration durch den Administrator.

Dynamische VLANs

Zur Umsetzung eines dynamischen benötigt der Switch eine gewisse Intelligenz. Die Zuordnung eines Ports zu einem VLAN wird durch programmierbare Charakteristika der passierenden Netzwerkpakete festgelegt. Der Switch erkennt die vorgegebenen Muster und ordnet einen Port automatisch dem zugehörigen VLAN zu.

Der Administrator legt bei der Switchkonfiguration bestimmte Regeln fest, nach denen ein Port einem VLAN zugeordnet wird. Das können Mac-Adressen, Protokoll-Typ, TCP/UDP-Ports und vieles mehr sein. Anhand der Regeln lässt sich der Zugang zum Netzwerk und zu bestimmten VLANs steuern. Mobile Geräte können unabhängig vom Standort immer demselben VLAN zugeordnet werden.

Was ist Python?

Bei Python handelt es sich um eine performante, objektorientierte Programmiersprache, die sich durch eine leicht zu lernende Syntax auszeichnet. Die Alpha-Version der Programmiersprache hat der niederländischen Informatiker Guido Van Rossum Ende der 1980er Jahre entwickelt. Die öffentliche Vorstellung fand im Februar 1991 statt.

Woher stammt der Name?

Die Programmiersprache hat ihren Namen nicht, wie es oft vermutet wird, in Anlehnung an die Riesenschlange bekommen. Der Programmierer Guido Van Rossum war ein leidenschaftlicher Fan der britischen Comedy-Show „Monty Python’s Flying Circus“. Namensgeber für die Programmiersprache war diese Serie.

Wodurch zeichnet sich die Programmiersprache aus?

Im Vergleich zu ähnlichen Programmier- und Skriptsprachen, wie beispielsweise C, C++ oder Node.js ist Python wesentlich leichter zu verstehen und zu schreiben. Generell ist die Syntax äußerst elegant und sehr ausdrucksvoll, sodass Sie mit wenigen Zeilen Code viel erreichen können. Python wird unter der Open Source-Lizenz vertrieben und kann kostenlos auch für den kommerziellen Gebrauch genutzt werden.

Das objektorientierte Programmierparadigma gibt Ihnen die Möglichkeit, durch die Erstellung logischer Objekte komplexe Vorgänge in kleinere und übersichtliche Einzelteile aufzuteilen. Durch die Micro-Service-Architektur ist es möglich, Python-Code in Kombination mit anderen Programmiersprachen wie Rust oder C++ zu nutzen.

Auch auf andren Plattformen nutzbar

Einer der wesentlichen Vorteile der Programmiersprache ist ihre hohe Flexibilität sowie Portabilität. In Python geschriebene Anwendungen lassen sich prinzipiell, ohne größere Änderungen im Programmcode vornehmen zu müssen, auf unterschiedlichen Plattformen nutzen. Man kann die Anwendungen auf Windows-, Linux– und Max OS-Systemen nutzen.

Bei Python handelt es sich wie bei PHP oder JavaScript um eine sogenannte „Interpretirsprache“. Das bedeutet, dass der Programmcode wie bei traditionellen Programmiersprachen nicht erst vor der Ausführung kompiliert werden muss, sondern Pythonanwendungen werden direkt aus dem Quellcode heraus interpretiert und ausgeführt. Das vereinfacht  den Prozess der Programmierung wesentlich, da Sie  nicht auf die manuelle Speicherverwaltung achten müssen. Darüber hinaus müssen Sie sich auch nicht darum kümmern, ob die korrekten Programmbibliotheken richtig verlinkt und geladen wurden.

Reine Anwendungen von Python sind langsamer

Python bringt jedoch auch einige Nachteile mit sich. Da es sich hierbei um eine interpretierte Skriptsprache handelt, sind reine Pythonanwendungen langsamer in ihrer Ausführung und benötigen mehr Arbeitsspeicher. Wenn Sie Anwendungen benötigen, die äußerst performant und effizient sind, dann setzen Sie bei einem Teil der Anwendung auf anderen Programmiersprache, wie zum Beispiel C++.

Was sind die Einsatzgebiete von Python?

Aufgrund der übersichtlichen und intuitiven Syntax und Programmstruktur wird Python sowohl in der Entwicklung komplexer Anwendungen als auch bei der Erstellung einzelner Module, die in andere Programmiersprachen integriert werden können, verwendet.  Man nutzt Python , um einzelne Module zu entwickeln, die sich immer wieder verwenden lassen. Einer der wesentlichen Vorteile der Sprache ist die gigantische Auswahl an Bibliotheken für numerische und wissenschaftliche Kalkulationen, die sich schnell und unkompliziert in bestehende Module einbinden lassen.

Große Unternehmen nutzen Software

Python wird von bekannten Unternehmen wie Google, Microsoft, Tesla oder Netflix in den Bereichen KI (künstliche Intelligenz), Spracherkennung und neuronale Netzwerke eingesetzt, um Anwendungen zu entwickeln, die sich durch ein hohes Maß an Autonomität auszeichnen. Darüber hinaus nutzt man Python auch bei der Entwicklung skalierbarer Webanwendungen. Hier kommen sogenannte „Frameworks“ wie Django und Flask zum Einsatz, die auf der Programmiersprache aufbauen und die Entwicklung moderner Webapps wesentlich beschleunigen. Viele bekannte Websites, wie zum Beispiel reddit oder Instagram basieren auf diesen Frameworks. Einsatzgebiete von Python sind ebenso Deep Learning, Data Mining und Maschine Learning.

Welche Softwareprodukte basieren auf dem Programm

Die Programmiersprache kommt aktuell in einer Vielzahl unterschiedlicher kommerzieller Softwareprodukte und Open-Source-Lösungen zum Einsatz. Einige bekannte Anwendungen, die auf Python aufbauen sind:

–              Blender

–              OpeShot

–              OpenOffice

–              Civilization 4

–              Battlefield 2

 

Ist es schwer Python zu lernen?

Falls Sie Kenntnisse in anderen Programmiersprachen wie Java oder Go haben, sollten Sie in der Regel nicht mehr als 10 Tage benötigen, um die Grundlagen dieser Skriptsprache zu erlernen, um einen einfachen Code schreiben zu können. Zahlreiche Online-Plattformen bieten Python-Video-Kurse an, die Sie zum Lernen benutzen können. Darüber hinaus stehen Ihnen zahlreiche Tutorials mit Übungen im Netz kostenlos zur Verfügung. Insgesamt sollten Sie etwa 2 Wochen einplanen, um Basiswissen in der Programmiersprache zu erlangen.

Standardisierter Zugriff auf Datenbanken

SQL ist eine Standard-Abfragesprache für Datenbanken. Auf nahezu alle Datenbanksysteme, so auch MySQL oder MS-SQL, kann mit Standard SQL zugegriffen werden. Mit der Abfragesprache werden Tabellen erstellt oder abgefragt („Wie viele Kunden heißen Meier?“). Häufig verwendete SQL-Befehle sind „Create“ zum Erstellen von Tabellen (Datenstrukturen) und „Select“ zum Lesen von Tabellen. SQL steht für Structured Query Language, übersetzt „strukturierte Abfrage-Sprache“.

SQL ist eine Datenbanksprache für relationale Datenbanken, mit der Strukturen (Tabellen) definiert und Daten bearbeitet oder abgefragt werden können. Tabellen können etwa Kundendaten, Materialdaten, Aufträge und Rechnungen enthalten. Mit der Datenbanksprache werden

– Tabellen angelegt

– Felder in den Tabellen definiert

– Tabellenzeilen befüllt

– Tabelleneinträge gelesen oder Informationen zu den Inhalten abgefragt (z. B. Länge eines Feldes, Anzahl der Einträge in der Tabelle).

Beispiel: Abfragen in einer Datenbanktabelle

Per SQL-Befehl hat man in einer Datenbank die Tabelle „Kunden“ angelegt („create“). Die Struktur enthält Felder für die Aufnahme von Daten wie Kundennummer, Vorname, Nachname u.ä. Ist die Tabelle mit Kundendaten befüllt, können werden alle Kundeneinträge mit dem Namen „Meier“ selektiert („select“-Befehl) oder etwa die Anzahl der Kundendatensätze ermittelt werden („Befehle select count“).

SELECT * FROM Kunden WHERE Name = ‚Meier‘;

Es werden alle Zeilen und alle Spalten (*) aus der Tabelle Kunden ausgegeben, deren Nachname Meier ist.

Zur Standardisierung von Datenbankzugriffen

Die Syntax der Datenbanksprache ist einfach und basiert auf der relationalen Algebra. Die Sprache wird von einem gemeinsamen Gremium standardisiert, um eine möglichst hohe Unabhängigkeit von Software-Programmen zum unterliegenden Datenbankmanagementsystem anzustreben. Heute verfügen die meisten Datenbanksysteme über Schnittstellen, um den standardisierten Zugriff auf Tabellen und Daten zu ermöglichen. Auch auf Datenbanken wie MySQL oder MS-SQL kann mit Standard-SQL zugegriffen werden.

Kategorien von Befehlen bei SQL

Mit den Befehlen können in der Datenbank verschiedene Operationen ausgeführt werden. Nach ihrer Funktion sind vier Kategorien von Befehlen zu unterscheiden:

– DQL-Befehle (Data Query Language): Befehle zur Abfrage und Aufbereitung von Daten

– DML-Befehle (Data Manipulation Language): Befehle zur Manipulation von Daten, wie Ändern, Einfügen, Löschen und Lesen

– DDL-Befehle (Data Definition Language: Befehle zur Definition des Datenbankschemas, z. B. von Anlegen von Tabellen

– DCL-Befehle (Data Control Language): Befehle zur Transaktionskontrolle und Rechteverwaltung.

Abfrage mit „SELECT“

Das Ergebnis einer Abfrage (Query, DQL-Befehl) liefert einen Ausschnitt der Tabelle. Damit sieht das Ergebnis einer Abfrage wiederum selbst aus wie eine Tabelle und kann angezeigt, bearbeitet und verwendet werden. DQL-Befehle werden auch als Untergruppe der DML-Befehle gesehen.

Aufgabe: Ein Unternehmen hat 101 Kunden. Diese sollen angezeigt werden.

SELECT * FROM kunden;

Die Query listet alle Spalten und 101 Zeilen der Kunden-Tabelle auf.

Aufgabe: Alle Kunden anzeigen, allerdings nur die Spalten Kundennummern und Kundennamen:

SELECT Kunnr, Name

FROM kunden;

Die Ausgabe liefert 101 Zeilen (Kunden), allerdings nur die Inhalte der Felder Kundennummer und Nachname.

Aufgabe: Alle Kunden im Postleitzahlbereich „60“ anzeigen lassen.

SELECT * FROM kunden

WHERE Plz LIKE ‚60%‘;

Die Tabelle Aufträge enthält die Kundenaufträge des Unternehmens. Im relationalen Datenmodell enthält sie mit der Kundennummer lediglich „einen Link“ zur Kundentabelle.

Aufgabe: Ausgabe aller Kundenaufträge aus dem Postleitzahlbereich „60“.

SELECT auftrag.Auftragsnr, auftrag.kunnr, kunden.name, kunden.plz kunden.ort

FROM kunden, auftrag

WHERE kunden.kunnr= auftrag.kunnr

AND kunden.plz LIKE ‚60%‘;

Der (inner) JOIN verknüpft zwei Tabellen. Um die Postleitzahl zu den Aufträgen zu finden, muss in die Tabelle „kunden“ geschaut werden. Beide Tabellen enthalten den eindeutigen Schlüssel „Kundennummer“ (kunnr).

Schlüssel in relationalen Datenbanken

SQL ist eine Abfragesprache für relationale Datenbanken, in denen Informationen auf mehrere Tabellen verteilt werden. Im  Beispiel hätte die Auftragsdaten-Tabelle auch die Felder für die Kundendaten (Name, Ort, PLZ) enthalten können. Diese Felder wären damit „doppelt“ in der Datenbank vorhanden. Dies ist im relationalen Datenmodell nicht der Fall.

Um Redundanzen zu vermeiden, werden Daten auf mehrere Tabellen verteilt und über Schlüssel verknüpft. In die Auftragstabelle wird  die Kundennummer aufgenommen. Alle weiteren Kundendaten müssen in der Kundentabelle nachgelesen werden.

Die primären Schlüssel im Beispiel sind die Kundennummer in der Kundentabelle und die Auftragsnummer in der Auftragstabelle.

Programmieren mit der Abfragesprache

Mann kann die Abfragesprache kann mit Programmiersprachen kombinieren. Dazu wird aus einem Anwendungsprogramm heraus mit Standard SQL-Befehlen auf eine Datenbank zugegriffen. Folgende Techniken sind möglich:

  1. a) Embedded SQL mit Anweisungen im Quelltext von C, C++, Pascal, Cobol und anderen Programmiersprachen. Beispiele für Implementierungen sind SQLJ für Java, Pro*C für C und C++.
  2. b) Herkömmliche Programmierschnittstellen, über die SQL-Befehle direkt an das Datenbanksystem weitergegeben werden. Beispiele dazu sind ODBC, JDBC aund ADO.
  3. c) Persistenz-Frameworks, wie Hibernate oder iBATIS für eine objektorientierte Verarbeitung in z. B. C# oder Java.
  4. d) Teil 4 des SQL/PSM Standards mit Konstrukten wie IF-Blöcken und Schleifen, die in Hersteller-spezifische Erweiterungen implementiert werden. Beispiele sind PL/SQL in Oracle und Transact SQL im SQL Server.

Unterschied zwischen statisches und dynamisch

Unabhängig von der Programmiertechnik ist eine SQL-Anweisung statisch und damit  zum Zeitpunkt der Programmübersetzung festgelegt. Beim dynamischen SQL wird die tatsächliche Anweisung erst zum Zeitpunkt der Programmausführung bekannt. Beispiele für dynamische Anweisungen sind etwa die Benutzereingabe der Query zur Laufzeit des Programms oder die Konstruktion des Statements im Programm.

Wenn Mensch und Maschine voneinander lernen

Künstliche Intelligenz (KI, auch Artifizielle Intelligenz (AI) beschreibt Technologien, mit denen Maschinen ein menschenähnliches Denkvermögen simulieren. Mit KI können Maschinen aus Erfahrung lernen und mit neu eingehenden Informationen ihre Kompetenz zum Bewältigen von Aufgaben auszubauen (Maschinelles Lernen). Schachcomputer, selbstfahrende Autos und Alexa sind bekannte Beispiele für künstliche Intelligenz.
Systeme wie Alexa basieren auf Deep Learning und natürlicher Sprachverarbeitung. KI versucht, Entscheidungsstrukturen des Menschen nachzubilden. Künstliche Intelligenz soll Computer befähigen, eigenständig Probleme zu bearbeiten. So wird in Computerspielen mit einfachen Algorithmen ein „intelligentes Verhalten“ simuliert. Die künstliche Intelligenz umfasst weitere Teilgebiete, wie wissensbasierte Systeme, Musteranalysen und Mustererkennung, Mustervorhersage, Robotik, Modellierung mit Entropiekraft, und künstliches Leben.
So funktioniert künstliche Intelligenz.

KI-Software: von Mustern und Merkmalen

Anhand von Mustern oder Merkmalen in Daten soll die KI-Software automatisch lernen. Dazu werden große Datenmengen mit intelligenten Algorithmen und iterativen Berechnungen kombiniert. Das Forschungsfeld der KI ist breit und nutzt zahlreiche Technologien, Methoden und Theorien. Zu den wichtigsten Teilbereichen der KI zählen:

– Neuronale Netze
Die Netze unterstützen ein maschinelles Lernen, indem miteinander verbundene Knoten Daten verarbeiten. Diese Knoten, entsprechend der Neuronen im menschlichen Gehirn, reagieren auf neue Eingangsdaten und verteilen Informationen auf andere Knoten. Künstliche Intelligenz versucht mit mehreren Datendurchläufen Verbindungen zu finden und undefinierte Daten zu gewichten.

– Maschinelles Lernen
Auch nicht explizit programmierte Lösungen sollen über Methoden des maschinellen Lernens gefunden werden. Dazu wird die Erstellung analytischer Modelle automatisiert. Um neue Erkenntnisse und Schlussfolgerungen zu erhalten, verwendet die künstliche Intelligenz Methoden aus Physik, Statistik, Operations Research und neuronalen Netzen.

– Deep Learning
Deep Learning kommt häufig bei der Bild- und Spracherkennung zum Einsatz. Dazu werden große neuronale Netzen mit Verarbeitungsknoten in mehreren Schichten genutzt. Bei der Analyse großer Datenmengen sollen komplexe Muster erlernt werden.

– Cognitive Computing
Das Cognitive Computing versucht eine Maschine schaffen, die das menschliche Verhalten simuliert. Als Teilbereich der KI wird eine möglichst natürliche Interaktion mit Maschinen angestrebt. Künstliche Intelligenz hat hier zum Ziel, eine Maschine zu entwickeln, die menschliche Denkprozesse simuliert, Bilder und Sprache interpretiert und schlüssig antworten kann.

– Computer Vision
Inhalte von Bildern und Videos werden mithilfe der Mustererkennung und Deep Learning interpretiert. Die entwickelten Computer sollen Bilder oder Videos in Echtzeit analysieren und das Umfeld interpretieren.

– Natürliche Sprachverarbeitung (NLP)
Diese KI-Computer sollen die menschliche Sprache verstehen, analysieren und selbst erzeugen können. Ziel ist letztlich eine Interaktion in natürlicher Sprache. Die natürliche Sprachverarbeitung ermöglicht dem Menschen eine Kommunikation mit Computern im Alltag, um etwa Anweisungen zu vermitteln oder Fragen zu stellen.

Künstliche Intelligenz zum Simulieren des menschlichen Gehirns

Ein Teilbereich von KI befasst sich mit der Entwicklung von Maschinen, die sich wie Menschen verhalten sollen. Die Herausforderung besteht in der „Mechanisierung“ des menschlichen Denkens (sogenannte starke KI). Künstliche Intelligenz befasst sich mit Automatisierung und maschinellem Lernen. Mit dem Nachbau des menschlichen Gehirns sollen auch Maschinen lernfähig werden. Der Begriff der neuronalen Netze bezieht sich auf diese Lernfähigkeit, an der im menschlichen Gehirn Neuronen beteiligt sind. Deutlich werden die Herausforderungen zur Schaffung von künstlicher Intelligenz bei der Programmierung der KI-Systeme: Die Softwareentwicklung für künstliche Intelligenz erfordert einen neuen Ansatz, damit Programme lernfähig werden und eigene Entscheidungen treffen können. Beispiele für einfache KI-Systeme sind die Vorschlagslisten auf Shopping-Portalen. Im Alltag begegnet dem Benutzer die künstliche Intelligenz auf Portalen wie Amazon, Netflix und Spotify: „Kunden, die sich diesen Artikel angeschaut haben, kauften auch ..“. Künstliche Intelligenz wird auch in Computerspielen genutzt, die durch einfache Algorithmen ein „intelligentes Verhalten“ simulieren.

Nutzen von KI für die Gesellschaft

Im Gegensatz zur landläufigen Vorstellung soll die künstliche Intelligenz den Menschen nicht ersetzen. Von der künstlichen Intelligenz profitiert auch der Mensch. KI kann:

– Analyse-Technologen wie Zeitreihenanalysen und Computer Vision verbessern
– Analytics zur Nutzung verschiedensten Branchen und Bereichen bereitstellen
– Ökonomische Hindernisse wie Sprach- und Übersetzungsbarrieren reduzieren
– Durch die Erweiterung der menschlichen Fähigkeiten die Entscheidungsfindung verbessern
– Zu besserem Sehen, Verständnis und Erinnern beitragen.


Künstliche Intelligenz ersetzt nicht den Menschen

Bei fehlerhaften oder lückenhaften Daten spiegelt sich dies in den erzielten Ergebnissen wider. Die Aufgaben eines KI-Systems sind daher relativ klar umrissen: Ein Pokerspiel kann nicht gleichzeitig auch Schach spielen. Es muss für beide Aufgaben speziell trainiert sein. Heutige KI-Systeme sind sehr stark spezialisiert und noch weit davon entfernt, den Menschen ersetzen zu können. Auch selbstlernende Systeme sind nicht autonom.

Anwendungsbereich der künstlichen Intelligenz

Der Bedarf an Computerprogramme mit KI-Fähigkeiten ist groß. Sollen Fragen automatisch beantwortet werden, Rechtsauskünfte oder Risikohinweise gegeben werden, sind KI-Systeme im Einsatz. Zu den großen Branchen, in denen die künstliche Intelligenz Aufgaben übernimmt, zählen:
– Gesundheitswesen Im Gesundheitswesen wird das KI-Programm zum persönlichen Gesundheitsassistenten. Künstliche Intelligenz kann den Benutzer etwa an eine gesunde Ernährung oder an die Medikamenteneinnahme erinnern. KI-Anwendungen werten selbstständig Röntgenbilder aus oder stellen personalisierte medizinische Leistungen bereit.

– Einzelhandel
Personalisierte Empfehlungen beim virtuellen Einkauf treffen die Benutzer bereits häufig an. Die künstliche Intelligenz unterstützt interaktiv beim Online-Shoppen, indem beispielsweise weitere Kaufoptionen vorgeschlagen werden. Das System lernt unter anderem aus den Einkäufen anderer Benutzer sowie dem an Artikeln und Suchbegriffen gezeigten Interesse.

– Sport
Künstliche Intelligenz kann die Spielvorbereitung verbessern bzw. die Spielstrategie und Spielaufstellung verbessert. Erfassen kann das KI-System Fotos von Spielzügen, um Erkenntnisse zu gewinnen.

– Fertigung
Auslastung und Nachfrage können über KI prognostiziert werden. Dazu übertragen vernetzte Geräte der Fabriken ihre Daten an das KI-System. Künstliche Intelligenz übernimmt mit Deep Learning oder rekurrenten Netzen die Analyse der Informationen.

Softwareentwicklung bei KI

Während die klassische Softwareentwicklung den eintretenden Ereignissen einen klaren Ablauf vorschreibt, folgt die KI-Maschine keiner festen Entscheidungsfolge. Mit maschinellem Lernen und neuronalen Netzen wird in den Programmen die Funktionsweise des menschlichen Gehirns nachgebaut. Wurde in einem herkömmlichen Programm keine Lösung für ein auftretendes Ereignis implementiert, läuft die Software auf einen Fehler oder sie stürzt ab. Im Idealfall gibt sie eine aussagekräftige Fehlermeldung aus. Um das neue Ereignis künftig zu bearbeiten, muss der Programmierer das Programm-Coding entsprechend erweitern. Künstliche Intelligenz zeichnet sich dadurch aus, dass eine KI-Software selbständig solche Ereignisse löst. Dazu nutzt sie beispielsweise zuvor gemachte Erfahrungen und zieht Schlüsse, um ein passendes Entscheidungsmuster zu generieren.

 KI: Software die sich selbst entwickelt

Ist bei der klassischen Softwareentwicklung ein unveränderbarer Entscheidungsbaum vorgegeben, versucht die künstliche Intelligenz Entscheidungspunkte in Form von Neuronen zu entwickeln. Diese Entscheidungspunkte füttert man viele hundertmal mit Daten, um mit den Entscheidungs-Parametern der Neuronen das gewünschte Ergebnis zu erzielen.

KI wird versuchen, selbst eine Lösung zu generieren.
Um schneller zu ersten KI-Ergebnissen zu gelangen, hat das Unternehmen Google vor einigen Jahren das „Tensorflow“-Framework herausgebracht. Googles hauseigener Werkzeugkasten für künstliche Intelligenz ist Open-Source-Software.

Mit diesem Begriff werden Sie täglich mehrmals, in ganz unterschiedlichen Situationen und verschiedenen Kontexten konfrontiert. Doch was ist das Internet und worum handelt es sich, wenn vom World Wide Web, WWW oder vom Netz die Rede ist und wenn Ihnen jemand erzählt, dass er online geht? Kurz und bündig erläutert ist das Internet ein globales Netzwerk aus mehreren Millionen Computern.

Die Grundlagen und Hintergründe des Internets

Um das weltweite Netzwerk zu nutzen, benötigen Sie einen Computer und einen Internetanschluss. Erst dann können Sie elektronische Nachrichten versenden, 24/7 im Internet einkaufen oder Produkte vergleichen und sich Bilder ansehen sowie Informationen einholen. Der Begriff Internet setzt sich aus der englischen Bezeichnung Network für Netzwerk und dem Präfix „Inter“ zusammen. Im geschichtlichen Zeitalter ist das Internet noch verhältnismäßig jung. Auch wenn es schon früher ähnliche Entwicklungen ab, hat sich die weltweite Vernetzung für kommerzielle und informative Zwecke erst in den 90er Jahren des vergangenen Jahrhunderts etabliert. Rechenzentren entstanden, Server als zentrale Schnittstelle des Internets wurden entwickelt und Browser, die sichtbare Oberfläche jedes Computers erblickten das Licht der Welt. Das Internet ist eine komplexe Struktur aus Verbindungen, die keine Grenzen kennen und dementsprechend in Bruchteilen von Sekunden mit Menschen auf der ganzen Welt Kontakt aufnehmen und kommunizieren lassen. Anfänglich waren die Leitungen (ursprünglich wurden die Daten über das Telefonnetz übertragen) noch nicht so leistungsstark wie heute. Das heißt, dass die Nutzung des Internet mehr Zeit beanspruchte und kein Vergleich zur heute schnellen und beinahe in Echtzeit möglichen Übertragung ist.

Wie und warum das Internet Vorteile verschafft

Wie bereits angeschnitten, bietet Ihnen das Internet Kommunikations-, Einkaufs- und Informationsmöglichkeiten ohne Grenzen. Die grundlegenden Aspekte für die Internetnutzung sind ein internetfähiges Endgerät, zum Beispiel ein Computer, ein Notebook oder auch ein Smartphone. Dann benötigen Sie eine Leitung, die Sie beim Telefon- oder Kabelanbieter anmelden und für die Sie Gebühren zahlen müssen. Nachdem Sie das Fundament geschaffen haben, benötigen Sie noch einen Browser und einen Internet-Provider, bei dem Sie die gewünschten Leistungen günstig und zuverlässig erhalten. Am besten ist eine Flatrate, für die Sie einen monatlichen Festpreis zahlen und keine Zusatzkosten für das Internet auf die Agenda setzen.

Auch eine Drosselung der Geschwindigkeit bleibt bei Flatrate-Tarifen aus, so dass Sie rund um die Uhr im Web surfen und das Internet für all die Dinge nutzen können, die Ihnen wichtig sind. Nachdem das „Wie“ in der Nutzung erklärt ist, stellt sich noch die Frage nach dem „Warum“. Wer bisher noch nichts mit dem Internet zu tun hatte steht vor der Frage, warum er diese Möglichkeit überhaupt nutzen soll. Wir leben im Zeitalter der Digitalisierung und viele Dinge sind nur noch, oder aber viel einfacher online als offline möglich. Im Internet können Sie Einkäufe tätigen, Kontakte finden und Informationen einsehen, Bilder betrachten und Ihre Gedanken mit anderen Menschen teilen. Daher bereichert die Digitalisierung Ihr Leben und schafft Möglichkeiten, die Ihnen ohne einen Zugang zum Internet verwehrt bleiben.

Ist das Internet überall verfügbar?

In einem Großteil der Bundesrepublik können Sie ganz einfach über Ihren Hausanschluss ins Internet. Doch die Bandbreite, also die Übertragungsgeschwindigkeit variiert und hängt durchaus von Ihrem Standort und der dort anliegenden Verbindung ab. Vor allem in den ländlichen Regionen müssen Sie mit einer langsamen 16 Mbits Übertragung Vorlieb nehmen, während Sie in den Städten und bereits ausgebauten Regionen bereits Breitbandinternet über Kabel oder Glasfaser nutzen können. Welche Möglichkeiten Sie über das Internet nutzen können, hängt zum großen Teil von der Geschwindigkeit ab. Internettelefonie und normales Surfen benötigen keine rasante Geschwindigkeit. Wollen Sie hingegen auch das Fernsehprogramm über das Internet streamen, sind mindestens 50 Mbits, noch besser 100 Mbits Übertragungsrate notwendig.

Gleiches gilt auch für den Konsum von Filmen im virtuellen Verleih. Kinogenuss benötigt eine schnelle Internetverbindung, da Filme aufgrund ihrer großen Datenmenge „hängen“ und nicht einwandfrei laufen. Welchen Internetanschluss und welche Übertragungsrate Sie vertraglich vereinbaren können, steht im direkten Zusammenhang mit den Angeboten an Ihrem Standort. DSL, VDSL und Breitband oder UMTS sind die gängigsten, aber nicht die einzigen Verbindungsmöglichkeiten mit dem Internet. Bei einem Neuanschluss empfiehlt sich eine Beratung, in der Sie über alle wichtigen Details zu Ihrem Anschluss, seiner Geschwindigkeit und weiteren Fakten in Kenntnis gesetzt werden.

Das Web – stationär und mobil

Generell wird Internet zwischen einem klassischen stationären Anschluss über die Telefondose oder den Kabelanschluss und das mobile Netz unterteilt. Während Sie für stationäres Internet einen Router oder ein Modem und einen Computer am Vertragsstandort benötigen, können Sie im mobilen Netz ortsunabhängig surfen. Hierfür benötigen Sie nur einen Mobilfunkvertrag mit Datenvolumen und ein Smartphone. Die Bedeutung des Internets ist in den vergangenen 25 Jahren rasant gewachsen und es ist absehbar, dass die Zukunft noch digitaler und die Vernetzung auf globaler Ebene somit noch wichtiger wird. Neben dem Besuch von Seiten im Web nimmt das Internet heute einen wichtigen Bestandteil der Telefonie ein. Es ist ein Fakt, dass der Verzicht auf den digitalen Anschluss heute von vielen interessanten Möglichkeiten ausschließt.

Was ist ein WLAN Controller (und wer braucht ihn)?

Mit einem Wireless LAN Controller können Sie unabhängig vom Gerät, in dem es sich befindet, eine Reihe von Zugriffspunkten (Access Points, APs) auf vereinfachte Weise zentral verwalten und konfigurieren. Somit ermöglicht ein WLAN Controller die effiziente Verwaltung von WLAN-Netzen und deren Zugriffspunkten – vor allem wenn es vielzählige Access Points gibt.

Bei WLAN handelt es sich um eine drahtlose Architektur, die darauf abzielt, sich ändernden Netzwerkanforderungen gerecht zu werden. Ein WLAN-Controller verwaltet drahtlose Netzwerkzugriffspunkte, über die drahtlose Geräte eine Verbindung zum Netzwerk herstellen können.

WLAN-Controller sind physische Geräte, die im zentralen Datenraum in einem Rack montiert sind und gleichzeitig mit jedem AP kommunizieren. Dies ermöglicht die einfache und schnelle Konfiguration mehrerer APs, ohne dass IT-Experten jeden einzelnen manuell konfigurieren müssen.

Wie funktioniert ein WLAN Controller?

Gegenwärtig können WLAN Controller mehrere Tausend APs steuern. Auf diese Weise können Unternehmen SSIDs, die dynamische Kanalzuweisung, die Übertragungsleistung, den Sicherheitstyp, die VLAN-Zuordnung, die Kanalrichtlinie und alles andere im Zusammenhang mit drahtloser Kommunikation über eine einzige Verwaltungsschnittstelle steuern und bereitstellen.

Der WLAN-Controller ist auch dafür verantwortlich, Firmware und Konfigurationscodes an die Zugriffspunkte zu senden. Darüber hinaus verwaltet es das Roaming in den Modi Layer 2 und Layer 3 und verfolgt alle verbundenen Clients, einschließlich der MAC-Adressinformationen und des zugehörigen AP. Es ist auch der Teil des Netzwerks, der Ihren kabellosen Verkehr mit Ihrem kabelgebundenen Netzwerk verbindet.

Das System übernimmt auch das Radio Resource Management. Er sammelt alle Informationen von den APs und ermöglicht sowohl dem Administrator als auch dem drahtlosen Netzwerk selbst eine vollständige 3D-Ansicht des Netzwerks. Durch die Übernahme des Radio Resource Management steuert der WLAN Controller auch, auf welchen Kanälen die APs geschaltet sind, wie viel Sendeleistung sie haben und was bei Störungen zu tun ist.

Der WLAN-Controller ist eine reale Anwendung des Konzepts einer separaten Verwaltungs- und Datenebene. Der WLAN-Controller ist die Verwaltungsebene, und die APs arbeiten in der Datenebene. Mit dieser Trennung erreichen Unternehmen, deren WiFi über vielzählige Zugriffspunkte verfügt, die größtmögliche Effizienz.

Wie funktioniert ein WLAN Controller?

Management und Betrieb
Dies sind die Aufgaben, die die Bereitstellung und den Betrieb des Wireless LAN-Netzwerks auf einheitliche und einfache Weise ermöglichen, ohne die gleichen Vorgänge in jedem der APs innerhalb des lokalen Netzwerks wiederholen zu müssen. Mit diesen Funktionen können Sie Probleme im Netzwerk konfigurieren, überwachen und diagnostizieren sowie Warnungen senden und empfangen, wenn Probleme erkannt werden. Um eine homogene Netzwerkleistung zu erzielen, wird in diese Gruppe auch das Betriebssystem-Update der APs aufgenommen, sodass alle dieselbe Version haben.

Aggregation und Verarbeitung des Datenverkehrs von drahtlosen Geräten wie Tablets und Smartphones
Solche Funktionen werden im WLC nicht immer ausgeführt, was hauptsächlich von der verwendeten Netzwerkarchitektur abhängt. Wenn der gesamte Datenverkehr von drahtlosen Geräten über den Controller geleitet wird, können mit diesem Datenverkehr „Dinge“ erledigt werden, z. Bsp. das Verschlüsseln sowie das Trennen des Datenverkehrs zum Senden an verschiedene Netzwerke oder das Filtern nach Prioritäten gemäß vordefinierter Qualitätsrichtlinien.

Lokale drahtlose Funktionen
Die spezifischen Merkmale der Funktechnologie machen die Verwendung von Koordinations- und Schutzmechanismen innerhalb eines bestimmten Funkspektrums für eine effizientere Nutzung in einem bestimmten lokalen Gebiet ratsam. Die Mechanismen sind hier gruppiert, sodass jeder AP einen anderen Teil des elektrischen Spektrums (Kanals) als die umliegenden verwendet. Ein WLAN Controller bietet Mechanismen zur Optimierung der Verkehrsverteilung zwischen drahtlosen Geräten und APs, zur Erkennung von Interferenzen und sogar zur geografischen Positionierung der Geräte mithilfe von Funk-Triangulationsmechanismen.

Andere „Nicht-Wi-Fi“ -Funktionen
Viele Controller verfügen auch über Funktionen, die mit der Wi-Fi-Technologie wenig oder gar nichts zu tun haben, z. Bsp. dienen sie als Druckerserver, als NAS (Network Attached Storage) oder als herkömmlicher fester LAN-Switch.

Wie zu vermuten ist, wird die Skalierbarkeit durch Hinzufügen eines WLAN-Controllers erheblich verbessert, da auf einfache Weise mehr Zugriffspunkte im Netzwerk installiert werden können und die Komplexität bei Bereitstellung und Verwaltung verringert wird.

Wer braucht einen WLAN Controller?

Für alle Unternehmen, die in ihren Gebäuden/auf ihrem Gelände 2 oder mehr Access Points zu ihrem WLAN Netzwerk verfügen, ist ein WLAN Controller empfehlenswert. Durch die Verwaltung aller Access Points als vollständiges WLAN-System bietet die Nutzung eines WLAN Controllers nicht nur maximale Skalierbarkeit, Leistung und WLAN-Steuerung. Moderne WLAN Controller sind heutzutage standardmäßig mit effizienter eingebetteter Software ausgestattet, verwenden, wie im obigen Abschnitt bereits erwähnt, Radio Resource Management (RRM) -Algorithmen, um Änderungen frühzeitig zu erkennen und notwendige Anpassungen vorzunehmen.
Unternehmen, egal ob klein, mittelgroß oder groß, profitieren vom erstellen einer selbstkonfigurierenden, selbstoptimierenden und selbstkorrigierenden WLAN-Umgebung. Diese Anpassungen erzeugen die optimale Topologie für drahtlose Netzwerke auf die gleiche Weise wie Routing-Protokolle.

Ein WLAN Controller übernimmt so viele Arbeitsschritte und Prozesse, dass IT Abteilungen spürbar entlastet werden können. In einer Welt, die ohne effiziente WLAN-Nutzung nicht so funktionieren würde, wie erfolgreiche Unternehmen es heute benötigen, sind WLAN-Controller von großer Bedeutung für die optimale Nutzung der vorhandenen Technologien.