Saya mengerti bagaimana subnet-mask digunakan untuk membagi jaringan menjadi sub-jaringan, tetapi, mengapa setiap komputer dalam jaringan perlu mengetahui subnet-mask dan bukan hanya router?
Saya bisa memahaminya, jika setiap komputer secara fisik terhubung satu sama lain dengan kabel, tetapi semua paket harus melalui router.
Katakanlah saya memiliki komputer di jaringan 192.168.0.0/255.255.255.0
, yang memiliki IP 192.168.0.1
.
Jika komputer itu mencoba menjangkau komputer di luar sub-jaringan, katakanlah 192.168.1.1
, itu mentransmisikan pesan ke router, router mengidentifikasi bahwa IP berada di luar jangkauan IP sub-jaringan, dan bukannya mentransmisikannya pada sub-jaringan. jaringan, mentransmisikannya ke jaringan yang terhubung (mungkin router lain).
if each computer were physically connected to each other with a wire
- Anda harus ingat bahwa tcp / ip ditemukan pada saat ini memang benar. Google10-base-2
. Ada protokol lain yang bekerja secara berbeda dari tcp / ip tetapi selama 20 tahun terakhir IPv4 memenangkan pertarungan protokol.Jawaban:
Asumsi awal Anda tidak sepenuhnya benar. Apa yang Anda sebut "router" adalah dua perangkat dalam satu - router dua port yang terhubung secara internal ke switch Ethernet multi-port . (Ini contoh diagram .)
Ini berarti bahwa komputer yang langsung terhubung pada lapisan 2, dan dapat mengirim paket satu sama lain tanpa melalui router inti - mereka hanya disampaikan antara port oleh chip switch. (Router memiliki "port" sendiri di sakelar.)
Jadi jika Anda melihat paket menggunakan Wireshark, Anda akan melihat bahwa mereka langsung menggunakan alamat MAC masing-masing, sementara paket "luar" selalu memiliki MAC router sebagai tujuan.
(Saya berasumsi Anda sedang berbicara tentang "router nirkabel" khas yang ditemukan di sebagian besar rumah, yang merupakan penyebab biasa dari pertanyaan semacam ini. Jaringan yang lebih besar akan memiliki router terpisah dengan satu port per subnet, dan beberapa sakelar terpisah (mungkin master satu ditambah satu per lantai / ruang), dan beberapa lusinan komputer yang terhubung ke sakelar itu.)
Ini kira-kira sama dengan jaringan Wi-Fi, kecuali "saklar" diganti dengan "jembatan nirkabel" alias "titik akses". Dalam kedua kasus, komputer yang terhubung dapat mengirim paket langsung satu sama lain pada lapisan 2, tanpa melalui router.
Komentar:
Lagi-lagi itu tidak benar. Switch tidak memiliki pengetahuan ini; core switching mereka bekerja pada layer 2 dan tidak tahu apa - apa tentang IP - itu meneruskan frame Ethernet murni berdasarkan bidang 'tujuan alamat MAC'.
Oleh karena itu, host memerlukan subnet mask untuk mengetahui alamat MAC apa yang akan digunakan sebagai tujuan:
Jika peer berada dalam subnet yang sama, itu diasumsikan on-link menurut definisi - sehingga frame Ethernet akan memiliki MAC sebaya sebagai tujuan.
Untuk peer di luar subnet, frame Ethernet akan memiliki MAC gateway sebagai tujuan.
(Ini berlaku untuk konfigurasi default. Beberapa jaringan khusus-kepingan salju mengubah ini - mis. Sebagian besar sistem operasi memperbolehkan penambahan rute "on-link" tambahan untuk subnet tambahan; sebaliknya, beberapa sakelar dapat dikonfigurasi dengan spoof tanggapan ARP sehingga bahkan "on-link" "Lalu lintas dipaksakan melalui gateway.)
sumber
Bagaimana cara komputer mengetahui jika alamat tujuan berada di subnet yang sama di yang lain?
Memeriksa alamat tambahan lokal dan subnet mask .
Mari kita periksa beberapa contoh:
Jika komputer saya memiliki IP
192.168.0.1
dan mask adalah255.0.0.0
artinya alamat dari dari192.0.0.0
ke192.255.255.255
dalam subnet yang sama. Paket-paket ke semua komputer lain tidak perlu melalui router, mereka dapat dikirim langsung. Kirim paket ARP untuk mendapatkan alamat MAC dari komputer tujuan dan kemudian mengirim paket.Tapi, jika komputer saya memiliki IP
192.168.0.1
dan topeng adalah255.255.255.128
maka komputer di subnet yang sama dari IP adddress192.168.0.0
ke192.168.0.127
saja. Mereka dapat dihubungi secara langsung (mengirim ARP, menemukan alamat MAC, dll.). Alamat lain, misalnya192.168.0.200
harus dicapai melalui router.sumber
Sesuatu yang tidak jelas tentang IP adalah bahwa setiap perangkat IP itu sendiri merupakan router .
Ini dapat dilihat pada PC normal dengan perintah "route print". Anda terhubung ke dua jaringan: Ethernet lokal atau segmen wifi Anda, dan jaringan localhost. Setiap paket harus tunduk pada keputusan tentang jaringan mana yang akan digunakan.
Ini menjadi lebih jelas jika Anda meletakkan komputer Anda di dua jaringan, katakan yang "publik" dan "pribadi". Sekarang Anda benar-benar memerlukan subnet mask untuk memutuskan jaringan mana untuk mengirim paket.
Banyak orang secara tidak sengaja akan menemukan bahwa PC dengan koneksi jaringan tunggal dapat bekerja dengan submask yang salah dikonfigurasi: mereka akhirnya mengirim semuanya ke gateway.
sumber
Saya melihat ini disebutkan dalam beberapa jawaban lain di sini tapi saya pikir itu bisa lebih jelas: Pada komputer dengan beberapa antarmuka jaringan, subnet mask dapat digunakan untuk secara otomatis menentukan antarmuka fisik untuk mengirim lalu lintas IP berdasarkan alamat IP tujuan.
Jika Anda mengirim paket ke perangkat di LAN yang terhubung ke salah satu antarmuka, untuk mengetahui di mana antarmuka untuk mengirimnya (jika Anda belum mengkonfigurasi rute secara eksplisit), komputer dapat memeriksa antarmuka untuk melihat jika subnet_mask & destination_ip == subnet_mask & interface_ip (oleh
&
I berarti bitwise-dan dan dengan==
maksud saya untuk menegaskan kesetaraan), dan jika ada pertandingan, memilih antarmuka yang.Dengan begitu jika Anda punya misalnya:
Dan Anda mengirim paket ke 192.168.2.123 dan tidak memiliki pengaturan rute, dapat ditentukan bahwa antarmuka C harus digunakan karena 255.255.255.0 & 192.168.2.123 == 255.255.255.0 & 192.168.2.97 .
Ini tidak akan mungkin terjadi jika subnet mask tidak dikenal, jadi Anda harus mengatur rute untuk setiap alamat IP yang Anda kirimi data.
sumber
TCP / IP bisa dirancang seperti yang Anda sarankan - leaf node akan mengirim semuanya ke router, dan itu akan meneruskannya ke target, yang mungkin berada di subnet yang sama dengan pengirim.
Tapi ini bukan desain yang optimal, karena dua alasan:
Ini menggunakan lebih banyak bandwidth: Setiap paket antar perangkat pada subnet yang sama harus dikirimkan dua kali: sekali dari pengirim ke router, dan sekali lagi dari router ke penerima. Pada jaringan di mana router juga merupakan switch jaringan, ini sebenarnya bukan bandwidth tambahan, karena itu akan tetap melalui switch. Tetapi tidak semua teknologi jaringan bekerja seperti itu. Desain Ethernet asli adalah teknologi bus, tanpa sentral switch atau repeater.
Ini menempatkan lebih banyak beban pada router. Bahkan jika router juga merupakan saklar, itu sedikit lebih banyak pekerjaan karena telah naik ke implementasi routing Layer 3, daripada beralih Layer 2 yang lebih sederhana.
Filosofi umum yang mewujudkan desain TCP / IP adalah bahwa node akhir adalah perangkat cerdas, sehingga mereka dianggap mampu melakukan beberapa pekerjaan. Mereka tidak harus mengetahui topologi jaringan penuh seperti router backbone, tetapi mereka cukup tahu tentang lingkungan lokal untuk mengambil beberapa tugas routing lokal-vs-jarak jauh awal. Tidak perlu banyak kode untuk mengimplementasikan perutean awal yang sederhana ini.
Selain itu, perangkat non-router tidak harus hanya pada satu subnet. Anda dapat dengan mudah memiliki beberapa kartu jaringan dalam PC - banyak yang memiliki Ethernet dan WiFi. Dan masing-masing dapat dihubungkan ke subnet yang berbeda, dan alamat ditambah topeng subnet digunakan untuk menentukan kartu jaringan yang digunakan. Jika Anda menjalankan mesin virtual, kemungkinan ada subnet virtual yang menghubungkan mereka ke sistem host.
sumber
Jika kita melihat tabel perutean (ini adalah mesin desktop saya):
rute ip
rute, jalan
Tampilan mana pun menyampaikan informasi yang sama. Topeng subnet menunjukkan host mana yang secara langsung dapat dijangkau di jaringan itu, dan host lain ditemukan menggunakan gateway. Secara khusus, kita harus tahu bahwa gateway dapat dijangkau, jika tidak kita tidak dapat mengirim paket untuk diteruskan.
Anda pada prinsipnya dapat mengirim semuanya melalui host gateway Anda. Itu akan terlihat seperti
atau
Saya belum mencobanya, tetapi bisa digunakan untuk Penerusan Paksa-MAC .
sumber
baik perangkat yang orang sebut sebagai router biasanya bukan hanya router .. karenanya orang kadang-kadang menggunakan istilah seperti NAPT Router, atau Home Router, atau Router Konsumen, untuk menyarankan bahwa itu bukan murni router. Untuk memastikan bahwa mereka bukan hanya router, perangkat ini dapat melakukan NAPT (yang bukan routing), dan mereka memiliki switch bawaan (switch tidak menjembatani, yang tidak routing - perbedaan antara switch dan bridge sedikit tidak didefinisikan dengan baik - orang mungkin mengatakan sebuah jembatan akan sering memiliki 2 port dan menghubungkan media jaringan yang berbeda (misalnya ethernet dan non-ethernet), sedangkan switch akan memiliki banyak port dan media jaringan yang sama). Sebuah switch memang menjembatani.
Jika saklar dipisahkan dari "router", maka memang, itu akan lebih jelas .. Ketika alamat IP berada di jaringan yang sama, maka paket
diarahkan keturun kabel ke apa berikutnya secara fisik yang merupakan saklar, dan pada akhirnya ditakdirkan untuk beberapa komputer lain di jaringan (kecuali itu adalah switch yang dikelola dan Anda terhubung ke switch misalnya telnet atau http dan switch memiliki ip sendiri ), dan karena paket tidak ditujukan untuk jaringan lain, paket tidak akan mencapai router. Ketika itu ditakdirkan untuk komputer di jaringan yang berbeda, maka tentu saja masih beralih ke switch, tetapi kemudian berlanjut ke router, (switch mengarahkan paket ke router dan alamat tujuan MAC dari paket yang datang ke switch akan menjadi alamat MAC router), dan rute akan mengarahkannya keluar dari antarmuka router yang benar.Dengan hal-hal ini biasanya disebut router, yang memiliki sakelar di dalamnya (seperti, bukan router cisco / juniper gaya profesional), maka sakelar itu ada di dalam .. Tapi itu hanya lokasi sakelar .. Tetap saat IP diaktifkan jaringan yang sama maka paket tersebut ditujukan ke switch bukan ke router. Dan itu hanya berlaku untuk saklar di dalam router dan tidak mencapai router.
apa maksudmu di sini .. Jika semua komputer di seluruh jaringan secara fisik terhubung dengan kawat .. maka saya kira Anda tidak akan memerlukan switch atau router. Apa yang Anda gambarkan terdengar agak seperti ethernet asli .. dan jika mereka semua terhubung dengan kawat, kemungkinan tidak akan menjadi jaringan yang besar. Dan bagaimanapun itu tidak akan menjadi kawat seperti yang biasa Anda lakukan. Itu akan memiliki komputer yang terhubung di sepanjang jalan dengan "taps". Jadi saya tidak tahu mengapa Anda baru saja memasukkan kalimat itu.
jadi maksud Anda mengesampingkan gagasan bahwa semua komputer terhubung dengan kabel tanpa router.
Dan tidak, bahkan di rumah Anda sudah diatur, mereka tidak melalui router setiap waktu. Bahkan dengan "router rumah" Anda, sebut saja kotak internet. Mereka pergi ke sakelar di dalamnya.
ke switch lalu dari switch ke router
baik router mengidentifikasi untuk apa antarmuka jaringan itu. Mengirim dari satu antarmuka ke antarmuka lain. Satu perbedaan - selain antarmuka mana, apakah jaringan terhubung langsung atau tidak. Itu bisa mengirim ke switch kemudian ke komputer. Atau bisa mengirim ke komputer. Atau jika jaringan tidak terhubung langsung itu akan pergi ke router lain.
dan kalimat terakhirmu adalah
dan kemudian apa, apakah Anda tiba-tiba memutuskan untuk berhenti menulis?well, saya tidak akan mengatakannya seperti itu. Setiap antarmuka pada router memiliki rentang IP yang berbeda.
Tetapi, dengan router konsumen atau router rumah Anda, yang terjadi adalah seperti router dengan dua antarmuka, satu sisi Anda memiliki sakelar yang terhubung dengannya. Dan beberapa port adalah port switch.
Jadi jika Anda berpikir dalam hal bagian router, tidak seperti oh ini di dalam subnetwork dan ini di luar, karena ada banyak jaringan. Ada satu di setiap antarmuka. Dan router tidak akan mengirimkannya kembali ke jaringan yang sama dengan asalnya. Alasan mengapa mencapai router di tempat pertama adalah justru karena saklar (yang mencapai lebih dulu), melihat alamat MAC dan melihat bahwa itu bukan alamat MAC dari router.
Komputer yang mengirim paket keluar, akan memeriksa apakah IP tujuan paket berada di jaringannya sendiri, atau jaringan yang sama, dan kemudian akan berdasarkan itu, pilih alamat MAC yang relevan. Entah alamat MAC dari komputer yang ditakdirkan (itu jika komputer berada di jaringan yang sama). Atau (jika komputer ada di antarmuka router lain), maka itu akan menjadi alamat MAC router. Saya kira itu mungkin menjawab judul pertanyaan Anda secara langsung, mengapa komputer perlu mengetahui subnet mask .. Dalam sistem TCP / IP seperti itu .. begitulah cara kerjanya, komputer memilih lapisan yang relevan 2 alamat misalnya untuk ethernet, alamat MAC.
sumber
Komputer / perangkat tidak menggunakan subnet mask untuk menghitung alamat broadcast IP.
Antarmuka IP yang tidak dalam mode promiscuous dikonfigurasikan untuk menanggapi alamat broadcast IP serta alamat IP mereka sendiri.
sumber
Membuat akun hanya untuk menjawab ini, karena saya pikir orang lain terlalu memperumit peran subnet mask.
Subnet mask menentukan mesin apa yang ada di jaringan yang akan berkomunikasi dengan host. Jika sebuah host terletak di luar subnet saya, maka saya akan mencoba untuk berbicara dengan mesin itu melalui gateway saya. Jika host itu ada di dalam subnet saya, maka saya akan berbicara dengan host itu secara langsung (tidak diperlukan gateway). Selain itu, jika mesin di luar subnet host mencoba untuk berbicara dengannya, maka paket-paket itu akan jatuh di telinga tuli dan segera jatuh.
Mengapa itu relevan bagi Anda? Karena jika kami tidak menggunakan netmask, Anda mencoba berbicara dengan server DNS Google (8.8.8.8) akan meminta Anda (dan SETIAP host lain yang berbicara dengannya) untuk mengetahui alamat fisiknya (alamat MAC). Ini akan menghasilkan komputer Anda dan semua orang lain yang perlu membuat entri ARP untuk setiap mesin internet yang Anda ajak bicara. Itu akan membuang-buang RAM Anda dan memperlambat semua jaringan karena alamat fisik dari mesin akan dilewati lebih jauh dari yang dibutuhkan.
sumber