Ketika adaptor jaringan Gigabit menerima data, bagaimana cara menerima bit? Apakah itu melihat semuanya dalam satu aliran 0 dan 1? Atau apakah ada beberapa aliran dari 0 dan 1 yang datang pada saat yang sama?
Misalnya ... katakanlah ada dua perangkat pengirim dan satu perangkat penerima.
Perangkat 1 dan 2 mulai mengirim data jaringan ke Perangkat 3 secara bersamaan.
Asumsi saya adalah bahwa dari sudut pandang adaptor Jaringan Perangkat 3, semua angka 0 dan angka 1 akan muncul dalam satu aliran data tunggal. Ia dapat mengetahui data apa yang berasal dari Perangkat 1 atau 2, tetapi datanya masih hanya satu aliran jutaan / miliaran bit.
Apakah saya salah sama sekali? :)
ethernet
layer1
networking
shihku7
sumber
sumber
Jawaban:
Tergantung.
Sementara banyak Ethernet PHY mengirimkan data dalam mode serial murni (mis. 100BASE-TX, 1000BASE-SX, 10GBASE-SR), beberapa membagi aliran data menjadi beberapa jalur yang ditransmisikan secara paralel.
Paling umum, 1000BASE-T - varian gigabit-over-copper yang umum - membagi aliran data yang dikodekan menjadi empat jalur dan mentransmisikan masing-masing secara terpisah pada salah satu dari empat pasangan bengkok dalam kabel Cat-5. Semua varian twisted-pair dari gigabit ke atas menggunakan empat jalur ini.
Beberapa PHY serat berkecepatan tinggi (10G +) juga menggunakan banyak jalur hingga enam belas serat (dengan serat multi-mode dan jarak pendek) atau panjang gelombang (dengan serat mode tunggal dan jarak jauh).
Namun, semuanya ditransmisikan dalam bingkai yang masing-masing dijalankan dari satu sumber ke satu tujuan. Frame umumnya atom, yaitu. mereka selalu ditransmisikan dalam satu potong. Setiap frame hanya mengangkut data dari satu koneksi / aplikasi tertentu. Headernya berisi alamat sumber dan tujuan, sehingga dapat menemukan jalannya melalui jaringan.
Ketika jaringan menerima dua frame dari sumber yang berbeda untuk port tujuan yang sama pada saat yang sama, salah satu frame perlu antri sampai port switch ke tujuan selesai mentransmisikan frame pertama.
Ini mengasumsikan bahwa sumber dan tujuan berjalan pada kecepatan yang sama yang belum tentu benar. Anda dapat memiliki server file yang terhubung oleh tautan 1 Gbit / s dan sepuluh klien masing-masing mengirimkan kecepatan penuh pada 100 Mbit / s tautan mereka tanpa antrian (signifikan). Ini mendekati saran "beberapa aliran" Anda, hanya bahwa aliran ini disisipkan di tingkat bingkai, bukan di tingkat bit.
Tingkat pada port jaringan bisa ribuan atau bahkan jutaan frame dalam satu detik, jadi dari perspektif manusia tidak mungkin untuk membedakan beberapa aliran - semua tampak 'simultan'.
sumber
Mari kita mengabaikan bagian Gigabit untuk saat ini, dan fokuslah pada bagian "2 perangkat yang mengirim pada saat yang sama" sebentar.
Di media bersama , ini sebenarnya bisa terjadi dan menjadi masalah. Sebagian besar transmisi nirkabel adalah media bersama, dan Ethernet, pada zaman dulu, dulu adalah:
Sekarang, jika dua perangkat mengirim secara bersamaan, dua hal dapat terjadi:
Anda menggunakan beberapa bentuk multiplexing (pembagian waktu, pembagian frekuensi ...) yang memungkinkan "saluran" terpisah sehingga seseorang dapat mendengarkan saluran tertentu dan tidak terganggu oleh yang lain. Ini banyak digunakan untuk transmisi nirkabel, apalagi untuk transmisi kabel (WDM / DWDM pada serat menjadi satu pengecualian).
atau jika dua atau lebih perangkat mengirim secara bersamaan pada saluran yang sama, maka Anda mendapatkan apa yang disebut tabrakan : seperti ketika dua orang berbicara pada saat yang sama, Anda tidak dapat memahami apa yang dikatakan, perangkat penerima tidak dapat men-decode data yang dikirim oleh salah satu perangkat (atau lebih sering, mereka dapat men-decode-nya, tetapi tidak masuk akal, dan tidak akan lulus pemeriksaan CRC).
Di sinilah skema seperti CSMA-CD (Carrier-Sense Multiple Access, Collision Detection) muncul:
Ini cukup menyenangkan, dan pada jaringan yang sedikit dimuatnya bekerja dengan sangat baik, tetapi begitu lalu lintas menjadi signifikan, Anda akan berakhir dengan banyak tabrakan, yang pada gilirannya meningkatkan penggunaan media bersama, yang pada gilirannya menghasilkan lebih banyak tabrakan, jadi itu bisa sangat buruk.
Jawaban untuk ini adalah beralih ke jaringan switch full-duplex . Hubs hanya mengulangi sinyal tanpa berpikir. Switch di sisi lain benar-benar menerima bingkai, dan kemudian mengirimnya kembali di tautan tujuan (bonus tambahan: frame tidak dikirim ke semua orang, hanya ke tujuan dalam banyak kasus).
Jika dua perangkat mengirim ke perangkat tujuan yang sama, maka switch akan mengantri salah satu frame, sehingga dua frame yang dikirim pada saat yang sama benar-benar tiba satu demi satu di tujuan.
Selain itu, pada tingkat fisik, sangat mungkin data dipertukarkan melalui beberapa pasangan atau bahkan beberapa kabel secara paralel. Apakah ini dilakukan pada tingkat bit atau seluruh frame dikirim pada setiap pasangan / kabel tergantung pada teknologi yang digunakan. Tapi saya pikir itu bukan pertanyaan Anda.
sumber
Kasus khusus ini adalah kasus yang kompleks.
Tentang 1000baseT.
Pertama: ketika kita mengatakan secara umum bahwa dua perangkat mentransmisikan pada saat yang sama, mereka biasanya tidak benar-benar mengirimkan bit pada saat yang bersamaan pada media yang sama. Jika mereka melakukannya, ada tabrakan dan semua perangkat pendengaran menyelesaikannya (akhirnya, melalui berbagai skema pendeteksian tabrakan). Jadi, dua perangkat pengirim akan mendapatkan akses ke medium pada saat yang sedikit berbeda. Tetapi dalam 1000baseT hanya ada dua perangkat pada set pasangan yang diberikan; biasanya satu perangkat adalah switch dan yang lainnya adalah host.
Kedua, 1000baseT mentransmisikan dua bit data sekaligus pada pasangan, dikodekan dengan cara yang kompleks di lima level tegangan. Jadi ini adalah serangkaian angka basis-4 pada kabel, bukan seri angka basis-2.
Ketiga, 1000baseT dapat mentransmisikan di kedua arah pada saat yang sama, pada pasangan yang sama. Ini dapat memisahkan sinyal keluar dari yang masuk oleh sirkuit yang disebut hybrid.
Ethernet gigabit atas media lain berperilaku berbeda. Kecepatan yang lebih lambat misalnya 10baseT dan 100baseT memiliki skema yang lebih sederhana. 10baseT melalui hub benar-benar memiliki tabrakan yang sebenarnya; alih-alih sakelar, biasanya diatur oleh sakelar sehingga frame keluar di-antri; jika dupleks penuh tidak ada tabrakan sama sekali.
sumber
Dengan asumsi semua tautan ethernet kabel di sini.
Ketika dua perangkat pada segmen jaringan yang sama mengirim pada saat yang sama, tidak peduli kepada siapa mereka mengirim, itu disebut tabrakan . Tidak ada pesan yang melewati saat tabrakan terjadi. Untungnya, pengirim memiliki kemampuan untuk mendeteksi tabrakan. Ketika itu terjadi, masing-masing pengirim akan masing-masing memilih jumlah waktu acak (sepersekian detik) untuk menunggu dan mencoba lagi, dan ulangi prosesnya sampai akhirnya hanya satu pengirim yang aktif.
Tetapi ini hampir tidak pernah terjadi lagi.
Sebagai gantinya, saat ini sebagian besar koneksi kabel dibuat melalui jaringan yang diaktifkan , di mana setiap perangkat (pengirim dan penerima) semuanya terhubung ke port masing-masing pada sakelar. Data dibagi menjadi beberapa paket (benar-benar: bingkai ), dan sakelar akan memastikan hanya satu paket yang aktif pada setiap port pada suatu waktu. Jika suatu tautan sibuk, sakelar akan menyimpan dan meneruskan bingkai-bingkai lain ke penerima ketika tautan itu tersedia lagi.
Dengan skema ini, satu-satunya cara untuk memiliki tabrakan adalah ketika ada lebih dari satu perangkat yang terhubung ke sakelar atau satu sama lain melalui hub yang tidak dialihkan (port pada beberapa model "router" wifi rumah masih belum dialihkan), atau ketika hubungan antara sakelar dan perangkat beroperasi dalam mode setengah dupleks .
Yang kami tangani justru kemacetan . Kami mungkin tidak memiliki tabrakan, tetapi host populer di jaringan mungkin memiliki perangkat yang ingin mengirim lebih banyak data dan paket daripada tautan yang akan didukung, sehingga buffer terisi. Tapi itu masalah lain.
sumber
Saya pikir Anda perlu mendapatkan beberapa pemahaman dasar tentang cara kerja ethernet. Sebagai contoh, host pengirim akan mengirimkan pembukaan yang bergantian dan nol untuk mendapatkan perhatian dari host penerima. Ketika host penerima melihat dua yang berturut-turut, ia tahu bahwa frame berikutnya. Setelah frame ditransmisikan, maka harus ada keheningan di telepon untuk 96 bit sebelum frame lain dikirim.
Standar ethernet yang berbeda akan menggunakan pengkodean yang berbeda. Sebagai contoh, 100Base-T menggunakan 4B5B yang mengirim lima bit untuk setiap empat bit data.
sumber
(Untuk pertanyaan ini saya menganggap jaringan berbagi Hub.)
Iya. Terlepas dari penerapan PHY, ini adalah aliran input tunggal. Komunikasi dari beberapa perangkat tidak dapat berhasil mencapai satu NIC (MAC Address) pada saat yang sama.
"aliran tunggal" ya, tetapi dalam contoh Anda tentang dua perangkat yang mengirim secara bersamaan tidak akan ada aliran data yang tiba untuk diproses lebih lanjut; "frame" dari 1s dan 0s akan bertabrakan.
Bukan itu tidak bisa. Ketika sinyal menggabungkan tabrakan terdeteksi, dan frame dibuang.
Judul pertanyaan Anda adalah pernyataan yang benar, tetapi diskusi Anda di Q postingan Anda mengisyaratkan bahwa pemahaman dan hipotesis Anda salah.
Lebih lanjut
sumber