Subnetting und die Option subnetsarelocal des Befehls no

Mit der Option subnetsarelocal des Befehls no können Sie steuern, wann TCP einen fernen Endpunkt als lokal (in demselben Netz) oder fern betrachtet.

Es können mehrere physische Netze erstellt werden, um dieselbe Netznummer durch Teilnetze gemeinsam zu nutzen. Die Option subnetsarelocal gibt systemweit an, ob Teilnetze als lokale oder ferne Netze betrachtet werden sollen. Mit dem Befehl no -o subnetsarelocal=1 (Standardwert) betrachtet Host A in Teilnetz 1 Host B in Teilnetz 2 als in demselben physischen Netz.

Wenn Host A und Host B eine Verbindung herstellen, wird das MSS unter der Annahme vereinbart, dass sie sich im selben Netz befinden. Jeder Host macht einen MSS basierend auf der MTU seiner Netzschnittstelle zugänglich, was in der Regel zu einem optimalen MSS führt.

Dieser Ansatz hat folgende Vorteile:

  • Es sind keine statischen Bindungen erforderlich; MSS wird automatisch vereinbart.
  • Die TCP-MSS-Vereinbarung wird nicht inaktiviert oder überschrieben, sodass kleine Unterschiede in der MTU zwischen benachbarten Teilnetzen entsprechend behandelt werden können.

Dieser Ansatz hat folgende Nachteile:

  • Potenzielle IP-Router-Fragmentierung, wenn zwei Netze mit hoher MTU über ein Netz mit niedrigerer MTU verbunden sind. Die folgende Abbildung veranschaulicht dieses Problem.
    Abb. 1. Teilnetzübergreifende Fragmentierung. Diese Abbildung zeigt einen Datenpfad von Host A über einen FDDI mit MTU=4352über Router 1 zu dem Ethernet mit MTU=1500. Von dort geht es zu Router 2 und einem anderen FDDI mit MTU=4352 und zu Host B. Eine Erläuterung, wie die Fragmentierung in diesem Beispiel auftritt, wird im Text unmittelbar nach der Abbildung beschrieben.
    Teilnetzübergreifende Fragmentierung
  • In diesem Szenario stellen die Hosts A und B eine Verbindung auf der Basis einer gemeinsamen MTU von 4352 her. Ein Paket, das von A nach B geht, wird von Router 1 fragmentiert und von Router 2 defragmentiert. Die Umkehrung würde von B nach A gehen.
  • Die Quelle und das Ziel müssen beide Teilnetze als lokal betrachten.
Hinweis: Wenn der Wert für tcp_pmtu_discover 1 ist, wird der MSS-Wert basierend auf der MTU der Ausgangsschnittstelle berechnet. Der Wert subnetsarelocal wird nur berücksichtigt, wenn die Netzoption tcp_pmtu_discover den Wert 0 hat.