Thêm vào câu trả lời của jonathanjo:
Ethernet có các thành phần trong cả hai lớp 1 (vì nó có thể chạy trên các phương tiện khác nhau) và 2 (vì các khung giống nhau trên các phương tiện khác nhau).
Preamble, SoF Delimiter và Inter-pack Gap thực sự ở lớp 1 (đánh thức người nhận, v.v.), trong khi khung (bao gồm tiêu đề, tải trọng và FCS) ở lớp 2.
Dữ liệu trong khung ethernet là tải trọng của khung ethernet. Câu hỏi 1 của bạn giả định rằng mọi giao thức lớp 3 là IPv4 và mọi giao thức lớp 4 là TCP, đó là những giả định xấu. Ethernet không biết hoặc quan tâm đến giao thức lớp 3 nào (IPv4, IPX, IPv6, AppleTalk, v.v.), vì vậy dữ liệu của khung là tải trọng. Ví dụ: tiêu đề gói IPv4 là 20 đến 60 octet, trong khi tiêu đề gói IPv6 luôn là 40 octet. Ethernet không biết điều này, nó chỉ biết rằng nó có trường tải trọng chứ không phải trong trường đó.
Tiêu đề khung ethernet thường là 14 octet, trừ khi bạn có khung được gắn thẻ, thì nó là 18 octet. MTU là kích thước tải trọng tối đa. Ethernet cũng có kích thước khung tối thiểu là 64 octet, bao gồm cả FCS, do đó, tải trọng có thể dao động từ 42 (có thẻ) hoặc 46 (không có thẻ) octet, lên đến kích thước tải tối đa 1500 octet. Điều đó có nghĩa là các khung ethernet (tiêu đề và tải trọng) là từ 60 octet đến 1514 (không có thẻ) hoặc 1518 (có thẻ) octet.
Nếu nơi dữ liệu bắt đầu, bạn có nghĩa là dữ liệu ứng dụng, điều đó thực sự sẽ phụ thuộc vào tất cả các giao thức. Tiêu đề UDP chỉ có 8 octet và tải trọng UDP có thể là dữ liệu ứng dụng hoặc có thể là một datagram cho giao thức lớp ứng dụng có tiêu đề riêng có thể không được tính là dữ liệu ứng dụng. Trong ví dụ về TCP, bạn có thể đang chạy trình duyệt web đến máy chủ web. Bạn có tính HTTP (một giao thức lớp ứng dụng) hoặc HTML là dữ liệu (HTML là dữ liệu cho HTTP) không? Khi bạn tham chiếu đến dữ liệu, nó liên quan đến giao thức mà bạn đang đề cập đến.