Istenen davranış
Bir uygulama genel yayın IP adresine bir 255.255.255.255
paket gönderdiğinde, paketin ff:ff:ff:ff:ff:ff
tüm arayüzlerde Ethernet genel yayın adresine ( ) gönderilmesini istiyorum .
Linux ve muhtemelen diğer işletim sistemlerinde de bu işe yarıyor gibi görünüyor. Windows XP ve Windows 7 bu konuda farklı davranışlar sergiliyor ve her iki durum da benim durumum için arzu edilmiyor.
Windows XP davranışı
Paket ilk ağ arayüzüne doğru bir şekilde gönderilecektir (arayüz sırası "Ağ Bağlantıları / Gelişmiş / Gelişmiş Ayarlar" bölümünde belirtilmiştir). Ayrıca diğer arayüzlere de gönderilecektir.
Her şey yolunda. Sorun, diğer arayüzlere gönderilirken, yayın paketinin kaynak adresinin ilk arayüzün IP adresidir. Örneğin, bu ağ yapılandırmasını düşünün (sipariş önemlidir):
- Adaptör 1: IP adresi
192.168.0.1
- Adaptör 2: IP adresi
10.0.0.1
- Adaptör 3: IP adresi
172.17.0.1
Şimdi bir yayın paketi gönderirsem, aşağıdaki paketler gönderilir (kaynak ve hedef IP adresleriyle):
- Adaptör 1'de:
192.168.0.1
=>255.255.255.255
- Adaptör 2'de:
192.168.0.1
=>255.255.255.255
Adaptör 3'te:
192.168.0.1
=>255.255.255.255
Uygulamada, yayın paketleri kullanan uygulamalar bağdaştırıcı 1 dışındaki arabirimler üzerinde çalışmaz.
Windows 7 davranışı
Ağ arabirimi sırasının değiştirilmesinin Windows 7 üzerinde herhangi bir etkisi yoktur. Bunun yerine, yayın IP yolu tablosu tarafından kontrol ediliyor gibi görünmektedir.
IPv4 Route Table
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 10.202.254.254 10.202.1.2 286
0.0.0.0 0.0.0.0 192.168.0.1 192.168.0.3 10
10.202.0.0 255.255.0.0 On-link 10.202.1.2 286
10.202.1.2 255.255.255.255 On-link 10.202.1.2 286
10.202.255.255 255.255.255.255 On-link 10.202.1.2 286
127.0.0.0 255.0.0.0 On-link 127.0.0.1 306
127.0.0.1 255.255.255.255 On-link 127.0.0.1 306
127.255.255.255 255.255.255.255 On-link 127.0.0.1 306
192.168.0.0 255.255.255.0 On-link 192.168.0.3 266
192.168.0.3 255.255.255.255 On-link 192.168.0.3 266
192.168.0.255 255.255.255.255 On-link 192.168.0.3 266
224.0.0.0 240.0.0.0 On-link 127.0.0.1 306
224.0.0.0 240.0.0.0 On-link 192.168.0.3 266
224.0.0.0 240.0.0.0 On-link 10.202.1.2 286
255.255.255.255 255.255.255.255 On-link 127.0.0.1 306
255.255.255.255 255.255.255.255 On-link 192.168.0.3 266
255.255.255.255 255.255.255.255 On-link 10.202.1.2 286
===========================================================================
Bkz 255.255.255.255
yolları? Evet, yayın paketlerini kontrol ediyorlar. Bu durumda, yayın paketleri daha 192.168.0.3
düşük metriğe sahip olduğu için gönderilecektir ... ancak diğer arayüzlere değil.
Global yayın paketlerinin kolayca gönderileceği arayüzü değiştirebilirsiniz (sadece 255.255.255.255
metrik olarak kalıcı bir rota ekleyin ). Ancak ne kadar çok denerseniz deneyin, yayın paketleri yalnızca tek bir arabirimde gönderilecek, hepsi benim istediğim gibi değil.
Sonuç
- Windows 7 yalnızca bir arayüze yayın paketleri gönderir. Hangisini seçebilirsin, ama buradaki nokta bu değil.
- Windows XP, tüm arabirimlere yayın paketleri gönderir, ancak bunları beklendiği gibi yalnızca bir arabirime gönderir, bu da pratikte Windows 7 davranışına eşdeğerdir.
Amaç
Windows'da (tercihen Windows 7) bu genel IP yayını desteğini bir kez ve herkes için değiştirmek istiyorum. Tabii ki daha iyi bir yol desteklenen yapılandırma değişikliği (kayıt defteri kesmek veya benzeri) bir tür olması olurdu, ama tüm önerilere açıkım.
Herhangi bir fikir?