Das Internet ist ein Verbundnetz, bestehend aus den Netzen vieler verschiedener Betreiber (Unternehmen, Bildungseinrichtungen, Militär, usw), die jeweils eigene, administrativ unabhängige Netze betreiben.
Das Verbinden zweier Netze verschiedener Netzbetreiber geschieht meist aus gegenseitigem Nutzen (Rechner in dem einen Netz können mit Rechnern im anderen Netz kommunizieren), oder wirtschaftlichem Interesse.
In diesem Zusammenhang nennt man die unabhänigigen administrativen Domänen eines Betreibers Autonome Systeme (AS).
在这种情况下,运营商的独立行政域被称为自治系统(AS)。
Ein AS ist genehmigungspflichtig (bei der Internet Assigned Numbers Authority, IANA) und trägt eine weltweit eindeutige AS-Nummer – diese stellt eine Art Adresse der administrativen Domäne dar.
一个自治系统需要获得批准(由互联网号码分配机构 IANA),并具有一个全球唯一的 AS 编号——这相当于行政域的地址。
---
Grundsätzlich wird unterschieden, ob es sich bei der Verbindung zweier Netze bzw. AS um eine sogenannte Peering-Beziehung handelt, oder um eine Transit-Beziehung.
Abbildung 3.1(a) zeigt AS-Peering, das den Netzteilnehmern in den Netzen der Peering-Partner Kommunikation in das Netz des anderen Peering-Partners erlaubt.
图 3.1(a) 显示了自治系统对等连接,它允许对等方网络中的参与者与另一个对等方的网络进行通信。
Transit bedeutet die Erlaubnis, Nachrichten durch das Netz eines Betreibers zu vermitteln, auch wenn sie an Endsysteme außerhalb dessen Netz adressiert sind: Das Netz, durch das vermittelt wird dient also als „Durchfahrtstraße”.
In Abbildung 3.1(b) benötigen die beiden äußeren AS ein Transitabkommen mit dem AS 64500, damit ein Datenaustausch zwischen den beiden Endgeräten erfolgen kann.
Analog zu privaten IP-Adressen wurden AS-Nummern für private Nutzung (z.B. im Testbetrieb) reserviert, sowie zur Nutzung in Dokumentation:
类似于私有 IP 地址,也为私人用途(例如测试运行)保留了自治系统编号,以及用于文档中的使用:
64512-65534 Designated for private use (Allocated to the IANA)
64512-65534 被指定用于私人用途(分配给 IANA)。
64496-64511 Reserved for use in documentation and sample code [RFC5398]
64496-64511 被保留用于文档和示例代码中 [RFC5398]。
Die Versuche im Praktikum nutzen diese privaten AS-Nummern.
实习中的实验使用了这些私有自治系统编号。
## 3.1 Vermittlungsschicht (OSI-Schicht3)
Aufbauend auf der Sicherungsschicht (siehe Kapitel 2.2), die dafür zuständig ist Rahmen durch ein LAN zu transportieren, werden mit den Funktionen der Vermittlungsschicht Nachrichten von der Quelle, durch das Transportnetz, bis zum endgültigen Ziel übertragen.
Dabei können Teilnetze durchquert werden, die beliebige Schicht 2 Implementierungen einsetzen.
在此过程中,可以穿越使用任意第二层实现的子网。
Dadurch wird es ermöglicht, Daten zwischen Endpunkten in heterogenen Netzen auszutauschen.
这样便可以在异构网络的端点之间交换数据。
---
Da die Vermittlungsschicht Datagramme bis zum endgültigen Ziel überträgt, müssen alle Endpunkte über alle Teilnetze hinweg eindeutig adressierbar sein.
由于网络层将数据报传输到最终目的地,所有端点必须在所有子网中都具有唯一的地址。
Mit dem geplanten Einsatzzweck viele Schicht 2 Netze beinhalten zu können, muss bei der Entwicklung von Schicht 3 Protokollen davon ausgegangen werden, dass man mit sehr vielen Teilnehmern zurecht kommen muss, im Gegensatz zu einem einzelnen Schicht 2 Teilnetz.
Zwei Hauptaufgaben der Schicht 3 sind also eine globale (netzweite), eindeutige Adressierung aller möglicher Endpunkte und die Verschattung der zugrunde liegenden Übertragungstechniken.
Protokolle höherer Schichten müssen sich dadurch nicht mehr mit Anzahl, Art und Topologie der Komponenten des Transportnetzes befassen.
这使得更高层的协议无需再关心传输网络中组件的数量、类型和拓扑结构。
---
### 3.1.1 Fragmentierung 分片
Oft wird die maximale Länge einer Schicht-N-PDU durch die darunter liegende Schicht beschränkt.
通常,某一层的PDU(协议数据单元)的最大长度会受到其下层的限制。
Auf dem Weg zwischen Sender und Empfänger durchquert ein Datagramm (Schicht-3-PDU) häufig verschiedene Subnetze bzw. LANs, deren Schicht-2-PDUs unterschiedliche maximale Längen für Nutzdaten zulassen.
Ein Datagramm gegebener Größe muss daher in kleinere Fragmente aufgeteilt werden, jedesmal wenn ein Subnetz passiert werden soll, dessen MTU (engl. Maximum Transmission Unit) kleiner ist, als die Größe des Datagramms.
Ethernet (ohne Erweiterungen) erlaubt z.B. bis zu 1500 Bytes Nutzdaten pro Rahmen.
例如,以太网(不带扩展)每个帧最多允许1500字节的有效载荷。
#### Fragmentierung von IP-Paketen IP 数据包的分片
Wird ein IP-Paket fragmentiert, so sind die entstehenden Fragmente ebenfalls IP-Pakete.
当一个 IP 数据包被分片时,生成的每个片段也是一个 IP 数据包。
Im IP-Header eines jeden Fragments bestimmt das Fragment Offset-Feld die Position der Daten (in Einheiten von 64-Bit) im ursprünglichen IP-Paket.
在每个片段的 IP 头中,分片偏移字段(Fragment Offset)指示数据在原始 IP 数据包中的位置(以 64 位为单位)。
Das more-Flag zeigt an, dass auf ein Fragment ein weiteres Fragment folgt.
more 标志表示该片段后面还有其他片段。
Bis auf das letzte Fragment hat jedes Fragment das more-Flag im Header gesetzt.
除了最后一个片段,所有片段的头部都设置了 more 标志。
Mit Hilfe des Fragment Offset-Felds und dem more-Bit kann ein Empfänger der Fragmente diese wieder zusammensetzen und ggf. das ursprüngliche IP-Paket weiterleiten.
接收方可以借助分片偏移字段和 more 位将这些片段重新组装,并在必要时转发原始 IP 数据包。
### 3.1.2 Tunneling 隧道技术
Tunneling ist eine weitere Methode um ein logisches Netz in einem vorhandenen Netz zu implementieren.
隧道技术是另一种在现有网络中实现逻辑网络的方法。
Eine ähnliche Technik haben Sie mit VLANs im vorherigen Abschnitt kennengelernt.
在上一节中,您已经了解了类似的技术,例如 VLAN。
Im Gegensatz zu VLANs, die eine logische Topologie mit mehreren Endpunkten auf einen physischen Aufbau aufbringen, zielen Tunnel darauf ab, eine direkte (logische) Verbindung zwischen zwei Endpunkten zu erstellen.
Dabei wird das Netz (oder auch mehrere Netze) zwischen den Endpunkten zu einer virtuellen Leitung abstrahiert.
通过这种方式,端点之间的网络(或多个网络)被抽象为一条虚拟的通信线路。
---
Durch diese Technik können Teilnetze transparent zusammengeschaltet werden.
通过这种技术,子网可以透明地连接起来。
Sie wird häufig eingesetzt, um entfernte Standorte in ein internes Firmennetz zu integrieren oder mobilen Endgeräten mit Internetzugang Zugriff auf die internen Ressourcen zu ermöglichen.
它常用于将远程地点集成到公司的内部网络中,或者为具有互联网接入的移动设备提供访问内部资源的权限。
---
Abbildung 3.2 zeigt ein IP-Paket, das vom Rechner „Sender” an „Empfänger” gesendet wird.
图 3.2 显示了一个从计算机“发送方”发送到“接收方”的 IP 数据包。
Bis zum ersten Router A wird das IP-Paket als Nutzdaten, beispielsweise innerhalb eines Ethernet-Rahmens, transportiert.
在到达第一个路由器 A 之前,IP 数据包作为有效载荷被传输,例如在一个以太网帧中。
Router A behandelt das IP-Paket wie Nutzdaten einer höheren Schicht: er erstellt ein äußeres IP-Paket, schreibt unser ursprüngliches Paket in das Nutzdatenfeld des äußeren IP-Pakets und vermittelt das äußere Paket weiter auf dem Pfad zu Router B.
路由器 A 将 IP 数据包视为更高层的有效载荷:它创建一个外部 IP 数据包,将原始数据包写入外部 IP 数据包的有效载荷字段,并沿着路径将外部数据包转发到路由器 B。
Dieser stellt das ursprüngliche IP-Paket dem Empfänger zu.
路由器 B 将原始 IP 数据包传递给接收方。
Das Netz zwischen den Routern A und B wird dabei aus Sicht unseres (inneren) IP-Pakets zu einer direkten Verbindung – einem Tunnel – abstrahiert.
在我们(内部)IP 数据包的视角中,路由器 A 和 B 之间的网络被抽象为一个直接的连接——一个隧道。
Durch das stetige Wachstum der Anzahl an Endgeräte im Internet und die hierarchische Aufteilung von IP-Adressen beinhaltet der 32-Bit Adressraum von IPv4 nicht genug Adressen für den Bedarf im Internet.
由于互联网中终端设备数量的不断增长以及 IP 地址的层级划分,IPv4 的 32 位地址空间无法满足互联网的需求。
Der 128-Bit Adressraum von IPv6 ist ein wesentlicher Grund für dessen Entwicklung als designierter Nachfolger von IPv4.
IPv6 的 128 位地址空间是其作为 IPv4 指定继任者开发的一个重要原因。
Als eigenständige Neuentwicklung konnte IPv6 ([RFC 2460]) von den Erfahrungen mit IPv4 profitieren.
作为一项独立的新开发,IPv6([RFC 2460])能够从 IPv4 的经验中获益。
So wurde IPv6 mit vielen Funktionen und Eigenschaften entwickelt, mit der Absicht Probleme von IPv4 zu lösen und die Erweiterung des Protokolls zu erleichtern.
因此,IPv6 被开发为具有许多功能和特性,旨在解决 IPv4 的问题并简化协议的扩展。
Einige der wichtigsten Eigenschaften von IPv6 sind:
IPv6 的一些主要特性包括:
**1. 128-Bit Adressen 128 位地址**
IPv6-Adressen sind 128-Bit lang und werden hierarchisch in Subnetze aufgeteilt.
IPv6 地址长度为 128 位,并按层次结构划分为子网。
Eine IPv6-Adresse setzt sich aus einer 64-Bit langen Subnetz-ID und einer 64-Bit langen Host-ID zusammen.
一组 IPv6 地址由 64 位的子网 ID 和 64 位的主机 ID 组成。
Die Größe des Adressraums für Host-IDs erlaubt es (weltweit) eindeutige Host-IDs zu vergeben.
主机 ID 地址空间的大小允许分配全球唯一的主机 ID。
Dafür sieht die ursprüngliche IPv6-Spezifikation einen entsprechenden Algorithmus zur automatischen Generierung von Host-IDs vor.
为此,最初的 IPv6 规范规定了一种自动生成主机 ID 的相应算法。
Das Ziel war die eindeutige Identifizierung eines Hosts unabhängig von der Subnetz-ID und damit von dem Teilnetz, indem sich ein Host befindet, zu machen.
目标是使主机能够独立于子网 ID,从而独立于主机所在的子网,进行唯一标识。
Besonders für mobile Endgeräte ist dies ein relevanter Aspekt, denn diese können häufig von einem (Funk-)Netz in ein anderes wechseln.
这一点对移动终端尤为重要,因为它们经常从一个(无线)网络切换到另一个网络。
Unter Anderem ist es hier für die Abrechnung (siehe Abschnitt „Abrechnungs-Management”) wichtig, mobile Endgeräte über Subnetze hinweg eindeutig identifizieren zu können.
此外,为了计费(参见“计费管理”部分),能够跨子网唯一标识移动设备是非常重要的。
Heute ist man von dem Gedanken der eindeutigen Adressierung zum Schutz der Privatsphäre der Benutzer abgekommen, allerdings ist die technische Möglichkeit nach wie vor gegeben.
如今,为了保护用户隐私,人们已经摒弃了唯一地址分配的想法,但这种技术上的可能性仍然存在。
**2. Feste Header-Länge und Header-Extensions 固定头长度与头扩展**
Für die Vermittlung einer Nachricht ist es wichtig die Länge des IP-Headers zu kennen, da dieser eventuell relevante Informationen für die Vermittlung auf Schicht 3 enthält.
在消息传输中,了解 IP 头的长度非常重要,因为它可能包含第三层传输相关的重要信息。
Der IPv6-Ansatz sieht einen Header fester Länge vor, der durch Header-Extensions um zusätzliche Informationen erweitert werden kann.
IPv6 的方法采用固定长度的头部,可以通过头扩展添加额外的信息。
Zu diesem Zweck ist im IPv6-Header das Feld „Next-Header” vorgesehen (siehe Abbildung 3.3).
为此,IPv6 头中引入了“Next-Header”(下一个头)字段(见图 3.3)。
Dies ermöglicht es den IPv6-Header nur bei Bedarf um Funktionen zu erweitern.
这使得 IPv6 头可以根据需要扩展功能。
Außerdem kann IPv6 zu einem späteren Zeitpunkt leicht durch das Definieren neuer Header-Extensions erweitert werden.
此外,通过定义新的头扩展,IPv6 在后续阶段可以轻松实现扩展。
Das erste Feld einer jeden Header-Extension ist ein Next-Header-Feld.
每个头扩展的第一个字段都是一个 Next-Header 字段。
Auf diese Art und Weise können Header-Extensions kombiniert werden.
通过这种方式,可以组合多个头扩展。
IPsec wurde ursprünglich als [RFC 2401] eingeführt, um bereits auf der Ebene der Vermittlungsschicht Daten verifizieren und verschlüsseln zu können.
IPsec 最初作为 [RFC 2401] 引入,用于在网络层验证和加密数据。
IPsec wurde komplett in IPv6 übernommen und kann mittels Header-Extensions eingesetzt werden.
IPsec 完全被整合到 IPv6 中,并可以通过头扩展来使用。
**Autoconfiguration 自动配置**
Unter dem Stichwort Autoconfiguration werden mehrere Funktionen und Eigenschaften von IPv6 zugefasst.
在“自动配置”这一主题下,IPv6 包含了多种功能和特性。
Ein prominenter Vertreter aus dieser Kategorie ist das automatische Generieren der Host-ID, zum Beispiel (aber nicht unbedingt!) aus der MAC-Adresse.
此类别中一个典型的功能是自动生成主机 ID,例如(但不一定是)基于 MAC 地址生成。
Des weiteren implementiert IPv6 Gültigkeitsbereiche (engl. Scopes) von IP-Adressen.
此外,IPv6 实现了 IP 地址的有效范围(Scopes)。
Die hier relevanten Scopes sind „link-local” und „global”.
这里相关的范围是“链路本地”(link-local)和“全局”(global)。
IP-Adressen deren Scope link-local ist werden nicht geroutet.
范围为“链路本地”的 IP 地址不会被路由。
Aus einem im Standard definierten Präfix und der automatisch generierten Host-ID erhält jede Schnittstelle, auf der IPv6 eingesetzt wird, eine eindeutige link-local IP-Adresse.
基于标准中定义的前缀和自动生成的主机 ID,每个使用 IPv6 的接口都会获得一个唯一的链路本地 IP 地址。
### 3.2.1 Adressen 地址
IPv6-Adressen werden als Folge von 16 Bit langen Segmenten notiert.
IPv6 地址以一系列 16 位长的段表示。
Jedes der acht Segmente wird als Hexadezimalzahl aufgeschrieben, wobei je zwei Segmente (Oktettenpaare) durch einen Doppelpunkt ’:’ getrennt werden, zum Beispiel die Adresse 1080:0:0:0:8:800:200C:417A.
Aufgrund des großen Adressraums kommen oft Bereiche einer Adresse vor, in denen mehrere aufeinanderfolgende Oktettenpaare den Wert null haben.
由于地址空间很大,IPv6 地址中经常会出现多个连续的八位字节对值为零的区域。
Zugunsten einer verkürzten Schreibweise darf (höchstens einmal) eine Folge von Nullen zu zwei aufeinanderfolgenden Doppelpunkten ’::’ verkürzt werden.
为了简化书写(但最多仅允许一次),一串连续的零可以缩写为两个连续的冒号‘::’。
Die Anzahl der Null-Oktette, die so repräsentiert werden kann, offensichtlich aus der festen Länge einer Adresse und den ausdrücklich angegebenen Oktetten abgeleitet werden.
通过地址的固定长度和明确指定的八位字节数,可以明显推导出以这种方式表示的零八位字节的数量。
z.B:
例如:
nicht verkürzt 1080:0:0:0:8:800:200C:417A
未缩写:1080:0:0:0:8:800:200C:417A
verkürzt 1080::8:800:200C:417A
缩写后:1080::8:800:200C:417A
**Aufbau einer Adresse 地址的结构**
Die Abkehr von Netzklassen, wie sie ursprünglich in IPv4 verwendet wurden, eröffent neue Möglichkeiten für die Strukturierung von IP-Adressen, insbesondere für die Subnetz-ID.
放弃最初在 IPv4 中使用的网络类别,为 IP 地址的结构化带来了新的可能性,特别是在子网 ID 的设计方面。
Die Struktur von IPv6-Adressen ist dahingehend gestaltet, den organisatorischen Gegebenheiten im Internet gerecht zu werden: es werden seitens verschiedener Organisationen Kern- und Transitnetze betrieben, sowie Zugangsnetze und lokale Netze.
Die ersten 48 Bit der Adresse bezeichnen die **Public Topology** (insbesondere die Felder TLA und NLA), zum Beispiel Transitnetze.
地址的前 48 位表示**公共拓扑**(尤其是 TLA 和 NLA 字段),例如传输网络。
Die zweite Hierarchietufe ist die **Site Topology (SLA-Feld)**, die standortbezogene Adressierung bezweckt.
第二层是**站点拓扑(SLA 字段)**,用于实现与站点相关的地址分配。
Die dritte Hierarchiestufe wird durch den **Interface Identifier** repräsentiert.
第三层由**接口标识符(Interface Identifier)**表示。
Diese entspricht am ehesten der aus IPv4 bekannten Host-ID.
这一部分最接近于 IPv4 中的主机 ID。
**Spezielle Adressen 特殊地址**
Auch bei IPv6 sind bestimmte Adressen bzw. Präfixe mit besonderer Bedeutung belegt, unter anderem gibt es Festlegungen für eine nicht definierte Adresse für eine Schnittstelle, einer loopback-Adresse und privaten Adressen.
> Private Adressen sind solche, die nicht im Internet vermittelt werden. Dazu gehören bei IPv4 beispielsweise die Adressen des 10.*-Netzes. Bei IPv6 gehören dazu auch die sogenannten link-local-Adressen, mit dem 10-Bit-Präfix 1111111010 bzw. das Subnetz FE80::/10.
Zum Beispiel beinhaltet ICMPv6 „Router Advertisements”, mit deren Hilfe Client-Rechner automatisch eine globale (geroutete) IPv6-Adresse und eine Default-Route erhalten.
Dies sind typische Eigenschaften, die bei IPv4 nur über DHCP zugewiesen werden (können).
这些是 IPv4 中只能通过 DHCP 分配的典型特性。
### 3.2.3 Koexistenz von IPv4 und IPv6 IPv4 和 IPv6 的共存
Seit geraumer Zeit wird die Umstellung des (gesamten) Internet auf die Version 6 von IP beschworen; tatsächlich findet diese Umstellung jedoch nur dort statt, wo ein akuter Bedarf an freien IP-Adressen (z.B. in asiatischen Ländern) besteht, oder bestimmte Eigenschaften von IPv6 zwingend erforderlich werden.
长期以来,人们呼吁将整个互联网切换到 IPv6。然而,这种切换实际上仅发生在需要大量可用 IP 地址的地方(例如亚洲国家),或在某些情况下 IPv6 的特性是必需的。
Daher ist für die nächste Zeit eine Koexistenz der beiden Protokollversionen abzusehen.
因此,在未来的一段时间内,IPv4 和 IPv6 两个协议版本将共存。
Um eine Kompatibilität zwischen IP-Netzen und -Hosts zu gewähren, obwohl diese mit verschiedenen IP-Versionen arbeiten, existieren mehrere prinzipielle Ansätze:
为了在使用不同 IP 版本的 IP 网络和主机之间实现兼容性,存在几种基本方法:
- **Dual-Stack**: Knoten besitzen sowohl IPv4- als auch IPv6-Implementierung.
**双栈**:节点同时支持 IPv4 和 IPv6 的实现。
- **Tunneling**: Kapselung von Paketen im tunnelnden Protokoll, d.h. IPv6-Verkehr über IPv4-Netz bzw. IPv4-Verkehr über IPv6-Netz.
- **Herausforderungen**: Management des Tunnels (Erstellung, Abbau), Umgang mit Fragmenten
**挑战**:隧道的管理(建立与拆除),以及对分片的处理。
- Übersetzung von IPv4/IPv6-PDU in die jeweils andere Protokollversion.Diese Übersetzung kann in Übergangsknoten/Router geschehen, bzw. in Programmbibliotheken (APIs zur Netzprogrammierung) des Betriebssystems.
In Netzen mit vielen Routern und einer großen Anzahl von Verbindungen in andere Netze ist es sehr aufwändig Routing-Tabellen manuell zu verwalten.
在拥有许多路由器和大量连接到其他网络的网络中,手动管理路由表非常繁琐。
Zur Erleichterung setzt man Routing-Protokolle ein, die Router den Austausch von Informationen ermöglicht, insbesondere Routen.
为了简化这一过程,人们使用路由协议,使路由器能够交换信息,尤其是路由信息。
Indem Router „Wissen” über erreichbare Ziele austauschen, können Routing-Tabellen automatisch erstellt und aktualisiert werden.
通过路由器交换关于可达目标的“知识”,路由表可以被自动创建和更新。
---
Adaptive Routing-Verfahren zeichnen sich dadurch aus, dass sie sich dem Zustand des Netzes anpassen.
自适应路由方法的特点是能够根据网络的状态进行调整。
Durch den Einsatz von Routing-Protokollen erhält ein Router ereignis- oder zeitgesteuert aktuelle Informationen über die Erreichbarkeit entfernter Netzsegmente.
通过使用路由协议,路由器可以根据事件或时间周期获取远程网络段的最新可达性信息。
Router nutzen diese Informationen um die eigene Routing-Tabelle zu ergänzen oder zu modifizieren.
路由器利用这些信息来更新或修改自身的路由表。
Dadurch „lernen” Router Pfade in entfernte Netzsegmente und können auf Veränderungen in der Topologie reagieren.
因此,路由器可以“学习”到达远程网络段的路径,并对拓扑结构的变化作出响应。
Unter den adaptiven Routing-Verfahren wird zwischen *zentralen* und *verteilten* Verfahren unterschieden.
在自适应路由方法中,区分了*集中式*和*分布式方法*。
Bei zentralen Verfahren erhalten Router Informationen von fest definierten Stationen, während bei verteilten Routing-Verfahren die Router als gleichgestellte Einheiten (engl. peers) interagieren.
Die im folgenden dargestellten Verfahren sind *verteilte* Verfahren und werden daher auf jedem Router ausgeführt.
以下描述的方法是*分布式*方法,因此在每台路由器上执行。
Heute verwenden die meisten Routing-Protokolle das adaptive *Distanz-Vektor**Verfahren* oder das adaptive *Link-State Verfahren*.
目前,大多数路由协议使用*自适应距离向量方法*或*自适应链路状态方法*。
### 3.3.1 Optimale Pfade最优路径
Die Hauptfunktion von Routing-Protokollen besteht darin, dass jeder Router Information über die ihm bekannten Subnetze anderen Routern mitteilt, so dass Rechner aus unterschiedlichen Subnetzen interagieren können.
Dabei ist eine wichtige Herausforderung die Ermittlung eines *optimalen Pfades* zu jedem Subnetz.
其中一个重要的挑战是为每个子网确定一条*最优路径*。
Mit einer Kostenfunktion werden die Transitkosten für jede Verbindung zwischen zwei benachbarten Routern festgelegt.
通过成本函数,确定两个相邻路由器之间每条连接的传输成本。
Auf dem resultierenden Graphen mit gewichteten Kanten (wobei die Knoten des Graphen Router im Netz sind und die Kanten Leitungen zwischen den Routern) sucht ein Planungsalgorithmus einen optimalen Pfad zu jedem Subnetz.
Kostenfunktionen dienen dazu den Planungsalgorithmus zu beeinflussen.
成本函数用于影响规划算法。
Eine Nachricht die sich im Transitnetz befindet belegt Ressourcen in Routern und Switches.
处于传输网络中的消息会占用路由器和交换机的资源。
Da diese Ressourcen meist sehr begrenzt sind, wird die Kostenfunktion häufig so gewählt, dass eine Nachricht so schnell wie möglich das Transitnetz verlässt.
由于这些资源通常非常有限,成本函数通常会选择使消息尽快离开传输网络的方式。
Eine Nachricht verlässt das Transitnetz entweder durch direkte Zustellung an den Adressaten oder indem sie in ein Netz eines anderen Betreibers weitergeleitet wird.
消息离开传输网络的方式可以是直接送达接收者,也可以是转发到另一个运营商的网络中。
Beispiele für Kostenfunktionen sind „Anzahl Hops”, d.h. die Anzahl der Zwischenschritte, oder die summierte Latenz der Leitungen auf einem Pfad.
成本函数的示例包括“跳数”(即中间步骤的数量)或路径上所有线路的总延迟。
### 3.3.2 Distanz-Vektor Verfahren 距离向量方法
Beim Distanz-Vektor Verfahren (DV) erstellt jeder Router eine Liste aller erreichbaren Ziele und die zugehörigen Kosten für den Transit.
在距离向量方法(DV)中,每个路由器会创建一个所有可达目标及其传输成本的列表。
Indem benachbarte Router ihre Listen austauschen, „lernen” sie Pfade zu allen Zielen, die über ihre Nachbarn erreicht werden können.
通过相邻路由器交换列表,它们可以“学习”到通过邻居到达所有目标的路径。
Der zugrunde liegende Algorithmus für das Distanz-Vektor Verfahren ist der Bellman-Ford oder Ford-Fulkerson Algorithmus.
距离向量方法的基础算法是 Bellman-Ford 算法或 Ford-Fulkerson 算法。
---
Ein Router kennt und interagiert nur mit seinen direkten Nachbarn.
一个路由器仅了解并与其直接邻居交互。
Ein Ziel wird entweder direkt, oder über einen der Nachbarn erreicht.
目标可以直接到达,也可以通过某个邻居到达。
Die für das Verfahren benötigten Informationen über erreichbare Ziele erhält ein Router aus seiner Routing-Tabelle.
路由器从其路由表中获取关于可达目标的信息,这是该方法所需的数据来源。
Die Kosten werden über eine Kostenfunktion ermittelt.
成本通过成本函数计算得出。
Ein einfaches Beispiel einer Kostenfunktion für das Distanz-Vektor Verfahren ist die Anzahl der Zwischenschritte (oder Entfernung, engl. distance), mit der ein Rechner im Zielnetz erreicht werden kann.
Direkt erreichbare Netze erhalten einen Wert von 0 für die „Kosten” der Erreichbarkeit, da keine Zwischenschritte benötigt werden.
直接可达的网络其到达成本为 0,因为不需要任何中间步骤。
Die Kosten der indirekt erreichbaren Ziele entspricht der Länge des Pfades (Anzahl vermittelnder Router) zum Zielnetz.
间接可达目标的成本等于到达目标网络的路径长度(即中间路由器的数量)。
---
Die vollständige Liste mit Routing-Informationen wird an alle direkten Nachbarn geschickt.
完整的路由信息列表会发送给所有直接的邻居。
Empfängt ein Router Routing-Informationen, vergleicht er deren Inhalt mit der eigenen Routing-Tabelle und den darin gespeicherten Kosten.
当一个路由器接收到路由信息时,它会将其内容与自己的路由表及其中存储的成本进行比较。
Ziele, die noch keinen Eintrag in der eigenen Routing-Tabelle haben, werden ergänzt.
对于尚未在自己的路由表中记录的目标,将添加新条目。
Da die Informationen von einem direkten Nachbarn stammen, werden die Kosten (Distanz) um eins erhöht, bevor ein Eintrag in die eigene Routing-Tabelle eingefügt wird.
由于这些信息来自直接邻居,在将条目插入自己的路由表之前,成本(距离)会增加 1。
Existiert bereits ein Eintrag in der Routing-Tabelle entscheidet der Router anhand der Kosten, ob der Eintrag in der Routing-Tabelle ersetzt oder beibehalten wird.
如果路由表中已经存在相应的条目,路由器会根据成本决定是否替换或保留该条目。
Bei dieser Entscheidung wird stets der Pfad mit weniger Zwischenschritten bevorzugt.
在做出决定时,总是优先选择跳数较少的路径。
Abbildung 3.5 zeigt ein Netz aus Routern, die ein Distanz-Vektor Verfahren einsetzen.
图 3.5 展示了一个使用距离向量方法的路由器网络。
In diesem Beispiel schicken nur die beiden direkt benachbarten Router Informationen an router0.
In diesem Beispiel schicken alle teilnehmenden Router Informationen an router0.
在此示例中,所有参与的路由器都会向 router0 发送信息。
Link-State Verfahren benötigen im Vergleich mit Distanz-Vektor Verfahren deutlich mehr Interaktion zwischen den Routern und Ressourcen zur Berechnung der optimalen Pfade.
与距离向量方法相比,链路状态方法需要显著更多的路由器间交互和资源来计算最优路径。
Mit diesen Nachteilen erhält man die Vorteile, dass Pfadberechnungen mit allen Informationen und unabhängig voneinander erfolgen.
尽管存在这些缺点,但优点是路径计算基于所有信息且彼此独立进行。
Dadurch sind mit Link-State Verfahren berechnete Pfade immer optimal, während beim Distanz-Vektor Verfahren Pfade iterativ, durch den Austausch von Routing-Informationen, zu optimalen Pfaden konvergieren.
Zwischen Autonomen Systemen werden Wegewahlverfahren eingesetzt, die politische oder wirtschaftliche Interessen der Betreiber berücksichtigen.
自治系统之间的路由选择方法会考虑运营商的政治或经济利益。
Standardmäßig wird dabei das Border Gateway Protocol ([RFC 4271]) eingesetzt, das mittels eines sogenannten Pfadvektor-Verfahrens (ähnlich dem Distanz-Vektor-Verfahren) Datenverkehr zwischen autonomen Systemen leitet.
Routing-Protokolle, die zwischen autonomen Systemen eingesetzt werden nennt man EGP (Exterior Gateway Protocol, BGP ist ein wichtiger Vertreter für EGP); sie ermitteln Pfade zwischen sogenannten Border Routern.
Border Router unterscheiden sich dahingehend von „normalen” Routern, dass Border Router über mindestens eine logische Verbindung in ein anderes AS verfügen.
边界路由器与“普通”路由器的不同之处在于,边界路由器至少具有一个与另一个自治系统的逻辑连接。
Andere Router sind lediglich für die Vermittlung innerhalb eines AS zuständig.
其他路由器仅负责自治系统内部的路由中继。
---
Kosten-„Metriken” bei EGP sind meist monetär, z.B. EUR/Datenvolumen oder aber durch Regeln mit vertraglichem Hintergrund vorgegeben.
EGP 的成本“指标”通常是货币化的,例如每数据量的欧元成本,或者由合同规定的规则决定。
Routing-Protokolle, die innerhalb AS benutzt werden, nennt man IGP (Interior Gateway Protocol, z.B. RIP, OSPF).
在自治系统内部使用的路由协议被称为内部网关协议(IGP),例如 RIP、OSPF。
Die Border Router geben Informationen, die sie durch ein EGP gelernt haben mittels IGP an die inneren Router weiter.
边界路由器将通过 EGP 学到的信息通过 IGP 转发给内部路由器。
Ob und welche Routen wirklich zwischen EGP und IGP ausgetauscht werden bleibt der Konfiguration der Router überlassen.
是否以及哪些路由会在 EGP 和 IGP 之间交换,取决于路由器的配置。
Durch die Unterscheidung zwischen EGP und IGP entsteht eine Routing-Hierarchie.
通过区分 EGP 和 IGP,形成了路由层次结构。
Während IGPs meist darauf ausgerichtet sind kürzeste Wege zu wählen, berücksichtigen EGPs andere, nicht-technische Aspekte.
IGP 通常旨在选择最短路径,而 EGP 则考虑其他非技术性因素。
### 3.3.5 FRRouting Suite FRRouting 套件
FRRouting (FRR) ist ein GPL-lizenziertes Software-Paket, das Implementierungen verschiedener Routingprotokolle, wie z.B. RIP, OSPF und BGP bereitstellt.
Jeder Daemon bzw. Dienst kann über eine Kommandozeile (genannt „vty”) administriert werden, die sich an der Bedienung anderer Routing-Programme orientiert.
每个守护进程或服务都可以通过一个命令行(称为“vty”)进行管理,其操作方式类似于其他路由程序。
Damit nicht jeder Dienst separat verwaltet werden muss, existiert zusätzlich das Werkzeug „vtysh”, über das alle Prozesse gemeinsam administriert werden können.
为了避免每个服务需要单独管理,还提供了一个工具“vtysh”,可以用来统一管理所有进程。
In der Datei `/etc/frr/daemons` konfiguriert man welche Dienste beim Start von FRR aktiviert werden.
在文件 `/etc/frr/daemons` 中可以配置启动 FRR 时需要激活的服务。
```
zebra=yes
bgpd=no
ospfd=yes
ospf6d=no
ripd=no
ripngd=no
```
Um FRR und die damit verknüpften Dienste zu starten oder anzuhalten verwendet man den Befehl:
要启动或停止 FRR 及其关联服务,可以使用以下命令:
**FRR starten:**
`# /etc/init.d/frr start`
**FRR anhalten:**
`# /etc/init.d/frr stop`
Eine ausführliche Dokumentation der FRRouting Suite, über die darin enthaltenen Dienste und deren Konfiguration, finden Sie unter [WWW 18].
有关 FRRouting 套件、其中包含的服务及其配置的详细文档,请参阅 [WWW 18]。
**vtysh**
Nach dem Aufruf von vtysh befindet man sich auf der gemeinsamen Konsole aller aktivierten Routing-Dienste.
调用 `vtysh` 后,用户会进入所有已启用路由服务的统一控制台。
Dort kann man sich jederzeit durch die Eingabe von `?` eine Liste der möglichen Befehle anzeigen lassen:
在控制台中,可以随时通过输入 `?` 查看所有可用命令的列表:
```
vtysh# ?
enable Turn on privileged mode command
exit Exit current mode and down to previous mode
list Print command list
ping Send echo messages
quit Exit current mode and down to previous mode
show Show running system information
...
```
Dies ist insbesondere bei teilweise eingegebenen Befehlen hilfreich.
这对于部分输入的命令特别有帮助。
Wenn man bereits einen Teil des Befehls eingegeben hat und mit einem `?` (Fragezeichen) abschließt, werden alle weiteren Optionen angezeigt, die statt dem `?` stehen können:
如果已经输入了命令的一部分并以 `?`(问号)结尾,将显示所有可能的后续选项:
```
vtysh# show ip ?
...
bgp BGP information
ospf OSPF information
rip Show RIP routes
...
```
Es gibt verschiedene VTY Modi:
VTY 有多种模式:
- **View-Modus:** Erlaubt nur lesenden Zugriff auf die Konfiguration des Routers.
**查看模式**:仅允许读取路由器配置。
- **Enable-Modus:** Erlaubt sowohl lesenden als auch schreibenden Zugriff.
**启用模式**:允许读取和修改配置。
Nach dem Aufruf von `vtysh` befindet man sich im View-Modus.
调用 `vtysh` 后,系统会默认进入查看模式。
Mit dem Kommando `enable` wechselt man in den Enable-Modus.
使用命令 `enable` 可以切换到启用模式。
Mit `disable` kehrt man zurück in den View-Modus.
使用命令 `disable` 可以返回到查看模式。
Möchten Sie die Konfiguration anpassen, so müssen Sie zunächst in den **Configuration Mode** wechseln.
如果需要修改配置,必须先切换到 **配置模式(Configuration Mode)**。
In den **Configuration Mode** gelangen Sie durch den Aufruf von `configure terminal`.
通过输入命令 `configure terminal` 可以进入**配置模式**。
Nun stehen Ihnen weitere Befehle zur Verfügung.
在配置模式中,您可以使用更多命令。
Beispielsweise können Sie jetzt mit `interface eth1` in den Konfigurationsmodus für das Interface `eth1` wechseln und dort wiederum z.B. die IP-Adresse ändern.
例如,您可以通过 `interface eth1` 切换到接口 `eth1` 的配置模式,并在那里修改 IP 地址。
Mit dem Befehl `exit` verlassen Sie den aktuellen Modus und kehren zum vorherigen zurück.
使用命令 `exit` 可退出当前模式并返回到上一级模式。
Die Wirkung von Befehlen, die eine Funktion aktivieren oder deaktivieren, können Sie durch Voranstellen von `no` umkehren.
通过在命令前加 `no`,可以撤销启用或禁用某个功能的效果。
Die gesamte Abfolge um z.B. die IP-Adresse von Interface eth1 zu ändern sieht so aus:
以下是修改接口 `eth1` 的 IP 地址的完整步骤:
``` bash
(1) router1# vtysh
(2) router1-vtysh# enable
(3) router1-vtysh# configure terminal
(4) router1-vtysh(config)# interface eth1
(5) router1-vtysh(config-if)# ip address 10.0.0.1/8
Wenn Sie FRRouting über `vtysh` konfiguriert haben, können Sie mit dem Befehl `write file` die entsprechenden Konfigurationsdateien automatisch erstellen lassen.
Um den `bgpd` zu administrieren, geben Sie im Konfigurationsmodus den Befehl `router bgp <AS-NUMMER>` ein, wobei Sie als AS-Nummer die Nummer Ihres autonomen Systems ersetzen.
Fügen Sie Border-Router anderer autonomer Systeme als Nachbarn hinzu mit dem Befehl:
```
neighbor <IP-ADRESSE> remote-as <AS-NUMMER>
```
- **`<IP-ADRESSE>`**: 指定邻居路由器的 IP 地址。
- **`<AS-NUMMER>`**: 指定邻居自治系统的编号。
**Angeben von Netzwerken**
Mit dem Befehl `network <IP-PREFIX>` geben Sie an, für welches Netz Ihr Router als Border-Router fungiert.
通过 `network <IP-PREFIX>` 命令指定您的路由器作为边界路由器所负责的网络。
**Achtung:** Der `network` Befehl im BGP hat eine andere Semantik!
**注意**:在 BGP 中,`network` 命令的语义不同于其他协议。
**Gewichtung von Nachbarn**
Mit dem Befehl:
```
neighbor <IP-ADRESSE> weight <GEWICHT>
```
können Sie einem Nachbarn ein Gewicht zuordnen.
可以为某个邻居分配权重。
- **`<GEWICHT>`**: 指定权重值。权重值越高,该邻居在路由选择时的优先级越高。
**Beispielkonfiguration**
```
router bgp 65001
neighbor 192.168.0.2 remote-as 65002
neighbor 192.168.0.3 remote-as 65003
network 10.0.0.0/8
neighbor 192.168.0.2 weight 200
neighbor 192.168.0.3 weight 100
```
- 此配置将自治系统 `65001` 的路由器设置为 BGP 边界路由器。
- 添加了两个邻居:IP 为 `192.168.0.2`(AS `65002`)和 IP 为 `192.168.0.3`(AS `65003`)。
- 指定 `10.0.0.0/8` 为本路由器负责的网络。
- 为邻居 `192.168.0.2` 分配了更高的权重(200),因此优先选择通过它的路径。
## 3.4 Aufgaben
### A300 Fragmentierung und IP-Tunneling (Theorie)
i) In wie viele Fragmente wird ein IP-Paket mit Größe 9000 Byte zerlegt, um über ein Ethernet mit MTU = 1500 Byte übertragen zu werden? Geben Sie eine vollständige Rechnung an!
一个大小为 9000 字节的 IP 包在 Ethernet 的 MTU 为 1500 字节的情况下会被分成多少个片段?请提供完整的计算过程!
ii) Nennen Sie drei Gründe dafür, dass Netzbetreiber IP-Fragmentierung in ihren Netzen verbieten. Erläutern Sie diese Gründe!
请列举网络运营商在其网络中禁止 IP 分片的三个原因,并对这些原因进行解释!
iii) Wie wird in modernen TCP/IP-Implementierungen dafür gesorgt, dass Fragmentierung in der Regel nicht erforderlich ist?
在现代的 TCP/IP 实现中,是如何确保通常情况下不需要分片的?
### A301 IPv6 (Theorie)
i) Erklären Sie anhand eines Beispiels auf einer Ihrer VMs wie link-local Adressen aus der MAC-Adresse abgeleitet werden!
请结合您虚拟机中的一个示例,解释链路本地地址是如何从 MAC 地址派生的!
ii) Wie implementiert IPv6 „Broadcasts”?
IPv6 是如何实现“广播”的?
iii) Welches sind die privaten Adressbereiche in IPv6, analog zu 10.0.0.0/8, 172.16.0.0/12 und 192.168.0.0/16 in IPv4?
iv) Für besondere Zwecke, außer für den privaten Gebrauch, sind noch weitere Bereiche reserviert. Wie teilt sich der IPv6 Addressraum auf? Hinweis: IANA, ignorieren Sie die vom IETF reservierten Bereiche
i) Legen Sie den Pfad (pc1, router1, router4, router3, router2, pc2) an, so dass Nachrichten zwischen pc1 und pc2 vermittelt werden und zeigen Sie mittels traceroute, dass die Nachrichten entlang dieses Pfades vermittelt werden!
ii) Bestimmen Sie mittels ip die MTU der genutzten Schnittstellen! Erstellen Sie für die Ausarbeitung eine Tabelle mit den Spalten: Rechnername, Schnittstelle, IP-Adresse, MTU.
使用 ip 命令确定使用的接口的 MTU!为实验创建一个表格,列出以下列:主机名、接口、IP 地址、MTU。
iii) Beschränken Sie nun mittels ip die MTU von router3.eth3 auf 1000 Bytes und die MTU von router4.eth3 auf 1100 Bytes!
现在使用 ip 命令将 router3.eth3 的 MTU 限制为 1000 字节,将 router4.eth3 的 MTU 限制为 1100 字节!
iv) Beschreiben Sie das Verhalten der Rechner, wenn Sie IP-Nachrichten mit 1200 Bytes Nutzdaten von pc1 an pc2 schicken! Nutzen Sie ping um Nachrichten dieser Größe zu erzeugen. Achten Sie darauf, dass ping das Don’t Fragment Flag setzt.
描述当从 pc1 向 pc2 发送 1200 字节有效载荷的 IP 消息时计算机的行为!使用 ping 生成此大小的消息,并确保 ping 设置了 Don’t Fragment 标志。
v) Wiederholen Sie den ping-Versuch ohne gesetztes Don’t Fragment Flag. Wie verändert sich der Datenfluss im Vergleich zum vorherigen Versuch?
在未设置 Don’t Fragment 标志的情况下重复 ping 测试。与之前的测试相比,数据流有何变化?
vi) Weisen Sie dem Interface router3.eth3 eine beliebige IPv6 Adresse zu. Ist der Vorgang erfolgreich? Wenn nein, was ist die Ursache? Ziehen sie hierzu auch die beschriebenen Rahmenbedingungen aus [RFC 2460] in Betracht.
vii) Konfigurieren Sie einen IP-Tunnel zwischen router1 und router2 und konfigurieren Sie die Systeme so, dass sämtliche IP-Nachrichten zwischen pc1 und pc2 durch den Tunnel übertragen werden!
在 router1 和 router2 之间配置一个 IP 隧道,并将系统配置为通过该隧道传输 pc1 和 pc2 之间的所有 IP 消息!
Hinweis: Benutzen Sie einen GRE-Tunnel, den Sie mit dem Programm ip einrichten. Hintergrundinformation zu GRE (Generic Routing Encapsulation) lesen Sie bitte in [RFC 2784] vor Durchführung des Versuchs nach; zur praktischen Nutzung finden Sie die Dokumentation in der Manpage ip-tunnel (8).
提示:使用 ip 程序配置一个 GRE 隧道。请在实验前查阅 [RFC 2784] 中的 GRE(通用路由封装)背景信息;实际使用的文档请参阅 ip-tunnel (8) 的手册页。
viii) Zeigen Sie mit traceroute, dass alle Nachrichten durch den Tunnel übertragen werden!
使用 traceroute 验证所有消息通过隧道传输!
ix) Vergleichen Sie die von traceroute angegebenen Zwischenstationen aus den vorangegangenen Versuchen. Nennen Sie alle Unterschiede!
比较 traceroute 在之前测试中显示的中间站点,并列出所有差异!
x) (Freiwillig) Fangen Sie mit Hilfe von tcpdump ein Paket ab, das den Tunnel gerade „betritt” bzw. „verlässt” und analysieren Sie die gekapselte Headerstruktur. Welche Unterschiede zwischen den Header-Daten des inneren versus denen des äußeren IP-Paketes stellen Sie fest?
(可选)使用 tcpdump 捕获一个刚刚“进入”或“离开”隧道的数据包,并分析其封装的头部结构。您发现内部 IP 数据包与外部 IP 数据包头部数据有何不同?
Hinweis: Beim Arbeiten mit tcpdump kann es nötig sein den Detailgrad der Ausgabe (-v) oder die Mitschnitt-Größe der Pakete (-s) anzupassen. Für eine komfortablere Auswertung kann man zunächst die Rohdaten in eine Datei umleiten (-w). In diesem Fall erzeugt tcpdump keine Ausgaben mehr. Die Datei mit Rohdaten können Sie anschließend mit Wireshark auswerten.
i) Entfernen Sie alle IPv4-Adressen von den Schnittstellen eth{1,2,3,4} auf allen Routern!
从所有路由器的接口 eth{1,2,3,4} 中移除所有 IPv4 地址!
ii) Bilden Sie das Netz aus Abbildung 3.7 nach! Verwenden Sie DHCPv6-PD (prefix delegation) um ihr Netz hierarchisch aufzuteilen mit router3 als Zentrum. (Hinweis: /etc/config/{network,dhcp}, siehe OpenWrt-Dokumentation) Beachten Sie, dass . . .
1. Sie IPv6-Adressen aus den Bereichen 2001:db8:hGruppennummeri::/48 und fc00:dead:beef:hGruppennummeri::/52 verwenden! (Die ersten 48 Bits sind gesetzt, Bits 48 bis 52 ersetzen Sie durch Ihre Gruppennummer, die restlichen Bits stehen zu Ihrer freien Verfügung.)
2. Die Router IPv6-Pakete zwischen ihren Schnittstellen vermitteln!
路由器需在其接口之间传递 IPv6 数据包!
3. ping-Anfragen zwischen allen Routern vermittelt werden! Fügen Sie die Routing-Tabellen Ihrer Router in Ihre Ausarbeitung ein.
路由器之间需能传递 ping 请求!在实验报告中包含路由器的路由表。
iii) Konfigurieren Sie Ihre Router so, dass die PCs automatisch IPv6-Adressen mit Ihrem Präfix erhalten. Erläutern Sie anhand von geeigneten Aufzeichnungen den Vorgang wie pc1 und pc2 eine globale IPv6-Adresse erhalten! Betrachten Sie auch die Kommunikation zwischen router3 und router{1,2}.
iv) Passen Sie die Routing-Konfigurationen von router1, router2 und router3 an, so dass IPv6-Pakete zwischen pc1 und pc2 vermittelt werden. Sind manuelle Änderungen daran notwendig? Zeigen Sie mittels traceroute6 (8) den Pfad von IPv6-Paketen zwischen pc1 und pc2!
v) Konfigurieren Sie einen ip4ip6-Tunnel zwischen router1 und router2, so dass IPv4-Pakete von pc1 an pc2 (und zurück!) per IPv6 zwischen den Routern vermittelt werden! Zeigen Sie, dass Ihre Konfiguration funktioniert und IPv4-Pakete tatsächlich in IPv6 gekapselt werden.
i) Vernetzen Sie die Router wie folgt: router1–router2–router4–router3, deaktivieren Sie alle anderen Verbindungen zwischen den Routern! Vergeben Sie passende Subnetze und IP-Adressen aus Ihrem Gruppennetz 10.hGruppennummeri.0.0/16, legen Sie keine manuellen Routen an!
按照以下拓扑连接路由器:router1–router2–router4–router3,禁用路由器之间的所有其他连接!从您的组网络 10.hGruppennummeri.0.0/16 中分配合适的子网和 IP 地址,不要设置手动路由!
ii) Erstellen Sie die Konfigurationsdatei /etc/frr/ripd.conf! Die Syntax entnehmen Sie der [Dokumentation](https://docs.frrouting.org/en/latest/ripd.html). Hinweis: Auf Debian können Sie auch Beispielkonfigurationen in /usr/share/doc/frr/examples finden. Zeilen, die mit ! anfangen, sind Kommentare.
iii) Passen Sie die Datei /etc/frr/daemons an und starten Sie die Dienste zebra und ripd nacheinander auf Ihren Routern! (/etc/init.d/frr start) Hinweis: starten Sie zuerst beide Dienste auf router1, dann auf router2, usw. usf.
iv) Beobachten Sie auf router1.eth2 die ein- und ausgehenden RIP-PDUs! Zeigen Sie die Zwischenschritte in denen router1 sein Wissen über die Infrastruktur vervollständigt!
v) Machen Sie sich mit vtysh vertraut. Benutzen Sie vtysh um sich die Routing-Tabelle für router1 anzeigen zu lassen! Welche Bedeutung hat das Feld „From”?
vi) Aktivieren Sie die Verbindung router1-router3 und zeigen Sie die Zwischenschritte, bis sich die Routingtabellen von router2 und router4 an den neuen Zustand angepasst haben!
b) Welches Verhalten der Router ist tatsächlich zu beobachten? Welche Technik wird eingesetzt um das nun nicht mehr erreichbare Subnetz aus den Routing-Tabellen zu entfernen? Zeigen Sie die entsprechenden PDUs der Router!
i) Stellen Sie den Zustand aus A304, i) wieder her. Deaktivieren Sie FRR auf allen Routern!
恢复 A304 中 i) 的状态。禁用所有路由器上的 FRR 服务!
ii) Erstellen Sie die Konfigurationsdatei /etc/frr/ospfd.conf! Die Syntax entnehmen Sie der Dokumentation](https://docs.frrouting.org/en/latest/ospfd.html).
iii) Passen Sie die Datei /etc/frr/daemons an und starten Sie zebra und ospfd nacheinander! Hinweis: zuerst beide Dienste auf router1, dann router2, usw. usf.
iv) Beobachten Sie die ein- und ausgehenden OSPF-PDUs auf router1.eth2! Beschreiben Sie die Zwischenschritte, in denen router1 sein Wissen über die Infrastruktur vervollständigt!
v) Aktivieren Sie die Verbindung router1-router3. Beschreiben Sie die Zwischenschritte, bis sich die Routingtabellen von router2 und router4 an den neuen Zustand angepasst haben! Belegen Sie Ihre Erklärung mit entsprechenden Programmausgaben!
vi) Deaktivieren Sie router1.eth1, um einen Verbindungsausfall zu simulieren! Erläutern Sie den Unterschied zwischen RIP und OSPF in der Art und Weise wie der Verbindungsausfall an andere Router propagiert wird!
i) Stellen Sie sicher, dass Sie Adressen aus Ihrem Subnet (10.hGruppei.0.0/16) verwenden. Ihre Infrastruktur bildet das Autonome System mit der Nummer 65000 + hGruppei.
ii) Für diese Aufgabe werden vom Lehrstuhl zwei weitere Maschinen bereitgestellt, Gruppe11 (Odd, AS 65011) und Gruppe12 (Even, AS 65012). Auf diesen Maschinen ist BGP bereits konfiguriert. Abhängig von ihrer Gruppennummer können Sie allerdings nur mit einer der Maschinen direkt kommunizieren. Ihr Ziel ist es mittels BGP eine Route in das Subnet der anderen Maschine zu bekommen.
对于此任务,学院提供了两台额外的机器:Gruppe11 (Odd, AS 65011) 和 Gruppe12 (Even, AS 65012)。这些机器已经配置了 BGP。根据您的组号,您只能直接与其中一台机器通信。您的目标是通过 BGP 获取到另一台机器子网的路由。
Stellen Sie mit Hilfe eines GRE-Tunnels eine Verbindung zu der Maschine her. Verwenden Sie als Endpunkte die Adresse von router1 an eth0 und die globale IP-Adresse der Zielmaschine. Achten Sie darauf, dass eine TTL > 3 verwendet wird. Hinweis: Sie können auf die selbe Weise eine Verbindung zu anderen Gruppen herstellen.
使用 GRE 隧道连接到目标机器。将 router1 的 eth0 地址和目标机器的全局 IP 地址用作隧道的端点。确保使用 TTL > 3。提示:您可以通过相同的方式与其他组建立连接。
iii) Konfigurieren Sie Router1 als Border Router Ihres Autonomen Systems. Vermitteln Sie mit dem Border Router am anderen Ende des Tunnels. Dieser hat die IP-Adresse 10.11.0.hIhre Gruppei bzw. 10.12.0.hIhre Gruppei. Hinweis: Definieren Sie Host-Routen.
将 router1 配置为您自治系统的边界路由器。通过隧道连接的另一端边界路由器进行中继。其 IP 地址为 10.11.0.hIhre Gruppei 或 10.12.0.hIhre Gruppei。提示:定义主机路由。
iv) Passen Sie die OSPF-Konfiguration von Ihren Routern so an, dass die über BGP gelernten Routen auch den anderen Routern im jeweiligen Netz mitgeteilt werden. Hinweis: Sie können dazu entweder mit vtysh arbeiten, oder die Datei /etc/frr/ospfd.conf anpassen. Die Befehle hierzu finden sich in der Dokumentation zur FRR-Suite.
v) Zeigen Sie mit traceroute den Weg einer Nachricht von Ihrem PC3 zu 10.11.2.100 und 10.12.2.100. Über welche AS und welche Router wird die Nachricht vermittelt?
vi) Angenommen, der Lehrstuhl verlangt hohe Gebühren für den Transit Ihrer Nachrichten. Konfigurieren Sie Ihren Router1 so, dass über dieses AS nur vermittelt wird, wenn keine andere Verbindung zur Verfügung steht. Optional: Weisen Sie nach, das Ihre Konfiguration funktioniert, indem Sie mit den andern Gruppen kommunizieren und den Transit über diese abwickeln.
vii) Konfigurieren Sie nun Router4 anstatt Router1 als BGP-Router Ihres AS, wobei die externen AS weiterhin an Router1 angeschlossen bleiben. Erläutern Sie anhand Ihrer Beobachtungen, inwiefern sich die beiden Szenarien unterscheiden. Theorie: Nennen Sie mindestens 2 Gründe, die für ein solches Szenario sprechen würden.