Chính xác thì sự va chạm Ethernet xảy ra trong cáp như thế nào, vì các nút sử dụng các mạch khác nhau cho Tx và Rx?


13

Tôi đang cố gắng hiểu làm thế nào một sự va chạm xảy ra trong Ethernet, đặc biệt là khi tồn tại sự không khớp song công hoặc khi trên mạng Ethernet kế thừa hai nút truyền đồng thời.

Mọi người giải thích sự va chạm ở mức cao hơn (hai khung hình va chạm khi một khung được gửi và khung kia đang được nhận). Tuy nhiên, biểu đồ dưới đây cho thấy có các mạch khác nhau cho Rx và Tx. Làm thế nào một vụ va chạm có thể xảy ra vì có các mạch chuyên dụng để gửi và nhận khung?

Các mạch khác nhau được sử dụng để truyền và nhận

EDIT : Có thể nhãn "Hub MDI-X" gây ra một số nhầm lẫn liên quan đến điểm câu hỏi của tôi. Tôi không hỏi làm thế nào chức năng của một trung tâm có thể gây ra va chạm. Tôi tập trung vào giao tiếp giữa hai nút có giao diện MDI hoặc MDI-X (hub và switch có giao diện MDI-X). Trong bất kỳ trường hợp nào trong hai trường hợp này, làm thế nào một sự va chạm có thể xảy ra giữa hai nút khi chúng có sự không khớp song công, trong khi trong trường hợp không khớp song song Rx và Tx vẫn có các mạch chuyên dụng của chúng?


Xin lưu ý rằng 10Base2 hoặc 10Base5 chia sẻ cùng một phương tiện, ví dụ: cùng một cáp.
Patrick Terlisten

Tuy nhiên, tôi vẫn có cùng một câu hỏi liên quan đến 100base-tx, trong trường hợp chúng ta có sự không khớp song công và nútA là một nửa song công và song công hoàn toàn của nútB. Giả sử nodeA có giao diện MDI và nodeB là MDI-X. NodeB truyền từ các chân 3 và 4 và nútB chỉ nhận được từ 3 và 4. Làm thế nào một sự va chạm có thể xảy ra trong nútA vì nó chỉ nhận được từ các chân này?
Christos Dalamagkas

6
Sự va chạm xảy ra trong L1, không phải L2 - đó là các bit / sóng mang va chạm. Hai người gửi va chạm khi họ cố gắng gửi (gần) cùng một lúc.
Zac67

Câu trả lời:


11

Để hiểu điều này bạn cần hiểu bối cảnh lịch sử.

Ban đầu Ethernet sử dụng cáp đồng trục dùng chung. Mỗi lần chỉ có một thiết bị có thể truyền tải thành công điều này. Nếu hai thiết bị truyền cùng lúc thì nó được coi là va chạm.

Sau đó, các bộ lặp xuất hiện, để mở rộng khoảng cách và tăng số lượng nút. Một bộ lặp sẽ phát hiện cổng nào đang truyền, sau đó nó sẽ lặp lại tín hiệu đó trên các cổng khác. Để giữ cho các bộ lặp hoạt động phát hiện va chạm phải có một số chức năng để đảm bảo rằng tất cả các nút phát hiện xung đột. Các bộ lặp đầu tiên chỉ có hai cổng, nhưng các bộ lặp sau có thể có nhiều cổng và chúng được gọi là bộ trung tâm, đặc biệt khi được sử dụng kết hợp với hệ thống dây đôi. Repeater là những thiết bị khá ngu ngốc, chúng sẽ tái tạo tín hiệu điện nhưng ít hơn.

Sau đó, 10BASE-T xuất hiện, như bạn đã thấy có các kênh dữ liệu dành riêng cho mỗi hướng. Tuy nhiên, nó vẫn cần phải phù hợp với mô hình hiện có, do đó, theo mặc định, nó hoạt động ở chế độ "bán song công" trong đó mô phỏng cáp đồng trục. Các tín hiệu trên thực tế không va chạm vào dây nhưng các bộ thu phát hoạt động như thể chúng đã làm và các bộ lặp sẽ thực hiện các bước như trước để đảm bảo điều này được nhìn thấy trên mạng.

Ethernet xoắn đôi cũng có thể hỗ trợ chế độ "song công hoàn toàn". Trong chế độ này, tất cả các phần cứng liên quan đến va chạm đều bị tắt và cả hai đầu có thể truyền bất cứ lúc nào. Tuy nhiên chế độ này mang lại một vài nhược điểm lớn.

  • Nó không tương thích với các bộ lặp trung tâm. Nếu không có các cơ chế phát hiện va chạm, các trung tâm sẽ không có cách nào xử lý hai thiết bị truyền cùng một lúc.
  • Cả hai đầu của một liên kết sẽ được thiết lập cho cùng một chế độ song công, nếu không thì điều đó sẽ xảy ra.

Những vấn đề này có nghĩa là trong thực tế, các hệ thống 10BASE-T hầu như luôn hoạt động ở chế độ bán song công.

Đối với 100BASE-TX, tình hình được cải thiện đáng kể. Các thiết bị chuyển mạch Ethernet (cầu đa cổng nhanh về mặt kỹ thuật) đã giảm giá đến mức các trung tâm lặp lại câm có thể bị loại bỏ. Tự động đàm phán cho phép các card mạng thiết lập các kết nối song công hoàn toàn mà không cần cấu hình thủ công dễ bị lỗi. Nếu bạn kết nối hai NIC 100BASE-TX với nhau bằng cáp chéo hoặc kết nối NIC 100BASE-TX với một công tắc và không thực hiện các bước để ghi đè thủ công mọi thứ, chúng gần như chắc chắn sẽ đàm phán chế độ song công hoàn toàn.

Về mặt lý thuyết, 1000BASE-T có chế độ bán song công mà một số NIC yêu cầu hỗ trợ và có một đặc điểm kỹ thuật cho bộ lặp đa luồng gigabit, nhưng tôi chưa bao giờ thấy bất kỳ bằng chứng nào cho thấy ai đã từng bán. Trong thực tế, một liên kết gigabit gần như chắc chắn sẽ chạy ở chế độ song công hoàn toàn.

Tốc độ nhanh hơn hoàn toàn từ bỏ chế độ bán song công.


Và sau đó, Ethernet không dây xuất hiện và các vụ va chạm truyền thông lại trở thành một vấn đề.
OrangeDog

@OrangeDog, nếu bạn muốn nói là Wi-Fi (IEEE 802.11), thì đó không phải là ethernet không dây (IEEE 802.3). Đó là một giao thức hoàn toàn khác nhau có các khung khác nhau và sử dụng CSMA / CA thay vì CSMA / CD. Hai giao thức rất khác nhau, trong khi ethernet trên các phương tiện khác nhau mà nó hỗ trợ về cơ bản là giống nhau.
Ron Maupin

14

Một hub thực sự chỉ là một dây cáp được cấp nguồn lặp lại mọi tín hiệu mà nó nhận được trên một giao diện cho tất cả các giao diện khác. Nếu hai thiết bị truyền phát cùng lúc tới nhận giao diện trung tâm, thì trung tâm sẽ lặp lại cả hai tín hiệu cùng lúc với việc truyền tất cả các giao diện trung tâm khác và cả hai tín hiệu nhận được sẽ va chạm vào quá trình truyền của các giao diện khác, do đó bạn có một xung đột trong đó tất cả các giao diện khác có tín hiệu rác vì đó là hai tín hiệu cùng một lúc. Các máy chủ đang gửi đồng thời và nghe một tín hiệu khác sẽ nhận ra rằng có nhiều hơn một người đang gửi cùng một lúc và họ sẽ xác định rằng có một vụ va chạm.

Hãy nghĩ về nó theo cách này, nhận của mọi giao diện trung tâm được nối với truyền của mọi giao diện khác. Bên trong trung tâm, truyền và nhận được kết nối, ngay cả khi chúng tách biệt tại giao diện.

Ngược lại với một công tắc, trong đó mỗi liên kết được kết thúc tại giao diện của công tắc và công tắc không có các giao diện được nối với nhau. Thay vào đó, công tắc có logic (thường được nhúng trong phần cứng) để xác định nơi gửi khung mà nó nhận được trên một giao diện và để tránh va chạm bên trong công tắc.

Một công tắc là một cây cầu mật độ cao. Các cây cầu ban đầu giống như PC với nhiều giao diện. Bạn sẽ không mong đợi một PC có nhiều giao diện sẽ có xung đột nếu nó nhận được các khung đồng thời trên nhiều giao diện.


Biên tập:

Nhận xét của bạn khiến tôi tin rằng bạn vẫn không hiểu những gì tôi đã viết ở trên về các trung tâm.

Cách phát hiện xung đột khi sử dụng UTP và một trung tâm là do các thiết bị gửi nghe tín hiệu khác trong khi gửi. Nếu một thiết bị sử dụng UTP được cấu hình cho một nửa song công, thì nó sẽ tin rằng có một xung đột khi nghe thấy tín hiệu trong khi gửi.

Khi bạn có một sự không phù hợp song công, thiết bị được cấu hình cho song công hoàn toàn sẽ vui vẻ gửi trong khi nhận từ thiết bị được định cấu hình cho một nửa song công. Mặt khác, thiết bị được cấu hình cho bán song công sẽ tin rằng có xung đột khi đang gửi và nghe tín hiệu đó từ thiết bị được định cấu hình cho song công hoàn toàn. Điều đó sẽ gây ra tất cả các loại sự cố vì thiết bị được cấu hình cho một nửa song công sẽ ngừng gửi khung (gây ra tiếng rít) và nó sẽ gửi tín hiệu gây nhiễu mà thiết bị được định cấu hình cho song công hoàn toàn không mong đợi. Thiết bị được cấu hình cho song công hoàn toàn sau đó sẽ dừng gửi khung của nó.


3
Đây là câu trả lời thực sự. OP đang bỏ qua tất cả các trường hợp ngoại trừ chỉ có hai điểm cuối với cáp chéo (hoặc, trong một thiết lập hiện đại, bất kỳ cáp nào) giữa chúng.
R .. GitHub DỪNG GIÚP ICE

@R .., bản vẽ trong câu hỏi hiển thị một hub, vì vậy tôi đã trả lời cho một kết nối trung tâm.
Ron Maupin

Câu trả lời này giải thích cách va chạm xảy ra khi bạn có Hub trong cấu trúc liên kết. Mặc dù va chạm muộn có thể xảy ra khi có hai nút (giả sử là một công tắc và PC), một nút là bán song công và nút kia là song công hoàn toàn. Tại sao một vụ va chạm xảy ra trong trường hợp này, mặc dù có các mạch riêng cho Tx và Rx, như thể hiện trong biểu đồ câu hỏi của tôi?
Christos Dalamagkas

Có vẻ như nhãn "Hub MDI-X" gây ra một số nhầm lẫn, liên quan đến điểm câu hỏi của tôi. Tôi chỉnh sửa cho phù hợp.
Christos Dalamagkas

3
Bởi vì một trong hai song công tuyên bố một vụ va chạm khi nghe thấy một cái gì đó trong khi gửi. Xem câu trả lời ở trên .. Nếu một thiết bị được cấu hình cho bán song công nghe thấy tín hiệu khác trong khi gửi, nó phải cho rằng có xung đột vì tin rằng đó là một nửa song công và mỗi lần chỉ có một thiết bị có thể gửi.
Ron Maupin

8

Câu hỏi tuyệt vời.

Trong song công hoàn toàn, có một kênh dành riêng cho lưu lượng truy cập từ "trái sang phải" và một kênh chuyên dụng từ lưu lượng truy cập từ "phải sang trái":

Kênh chuyên dụng

Do đó, trong song công hoàn toàn, các va chạm là không thể - ngay cả khi cả hai NIC đều truyền cùng một lúc.

Trong half-duplex , tuy nhiên, giao thông theo cả hai hướng có nghĩa là để chỉ sử dụng dây, một hướng tại một thời điểm. Vì vậy, trong khi về mặt vật lý, vẫn có các kênh chuyên dụng, về mặt logic nếu một NIC nhận được thứ gì đó trong khi truyền, nó sẽ ghi lại nó như một sự va chạm. Các bit / tín hiệu không thực sự "va chạm" vào dây - bộ đếm va chạm chỉ đơn giản là tăng lên khi NIC đang nhận và truyền cùng lúc.


4
Các tín hiệu va chạm vào dây, ngay cả với cặp xoắn. Với ba nút cuối, hai tín hiệu đồng thời sẽ va chạm vào nút thứ ba.
Zac67

4
" Các bit / tín hiệu không thực sự" va chạm "vào dây " Trong một trung tâm, như trong bản vẽ trong câu hỏi, các bit thực sự va chạm vào dây và tạo ra tín hiệu rác. Các máy chủ đang gửi đồng thời và nghe một tín hiệu khác sau đó sẽ gửi tín hiệu gây nhiễu đến tất cả các giao diện khác trên hub.
Ron Maupin

@RonMaupin Tất nhiên là bạn đúng - Tôi đã đề cập đến những gì sẽ xảy ra khi bộ lặp không phát hiện / phản ứng với vụ va chạm.
Zac67

1
@ Zac67, tôi đã không bình luận cho bạn, Bạn và tôi đã nói điều tương tự về cơ bản cùng một lúc.
Ron Maupin

@ Zac67 / RonMaupin OP đã chỉnh sửa câu hỏi xác nhận rằng họ không hỏi về trường hợp của các trung tâm.
Eddie

6

Với cặp xoắn và bộ trung tâm lặp lại, bộ trung tâm không khác gì một bộ khuếch đại kỹ thuật số. Vì vậy, nó cảm nhận được sóng mang từ tín hiệu đến trên một cổng và chuyển tất cả các cổng khác sang chế độ đầu ra. Trong chế độ đầu ra này, bất kỳ sóng mang đến bổ sung nào là xung đột. Điều này kích hoạt tín hiệu kẹt để truyền xung đột và làm cho người gửi dừng truyền.

Phương pháp lặp lại này bắt chước hành vi của các biến thể Ethernet phương tiện được chia sẻ trước đó (10BASE5 & 10BASE2) trong đó bộ lặp chỉ được sử dụng làm khớp nối phân đoạn vật lý hoặc bộ mở rộng dòng. Tất nhiên bạn đã đúng: cặp xoắn là một môi trường song công hoàn toàn ở cấp độ dây trong đó va chạm chỉ xảy ra ở lớp vật lý phía trên chứ không phải trên chính dây.

Một bộ lặp không thể cho phép nhiều hơn một người gửi cùng một lúc. Nhiều truyền đồng thời sẽ trộn lẫn trên các cổng đầu ra và tạo ra tiếng ồn không thể hiểu được. Tương tự, bất kỳ nút nào trong chế độ bán song công đều giả sử một phương tiện được chia sẻ, không có khả năng truyền song công hoàn toàn. Bất kỳ sóng mang nào cảm nhận được trong khi truyền là va chạm, khiến người gửi lùi lại. Cho dù phương tiện có đủ khả năng song công (sợi, cặp xoắn) hay không (dỗ) không thành vấn đề.

Với sự không phù hợp song công, một đầu liên kết ở chế độ bán song công và đầu kia ở chế độ song công hoàn toàn. Bây giờ, khi phía bán song công (HDX) đang truyền, bất kỳ sóng mang nào trên máy thu của nó đều gây ra xung đột. Tuy nhiên, phía song công hoàn toàn (FDX) có thể đang vui vẻ gửi đi trong khi nó đang nhận được từ phía HDX và nó hoàn toàn không biết gì về các va chạm mà nó tạo ra ở phía xa. Phía HDX cần hủy bỏ việc truyền và gửi tín hiệu kẹt. Vì phía FDX không thể phát hiện ra vụ va chạm bị cáo buộc, nó phát hiện một phần khung và do đó bị hỏng.

Các khung tần số thấp và nhỏ có cơ hội hợp lý để vượt qua sự không phù hợp song công này, vì vậy một thiết bị pingthực sự có thể hoạt động. Tuy nhiên, ngay khi bất kỳ đường truyền nghiêm trọng nào đang cố gắng thực hiện, tần số khung hình cao hơn và kích thước lớn hơn sẽ khiến việc truyền thất bại rất đáng tin cậy.

Với các công tắc không được quản lý, một sự không phù hợp song công có thể rất khó phát hiện, đặc biệt là khi ngay cả các máy chủ lưu trữ báo cáo chế độ song công của chúng đúng cách.

Với các công tắc được quản lý, bạn thường có bộ đếm lỗi cổng. Tăng va chạm ở một bên (HDX) và tăng runts và lỗi FCS ở phía bên kia (FDX) là những dấu hiệu rất mạnh cho sự không khớp song công.

Về cơ bản, dựa vào Đàm phán tự động là một thực tiễn rất tốt để tránh sự không phù hợp song công. Cấu hình tốc độ và chế độ song công thủ công thường có xu hướng tạo ra sự không phù hợp, đặc biệt là khi thay thế thiết bị một vài năm sau đó. May mắn thay, toàn bộ sơ đồ bán song công đã biến mất với Gigabit Ethernet và nhanh hơn.


3

Giả sử máy A bắt đầu gửi dữ liệu đến máy B. Khi gói bắt đầu được gửi, máy C bắt đầu gửi dữ liệu khác nhau đến máy B. Chỉ có một đường dẫn tín hiệu đến máy B, do đó việc truyền từ A và C va chạm và B không thể xảy ra nhận cả hai.

Thực tế là một mạch khác được sử dụng để truyền từ máy B, sang máy A và đến máy C không giúp ích gì. Tất cả điều đó xảy ra là A và C đang cố gắng truyền đến máy B cùng một lúc và chỉ có một đường dẫn tín hiệu đến máy B.

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.