Tidak menerima respons yang dikirim dari subnet berbeda ketika mesin saya ada di DHCP


0

Saya membangun sebuah utilitas untuk berkomunikasi dengan beberapa perangkat keras yang datang dengan alamat IP default 10.0.0.1 dan subnet mask 255.255.255.0. Perangkat keras membalas pesan UDP pada IP dan port yang sama dengan asalnya (bukan port yang diterima). Saya memiliki pengaturan soket untuk mengirim pesan UDP siaran dan kemudian mendengarkan balasan dari IP apa pun.

Masalah yang saya alami adalah ketika mesin Windows 7 saya pada IP yang diterima dari router saya melalui DHCP (seperti sebagian besar pengguna kami), saya hanya menerima tanggapan dari perangkat yang sebelumnya dikonfigurasi untuk berada di subnet yang sama (192.168.1 .XXX), dan dapatkan apa-apa dari perangkat baru pada default 10.0.0.1.

Namun, saya menemukan (secara tidak sengaja) bahwa jika saya mengkonfigurasi ulang Windows dengan IP yang ditetapkan secara manual (10.0.0.2) dan tidak ada perubahan lain, tiba-tiba saya dapat menerima pesan dari SEMUA perangkat, dari sembarang subnet. Ini membuat saya berpikir bahwa kode saya baik-baik saja tetapi saya kehilangan sesuatu mengenai bagaimana DHCP atau Windows menangani respons UDP. Adakah yang bisa menjelaskan apa yang perlu saya lakukan agar pekerjaan ini berhasil?

Terima kasih sebelumnya!

EDIT

PC Desktop terhubung ke router melalui NIC berkabel. Semua perangkat lain terhubung ke satu saklar yang juga terhubung langsung ke router. Ketika PC dikonfigurasi pada Windows untuk mendapatkan IP secara otomatis, ia menerima 192.168.1.112. Dua perangkat secara manual diatur ke alamat 192.168.1.XXX, dan yang ketiga secara default 10.0.0.1. Perangkat tidak memiliki mode DHCP.

Catatan lain: terlepas dari apakah PC di DHCP atau IP statis, saya telah mengkonfirmasi bahwa pesan broadcast DO mencapai perangkat di subnet lain (10.0.0.1). Ini diverifikasi oleh fakta bahwa perangkat merespons dengan tepat perintah yang saya kirim. Masalahnya terletak sepenuhnya pada respons jaringan perangkat yang membuatnya kembali ke aplikasi saya. Saya tidak tahu apakah itu Windows atau aplikasi saya yang memblokir respons, tetapi saya pikir itu bukan router karena saya bisa mendapatkan respons ketika saya memberikan PC saya IP statis tanpa mengubah apa pun di jaringan.

c#  sockets  dhcp 

Bagaimana PC desktop Anda dan "perangkat keras" itu terhubung? Switch, router, kartu jaringan? Apa alamatnya?
Nikolai N Fetissov

PC Desktop terhubung ke router melalui NIC berkabel. Semua perangkat lain terhubung ke satu saklar yang juga terhubung langsung ke router.

Baik router atau switch mungkin menjatuhkan paket dari perangkat kembali ke 192.168.1/24. Ini tidak ada hubungannya dengan DHCP, hanya routing IP dasar.
Nikolai N Fetissov

Jawaban:


0

Masalahnya terletak pada perangkat keras Anda dan merupakan jaringan dasar, solusinya adalah memberikan (atau mengatur) perangkat keras alamat IP dari subnet yang sama dengan yang Anda hubungkan ke (192.168.xx) dan disebabkan karena perangkat di sub yang sama jaringan dapat berkomunikasi satu sama lain (itu sebabnya mengubah ke alamat 10.xxx berfungsi), tetapi mereka tidak dapat dengan subnet lainnya (10.xxx dan 192.168.xx adalah subnet yang berbeda) kecuali jika Anda menetapkan gateway default. Jangan salah sangka, tetapi saya menyarankan Anda untuk melihat beberapa materi jaringan (materi Cisco tersedia secara luas di internet), sehingga Anda mendapatkan beberapa dasar-dasarnya.


Itu juga asumsi saya pada awalnya, bahwa mereka tidak bisa berkomunikasi lintas subnet, tetapi kemudian saya menemukan bahwa jika saya menetapkan IP manual pada desktop saya di Windows, saya BISA berkomunikasi di seluruh subnet. Jika saya mengatur IP desktop saya ke 10.0.0.2 (tidak ada gateway default) saya menerima pesan dari subnet 10.x.x.x dan 192.168.x.x tanpa masalah.
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.