From 67d013152103924f4a5904487f13639854e24091 Mon Sep 17 00:00:00 2001 From: Mhrooz Date: Thu, 7 Nov 2024 16:19:26 +0100 Subject: [PATCH] add Blatt02 Notes comments --- Blatt02/Notes.md | 367 ++++++++++++++++++++- Blatt02/assets/image-20241107104045466.png | Bin 0 -> 40566 bytes Blatt02/assets/image-20241107104458429.png | Bin 0 -> 22307 bytes Blatt02/assets/image-20241107104505851.png | Bin 0 -> 18886 bytes Blatt02/assets/image-20241107110237030.png | Bin 0 -> 16304 bytes Blatt02/assets/image-20241107123004937.png | Bin 0 -> 42849 bytes Blatt02/assets/image-20241107123017893.png | Bin 0 -> 29389 bytes assets/automaton.drawio.png | Bin 0 -> 63369 bytes 8 files changed, 352 insertions(+), 15 deletions(-) create mode 100644 Blatt02/assets/image-20241107104045466.png create mode 100644 Blatt02/assets/image-20241107104458429.png create mode 100644 Blatt02/assets/image-20241107104505851.png create mode 100644 Blatt02/assets/image-20241107110237030.png create mode 100644 Blatt02/assets/image-20241107123004937.png create mode 100644 Blatt02/assets/image-20241107123017893.png create mode 100644 assets/automaton.drawio.png diff --git a/Blatt02/Notes.md b/Blatt02/Notes.md index 24a190c..1a4e93b 100644 --- a/Blatt02/Notes.md +++ b/Blatt02/Notes.md @@ -1,11 +1,13 @@ +[toc] + ## 2.1 Bitübertragungsschicht (OSI-Schicht 1) 物理层(OSI模型第1层) Bei jeder Interaktion zwischen zwei Rechnern müssen die Daten früher oder später eine physische Distanz überbrücken. Die binären Daten eines Rechners werden für den physischen Transport aufbereitet und anschließend über ein Medium an einen anderen Rechner übertragen. Kann der andere Rechner aus dem Empfangenen die ursprünglichen Daten rekonstruieren, ist es gelungen, binäre Daten von einem Rechner an einen anderen zu übertragen. 在两个计算机之间的每次交互中,数据迟早必须跨越物理距离。一个计算机的二进制数据会被处理以便于物理传输,然后通过某种媒介传输到另一台计算机。如果接收方计算机能够从接收到的信号中重构出原始数据,那么数据已成功地从一个计算机传输到另一个计算机。 -Protokolle der Bitübertragungsschicht beschäftigen sich mit genau diesem Problem. Sie legen fest, welches Medium benutzt wird und wie binäre Daten (Bits) als Signale auf das physische Medium moduliert werden. Dazu gehören mehrere Aspekte, die sicherstellen, dass alle Endpunkte auf die gleiche Art und Weise Daten übermitteln und interpretieren. Diese Aspekte lassen sich in vier Gruppen unterteilen: +Protokolle der Bitübertragungsschicht beschäftigen sich mit genau diesem Problem. Sie legen fest, welches **Medium** benutzt wird und wie binäre Daten (Bits) als Signale auf das physische Medium moduliert werden. Dazu gehören mehrere Aspekted, die sicherstellen, dass alle Endpunkte auf die gleiche Art und Weise Daten übermitteln und interpretieren. Diese Aspekte lassen sich in vier Gruppen unterteilen: 物理层协议正是解决这个问题的。它们规定了使用哪种媒介,以及如何将二进制数据(比特)作为信号调制到物理媒介上。这涉及多个方面,以确保所有终端以相同的方式传输和解释数据。这些方面可以分为四组。 **Physikalische** Aspekte umfassen Eigenschaften des Mediums und der verwendeten Signale. @@ -18,7 +20,7 @@ Protokolle der Bitübertragungsschicht beschäftigen sich mit genau diesem Probl **功能性**规范定义了媒介的使用方式,例如引脚分配和时钟。 **Prozedurale** Beschreibungen enthalten Elementarereignisse und deren Bedeutung, z.B. den genauen Ablauf zur Übertragung einer SDU. -**过程性**描述包括基本事件及其含义,例如传输一个 SDU 的确切流程。 +**过程性**描述包括基本事件及其含义,例如传输一个 [SDU](#SDU) 的确切流程。 Heute handelt es sich bei dem Medium meist um Kupfer, Lichtwellenleiter oder "Luft". Die Signale werden in der Regel so gewählt, dass sie deutlich voneinander unterscheidbar sind, da Signale durch Störeinflüsse leicht verfälscht werden können. Eine SDU auf Schicht 1 muss nicht genau ein Bit sein. Ein Schicht 1 Protokoll kann auch die parallele Übertragung von mehreren Bits gleichzeitig spezifizieren. 如今,媒介通常是铜线、光导纤维或“空气”。信号通常被设计为明显不同,以便于区分,因为信号容易受到干扰的影响而失真。在第 1 层上,一个 SDU 不一定对应于一个比特。第 1 层协议还可以指定多个比特的并行传输。 @@ -33,34 +35,369 @@ Durch äußere Störeinflüsse können Amplitude, Frequenz und Phase eines Signa Ein Repeater verfügt über genau zwei Anschlüsse. Ein eingehendes Signal auf einem Anschluss wird verstärkt auf dem anderen Anschluss ausgegeben. Repeater können eingesetzt werden, um das Problem der Dämpfung zu überwinden und Signale über längere Distanzen zu übertragen, als es die Sendeleistung des ursprünglichen Senders erlaubt. Die logische Weiterentwicklung des Repeaters ist der Hub. Dieser verfügt über mehrere Anschlüsse und gibt ein eingehendes Signal an allen anderen Anschlüssen verstärkt wieder aus. 中继器(Repeater)通常有两个接口。当一个接口收到信号时,信号会被增强并从另一个接口输出。中继器可以用来解决信号衰减的问题,使信号传输距离超过原始发送器的功率限制。中继器的进一步发展就是集线器(Hub)。集线器具有多个接口,能够将一个接口接收到的信号增强后发送到所有其他接口。 - +![image-20241107104045466](https://lsky.mhrooz.xyz/2024/11/07/5aa068e89ff8d.png) ### 2.1.2 Wavelength Division Multiplexer 波分复用器 Implementieren optische Sendestationen das selbe Schicht 1 Protokoll, so verwenden sie meist die selben Wellenlängen zur Signalisierung. Treffen diese Signale in einem gemeinsamen Medium aufeinander, entstehen Überlagerungen (Kollisionen), so dass kein Empfänger die ursprünglichen Daten rekonstruieren kann. Bei einem Aufbau, in dem mehrere Sender Signale auf dem selben Medium versenden, so dass Kollisionen entstehen können, spricht man von einer Kollisionsdomäne. 在光学发送站中,若使用相同的第一层协议,通常会使用相同的波长进行信号传输。当这些信号在同一媒介中相遇时,就会产生叠加(碰撞),导致接收端无法还原原始数据。若在同一媒介上多个发送端同时发送信号,造成碰撞的可能性,这种结构被称为碰撞域。 -WDMs bilden mehrere eingehende optische Signale auf unterschiedliche, disjunkte Bereiche des Farbspektrums (Kanäle) einer ausgehenden Leitung ab (Multiplex). Dadurch kann die Leitung mehrere Signale gleichzeitig tragen, ohne dass es zu Interferenzen kommt. -波分复用器(WDMs)将多个入射光信号映射到不同的、互不重叠的色谱范围(通道)上,通过一条输出线路(复用)。这样,线路可以同时承载多个信号,而不会产生干扰。 - - - -können alle eingehenden Signale gleichzeitig über eine einzelne ausgehende Leitung übertragen werden, ohne Kollisionen zu erzeugen. Abbildung 2.1 zeigt einen WDM, der drei eingehende Signale A, B und C auf eine ausgehende Leitung moduliert. Diese Technik setzt man häufig ein, wenn der Aufwand zusätzliche Leitungen zu verlegen hoch ist. In Abbildung 2.1 sind A, B und C optische Signale der selben Schicht 1 Implementierung (z.B. 1 Gbps Ethernet, Monomode) und verwenden deshalb die selbe Wellenlänge für die Datenübertragung. Im WDM werden die Wellenlängen der eingehenden Signale modifiziert, so dass keine Überlagerung mehr stattfindet wenn die Signale in der ausgehenden Leitung aufeinander treffen. -所有传入的信号可以同时通过一条输出线路传输,而不会产生碰撞。图 2.1 显示了一个波分复用器(WDM),它将三个输入信号 A、B 和 C 调制到一条输出线路上。当增加额外线路的成本很高时,通常会使用这种技术。图 2.1 中的 A、B 和 C 是相同的第 1 层实现的光信号(例如 1 Gbps 以太网,单模),因此使用相同的波长进行数据传输。在 WDM 中,输入信号的波长会被调整,以避免当信号进入输出线路时产生重叠。 +WDMs bilden mehrere eingehende optische Signale auf unterschiedliche, disjunkte Bereiche des Farbspektrums (Kanäle) einer ausgehenden Leitung ab (Multiplex). Dadurch können alle eingehenden Signale gleichzeitig über eine einzelne ausgehende Leitung übertragen werden, ohne Kollisionen zu erzeugen. Abbildung 2.1 zeigt einen WDM, der drei eingehende Signale A, B und C auf eine ausgehende Leitung moduliert. Diese Technik setzt man häufig ein, wenn der Aufwand zusätzliche Leitungen zu verlegen hoch ist. In Abbildung 2.1 sind A, B und C optische Signale der selben Schicht 1 Implementierung (z.B. 1 Gbps Ethernet, Monomode) und verwenden deshalb die selbe Wellenlänge für die Datenübertragung. Im WDM werden die Wellenlängen der eingehenden Signale modifiziert, so dass keine Überlagerung mehr stattfindet wenn die Signale in der ausgehenden Leitung aufeinander treffen. +波分复用器(WDMs)将多个入射光信号映射到不同的、互不重叠的色谱范围(通道)上,通过一条输出线路(复用)。所有传入的信号可以同时通过一条输出线路传输,而不会产生碰撞。图 2.1 显示了一个波分复用器(WDM),它将三个输入信号 A、B 和 C 调制到一条输出线路上。当增加额外线路的成本很高时,通常会使用这种技术。图 2.1 中的 A、B 和 C 是相同的第 1 层实现的光信号(例如 1 Gbps 以太网,单模),因此使用相同的波长进行数据传输。在 WDM 中,输入信号的波长会被调整,以避免当信号进入输出线路时产生重叠。 Am anderen Ende der Leitung empfängt ein Demultiplexer das zusammengesetzte Signal. Dieser trennt das empfangene Signal auf, moduliert die Teilsignale zurück auf ihre ursprüngliche Form und sendet die Signale auf separaten Leitungen weiter. 在线路的另一端,一个解复用器接收组合信号。该设备将接收到的信号分离,将每个子信号调制回其原始形式,并通过独立的线路发送这些信号。 ## 2.2 Sicherungsschicht (OSI-Schicht 2) 数据链路层(OSI模型第 2 层) +![image-20241107104458429](https://lsky.mhrooz.xyz/2024/11/07/cd05d8d38e6b9.png) + +![image-20241107104505851](https://lsky.mhrooz.xyz/2024/11/07/2804b175d48dd.png) + Zu den Hauptaufgaben der Sicherungsschicht gehört Rahmenbildung (bzw. Blockbildung). Darunter versteht man die Gruppierung von Bits zu logischen Einheiten, den PDUs der Schicht 2 (Rahmen oder Blöcke, bzw. engl. frames oder blocks). Eine Basiskomponente der Schicht 2 ist die Bridge (bzw. “Brücke”). Eine Bridge ist eine Schicht 2 Komponente, die zwei Teilnetze (mit möglicherweise verschiedenen Übertragungstechniken) miteinander verbindet, also eine Brücke dazwischen bildet. Dazu muss sie eingehende Signale interpretieren und zu Rahmen zusammensetzen. Erst der vollständige Rahmen wird in das andere Teilnetz übertragen. Diese Technik heißt “store and forward”, da die Bridge eingehende Daten (Bits) speichert (store), bis der Rahmen vollständig empfangen wurde und erst im Anschluss daran den Rahmen weiterleitet (forward). Eine Bridge mit mehr als zwei Anschlüssen heißt Switch oder Multiport-Bridge. 数据链路层的主要任务之一是帧构建(或称块构建),即将比特分组为逻辑单元,即第 2 层的 PDU(帧或块)。第 2 层的基本组件之一是桥接器(Bridge)。桥接器是第 2 层组件,它连接两个子网(可能使用不同的传输技术),因此在它们之间形成了一个桥。为此,它必须解释接收到的信号并将其组装成帧。只有完整的帧才会被传输到另一个子网。这种技术被称为“存储和转发”(store and forward),因为桥接器会先存储(store)接收到的数据(比特),直到帧完全接收后才转发(forward)该帧。具有两个以上端口的桥接器被称为交换机(Switch)或多端口桥(Multiport-Bridge)。 - - - - - +### 2.2.1 Vergleich von Komponenten der Schichten 1 und 2 2.2.1 第 1 层和第 2 层组件的比较 + +Aufgrund der Hauptaufgaben der Schichten 1 und 2 ergeben sich unterscheidende Merkmale der Komponenten dieser Schichten: Repeater, Hubs, WDM etc. auf der Schicht 1, Bridges und Switches auf der Schicht 2. +根据第 1 层和第 2 层的主要任务,这两层的组件特点有所不同:第 1 层包括中继器、集线器、波分复用器(WDM)等,第 2 层则包括桥接器和交换机。 + +Im Gegensatz zu einem WDM verarbeitet eine Bridge nicht einzelne eingehende Signale, sondern eingehende Rahmen. Die Bridge muss demnach in der Lage sein aus gespeicherten Informationen Rahmen zu bilden. Der Einsatz von store and forward ermöglicht es der Bridge unterschiedliche Bitübertragungstechniken für die beiden LANs zu verwenden, wogegen die Anschlüsse eines WDM den Festlegungen der physikalischen Signale entsprechen. Der Aufbau in Abbildung 2.2 erlaubt es unterschiedliche Schicht 1 Implementierungen “links” und “rechts” der Bridge zu nutzen. + +与波分复用器(WDM)不同,桥接器不会处理单个输入信号,而是处理输入的帧。因此,桥接器必须能够根据存储的信息构建帧。通过存储和转发(store and forward)技术,桥接器可以为两个局域网使用不同的比特传输技术,而 WDM 的接口则对应物理信号的规定。图 2.2 的结构允许桥接器左右两侧使用不同的第 1 层实现. + +### 2.2.2 Topologien 拓扑结构 + +Neben der Rahmenbildung spezifizieren Schicht 2 Protokolle auch die Übertragung von Rahmen. Dazu gehören Vielfachzugriffsverfahren, die den Zugriff auf Schicht 1 bzw. auf gemeinsam genutzte Medien steuern, sowie die Übertragung von Rahmen zu Schicht 2 Endpunkten. Durch die vielfältigen Komponenten und Funktionen der Schichten 1 und 2 ergeben sich verschiedene Möglichkeiten einen physischen Aufbau eines Netzes (LAN) zu realisieren. +除了帧构建,第 2 层协议还定义了帧的传输方式。这包括控制对第 1 层或共享媒介的访问的多重访问协议,以及向第 2 层终端传输帧的方式。由于第 1 层和第 2 层组件和功能的多样性,局域网(LAN)的物理构建有多种实现方式。 + +Abbildung 2.2 zeigt auf jeder Seite der Bridge ein Netz mit Bustopologie. Dabei sind mehrere Schicht 2 Endpunkte mit einem gemeinsam genutzten Medium verbunden. Ein Problem der Bustopologie ist die aufwändige Wartung. Tritt ein Hardwaredefekt auf, so kommt meistens das gesamte LAN zum Erliegen. Das Aufspüren der defekten Hardware ist schwierig, da jede Komponente für das Problem verantwortlich sein könnte. Das gemeinsam genutzte Kabel erstreckt sich meist über mehrere Räume oder auch Stockwerke und ist sehr aufwändig auszutauschen. +图 2.2 显示了桥接器两侧的总线拓扑网络。在这种拓扑结构中,多个第 2 层终端连接到一个共享媒介上。总线拓扑的一个问题是维护难度较大。一旦出现硬件故障,通常会导致整个局域网瘫痪。因为每个组件都可能是问题的根源,所以定位故障硬件相当困难。共享电缆通常跨越多个房间或楼层,更换非常耗时。 + +Eine andere Topologie, die bei diesem Problem hilft, ist die Sterntopologie. An die Stelle des gemeinsam genutzten Mediums tritt ein zentraler Hub (vgl. Abbildung 2.3). Da der Hub eingehende Signale auf alle angeschlossene Kabel repliziert, verhält sich ein Netz mit Sterntopologie genauso wie ein Netz mit Bustopologie; der Charakter des gemeinsam genutzten Mediums bleibt für die Signalübertragung erhalten. Deshalb kann an jeden Anschluss eines Hubs ein ganzes Teilnetz mit Bustopologie angeschlossen werden. +另一种可以解决该问题的拓扑结构是星型拓扑。星型拓扑中使用一个中央集线器(参见图 2.3)代替共享介质。由于集线器会将接收到的信号复制到所有连接的电缆上,因此星型拓扑网络的行为类似于总线拓扑网络;信号传输仍然保持共享介质的特性。因此,可以在集线器的每个端口连接一个具有总线拓扑的子网。 + +Der Vorteil des Hubs liegt darin, dass ein defektes Kabel an einem Anschluss nicht automatisch zu einem Zusammenbruch des gesamten Netzes führt. Außerdem kann an zentraler Stelle das fehlerhafte Kabel ermittelt werden. Üblicherweise ist an jeder Leitung eines Hubs ein einzelner Rechner angeschlossen, wodurch die Fehlerlokalisierung weiter vereinfacht wird. Der Defekt eines Kabels trennt so lediglich eine einzige Leitung (bzw. einen einzelnen Rechner) vom LAN, anstatt das gesamte LAN zum Erliegen zu bringen. Fällt der Hub aus, kann dieser leichter ausgetauscht werden, als ein Kabel, das durch mehrere Räume und Stockwerke verlegt wurde. Ersetzt man den Hub durch einen Switch, kann der Datenverkehr mit Bezug auf die Eigenschaften von Rahmen (Header) gesteuert werden. Ein Switch kann durch die Interpretation der eingehenden Informationen entscheiden eingehende Rahmen über wenige bestimmte Leitungen weitergeben, anstatt den Rahmen auf jedem Port zu replizieren. +集线器的优点在于,连接处的电缆故障不会导致整个网络崩溃。此外,可以在中心位置轻松找到故障电缆。通常,每条连接集线器的电缆只连接一个计算机,这样可以进一步简化故障定位。电缆的故障只会切断该电缆所连接的单个设备与局域网的连接,而不会影响整个网络。即使集线器出现故障,其更换也比更换穿越多个房间或楼层的电缆更为简单。如果将集线器替换为交换机,交换机可以根据帧的特性(如头信息)来管理数据流。交换机可以通过解析接收到的信息,将数据帧仅发送到特定的端口,而不是向每个端口复制帧。 + +## 2.3 Ethernet + +Infolge der wachsenden Bedeutung der lokalen Vernetzung von Arbeitsplatzrechnern wurden zwischen 1972 und 1976 am Xerox Palo Alto Research Centre die technologischen Grundlagen für ein gleichermaßen leistungsfähiges und “idiotensicheres” Local Area Network geschaffen. Dieses neue Local Area Network nannte man Ethernet, in Anspielung auf jenen geheimnisvollen “Lichtwellenaether”, welchen die Physiker des 19. Jahrhunderts so verzweifelt gesucht haben. Heute wird Ethernet formal als IEEE-Standard 802.3, CSMA/CD: Protokoll und physische Übertragungstechniken [IEEE 802.3], verwaltet und weiterentwickelt. +由于工作站计算机本地网络的重要性日益增加,在 1972 年至 1976 年间,施乐公司帕洛阿尔托研究中心开发了高效且“防呆”的局域网技术基础。这种新型局域网被称为以太网(Ethernet),以纪念 19 世纪物理学家们苦苦追寻的“光以太”。如今,以太网已正式被定义为 IEEE 标准 802.3,它管理并发展了 CSMA/CD 协议和物理传输技术 [IEEE 802.3]。 + +![image-20241107110237030](https://lsky.mhrooz.xyz/2024/11/07/1d3b40ce8793d.png) + +Ethernet basiert in seiner ursprünglichen Form auf einer Broadcast-Technik, bei der alle Komponenten an das selbe Medium angeschlossen sind, wie in Abbildung 2.4 dargestellt. Sendet eine Komponente Daten, so werden diese von jeder anderen Komponente empfangen. Senden mehrere Komponenten gleichzeitig, entsteht eine Datenkollision, so dass letztendlich keine Daten übertragen werden können. Bei einer Kollision treffen die Signale im Medium aufeinander, wodurch Interferenzen entstehen, so dass die ursprünglichen Signale nicht mehr unterscheidbar sind (siehe Kapitel 2.1). Aus diesem Grund benutzt Ethernet CSMA/CD, ein Verfahren um die Nutzung des gemeinsamen Mediums zu koordinieren. Die meisten heutigen Ethernet-Netze sind Sterntopologien, bei denen jeder Endpunkt (z.B. Rechner) exklusiv mit einem Switch-Port verbunden ist. + +以太网在其最初的形式中基于广播技术,所有组件连接到相同的媒介,如图 2.4 所示。当一个组件发送数据时,其他所有组件都能接收到。如果多个组件同时发送,则会发生数据碰撞,导致数据无法传输。在碰撞中,信号在介质中相互干扰,原始信号无法区分(参见章节 2.1)。因此,以太网使用 CSMA/CD 协议来协调共享介质的使用。大多数现代以太网网络使用星型拓扑结构,每个终端(如计算机)独立连接到一个交换机端口。 + +## 2.4 Virtuelle Topologien 虚拟拓扑 + +Endeinrichtungen (Rechner) werden in der Praxis bestimmten Aufgaben oder Rollen einer Organisation zugeordnet, statt den Gegebenheiten der Vernetzung: Es ist z.B. wünschenswert, die Rechner nach Abteilungen bzw. Bereichen zu gruppieren. Oft entspricht dabei die physische Topologie, die durch die verlegten Medien (“Kabel”) gegeben ist, nicht den Nutzungsanforderungen eines LANs: z.B. werden Server in gemeinsam genutzten Server-Räumen untergebracht, in denen sich alle Server die selbe Leitung aus dem Raum hinaus teilen. Meist ist es jedoch so, dass sensible Daten nicht in andere LANs als dem abteilungseigenen LAN gelangen dürfen. + +在实践中,终端设备(计算机)通常根据组织的特定任务或角色进行分配,而不是根据网络连接的物理位置。例如,最好按部门或区域对计算机进行分组。通常,物理拓扑(由布设的介质“电缆”决定)并不符合 LAN 的实际使用需求:例如,服务器被安置在共享的服务器房间中,在该房间内所有服务器共用一条对外连接的线路。然而,通常情况下,敏感数据不应流出部门专用的 LAN。 + +Hierzu können sogenannte virtuelle LANs (VLAN) benutzt werden, die eine logische LAN-Topologie auf eine physische aufbringen. VLANs können auf mehrere Arten erzeugt werden: durch die Gruppierung von Ports an einem Switch, durch Gruppierung von MAC-Adressen der zu einer Gruppe gehörenden Rechner und durch eine entsprechende Markierungen (engl. tagging) der gesendeten Rahmen. Im Praktikum liegt dabei der Schwerpunkt auf der zuletzt genannten Technik. + +为此,可以使用所谓的虚拟局域网(VLAN),将逻辑局域网拓扑应用于物理局域网。 创建 VLAN 有几种方法:将交换机上的端口分组、将属于一个组的计算机的 MAC 地址分组以及对发送的帧进行标记。 在实践课程中,重点是后一种技术。 + +Ein wichtiger Standard in diesem Kontext ist der IEEE-Standard 802.1q [IEEE 802.1q], “Virtual LANs”. Dieser definiert das Anlegen, Betreiben und Verwalten von (mehreren) virtuellen LAN-Topologien innerhalb eines physischen LANs. Dazu wird jeder Rahmen einer virtuellen Infrastruktur mit einer für diese Infrastruktur eindeutigen Nummer (VLAN Identifier, VLAN-ID) in einem Feld (VLAN-Tag) im Ethernet-Header markiert. Netzkomponenten, die auf Schicht 2 operieren, können anhand der VLAN-ID Rahmen virtueller Topologien unterscheiden und unterschiedlich behandeln. + +在此背景下,一个重要的标准是 IEEE 标准 802.1q [IEEE 802.1q],即“虚拟 LAN”。该标准定义了在一个物理 LAN 内创建、操作和管理(多个)虚拟 LAN 拓扑的方法。为此,每个帧在以太网头部的一个字段中用一个唯一的编号(VLAN 标识符,VLAN-ID)进行标记。工作在第 2 层的网络组件可以根据 VLAN-ID 区分和不同处理虚拟拓扑中的帧。 + +### 2.4.1 Monitoring-Port Konzept 监控端口概念 + +Administrierbare Switches bieten meist die Funktion eines Monitoring-Ports. Dabei wird ein bestimmter Port des Switches ausgewählt, auf dem der Switch jeden Rahmen repliziert, der auf einem der anderen Switch-Ports empfangen wird. Diese Funktion ermöglicht es, jeden Rahmen, der vom Switch verarbeitet wird, an zentraler Stelle zu sammeln. Da die Übertragungsrate eines Monitoring-Ports meist deutlich kleiner ist als die aller anderen Ports zusammen, kann ein Monitoring-Port ab einer gewissen Auslastung nicht alle Rahmen replizieren. Aus diesem Grund werden Monitoring-Ports häufig nur zur Fehleranalyse eingesetzt. Das Konzept des Monitoring-Ports kann auch virtualisiert umgesetzt werden. +可管理的交换机通常提供监控端口的功能。通过该功能,可以选择交换机上的一个特定端口,该端口将会复制交换机在其他端口接收到的每个数据帧。这项功能使得可以在中央位置收集交换机处理的每个数据帧。由于监控端口的传输速率通常明显低于其他所有端口的总和,当负载达到一定程度时,监控端口可能无法复制所有的数据帧。因此,监控端口通常仅用于故障分析。监控端口的概念也可以虚拟化实现。 + +![image-20241107123017893](https://lsky.mhrooz.xyz/2024/11/07/0a49c8a0d170d.png) + +Abbildung 2.5 zeigt ein Beispiel in dem die Rechner rnpserver und rnpclient über (rnpserver-eth1, S01-A-4) und (S01-D-2, rnpclient-eth1) verbunden sind. Außerdem ist der Rechner rnpmgmt mit dem Switch S01 verbunden. Wird der Switch-Port S01-B-4 als Management-Port konfiguriert, so empfängt der Rechner rnpmgmt an seiner Schnittstelle eth1 alle Rahmen, die rnpserver und rnpclient austauschen. Dies ermöglicht es die Interaktion dieser beiden Rechner zu überwachen, ohne direkten Zugang zu haben. + +图 2.5 显示了一个示例,其中计算机 rnpserver 和 rnpclient 分别通过 (rnpserver-eth1, S01-A-4) 和 (S01-D-2, rnpclient-eth1) 连接。此外,计算机 rnpmgmt 连接到交换机 S01。如果将 S01-B-4 端口配置为管理端口,则计算机 rnpmgmt 会在其接口 eth1 上接收到 rnpserver 和 rnpclient 之间交换的所有数据帧。这使得可以在不直接访问的情况下监控这两台计算机的交互。 + +Das Einrichten eines Management-Ports ist eine spezielle Funktion, die von der Konfigurationssoftware der Switches bereitgestellt wird. +配置管理端口是一项特殊功能,由交换机的配置软件提供。 + +## 2.5 TUN/TAP Devices TUN/TAP 设备 + +Linux bietet seit Kernel-Version 2.2 die Möglichkeit virtueller Treiber-Schnittstellen an, sogenannte TUN/TAP Devices. TUN/TAP Devices existieren nur im Kernel und haben im Vergleich zu gewöhnlichen Schnittstellen keine physische Komponente. Falls das Betriebssystem Daten an ein TUN/TAP Device sendet, wird die Nachricht nicht an das physische Device, sondern an eine Benutzeranwendung, die über ein File-Descriptor mit dem TUN/TAP Device verbunden ist, weitergegeben. Was dann tatsächlich mit den Daten passiert, bleibt der Anwendung überlassen. Ein typisches Einsatzgebiet ist Tunneling, wie es beispielsweise in Virtual Private Networks (VPNs) der Fall ist. Durch den Einsatz von TUN Devices empfängt die VPN-Anwendung alle IP-Pakete, verschlüsselt deren Payload und umrahmt das ursprüngliche IP-Paket in ein weiteres IP-Paket mit aktualisierten Header-Informationen. Der Unterschied zwischen TUN und TAP Interfaces liegt darin, dass TAP Devices auf Schicht 2 und TUN Devices auf Schicht 3 operieren. Diese Unterscheidung ist wichtig, denn je nach Anwendungsfall ergeben sich entsprechende Anforderungen. Für VPN-Anwendungen bspw. sind TUN Devices auf Schicht 3 ausreichend. Eine ausführliche Dokumentation findet sich in der Linux-Kernel Dokumentation. +自 Linux 内核版本 2.2 起,提供了虚拟驱动接口的功能,即所谓的 TUN/TAP 设备。TUN/TAP 设备仅存在于内核中,与普通接口相比没有物理组件。如果操作系统将数据发送到 TUN/TAP 设备,该消息不会被传送到物理设备,而是传递给通过文件描述符与 TUN/TAP 设备连接的用户应用程序。之后数据的实际处理由应用程序决定。TUN/TAP 设备的一个典型应用领域是隧道技术,例如在虚拟专用网络 (VPN) 中。通过使用 TUN 设备,VPN 应用程序可以接收所有的 IP 数据包,加密其有效负载,并将原始 IP 包封装到一个新的 IP 包中,且附上更新的头信息。TUN 和 TAP 接口的区别在于,TAP 设备工作在第 2 层,而 TUN 设备工作在第 3 层。这个区别很重要,因为不同的应用场景有不同的需求。例如,对于 VPN 应用来说,TUN 设备在第 3 层就足够了。详细的文档可以在 Linux 内核文档中找到。 + +Im Rahmen dieses Praktikums setzen wir TUN/TAP Devices dazu ein, um unseren eigenen Netzwerk-Stack zu implementieren. Ein einfaches Beispiel findet sich in der beigelegten Mini-Anwendung. Bevor ein TUN/TAP Device genutzt werden kann, erzeugen wir zunächst ein virtuelles Device. Hierzu nutzen wir das allseits bekannte Tool iproute (ip). +在本次实习中,我们将使用 TUN/TAP 设备来实现自己的网络栈。一个简单的示例可以在附带的 Mini 应用中找到。在使用 TUN/TAP 设备之前,我们首先创建一个虚拟设备。为此,我们使用常用的 iproute 工具(ip)。 + +```bash +$ ip tuntap help +Usage: ip tuntap { add | del } [ dev PHYS_DEV ] + [ mode { tun | tap } ] [ user USER | group GROUP ] + [ one_queue ] [ pi ] [ vnet_hdr ] +Where: USER := { STRING | NUMBER } + GROUP := { STRING | NUMBER } +``` + +Nachdem ein physisches Device erzeugt wurde, setzen wir das Device zunächst auf den Status up und geben ihm anschließend ein Netz bzw. eine fixe Host-Adresse. Mit der richtigen Konfiguration wird jeglicher Datenverkehr durch das das TUN/TAP Device geleitet. +创建物理设备后,我们首先将设备设置为 up 状态,然后为其分配一个网络或固定的主机地址。通过正确的配置,所有的数据流都将通过 TUN/TAP 设备。 + +### 2.5.1 Virtuelle Schnittstellen unter Linux + +![image-20241107123004937](https://lsky.mhrooz.xyz/2024/11/07/148807a8522e6.png) + +Allgemein kann man sagen: Virtualisierung ist die Abstraktion von starren, beschränkenden Randbedingungen eines Systems zu konfigurierbaren Eigenschaften. Im Fall von virtuellen Schnittstellen bedeutet Virtualisierung, dass man die Anzahl der Schnittstellen eines Rechners verändern kann. Freilich lassen sich dadurch nicht mehr Kabel mit einem Rechner verbinden als physische Schnittstellen vorhanden sind. Trotzdem erhöhen sich die Möglichkeiten im Management. +一般而言,虚拟化是将系统的固定、受限条件抽象成可配置的特性。在虚拟接口的情况下,虚拟化意味着可以更改计算机的接口数量。尽管如此,通过虚拟化并不能增加与计算机连接的实际电缆数量,只能使用物理接口。然而,这样可以增加管理方面的灵活性。 + +Im Rahmen dieses Praktikums bieten virtuelle Schnittstellen den Mehrwert, dass man über eine physische Verbindung mehrere logische Verbindungen betreiben kann (vgl. Abbildung 2.6). +在这个实践中,虚拟接口的优势在于可以通过一个物理连接运行多个逻辑连接(参见图2.6)。 + +Jeder virtuellen Schnittstelle kann außer eigenen IP-Adressen auch eine eigene VLAN-ID zugewiesen werden. Es ist somit möglich, mit nur einer physischen Verbindung einen Rechner in mehrere virtuelle LANs einzubinden. +每个虚拟接口除了可以分配独立的IP地址外,还可以分配独立的VLAN ID。这使得仅通过一个物理连接就可以将计算机连接到多个虚拟局域网(VLAN)。 + +Es ist möglich einer einzelnen Schnittstelle mehrere IPs zuzuweisen und so einen Rechner in mehrere Subnets (z.B. 192.168.1/24 und 192.168.2/24) einzubinden. Der wesentliche Unterschied zum Einsatz virtueller Schnittstellen und VLANs liegt darin, dass virtuelle Schnittstellen bereits auf OSI-Schicht 2 implementiert werden, eine Trennung auf IP-Ebene jedoch eine Funktion von OSI-Schicht 3 ist. +还可以给一个单独的接口分配多个IP地址,从而将计算机连接到多个子网(例如192.168.1/24和192.168.2/24)。虚拟接口和VLAN的主要区别在于虚拟接口在OSI模型的第2层实现,而IP层的隔离是OSI第3层的功能。 + +Anlegen virtueller Schnittstellen mit VLAN-ID: +带VLAN ID的虚拟接口创建: + +Das Anlegen von virtuellen Schnittstellen ist ebenfalls eine Funktion, die mit dem Befehl `ip` realisiert werden kann. Die Syntax zum Anlegen einer VLAN-Schnittstelle ist: +可以通过`ip`命令创建虚拟接口。创建VLAN接口的命令语法为: + +``` +# ip link add link name type vlan id +``` +mit +其中 + +- `pNIC` := Name der physischen Schnittstelle + `pNIC`:物理接口的名称 +- `vNIC` := Name der virtuellen Schnittstelle + `vNIC`:虚拟接口的名称 + +z.B.: +``` +# ip link add link eth0 name eth0.100 type vlan id 100 +``` + +Zum Entfernen einer virtuellen Schnittstelle benutzen Sie: 删除虚拟接口的命令: +``` +# ip link del dev +``` +z.B.: 例如: +``` +# ip link del dev eth0.100 +``` + +## 2.6 Scapy + +### 原文内容: + +#### 图片 1: + +**2.6 Scapy** + +Scapy ist ein Python Framework zur Inspektion und Manipulation von Paketen. Es erlaubt Ihnen Pakete vieler bereits implementierter Protokolle zu protokollieren, zu dekodieren, aus pcap-Dateien zu lesen, zu erstellen sowie diese zu versenden und vieles mehr. Scapy wurde auch für schnelles Prototyping entwickelt und benutzt Defaultwerte, die funktionieren. +Scapy 是一个用于数据包检查和操作的 Python 框架。它允许您记录、解码许多已实现协议的数据包,从 pcap 文件中读取或创建数据包并发送等。Scapy 还适用于快速原型设计,并使用默认值,保证基本功能可用。 + +Viele Aufgaben anderer Tools können von Scapy übernommen werden, z.B. Scanning, Traceroutes, Unit-Tests, Netzwerkerkennung und verschiedene Angriffe. Außerdem können Sie auch ungültige Rahmen versenden, eigene 802.11 Rahmen einbauen und verschiedene Techniken kombinieren (VLAN hopping + ARP cache poisoning, VoIP-Dekodierung auf einem WEP-verschlüsselten Kanal, etc.). +许多其他工具的任务可以由 Scapy 完成,例如扫描、路由追踪、单元测试、网络检测和多种攻击。此外,您还可以发送无效的帧、创建自定义的 802.11 帧,并组合各种技术(如 VLAN 跳跃 + ARP 缓存中毒、在 WEP 加密的信道上解码 VoIP 数据包等)。 + +#### 2.6.1 Installation auf der Infrastruktur + +`// On Debian` +`apt-get install python3-scapy` + +`// On OpenWRT` +`opkg update; opkg install scapy` + +#### 2.6.2 Usage + +Eine kleine Übersicht: +以下是简要概述: + +- Verschiedene Protokolle und Header sind als Klassen implementiert, wie IPv6 oder ICMP. + 各种协议和头部作为类实现,例如 IPv6 或 ICMP。 +- Protokolle können ineinander geschachtelt werden mit dem Slash-Operator, z.B.: IPv6()/TCP() erstellt ein TCP-over-IPv6 Paket. + 可以使用斜杠操作符嵌套协议,例如 `IPv6()/TCP()` 创建一个 TCP-over-IPv6 包。 +- Pakete können mit den Methoden show und show2 angezeigt werden, für das Senden bzw. Senden und Empfangen siehe send(), sendp(), sr(), sr1() und srp(). + 可以使用 `show` 和 `show2` 方法显示数据包;发送和接收请参考 `send()`、`sendp()`、`sr()`、`sr1()` 和 `srp()`。 +- Die meisten Headeroptionen können verändert werden. Setzen Sie diese entweder im Konstruktor oder über Membervariablen, z.B.: p = IP(ttl=64) + 大多数头选项可以更改。可以在构造函数中或通过成员变量设置这些选项,例如:`p = IP(ttl=64)`。 +- Nicht alle Optionen müssen angegeben werden, Scapy befüllt solche Werte mit Defaults. + 并非所有选项都必须指定,Scapy 会自动填充默认值。 +- Eine Liste aller Funktionen bekommen Sie über die Funktion ls(). + 使用 `ls()` 函数可以查看所有功能列表。 +- Für weitere Informationen und eine Demonstration, siehe https://scapy.net/ + 更多信息和演示,请访问 [https://scapy.net](https://scapy.net/) + +## 2.7 Aufgaben + +**Hinweis**: vergessen Sie nicht Ihre Konfiguration in Netzplänen zu dokumentieren und auch die relevanten Ausgaben der verwendeten Programme zu übernehmen! +**提示**: 请不要忘记在网络图中记录您的配置,并包含所用程序的相关输出! + +--- + +### A200 Address Resolution and Neighbor Discovery (Theorie) + +Das RFC 826 definiert das Address Resolution Protocol (ARP). In RFC 4861 wird das Neighbor Discovery Protocol (NDP) spezifiziert. +RFC 826 定义了地址解析协议(ARP)。RFC 4861 规定了邻居发现协议(NDP)。 + +1. **Wozu wird ARP eingesetzt? Was ist der Unterschied zu NDP?** + **ARP 的用途是什么?它与 NDP 的区别是什么?** +2. **Beschreiben Sie den Aufbau einer ARP-PDU und erläutern Sie die Bedeutung der einzelnen Felder!** + **描述 ARP-PDU 的结构并解释各个字段的含义!** +3. **Welche unterschiedlichen ARP-PDUs gibt es? Welche NDP-PDUs gibt es?** + **有哪些不同的 ARP-PDU?NDP-PDU 又有哪些?** +4. **Wie lang (in Bytes) ist eine ARP-PDU in einem Netz in dem IPv4 und Ethernet eingesetzt werden?** + **在 IPv4 和以太网网络中,ARP-PDU 的长度是多少字节?** +5. **Wie lang (in Bytes) ist eine Neighbor Solicitation Nachricht?** + **Neighbor Solicitation 消息的长度是多少字节?** +6. **Das RFC 826 spricht von einer Tabelle (table), deren Implementierung meist als ARP-Cache bezeichnet wird. Was soll laut RFC mit einer Ethernet-SDU passieren, wenn kein Eintrag zur Ziel-IP-Adresse in der Tabelle gefunden wird?** +7. **RFC 826 提到了一张表(table),其实现通常称为 ARP 缓存。RFC 规定如果表中没有找到目标 IP 地址的条目,对以太网 SDU 应该怎么处理?** + +### A201 VLANs nach IEEE 802.1q + +Virtuelle Infrastrukturen dienen dazu Netze anzulegen und anzupassen zu können, ohne physisch an den Geräten arbeiten zu müssen. Dies ist insbesondere in großen, weniger übersichtlichen Infrastrukturen von Vorteil. +虚拟基础设施的目的是在无需直接物理操作设备的情况下创建和调整网络配置。尤其在大型、结构不明确的基础设施中,这种方法具有优势。 + +Nachdem Sie in Aufgabe A101 die Topologie der virtuellen Infrastruktur vollständig rekonstruiert haben, ändern Sie diese im Folgenden.在您完成任务**A101**中虚拟基础设施拓扑的重建之后,按照以下步骤进行修改。 + +1. **Modifizieren Sie die Topologie Ihrer virtuellen Infrastruktur so, dass die Router 1,2 und 3 ausschließlich Switches (Bridges) sind. Fügen Sie dieser Bridge alle Interfaces bis auf eth0 hinzu. (Hinweis: Benutzen Sie `ip link`, siehe Referenz^3)** + 修改您的虚拟基础设施拓扑,使路由器 1、2 和 3 仅包含交换机(桥接器)。将所有接口(除了 eth0 以外)加入该桥接器。(提示:使用 `ip link`,参考文献^3) + + Die PCs 1–3 sowie Router 4 sind Hosts, die in einem (Sub-)Netz gemäß der Baum-Topologie in Abbildung 2.7 verbunden sind. Es genügt hierbei, wenn Sie überflüssige Links als `down` markieren. + PC1–3 和路由器 4 是主机,根据图 2.7 的树状拓扑结构连接在同一子网中。这里只需要将冗余的链路标记为 `down`。 + +2. **Testen Sie ihre Verbindungen zwischen den PCs 1–3 sowie Router 4 mittels `ping`。Router 1–3 haben per Definition von Bridges keine IP-Adresse. Vergeben Sie IPv4-Adressen aus Ihrem Adressraum。** + 通过 `ping` 命令测试 PC1–3 和路由器 4 之间的连接。根据桥接器的定义,路由器 1–3 不会有 IP 地址。请为它们分配 IPv4 地址。 + +3. **Derzeit befinden sich alle Hosts im selben Netz. In dieser Aufgabe soll das Netz in zwei logisch getrennte VLANs (Schicht 2) aufgeteilt werden. Ziel ist es, dass Router 4 und PC3 in einem VLAN sowie PC2 und PC1 in einem anderen VLAN voneinander isoliert sind。** + 当前,所有主机都在同一网络中。在本任务中,将网络划分为两个逻辑上独立的 VLAN(第二层)。目标是将路由器 4 和 PC3 放在一个 VLAN 中,将 PC2 和 PC1 放在另一个 VLAN 中,使它们彼此隔离。 + 第三层地址将保持不变。预期的结果是仅在 VLAN 内可以进行通信。例如,路由器 4 只能与 PC3 通信,而无法与 PC1 和 PC2 通信,即便它们在第三层的同一子网中。 + + 使用 `ping` 测试您的配置,并通过 `tcpdump`(在路由器 1–3 上)验证 ICMP 请求是否基于 VLAN ID 在 VLAN 内部进行通信。 + + + +### **A202 ARP 和 NDP 分析** + + 使用与上一个任务相同的拓扑结构。如果有 VLAN,请将其移除。 + + i) 解释 pc1 上的 `ip neigh` 命令输出! + + ii) 清空 pc1 和 pc2 上的 ARP 缓存!(提示:`ip neigh`) + + iii) 确保 PC 的接口拥有 Link-Local IPv6 地址。(提示:`ip link [down/up]`) + + iv) 使用 `ping` 和 `ping6` 在 pc1 和 pc2 之间生成 IP 流量。`ip neigh` 输出有何变化? + + v) 使用 `tcpdump` 观察从 IP 地址到 MAC 地址的解析。请求解析的 MAC 地址分别发送给哪些 MAC 地址?是否是广播? + + vi) 为您的 PC 添加以下网络的 IPv6 地址:`2001:db8:<组号>::/64` + + vii) 使用新添加的全局地址重复 IPv6 测试。解释这些差异! + + viii) 比较 `tcpdump` 和 `scapy` 的输出。使用 `scapy` 显示 ARP/Neighbor Solicitation (NS) 数据包的详细信息。 + + ix) 使用 `scapy` 发送 ARP 和 NS 数据包从 pc1 发出。(提示:`Ether` 和 `sendp()`) + + 查看 pc2 和 pc3 是否接收到这些数据包?它们如何响应这些请求?检查 pc1 收到的回复! + + x) 使用 `scapy` 发送带有新 MAC 地址的 ARP Reply 和 Neighbor Advertisement (NA) 数据包从 pc1 发给 pc2。查看 pc2 的邻居缓存在接收到数据包后有何反应? + +**A203 在 C 中实现 ARP** + +任务是独立实现 ARP 协议 (参见 RFC 826)。目标是基于 TUN/TAP 设备,在网络内拦截数据流,并通过工具 `arping` 对 ARP 请求发送语义和语法正确的 ARP 响应。 + +i) 熟悉 TUN/TAP 设备的工作原理,并使用小应用程序 `tuntap.c` 检查您的配置是否正确。 + +ii) 为 ARP 请求和响应选择一个合适的接口,并在一个头文件中记录。阅读 RFC 826 以获得相关信息。 + +iii) 实现您指定的接口,使其能够正确响应 `arping` 请求。您可以为响应分配任意 IP 地址和 MAC 地址。 + +`arping` 请求示例: +```bash +$ arping -I mytap +``` + +## Appendix + +### SDU + +**SDU**(Service Data Unit,服务数据单元)是计算机网络中的一个概念,指的是在网络协议层之间传递的数据单元。在分层网络模型中,SDU 是上一层协议或服务要传递给下一层协议或服务的数据。SDU 的数据内容在传递到下一层时可能会被封装成一个新的数据单元(PDU,Protocol Data Unit,协议数据单元)。 + +#### SDU 的作用 + +在分层网络模型中,每一层协议对上一层的 SDU 进行处理,将其封装、分片或添加头信息后,传递到下一层。这一过程在数据从高层(如应用层)到低层(如物理层)时会反复发生,直到数据在物理层上被传输出去。SDU 是分层结构中数据传递的基础单位。 + +#### SDU 与 PDU 的关系 + +- **SDU(Service Data Unit)**:是传递给下一层协议的数据单元,通常包含应用层或上层协议层的数据。 +- **PDU(Protocol Data Unit)**:是将 SDU 封装后,加入本层协议的控制信息(例如头部和尾部)形成的完整数据包。PDU 是每一层协议的实际传输单元。 + + +在一层协议中,SDU 被处理和封装成 PDU,然后传递给下一层。例如: +1. 传输层将应用层的 SDU 封装成传输层 PDU(例如 TCP 段或 UDP 数据报)。 +2. 网络层将传输层的 PDU 封装成网络层 PDU(如 IP 数据报)。 +3. 链路层将网络层的 PDU 封装成链路层 PDU(如以太网帧)。 + +假设一个应用程序发送一个数据单元到网络中,这个数据单元会经历多个协议层的封装过程: + +1. **应用层**:应用层生成一个 SDU(例如 HTTP 请求),并将其传递给传输层。 +2. **传输层**:传输层将应用层的 SDU 封装为传输层的 PDU(例如 TCP 段),并将其传递给网络层。 +3. **网络层**:网络层将传输层的 PDU 作为 SDU,然后封装为网络层的 PDU(例如 IP 数据报),传递给数据链路层。 +4. **数据链路层**:链路层将网络层的 PDU 作为 SDU,封装为链路层 PDU(例如以太网帧),最后在物理层上传输。 + +### TUN and TAP + +**TUN** 和 **TAP** 是 Linux 和其他操作系统中的两种虚拟网络设备,用于处理网络流量。它们分别用于 **三层(网络层)** 和 **二层(数据链路层)** 网络通信。 + +#### 1. TUN 接口 + +- **TUN** 代表 **"network TUNnel"**。 +- TUN 是一个虚拟的三层(网络层)设备,模拟的是 IP 层。 +- 它处理的是 **IP 数据包**(如 IPv4 或 IPv6),可以看作是虚拟的网卡,但只处理三层协议。 +- 当应用程序通过 TUN 接口发送 IP 数据包时,操作系统会将这些数据包交给一个用户空间程序,该程序可以对数据包进行处理或转发。 +- 常用于 **VPN**(如 OpenVPN)的三层隧道,实现私有网络之间的安全通信。 + +**工作方式**: +- TUN 接口会将 IP 数据包从内核空间转发到用户空间的 VPN 程序。 +- VPN 程序加密或解密数据包后,再通过 TUN 接口发送到网络中,或转发到目标设备。 + +**示例**:OpenVPN 的 TUN 模式使用三层隧道,仅处理 IP 数据包,适用于没有广播流量需求的网络(如 Internet 流量)。 + +#### 2. TAP 接口 + +- **TAP** 代表 **"network TAP"**,意为网络接入点。 +- TAP 是一个虚拟的二层(数据链路层)设备,模拟的是以太网设备。 +- 它处理的是 **以太网帧**,包括 IP、ARP 等协议层的封装。 +- TAP 接口允许虚拟网络设备和物理网络一样传输以太网帧,因此可以处理广播和多播流量。 +- 常用于虚拟机(如 KVM、VirtualBox)和容器的二层连接,允许虚拟机像在同一个局域网内一样通信。 + +**工作方式**: +- TAP 接口可以在二层网络中直接传输以太网帧,包含源 MAC 地址、目标 MAC 地址和协议字段。 +- 它将这些帧转发到用户空间程序进行处理,程序可以将它们转发到其他网络或应用程序。 + +**示例**:OpenVPN 的 TAP 模式使用二层隧道,适用于需要广播或多播的场景,如与局域网相连的虚拟网络环境。 + +#### 区别总结 + +| 特性 | TUN(网络隧道) | TAP(接入点) | +| ------------ | ----------------------- | ------------------------------ | +| 层次 | 三层(网络层) | 二层(数据链路层) | +| 处理数据类型 | IP 数据包(IPv4、IPv6) | 以太网帧(包括 MAC 地址) | +| 广播支持 | 不支持 | 支持 | +| 应用场景 | 三层 VPN(不需要广播) | 二层 VPN、虚拟机局域网连接 | +| 常用协议 | 仅传输 IP 层协议 | 可以传输任意二层协议(如 ARP) | + +#### 何时使用 TUN 和 TAP + +- **使用 TUN**:如果只需要在网络层传输 IP 数据包,且不需要局域网的广播和多播功能,例如 Internet 访问的三层 VPN。 +- **使用 TAP**:如果需要在二层连接多个设备,支持以太网帧级别的通信(包括广播和多播),如多个虚拟机在同一局域网内通信的二层 VPN。 + +#### 工具支持 + +- **`ip tuntap`**:可以在 Linux 上创建和管理 TUN 和 TAP 设备。 +- **OpenVPN**:支持 TUN 和 TAP 两种模式,用户可以根据需求选择相应的接口类型。 +- **虚拟化平台**(如 KVM、VirtualBox):通常使用 TAP 接口来实现虚拟机与主机网络的连接。 diff --git a/Blatt02/assets/image-20241107104045466.png b/Blatt02/assets/image-20241107104045466.png new file mode 100644 index 0000000000000000000000000000000000000000..db5a7fd1f5206bdade47df24f18f8a52b2035383 GIT binary patch literal 40566 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%0DAOK;B?oZTb#7u7N5$J61>Xb9Ai97yQ;VGlY?ow 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 Zkn3T2mbNh~L&XOR$-z1N%nu%Detf`O>bQ# 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 literal 0 HcmV?d00001 diff --git a/Blatt02/assets/image-20241107104505851.png b/Blatt02/assets/image-20241107104505851.png new file mode 100644 index 0000000000000000000000000000000000000000..a557ce1f439984faaae59f893c6ca1115533a001 GIT binary patch literal 18886 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 T;xDtp8W7TwauRuBZ+!n3!akMN literal 0 HcmV?d00001 diff --git a/Blatt02/assets/image-20241107110237030.png b/Blatt02/assets/image-20241107110237030.png new file mode 100644 index 0000000000000000000000000000000000000000..3c78d0163bdf7bb662f96d5bb9f7fdbe50aa8fa5 GIT binary patch literal 16304 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 literal 0 HcmV?d00001 diff --git a/assets/automaton.drawio.png b/assets/automaton.drawio.png new file mode 100644 index 0000000000000000000000000000000000000000..30f0405e5dad841622873131128f7184f9922169 GIT binary patch literal 63369 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 Q9q>;