Hinzufügen zu Jonathanjos Antwort:
Ethernet hat Komponenten in beiden Schichten 1 (weil es über verschiedene Medien ausgeführt werden kann) und 2 (weil die Frames auf den verschiedenen Medien gleich sind).
Die Präambel, der SoF-Begrenzer und die Inter-Packet-Lücke befinden sich tatsächlich in Schicht 1 (Aufwecken des Empfängers usw.), während sich der Frame (einschließlich Header, Nutzlast und FCS) in Schicht 2 befindet.
Die Daten in einem Ethernet-Frame sind die Nutzdaten eines Ethernet-Frames. In Ihrer Frage 1 wird davon ausgegangen, dass jedes Layer-3-Protokoll IPv4 und jedes Layer-4-Protokoll TCP ist. Dies sind schlechte Annahmen. Ethernet weiß nicht, welches Layer-3-Protokoll es trägt (IPv4, IPX, IPv6, AppleTalk usw.), daher sind die Daten des Frames die Nutzdaten. Beispielsweise beträgt der IPv4-Paket-Header 20 bis 60 Oktette, während der IPv6-Paket-Header immer 40 Oktette beträgt. Ethernet weiß das nicht, es weiß nur, dass es ein Nutzlastfeld hat, nicht was sich in diesem Feld befindet.
Der Ethernet-Frame-Header besteht normalerweise aus 14 Oktetten, es sei denn, Sie haben einen getaggten Frame, dann sind es 18 Oktette. Die MTU ist die maximale Nutzlastgröße. Ethernet hat auch eine minimale Frame-Größe von 64 Oktetten, einschließlich FCS, sodass die Nutzlast von 42 (mit Tag) oder 46 (ohne Tag) Oktetten bis zu einer maximalen Nutzlastgröße von 1500 Oktetten reichen kann. Das bedeutet, dass Ethernet-Frames (Header und Payload) zwischen 60 Oktetten und 1514 (ohne Tag) oder 1518 (mit Tag) Oktetten liegen.
Wenn mit dem Ort, an dem die Daten beginnen, Anwendungsdaten gemeint sind, hängt dies wirklich von allen Protokollen ab. Der UDP-Header besteht nur aus 8 Oktetten, und die UDP-Nutzdaten können die Anwendungsdaten sein, oder es kann sich um ein Datagramm für ein Protokoll auf Anwendungsebene handeln, das über einen eigenen Header verfügt, der möglicherweise nicht als Anwendungsdaten gezählt wird. In Ihrem Beispiel für TCP führen Sie möglicherweise einen Webbrowser auf einem Webserver aus. Zählen Sie HTTP (ein Anwendungsschichtprotokoll) oder HTML als Daten (HTML sind die Daten für HTTP)? Wenn Sie sich auf die Daten beziehen, beziehen sie sich auf das Protokoll, auf das Sie sich beziehen.