Làm thế nào để Ethernet biết một khung là bao lâu?


17

Nhìn vào mục Ethernet trên Wikipedia, tôi không thể biết được nó cho biết khung Ethernet dài bao nhiêu. Trường tiêu đề EtherType / Length rõ ràng có thể chỉ ra loại khung hoặc độ dài rõ ràng và tôi đoán rằng trong trường hợp loại khung, nó phải thực hiện một số logic khác để tìm ra gói thời gian. Ví dụ: nếu trường EtherType là 0x0800, điều đó biểu thị tải trọng IPv4 và do đó, NIC nhận sẽ phải kiểm tra 32 bit đầu tiên của tải trọng để tìm độ dài của gói IP và do đó tìm ra tổng chiều dài của khung Ethernet và biết khi nào cần tìm tổng kiểm tra cuối khung và khoảng cách giữa các khung.

Điều này nghe có đúng không? Tôi cũng đã xem xét thông số kỹ thuật của IEEE 802.3 cho Ethernet (dù sao phần 1) dường như cũng chứng thực điều này, nhưng nó khá mờ.


Câu trả lời:


21

Lớp con Mã hóa vật lý chịu trách nhiệm phân định các khung và gửi chúng lên lớp MAC.

Ví dụ, trong Gigabit Ethernet, sơ đồ mã hóa 8B / 10B sử dụng nhóm mã 10 bit để mã hóa byte 8 bit. Hai bit bổ sung cho biết một byte là thông tin hoặc dữ liệu điều khiển. Thông tin điều khiển có thể là Cấu hình, Start_of_packet, End_of_packet, IDLE, Carrier_extend, Error_propagation.

Đó là cách một NIC biết nơi một khung bắt đầu và kết thúc. Điều này cũng có nghĩa là độ dài của khung không được biết trước khi nó được giải mã hoàn toàn, tương tự như chuỗi kết thúc NULL trong C.


1
Điều này được quy định trong IEEE Std 802.3-2015 (Phần ba), 36.2.4.2 và 36.2.4.15 (trong số những nơi khác trong điều không thể đọc được này mà họ gọi là tiêu chuẩn;).
stefanct

1

Bài viết bạn thực sự muốn trả lời câu hỏi của mình là http://en.wikipedia.org/wiki/Ethernet_II_framing ; mà nói:

Vì tiêu chuẩn được phát triển trong ngành này đã trải qua quá trình tiêu chuẩn hóa chính thức của IEEE, trường EtherType đã được thay đổi thành trường có độ dài (dữ liệu) trong tiêu chuẩn 802.3 mới. (Các gói Ethernet gốc xác định độ dài của chúng với khung bao quanh nó, thay vì đếm chiều dài rõ ràng.) Vì người nhận gói vẫn cần biết cách diễn giải gói, tiêu chuẩn yêu cầu tiêu đề IEEE 802.2 phải tuân theo độ dài và chỉ định loại gói.


Tôi đoán tôi không rõ "Các gói Ethernet gốc xác định độ dài của chúng với khung bao quanh nó" nghĩa là gì. Các bit mở đầu / khung hình bắt đầu khá rõ ràng, nhưng làm thế nào để khách hàng biết được phần cuối của khung đã đạt được? Làm thế nào để phân biệt giữa CRC và khoảng cách liên khung? Là nhiễu điện ngẫu nhiên IFG, dễ dàng phân biệt với tín hiệu thực?
dirtside

Sự kết thúc của khung trong "Ethernet cổ điển" được báo hiệu bằng mã hóa bất hợp pháp.
Vatine

@womble, Bài viết bạn liên kết là tốt nhưng bit bạn trích dẫn là rất sai lệch ra khỏi bối cảnh. Hầu hết các khung trên mạng Ethernet hiện nay không sử dụng trường độ dài rõ ràng.
Peter Green

-3

Theo logic, chỉ có ba tùy chọn:

  1. Sử dụng kích thước khung tĩnh như trong.
  2. Chỉ định kích thước khung hình trong tiêu đề của nó hoặc ở nơi khác hoặc thậm chí giới hạn nó bằng một số cờ.
  3. Không gửi khung nào cả

Một trong những hoạt động này trong Ethernet vì hiện tại không có tùy chọn nào khác có sẵn cho mạng hiện đại;) Thứ 1 và thứ 3 là sai đối với Ethernet, vì vậy bạn đã đúng!


-3

Mất một thời gian để làm việc này một lần trước và bây giờ. Không có nhiều thông tin về nó có sẵn, điều đáng ngạc nhiên vì đây là một câu hỏi rõ ràng. Cuối cùng tôi đã giải quyết được giải pháp rằng các trường độ dài trong các tiêu đề gói được sử dụng. Xem liên kết sau

http://www3.rad.com/networks/infr Hạ tầng / lans / Ethereum.htmlm#_ieee

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.