Skip to main content

MPLS / Multiprotocol Label Switching

MPLS steht für "Multiprotocol Label Switching" und hilft dabei, Daten schneller und effizienter durch ein Netzwerk zu leiten, indem Pakete mit Labels versehen werden. Dies führt zu schnelleren Übertragungsraten und einer besseren Netzwerkverwaltung. Kunden profitieren von zuverlässigeren und qualitativ hochwertigeren Verbindungen, während Anbieter sicherstellen müssen, dass sie eine stabile und leistungsstarke Netzinfrastruktur bieten.

Vorbereitung

Einsatz-Szenarien

  • Traffic Engineering: Hier wird die Wegwahl für den Datenverkehr innerhalb eines Netzes gezielt gesteuert, um Kunden breitbandige und verzögerungsarme Datenwege anzubieten​. [Link]
  • Layer-2-VPN: Virtuelle private Netzwerke auf der OSI-Schicht 2, die unterschiedliche Netze direkt über ein IP-MPLS-Netz miteinander verbinden​. [Link]
  • Standortvernetzung: MPLS ermöglicht eine effiziente und sichere Vernetzung von verschiedenen Standorten eines Unternehmens, indem es eine Vielzahl von VPN-Verbindungen einfach herstellt (any-to-any)​. [Link]

Rolle des Kunden

Als Kunde eines MPLS-Netzes können Sie eine erhöhte Datenübertragungsqualität, Sicherheit und Zuverlässigkeit erwarten. Durch die Implementierung von Quality-of-Service (QoS) Parametern können Datenpakete priorisiert und benötigte Bandbreiten garantiert zur Verfügung gestellt werden. Dies führt zu einer verbesserten Leistung für kritische Anwendungen und Dienste.

Rolle des Anbieters

Anbieter von MPLS-Netzen müssen sicherstellen, dass sie eine stabile und leistungsfähige Netzinfrastruktur bereitstellen, die den Anforderungen an Sicherheit, Geschwindigkeit und Verfügbarkeit genügt. Dazu gehört auch die Implementierung von Traffic Engineering und das Angebot von Layer-2-VPN-Lösungen​. Anbieter müssen zudem kompetente Unterstützung und Beratung anbieten, um den Kunden bei der Optimierung ihrer Netzwerkstrukturen zu unterstützen.

Mitbewerber in der Schweiz

In der Schweiz zählen große Telekommunikationsunternehmen wie Swisscom, Sunrise, und Salt zu den bekannten Anbietern von MPLS-Diensten. Diese Unternehmen verfügen über umfassende Netzwerke und bieten eine Vielzahl von Diensten für Geschäftskunden an, einschließlich MPLS​. [Link]

Einrichten eines MPLS in "Packet Tracer"

Leider nicht möglich, da MPLS von Packet Tracer nicht unterstützt wird.

Quellen: https://community.cisco.com/t5/routing/mpls-configuration-in-cisco-packet-tracer/td-p/3783587 / https://www.reddit.com/r/meraki/comments/12asuse/packet_tracer_does_not_support_mpls/ 

Einrichten von MPLS mit VyOS VMs.

Da man MPLS mit Packet Tracer nicht nutzen kann, habe ich nach Alternativen gesucht. Dabei bin ich schnell auf GNS3 gekommen, da das aber mit VMS im Hintergrund komisch funktioniert und man ISOs mitliefern muss, habe ich mir mithilfe von Nicolai überlegt, auf VMs (VyOS) umzusteigen und es dort umzusetzen. Da die VPN Funktion den Rahmen gesprengt hätte, wurde die Umsetzung nur mit 3 VMs gemacht. Unten ist eine Übersicht dieser Umgebung zu sehen:

image.png

MPLS Overview.excalidraw

Netzwerk und VM Erstellung im vCenter

Zuerst werden die beiden Netzwerke und dann die 3 VyOS VMs erstellt.

Netzwerk

image.png

P1 Router

image.png

P2 Router

image.png

P3 Router

image.png

VyOS allgemeine Konfiguration

Username: vyos
Password: vyos

image.png

Um die Konfigurationen dauerhaft zu machen, müssen Sie zunächst den Live-Modus der VM verlassen. Dies geschieht mit folgendem Befehl

install image

Netzwerk Konfiguration

config

image.png

P1
show interfaces

image.png

# Setzt die IP-Adresse für das Ethernet-Interface eth0 auf 10.1.1.1 mit einer Subnetz-Maske von 24 Bit.
set interface ethernet eth0 address '10.1.1.1/24'

# Weist dem Ethernet-Interface eth0 die Beschreibung 'MPLSNET1' zu.
set interface ethernet eth0 description 'MPLSNET1'

# Konfiguriert eine Loopback-Schnittstelle mit der IP-Adresse 10.0.0.1 und einer Subnetz-Maske von 32 Bit.
set interface loopback lo address 10.0.0.1/32

# Erstellt ein Dummy-Interface dum0 und weist ihm die IP-Adresse 10.0.0.1 mit einer Subnetz-Maske von 32 Bit zu.
set interface dummy dum0 address 10.0.0.1/32

# Konfiguriert das OSPF-Protokoll für das Dummy-Interface dum0 im Bereich (Area) 0.
set protocols ospf interface dum0 area 0

# Aktiviert OSPF auf dem Ethernet-Interface eth0 und ordnet es dem Bereich (Area) 0 zu.
set protocols ospf interface eth0 area 0

# Setzt den Netzwerktyp für das OSPF-Protokoll auf dem Ethernet-Interface eth0 auf Punkt-zu-Punkt.
set protocols ospf interface eth0 network point-to-point

# Aktiviert MPLS auf dem Ethernet-Interface eth0.
set protocols mpls interface eth0

# Konfiguriert die MPLS LDP (Label Distribution Protocol) Entdeckung, um die IP-Adresse 10.0.0.1 für den Transport zu nutzen.
set protocols mpls ldp discovery transport-ipv4-address 10.0.0.1

# Aktiviert MPLS LDP auf dem Ethernet-Interface eth0.
set protocols mpls ldp interface eth0

# Setzt die Router-ID für das MPLS LDP auf 10.0.0.1.
set protocols mpls ldp router-id 10.0.0.1

# Übernimmt die aktuellen Konfigurationseinstellungen.
commit

# Speichert die aktuelle Konfiguration.
save
P2
show interfaces

Screenshot 2024-03-10 190239.png

# Weist dem Ethernet-Interface eth0 die IP-Adresse 10.1.1.2 mit einer Subnetz-Maske von 24 Bit zu.
set interface ethernet eth0 address '10.1.1.2/24'

# Weist dem Ethernet-Interface eth0 die Beschreibung 'MPLSNET1' zu.
set interface ethernet eth0 description 'MPLSNET1'

# Konfiguriert das Ethernet-Interface eth1 mit der IP-Adresse 10.1.2.1 und einer Subnetz-Maske von 24 Bit.
set interface ethernet eth1 address '10.1.2.1/24'

# Weist dem Ethernet-Interface eth1 die Beschreibung 'MPLSNET2' zu.
set interface ethernet eth1 description 'MPLSNET2'

# Konfiguriert eine Loopback-Schnittstelle mit der IP-Adresse 10.0.0.2 und einer Subnetz-Maske von 32 Bit.
set interface loopback lo address 10.0.0.2/32

# Erstellt ein Dummy-Interface dum0 und weist ihm die IP-Adresse 10.0.0.2 mit einer Subnetz-Maske von 32 Bit zu.
set interface dummy dum0 address 10.0.0.2/32

# Konfiguriert OSPF für das Dummy-Interface dum0 im Bereich (Area) 0.
set protocols ospf interface dum0 area 0

# Konfiguriert OSPF auf dem Ethernet-Interface eth0 und ordnet es dem Bereich (Area) 0 zu.
set protocols ospf interface eth0 area 0

# Setzt den Netzwerktyp für OSPF auf dem Ethernet-Interface eth0 auf Punkt-zu-Punkt.
set protocols ospf interface eth0 network point-to-point

# Konfiguriert OSPF auf dem Ethernet-Interface eth1 und ordnet es dem Bereich (Area) 0 zu.
set protocols ospf interface eth1 area 0

# Setzt den Netzwerktyp für OSPF auf dem Ethernet-Interface eth1 auf Punkt-zu-Punkt.
set protocols ospf interface eth1 network point-to-point

# Aktiviert MPLS auf dem Ethernet-Interface eth0.
set protocols mpls interface eth0

# Aktiviert MPLS auf dem Ethernet-Interface eth1.
set protocols mpls interface eth1

# Konfiguriert die MPLS LDP Entdeckung, um die IP-Adresse 10.0.0.2 für den Transport zu nutzen.
set protocols mpls ldp discovery transport-ipv4-address 10.0.0.2

# Aktiviert MPLS LDP auf dem Ethernet-Interface eth0.
set protocols mpls ldp interface eth0

# Aktiviert MPLS LDP auf dem Ethernet-Interface eth1.
set protocols mpls ldp interface eth1

# Setzt die Router-ID für das MPLS LDP auf 10.0.0.2.
set protocols mpls ldp router-id 10.0.0.2

# Übernimmt die aktuellen Konfigurationseinstellungen.
commit

# Speichert die aktuelle Konfiguration.
save
P3
# Weist dem Ethernet-Interface eth0 die IP-Adresse 10.1.2.2 mit einer Subnetz-Maske von 24 Bit zu.
set interface ethernet eth0 address '10.1.2.2/24'

# Weist dem Ethernet-Interface eth0 die Beschreibung 'MPLSNET2' zu.
set interface ethernet eth0 description 'MPLSNET2'

# Konfiguriert eine Loopback-Schnittstelle mit der IP-Adresse 10.0.0.3 und einer Subnetz-Maske von 32 Bit.
set interface loopback lo address 10.0.0.3/32

# Erstellt ein Dummy-Interface dum0 und weist ihm die IP-Adresse 10.0.0.3 mit einer Subnetz-Maske von 32 Bit zu.
set interface dummy dum0 address 10.0.0.3/32

# Konfiguriert OSPF für das Dummy-Interface dum0 im Bereich (Area) 0.
set protocols ospf interface dum0 area 0

# Konfiguriert OSPF auf dem Ethernet-Interface eth0 und ordnet es dem Bereich (Area) 0 zu.
set protocols ospf interface eth0 area 0

# Setzt den Netzwerktyp für OSPF auf dem Ethernet-Interface eth0 auf Punkt-zu-Punkt.
set protocols ospf interface eth0 network point-to-point

# Aktiviert MPLS auf dem Ethernet-Interface eth0.
set protocols mpls interface eth0

# Konfiguriert die MPLS LDP Entdeckung, um die IP-Adresse 10.0.0.3 für den Transport zu nutzen.
set protocols mpls ldp discovery transport-ipv4-address 10.0.0.3

# Aktiviert MPLS LDP auf dem Ethernet-Interface eth0.
set protocols mpls ldp interface eth0

# Setzt die Router-ID für das MPLS LDP auf 10.0.0.3.
set protocols mpls ldp router-id 10.0.0.3

# Übernimmt die aktuellen Konfigurationseinstellungen.
commit

# Speichert die aktuelle Konfiguration.
save

Erklärungen

Dummy Interface: Ein Dummy Interface ist eine virtuelle Netzwerkschnittstelle, die im Betriebssystem eines Computers oder Netzwerkgeräts erstellt wird. Es kann für verschiedene Zwecke verwendet werden, wie zum Beispiel zum Routing, zur Netzwerksegmentierung ohne physische Schnittstellen oder zur Bereitstellung von IP-Adressen für Dienste, die keine direkte Zuordnung zu einer physischen Schnittstelle erfordern. Dummy Interfaces haben keine Hardware und senden oder empfangen keine echten Datenpakete.

Loopback Interface: Eine Loopback-Schnittstelle ist ebenfalls ein virtuelles Interface, das primär zur internen Kommunikation innerhalb des Hosts oder Geräts verwendet wird. Die IP-Adresse einer Loopback-Schnittstelle ist immer erreichbar, solange das Gerät eingeschaltet ist, unabhängig vom Status der physischen Netzwerkschnittstellen. Es wird häufig für Testzwecke, Management und Routing verwendet, da es eine stabile Adresse bietet, die nicht von Netzwerkfehlern oder Hardwareproblemen betroffen ist.

OSPF (Open Shortest Path First): OSPF ist ein dynamisches Routing-Protokoll, das verwendet wird, um Routen in IP-Netzwerken zu finden und zu aktualisieren. Es gehört zur Gruppe der Link-State-Routing-Protokolle und ermöglicht es Routern, den schnellsten Pfad zu einem Ziel zu ermitteln, indem der Zustand der Verbindungen (Links) zwischen den Routern berücksichtigt wird. OSPF skaliert gut in großen und komplexen Netzwerken, unterstützt Mehrfachwege zum gleichen Ziel und kann sich schnell an Netzwerkänderungen anpassen.

Testing

Neighbor

run show mpls ldp neighbor
P1

image.png

P2

image.png

P3

image.png

MPLS Table

run show mpls table
P1

image.png

P2

image.png

P3

image.png

Ping

image.png