Tại sao ethernet có kích thước khung tối thiểu được chỉ định?


12

Tôi nghĩ mức tối thiểu là 64 byte. Tại sao điều đó là tối thiểu cần thiết?

Câu trả lời:


16

Đọc nhanh, có vẻ như nó có liên quan đến phần Phát hiện va chạm của CSMA / CD. Nếu các khung hình quá nhỏ trên phương tiện phát sóng cũ, thì một số va chạm sẽ không thể phát hiện được. Tiếp tục chủ đề tương tự ô tô của tôi ngày hôm nay, đó là lý do tương tự mà chúng tôi không cho phép xe đạp trên đường cao tốc tốc độ cao - nó không an toàn cho họ.


3
+1, tôi không biết rằng về xe đạp ...
Kyle Brandt

6
+1 Phát hiện va chạm là lý do. 64 byte là 0,04ms ở tốc độ ethernet 10Mb. Bất kỳ va chạm nhỏ hơn sẽ không bị phát hiện (năm 1982).
sysadmin1138

Nếu tôi hiểu bạn, lý do tối thiểu 64 byte là để cung cấp đủ thời gian cho các trạm khác chú ý đến nó?
CodyBugstein

1
Bạn có thể vui lòng giải thích tại sao va chạm sẽ không thể phát hiện?
vấn đề

1
Tôi chắc chắn rằng một vụ va chạm xe đạp trên đường cao tốc tốc độ cao sẽ được phát hiện. Và dù sao đi nữa, xe đạp được phép sử dụng trên các Tiểu bang ở hầu hết các bang miền tây Hoa Kỳ, vì vậy tôi không chắc chắn tương tự như thế nào là phù hợp. :)
Michael Hampton

4

Ngoài câu trả lời (hoàn toàn chính xác) của mfinni, việc đặt kích thước khung tối thiểu cho phép bạn dành nhiều chu kỳ nhận để xác minh tổng kiểm tra khung của bạn. Trong Ye Olde Days, người ta có thể dễ dàng tưởng tượng một con chip xử lý một bit trên mỗi chu kỳ, nhưng phải mất nhiều chu kỳ để tính toán tổng kiểm tra trên một con đường chuyên dụng chạy song song với con đường nhận. Nhận được nhiều tin nhắn ngắn có thể khiến logic tổng kiểm tra này bị cắt xén do có nhiều hoạt động đồng thời được kích hoạt trong đó. Loại bỏ bất cứ thứ gì dưới ngưỡng kích thước nhất định cho phép bạn tránh vấn đề này một cách đơn giản.


Tôi tin rằng câu trả lời này là sai; nó phải làm với độ trễ lan truyền trong phát hiện va chạm và trung bình.
Andrew Wagner

@AndrewWagner, như tôi đã nói trong phản hồi của mình, câu trả lời của mfinni ở trên, đó là về phát hiện va chạm, là chính xác. Quan điểm của tôi là "sự giải quyết" của đặc tả này cũng cho phép các nhà thiết kế phần cứng có một vài phím tắt của riêng họ.
BMDan

2

Ethernet được thiết kế để hoạt động trên một phương tiện được chia sẻ (ether!). Người gửi có khả năng cảm nhận khi tín hiệu họ đang lái ether khác với tín hiệu trên ether.

Thật không may, tất cả các phương tiện truyền thông đều có độ trễ lan truyền (không may là ngay cả ánh sáng truyền đi với tốc độ hữu hạn).

Giả sử bạn gửi một khung rất ngắn. Để phát hiện xem người nhận có truyền đúng lúc họ nhận được khung của bạn hay không, bạn phải đợi tín hiệu họ gửi đến bạn, do đó bạn phải đợi / nghe hai lần độ trễ lan truyền của phương tiện trước khi bạn biết nếu có một vụ va chạm ở cuối nhận.

Bây giờ, thay vì chỉ lắng nghe (gửi im lặng) trong thời gian đó, bạn cũng có thể tiếp tục và gửi một số thông tin hữu ích trong thời gian đó.

Do đó, tiêu chuẩn đặt kích thước khung tối thiểu là lượng dữ liệu bạn có thể gửi trong TWICE độ trễ lan truyền trong trường hợp xấu nhất trong phương tiện được chia sẻ.

Vì vậy, nếu bạn không hài lòng vì các khung lớn cảm thấy "không được tối ưu hóa" cho tin nhắn nhỏ của bạn, hãy nghĩ rằng không gian thừa đó trong gói là cơ hội để tìm thứ khác để gửi, dù sao bạn cũng phải gửi số không.

Tất nhiên, có nhiều cách khác để xử lý va chạm và trì hoãn lan truyền trong một tiêu chuẩn mạng cục bộ, nhưng sau đó sẽ không phải là ethernet và tôi nghĩ tất cả chúng ta đều có thể đồng ý rằng ethernet khá ngọt ngào.


Câu hỏi: Vì vậy, tôi hiểu tại sao bạn cần tối thiểu hoặc 2 x PD64 byte đến từ đâu? Nó không nên phụ thuộc vào chiều dài / loại cáp? 64 byte có vẻ tùy ý
CodyBugstein

Nó trở lại với sự đánh đổi phức tạp hiệu quả cũ của VS. Bạn có thể xây dựng một số hệ thống để tự động đo mạng và chọn kích thước gói tối thiểu phù hợp nhưng nó sẽ thêm độ phức tạp không cần thiết cho mức tăng tương đối ít.
Peter Green

0

Để CSMA / CD hoạt động chính xác, bạn muốn phát hiện va chạm nhất quán.

Nếu người nhận thấy xung đột và người gửi không thì gói tin sẽ bị mất. Tương tự nếu người gửi thấy xung đột nhưng người nhận không nhận được gói trùng lặp sau khi người gửi truyền lại. Không phải là mong muốn.

Vì dữ liệu di chuyển với tốc độ hữu hạn, kích thước gói tối thiểu được yêu cầu để đảm bảo rằng nếu xảy ra va chạm, nó sẽ xảy ra ở mọi nơi. Bạn càng lớn thì kích thước gói tối thiểu càng lớn và / hoặc nhanh hơn bạn có thể tạo mạng trước khi CSMA / CD bị hỏng.

Về lý do tại sao 64 byte tôi không biết chắc chắn nhưng tôi hy vọng nó chỉ là một số tròn "có vẻ đúng vào thời điểm đó", với tốc độ mà chúng đang hoạt động, kích thước dự kiến ​​của mạng Ethernet và kích thước dự kiến của các gói cấp cao hơn.


0

Độ dài gói tối thiểu 64 byte không phải là một số tùy ý. Trong lớp vật lý 10Base5 (đồng trục "Fat Ethernet", một trong những lớp vật lý được chỉ định ban đầu, có cáp dài nhất cho phép), kết quả là chiều dài gói tối thiểu, tính bằng micrô giây, gấp đôi thời gian khứ hồi của chiều dài tối đa cáp, là 2500 mét, bao gồm năm đoạn 500 mét với bốn bộ lặp. Điều này là để đảm bảo rằng các gói được truyền từ các phía đối diện của cáp va chạm hoàn toàn tại mỗi điểm trong cáp, để phát hiện va chạm đáng tin cậy trong tất cả các nút.

Câu đố:

  • Đó là gấp đôi số tiền tối thiểu cho chi phí an toàn
  • Phát hiện va chạm trong cáp đồng trục có thể được thực hiện bằng bộ so sánh điện áp tương tự (vì các gói bị va chạm dẫn đến điện áp tín hiệu bình thường gấp đôi)
  • Tốc độ điện trong cáp đồng là khoảng 200000 km mỗi giây
  • Mỗi bit trong Ethernet 10Base5 dài 20 mét trong cáp
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.