2024考研408-计算机网络 第四章-网络层学习笔记

文章目录

Vorwort

Ich bereite mich derzeit auf die 24. Postgraduierten-Aufnahmeprüfung vor und werde nun die in 408 von 24 Computer Kings erworbenen Wissenspunkte zusammenfassen und organisieren.

Blogger-Blog-Artikelverzeichnisindex: Blog-Verzeichnisindex (kontinuierlich aktualisiert)

image-20230803165708901

Zwei Hosts können über die Netzwerkschicht (Router) Daten kommunizieren und Ressourcen gemeinsam nutzen.

Die Netzwerkschicht ist leistungsfähiger als die vorherige Datenverbindungsschicht und die physische Schicht : Durch die Verwendung einiger Protokolle, Geräte, Router und Algorithmen der Netzwerkschicht können eine Reihe von Vorschriften für die zu sendenden Daten getroffen werden, einschließlich des Übertragungsziels. Der Host plant die Route und wählt den am besten geeigneten Router aus, um die Weiterleitung abzuschließen.

Der Unterschied zwischen Routing und Forwarding :

  • 转发: Tritt im Geräterouter der Netzwerkschicht auf und der weitergeleitete Inhalt ist das IP-Paket der Übertragungsdateneinheit der Netzwerkschicht. (mikroskopisch)
  • 路由选择: Tritt außerhalb des Routers oder zwischen Routern auf. (Makro)

**Wohin erfolgt die Weiterleitung? **Im Router.

**Wie implementiert man Routing und von welchem ​​Router-Port aus soll weitergeleitet werden? **Mit Hilfe der Routing-Tabelle.

**Wie erhalte ich die Weiterleitungstabelle? **Verwenden Sie basierend auf der Routing-Auswahl eine Reihe von Routing-Algorithmen, um eine bessere Routing-Methode zu definieren.

  • Die Weiterleitungstabelle kombiniert Weiterleitung und Routing perfekt.

Sie müssen jedes weiterzuleitende Paket verstehen : die detaillierte Struktur, Form, Felder und wie das Paket fragmentiert werden kann, wenn es zu lang ist.

Adressierung auf Netzwerkebene : Jedem Netzwerkknoten und jedem Gerät im Netzwerk kann eine IP-Adresse zugewiesen werden. Diese IP-Adresse verfügt über mehrere Adressierungsmethoden.

**Die tatsächliche Auslastungsrate der IP-Adresse ist sehr niedrig. Wie kann die Flexibilität verbessert werden? **Die Technologie der Subnetzbildung wird entwickelt und das Konzept der Subnetzmaske wird eingeführt.

Da die Anzahl der IPv4-Zuweisungen begrenzt ist, wird der Adressraum zu diesem Zeitpunkt erweitert, dh IPv6 wird erlernt.

Mobile IP-Technologie und andere Wissenspunkte.


1. Funktionen der Netzwerkschicht

1.1. Überblick über die Funktionen der Netzwerkschicht (Einführung in drei Funktionen)

Die Hauptaufgabe der Netzwerkschicht besteht darin, Pakete von der Quelle zum Ziel zu übertragen und Kommunikationsdienste für verschiedene Hosts im Paketvermittlungsnetzwerk bereitzustellen.

Übertragungseinheit der Netzwerkschicht : Datagramm.

image-20230803172256998

Die Funktionen der Funktionsschicht sind wie folgt :

Funktion 1: Routing-Auswahl und Paketweiterleitung

Durch die Verwendung eines Routing-Algorithmus zur Bestimmung einer optimalen Route wird das Paket dann in der Reihenfolge des Routings gesendet, d. h. es wird ein optimaler Pfad ausgewählt.

Funktion 2: Heterogene Netzwerkverbindung

Ob es sich um ein Mobiltelefon, einen an ein Netzwerkkabel angeschlossenen Computer, 4G, WLAN oder ein Campus-Netzwerk handelt, die Kommunikation untereinander kann über verschiedene Netzwerke erfolgen. Es handelt sich um ein heterogenes Netzwerk.

Dieses heterogene Netzwerk kann über Router zu einem riesigen Netzwerk miteinander verbunden werden.

Funktion Drei: Staukontrolle

Wenn alle Knoten keine Zeit haben, Pakete zu empfangen und eine große Anzahl von Paketen verwerfen müssen, befindet sich das Netzwerk in einem überlasteten Zustand. Daher müssen bestimmte Maßnahmen ergriffen werden, um diese Überlastung zu verringern.

Der Unterschied zwischen Überlastung und Flusskontrolle :

  • 拥塞控制: Es handelt sich um ein globales Konzept . Dies liegt daran, dass das gesamte Netzwerk überlastet ist , was bedeutet, dass jeder Knoten sehr beschäftigt ist, sodass die Paketweiterleitungsgeschwindigkeit sehr langsam ist, was wiederum dazu führt, dass die meisten Pakete verworfen werden. Diese Situation ist Stau .
  • 流量控制: Die Sendegeschwindigkeit des Absenders ist zu hoch. Zu diesem Zeitpunkt muss der Empfänger dem Absender mitteilen, dass er langsamer senden soll .

Zwei Möglichkeiten zur Lösung der Überlastungskontrolle :

  • Open-Loop-Steuerung: Eine statische Steuerungsmethode, die alle Faktoren berücksichtigt, die zu einer Überlastung führen können, bevor das Netzwerk zu arbeiten beginnt, und dann eine Vorsteuerung durchführt.
  • Regelung mit geschlossenem Regelkreis: Eine dynamische Steuerungsmethode, die diese nicht im Voraus berücksichtigt, sondern es dem Netzwerk ermöglicht, im laufenden Betrieb selbst Anpassungen vorzunehmen, um eine Überlastungskontrolle zu erreichen.

1.2. Grundkonzepte von SDN

Neue Testpunkte im Jahr 2022 (Haupt-Multiple-Choice-Fragen)

1.2.1. Weiterleitung und Routing verstehen

Routerfunktionen: Weiterleitung & Routing


1.2.1.1. Weiterleitung

转发: Wie ein Datagramm, das auf einem der Eingangslinks des Routers ankommt, an einen der Ausgangslinks dieses Routers weitergeleitet wird .

image-20230803182427051

Prozess : Es handelt sich um einen Prozess der Auswahl einer Route und der Suche nach einem Port im Router.

数据平面: Für verschiedene spezifische Verarbeitungs- und Weiterleitungsvorgänge im Datenverarbeitungsprozess.

  • Das heißt, es bezieht sich darauf, wie eines unserer Pakete von einem Port zu einem anderen Port weitergeleitet wird. Derzeit wird dieser Weiterleitungsprozess als die wichtigste Funktion der Datenebene bezeichnet.

Implementierungslösung : kurze Zeit, normalerweise Hardwarelösung .


1.2.1.2. Routenauswahl

路由选择: Steuert, wie Datagramme zwischen Routern entlang des End-to-End-Pfads vom Quellhost zum Zielhost weitergeleitet werden .

image-20230803182506898

Prozess : Wenn viele Router vorhanden sind, muss bei der Auswahl der am besten geeigneten Route ein gesamter Pfad ausgewählt werden.

控制平面: Die Steuerungsebene dient zur Steuerung und Verwaltung des Betriebs von Netzwerkprotokollen wie dem OSPF-Protokoll, dem RIP-Protokoll und dem BGP-Protokoll.

  • Dabei handelt es sich hauptsächlich um im Routing-Prozess verwendete Protokolle, die als einige Funktionen des Routing-Prozesses verstanden werden können.

Implementierungslösung : Es dauert lange und wird normalerweise mithilfe von Software gelöst .

Hinweis : Datenebene und Steuerebene sind beide logische Wörter. Datenebene ist relativ zur Weiterleitung und Steuerebene ist relativ zum Routing.


1.2.2. Datenebene (Weiterleitung)

Die Hauptfunktion der Datenebene ist die Weiterleitung gemäß der Weiterleitungstabelle . Dies ist eine lokale Aktion des Routers.

转发表: Es handelt sich um eine Weiterleitungstabellen-Routing-Tabelle, die basierend auf der Routing-Tabelle generiert wird.

image-20230803183436719

Enthält zwei Spalten : Die erste Spalte ist der Ausgabeheader (ein Feld im Header der Gruppe); die zweite Spalte gibt aus, welchen Ausgabeport die entsprechende Gruppe verwenden soll.

Hauptaufgabe : Weiterleiten basierend auf dieser Weiterleitungstabelle.

  • Ähnlich wie beim Porter erfolgt dieser Weiterleitungsprozess lediglich auf Basis der Weiterleitungstabelle.

1.2.3. Steuerungsebene (Routenberechnung und -auswahl)

Zwei Implementierungsmethoden : 传统方法(又叫做每路由器法), SDN方法.


Implementierungsmethode eins: traditionelle Methode

传统方法: Der Routing-Algorithmus läuft in jedem Router und jeder Router enthält zwei Funktionen: Weiterleitung und Routing.

  • Es ist sehr vielseitig und kann nicht nur Weiterleitungen durchführen , sondern auch Routing-Tabellen und Weiterleitungstabellen berechnen .

image-20230803184549369

Spezifische Methode : Der Routing-Algorithmus in einem Router kommuniziert mit den Routing-Algorithmen in anderen Routern (durch Austausch von Routing-Nachrichten ), um die Routing-Tabelle und die Weiterleitungstabelle zu berechnen .

  • Router können untereinander kommunizieren und ihre jeweiligen Lernergebnisse mitteilen. Anschließend können sie berechnen, wie die nächste Routing-Tabelle aussehen wird.
  • Sowohl die Steuerebene als auch die Datenebene sind in einem Router implementiert.
    • Datenebene: spielt die Rolle des Porters und führt Routing- und Weiterleitungsarbeiten durch.
    • Steuerungsebene: Es handelt sich hauptsächlich um die Berechnung der Weiterleitungstabelle oder die Ausführung des Routing-Algorithmus, um die Routing-Auswahl abzuschließen.

Hinweis : Der Grund für die Bezeichnung Pro-Router-Algorithmus liegt darin, dass die Pro-Router-Methode auf jedem Router ausgeführt wird.


Implementierungsmethode zwei: SDN-Methode

Den SDN-Ansatz (Control Plane) verstehen

SDN(Software-Defined Networking): Die Steuerungsebene ist physisch vom Router getrennt. Der Router implementiert nur die Weiterleitung und die Fernbedienung berechnet und verteilt die Weiterleitungstabelle zur Verwendung durch jeden Router.

  • Ein durch Software definiertes Netzwerk.

Was ist der Unterschied zur herkömmlichen Methode : Die Funktion der Datenebene (Weiterleitungs-Routing-Tabelle) ist dieselbe und der berechnete Routing-Algorithmus auf der Steuerungsebene des Routers ist physisch getrennt.

  • Um es einfach auszudrücken: Ursprünglich musste jeder Router eine Routing-Tabellenberechnung sowie Routenauswahl- und Weiterleitungsfunktionen implementieren, dies ist jedoch nicht mehr erforderlich. Die von jedem Router geleistete Arbeit besteht nur darin, Routen weiterzuleiten.

image-20230803190020848

远程控制器: Da jeder Router die Routing-Funktion implementieren muss, wird für die Routing-Auswahl speziell entwickelte Hardware verwendet. Dieser Remote-Controller berechnet und verteilt die Weiterleitungstabelle zur Verwendung durch jeden Router .

  • **Wo? **Die Fernbedienung kann sich in einem Remote-Rechenzentrum mit hoher Zuverlässigkeit befinden und von einem ISP oder einem Dritten verwaltet werden.

Spezifische Methode : Router kommunizieren mit Remote-Controllern , indem sie Nachrichten austauschen, die Weiterleitungstabellen und andere Routing-Informationen enthalten.

  • Die Fernbedienung berechnet diese Weiterleitungstabelle und interagiert mit dem Router: alles mithilfe von Software.
  • Netzwerke werden durch „ Software “ definiert und sind programmierbar.

Vorteile : Sie können die Weiterleitungstabelle selbst steuern und berechnen und die Verteilung eines Teils des Datenverkehrs aufteilen und steuern. Die Trennung des „Gehirns“ (Routenberechnung und -auswahl) ermöglicht ein sehr fortschrittliches und flexibles Management.

Anwendung : Derzeit verwenden viele große Hersteller die SDN-Methode, um diese Softwaremethode zur Berechnung von Routing-Tabellen und zur Steuerung von Routern für Routing und Weiterleitung zu implementieren.

image-20230803185925864


Routing-Prozessor im traditionellen Ansatz vs. SDN-Ansatz

Zusammenfassung : Bei der herkömmlichen Methode werden Routenberechnung und -auswahl im Router implementiert . Bei der SDN-Methode werden die Funktionen zur Routenberechnung und -auswahl auf eine Fernbedienung verlagert , und die Fernbedienung interagiert mit jedem Router über diese Fernbedienung. Update die Routing-Tabelle an den Router.

  • 传统方法Die Routenberechnung und -auswahl erfolgt mithilfe des Routing-Prozessors im Router .
  • SDN方法Jeder Router im SDN verfügt weiterhin über diesen Routing-Prozessor, aber die Funktionen zur Routenberechnung und -auswahl werden entfernt. Das heißt, der Routing-Prozessor im Router im SDN-Verfahren kann nur gemäß der Routing-Tabelle auswählen und mit der Fernbedienung kommunizieren. kommunizieren .

Das Folgende ist der Routing-Prozessor im Router : Die Funktionalität dieses Prozessors ist bei verschiedenen Methoden nicht genau gleich.

image-20230803190802061

Traditioneller Ansatz : Der Routing-Prozessor führt Steuerungsebenenfunktionen aus. In einem herkömmlichen Router führt er Routing-Protokolle aus, verwaltet Routing-Tabellen und zugehörige Verbindungsstatusinformationen und berechnet Weiterleitungstabellen für den Router.

SDN-Ansatz : In einem SDN-Router ist ein Routing-Prozessor für die Kommunikation mit der Fernbedienung verantwortlich, um von der Fernbedienung berechnete Weiterleitungstabelleneinträge zu empfangen.


Drei Ebenen der SDN-Steuerungsebene

image-20230803192627914

  • Die Northbound-API (nach oben) und die Southbound-API (nach unten) können als Northbound-Schnittstelle und Southbound-Schnittstelle bezeichnet werden. Über diese Schnittstelle können Sie auf die oberen oder unteren Dienste zugreifen.
  • Die Southbound API ermöglicht einen Datenaustausch zwischen SDN-Controllern und Netzwerkgeräten.

SDN控制器: Pflegen Sie genaue Netzwerkstatusinformationen (Status von Remote-Verbindungen, Switches und Hosts) ; stellen Sie diese Informationen für Netzwerksteuerungsanwendungen bereit, die auf der Steuerungsebene ausgeführt werden. (Logik zentralisiert, auf mehreren Servern implementiert)

网络控制应用程序: Berechnen Sie anhand der Informationen des SDN-Controllers (Netzwerkbetriebssystem), welcher Pfad für die nächste Routing-Auswahl ausgewählt werden soll . Die endgültige Berechnung wird der Netzwerksteuerungsanwendung überlassen.


Drei Ebenen der SDN-Steuerungsebenenerweiterung

image-20230803193240947

Es ist wie folgt in drei Schichten unterteilt :

对于网络控制应用程序的接口(含北向API): Der SDN-Controller interagiert über die Northbound-Schnittstelle mit Netzwerksteuerungsanwendungen. Mit dieser API können Netzwerksteuerungsanwendungen den Netzwerkstatus zwischen Zustandsverwaltungsebenen lesen und schreiben .

网络范围状态管理层(含SDN控制器): Die endgültige Kontrollentscheidung der SDN-Steuerungsebene erfordert, dass der Controller über die neuesten Statusinformationen zu den Hosts, Links usw. des Netzwerks verfügt.

通信层(含南向API): Kommunikationsprotokoll (OpenFlow) zwischen SDN-Controller und gesteuerten Netzwerkgeräten, einschließlich „Southbound-Schnittstelle“.


Übungsfragen (2 Fragen)

Frage 1 :

image-20230803193831330

Lösung : In der netzwerkweiten Statusverwaltungsschicht.

Netzwerkweite Statusverwaltungsschicht : Auf dieser Ebene können die neuesten Statusinformationen über die Hosts, Links, Switches und andere SDN-Steuergeräte des Netzwerks abgerufen werden. Auf der Grundlage dieser Informationen können neue Routing- und Weiterleitungsprotokolle implementiert und dem Controller mitgeteilt werden Implementierung. implementieren.

  • Ursprünglich dachte ich, es handele sich um eine Anwendungsschnittstelle für ein Netzwerksteuerungsprogramm. Tatsächlich ist sie hauptsächlich für die Übertragung der von der Zustandsverwaltungsschicht berechneten Routing-Daten an das Vermittlungsgerät verantwortlich.

Frage 2 :

image-20230803194028208

Analyse: Ersteres ist ein gesteuertes Netzwerkgerät (Router), letzteres ist eine Netzwerksteuerungsanwendung.

image-20230803194222091


Zusammenfassen

image-20230803195100840


2. Routing-Algorithmus

2.1. Verstehen Sie die Routing-Tabelle

Die Routing-/Weiterleitungstabelle ist in der folgenden Abbildung dargestellt :

image-20230803204919134

Beste Route : „Beste“ kann nur aufgrund einer bestimmten Anforderung eine sinnvollere Wahl sein.

  • Im Allgemeinen bezieht sich das Beste auf die kürzeste Hop-Anzahl oder die kürzesten Verbindungskosten und Verbindungskosten.

Tatsächlicher Prozess : Wenn der Router einige Routing-Protokolle verwendet, berechnet er mithilfe von Routing-Algorithmen die beste Route und trägt dann die Ergebnisse der besten Route in die Einträge in der Routing-Tabelle ein, bei der es sich um eine Standard-Weiterleitungstabelle handelt.


2.2. Klassifizierung von Routing-Algorithmen

Statischer Routing-Algorithmus (nicht adaptiver Routing-Algorithmus)

Routing-Algorithmen werden unterteilt in : statische Routing-Algorithmen und dynamische Routing-Algorithmen.

静态路由算法(非自适应路由算法): Der Administrator konfiguriert die Routing-Informationen manuell.

Beispiel : Konfigurieren Sie manuell den Port, über den ein Host Netzwerk A weiterleiten muss.

Vorteile : einfach, zuverlässig und funktioniert gut in Netzwerken mit stabiler Last und geringen Topologieänderungen. Es wird häufig in hochsicheren militärischen Netzwerken und kleineren kommerziellen Netzwerken verwendet.

  • An der Topologie ändert sich wenig: Das bedeutet, dass sich im Netzwerk an Routern oder Hosts, also allen Geräten, nicht viel ändert. Es wird nicht viele Hosts geben, die sich plötzlich aus dem Netzwerk zurückziehen, oder viele Hosts, die dem Netzwerk beitreten, weil sie einmal austreten oder beitreten müssen wir die Routing-Tabelle manuell ändern.

Nachteile : Routenaktualisierungen sind langsam und nicht für große Netzwerke geeignet.


Dynamischer Routing-Algorithmus (adaptiver Routing-Algorithmus)

动态路由算法(自适应路由算法): Router tauschen Informationen untereinander aus und optimieren Routing-Tabelleneinträge gemäß Routing-Algorithmen.

Vorteile : Routenaktualisierungen sind schnell, für große Netzwerke geeignet und können zeitnah auf Verbindungskosten oder Änderungen der Netzwerktopologie reagieren.

  • Linkkosten beziehen sich auf die Pfadkosten oder die Hop-Anzahl des Routers.

Nachteile : Der Algorithmus ist komplex und erhöht die Belastung des Netzwerks.

  • Der Hauptgrund ist, dass der Entwurfsprozess des Routing-Algorithmus relativ kompliziert ist.

Dynamische Routing-Algorithmen können ebenfalls unterteilt werden : global und dezentral.

①Globalität : Link-State-Routing-Algorithmus OSPF协议.

  • Alle Router verfügen über vollständige Netzwerktopologie- und Verbindungskosteninformationen (jeder Router kann die Netzwerktopologie auf Makroebene steuern).

②分散性:距离向量路由算法RIP协议

  • 路由器只掌握物理相连的邻居及链路费用(并不清楚整个网络的拓扑情况)。

实际应用:网络是比较大的,通常使用的都是这个动态路由算法。


2.3、分层次的路由选择协议

2.3.1、采用分层次的路由选择协议原因

采用分层次路由选择协议的主要原因

1、因特网规模很大。

2、许多单位不想让外界知道自己的路由选择协议,但还想连入因特网。

根据这些原因就出现了自治系统AS

描述:由于整个因特网规模太大,将整个因特网分成很多小的团体,这个小的团体,称之为自治系统的一个单位。在这个自治系统内,它所使用的协议外部是完全不知道的,此时我们就可以尽量减少每一个路由器表项的个数,同时还可以使一个自治系统内的这些路由器它们所使用的协议对于外界来看是透明的,也就是外界并不清楚内部自治系统使用的协议。

自治系统AS:在单一的技术管理下的一组路由器,这些路由器使用的是AS内部的路由选择协议和共同的度量以确定分组在该AS内的路由,同时还使用一种AS之间的路由协议以确定在AS之间的路由。

一个AS内的所有网络都属于一个行政单位来管辖,一个自治系统的所有路由器在本自治系统内都必须连通


2.3.2、路由选择协议分为IGP与EGP(包含图示)

路由选择协议分为IGP与EGP

内部网关协议IGP(指的就是内部路由器之间进行转发的协议):一个AS内使用的RIPOSPF协议。

外部网关协议EGP(指的是外部路由器之间转发的协议):AS之间使用的BGP协议。

Wie in der folgenden Abbildung dargestellt : Sie können sehen, dass die RIP- und OSPF-Protokolle innerhalb des autonomen Systems verwendet werden und das Protokoll, das direkt von den beiden Routern außerhalb des autonomen Systems weitergeleitet wird, BGP-4 ist.

image-20230803211131244


3. IPv4

3.1. IP-Datagramm

3.1.1. TCP/IP-Protokollstapel

TCP/IP-Protokollstapel :

image-20230803234209993

In der Netzwerkschicht befindet sich das ARP-Protokoll ganz unten. Zu diesem Zeitpunkt muss es das IP-Protokoll bedienen. Zu diesem Zeitpunkt muss das IP-Protokoll auch die ICMP- und IGMP-Protokolle bedienen.


3.1.2. IP-Datagrammformat (detaillierte Feldeinführung)

Das IP-Datagramm ist in zwei Teile unterteilt : 首部, 数据部分.

  • IP-Datagramme und Pakete können als dasselbe betrachtet werden. Wenn das IP-Datagramm zu groß ist, muss es fragmentiert werden. Die fragmentierten kleinen Einheiten sind die Übertragungseinheiten der Netzwerkschicht.

Beim Senden von Daten muss mit dem Header begonnen werden. Die Daten im Header werden zuerst und dann Stück für Stück gesendet.

Der erste Teil des IP-Datagramms besteht aus einem festen Teil und einem variablen Teil .

  • Für den festen Teil muss jedes IP-Datagramm diese Daten fester Größe haben. Für den variablen Teil ist dies entbehrlich. Die meisten von ihnen haben diesen Teil nicht.

image-20230803234839740

Was sind die spezifischen Felder in der Kopfzeile :

image-20230804002626710

版本: Besetzt 4 Ziffern und bezieht sich auf IPV4/IPv6.

首部长度: Belegt 4 Bit und wird zur Darstellung der Größe des spezifischen Headers verwendet. Die Größeneinheit für diese Darstellung ist 4B.

  • Da es sich um 4 Bit handelt, liegt der theoretische normale Darstellungsbereich zwischen 0000 und 1111. Wenn die Header-Länge beispielsweise als 1111 ausgedrückt wird, bedeutet dies, dass der Header 15 x 4 B = 60 B beträgt. Die Länge des festen Teils beträgt 20B. Zu diesem Zeitpunkt beträgt die variable Länge 40B. Es gibt einen im variablen Teil填充字段 . Wenn er das Vielfache von 4B nicht erfüllt, 填充字段wird er auf ein Vielfaches von 4 aufgefüllt.
  • Hinweis: Da der feste Teil der Header-Länge 20 B beträgt, sollten die 4 Ziffern der Header-Länge beginnend bei 0101 dargestellt werden und ihr Bereich liegt zwischen 0101 und 1111.

区分服务: Belegt 8 Bits und wird verwendet, um anzugeben, welche Art von Dienst erwartet wird.

  • 主要是用来强调数据包的优先级,在区分服务这里进行一个规定,实际应用使用很少,一般在使用区分服务的时候才会使用这个字段。

总长度:占了16位,首部+数据,单位是1B。

  • 总长度字段占用16位,即16个比特,可以表示的范围是0到65535,由于单位表示1B,那么最大就是65535字节。
  • 实际应用中并不会达到这个上限,因为长度过大就需要对其进行分片,用来满足数据链路层的一个MTU最大数据传输单元的要求。

对于标识、标志、片偏移在学习分片部分章节理解

生存时间(TTL):占8位,IP分组的保质期。经过一个路由器-1,变成0后则丢弃。

  • 丢弃的主要目的是为了防止无法交付的数据报无限制的在网络中兜圈。

协议:占8位,表示数据部分的协议(对应运输层传下来的报文段)。

  • 与之前的版本要有所区分。

image-20230804001230338

  • 需要记住的是TCP与UDP,巧记方法:对于TCP十分可靠,那么就是十分6,此时就使用6这个字段。对于UDP是不可靠连接的,此时就很容易遗弃掉,也就是17。

首部检验和:占16位,只检验首部,而不检验数据部分。

  • 首部检验指的是检验首部的这样一个字段。
  • **为什么用和?**在检验首部使用的一个方法就是用二进制的求和。
  • **使用这个首部检验和的目的?**主 要是因为在数据传输过程中,数据棒没经过一个路由器都需要重新计算下首部检验和,因为一些字段,如生存时间标志,还有偏移这些字段可能会发生变化,此时就需要通过检验和来检验在发生变化之后数据报有没有出错,若是出错就把这个数据报丢弃掉,若是没错就可以继续传输。

源地址、目的地址:32位表示。

可选字段(长度可变):占0-40B,用来支持排错、测量以及安全等措施。

填充:全0,把首部补成4B的整数倍。与之前的首部长度以4B为单位相呼应。


3.1.3、IP数据报分片

3.1.3.1、认识最大传输单元MTU

最大传输单元MTU:链路层上每一个帧都有一个封装数据的上限,这个上限大小就是MTU。对于特殊以太网来说,以太网的MTU是1500字节。

image-20230804112017514

若是所传输的数据报长度超过某链路的MTU时怎么解决?

  • 可以采用分片,也就是将数据报来进行分组,主要要根据数据报是否支持分片来决定能否去完成分片。
  • 若是不分片,那么IP分组无法向下传递,此时就会返回一个ICMP的差错报文。

3.1.3.2、IP数据报首部中的分片字段(标识、标志、片偏移)

对于分片方法要结合IP数据报中的标识、标志、片偏移来确定

image-20230804112252556

标识:占16位,用于来表示与原来数据报保持一致的同一标识。

  • 例如原先的标识为62323,那么此时进行分片,那么分片的数据标识依旧是62323,主要目的是为了之后多个同一组的分片发送到了接收端时能够进行组合成完成的数据报。

标志:占3位,其中第1位用来最高位保留不用,只有后2位才有用,此时三个位举例为x _ _。

  • 中间位(x后面的这一位):DF(Don't Fragment),表示是否进行分片。
    • DF = 1:禁止分片。
    • DF = 0:允许分片。
  • 最低位(x后面的第2位):MF(More Fragment),表示后面是否有分片。实际只有在DF = 0的时候这个第三位才有效。
    • MF = 1:表示当前这个分片后还有分片。
    • MF = 0:代表当前这块分片已经是最后一片了,之后没有分片。

片偏移:占16位,较长分组分片后,当前这片分片在数据报分组中的相对位置,8B为单位

  • 那么可以得知除了最后一个分片,每个分片的长度一定都是8字节的整数倍。也有可能最后一个分片也是或者不是。

3.1.3.3、IP数据报分片例题

描述:我们有一个数据报首部、数据部分如下图,需要分片为长度不超过1420的数据报片

image-20230804115511730

解析

可以看到首部是固定20B的,可变长度在这里并没有我们也就忽略,由于数据报片是3800B,对于是否能够分片实际要看首部中DF=0,这里我们就直接默认可以分片。

分片最大长度为1420B,首部20B,那么数据部分就是1400B。

  • 这里分片的数据部分长度为1400B原因:对于数据部分进行分片的都需要加上首部20B。

此时可以将3800拆分为三块数据部分分别是:1400、1400、1000。

image-20230804124044010

接着我们就来计算每个分片的偏移量,如何计算和定位呢?

  • 数据部分的偏移量是针对于原来报文的数据部分来进行对应的,从0开始。
  • 那么第一片的数据部分就是:0-1399;第二片的数据部分就是:1400-2799;第三片就是2800-3799。

我们的每一偏移量就根据当前数据部分的起始位置来确定,又由于偏移量是8B单位,所以我们需要将起始位置除以8B:

  • 示例:第二片初始位置是1400B,那么1400B / 8B = 175,同样第三片也是如此 2800B/8B = 370B。

最终我们分出来的三片实际的首部对于分片的字段值如下:

image-20230804124528839


3.1.3.4、IP数据报格式的单位小结

总长度单位是1B。

片偏移单位是8B。

首部长度单位是4B。

image-20230804124627023

巧记:一种 八片 首饰

image-20230804124717831


3.2、IPV4地址

3.2.1、认识IP地址

IP地址:给每一个主机的接口以及路由器的接口赋予一个标识符为全球唯一化标识符。全世界唯一的32位/4字节的标识符,标识路由器主机的接口。

image-20230804132511808

IP地址组合:由网络号、主机号组成。

  • 网络号用于确定在哪个区域;主机号用语确定在这个区域中的哪一个主机。

写法:采用点分十进制写法方式,如下:

image-20230804133005164

3.2.2、互联网中的IP地址(识别多少个网段)

如下图通过不同层的物理设备来对网路进行了一个划分,总共有6个网络

image-20230804133349980

首先第一个网络:LAN1,可以看到是通过使用一个路由器来进行划分开的,此时左边的两台电脑都在一个网段上,对于这个LAN1的网段则是222.1.3.0:

image-20230804133452880

接着是第二个网络:LAN2,同样也是通过使用路由器来划分开的,其网段为222.1.1.0,如下图所示:

image-20230804133608719

第三个网络:LAN3,同样也是通过一个路由器来进行划分出来的,注意在这个网络里使用到了网桥,对于网桥是数据链路层的物理设备,仅仅只能够隔离冲突域,不能够隔离广播域,所以对于网桥的左右两边都是属于一个网段当中的,网段是222.1.2.0,如下图所示:

image-20230804133736122

第4-6个网络则是中间的三个区域,通过路由器来进行划分开来的,是一种特殊的网络,称为无编号网络,或者说是无名网络。

  • 之所以叫网络,是因为这个网络中有IP地址,但是这样的一个网络是由一段连线来构成的,其中并没有电脑主机。

image-20230804133818048


3.2.3、分类的IP地址

分为A、B、C、D、E类。

划分多个类的原因:各种网络的差异比较大,不分网络可能会有很多的主机,但是有些网络上的主机比较少,那么将这个IP地址分为多个类那么就能够更好的满足不同用户的一个要求。

image-20230804134150818

网络类别、最大可用网络数、最大主机数如下

image-20230804141115730

**A类中的最大可用网络数为什么-2?**一个要删减掉全0的情况,还有一个就是环回地址127。


3.2.4、特殊的IP地址与私有地址

特殊的IP地址

特殊的IP地址:实际当中不能使用或者说比较特殊的

image-20230804135731239

网络号全0的表示在本网范围的主机。【源地址可以,不能够作为目标地址】

全1、全1:可以对本网络进行一个广播。【源地址不可以,目标地址可以】

  • 本网广播地址:指的是对当前自己这个网络进行广播。
  • 路由器不转发:由于路由器是隔离广播域的,当发送的一个广播分组会经过路由器但是不会被转发出去。

特定值,全0:用来表示一个网络。【源地址、目的地址都不行】

特定值,全1:可以针对指定网络上的所有主机进行广播。【源地址不可以,目的地址可以】

127、任何数:用于本地软件还回测试,若是主机发送一个数据报,其目的地址写的是127.0.0.1,那么这个数据报是永远不会进入到网络当中的,永远不会离开主机。【源地址可以,目标地址可以】

  • 主要用途:用来软件测试网络层的功能有没有问题,通过发送数据包的方式看看能不能发送并且能够正常接收,同样还可以测试自己的设备,自己的栈点是否可以正常的发送与接收数据。

私有IP地址

私有IP地址

这个主要是用于内部网络使用,路由器是不认、无效的。外界无法对这类地址进行访问,那么这类地址如何访问外界的网络呢?

  • 这就涉及到了NAT技术。

image-20230804140007835


3.2.5、网络地址转换NAT技术(包含原理、案例)

网络地址转换NAT(Network Address Translation):在专用网络连接到因特网的路由器上安装NAT软件,安装了NAT软件的路由器叫做NAT路由器,至少有一个有效的外部全球IP地址。

原理:所有使用本地地址的这个主机在和外界通信的时候,都需要经历一个NAT路由器的一个地址转换,这就就可以实现和外部主机进行通信。

  • 本质:同样也是需要一个公网IP,在NAT路由器中维护了一个NAT转换路由表,实际在192网段中的主机IP地址和主机号为192.68.0.3:30000端口,此时映射为 172.38.1.5:40001这样的一条记录,当我发送的数据报经过NAT路由器的时候来进行地址转换为公网的IP地址,那么就能够实现上网,目标服务器也能够成功响应给用户。

下面是一个内部专用网络与外部网的一个案例

image-20230804142614005

**如何内部网络和外部的213.18.24来进行通信呢?**直接使用我们主机封装的一个IP数据报,其中包含了192的地址和端口发送到目标主机,那么此时目标服务器是不能够知道具体是响应回哪里的。

此时我们就需要使用NAT转换,首先在NAT路由器上安装NAT软件,并且路由器至少有一个有效的外部全球IP地址。

image-20230804142846616

那么重新来发送一个数据报,此时我们主机192.168.0.3发送一个数据包给213.18.2.4服务器,此时构建出一个数据报其中IP地址以及端口号为192.168.0.3:30000,此时在经过NAT路由器时,生成一个对应这个192.168.0.3:30000映射的公网IP地址和端口号,将新的这个公网IP地址和端口转换到数据报之后发送出去,那么此时两个公网,那么来回都能够找到对方的主机,当服务器响应数据时,同样会经过NAT路由器来完成一个地址的转换


3.2.6、子网划分和子网掩码

3.2.6.1、分类IP地址的弱点

1、IP地址空间的利用率有时很低

  • 例如申请一个B类IP地址,此时主机数并没有很多,仅仅只是觉得未来会壮大,此时就造成了一个资源浪费,让IP地址空间的资源过早的被使用完毕。

2、两级IP地址不够灵活

  • 例如:有一个单位,可能需要再一个新的地点马上开通一个新的网络,但是在申请一个新的IP地址之前呢,要跟这个ISP也就是因特网服务提供商来申请一系列的IP地址,但是操作不够灵活,是否有一种方法能够灵活地增加一单位的网络,而不用事先再去找ISP去申请一些新的网络号。

3.2.6.2、子网划分

在原本的二级IP地址中主机号来进行拆分为子网号+主机号

image-20230804150200037

说明:某单位划分子网后,对外仍然表现为一个网络,即本单位外的网络看不见本单位内子网的划分。

注意点如下

1、进行子网划分时,主机号至少要留多少位?

  • 主机号至少要留两位,若是只留下一位,那么主机号要么就是0,要么就是1,完全不能够分配作为一台主机。

2、进行子网划分,子网号能否全0、全1?

  • 要看情况,最开始的情况是不行的,随着CIDR技术的广泛应用,全0、全1也都开始被允许。

3、主机号不能够全0全1。


3.2.6.3、子网掩码

子网掩码的目的:通过相与来提取出对应的IP地址也就是网络号。

思路实现:对于IP地址究竟往哪个子网上发,通过使用子网掩码与IP地址进行相与来得到网段!

下面有确定网段以及对于网段进行划分使用子网掩码例子

首先我们看下两级IP地址提取的过程,若是我们的IP地址为145.13.3.10,此时使用255.255.0.0来与这个IP地址进行相与,此时就能够提取出这个IP地址的网络号也就是124.13.0.0:

image-20230804152705199

同样若是我们想要对单位主机进行一个划分,那么就需要使用到子网号来进行划分,同样对于这个子网号也有子网掩码用于确定在某个网段当中,若是要对于145.13.0.0中划分一个主机数量为254的子网,那么我们可以采用255.255.255.0来作为三级IP地址的子网掩码,此时通过二次划分,那么我们中145.13.0.0的一个子网段就是145.13.3.0:

image-20230804152853161


3.2.6.4、子网掩码习题

习题1:计算网络地址

题目

image-20230804153650922

解析:两个子网掩码都是141.14.64.0。

计算过程就是拿IP地址来与子网掩码进行相&即可求得相应IP地址的网络地址,分别对下面的第IP地址的与子网掩码的第三位进行计算:

Bild-20230804153856817

Kleine Schlussfolgerungen aus der Themenfindung:

1. Es wurde festgestellt, dass die von verschiedenen Subnetzmasken erhaltenen Netzwerksegmente gleich sind : Dieselbe IP-Adresse und verschiedene Subnetzmasken können dieselbe IP-Adresse erhalten.

2. Obwohl das Netzwerksegment dasselbe ist, erzielen unterschiedliche Masken unterschiedliche Effekte. Beispielsweise sind die maximale Anzahl an Hosts, die in jedem Subnetz verwendet werden können, und die Anzahl der unterteilten Subnetze unterschiedlich.


Übung 2: Sendegruppierung berechnen (Postgraduierten-Aufnahmeprüfungsfrage)

Thema :

Bild-20230804154109011

Analyse : für D

Beachten Sie, dass der Titel Sie auffordert, Broadcast-Gruppen zu senden. Hier gibt es eine kleine Grube. Der dritte Teil einiger Subnetze ist nicht 255, sondern verfügt über mehrere zusätzliche Bits. Bei Verwendung von Broadcast müssen diese zusätzlichen Bits auch auf alle gesetzt werden. 1 .

Wir verwenden zunächst die IP-Adresse 180.80.77.55 und die Subnetzmaske 255.255.252.0, um eine UND-Operation durchzuführen. Zu diesem Zeitpunkt ist das erhaltene Netzwerksegment 180.80.76.0.

Bild-20230804154444665

Wenn wir ein Broadcast-Signal senden, müssen alle Hostnummern 1 sein und die zusätzlichen 2 Bits müssen ebenfalls auf 1 gesetzt sein. Zu diesem Zeitpunkt lautet die Broadcast-Adresse: 180.80.79.255.


3.2.6.5. Weiterleitung von Paketen bei Nutzung von Subnetzen (inkl. Weiterleitungsprozess)

Wenn eine Subnetzmaske verwendet wird, muss der Routing-Tabelle ein weiteres Feld hinzugefügt werden 目的网络子网掩码.

Zu diesem Zeitpunkt ist der Inhalt der Routing-Tabelle wie folgt :

1、目的网络地址

2、目的网络子网掩码

3、下一条地址

Schauen wir uns als Nächstes den Paketweiterleitungsprozess bei der Verwendung von Subnetzen an :

1. Wenn ein Datagramm am Router ankommt, wird zunächst die Ziel-IP-Adresse extrahiert.

2. Vergleichen Sie die IP-Adresse mit der IP-Adresse in der Routing-Tabelle, um festzustellen, ob eine entsprechende Adresse vorhanden ist. Wenn eine entsprechende Adresse vorhanden ist, fahren Sie direkt gemäß dem Zeiger „Nächster Hop“ fort. Wenn keine Übereinstimmung vorhanden ist, gehen wir weiter zum nächsten Schritt.

3. Vergleichen Sie und stellen Sie fest, ob eine bestimmte Host-Route vorhanden ist : Dies bedeutet, dass es in der Routing-Tabelle eine bestimmte Zeile gibt, die mit der Zieladresse übereinstimmt. Wenn die IP-Adresse mit der spezifischen Host-Routing-IP-Adresse in der Routing-Tabelle übereinstimmt, wird sie direkt gemäß den Routing-Regeln der Routing-Tabelle weitergeleitet.

4. Vergleichen Sie die IP-Adresse mit der Subnetzmaske in der Routing-Tabelle, um festzustellen, ob eine Übereinstimmung mit dem Subnetzsegment vorliegt. Wenn ja, fahren Sie gemäß dem „nächsten Element“ fort; wenn es nicht übereinstimmt, fahren Sie mit dem nächsten Schritt fort.

5. Wenn in der Weiterleitungstabelle eine Standardroute vorhanden ist , wird das Paket an die Standardroute gesendet. Führen Sie nach Eingabe der neuen Route die gleichen Schritte wie oben aus. Wenn keine Route vorhanden ist, liegt ein Fehler bei der Weiterleitung vor Das Paket wird gemeldet.

6. Nach kontinuierlicher Standardroutenweiterleitung wird das entsprechende Netzwerksegment oder die entsprechende Hostadresse immer noch nicht gefunden. Wenn die TTL zu diesem Zeitpunkt 0 ist, wird das Paket verworfen.

  • Die Standardroute ist: 0.0.0.0/0.

Bild-20230804154711989

  • Ob der Vorgang direkt übermittelt werden soll (ich persönlich habe das Gefühl, dass er mit 4 im Video wiederholt wird): Vergleichen Sie direkt die Ziel-IP-Adresse und die Subnetzmaske. Wenn sie identisch sind, werden sie direkt an das entsprechende Subnetz weitergeleitet.
    • Der Unterschied zwischen direkter Zustellung und indirekter Zustellung: Bei der direkten Zustellung wird ein bestimmtes Netzwerksegment des aktuellen Routers durch Subnetzmaske oder Vergleich lokalisiert; bei der indirekten Zustellung muss zur Weiterleitung zum nächsten Router gesprungen werden.

3.2.7. Klassenlose Adressierung CIDR

3.2.7.1. CIDR-Adressierungsformat verstehen

CIDREs handelt sich derzeit um eine relativ verbreitete und praktische Adressierungsform.

Ursache : Adressen der Klasse B werden schnell zugewiesen und die Elemente in der Routing-Tabelle nehmen schnell zu.

Die ursprüngliche Optimierungsmethode für sekundäre IP-Adressen : Da die Verwendung sekundärer IP-Adressen unflexibel ist und die Adressnutzungsrate relativ gering ist, wird zur Aufteilung von Subnetzen die Technologie der Subnetzmaskierung verwendet.

Bild-20230804160052986

CIDR-Adressierung : Inspiriert vom Konzept des Subnetzes werden die gesamte Netzwerknummer und die Subnetznummer wieder zusammengeführt, was als Netzwerkpräfix bezeichnet wird 二级IP地址形式.

Bild-20230804160112358

这里看似与一开始的二级IP地址一样,但是在这里主机号是可变长的,可以很灵活的调整网络号的长度,自然也就很灵活的调整网络号的长度。


3.2.7.2、无分类编址CIDR的特点

特点一:消除了传统A类、B类、C类地址以及划分子网的概念

Bild-20230804161057711

CIDR记法:IP地址后加上"/",然后写上网络前缀(可以任意长度)的位数。

  • 例如:128.14.32.0/20。此时就划分好了,前20位就是子网掩码,可以直接计算出相应的网段。

特点2:融合子网地址与子网掩码,方便子网划分

CIDR将网络前缀都相同的连续的IP地址组成一个"CIDR地址块"。

例如:128.14.35.7/20,是某CIDR地址块中的一个地址。其表示网络前缀为20。

下面是这个网络的二进制、最小主机地址以及最大主机地址

Bild-20230804161412575

地址块:128.14.35.7/20。也称为"/20地址块"

地址掩码(子网掩码):11111111 111111111 111110000 00000000。

  • 实际就是前20个为1,后12个为0。

3.2.7.3、无分类编址CIDR小例题

题目:给出CIDR地址块 192.199.170.82/27的网络号主机号、地址块的最小/最大地址、地址块是多少、所在的地址块子网掩码是多少。

解析

(1)网络号主机号:网络号27位,主机号5位。

(2)地址块的最小地址、最大地址

11100000

01010010

进行相&,得到01000000。

最小地址: 192.199.170.64。

  • 最后8位为:01000000。

最大地址: 192.199.170.95。

  • 最后8位为:01011111。

(3)地址块是多少: 192.199.170.82/27

(4)所在的地址块子网掩码:11111111 11111111 11111111 11100000。

  • 27个1,5个0。

3.2.7.4、CIDR重要的两个应用:构成超网、最长前缀匹配

应用一:构成超网
认识构成超网

构成超网(路由聚合):将多个子网聚合成一个较大的子网。

方法:将网络前缀缩短(所有网络地址取交集)。

案例描述:在实际应用当中采用CIDR可能会出现路由网段掩码记录,那么我们可以来进行将多个网络对应接口来取交集构成单个网络前缀,如下在R2路由器中有两个网络。

Bild-20230804164639144

对于网络1、网络2的IP地址如下:

网络1:206.1.00000000.00000000
网络2:206.1.10000000.00000000

我们取前缀相同的为止,上面的情况则是16位:

Bild-20230804165017408

此时就能够将两个网络构成超网:206.1.0.0

效果如下图所示

Bild-20230804165121918

结论:划分子网是少—>多,构成超网是多—>少。


构成超网计算题

题目

Bild-20230804165954429

解析:选择C

首先来列举出所有的IP地址,找到最长的前缀,将这个最长前缀作为掩码,完成聚合合并:

Bild-20230804165939959


应用二:最长前缀匹配
认识最长前缀匹配

最长前缀匹配:使用CIDR时,查找路由表可能会得到多个匹配结果(根网络掩码按位相与),应当选择具有最长网络前缀的路由

  • 简单说:就是根据掩码匹配到多个时,根据相对应网段的掩码最长来选择。

示例:路由器有三个网段,此时我们的目的地址为206.71.130这个ip地址,此时如何去根据最长前缀匹配?

Bild-20230804170214675

解析:选择计算机系。

Führen Sie & basierend auf der Ziel-IP-Adresse und den Subnetzmasken mehrerer Netzwerksegmente durch, um herauszufinden, ob die IP-Adresse des Netzwerksegments mit der entsprechenden gegebenen identisch ist. Passen Sie alle gleichen Netzwerksegmente an. Wenn es mehrere gibt, wählen Sie die Maske aus. am längsten.

Bild-20230804171218575

Zwei Bedingungen: ① IP-Adresse und Maske passen erfolgreich zusammen. ② Mehrere Übereinstimmungen sind erfolgreich. Gemäß der Maske gilt: Je länger das Präfix und je kleiner der Adressblock, desto kleiner wird zuerst der Adressblock erfüllt.


Übungsfragen zum längsten Präfix-Matching

Thema :

Bild-20230804171432485

  • Unter diesen stellt 0.0.0.0/0 die Standardroute dar. Wenn wir keine anderen Routen finden können, führen wir eine Router-Weiterleitung durch, d. h. wir suchen nach dem nächsten Router, der diese Standardroute verwendet.

Analyse : In ähnlicher Weise wird die Maske jeder Frage mit der Ziel-IP-Adresse UND-verknüpft und schließlich die passende IP-Adresse erhalten. Es wird das Präfix (Maske) ausgewählt, das am längsten ist.

Bild-20230804172226507


3.3. Protokoll der Netzwerkschicht

3.3.1. ARP-Protokoll

3.3.1.1. Verstehen Sie das ARP-Protokoll und den Nutzungsprozess (einschließlich 4 Situationen)

Der Grund für die Verwendung des ARP-Protokolls : Da bei der Übertragung von Datenrahmen auf der Verbindung des tatsächlichen Netzwerks letztendlich die MAC-Adresse verwendet werden muss, kann für die Netzwerkschicht nur die IP-Adresse zur vollständigen Adressierung verwendet werden.

  • Im LAN kann nur die MAC-Adresse verstanden werden, daher wird die MAC-Adresse benötigt.
  • Wenn die MAC-Adresse während der Übertragung nicht gefunden wird, müssen Sie die MAC-Adresse über ARP ermitteln.

ARP表: Jeder Host und Router verfügt über einen ARP-Cache zum Speichern der Zuordnung zwischen IP-Adressen und MAC-Adressen.

Verwendungsprozess des ARP-Protokolls :

1. Überprüfen Sie den lokalen ARP-Cache. Wenn ein entsprechender Eintrag vorhanden ist, schreiben Sie ihn in den MAC-Frame. Wenn nicht, stellen Sie die Ziel-MAC-Adresse auf die Frame-Kapselung von FF-FF-FF-FF-FF-FF ein, um sie zu senden und zu initiieren ARP. Gruppierung anfordern.

2. Zu diesem Zeitpunkt können alle Hosts im aktuellen LAN die Anfrage empfangen. Nach Erhalt der Anfrage (dem IP-Adresseintrag in der ARP-Tabelle des entsprechenden Hosts) zeichnet der Zielhost zunächst die MAC-Adresse des Quellhosts in seiner eigenen ARP-Cache-Tabelle auf und sendet dann ein ARP-Antwortpaket per Unicast an den Quellhost.

3. Nach dem Empfang schreibt der Quellhost die Zuordnung in den ARP-Cache (aktualisiert alle 10–20 Minuten) und schreibt sie gleichzeitig in den MAC-Frame.

Bild-20230804201437537

4 typische Situationen des ARP-Protokolls :

1. Host A sendet an Host B in diesem Netzwerk: Verwenden Sie ARP, um die Hardwareadresse von Host B zu ermitteln.

2. Host A sendet es an Host B in einem anderen Netzwerk: Verwenden Sie ARP, um die Hardware-Adresse eines Routers (Gateways) in diesem Netzwerk zu finden.

3. Der Router sendet es an Host A in diesem Netzwerk: Verwenden Sie ARP, um die Hardware-Adresse von Host A zu finden.

4. Der Router sendet es an Host B in einem anderen Netzwerk: Verwenden Sie ARP, um die Hardware-Adresse eines Routers in diesem Netzwerk zu finden.


3.3.1.2. Der Prozess des Sendens von Daten (typischer Fall 1, unter Berücksichtigung der beiden Situationen, in denen die Maschine über ARP-Datensätze verfügt und nicht)

Zuerst sehen Sie, dass wir eine Linie mit Hubs, Switches, Routern und Hosts haben. Unser Ziel ist es, ein PDF von Host 1 an Host 3 zu senden:

Bild-20230804201547461

Die Anwendungsschicht ist ein PDF-Dokument. Da die übertragenen Dokumentdaten zu groß sind, ist beim Eintritt in die Transportschicht eine Nachrichtensegmentierung erforderlich.

Dann nehmen wir eines der Segmente zur Demonstration als Beispiel:

In der Netzwerkschicht fügen wir die Quelladresse und die Zieladresse zum entsprechenden Segment hinzu.

  • Tatsächlich wird diese Zieladresse häufig über ein DNS-Protokoll auf Anwendungsebene erhalten.

Geben Sie dann die Datenverbindungsschicht ein. Zu diesem Zeitpunkt müssen Sie die MAC-Adresse der Quelladresse und die MAC-Adresse des Zielhosts hinzufügen. Zu diesem Zeitpunkt haben wir nur die MAC-Adresse des Quellhosts. **Wie ​Erhalten wir die MAC-Adresse des Ziels? **Ohne diese Ziel-MAC-Adresse können wir letztendlich keine MAC-Frames im LAN übertragen, um die Datenübertragung abzuschließen.

Fall 1 : Wenn in der ARP-Tabelle der Maschine Nr. 1 eine Adresszuordnung vorhanden ist, die der IP entspricht , weil dies zufällig der Fall ist, erhalten wir zu diesem Zeitpunkt direkt die MAC-Adresse der Zieladresse und schreiben sie dann in die MAC-Rahmen.

  • Einige Gründe dafür sind, dass auf die IP-Adresse zuvor zugegriffen werden muss und diese über eine ARP-Anfrage erhalten wurde, damit sie in der lokalen ARP-Tabelle gespeichert werden kann.

Bild-20230804203508761

Bild-20230804202135551

Fall 2 : Wenn die aktuelle ARP-Tabelle von Maschine Nr. 1 nicht über die MAC-Adresse der IP-Adresse verfügt , wird zu diesem Zeitpunkt eine Broadcast-ARP-Anforderungsgruppe ausgeführt.

Bild-20230804202440965

Zu diesem Zeitpunkt wird das Broadcast-ARP-Anforderungspaket von jedem Port des Switches weitergeleitet. Zu diesem Zeitpunkt befindet sich Host 3 zufällig im selben Netzwerksegment. Host 3 speichert zunächst die Quelladresse und die Quell-MAC-Adresse im Anforderungspaket . In seiner eigenen ARP-Tabelle antwortet es dann mit einem Unicast-ARP-entsprechenden Paket, das IP3 und seine MAC-Adresse ist.

Bild-20230804203242226

Zu diesem Zeitpunkt empfängt Host 1 das ARP-Antwortpaket, speichert die MAC-Adresse und die IP-Adresse von Host 3 in seiner eigenen ARP-Tabelle und schreibt sie dann in den MAC-Frame. Schließlich werden die Daten am physischen Ort in einen Bitstrom umgewandelt Schicht oder Die Form des Signals wird über die Verbindung übertragen.

Bild-20230804203447636


3.3.1.3. Prozess der Datenübermittlung (Typischer Fall 2)

Anforderungen : Das aktuelle Ziel besteht darin, PDF von Host 1 an Host 5 zu senden:

Bild-20230804203550143

Schneller Vorlauf hier direkt zur Datenverbindungsschicht. Zu diesem Zeitpunkt muss die MAC-Adresse des Zielhosts 5 in den MAC-Frame eingefüllt werden, da die ARP-Tabelle im aktuellen Host 1 keine MAC-Adresse hat, die der IP-Adresse entspricht :

Bild-20230804203730613

Zu diesem Zeitpunkt wird ein Broadcast-ARP-Anforderungspaket gesendet. Da die Ziel-MAC-Adresse nicht bekannt ist, wird die Ziel-MAC-Adresse auf die Rahmenkapselung FF-FF-FF-FF-FF-FF eingestellt, um die ARP-Anfrage zu senden und zu initiieren . Gruppierung :

Bild-20230804203829710

Da es im aktuellen LAN keinen Host 5 gibt, antwortet nur der Routing-Router auf diese Anfrage. Zu diesem Zeitpunkt führt er ein Unicast aus und sendet ein ARP-Antwortpaket zurück. Die MAC-Adresse hier ist die MAC-Adresse des Routers :

Bild-20230804204020079

Zu diesem Zeitpunkt wird die MAC-Adresse des eingehenden Routers in den MAC-Frame eingefüllt und an den IP6-Standort des Gateways gesendet. Anschließend werden die physische Schicht, die Datenverbindungsschicht und die Netzwerkschicht entkapselt. Da es sich um ein neues Netzwerk handelt, ist dies der Fall Die MAC-Adresse muss geändert werden. Zu diesem Zeitpunkt ändert sich die aktuelle Quelladresse MAC in MAC7 und die Ziel-MAC-Adresse ändert sich in MAC8.

  • Derzeit handelt es sich um eine Punkt-zu-Punkt-Kommunikation, und das PPP-Protokoll wird verwendet. Dann sollte die Ziel-MAC-Adresse nur mit Einsen ausgefüllt werden. Da der aktuelle Host 1 -> Host 5 Ende-zu-Ende ist, ist der MAC Die Adresse des Routers sollte zu diesem Zeitpunkt ausgefüllt werden.

Bild-20230804204553713

In der nächsten Stufe wird die Quell-MAC-Adresse zu MAC9 und die Ziel-MAC-Adresse zu MAC5. Dieser MAC5 initiiert auch eine ARP-Anfrage über den Router auf der linken Seite des MAC9-Netzwerksegments . Zu diesem Zeitpunkt befindet sich aktuell Host 5 Netzwerksegment. Zu diesem Zeitpunkt wird das ARP-Antwortpaket zurückgegeben und die MAC-Adresse von Host 5 erhalten :

Bild-20230804204801208

Zu diesem Zeitpunkt ist auch die MAC5-Adresse des Ziels verfügbar, sodass sie über die MAC5-Adresse im LAN an Host 5 gesendet werden kann.


3.3.1.4、小结

ARP协议实际上是处于链路层和网络层中间的协议,其结合了IP地址与MAC地址,所以ARP协议在网络层中是这样画的:

Bild-20230804193836381


3.3.2、DHCP协议(应用层协议,仅仅只是给网络层通信提供基础)

3.3.2.1、主机如何获取到IP地址呢?(静态、动态配置)

**在网络层中学习DHCP原因?**是因为它为网络层的通信提供了一个基础。

主机获取IP地址主要包含两种方式:静态配置、动态分配。

  • 静态配置:提前固定好IP地址配置。
  • 动态配置:通过借助DHCP服务器来完成自动分配的过程。

Bild-20230804211009537


3.3.2.2、认识DHCP以及客户端服务器之间的交换过程

DHCP:动态主机配置协议DHCP是应用层协议,使用客户/服务器方式,客户端与服务器通过广播方式进行交互,基于UDP传输

DHCP提供功能:提供即插即用联网的机制,主机可以从服务器动态获取IP地址、子网掩码、默认网关、DNS服务器名称与IP地址,允许地址重用,支持移动用户加入网络,支持在用地址续租

  • 地址重用:当一台主机进入到这个局域网当中,DHCP服务器就给它分配一个IP地址,等主机离开的时候,此时又有新的主机来询问获取IP地址,此时就可以将刚刚主机分配的IP地址给它。
  • 地址续租:具有时间性质的,称为租用期

Bild-20230804212039448

DHCP服务器和DHCP客户端的交换过程如下

1、**主机广播"DUCP发现"**报文:寻找网络中的DHCP服务器。

  • 通俗:客户机问"有没有DHCP服务器呀"。

2、DHCP服务器收到"DUCP发现"消息后,向网络中广播"DHCP提供"报文:包括提供DHCP客户机的IP地址和相关配置信息。

  • 通俗:服务器说"有,有,有",我现在给你分配和发给你。

3、主机收到"DHCP提供"消息,如果接收到DHCP服务器提供的广播参数,那么进行**"广播DHCP请求"报文**:主机向服务器请求提供IP地址。

  • 通俗:客户机问我现在用你给我的IP地址了啊。
  • **为什么彼此之间已经知晓IP地址了,还需要主机广播一个DHCP的请求报文呢?**原因是采用这种广播的请求报文,可以告知其他的DHCP服务器,现在可以收回刚才分配到的地址了,我已经有了。

4、**DHCP服务器广播"DHCP确认"**报文:将IP地址分配给DHCP客户机。

  • 通俗:服务器说用吧。

重点

1、客户机与DHCP服务器之间都是通过广播形式。原因是刚开始客户端机并没有IP地址。

2、DHCP协议使用的是客户/服务器方式,在交互的时候发送的都是广播报文,并且是一个动态分配IP地址的过程,是基于UDP而不是TCP的。


3.3.3、ICMP协议

3.3.3.1、处于TCP/IP协议站的位置

TCP/IP协议栈

Bild-20230805001211041

中间部分的ICMP以及IGMP协议处于网络层和传输层的协议,ICMP协议是起了一个桥梁的作用,作用就是为了更加有效的转发IP数据报和提高交付成功的机会。


3.3.3.2、网际控制报文协议ICMP提供的功能和报文结构

ICMP协议支持主机或路由器的功能

1、差错(或异常)报告。

  • 差错报告:对于一些分组出错被丢弃的情况来给源主机发送一个ICMP差错报文。

2、网络探询。

Für die beiden oben genannten Implementierungsfunktionen werden sie schließlich gesendet 特定ICMP报文.

Die Struktur der ICMP-Nachricht :

  • 类型: Bezieht sich auf die Art des Fehlerberichts, zu dem die tatsächlich gesendete ICMP-Nachricht gehört.
  • 代码: Zur weiteren Unterscheidung zwischen verschiedenen Situationen innerhalb eines bestimmten Typs.
  • 检验和: Wird zum Überprüfen von ICMP-Nachrichten verwendet.
    • Für die Prüfsumme des Headers im IP-Datagramm wird nur die Prüfsumme des Headers und nicht der Datenteil des Datagramms überprüft. Daher kann nicht garantiert werden, dass der Datenteil korrekt ist, indem man sich nur auf den Header im IP verlässt Datagramm.

Bild-20230805001429190


3.3.3.3. Zwei ICMP-Nachrichtentypen

Es gibt zwei Arten von ICMP-Nachrichten : ICMP-Fehlermeldungen und ICMP-Abfragenachrichten.

Typ 1: ICMP-Fehlermeldung
5 Arten von ICMP-Fehlermeldungen

ICMP-Fehlermeldungen (5 Typen) :

1. Das Ziel ist nicht erreichbar : Wenn der Router oder Host das Datagramm nicht zustellen kann, sendet er die Nachricht „Ziel nicht erreichbar“ an den Quellpunkt. 【Ablieferung nicht möglich】

2. Quellenunterdrückung : Wenn ein Router oder Host Datagramme aufgrund einer Überlastung verwirft, wird eine Unterdrückungsnachricht an die Quelle gesendet, um die Quelle darüber zu informieren, dass die Senderate von Datagrammen verlangsamt werden sollte. [Datenverlust aufgrund von Überlastung]

  • Die Quellenunterdrückung ist jetzt deaktiviert und wird nicht verwendet.

3. Zeitüberschreitung : Wenn der Router ein Datagramm mit TTL = 0 empfängt, verwirft er nicht nur das Datagramm, sondern sendet auch eine Zeitüberschreitungsnachricht an den Quellpunkt. Wenn das Ziel kein Datagramm innerhalb der vorgegebenen Zeit empfangen kann, wenn alle Datagramme vorhanden sind Wenn Fragmente empfangen wurden, werden die empfangenen Datagrammfragmente verworfen und die Nachricht über die Zeitüberschreitung wird an den Quellpunkt gesendet. 【TTL = 0】

  • Zusammenfassung: ①TTL=0 beim Eintreffen am Router. ②Der Endpunkt kann nicht alle vollständigen Nachrichten eines Datagramms innerhalb der angegebenen Zeit empfangen.

4. Parameterproblem : Wenn der Wert einiger Felder im Header des vom Router oder Zielhost empfangenen Datagramms falsch ist, sollte das Datagramm verworfen und eine Parameterproblemmeldung an den Quellpunkt gesendet werden. [Es gibt ein Problem mit dem ersten Feld]

5. Route ändern (umleiten) : Der Router sendet die Änderungsroutennachricht an den Host, um dem Host mitzuteilen, dass das Datagramm das nächste Mal an einen anderen Router gesendet werden soll. [Verfügbar durch besseres Routing]


Nachrichtendatenfelder für ICMP-Fehlerberichte

Bild-20230805002052675

Alle Nachrichtendatenfelder des ICMP-Fehlerberichts sind gleich .

ICMP besteht aus :

  1. Nehmen Sie den [① IP-Datagramm-Header und die letzten 8 Bytes] im IP-Datagramm als Datenfeld der ICMP-Nachricht heraus und fügen Sie dann [② die ersten 8 Bytes von ICMP] hinzu.
  2. Schließlich kann durch Hinzufügen von [③IP-Datagramm-Header] ein vollständiges Datagramm erstellt werden.

Die ICMP-Fehlerberichtsnachricht ist ein IP-Datagramm, das den Datenteil der Übertragungseinheit der Netzwerkschicht-Transportschicht darstellt.


Situationen, in denen ICMP-Fehlermeldungen nicht gesendet werden sollten (vier Situationen)

1. Senden Sie keine ICMP-Fehlerberichtsnachrichten mehr für ICMP-Fehlerberichtsnachrichten.

  • Wenn beim Senden einer ICMP-Nachricht ein Fehler auftritt, wird keine separate ICMP-Nachricht gesendet.

2. Senden Sie keine ICMP-Fehlerberichtsmeldungen für alle nachfolgenden Datagrammfragmente des ersten fragmentierten Datagrammfragments.

3. Für Datagramme mit Multicast-Adressen werden keine ICMP-Fehlerberichtsmeldungen gesendet .

  • Multicast erfolgt von einem Punkt zu vielen Punkten und sollte vom Broadcast unterschieden werden. Broadcast erfolgt von einem Punkt zu allen Knoten. Multicast ist selektiv und muss nicht an alle Knoten gesendet werden. Es muss nur an mehrere Knoten gesendet werden, unabhängig vom Knoten .

4. Senden Sie keine ICMP-Fehlerberichtsmeldungen für Datagramme mit speziellen Adressen (z. B. 127.0.0.0 oder 0.0.0.0).


Typ 2: ICMP-Abfragenachricht
Vier Arten von ICMP-Abfragenachrichten

1. Echo-Anforderungs- und Antwortnachrichten: Der Host oder Router sendet eine Anfrage an einen bestimmten Zielhost . Der Host, der diese Nachricht empfängt, muss eine ICMP-Echo-Antwortnachricht an den Quellhost oder Router senden.

  • Die beiden Nachrichten werden zusammen verwendet.
  • Hauptzweck: Testen Sie, ob die Zielstation erreichbar ist, und verstehen Sie den zugehörigen Status.
  • Praktische Anwendung: PING.

2. Zeitstempel-Anforderungs- und Antwortnachrichten : Bitten Sie einen Host oder Router, mit dem aktuellen Datum und der aktuellen Uhrzeit zu antworten, die für die Uhrsynchronisierung und Zeitmessung verwendet werden.

3、掩码地址请求和回答报文

4、路由器询问和通告报文

对于3、4目前不再使用了。


ICMP实际应用(PING、Traceroute)

PING:测试两个主机之间的连通性,使用了ICMP回送请求和回答报文

Traceroute:跟踪一个分组从源点到终点的路径,使用了ICMP时间超过差错报告报文

  • 工作流程:发送一连串的数据报,第一个发送的数据报TTL时间为1,第二个发送数据报TTL为2,接着依次增加,这种方式主要是利用了当TTL = 0的时候,路由器会将它丢弃,接着返回一个差错时间超过的差错报告报文,此时就可以通过差错报告报文测算出分组从原点到路径之间的距离。

两种应用的报文类型不同:PING是询问报文,Traceroute是差错报告报文。


四、IPv6

4.1、IPv6的诞生原因以及优点

随时如今互联网连通,人人都能够上互联网,此时出现了IPV4地址不够用的情况。

解决32位IPV4地址划分的三个策略

  • 策略1:CIDR无类别编址,让IP地址的分配更加合理。
  • 策略2:NAT,实现私有地址到公网地址转换,来节省IP地址
  • 策略3:使用IPv6协议,大大增加IP地址的数量。

说明:前两个策略仅仅只是优化IP地址的分配,合理利用,对于最后一个策略才是真正意义上的扩充IP地址的数量。

使用IPv6同样包含如下的几个优点

1、改进首部格式,让路由器处理效率更高。

  • 原先IPV4中的首部格式除了固定部分,还有一定的可变部分,对于固定部分的20B字段太多,需要进行改善,来加快路由器的一个处理效率。

2、快速处理/转发数据报。

3、支持QoS(服务质量):提供多种服务。

  • QoS(Quality of Service,服务质量)指定一个网络能够利用各种基础技术,为指定的网络通信提供更好的服务能力,是网络的一种安全机制。用来解决网络延迟和阻塞等问题的一种技术。

4.2、IPv6数据报格式(首部、有效载荷)

IPv6数据报格式

Bild-20230805162231783

  • 基本首部:固定40B。
  • **IPV4中的可变部分呢?**实际就是将原本IPV4中的可变部分移动到了有效载荷当中。若是需要有一些新的要求,数据报增加某些功能,此时就可以放在扩展首部当中来实现。

有效载荷的字段格式如下

image-20230805163413202

版本:4位,指明协议版本,总是6。

优先级:8位,区分数据报的类别和优先级。

流标签:"流"是互联网上从特定源点到特定终点的一系列数据报。所有属于同一个流的数据报都具有同样的流标签。

  • 对于IPV4中的标识位,IPV4中的标识位,是对于这个数据包进行分片之后每一个数据包它的所有分片都具有同一个标识位,在这里的流标签则是指的是这一个流当中的每一个数据报,都具有相同的流标签

有效载荷长度:指的是IPv6中有效载荷的大小(扩展首部+数据)。

下一个首部:用来标识下一个扩展首部或上层协议首部。

  • 假如说我们此时有一个数据报,这个数据报除了基本首部44字节之外,还有三个扩展首部,对于每一个首部中都会有这样的一个下一个首部指向,在基本首部中的下一个首部指向扩展首部1的,接着扩展首部1中的下一个首部指向的是扩展首部2,接着扩展首部2的下一个首部指向的是扩展首部3,最后扩展首部3中的下一个首部指向的则是数据部分。

跳数限制:与IPV4中的TTL一样,指的是生命周期,当TTL=0时,路由器会将这个数据报丢弃,接着返回一个ICMP差错报告报文。

源地址、目的地址: 128 Bit, nur 32 Bit in IPv4, was viele IP-Adressen erweitert.


4.3. Vergleich zwischen IPv6 und IPV4 (11 Punkte)

Vergleich zwischen IPv6 und IPV4 :

1. IPv6 erweitert die Adresse von 32 Bit (4B) auf 128 Bit (16B), einen größeren Adressraum.

2. IPv6 entfernt das IPv4- Prüfsummenfeld vollständig, um die Verarbeitungszeit jedes Hops zu verkürzen.

  • Ohne das Prüfsummenfeld ist die Router-Prüfzeit kürzer.

3. IPv6 verschiebt die optionalen Felder von IPv4 aus dem Header und wandelt sie in erweiterte Header um, die als flexible Headerformate bezeichnet werden. Router überprüfen die erweiterten Header normalerweise nicht, was die Verarbeitungseffizienz von Routern erheblich verbessert.

4. IPv6 unterstützt Plug-and-Play (dh automatische Konfiguration) und erfordert kein DHCP-Protokoll.

  • Plug-and-Play bezieht sich auf die automatische Zuweisung einer IP-Adresse. Es ist nicht erforderlich, das DHCP-Protokoll zu verwenden, um eine IP-Adresse wie IPV4 zuzuweisen.

5. Die Länge des IPv6-Headers muss ein ganzzahliges Vielfaches von 8B sein , und die Länge des IPv4-Headers muss ein ganzzahliges Vielfaches von 4B sein.

6. IPv6 kann nur am Host fragmentiert werden , während IPv4 am Router und Host fragmentiert werden kann.

  • IPv6 kann nur auf dem Host fragmentiert werden. Was passiert, wenn die maximale MTU-Anforderung an die Übertragungseinheit auf der Verbindungsschicht der Übertragung sehr gering ist , das aktuelle IPv6-Datenpaket jedoch groß ist und fragmentiert werden muss? Zu diesem Zeitpunkt muss es vom Router verworfen werden und eine Fehlermeldung zurückgeben .
  • Beachten Sie, dass es sich bei der Fehlermeldung hier um das ICMPv6-Protokoll handelt.

7. ICMPv6: Wenn für die obige Verbindungsschicht der MTU-Größenbereich < der aktuellen IVP6-Paketgröße der Übertragung sein muss, wird der Nachrichtentyp „Paket zu groß“ angehängt.

8. IPv6 unterstützt die Vorabzuweisung von Ressourcen, unterstützt Echtzeit-Videoanforderungen und stellt bestimmte Bandbreiten- und Verzögerungsanwendungen sicher.

9. IPv6 löscht das Protokollfeld und ändert es in das nächste Header-Feld.

  • 原本IPV4中协议字段指的是分组所携带的数据使用的是哪一个协议,分组所携带的数据使用的是哪个传输层协议,但是在IPv6中被取消掉了,改成了下一个首部字段

10、IPv6取消了总长度字段,改用有效载荷长度字段。

  • 为什么IPV4中有首部和总长度呢?原因是IPV4中首部中包含有固定+可变字段。
  • 对于IPv6中对于首部是固定的40B,那么就只需要表示有效载荷字段即可。

11、IPv6取消了服务类型字段。

  • 实际就是对应IPV4中的 区分服务字段。

4.4、IPv6地址表示形式

一般形式(冒号十六进制记法):8小组,一组有4个十六进制(1个十六进制4位)

image-20230805172545242

压缩形式:若是4个都是0那么直接使用一个0表示,若是像这种连续0,我们可以忽略如000A写成A就行

image-20230805172932991

特殊的一种压缩形式(零压缩):一连串连续的0可以被一对冒号取代。

image-20230805173244241

  • 注意:此时是::(两个冒号),爽冒号表示法在一个地址中仅可出现一次。

4.5、IPv6的基本地址类型(单播、多播、任播)

IPv6基本地址类型:单播、多播、任播

单播:一对一通信,可做原地址+目的地址。

image-20230805174405492

多播:一对多通信,可做目的地址。

  • 一台主机若是要跟这个多播组内的所有主机进行通信的话,就需要使用的是多播地址,需要将多播地址放入IPv6数据报的目的地址当中,就可以发给这个多播组当中的所有主机了。
    • **Der Grund, warum die IPv4-Broadcast-Adresse nicht für IPv6 verwendet wird? **Da die Multicast-Adresse eine Broadcast-Adresse enthalten kann, wird sie bei IPv4 an alle Knoten im LAN gesendet. Zu diesem Zeitpunkt kann IPv6-Multicast den Broadcast ersetzen. In IPv6 kann man sich diesen Broadcast als eine Gruppe aller Hosts vorstellen den Multicast. Senden Sie einfach Datenpakete an alle diese Hosts. (Kurz gesagt: Wenn wir den Broadcast-Effekt erzielen möchten, können wir alle Hostadressen zu dieser Zieladresse hinzufügen.)
  • Hinweis: Sie kann nur als Zieladresse, nicht als Quelladresse verwendet werden.

image-20230805174414328

任播地址: Eins-zu-eins-Kommunikation, die als Zieladresse verwendet werden kann.

  • Die Anycast-Adresse ist eine eindeutige Adresse für IPv6.
  • Erläuterung: Es bezieht sich auf eine Eins-zu-Viele-Kommunikation, bei der es sich im Wesentlichen um eine Eins-zu-Eins-Kommunikation handelt, deren Form jedoch der Kommunikation mit mehreren Hosts ähnelt. Kann nur als Zieladresse verwendet werden .
  • Wenn die im IP-Paket gekapselte Zieladresse eine Anycast-Adresse ist, wird das Paket an einen Host in der Anycast-Gruppe gesendet, bei dem es sich um den Host handelt, der dem Absender am nächsten liegt .

image-20230805174513294


4.6. Zwei Strategien für den Übergang von IPv6 zu IPv4 (Dual-Stack-Protokoll, Tunneltechnologie)

策略1:双栈协议

Beschreibung : Duale Protokollstapeltechnologie bedeutet, dass der IPv4-Protokollstapel und der IPv6-Protokollstapel gleichzeitig auf einem Gerät gestartet werden . Zu diesem Zeitpunkt kann das Gerät sowohl mit IPv4- als auch mit IPv6-Netzwerken kommunizieren.

  • Wenn es sich bei diesem Gerät um einen Router handelt, werden die IPv4-Adresse und das IPv6-Adressnetzwerk auf unterschiedlichen Schnittstellen des Routers konfiguriert.
  • Handelt es sich bei diesem Gerät um einen Computer, verfügt dieser sowohl über eine IPv4-Adresse als auch über eine IPv6-Adresse und ist in der Lage, diese beiden Protokolladressen gleichzeitig zu verarbeiten. Gleichzeitig kann er Datenpakete als IPv4 oder IPv6 versenden. .

策略2:隧道技术

Beschreibung : Eine Methode zur Datenübertragung zwischen Netzwerken unter Verwendung der Internet-Infrastruktur.

Wirkung : Die über den Tunnel übertragenen Daten (oder Nutzdaten) können Datenrahmen oder Pakete verschiedener Protokolle sein. Das Tunnelprotokoll kapselt die Datenrahmen oder Pakete anderer Protokolle neu und sendet sie dann durch den Tunnel.

若是在传输链路过程,我要传送的是IPv6数据包,而链路中部分仅仅只有IPv4路由器怎么办?

  • 解决方案:此时就使用隧道技术,将IPv6的数据包疯转到一个以IPv4为首部的数据报来进行传输,接着若是传输到IPv6那么进行解封继续使用IPv6传输。

image-20230805175846324


脑图时刻

image-20230805175958113


五、路由选择协议

5.1、认识路由选择协议

image-20230805220453196

AS:自治系统。

路由选择分为两种:内部网关协议IGP、外部网关协议EGP。

  • 内部网关协议IGP:指的是一个AS内使用的,具体的协议有RIPOSPF
    • RIP使用的是距离向量(适用于比较小的网络),OSPF使用的是链路状态(适用于比较大的网络)。
  • 外部网关协议EGP:指的是AS之间使用的,具体的协议有BGP

5.2、RIP协议(应用层协议)

5.2.1、认识RIP协议

RIP:是一种分布式的基于距离向量的路由选择协议,是因特网的协议标准,最大优点是简单。

RIP协议要求网络中的每一个路由器都维护从它自己到其他每一个目的网络的唯一最佳距离,也就是经过路由器跳数最短(路由器包含一组距离)。

距离:通常为"跳数",即从源端口到目的端口所经过的路由器个数,经过一个路由器跳数+1。特别的,从一路由器到直接连接的网络距离为1。RIP允许一条路由最多只能包含15个路由器,因此距离为16表示网络不可达。

下面是一组路由器以及多个连接的网络:可以看到与R2路由器直接连接的就是Net2,此时路由表中就包含有一条记录到达Net2网络是直连距离就是1,若是到达的目的网络为Net1,中间相连了一个路由器,那么距离就是2。

image-20230805223020197

  • 直接交付:指的是这个路由器和目的网络是直接相连的,直接相连的就可以直接交付了。
  • 间接交付:交付给下一条路由器。

举例:RIP允许一条路由最多只包含15个路由器,距离为16表示网络不可达,若是超过16也是按照16算。

  • RIP只适用于小互联网。

提出疑问:路由表如何构成?和哪些路由器交换信息?在什么时候交换信息?交换什么信息?

  • 路由表如何构成解答:通过路由器与临近路由器之间交换。

5.2.2、RIP协议和谁交换?路由器之间路由表多久交换一次?路由器之间交换什么?

问题1:RIP协议和谁交换?

答:仅和相邻路由器进行交换信息。

问题2:路由器之间路由表多久交换一次?

答:每30秒交换一次路由信息,接着路由器根据新信息更新路由表 。若超过180s没收到邻居路由器的通告,则判定邻居路由器没有了,并更新自己路由表中该邻居的距离。

问题3:路由器之间交换什么?

答:路由器之间交换的信息是自己的路由表


5.3、RIP协议交换过程

RIP协议交换过程

  1. 路由器刚刚开始工作时,路由表中仅仅只有自己直接相连接的网络距离(距离为1),接着每一个路由器也只和数目非常有限的相邻路由器交换并更新路由信息。
  2. 当经过若干次更新后,所有路由器最红都会知道到达当前的自治系统AS中任何一个网络的最短距离和下一条路由器的地址。即"收敛"。

收敛的过程示例如下,在下图中有多个相邻的路由器,每个路由器有自己的一个数:

image-20230805224518302

接着隔了30s后,路由器与路由器之间开始进行更新路由信息,例如1号路由器将自己的路由表中记录发给了2号路由器,与此同时3号路由器也将路由表发给了2号路由器,此时2号路由器中就包含了两个临近路由器的路由信息:

image-20230805224624462

此时2号路由器将自己的路由表又发给3号路由器,此时3号路由器中也就有了1号路由器的路由记录:

image-20230805224659452

随着一段时间路由器相互之间更新,很快整个自治系统重每个路由器都包含整个自治系统的网络的路由最佳记录。

此时再次提出疑问:对于路由表之间如何进行更新?每一个表项理由最短距离怎么计算?

  • 这些问题在最短距离算法中会有解释。

5.3.1、距离向量算法(实现过程)

最短距离如何得到或者说更新的?每一个表项中最短距离以及下一条怎么填入?

对于路由器之间交换信息的实际就是RIP报文

距离向量算法实现过程

1、修改相邻路由器发来的RIP报文中所有表项。

即:对地址为X的相邻路由器发来的RIP报文,修改此报文中的所有项目,把"下一跳"字段中的地址改为X,并把所有"距离"字段+1

image-20230805230003382

2、对修改后的RIP报文中的每一个项目进行下面步骤(同样针对上图X路由器更新表项到R1路由器):

(1)R1路由表中**若是没有Net3,则把该表项直接填入R1路由表(**距离+1,更新下一条的路由器为发送路由表项方)。

(2)R1路由表中若是有Net3,则查看下一条路由器地址:

  • 若是下一跳是X,那么直接用收到的项目表项替换源路由表中的项目。(更新发过来的一定是最新的最近距离)
  • 若是下一条不是X,原来距离比从X走的距离远则跟更新,否则不作处理。
  • image-20230805230542313

3. Wenn die Routing-Tabelle des benachbarten Routers aktualisiert wurde

4. Rückkehr (d. h. einmal durchlaufen und dann alle 30 Sekunden weiter aktualisieren, bis die Konvergenz erreicht ist)


Distanzvektorübungen 1

Thema :

image-20230806100330653

Analyse : R4 sendet seine Routing-Tabelle an R6. Zu diesem Zeitpunkt ändern wir zuerst den nächsten Router im Eintrag in der Routing-Tabelle auf R4, und dann beträgt der Abstand +1. Zu diesem Zeitpunkt wird die Routing-Tabelle von R4 aktualisiert. Wie folgt:

image-20230806100536678

Zu diesem Zeitpunkt versuchen wir, diese geänderte Routing-Tabelle mit der Routing-Tabelle von R6 zusammenzuführen :

① Da es in R6 kein Zielnetzwerk Net1 gibt, wird ein Datensatz direkt zur Routing-Tabelle hinzugefügt.

② Da das Zielnetzwerk und der nächste Router identisch sind, wird die neueste Entfernung 5 verwendet, um die Entfernung 4 in der ursprünglichen Routing-Tabelle zu überschreiben.

③Das Zielnetzwerk ist dasselbe, aber der nächste Router ist anders, und der neu übertragene Eintragsabstand der Routing-Tabelle beträgt 2, was kürzer ist. Zu diesem Zeitpunkt wird der ursprüngliche Pfad direkt ersetzt.

image-20230806100846117


Distanzvektorübung 2

Thema :

image-20230806100902777

Analyse : Wir zählen die kürzeste Entfernung + Verzögerungszeit von jedem Router zum angegebenen Router wie folgt auf und ermitteln dann die Antwort, indem wir den kürzesten Weg von jeder Gruppe verschiedener Router zum gleichen angegebenen Router ermitteln.

Hinweis: Damit Router C sich selbst über die Router B, D und E erreichen kann, sollten wir seine Entfernung auf 0 setzen.

image-20230806102636753


5.3.2. Nachrichtenformat des RIP-Protokolls

image-20230806102816585

Der Header + Routing-Teil wird in das UPD-Benutzerdatagramm gestopft , und dann wird der UDP-Header hinzugefügt, um es als UDP-Datagramm zu bezeichnen.

Schicht : RIP ist ein Protokoll der Anwendungsschicht , das UDP zur Datenübertragung verwendet .

Hinweis : Eine RIP-Nachricht kann bis zu 25 Routen enthalten. Wenn diese überschritten wird (bei mehr als 50 Routen muss sie in zwei Teile geteilt und gesendet werden ), muss eine andere RIP-Nachricht für die Übertragung verwendet werden.


5.3.3. Gute RIP-Nachrichten verbreiten sich schnell und schlechte Nachrichten verbreiten sich langsam (Normal- und Fehlerfälle)

Merkmale von RIP : Wenn ein Netzwerkfehler auftritt, dauert die Übertragung dieser Nachricht an alle Router relativ lange (z. B. mehrere Minuten), „langsame Konvergenz“.

Die normale Situation ist wie folgt :

image-20230806103145419

Fehlerbedingung :

Wenn zu diesem Zeitpunkt das Netzwerk 1 neben dem R1-Router ausfällt, wird die Entfernung zu Netzwerk 1 im R1-Router auf 16 gesetzt:

image-20230806103439605

image-20230806103551112

Zu diesem Zeitpunkt kann es 30 Sekunden dauern, bis die Regeln für den Datenaustausch zwischen Routern auf R2 aktualisiert werden. Der aktuelle Routing-Tabellendatensatz von R2 besagt, dass der Router-Datensatz, der Netzwerk 1 über Hop 2 erreicht, noch aktualisiert wird. Zu diesem Zeitpunkt passiert R2 innerhalb dieser 30 Sekunden liegen. Innerhalb von Sekunden wird diese Route, die Netzwerk 1 erreichen kann, an Netzwerk 2 gesendet:

  • Hinweis: R2 weiß zu diesem Zeitpunkt nicht, dass R1 fehlerhaft ist.

Zu diesem Zeitpunkt aktualisiert R1 auch die Entfernung zum Erreichen der Netzwerke 1 bis 3 (machen Sie einen Fehler, wenn sie falsch ist):

image-20230806103841449

Nachdem R1 die Aktualisierungsnachricht von R2 erhalten hat, glaubt es fälschlicherweise, dass es Netzwerk 1 über R2 erreichen kann, und aktualisiert daher seine Routing-Tabelle mit der Meldung „Der R1-Router kann Netzwerk 1 über R2 erreichen, die Entfernung beträgt 3“ und aktualisiert diese dann nach 30 Sekunden. Informationen an R2 gesendet:

image-20230806104054401

Nach dem Empfang aktualisiert R2 auch seine Routing-Tabelle auf „1,4,R1“, was darauf hinweist, dass „die Entfernung zwischen mir und Netzwerk 1 4 beträgt und der nächste Hop über R1 verläuft“.

Dann wird der Zyklus wiederholt und aktualisiert, bis die endgültige Entfernung zu Netzwerk 1 16 beträgt, was bedeutet, dass es nicht erreichbar ist:

image-20230806104226344

Kern : Wenn ein bestimmtes Netzwerk ausfällt, gelten einige Router als erreichbar, da sie nicht rechtzeitig aktualisiert werden. Zu diesem Zeitpunkt tritt ein Problem des Hin- und Heraustauschs auf, wodurch sich die endgültige Entfernung auf 16 erhöht.

Der Endeffekt : Wenn ein Router eine kürzere Route erkennt, wird diese schnell übertragen, wenn schlechte Nachrichten langsam übermittelt werden (Unerreichbarkeitssituation, Dirty-Update-Lieferung).


Mindmap-Moment

image-20230806104349623


5.4. OSPF-Protokoll (Netzwerkschichtprotokoll)

5.4.1、认识开放最短路径优先OSPF协议及特点

开放最短路径优先OSPF协议(OSPF):"开放"标明OSPF协议不是受某一家厂商控制,而是公开发表的;"最短路径优先"使用了Dijkstra提出的最短路径算法SPF

OSPF最主要的特征就是使用分布式的链路状态协议

OSPF的特点

①和谁交换?

使用泛洪法向自治系统中所有路由器发送消息,即路由器通过输出端口向所有相邻的路由器发送消息,而每一个相邻路由器又再次将信息发往其所有的相邻路由器。(广播形式

最终整个区域内所有路由器都得到了这个信息的一个副本。

②交换什么?

发送的信息就与本路由器相邻的所有路由器的链路状态(本路由器和哪些路由器相邻,以及该链路的度量/代价—费用、距离、时延、带宽等)。

表面上是在给相邻的路由器发送消息,实际全网内的路由器都可以收到,并且这里定义衡量的标准并不仅仅只是跳数,包含费用、距离、时延、带宽。

③多久交换?

只有当链路状态发生变化时,路由器才向所有路由器泛洪发送此信息。

  • RIP协议每30秒就需要交换一次。

最终,所有的路由器都能够建立一个链路状态数据库,即全网拓扑图


5.4.2、链路状态路由算法

五个重要类型分组

五个重要类型的分组

1、每个路由器发现它的邻居节点**【HELLO问候分组】,并了解邻居节点的网络地址**。

  • 两个相邻的路由器每隔10s就会发送一个问候分组,就能知道周围有哪些路由器,从而确定周围的哪些临站是可达的。

2、设置它的每个邻居的成本度量(metric)。

3、构造**【DD数据库描述分组】,向邻站给出自己的链路状态数据库当中的所有链路状态项目的摘要信息**。

  • 链路状态数据库就是一个全网的拓扑结构图,如果知道了这样一个拓扑结构图,那么这个路由器就会知道全网移动有多少个路由器以及哪些路由器是相连的,代价各自是多少。将自己所知道的信息作为摘要信息放到一个dd数据库的描述分组当中,发个邻站。

4、如果DD分组中的摘要自己都有,则邻站不做处理;如果没有的或者是更新的,则发送【LSR链路状态请求分组请求自己没有的和比自己更新的信息

5、收到临近的LSR分组后,发送【LSU链路状态更新分组】进行更新

6、更新完毕后,邻站返回一个【LSAck链路状态确认分组】进行确认


路由器链路状态发生变化场景

场景:只要有一个路由器的链路状态发生变化

1、那么此时会进行泛洪发送【LSU链路状态更新分组】进行更新。

2、更新完毕后,其他站返回一个【LSAck链路状态确认分组】进行确认。

  • 到此每一个路由器都会有一个完整的链路状态数据库(完整的全网拓扑结构图)。

3、使用Dijkstra根据自己的链路状态数据库构造到其他节点之间的最短路径。


5.4.3. OSPF-Bereiche (vier)

Ist das autonome System noch groß, kann das autonome System erneut in Regionen unterteilt werden .

image-20230806121522380

Es ist hauptsächlich in zwei Bereiche unterteilt : Hauptbereich und gewöhnlicher Bereich.

Die Kennung des Backbone-Bereichs lautet : 0.0.0.0 und wird verwendet, um andere Bereiche darunter zu verbinden.

Vier Kategorien von Routern :

  • Der erste Router: Die Router im Backbone werden aufgerufen 主干路由器, z. B. R6 und R5 im Backbone-Bereich und R3, R7 und R4 im Bild (für diese drei gibt es noch einen Namen 区域边界路由器).
  • Der zweite Routertyp: 区域边界路由器Hauptsächlich an der Kreuzung zwischen zwei Bereichen gelegen.
  • Der dritte Routertyp: 自治系统边界路由器bezieht sich auf einen Router unter den Backbone-Routern, der mit anderen autonomen Systemen AS verbunden ist.
  • Der vierte Routertyp: 区域内部路由器, unter den unterteilten Routern der unteren Schicht.

Merkmale : Durch die hierarchische Aufteilung der Bereiche nehmen die Arten der ausgetauschten Informationen zu, wodurch das OSPF-Protokoll komplexer wird.

Vorteile : Das Kommunikationsvolumen für den Austausch von Routing-Informationen innerhalb jedes Bereichs wird erheblich reduziert. Daher kann das OSPF-Protokoll in relativ großen adaptiven Systemen verwendet werden.


5.4.4. OSPF-Gruppierungssituation

Nehmen Sie den Prüfungslehrplan als Standard für ein Netzwerkschichtprotokoll .

OSPF-Pakete sind in der folgenden Abbildung dargestellt : Sie werden direkt über IP-Datagramme übertragen

image-20230806122724848


5.4.5. Weitere Funktionen von OSPF

1. Alle 30 Minuten muss der Linkstatus in der Datenbank aktualisiert werden.

2. Da der Verbindungsstatus eines Routers nur den Konnektivitätsstatus mit benachbarten Routern betrifft, steht er nicht in direktem Zusammenhang mit der Größe des gesamten Internets. Wenn das Internet sehr groß ist , ist das OSPF-Protokoll viel besser als das Distanzvektorprotokoll RIP.

3. OSPF hat nicht das Problem einer langsamen Übertragung schlechter Nachrichten und seine Konvergenzgeschwindigkeit ist sehr hoch .

Der Unterschied in der Konvergenzgeschwindigkeit:

  • RIP-Protokoll: Nach dem Austausch von Routing-Tabellen mit benachbarten Routern muss diese zunächst mit der eigenen Routing-Tabelle verglichen werden, um den kürzesten Weg zu ermitteln.
  • OSPF: Es erspart den Schritt der Überprüfung. Stattdessen werden alle empfangenen Aktualisierungen in die eigene Linkstatus-Datenbank eingefügt und dann mithilfe des Dijkstra-Algorithmus basierend auf der gesamten Linkdatenbank der kürzeste Weg berechnet. [Die schnellste Konvergenzgeschwindigkeit]

5.5. Border Gateway Protocol BGP (Application Layer Protocol)

5.5.1. Drei Bedenken bezüglich BGP

1. Mit wem tauschen?

Tauschen Sie Informationen mit benachbarten BGP-Sprechern anderer AS aus.

2. Was umtauschen?

Die ausgetauschten Netzwerkerreichbarkeitsinformationen stellen eine Reihe autonomer AS-Systeme dar, die durchlaufen werden müssen, um ein bestimmtes Netzwerk zu erreichen .

3. Wie lange dauert der Umtausch?

In Übereinstimmung mit OSPF werden die geänderten Teile aktualisiert , wenn Änderungen auftreten .

image-20230806132103773


5.5.2. Der Prozess des Informationsaustauschs über das BGP-Protokoll (und des Austauschs von Pfadvektoren zwischen Sprechern)

Arbeitsprinzip Prozess :

1. Jeder autonome Systemadministrator wählt mindestens einen Router als „BGP-Sprecher“ des autonomen Systems aus .

2. Um Routing-Informationen zwischen einem BGP-Sprecher und BGP-Sprechern in anderen autonomen Systemen auszutauschen, muss zunächst eine TCP-Verbindung hergestellt werden .

3. Verwenden Sie dann die BGP-Sitzung, um Routing-Informationen auszutauschen .

4. Nachdem alle BGP-Sprecher Informationen zur Netzwerkerreichbarkeit miteinander ausgetauscht haben, kann jeder BGP-Sprecher eine bessere Route zu jedem autonomen System finden .

image-20230806132437723

BGP-Sprecher tauschen Pfadvektoren aus :

① Der BGP-Sprecher des autonomen Systems AS2 benachrichtigt den BGP-Sprecher des Backbone-Netzwerks AS1: Um die Netzwerke N1, N2, N3 und N4 zu erreichen, kann AS2 verwendet werden .

image-20230806132609201

② Für das Backbone-Netzwerk AS1 kann auch eine Benachrichtigung an den regionalen ISP gesendet werden: „Um N5, N6 und N7 zu erreichen, können Sie dem Pfad (AS1, AS3) folgen.

image-20230806132915914


5.5.3. Nachrichtenformat des BGP-Protokolls

Prozess : Um Routing-Informationen mit BGP-Sprechern in anderen autonomen Systemen auszutauschen, muss ein BGP-Sprecher zunächst eine TCP-Verbindung herstellen , das heißt, sie über TCP übertragen und dann über diese Verbindung BGP-Nachrichten austauschen, um eine BGP-Sitzung einzurichten . Verwenden Sie den BGP-Sitzungsaustausch Routing-Informationen .

Formularkombination : Das BGP-Protokoll enthält auch den allgemeinen Nachrichtenheader + den Nachrichtentext, der in die BGP-Nachricht eingefügt wird, und dann wird der TCP-Header hinzugefügt (um das TCP-Protokoll zu bilden). Dann betreten wir die Netzwerkschicht und wickeln und hinzufügen der IP-Header.

image-20230806133107828

Hinweis : BGP ist ein Protokoll der Anwendungsschicht, das über TCP übertragen wird.


5.5.4. Eigenschaften des BGP-Protokolls

Funktionen des BGP-Protokolls :

1. BGP unterstützt CIDR : Zu diesem Zeitpunkt enthält die BGP-Routing-Tabelle das Zielnetzwerkpräfix, den nächsten Router und die Reihenfolge der autonomen Systeme, die das Zielnetzwerk erreichen.

2. In der anfänglichen Betriebsphase von BGP wird die gesamte BGP-Routing-Tabelle über benachbarte Stationen ausgetauscht . Danach werden jedoch nur die geänderten Teile aktualisiert, wenn sich die Anforderungen ändern .

  • Vorteile: Es ist gut, Netzwerkbandbreite zu sparen und den Verarbeitungsaufwand des Routers zu reduzieren .

5.5.5. Vier Arten von BGP-4-Nachrichten:

1. OPEN(打开)报文: Wird verwendet, um eine Beziehung zu einem anderen BGP-Sprecher im angrenzenden Bereich herzustellen und den Absender zu authentifizieren.

  • Da die Anwendungsschicht eine TCP-Verbindung verwendet, ist der Aufbau einer Verbindung zur Authentifizierung des Absenders erforderlich.

2. UPDATE(更新)报文: Benachrichtigen Sie einen neuen Pfad oder widerrufen Sie den ursprünglichen Pfad.

  • Sobald es einen neuen Pfad gibt, dieser Pfad aktualisiert wird oder der ursprüngliche Pfad widerrufen wird, muss diese Aktualisierungsnachricht verwendet werden.

3. KEEPALIVE(保活)报文: Wenn kein UPDATE vorliegt, überprüfen Sie regelmäßig die Konnektivität benachbarter Stationen und dienen auch als Bestätigung für OPEN.

  • Zwei benachbarte BGP-Lautsprecher stellen nach einiger Zeit eine Verbindung her. Wenn Sie sich gegenseitig keine Nachrichten senden und wissen möchten, ob der andere Teilnehmer noch online ist, können Sie diese Keepalive-Nachricht verwenden, um die offene Nachricht zu bestätigen und festzustellen, ob die Verbindung noch besteht.

4. NOTIFICATION(通知)报文: Meldet Fehler in vorherigen Nachrichten und wird auch zum Schließen der Verbindung verwendet.

  • Sollte es ein Problem mit der Nachricht geben, kann ein Benachrichtigungstext versendet werden, oder dieser kann zum Schließen der TCP-Verbindung genutzt werden.

5.5.6. Vergleich von drei Routing-Protokollen

RIP: Es handelt sich um ein verteiltes Distanzvektor -basiertes Interior-Gateway- Routing-Protokoll, das Routing-Informationen durch Broadcast von UDP-Nachrichten austauscht.

  • Der Distanzvektor bezieht sich auf: die Anzahl der Sprünge. In der Routing-Tabelle ist der kürzeste Weg zu einem bestimmten Netzwerk und der Standort des nächsten Routers enthalten.

OSPF:是一种内部网关协议,要交换的信息量比较大,应该使报文的长度尽量短,所以不适用传输协议(如UDP或TCP),而是直接采用IP数据报

  • 其中所发送的是本路由器相邻的所有路由器的链路状态。链路状态指的是本路由器和哪些路由器相邻以及它们之间的度量,这个度量并不仅仅是跳数,还有带宽以及其他费用

BGP:是一种外部网关协议,在不同的自治系统之间交换路由信息,由于网络环境复杂,需要保证可靠传输,所以采用TCP

  • 基于路径向量算法,每一个路由表当中所包含的信息是某一个网络到达某一个网络如何走的一个自治系统序列

三个协议比较汇总图如下

image-20230806134742662

  • 交换结点部分:RIP是和本节点相邻的路由器交换信息与BGP相同;OSPF形式上将自己的路由当中的列入状态发送给了邻站,实际这个邻站依旧会把这个路由状态拷贝一个副本转发给它相邻的路由器,看上去就是在进行广播路由器的链路状态

六、IP组播

学习视频:

6.1、认识三种传输方式

方式一:单播:单播用于发送数据到单个目的地,且每发送一份单播报文都是用到一个单播IP地址作为目的地址,是一种点对点的传输方式。

Bild-20230806155056790

方式二广播:广播是指发送数据包到同一广播域或子网内的所有设备一种数据传输方式,是一种点对多点传输方式。

  • 发送端还是单一的单播IP地址,目的地址则是一个全1的广播地址,会发给局域网当中的所有主机,即使有交换机也会从交换机的端口中转发出去。

Bild-20230806155104826

问题:单播若是想要给很多个人发送数据包就需要建立很多个单播连接非常占用带宽;广播是直接给局域网中全部主机发送,有时候并不是所有主机要,仅仅只是一部分。

解决方案:产生了比较好的传输方式 多播。

方式三:组播(多播):当网络中的某些用户需要特定数据的时候,组播数据发送者仅仅发送一次数据,借助组播路由协议为组播数据包建立组播分发树,被传递的数据到达距离用户端尽可能近的节点后才开始复制和分发,是一种点对多点的方式。

好处:仅仅只会给组播组内的有需求的主机发,并不会在一开始原点就进行复制,而是经过很多路由器,直到马上到了这个局域网时,经过下一个路由器就到局域网了,此时才会在下一个路由器的时候进行一个复制,此时才会分发给这个网络当中的组播组当中的主机。

通俗易懂:例如表白,仅仅只会给有需求的表白,而不是像广播一样一股脑的无脑表白。

Bild-20230806154755561


6.2、多播在视频服务器的应用

采用单播方式:需要构建90个数据报来发送给90个主机

问题:传输资源占用的带宽比较多,在发送者和每一个接受者之间需要单独的数据信道。

Bild-20230806155205307

组播方式:组播提高了数据传输效率,减少了主干网出现拥塞的可能性,组播组中的主机可以是在同一个物理网络,也可以来自不同的物理网络(如果有组播路由器的支持)

  • 组播路由器:指的是组播协议的路由器。

Bild-20230806162424509

好处:大大节省了带宽,可以看到最后在进入到最后一个路由器的时候会进行多播给一组中的不同主机。

疑问:在发送的时候如何找到主机?或者说怎么知道这些人是不是在一个组播组?


6.3、IP组播地址

6.3.1、认识IP组播地址

在因特网当中,通信的时候每一个主机都需要有一个全球唯一的IP地址,如果某个主机想要接收某个特定多播组的分组,那么怎样才能够使多播数据报传送到这个主机?

IP组播地址让源设备能够将分组发送给一组设备。属于多播组的设备将被分配一个组播组IP地址一群共同需求主机的相同标识)。

组播地址范围为:224.0.0.0 — 239.255.255.255(D类地址),一个D类地址表示一个组播组

  • 每一个IP组播地址,只能够作为数据报或者说分组的目的地址,但是不能够作为源地址

举例

  • 例如很多人看一个主播,那么主播通过组播的方式发给这些主机,此时这些主机都能够看到。
  • 反过来若是很多个主播来发送给一台主机,那么此时是不行的,因为在同一时间只能够看一个频道。

组播地址的特点

1、组播数据报也是"尽最大努力交付",不提供可靠交付,应用于UDP。

2、对组播数据报不会产生ICMP差错报文。

3、并非所有D类地址都可以作为组播地址。

  • 部分D类地址有些是不能够随便用的,因为有些地址已经被指派为永久组地址了。

对应组播地址的分类如下,有一部分是被已经永久分配出去了

Bild-20230806180841524


6.3.2、两类IP组播(因特网范围、硬件)

两类组播介绍

下图中可以看到将图分为了两个部分,一部分叫做因特网范围内组播,另一种叫做硬件组播

  • 前者只能够在因特网的范围内,也就是没有进入到局域网内的这个范围来进行组播。
  • 后者是局域网范围中的组播。

Bild-20230806164858652


硬件组播详解

在局域网范围中,对于一个主播的数据报,应该怎么给到这些主机。

同单播地址一样,组播IP地址需要相应的组播MAC地址在本地网络中实际传送帧

Bild-20230806175615627

  • 注意:我们的组播地址实际上并不是单单指的是一个主机,所以实际不仅仅需要指明组播IP地址,还需要指明相对应的MAC地址。

组播MAC地址以十六进制值01-00-5E打头,余下的6个十六进制位是根据IP组播组地址的最后23位转换得到的。

  • 对于这个十六进制值01-00-5E是因特网号码指派管理局IANA,将自己从IEEE注册管理机构申请到的以太网MAC地址块中从01-00-5E-00-00-00到01-00-5E-FF-FF-FF的多播MAC地址,用于映射IPv4的多播地址。(也就是D类地址)

下图就是对于组播MAC地址余下的6个十六进制相对应映射的IP组播地址

  • D类IP地址:前五位是D类固定的1110,对于中间的5类随意,末尾的23位要对应映射复制给MAC地址。
  • 48位以太网地址:01-00-5E固定表示的是多播,其中第8位为1表示的是1。

Bild-20230806180034748

这样子映射实际是有一些问题的,主要是因为D类IP地址中间的五位不固定,那么由于末尾的23位是直接映射到MAC地址的,那么就可能会有25个IP地址会出现最终映射MAC地址相同的情况,举例如下:

Bild-20230806180420207

如何解决这种情况呢?

  • 下面给出了解决方案,对于映射有多个的情况时,我们就需要再IP层利用软件来进行过滤(对比IP地址),把不是本主机要接收的数据报丢弃。

Bild-20230806180615345


6.4、IGMP协议与组播路由选择协议

6.4.1、认识IGMP协议

IGMP存在意义:在路由器内部的,所规定的使用的一个协议,对于IGMP协议的存在就是要让这一个连接在局域网上的组播路由器,也就是在这个路由器知道,所连接的局域网是不是还有其他主机加入当前组或者退出组。

Bild-20230806181148760

组播路由选择协议:就是在多个路由器之间进行一个路径选择的问题。

Bild-20230806181202885

网际组管理协议IGMP

下图可以看到其中R1、R2、R3、R4全部加入了组播组,实际他们自己本身也是拥有一个全球唯一的IP地址:

Bild-20230806181426084

  • 对于一个主机,若是有多个进程,那么多个进程可能都是组播组的成员,那么一个进程实际就可以有一个组播的IP地址。

路由器可以通过IGMP协议可以判断,若是我收到一个组播组是否要将其发给局域网当中的主机呢?

  • 如上图,例如中间网络要发送给组播组一个数据包,此时就需要走r1、r2、r3,并不会发给r4,因为这个r4中所连的局域网当中并没有组播组中的成员。
  • 如何避免发给没有主机加入的局域网呢?
    • 通过IGMP协议,通过有这样的一个协议可以知道是否要分发给局域网,但是这个IGMP协议并不是知道很详细,不知道这个局域网当中的组播成员个数,只能够让路由器知道是不是有主机或者进程参加了或者说是退出了这个组播组

6.4.2、IGMP所处协议栈位置

Der Speicherort des Protokollstapels, in dem sich IGMP befindet : Sowohl es als auch ICMP gehören zur oberen Schicht dieses Netzwerkschichtprotokolls und beide verwenden IP-Datagramme zum Übertragen von Nachrichten.

Bild-20230806182043480


6.4.3. Zwei Phasen der IGMP-Arbeit

Stufe eins :

Wenn ein Host einer Multicast-Gruppe beitreten möchte , sendet der Host eine IGMP-Nachricht an die Multicast-Adresse der Multicast-Gruppe , um zu erklären, dass er Mitglied der Gruppe werden möchte.

Nachdem der lokale Multicast-Router die IGMP-Nachricht empfangen hat, muss er das Multicast-Routing-Protokoll verwenden, um diese .

Stufe zwei :

Der lokale Multicast-Router fragt regelmäßig die Hosts im lokalen LAN ab, um zu erfahren, ob diese Hosts online sind (d. h., sie sind noch Mitglieder der Multicast-Gruppe).

Solange es einen Host gibt, der auf eine bestimmte Gruppe antwortet , betrachtet der Multicast-Router die Gruppe als aktiv . Wenn nach mehreren Anfragen kein Host antwortet, geht der Multicast-Router davon aus, dass es keine solche Multicast-Gruppe im Netzwerk gibt , dann wird die Mitgliedschaft dieser Gruppe nicht an andere Multicast-Router gesendet.

  • Wenn ein Host in einer bestimmten Gruppe bereits geantwortet hat, müssen andere Hosts zu diesem Zeitpunkt keine Antwort senden. Der Zweck besteht darin, unnötigen Datenverkehr zu unterdrücken. .

Hinweis : Die Mitgliedschaftsbeziehung, die der Multicast-Router kennt, besteht nur darin, ob es Mitglieder der Multicast-Gruppe im verbundenen LAN gibt, und es ist nicht erforderlich, zu wissen, wie viele Mitglieder sich in der Gruppe befinden.


6.4.4. Multicast-Routing-Protokoll

Während des Multicast-Prozesses können sich die Mitglieder einer Multicast-Gruppe dynamisch ändern und plötzlich beitreten oder verlassen.

Der Zweck des Multicast-Routing-Protokolls besteht darin, den Multicast-Weiterleitungsbaum mit dem Quellhost als Wurzelknoten zu finden.

Durch die Konstruktion eines Baums wird vermieden, dass man sich zwischen Routern im Kreis bewegt. Unterschiedliche Multicast-Gruppen entsprechen unterschiedlichen Multicast-Weiterleitungsbäumen; dieselbe Multicast-Gruppe verfügt über unterschiedliche Multicast-Weiterleitungsbäume für verschiedene Quellpunkte.

Bild-20230806201918600


6.4.5. Drei Algorithmen, die häufig in Multicast-Routing-Protokollen verwendet werden

组播路由协议常使用的三种算法

①基于链路状态的路由选择。

②基于距离-向量的路由选择。

③协议无关的组播(稀疏/密集)

  • 协议无关:指的是在建立转发树的时候,是使用单播数据报和远程路由器来联系,但是并不要求使用相同的一个单播路由选择协议。
  • 稀疏和密集:指的是一个组播组中的主机,若是比较分散就是稀疏,若是比较近那么就是密集。

脑图时刻

Bild-20230806202242960


七、移动IP

7.1、认识漫游

漫游:对于漫游的过程是需要移动IP的技术,其目的是当我这个手机不管移动到哪里都可以保证原来的IP地址不变,别人依旧能够跟我这个IP地址设备进行通信,因此,我们就会在手机上的原有永久地址基础上,再引入一个转交地址,那么就需要对这两个地址进行管理,此时就需要额外再收取一些费用。


7.2、移动IP的相关概念(专属名词)

移动IP技术是移动节点(计算机/服务器等)以固定的网络IP地址,来实现跨越不同网段的漫游功能,并保证了基于网络IP的网络权限在漫游过程中不发生任何改变。

效果:设备移动,IP不动。

移动节点:具有永久IP地址的移动设备。

归属代理(本地代理):一个**移动结点的永久"居所"**称为归属网络,在归属网络中代表移动节点执行移动管理功能的实体叫做归属代理。

  • 归属代理可以理解为一个管家,管理的就是我们的移动节点,移动节点在没有发生移动的时候,最开始在哪个地方就是归属网络,在这个地方管理它并执行一些功能的那么就叫做本地代理归属。实际一个移动节点归属网络当中的一个路由器其实也可以作为一个归属代理。

永久地址(归属地址/主地址):移动站点在归属网络中的原始地址

  • 若是移动节点进入到了外地,那么就会进入到一个外部网络,在这个网络当中的一个管家,就是外部代理也可以是这个外部网络中的一个路由器,主要发挥的作用就是帮助移动节点进行正常的通信。

外部代理(外地代理):在外部网络中帮助移动节点完成移动管理功能的实体称为外部代理。

转交地址(辅地址):可以是外部代理的地址或动态配置的一个地址。


7.3、移动IP的通信过程

生动例子

移动节点爷爷的永久地址一开始就在归属代理中,葫芦娃们想要找爷爷直接可以到归属代理村子中找:

Bild-20230806210355570

当爷爷被抓走时,那么此时实际爷爷并不在村子里了,葫芦娃首先会去村子里找,此时村长说已经被抓走了此时去就让葫芦娃通过去访问外部代理盘丝洞才能够去传送信息给爷爷:

Bild-20230806210616827


实际网络应用景例子(转交地址的获取两种方式,三种场景)

一开始主机是在归属代理的归属网络当中,若是想要给这台主机发送数据,那么就需要发送给这个归属网络即可:

Bild-20230806210655573

此时主机移动到了外部网络当中,就能够获得转交地址:

Bild-20230806210808065

对于转交地址的获取有两种方式

  • 方式一:被动获得。
    • 过程:外部代理会在这样的一个外部网络内广播一个ICMP的报文,那么这个报文里面就会包含这个转交地址,当主机收到之后那么就知道所在的网络外部代理是谁以及外部代理的转交地址是什么。
  • 方式二:主动获得。
    • 过程:需要主机主动的发送一个广播报文来获得外部代理的一个转交地址。

下面有几种场景

场景一:主机A刚刚进入外部网络

1、获得外部代理的转交地址(外部代理广播报文,这是被动获取方式)。

2、接着移动节点有了转交地址之后会通过外部代理发送注册报文给到归属代理(其中包含了自己主机的永久地址以及转交地址)。

3、归属代理接收请求,并将移动节点的永久地址和转交地址绑定(以后若是到达归属代理的数据报且要发往移动节点的数据会被封装以隧道方式转发给转交地址),并返回一个注册响应报文。

4、外部代理会接受注册响应,并转发给移动节点。

之后则进行正常通信,此时就可以保证主机A的永久地址不变。

场景二:A移动到了下一个网络之后

1、在新外部代理登记注册一个转交地址。

2、依旧是借助新外部代理给本地代理发送新的转交地址(覆盖旧的)。

3、之后就是进行通信。

场景三:A回到了归属网络

1、主机A向本地代理注销转交地址。

2、按原始方式通信。


八、网络层设备

8.1、路由器

8.1.1、认识路由器

路由器:是一种具有多个输入端口和多个输出端口的专用计算机,其任务就是转发分组。

Bild-20230806214227834

路由选择:根据所选定的路由选择协议来构造出路由表,同时经常或定期地和相邻路由器交换路由信息而不断地更新和维护路由表

  • 路由选择协议算法根据RIP协议、OSPF协议等来构造出路由表

交换结构:根据转发表(路由表得来)分组进行转发

  • 根据路由表的几列属性以及结合主机的网卡特性就可以确定下来一个转发表,这个转发表可以告诉我这一个分组从哪个输出端口输出。
  • 注意:①若是收到RIP/OSPF分组等,则将分组送往路由选择处理机。②若是收到数据分组,那么查找转发表并输出
  • 转发VS路由选择
    • 转发:指的是从一个端口输入端口转发到另一个输出端口。
    • 路由选择:选择一个合适的路径将一个信息从源站发送到目的主机。

8.1.2、输入端口与输出端口的详细信息

输入端口对收到分组的处理

输入端口对线路上收到分组的处理

Bild-20230806214842699

1、首先到物理层进行比特的接收

2、接着进入到数据链路层进行处理,按照链路层的协议来接收这个传送分组的帧,接着将帧头、帧尾去掉交给网络层。

3、进入到网络层①若是收到RIP/OSPF分组等,则将分组送往路由选择处理机。②若是收到数据分组,那么查找转发表并输出

  • 若是目前有很多数据分组到了这个网络层处理这一个模块,就需要进行排队,如第一个分组横在查表,此时第二个数据到来了,第三个到来了会进行等待,那么就会产生一定的时延。

说明:输入端口中的查找和转发功能在路由器的交换功能当中时最重要的。


输出端口对收到分组的处理

输出端口的处理

Bild-20230806215424219

网络层阶段:在网络层中会有一个缓冲区,若是第一个分组到达后进行处理,此时第二个、第三个分组同样到达,那么此时会将分组暂存到缓冲区当中,此时这些分组就会产生一定的等待时延。

  • 可能会出现的情况:若是路由器分组的速率赶不上分组进入队列的速率,那么队列的存储空间最终必定会减少到0,这就会使得后面再进入到队列的分组由于没有存储空间而只能够被丢弃
  • 造成分组丢失的重要原因: 路由器中的输入或输出队列产生溢出。

对于后续数据链路就是增加帧头、帧尾,物理层就是最终通过比特流形式发送出去。


8.2、三层设备的区别

路由器:可以互联两个不同网络层协议的网段。

网桥:可以互联两个物理层和链路层不同的网段。

集线器:不能互联两个物理层不同的网段。

注意:并不是任何层次的设备都能够互联它所在的层次以及以下层次不同协议的网段,错误,集线器就不能够互联两个物理层不同的网段。

对于能否隔离冲突域与广播域的对比如下图

Bild-20230806215900964


8.3、路由表与路由转发

路由表:根据路由选择算法得出。

  • 主要用途:路由选择,总是使用软件来实现。
  • 默认路由:指的是局域网当中一个具体路由器,子网掩码全0即可。
  • 路由表主要是选择下一条要走哪个路由器或者下一跳IP地址是什么。

Bild-20230806220203357

转发表:由路由表得来,可以使用软件实现,也可以使用特殊的硬件来实现。转发表必须包含完成转发功能所必须必须得信息,在转发表中的每一行必须包含从要到达的目的网络输出端口某些MAC地址信息的映射

  • 还需要结合主机的一些具体信息来确定输出的端口

整理者:长路 时间:2023.8.3-6

Je suppose que tu aimes

Origine blog.csdn.net/cl939974883/article/details/132141007
conseillé
Classement