Apakah adapter jaringan membaca bit yang masuk dalam satu aliran?


9

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? :)


1
Apakah maksud Anda untuk koneksi setengah dupleks, atau menggunakan dupleks penuh? Tidak pernah ada perangkat setengah dupleks untuk 1000Base-T, meskipun masih dalam standar itu. Dengan koneksi full-duplex, tidak akan ada bingkai dari dua perangkat yang bersaing untuk perangkat ketiga pada saat yang sama pada tautan.
Ron Maupin

full-duplex. OK, jadi, masih akan ada satu aliran 0 dan 1 (mis .: 01010101010001010010101001010100001101011010) dan dari sudut pandang Perangkat 3 (penerima), sementara Perangkat 1 dan 2 dapat bergantian pada aliran itu, mereka tidak akan pernah keduanya menjadi mengirim 0 dan 1 pada waktu yang sama, kan?
shihku7

Apakah ada jawaban yang membantu Anda? Jika demikian, Anda harus menerima jawabannya sehingga pertanyaan tidak terus muncul selamanya, mencari jawaban. Atau, Anda dapat memberikan dan menerima jawaban Anda sendiri.
Ron Maupin

Jawaban:


14

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'.


Silakan berkumpul dengan penjawab lain @jonathanjo dan cari tahu deskripsi 1000Base-T mana yang benar.
davidbak

1
"media yang sama" dari jonathanjo menggambarkan domain tabrakan multiport yang tidak (secara praktis) ada dengan Gigabit Ethernet dan usang untuk 10/100 Mbit juga.
Zac67

2
@davidbak sepertinya sudah benar untuk saya - Zac biasanya begitu! - Penekanan yang berbeda. Saya memperbaiki beberapa hal pada jawaban saya, termasuk mengklarifikasi tabrakan tidak terjadi dalam 1000baseT praktis.
jonathanjo

2
Untuk itu Anda juga harus menambahkan PAM16 dan pengkodean serupa yang pada dasarnya membuat banyak bit sampai pada satu.
PlasmaHH

1
@PlasmaHH 1000BASE-T sudah menggunakan empat jalur dan PAM5, jadi ada sekitar 9,3 bit mentah di setiap langkah clock (dan tentu saja 8 "pengguna" bit pada 125 MBd untuk L1).
Zac67

13

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:

  • 10base2 (membujuk) menggunakan apa yang lebih atau kurang satu kabel dengan setiap orang di atasnya. Jelas, dua (atau lebih) stasiun dapat mentransmisikan pada saat yang sama;
  • 10baseT dan 100baseT (berbasis twisted-pair), dengan hub (daripada switch) juga berarti bahwa dua (atau lebih) stasiun dapat mentransmisikan pada saat yang sama, karena sinyal yang diterima dari perangkat yang terhubung hanya diulang ke yang lainnya.

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:

  • Sebelum mencoba mengirim, perangkat akan memeriksa apakah ada orang lain yang mengirim (rasa pembawa)
  • Jika saluran gratis, itu mulai mentransmisikan.
  • Tetapi bahkan dengan itu, dua perangkat dapat mulai pada waktu yang bersamaan, sehingga Anda masih bisa mengalami tabrakan.
  • Untuk menghindari membuang waktu terlalu banyak pada saluran, perangkat akan mendeteksi tabrakan (dengan membandingkan apa yang mereka kirim dengan apa yang mereka terima: jika tidak cocok, maka itu berarti orang lain mengirim pada saat yang sama), batalkan transmisi, dan coba lagi setelah penundaan acak (untuk mencoba menghindari tabrakan baru).

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.


1
Ini adalah poin yang sangat bagus - mungkin jawaban yang paling tepat untuk pertanyaan itu. Saya dapat menambahkan bahwa ketika Anda mendapatkan kecepatan yang sangat tinggi (serat) mereka umumnya terbatas pada pengirim dan penerima tunggal pada saluran untuk menghindari tabrakan. Jika input lain perlu ditambahkan, dimasukkan pada saluran lain dan dikombinasikan dengan aliran masuk kemudian dikirim ke aliran keluar. Saat ini bahkan ethernet cenderung "Switched" yang menghindari tabrakan - tempat utama Anda melihat tabrakan (2 perangkat berbicara dengan satu seperti dalam pertanyaan) hari ini adalah wifi - sebagian besar lainnya adalah 1 pengirim ke 1 penerima
Bill K

12

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.


Silakan berkumpul dengan penjawab lain @ Zac67 dan cari tahu deskripsi 1000Base-T mana yang benar.
davidbak

@jonathanjo Anda benar tentang simbol tiga bit tetapi hanya ada lima level PAM. Secara kasar, ini adalah simbol 8-bit menjadi empat 3-bit ditambah pengacakan acak dimana simbol 3-bit dipetakan ke (menggeser) level PAM.
Zac67

@davidbak terima kasih telah mengambilnya. Saya menyederhanakan uraian untuk mencakup poin utama (kompleks dan bukan biner) dan menyingkirkan kesalahan. Terima kasih Zac untuk klarifikasi.
jonathanjo

7

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.


1
Nitpicking, tetapi pada tingkat Ethernet, itu akan menjadi bingkai daripada paket .
jcaron

1
@jcaron Nit-nit-picking: Tentu saja biasanya kita menggunakan 'paket' untuk berarti 'paket IP', yang disusun per RFC 791, dan merupakan 'Data Klien MAC' dari Frame Ethernet. Tetapi 'paket Ethernet' didefinisikan sebagai segala sesuatu yang dikirimkan, termasuk awal pembukaan sampai akhir bit ekstensi; dan 'bingkai' adalah bagian dari itu dari alamat tujuan ke pemeriksaan bingkai. (802.3-2015 Bagian 3.1.1 "Format Paket"). Saya akan mengatakan saklar memastikan satu paket Ether dikirim pada satu waktu, dan menyimpan dan meneruskan frame Ether .
jonathanjo

5

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.


1

(Untuk pertanyaan ini saya menganggap jaringan berbagi Hub.)

Apakah adapter jaringan membaca bit yang masuk dalam satu aliran?

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.

Asumsi saya adalah bahwa dari sudut pandang adapter Jaringan Perangkat 3, semua angka 0 dan angka 1 akan muncul dalam satu aliran data "

"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.

Ia dapat mengetahui data apa yang berasal dari Perangkat 1 atau 2, tetapi datanya masih hanya satu aliran jutaan / miliaran bit.

Bukan itu tidak bisa. Ketika sinyal menggabungkan tabrakan terdeteksi, dan frame dibuang.

Apakah saya salah sama sekali?

Judul pertanyaan Anda adalah pernyataan yang benar, tetapi diskusi Anda di Q postingan Anda mengisyaratkan bahwa pemahaman dan hipotesis Anda salah.

Lebih lanjut

  • Terlepas dari jenis "Network Adapter", mereka hanya menerima aliran bit tunggal.
  • Cara fisik untuk mentransmisikan sinyal dapat mencakup beberapa aliran data, tetapi aliran tersebut dan pemrosesan fisik tersebut tidak dianggap sebagai "Adaptor Jaringan"; substream itu adalah codependent, mereka perlu digabungkan agar masuk akal; dan, aliran itu harus berasal dari satu sumber.
  • Jika Anda tidak yakin tentang jawaban ini (dan jawaban lain di sini), Anda perlu mempelajari dasar-dasar jaringan ethernet paket / IP yang diaktifkan.

Untuk pertanyaan ini, saya berasumsi jaringan bersama Hub - OP yang merujuk ke Gigabit NIC dan mode setengah dupleks tidak (secara praktis) ada untuk GbE. ;-)
Zac67

@ Zac67 Saya seperti orang yang murah hati dan suka membantu. Saya berasumsi OP memilih "Gigabit" secara sewenang-wenang dan mereka tidak menyadari akan ada kontradiksi. Ini pada akhirnya saya jawab judul pertanyaan secara langsung dan sederhana. OP dapat membaca jawaban lain untuk mempelajari lebih lanjut tentang kontradiksi.
Todd
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.