Im IP-Paket-Header befindet sich ein 8-Bit-Protokollfeld (bei Offset 9), das das "Next Level Protocol" enthält, dessen zugewiesene Nummern in RFC 790 angegeben sind. Beispielsweise ist TCP 6. Meine Frage ist, warum die IP ist Schicht bewusst höhere Schichten im Netzwerkstapel?
7
Antworten:
Jeder "Header" hat eine Art "Next Protocol" -Identifizierungsfeld. Dies ist notwendig, da die Daten auf dem Draht nichts anderes als eine Folge von Einsen und Nullen sind. Der empfangende Endpunkt muss eine Möglichkeit haben, zu interpretieren, worauf sich die nächsten Bits beziehen.
Ohne ein solches Feld, das definitiv angibt, wie der nächste Satz von Einsen und Nullen zu interpretieren ist, gibt es keine Möglichkeit zu bestimmen, ob die nächsten 32 Bits eine TCP-Sequenznummer oder die IP-Quelladresse sind (zum Beispiel). Diese beiden Felder sind in der Tat 32 Bit, so dass es keine Möglichkeit gibt, programmgesteuert zu bestimmen, was diese Einsen und Nullen tatsächlich bedeuten - außer einer Art "Next Protocol" -Feld.
quelle
Über das IPv4-Protokollfeld kann der Endpunkt bestimmen, welcher Datentyp im Paket enthalten ist. Die IP-Schicht des Endpunkts verwendet das Protokollfeld, um zu bestimmen, an welches Protokoll das Paket übergeben werden soll.
quelle
Aus Wikipedia :
Jede Ebene unterstützt die Ebenen darüber, so wird das OSI-Modell entworfen.
quelle
Protokolle, die mehrere Protokolle der oberen Schicht kapseln können, müssen auf irgendeine Weise angeben, was dieses Protokoll der oberen Schicht ist. Ethernet verwendet ein Ethertyp-Feld, wobei 0x0800 IP und 0x0806 ARP bedeutet. TCP verwendet bekannte Portnummern, wobei z. B. 80 für HTTP steht. HTTP verwendet das Headerfeld Content-Type:.
quelle