Bagaimana tepatnya tabrakan Ethernet terjadi pada kabel, karena node menggunakan sirkuit yang berbeda untuk Tx dan Rx?

13

Saya mencoba memahami bagaimana tabrakan terjadi di Ethernet, terutama ketika ada ketidakcocokan dupleks atau ketika pada jaringan Ethernet lama dua node mentransmisikan secara bersamaan.

Semua orang menjelaskan tabrakan di tingkat atas (dua frame bertabrakan ketika satu dikirim dan yang lain diterima). Namun, grafik di bawah ini menunjukkan bahwa ada sirkuit yang berbeda untuk Rx dan Tx. Bagaimana tabrakan dapat terjadi karena ada sirkuit khusus untuk mengirim dan menerima bingkai?

Berbagai sirkuit digunakan untuk transmisi dan penerimaan

EDIT : Mungkin label "Hub MDI-X" menyebabkan beberapa kebingungan mengenai titik pertanyaan saya. Saya tidak bertanya bagaimana fungsionalitas hub dapat menyebabkan tabrakan. Fokus saya adalah pada komunikasi antara dua node dengan antarmuka MDI atau MDI-X (hub dan switch memiliki antarmuka MDI-X). Dalam salah satu dari dua kasus ini, bagaimana tabrakan dapat terjadi antara dua node ketika mereka memiliki ketidakcocokan duplex, sementara dalam ketidakcocokan duplex Rx dan Tx masih memiliki sirkuit khusus mereka?

Christos Dalamagkas
sumber
Harap dicatat bahwa 10Base2 atau 10Base5 berbagi media yang sama, misalnya kabel yang sama.
Patrick Terlisten
Masih saya memiliki pertanyaan yang sama mengenai 100base-tx, jika kita memiliki duplex mismatch dan nodeA adalah half duplex dan nodeB full duplex. Misalkan nodeA memiliki antarmuka MDI dan nodeB sebuah MDI-X satu. NodeB mentransmisikan dari pin 3 dan 4 dan nodeB hanya menerima dari 3 dan 4. Bagaimana tabrakan dapat terjadi di nodeA karena hanya menerima dari pin ini?
Christos Dalamagkas
6
Tabrakan terjadi di L1, bukan L2 - itu adalah bit / operator yang bertabrakan. Dua pengirim bertabrakan ketika mereka mencoba mengirim (dekat) secara bersamaan.
Zac67

Jawaban:

11

Untuk memahami ini, Anda perlu memahami konteks historis.

Awalnya Ethernet menggunakan kabel koaksial bersama. Hanya satu perangkat yang berhasil mentransmisikan ini sekaligus. Jika dua perangkat ditransmisikan secara bersamaan itu dianggap tabrakan.

Kemudian repeater datang, untuk memperpanjang jarak dan meningkatkan jumlah node. Repeater akan mendeteksi port mana yang sedang mentransmisikan, maka ia akan mengulangi sinyal itu di port lain. Agar pendeteksian collision berfungsi, repeater harus memiliki beberapa fungsi untuk memastikan bahwa semua node mendeteksi sebuah collision. Repeater pertama hanya memiliki dua port, tetapi repeater kemudian dapat memiliki beberapa port dan ini dikenal sebagai hub, terutama bila digunakan bersama dengan kabel twisted-pair. Repeater adalah perangkat yang sangat bodoh, mereka akan membuat kembali sinyal listrik tetapi sedikit lagi.

Kemudian 10BASE-T datang, yang seperti yang Anda perhatikan memiliki saluran data khusus untuk setiap arah. Namun demikian masih perlu masuk ke model yang ada, jadi secara default itu beroperasi dalam mode "setengah dupleks" di mana ia meniru kabel koaksial. Sinyal tidak benar-benar bertabrakan pada kabel tetapi transceiver bertindak seolah-olah mereka lakukan dan repeater akan mengambil langkah yang sama seperti sebelumnya untuk memastikan ini terlihat di seluruh jaringan.

Twisted pair Ethernet juga dapat mendukung mode "full-duplex". Dalam mode ini semua perangkat keras yang berhubungan dengan tabrakan dinonaktifkan dan kedua ujungnya dapat mengirimkan kapan saja. Namun mode ini membawa beberapa kerugian besar.

  • Itu tidak kompatibel dengan repeater-hub. Tanpa mekanisme pendeteksian tabrakan, hub tidak akan dapat menangani dua perangkat yang mentransmisikan secara bersamaan.
  • Kedua ujung tautan diatur untuk mode dupleks yang sama, jika tidak maka hal-hal buruk akan terjadi.

Masalah-masalah ini berarti bahwa dalam praktiknya sistem 10BASE-T hampir selalu dioperasikan dalam mode setengah dupleks.

Untuk 100BASE-TX situasinya membaik secara dramatis. Saklar Ethernet (jembatan multi-port yang cepat secara teknis) turun harganya sehingga hub repeater yang bodoh bisa dihilangkan. Negosiasi otomatis memungkinkan kartu jaringan untuk membuat koneksi dupleks penuh tanpa konfigurasi manual yang rentan kesalahan. Jika Anda menghubungkan dua NIC 100BASE-TX bersama-sama dengan kabel crossover atau menghubungkan NIC 100BASE-TX ke sakelar dan tidak mengambil langkah-langkah untuk secara manual mengabaikan hal-hal mereka hampir pasti akan menegosiasikan mode dupleks penuh.

1000BASE-T secara teoritis memiliki mode setengah dupleks yang diklaim beberapa NIC mendukung dan ada spesifikasi untuk repeater multiport gigabit, tetapi saya belum pernah melihat bukti bahwa ada orang yang pernah menjual satu. Dalam praktiknya, tautan gigabit hampir pasti akan berjalan dalam mode dupleks-penuh.

Kecepatan lebih cepat meninggalkan mode setengah dupleks sepenuhnya.

Peter Green
sumber
Dan kemudian Wireless Ethernet tiba, dan benturan media menjadi sesuatu yang baru.
OrangeDog
@OrangeDog, jika Anda maksud Wi-Fi (IEEE 802.11), itu bukan ethernet nirkabel (IEEE 802.3). Ini adalah protokol yang sama sekali berbeda yang memiliki bingkai yang berbeda dan menggunakan CSMA / CA, bukan CSMA / CD. Kedua protokol sangat berbeda, sedangkan ethernet pada berbagai media yang didukungnya pada dasarnya sama.
Ron Maupin
14

Hub sebenarnya hanya kabel bertenaga yang mengulangi setiap sinyal yang diterimanya pada satu antarmuka ke semua antarmuka lainnya. Jika dua perangkat mentransmisikan pada saat yang sama untuk menerima antarmuka hub, hub mengulangi kedua sinyal pada saat yang sama ke transmisi semua antarmuka hub lainnya, dan kedua sinyal yang diterima akan bertabrakan pada pengiriman antarmuka lainnya, sehingga Anda memiliki tabrakan di mana semua antarmuka lainnya memiliki sinyal sampah karena ini adalah dua sinyal pada saat yang sama. Host yang mengirim secara bersamaan dan mendengar sinyal lain akan menyadari bahwa lebih dari satu mengirim sekaligus, dan mereka akan menentukan bahwa ada tabrakan.

Bayangkan dengan cara ini, penerimaan dari setiap antarmuka hub ditransfer ke transmisi dari setiap antarmuka lainnya. Di dalam hub, pengiriman dan penerimaan terhubung, meskipun terpisah di antarmuka.

Bandingkan itu dengan sakelar, di mana setiap tautan diakhiri pada antarmuka sakelar, dan sakelar tidak memiliki kabel yang disatukan. Alih-alih switch memiliki logika (biasanya tertanam dalam perangkat keras) untuk menentukan ke mana harus mengirim frame yang diterimanya pada satu antarmuka, dan untuk mencegah tabrakan di dalam switch.

Switch adalah jembatan dengan kepadatan tinggi. Jembatan asli seperti PC dengan banyak antarmuka. Anda tidak akan mengharapkan PC dengan banyak antarmuka memiliki benturan jika ia menerima frame secara simultan pada banyak antarmuka.


Edit:

Komentar Anda membuat saya percaya Anda masih tidak mengerti apa yang saya tulis di atas tentang hub.

Cara tabrakan terdeteksi saat menggunakan UTP dan hub adalah oleh perangkat pengirim yang mendengar sinyal lain saat mengirim. Jika perangkat menggunakan UTP dikonfigurasi untuk setengah dupleks, maka ia akan percaya ada tabrakan ketika mendengar sinyal saat mengirim.

Bila Anda memiliki ketidakcocokan dupleks, perangkat yang dikonfigurasikan untuk dupleks penuh akan dengan senang hati mengirim saat menerima dari perangkat yang dikonfigurasikan untuk setengah dupleks. Di sisi lain, perangkat yang dikonfigurasi untuk half duplex akan percaya bahwa ada tabrakan ketika mengirim dan mendengar sinyal dari perangkat yang dikonfigurasi untuk full duplex. Itu akan menyebabkan semua jenis masalah karena perangkat yang dikonfigurasikan untuk half duplex akan berhenti mengirim frame (menyebabkan runtuh), dan itu akan mengirimkan sinyal gangguan yang tidak diharapkan oleh perangkat yang dikonfigurasi untuk full duplex. Perangkat yang dikonfigurasikan untuk dupleks penuh kemudian akan berhenti mengirim bingkainya.

Ron Maupin
sumber
3
Inilah jawaban sebenarnya. OP mengabaikan semua casing kecuali hanya dua titik akhir dengan kabel crossover (atau, dalam pengaturan modern, kabel apa pun) di antara mereka.
R .. GitHub BERHENTI MEMBANTU ICE
@ R .., gambar dalam pertanyaan menunjukkan hub, jadi saya jawab untuk koneksi hub.
Ron Maupin
Jawaban ini menjelaskan bagaimana tabrakan terjadi ketika Anda memiliki Hub di topologi. Meskipun tabrakan yang terlambat dapat terjadi ketika ada dua node (katakanlah switch dan PC), yang satu setengah dupleks dan yang lain adalah dupleks penuh. Mengapa tabrakan terjadi dalam kasus ini, meskipun ada sirkuit terpisah untuk Tx dan Rx, seperti yang ditunjukkan pada grafik pertanyaan saya?
Christos Dalamagkas
Tampaknya label "Hub MDI-X" menyebabkan beberapa kebingungan, mengenai titik pertanyaan saya. Saya mengedit sesuai.
Christos Dalamagkas
3
Karena orang dengan setengah dupleks menyatakan tabrakan ketika mendengar sesuatu saat mengirim. Lihat jawaban di atas .. Jika perangkat yang dikonfigurasikan untuk setengah dupleks mendengar sinyal lain saat mengirim, itu harus mengasumsikan bahwa ada tabrakan karena percaya bahwa itu setengah dupleks dan hanya satu perangkat pada satu waktu dapat mengirim.
Ron Maupin
8

Pertanyaan yang bagus

Dalam dupleks penuh, ada saluran khusus untuk lalu lintas dari "kiri ke kanan" dan saluran khusus dari lalu lintas dari "kanan ke kiri":

Saluran Khusus

Oleh karena itu, dalam dupleks penuh, tabrakan tidak mungkin - bahkan jika kedua NIC mengirimkan secara bersamaan.

Namun dalam setengah dupleks , lalu lintas di kedua arah dimaksudkan hanya menggunakan kabel, satu arah pada satu waktu. Jadi sementara secara fisik, masih ada saluran khusus, secara logis jika satu NIC menerima sesuatu saat sedang mentransmisikan, itu mencatatnya sebagai tabrakan. Bit / sinyal tidak benar-benar "bertabrakan" pada kabel - penghitung tabrakan bertambah ketika NIC menerima dan mentransmisikan pada saat yang sama.

Eddie
sumber
4
Sinyal memang bertabrakan pada kawat, bahkan dengan twisted pair. Dengan tiga node ujung, dua sinyal simultan akan bertabrakan pada node ketiga.
Zac67
4
" Bit / sinyal tidak benar-benar" bertabrakan "pada kabel " Dalam sebuah hub, seperti pada gambar dalam pertanyaan, bit sebenarnya bertabrakan pada kabel dan menghasilkan sinyal sampah. Host yang mengirim secara bersamaan dan mendengar sinyal lain kemudian akan mengirim sinyal gangguan ke semua antarmuka lainnya di hub.
Ron Maupin
@RonMaupin Anda tentu saja benar - saya merujuk pada apa yang akan terjadi ketika repeater tidak mendeteksi / bereaksi terhadap tabrakan.
Zac67
1
@ Zac67, saya tidak berkomentar untuk Anda, Anda dan saya mengatakan hal yang sama pada dasarnya bersamaan.
Ron Maupin
@ Zac67 / RonMaupin OP mengedit pertanyaan yang mengkonfirmasi bahwa mereka tidak bertanya tentang kasus hub.
Eddie
6

Dengan twisted pair dan hub repeater, hub tidak lebih dari penguat digital. Untuk itu ia merasakan pembawa dari sinyal yang masuk pada satu port dan mengalihkan semua port lain ke mode output. Dalam mode keluaran ini, setiap pembawa masuk tambahan adalah tabrakan. Ini memicu sinyal kemacetan untuk menyebarkan tumbukan dan membuat pengirim berhenti mentransmisikan.

Metode berulang ini meniru perilaku varian media Ethernet sebelumnya (10BASE5 & 10BASE2) di mana pengulang hanya digunakan sebagai sambungan segmen fisik atau ekstender garis. Tentu saja Anda benar: twisted pair adalah media dupleks penuh pada tingkat kawat di mana tabrakan hanya terjadi pada lapisan fisik atas dan bukan pada kawat itu sendiri.

Pengulang tidak dapat mengizinkan lebih dari satu pengirim pada saat yang bersamaan. Beberapa transmisi simultan akan bercampur pada port output dan menghasilkan noise yang tidak dapat dipahami. Demikian juga, setiap node dalam mode half-duplex mengasumsikan media bersama, tidak mampu transmisi full-duplex. Setiap pembawa merasakan saat transmisi adalah tabrakan, menyebabkan pengirim mundur. Apakah mediumnya mampu dupleks-penuh (serat, twisted pair) atau tidak (coax) tidak masalah.

Dengan ketidakcocokan dupleks, satu ujung tautan berada dalam mode setengah-dupleks dan yang lainnya dalam mode dupleks-penuh. Sekarang, ketika sisi half-duplex (HDX) mentransmisikan, setiap pembawa pada receivernya menyebabkan tabrakan terdeteksi. Namun, sisi full-duplex (FDX) mungkin dengan senang hati mengirimkan saat menerima dari sisi HDX dan benar-benar tidak menyadari tabrakan yang dibuatnya di sisi yang jauh. Sisi HDX perlu membatalkan transmisi dan mengirimkan sinyal kemacetan. Karena pihak FDX tidak dapat mendeteksi dugaan tabrakan, ia mendeteksi kerangka yang sebagian dan karenanya rusak.

Frekuensi rendah dan bingkai kecil memiliki peluang yang masuk akal untuk melewati ketidakcocokan dupleks ini, sehingga pingbenar-benar dapat bekerja. Namun, segera setelah transmisi serius mencoba untuk berjalan, frekuensi frame yang lebih tinggi dan ukuran yang lebih besar akan membuat transmisi gagal sangat andal.

Dengan sakelar yang tidak dikelola, ketidakcocokan dupleks bisa sangat sulit dideteksi, terutama ketika bahkan host NIC tidak melaporkan mode dupleks mereka dengan benar.

Dengan sakelar yang dikelola, Anda biasanya memiliki penghitung kesalahan port. Meningkatnya tabrakan di satu sisi (HDX) dan meningkatnya keruntuhan dan kesalahan FCS di sisi lain (FDX) adalah indikasi yang sangat kuat untuk ketidakcocokan dupleks.

Pada dasarnya, mengandalkan Negosiasi Otomatis adalah praktik yang sangat baik untuk menghindari ketidakcocokan dupleks. Mengkonfigurasi kecepatan dan mode dupleks secara manual biasanya cenderung membuat ketidakcocokan, terutama saat mengganti peralatan beberapa tahun kemudian. Untungnya seluruh skema half-duplex hilang dengan Gigabit Ethernet dan lebih cepat.

Zac67
sumber
3

Misalkan mesin A mulai mengirim data ke mesin B. Ketika paket mulai dikirim, mesin C mulai mengirim data yang berbeda ke mesin B. Hanya ada satu jalur sinyal ke mesin B, sehingga transmisi dari A dan C bertabrakan dan B tidak mungkin terima keduanya.

Fakta bahwa rangkaian yang berbeda digunakan untuk transmisi dari mesin B, ke mesin A, dan ke mesin C tidak membantu. Semua yang terjadi adalah bahwa A dan C mencoba mentransmisikan ke mesin B pada saat yang sama dan hanya ada satu jalur sinyal ke mesin B.

David Schwartz
sumber