Bagaimana saklar mempelajari tabel switch?


22

Katakanlah tabel switch kosong. Jika komputer A mengirimkan frame yang ditujukan ke komputer B, switch akan menyiarkan menanyakan siapa yang memiliki alamat mac B. Bagaimana jika C tiba-tiba mengirim frame ke A? Apa mekanismenya sehingga saklar tidak salah mengira komputer C adalah komputer B? Apakah itu mengingat alamat mac dari tujuan yang diinginkan oleh komputer A, dan ketika C mencoba untuk sampai ke A, ia juga berisi alamat mac sendiri dan switch melihatnya bukan tujuan yang sama dengan yang diinginkan komputer A?

Pada dasarnya saya bertanya, ketika saklar membanjiri alamat mac yang tidak dikenal untuk permintaan yang dikirim oleh host A, bagaimana ia tahu bahwa tujuan merespons ke host A atau jika beberapa host lain kebetulan mentransmisikan ke A?


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

Jawaban:


34

Sakelar Layer 2 (jembatan) memiliki tabel alamat MAC yang berisi alamat MAC dan nomor port. Switch mengikuti algoritma sederhana ini untuk meneruskan paket:

  1. Ketika sebuah frame diterima, switch membandingkan alamat MAC SOURCE dengan tabel alamat MAC. Jika SUMBER tidak dikenal, saklar menambahkannya ke tabel bersama dengan nomor port paket itu diterima. Dengan cara ini, saklar mempelajari alamat MAC dan port dari setiap perangkat pengirim.

  2. Switch kemudian membandingkan alamat MAC DESTINASI dengan tabel. Jika ada entri, sakelar meneruskan bingkai keluar dari port terkait. Jika tidak ada entri, switch mengirim paket keluar semua port-nya, kecuali port tempat frame diterima (Flooding).

Perhatikan bahwa sakelar tidak mempelajari MAC tujuan hingga menerima bingkai dari perangkat itu.


Terima kasih @Ron untuk menjelaskannya dengan lebih baik. Sekarang saya tahu banjir itu. Juga dapat ditemukan di en.wikipedia.org/wiki/Unicast_flood
Damon

Ini tidak menjawab pertanyaan yang saya ajukan.
Celeritas

5
@Celeritas Asumsi Anda dalam pertanyaan Anda salah. Switch tidak "bertanya" siapa yang memiliki alamat mac. Jika tidak tahu MAC tujuan, itu membanjiri frame keluar semua port. Itu hanya belajar sumber MAC ketika menerima bingkai. Jadi dalam pertanyaan Anda, sakelar dapat memberi tahu perbedaan antara B dan C karena mereka memiliki alamat MAC sumber yang berbeda.
Ron Trunk

4
@Celeritas - Switch tidak tahu, juga tidak peduli, mengapa ada host yang mengirim sesuatu ke Host A. Mengapa penting jika host merespons ke Host A, atau host lain mengirim sesuatu yang lain ke Host A? Switch hanya peduli bahwa MAC tujuan adalah untuk Host A (dan apa MAC sumbernya jika tidak ada dalam tabel alamat MAC). Hanya Host A yang peduli jika frame yang diterima adalah respons dari host yang awalnya dikirimi frame.
Ron Maupin

Apa yang dikatakan Ron, konsep ini terpisah dari ARP.
Jordan Head

4

Pertanyaan Anda mengasumsikan bahwa saklar terlibat dalam, atau menyadari, komunikasi / percakapan antara dua host (Apakah ini percakapan antara A dan B atau antara A dan C?). Switch tidak terlibat dalam komunikasi / percakapan antara dua host. Ia hanya mengetahui (atau mempelajari) alamat MAC mana yang dikaitkan dengan port mana dan meneruskan (atau mengalihkan) lalu lintas yang ditujukan untuk alamat MAC tertentu ke port terkait (setelah ia mengetahui port mana yang dikaitkan dengan alamat MAC), terlepas dari apakah sumbernya adalah B, atau C atau host lain yang terhubung ke port switch lain.

Switch bekerja di lapisan 2. Manajemen sesi adalah tanggung jawab lapisan yang lebih tinggi.


-2

Tidak disebut switch table; tabel MAC-nya. Sekarang pertimbangkan bahwa tabel MAC kosong. Ketika A mencoba mengirim paket ke B; paket berisi alamat MAC A dan B. Switch memperbarui alamat MAC A di tabel MAC. Sekarang karena ia tidak tahu port tempat B terhubung, maka ia menyiarkan paket ARP di semua port-nya dan menunggu semua host membalas.

Sekarang pada saat yang sama jika C mencoba mengirim paket ke A, ia mengekstrak alamat MAC C dari paket itu dan menyimpannya dalam tabel MAC. Sekarang karena alamat MAC sudah ada di tabel MAC, jadi ia tahu ke port A mana yang terhubung. Ingat, paket data berisi alamat MAC sumber dan tujuan. Karenanya alamat MAC B & C berbeda. Jadi saklar tidak bingung. Sekarang beralih ke depan paket dari C ke A (Mengingat bahwa keduanya hadir dalam VLAN yang sama).

Untuk mengirim paket dari A ke B, ia menunggu hingga B merespons paket ARP yang dikirim melalui sakelar. Ketika menerima respons dari B, ia memperbarui alamat MAC B di tabel MAC-nya. Lalu akhirnya paket diteruskan ke B.

Oleh karena itu saklar tidak menjadi bingung karena paket data (tcp / udp) berisi sumber dan alamat MAC tujuan. Dan saklar Anda tidak akan meneruskan paket pada antarmuka yang alamat MAC host akhirnya tidak diketahui beralih. Itu harus menunggu sampai host akhir membalas siaran ARP yang dikirim dengan sakelar.


1
Ini tidak sepenuhnya akurat. Sakelar, kecuali sakelar layer-3, tidak ARP. ARP adalah untuk menyelesaikan antara layer-2 dan layer-3, dan saklar tidak tahu layer-3. Switch memang menyiarkan frame dengan tujuan MAC yang tidak diketahui ke setiap port switch. Host akan mengabaikan frame apa pun dengan MAC tujuan bukan miliknya.
Ron Maupin

1
Dan sedikit klarifikasi untuk klarifikasi Ron ... kebanyakan hanya koreksi terminologi. Ketika sebuah switch mengirimkan paket ke setiap port (kecuali port masuknya) karena ia tidak tahu di mana alamat MAC itu berada, biasanya disebut "flooding".
Jeff McAdams

@Ron, terima kasih atas koreksi Anda. A lupa untuk menulis bahwa ini adalah untuk switch layer 3. Dan saya juga ingin mengakui bahwa saya lupa istilah flooding, jadi saya menulis balasan untuk switch layer 3. Dan Jeff terima kasih telah memberi tahu.
Damon

@ Jeff McAdams, Anda benar, ini banjir, terima kasih. Itu sebelum cangkir kopi pertama saya setelah saya bangun pagi, dan saya maksudkan siaran dalam arti bahasa, bukan rasa jaringan.
Ron Maupin

@ Damon, itu yang saya tidak tahu adalah bahwa setiap frame berisi sumber dan alamat MAC tujuan.
Celeritas
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.