Zum Hauptinhalt springen

6.1. LISP IPv4 and IPv6 Control-Plane Packet Formats (LISP IPv4- und IPv6-Kontrollebenen-Paketformate)

6.1. LISP IPv4 and IPv6 Control-Plane Packet Formats (LISP IPv4- und IPv6-Kontrollebenen-Paketformate)​

Die LISP-Kontrollebene verwendet die folgenden UDP-Paketformate.

       0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version| IHL |Type of Service| Total Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Identification |Flags| Fragment Offset |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Time to Live | Protocol = 17 | Header Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source Routing Locator |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Destination Routing Locator |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
/ | Source Port | Dest Port |
UDP +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
\ | UDP Length | UDP Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| LISP Message |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |Version| Traffic Class |           Flow Label                  |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |         Payload Length        | Next Header=17|   Hop Limit   |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                                                               |
       +                                                               +
       |                                                               |
       +                     Source Routing Locator                    +
       |                                                               |
       +                                                               +
       |                                                               |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                                                               |
       +                                                               +
       |                                                               |
       +                  Destination Routing Locator                  +
       |                                                               |
       +                                                               +
       |                                                               |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     / |           Source Port         |         Dest Port             |
   UDP +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     \ |           UDP Length          |        UDP Checksum           |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                                                               |
       |                         LISP Message                          |
       |                                                               |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

UDP-basierte LISP-Nachrichten sind Map-Request und Map-Reply. Beim Senden einer UDP-Map-Request wird der UDP-Quellport vom Sender gewählt, und der Ziel-UDP-Port wird auf 4342 gesetzt. Beim Senden einer UDP-Map-Reply wird der Quell-UDP-Port auf 4342 gesetzt, und der Ziel-UDP-Port wird aus dem Quellport der Map-Request oder des auslösenden Datenpakets kopiert. Da NATs Portnummern ändern, MÜSSEN Implementierungen bereit sein, Pakete zu akzeptieren, bei denen entweder der Quell- oder der Ziel-UDP-Port 4342 ist.

Das UDP Length-Feld spiegelt die Länge des UDP-Headers und der LISP-Nachrichten-Payload wider.

Für Map-Request-, Map-Reply-, Map-Register- und Encapsulated Control Message (ECM, Gekapselte Kontrollnachricht)-Kontrollnachrichten wird die UDP-Prüfsumme berechnet und auf einen Nicht-Null-Wert gesetzt. Beim Empfang MUSS die Prüfsumme verifiziert werden, und bei Fehlschlagen der Verifizierung MUSS das Paket verworfen werden.

Kontrollnachrichtenformate enthalten einen UDP-Header, damit das Prüfsummen- und das Längenfeld zum Schutz und zur Abgrenzung von Nachrichtengrenzen verwendet werden können.