Zum Hauptinhalt springen

6.5. Routing Locator Hashing (Routing-Locator-Hashing)

6.5. Routing Locator Hashing (Routing-Locator-Hashing)

Wenn ein ETR einem anfordernden ITR eine EID-zu-RLOC-Zuordnung in einer Map-Reply bereitstellt, können Locator-Adressen im Locator-Set für dieses EID-Präfix unterschiedliche Priority-Werte haben. Wenn mehrere Lokatoren mit optimaler Priority vorhanden sind, kann der ITR entscheiden, wie er Verkehr unter diesen Lokatoren lastverteilt.

Der ITR kann den folgenden Hash-Algorithmus verwenden, um einen Locator in einer EID-zu-RLOC-Zuordnung für Pakete auszuwählen, die an eine EID gesendet werden:

  1. Quelladress- und Zieladress-Hashing oder traditionelles 5-Tupel-Hashing kann verwendet werden. Traditionelles 5-Tupel-Hashing umfasst Quelladresse und Zieladresse, Quell- und Ziel-TCP-, UDP- oder Stream Control Transmission Protocol (SCTP)-Portnummern sowie das IP-Protokollnummernfeld oder IPv6-Next-Header-Feld von Paketen, die von Hosts innerhalb der LISP-Site stammen. Wenn das Paket kein TCP-, UDP- oder SCTP-Paket ist, werden nur die Quelladresse und Zieladresse im Header zur Hash-Berechnung verwendet.

  2. Teile den Hash-Wert durch die Anzahl der im Locator-Set der EID-zu-RLOC-Zuordnung gespeicherten Lokatoren.

  3. Der Rest liegt zwischen 0 und "Anzahl der Lokatoren minus 1". Verwende diesen Rest, um einen Locator im Locator-Set auszuwählen.

Beachten Sie, dass bei LISP-Kapselung der Quellport im äußeren UDP-Header gesetzt werden muss. Die Auswahl des Hash-Werts ermöglicht es Kern-Routern, die mit Link Aggregation Groups (LAGs) verbunden sind, gekapselte Pakete über LAG-Mitgliedsverbindungen lastzu verteilen. Andernfalls würden Kern-Router einen einzelnen Flow sehen, da die Paketquelladresse die des ITR ist, und Pakete, die von verschiedenen EIDs an der Quell-Site stammen, sollten unterschieden werden. Es wird empfohlen, dass der ITR den Quellport auf das Ergebnis einer Hash-Funktion über das innere Header-5-Tupel setzt, wie oben beschrieben.

Viele Kern-Router-Implementierungen verwenden 5-Tupel-Hashing, um Paketlasten über LAG-Mitglieder auszugleichen. Das 5-Tupel-Hash umfasst die Quelladresse und Zieladresse des Pakets sowie Quellport und Zielport, wenn die Protokollnummer TCP oder UDP ist. Daher verwendet die LISP-Kapselung UDP-Kodierung.