Mengapa perangkat tidak dapat menggunakan VLAN yang berbeda, tetapi pada subnet yang sama, berkomunikasi?

22

Saya punya pertanyaan tentang beralih. Saya memiliki dua perangkat yang terhubung ke saklar dengan alamat IP 192.168.5.20 dan 192.168.5.10. Kedua perangkat memiliki awalan yang sama, / 24. Itu berarti mereka berada di subnet yang sama.

Jika saya membagi perangkat ini pada VLAN yang berbeda (10 dan 20) pada switch, itu tidak akan berkomunikasi meskipun mereka berada di subnet yang sama. Mengapa itu terjadi?

Jim Pap
sumber
3
Anda memerlukan perute untuk merutekan antara berbagai Varian. Juga, ketika melakukan itu, Anda tidak dapat memiliki subnet IP yang sama pada kedua Vans itu.
5
Halo Jim Pap dan selamat datang ... Sepertinya Anda menyambungkan dua host Anda ke dalam dua sakelar berbeda, satu berlabel "LAN 10" dan yang lain berlabel "LAN 20". Mengkonfigurasi VLAN pada switch Anda membagi switch Anda menjadi beberapa, virtual, switch.
jonathanjo
3
Pertanyaan ini agak tautologi. Mereka tidak bisa karena mereka tidak bisa, dengan desain. Penciptaan VLAN terpisah secara logis mensegmentasikan internetwork yang diaktifkan. Anda sekarang perlu menggunakan beberapa bentuk perutean antar-VLAN untuk berkomunikasi dengan perangkat ini.
WakeDemons3
1
@Cown Tidak mungkin pada router Cisco untuk memiliki alamat dari subnet yang sama pada antarmuka yang berbeda, tetapi ini tidak ada hubungannya dengan VLAN sendiri yang tidak peduli dengan alamat IP (dan dapat digunakan dengan, katakanlah, IPX / SPX). Dan ... Cisco masih merupakan aktor penting tetapi jauh dari satu-satunya.
JFL
1
@Cown, bagaimana VRF yang berbeda membantu? Mereka tidak akan berkomunikasi juga, dan untuk menjawab pertanyaan Anda cukup menjembatani vlan, sesederhana itu. Bridging telah tersedia di router Cisco sejak jauh sebelum saya mengambil CCIE saya dan itu sudah lebih dari 20 tahun yang lalu
Matt Douhan

Jawaban:

39

Salah satu hal yang dilakukan VLAN adalah mengambil sakelar fisik dan memecahnya menjadi beberapa sakelar "virtual" yang lebih kecil.

Artinya penggambaran Fisik One switch dan Two VLAN ini:

masukkan deskripsi gambar di sini

Apakah identik dalam operasi untuk penggambaran Logical ini topologi yang sama:

masukkan deskripsi gambar di sini

Bahkan jika alamat IP pada gambar ke-2 berada di Subnet yang sama, Anda akan melihat tidak ada "tautan" antara dua sakelar virtual (yaitu, VLAN), dan karenanya tidak mungkin cara Host A / B dapat berkomunikasi dengan Host C / D.

Agar tuan rumah di gambar ke-2 untuk berkomunikasi satu sama lain, Anda akan memerlukan semacam perangkat untuk memfasilitasi komunikasi dari satu "beralih" ke yang lain. Perangkat yang ada untuk tujuan itu adalah Router - karenanya, Router diperlukan untuk lalu lintas yang melewati batas VLAN:

masukkan deskripsi gambar di sini

Dan karena cara kerja Router, setiap antarmuka router harus memiliki IP Subnet sendiri dan unik . Itulah sebabnya setiap VLAN secara tradisional memerlukan subnet IP uniknya sendiri - karena jika komunikasi apa pun terjadi antara VLAN tersebut, subnet unik akan diperlukan.


Gambar-gambar di atas adalah dari blog saya, Anda dapat membaca lebih lanjut tentang VLAN sebagai konsep di sini , dan tentang Routing antar VLAN di sini .

Eddie
sumber
2
Trap untuk yang tidak waspada: Jangan mencoba untuk benar-benar membagi switch dengan cara itu, MAKA menghubungkan VLAN melalui port yang tidak ditandai - kecuali Anda tahu persis bagaimana implementasi STP dan CAM di switch diatur.
rackandboneman
1
@rackandboneman Itu saran yang bagus. Tapi, titik kejelasan, gambar di posting saya hanya mewakili satu saklar fisik . "Two switch image" adalah representasi logis dari satu switch fisik dengan dua VLAN.
Eddie
2
"Setiap antarmuka router harus memiliki IP Subnet sendiri, unik.", yang mungkin benar untuk beberapa implementasi router, itu tidak secara universal benar. Setidaknya di Linux Anda dapat menetapkan subnet yang sama ke beberapa antarmuka, lalu gunakan kombinasi proxy arp dan / 32 rute untuk membuat lalu lintas mengalir di antara mereka.
Peter Green
@PeterGreen Pengecualian selalu ada. Hanya karena sesuatu dapat dilakukan, tidak berarti itu harus dilakukan - juga tidak membuatnya relevan untuk pertanyaan yang ada.
Eddie
29

Inti dari Virtual LAN, adalah membuat Layer 2 LAN terpisah pada satu perangkat fisik.

Ini seperti membangun dinding berlapis baja dan sonic di sebuah ruangan untuk membuat 2 kamar. Orang-orang di setiap setengah ruangan tidak dapat lagi berkomunikasi dengan orang-orang di setengah ruangan lainnya.

Jadi, Anda memiliki dua host di dua jaringan L2 yang berbeda tanpa apa pun untuk memungkinkan mereka berkomunikasi.

Perhatikan bahwa dalam kebanyakan kasus tidak masuk akal untuk menggunakan subnet yang sama pada dua VLAN yang berbeda. Kasing standar adalah mengaitkan jaringan IP dengan VLAN.

JFL
sumber
Saya kesulitan untuk memikirkan setiap kasus di mana menggunakan subnet yang sama pada dua VLAN yang berbeda masuk akal. Berpura-puralah Anda seorang router, dan Anda mendapatkan paket yang ditujukan untuk 192.168.5.15. VLAN apa itu?
Monty Harder
@MontyHarder Tergantung. Dari jaringan mana (virtual atau tidak) asalnya?
Deduplicator
1
@Dupuplikator Saya tidak yakin mengapa itu penting apa sumber IP paket tersebut. Bagaimana Anda tahu apa VLAN IP adalah jika Anda menggunakan rentang IP yang sama untuk dua atau lebih VLAN? Itu tidak masuk akal.
Monty Harder
@MontyHarder Saya punya kasus: Saya punya interkoneksi ke penyedia yang menggunakan pengalamatan yang sama, dan itu dibuat pada switch yang sama. Karena saya berbicara dengan keduanya (melalui router yang berbeda) dan mereka tidak berbicara satu sama lain yang baik-baik saja.
JFL
@MontyHarder Sebenarnya, sangat umum untuk memiliki subnet yang sama pada banyak LAN yang berbeda (dan karenanya VLAN). Alamat pribadi RFC1918 digunakan kembali di jutaan LAN. Anda dapat memiliki beberapa jaringan NATed secara terpisah pada VLAN yang sama Ini mungkin terjadi ad mual di lingkungan hosting. Tetapi jaringan-jaringan itu memang dianggap sepenuhnya independen.
jcaron
5

Subnet IP secara logis mengelompokkan host - host dalam subnet yang sama menggunakan koneksi layer-2 mereka untuk langsung berbicara satu sama lain. Berbicara dengan host di subnet lain membutuhkan penggunaan gateway / router.

Host grup VLAN secara fisik - host dalam segmen VLAN / broadcast domain / L2 yang sama dapat berbicara satu sama lain secara langsung. Host di VLAN yang berbeda tidak bisa. (Jangan pukul saya - kelompok secara fisik tidak benar tetapi itu menandai poin saya.)

Jadi, ketika dua host berada dalam subnet IP yang sama tetapi pada jaringan VLAN / broadcast domain / L2 yang berbeda mereka tidak dapat berkomunikasi: host sumber mengasumsikan tujuan di dalam jaringan L2 lokalnya dan oleh karena itu ia mencoba untuk ARP alamat tujuan (atau Tekad NDP untuk IPv6).

ARP bekerja dengan mengirimkan permintaan sebagai siaran ke jaringan L2 lokal dan tuan rumah dengan alamat IP yang diminta menjawab dengan alamat MAC-nya. Karena host tujuan berada di luar jaringan lokal, ia tidak pernah mendengar permintaan ARP dan ARP gagal.

Bahkan jika sumbernya entah bagaimana mengetahui alamat MAC tujuan dan membangun sebuah bingkai yang ditujukan untuk MAC itu, ia tidak akan pernah mencapai tujuan karena itu masih di luar jaringan L2. MAC dari luar jaringan L2 lokal tidak ada artinya dan tidak berguna.

Zac67
sumber
3

Melengkapi jawaban yang ada, yang mencakup pertanyaan dari sudut pandang desain dan teori ...

Daripada bertanya " mengapa mereka tidak berkomunikasi? ", Mari kita bertanya " apa yang terjadi ketika mereka mencoba berkomunikasi?"

Pertama, apa artinya mengkonfigurasi VLAN di sakelar? Dalam contoh kami ada beberapa soket yang dikonfigurasi sebagai VLAN 10, dan beberapa dikonfigurasi VLAN 20. Definisi VLAN adalah bahwa hanya soket pada VLAN yang sama yang terhubung. Apa artinya itu adalah bahwa frame yang diterima pada port di VLAN yang diberikan hanya pernah dikirim ke port dari VLAN yang sama.

  10  10  20  20  10  20       VLAN of port
   1   2   3   4   5   6       Port number
===+===+===+===+===+===+===
   |   |   |   |   |   |
   A   B   C   D   E   F       Hosts

Dalam diagram ini kami memiliki enam host, port 1, 2, 5 berada di VLAN 10, port 3, 4, 6 berada di VLAN 20.

Misalkan host A dikonfigurasi secara statis sebagai 192.168.5.10/24 dan F dikonfigurasi secara statis sebagai 192.168.5.20/24, dari pertanyaan. Misalkan B ke E memiliki alamat konfigurasi statis lainnya (tidak peduli apa alamatnya).

Jika A ping 192.168.5.20, itu menentukan dalam / 24 yang sama, jadi hal pertama yang terjadi adalah permintaan ARP: WHO HAS 192.168.5.20, dikirim sebagai siaran ethernet.

Switch menerima siaran pada port 1. Ini adalah VLAN 10, sehingga mengirimkan siaran keluar dari port 2 dan 5, port lain di VLAN 10. Host B dan E menerima permintaan ARP dan mengabaikannya karena itu bukan alamatnya.

Itu dia.

Tidak akan ada balasan ARP; hal berikutnya yang terjadi adalah batas waktu pada A, diikuti oleh permintaan ARP berulang berikutnya, sampai aplikasi menyerah.

Host yang terhubung ke port VLAN 10 apa pun tidak akan melihat apa pun, apa pun alamat IP-nya. Ini jelas termasuk F, yaitu 192.168.5.20.

Jonathanjo
sumber
1

Saya harap Anda memiliki pemahaman yang baik tentang Subnet masking. Ketika Anda memiliki VLAN terpisah, Anda harus memiliki kisaran alamat ip unik dengan subnet. Ini tidak penting.

VLAN adalah LAN terpisah tetapi merupakan virtual. LAN Virtual tambahan untuk memisahkan Jaringan di Same Switch. VLAN akan membuat domain siaran terpisah di sakelar Anda. Tetapi ketika Anda membuat LAN virtual dengan ip yang sama itu tidak berguna.

Selain itu Anda perlu mengkonfigurasi Routing Intervlan pada switch Anda.

infra
sumber
2
Tidak, bukan tidak mungkin memiliki beberapa VLAN dengan subnet yang sama. Ini tidak biasa dan agak berkecil hati, tetapi sangat mungkin.
JFL
@ JFL Benar, itu mungkin, menggunakan VRF atau bentuk pemisah lainnya, tetapi saya belum melihat ada kasus penggunaan untuk ini. Tolong beri tahu saya.
@ JFL masalah yang sama bagi saya juga. Saya baru saja mencoba di pelacak paket cisco, dengan routing intervlan. Saya tidak tahu apakah ada masalah dengan pelacak paket Cisco. Itu tidak bekerja. Saya setuju dengan cown. itu mungkin di VRF.
infra
1
@Cown Saya tidak mengatakan itu ide yang bagus juga tidak mungkin membuat mereka berkomunikasi dengan togtether (tapi tetap saja itu mungkin dengan NAT). Tapi saya punya beberapa kasus penggunaan. Misalnya saya memiliki interkoneksi dengan penyedia yang melewati beberapa jaringan RFC1918 yang tumpang tindih. Mereka terhubung ke switch yang sama di VLAN yang berbeda dan tidak saling berkomunikasi.
JFL
@JFL Maaf kawan saya hanya tidak melihat bagaimana itu membandingkan dengan apa pertanyaan awal itu. Ya itu mungkin menggunakan alamat IP yang tumpang tindih untuk interlinks atau menggunakan NAT, tetapi saya tidak berpikir itu mencerminkan skenario kehidupan nyata.
1

Pertimbangkan apa yang terjadi ketika Anda memiliki LAN di rumah dan komputer dengan IP 192.168.2.1. Teman Anda di ujung jalan juga memiliki LAN di rumahnya dan komputer dengan IP 192.168.2.2. Mereka berada di subnet yang sama, jadi mengapa mereka tidak bisa berbicara satu sama lain?

Dalam contoh seperti itu, penyebabnya berbeda dari yang Anda tanyakan.

Tetapi VLAN mencapai hasil yang sama - ia membagi jaringan, pada lapisan kedua.

Maksud saya adalah bahwa kita dapat dengan mudah melihat bahwa fakta "alamat IP berada di subnet yang sama" tidak cukup untuk menentukan apakah paket dapat merutekan di antara mereka. Topologi yang mendasarinya juga berperan.

Mengambil ini ke ekstremnya, pada lapisan terendah Anda memerlukan beberapa bahan fisik (well, okay, atau air: D) untuk benar-benar mengangkut data. Komputer Anda dapat berada di rumah yang sama pada subnet yang sama tetapi tidak terhubung secara fisik (atau memiliki tautan nirkabel) dan Anda tidak akan mengharapkan paket-paket akan dialihkan.

Lightness Races with Monica
sumber
0

Inti dari VLAN adalah memiliki segmentasi jaringan. Anda juga dapat mencapai hal yang sama (selain peringatan) menggunakan subnet. Karena subnet Anda terbagi menjadi 2 VLAN yang berbeda, perangkat Anda tidak dapat berkomunikasi di jaringan L2. Anda dapat mengatur antarmuka IRB pada sakelar untuk memungkinkan komunikasi antara VLAN. Atau, Anda dapat merutekan lalu lintas melalui firewall dan memungkinkan komunikasi selektif antara VLAN. Idealnya, Anda harus merancang jaringan Anda untuk memiliki subnet yang berbeda untuk masing-masing VLAN dan kemudian Firewall lalu lintas antara VLAN. Semoga ini membantu.

Ricky
sumber
1
Nonononono tidak menggunakan IRB dalam situasi ini ... masalahnya adalah bahwa switch seharusnya tidak pernah dikonfigurasi dengan dua vlan di subnet yang sama. Jawaban terbaik adalah menempatkan semua host dalam satu subnet di vlan yang sama.
Mike Pennington
0

Ketika koneksi Ethernet membawa lebih dari satu VLAN, semua kecuali satu dari VLAN tersebut harus ditandai . Tag VLAN yang sesuai IEEE 802.1Q ditempatkan di frame Ethernet di lokasi di mana EtherType dari frame biasanya. Bagian pertama dari tag VLAN adalah pengidentifikasi protokol tag , yang merupakan nilai konstan 0x8100. Akibatnya, perangkat yang tidak mengetahui tag IEEE 802.1Q atau dikonfigurasi untuk tidak mengharapkan mereka akan melihat frame yang ditandai dan berpikir "ini bukan IPv4, ARP atau IPv6; Ethertype 0x8100 ini, yang merupakan sesuatu yang sama sekali berbeda dan saya tidak tahu" Kurasa aku memahaminya sama sekali. Lebih baik abaikan saja. "

Saklar pendukung VLAN dapat memfilter paket yang pergi ke setiap port dengan tag VLAN mereka, dan secara opsional dapat menghapus tag VLAN dari satu VLAN yang dipilih pada lalu lintas keluar dari port tersebut (dan secara bersamaan menambahkan tag VLAN ke lalu lintas masuk di port itu), sehingga lalu lintas apa pun dari VLAN yang dipilih muncul sebagai lalu lintas Ethernet pra-802.1Q polos untuk perangkat yang terhubung ke port tertentu. VLAN yang dipilih seperti itu dikenal sebagai VLAN asli untuk port itu.

Standar 802.1Q memungkinkan port Ethernet untuk mendukung VLAN asli tunggal dan sejumlah VLAN yang ditandai pada saat yang sama, tetapi saya mengerti memiliki port pass baik frame Ethernet yang ditandai maupun yang tidak ditandai pada saat yang sama merupakan konfigurasi yang kurang disukai: Anda ' Anda harus ingat bahwa salah satu VLAN di port / NIC berbeda dari yang lain dan perlu dikonfigurasi secara berbeda. Rentan terhadap kesalahan.

Dalam terminologi Cisco, port switch dapat dikonfigurasikan sebagai port akses atau sebagai port trunk . Port akses hanya akan memberikan akses ke satu VLAN dan tag VLAN secara otomatis dihapus dari lalu lintas keluar dan ditambahkan pada lalu lintas masuk untuk port itu. Port trunk, di sisi lain, akan melewati lalu lintas pada set VLAN yang dapat dikonfigurasi, tetapi semua lalu lintas akan ditandai VLAN.

Jadi, untuk kasus Anda dari dua perangkat dalam dua VLAN berbeda pada switch yang sama, keduanya menggunakan alamat pada subnet IP yang sama. Apa yang terjadi akan tergantung pada bagaimana port switch (dan antarmuka jaringan pada perangkat) dikonfigurasi mengenai VLAN.

1.) Beralih port sebagai port akses, perangkat yang tidak sadar VLAN: port switch akan menyaring lalu lintas VLAN "berlawanan", sehingga perangkat tidak akan pernah melihat lalu lintas satu sama lain. Hal ini menimbulkan pertanyaan apakah masuk akal untuk menganggap mereka "berada di segmen jaringan yang sama" atau tidak.

2.) Beralih port sebagai port trunk diatur untuk melewati kedua VLAN, perangkat tidak sadar VLAN: setiap perangkat akan berpikir "Mengapa perangkat lain terus mengirimi saya barang Ethertype 0x8100 yang aneh ??? Saya tidak berbicara itu."

3.) Beralih port sebagai port trunk diatur untuk hanya melewati satu VLAN masing-masing, perangkat VLAN-sadar: Anda harus menentukan nomor VLAN dalam konfigurasi jaringan perangkat juga, tetapi hasil akhirnya pada dasarnya sama seperti dalam kasus # 1: perangkat tidak akan melihat lalu lintas satu sama lain.

4.) Beralih port sebagai port trunk diatur untuk melewati kedua VLAN, perangkat yang sadar VLAN tetapi dikonfigurasi untuk VLAN yang berbeda: sekarang lapisan dukungan VLAN di perangkat itu sendiri yang melakukan penyaringan, tetapi hasil praktisnya sama seperti pada kasus # 1 dan # 3: lalu lintas perangkat "berlawanan" tidak akan pernah mencapai lapisan protokol IP di tumpukan protokol jaringan perangkat.

5.) Beralih port sebagai port trunk diatur untuk melewati kedua VLAN, perangkat yang dikonfigurasi dengan kesadaran VLAN, kedua VLAN yang dikonfigurasi dalam perangkat. Ini di atas dan melampaui apa yang Anda minta. Sekarang perangkat akan hadir secara efektif di kedua VLAN.

Karena kedua VLAN berpura-pura berbeda pada tingkat Ethernet, tetapi menggunakan subnet IP yang sama, apa yang terjadi akan tergantung pada bagaimana perutean IP perangkat diimplementasikan. Detail penting utama adalah apakah tumpukan IP dirancang untuk menggunakan model host yang kuat atau model host yang lemah , dan bagaimana konsep VLAN terintegrasi ke sistem.

Sebagai contoh, Linux akan menyajikan VLAN yang ditandai yang dikonfigurasikan sebagai NIC virtual tambahan, yang mencerminkan status tautan NIC fisik yang mendasarinya, tetapi jika tidak bertindak sebebas mungkin secara teknis. Jadi itu akan sama seperti Anda memiliki dua NIC dicolokkan ke dua segmen jaringan fisik terpisah dengan 100% subnet IP yang tumpang tindih: sistem mungkin menerima lalu lintas masuk dengan baik, tetapi akan menganggap bahwa setiap NIC yang terhubung ke subnet IP tujuan baik untuk berbicara dengan host lain dalam subnet IP itu, dan akan menggunakan NIC (virtual, VLAN-spesifik) mana yang terjadi pertama kali dalam tabel routing ... dan konfigurasi mungkin atau mungkin tidak bekerja tergantung pada urutan berbagai bagian dari Konfigurasi NIC dan VLAN telah diinisialisasi. Anda harus menggunakan Linux '

Menggunakan subnet IP yang sama pada dua segmen berbeda adalah masalah lapisan-3, tidak peduli apa pemisahan segmen pada lapisan-2 adalah fisik (= NIC terpisah aktual) atau logis (= dibuat dengan VLAN). Masalah layer-3 akan membutuhkan solusi layer-3: menggunakan router atau kotak lain untuk symmetric-NAT salah satu subnet untuk menghapus IP subnet overlap akan jauh lebih elegan daripada mencoba menanganinya pada masing-masing perangkat.

telcoM
sumber