Próbujemy debugować niektóre aplikacje wykonujące transmisję.
Jaka jest różnica między adresem rozgłoszeniowym 255.255.255.255 a jak np. Zgłoszonym przez ifconfig, Bcast: 192.168.1.255
networking
nos
źródło
źródło
Odpowiedzi:
Adres rozgłoszeniowy jest zawsze związany z daną siecią, per se nie występuje ; gdy masz sieć, możesz obliczyć jej adres rozgłoszeniowy, zastępując wszystkie bity hosta 1s; najprościej mówiąc, adres rozgłoszeniowy jest adresem o najwyższym numerze, jaki możesz mieć w sieci, podczas gdy adres sieciowy jest najniższy (przy wszystkich bitach hosta ustawionych na 0); dlatego nie można użyć żadnego z nich jako rzeczywistych adresów hosta: są one zarezerwowane do tego celu.
Jeśli twoja sieć to 192.168.1.0/24, to twój adres sieciowy będzie 192.168.1.0, a twój adres rozgłoszeniowy będzie 192.168.1.255.
Jeśli twoja sieć to 192.168.0.0/16, to twój adres sieciowy będzie 192.168.0.0, a twój adres rozgłoszeniowy będzie 192.168.255.255.
I tak dalej...
255.255.255.255 jest specjalnym adresem rozgłoszeniowym, co oznacza „ta sieć”: pozwala wysłać pakiet rozgłoszeniowy do sieci, do której jesteś podłączony, bez względu na jego adres; w tym jest podobny do 127.0.0.1, który jest adresem wirtualnym oznaczającym „host lokalny”.
Więcej informacji tutaj: http://en.wikipedia.org/wiki/Broadcast_address
źródło
Aby dodać do tego, co stwierdził Massimo w swojej odpowiedzi:
255.255.255.255 będzie uważany za adres rozgłoszeniowy warstwy fizycznej, a 192.168.1.255 będzie uważany za adres rozgłoszeniowy warstwy sieciowej. ARP wygenerowałby transmisję warstwy fizycznej, podczas gdy NetBIOS wygenerowałby transmisję warstwy sieciowej.
źródło
Zasadniczo 255.255.255.255 jest „globalnym” adresem rozgłoszeniowym, co oznacza, że stos IP ma wysyłać pakiet do wszystkich interfejsów sieciowych, a routery skonfigurowane do przesyłania rozgłoszeniowego powinny je wysyłać.
W praktyce prawie nie ma routerów przekazujących transmisje, a wiele stosów po prostu wysyła jedną kopię pakietu do interfejsu, do którego prowadzi domyślna trasa.
Adres rozgłoszeniowy podsieci służy do wyboru określonego interfejsu. W obu przypadkach należy je odwzorować na adres rozgłoszeniowy warstwy sieci (który to FF: FF: FF: FF: FF: FF dla Ethernetu).
Ogólnie rzecz biorąc, użycie 255.255.255.255 jest złym pomysłem, ponieważ istnieje kilka konfiguracji, w których interfejs z domyślną trasą jest dokładnie złym wyborem. Wyraźne wybranie interfejsu jest lepsze, ale należy to zrobić ostrożnie.
Moją inną sugestią byłoby użycie multiemisji, jeśli ma to sens dla twojej aplikacji. Nadal obowiązują te same zastrzeżenia, co w przypadku ruchu rozgłoszeniowego, ale umożliwia to niezainteresowanym hostom szybką identyfikację pakietów i pozwala menedżerom sieci na skonfigurowanie określonych reguł przekazywania dla twojego protokołu.
źródło