255.255.255.255 ip-t broadcast címnek szabványos használni?
Kösz a nagy semmit, nem a rizsa kellett volna. Közbe megtaláltam a saját kérdésemre a választ is az egyik egyetem egyik honlapján.
11.-ik oldal "A szabvány engedi a 255.255.255.255
használatát"
Persze, ez egy broadcast cím és működik is.
Mondok rá egy valós használati példát, de a teljes megértéséhez ismerni kell az OSI modell működését.
Vegyük pl. a DHCP-t, ami egy alkalmazás-rétegbeli szolgáltatás. Mivel bekapcsolás után a PC-nek még nincs IP-konfigurációja, ezért azt sem tudja, hogy mi a hálózatának címe. Mivel a DHCP szervert sem tudja, hogy kicsoda a hálózaton, ezért szórásos üzenettel fel kell derítenie. Remélem érződik, hogy mi itt a "probléma"? Ilyenkor jön az, hogy mivel nem tudja a hálózat címét, ezért a 255.255.255.255 IP címre küldi ki a DHCP kérelmét.
Vagy ha úgy tetszik, akkor mondhatom úgy is, hogy ameddig nincs a PC-nek IP-konfigurációja, addig az ő IP címe 0.0.0.0 ("bárki"), aminek a broadcastja ugye 255.255.255.255.
"Ha mondjuk van egy olyan hálózatod, amelynek van teszem azt 250 darab C osztályú alhálózata, arra szerinted, hogy broadcast-olsz?"
Már ott elveszettem a fonalat hogy lehet 250 db C osztályú alhálózatra bontani. Alapértelmezett átjárója? Alhálózati maszkja?
"Ilyenkor jön az, hogy mivel nem tudja a hálózat címét, ezért a 255.255.255.255 IP címre küldi ki a DHCP kérelmét."
Igen, erről olvastam, csak a részleteit nem, hogy pontosan milyen csomagok milyen porton stb. arról nem.
"Vagy ha úgy tetszik, akkor mondhatom úgy is, hogy ameddig nincs a PC-nek IP-konfigurációja, addig az ő IP címe 0.0.0.0 ("bárki"), aminek a broadcastja ugye 255.255.255.255."
Annyi pontosítást írok, hogy a 0.0.0.0 az nem "bárki", hanem egy önmagára mutató ip cím, amit úgy lehetne mondani inkább hogy "én".
Például az én esetemben ahogy próbáltam, ha recvfrom-al a 0.0.0.0 ip címen egy adott porton hallgatózok, akkor elkapom az udp üzenetet akár az ip címemmel címezve küldték, akár brodcast-ba küldték a két brodcast ip bármelyikével is, akár localhost-on keresztül csak a saját gépemen belül küldtem. Ha 255.255.255.255 ip címen hallgatózok akkor csak ha erre címezve küldik akkor kapom el, még a másik broadcast ip-re ha küldik akkor se értesülök róla. Ha localhost-ot hallgatózok akkor csak ha 127.0.0.1 a saját gépen belüli a küldő akkor kapom meg, és így tovább. Meg minden esetben megkapom (persze ha megkapom az udp bizonytalansága miatt, de elég jól működött a kis tesztekbe, csomagvesztesség nélkül) a küldő ip címét, kapok egy socket id-t, meg magát az üzenetet.
21:43 erről eszembe jutott egy újabb felmerült kérdés.
Ha 197.45.112.0 a hálózat ip címe és a hálózati maszk 255.255.255.224, ekkor ugye összesen 8 darab alhálózat kialakítására van lehetőségünk.
Első alhálózat broadcast címe 197.45.112.31. Másodiké 197.45.112.63, harmadiké 197.45.112.95 és így tovább.
Jól gondolom e, hogy a 255.255.255.255 ip a teljes hálózatra szórja az üzeneteket, a korábban felsorolt broadcast ip-k meg csak az adott alhálózatra? Vagyis valamilyen értelemben olyan mintha multicast-olás lenne?
> Annyi pontosítást írok, hogy a 0.0.0.0 az nem "bárki", hanem egy önmagára mutató ip cím, amit úgy lehetne mondani inkább hogy "én". <
A 0.0.0.0 az a "bárki"/"akárki", kvázi azt jelenti, hogy az eszköznek nem tudni az IP címét (jelentőségét lásd pl. a default route-nál). Konfigurációban nem illik megadni, mert ugyanolyan fenntartott IP cím, mint a .0 (hálózat) vagy a .255 (broadcast) végű. Igazából abban sem vagyok biztos, hogy komolyabb hálózati eszközök elfogadják-e a 0.0.0.0-át, mint beállított IP-címet.
> Ha 197.45.112.0 a hálózat ip címe és a hálózati maszk 255.255.255.224, ekkor ugye összesen 8 darab alhálózat kialakítására van lehetőségünk. <
.224-es végű maszknál 5 darab szabad bit marad, amit kioszthatsz a lanoknak+hosztoknak. Ha 3 bitet kölcsönzöl ki a lanoknak, akkor 2^3=8 lan lehetséges, ha kevesebbet vagy többet, akkor kevesebb/több cím.
> Első alhálózat broadcast címe 197.45.112.31. Másodiké 197.45.112.63, harmadiké 197.45.112.95 és így tovább. <
Yapp.
> Jól gondolom e, hogy a 255.255.255.255 ip a teljes hálózatra szórja az üzeneteket, a korábban felsorolt broadcast ip-k meg csak az adott alhálózatra? <
Nem szórja szét, hiszen minden LAN a router egy-egy interfészén van. A routerről pedig tudjuk, hogy a broadcast üzeneteket nem továbbítja (lásd legelső posztoló linkjét), tehát hiába a 255.255.255.255-öt adod meg, azt ugyanúgy csak a LAN-on belüli hosztok kapják meg.
"A 0.0.0.0 az a "bárki"/"akárki", kvázi azt jelenti, hogy az eszköznek nem tudni az IP címét (jelentőségét lásd pl. a default route-nál). Konfigurációban nem illik megadni, mert ugyanolyan fenntartott IP cím, mint a .0 (hálózat) vagy a .255 (broadcast) végű. Igazából abban sem vagyok biztos, hogy komolyabb hálózati eszközök elfogadják-e a 0.0.0.0-át, mint beállított IP-címet."
Nem tudom mi az hogy komolyabb eszköz, az én gépem nem ilyen? Hol van a határ hogy ez még nem, az már igen?
Sehol nem állítottam olyat hogy a 0.0.0.0 egy beállított ip cím. Gondolom úgy érted hogy az lenne a saját ip címe a hálózaton. Én arról beszélek hogy speciális célokra szolgál. Az csak az egyik amit te is tudsz, hogy kezdetben mi van.
Továbbra is azt állítom hogy nem bárki, hanem saját maga.
Referenciák hozzá:
"In the context of servers, 0.0.0.0 can mean "all IPv4 addresses on the local machine". If a host has two IP addresses, 192.168.1.1 and 10.1.2.1, and a server running on the host is configured to listen on 0.0.0.0, it will be reachable at both of those IP addresses."
"Pl. a saját gépről a 0.0.0.0 címre küldött üzenet a saját gépre érkezik meg."
"Különleges cím: 0.0.0.0 saját hálózaton saját gépre küldött üzenetet érkeztet"
"0.0.0.0 (csupa nulla cím): „ez a host”, tehát saját magát címezhetjük vele"
----
Gyakorlatban is kipróbáltam és ha 0.0.0.0 címet címzek és figyelem is a küldőket akkor azt látom hogy 127.0.0.1 címről üzenet érkezett. Félreértetted ezek szerint, külön máshogy viselkedik ha a saját ip címemet figyelem recvfrom-al, akkor broadcastot vagy localhost kérést nem fogad stb stb nem írom le még egyszer ugyanazt (olvasd el még 1x) a lényeg hogy a 0.0.0.0-és címen ha várom az üzenetet recvfrom-al akkor mindegy melyik brodcast címen küldi vagy 127.0.0.1-en vagy 0.0.0.0-án akkor is fogadom.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!