- From: Lorenzo Bracciale <
>
- To:
- Subject: Re: [reti-accesso] Domanda su dhcp
- Date: Tue, 15 Jul 2008 01:55:35 +0200
Fabrizio De Santis ha scritto:
Quindi mi dici che nel caso di pacchetto dhcp sulla tratta
RELAY---------DHCP_SERVER, l'IP_SRC è quello è quello associato alla
scheda di rete che comunica con la sottorete del dhcp server?
Si, potrebbe e mi sembra da una parte la soluzione piu' logica.
Dall'altra come dicevo, l'IP_SRC serve a fare in modo che la risposta
torni al dhcp relay. Quindi i requisiti per questo IP_SRC sono:
1) che sia indirizzabile dal DHCP Server e dai nodi intermedi (ovvio)
2) che il dhcp relay ascolti su quell'IP.
Il secondo punto dipende da come è scritto il programma.
--- x approfondire ---
I programmi che utilizzano risorse di rete utilizzano infatti dei socket
[1] che sono specificati dalla terna protocollo di trasporto, indirizzo
IP del computer, numero di porta. Se il programma è fatto per ascoltare
su una data porta XX e tutti gli indirizzi ip della macchina, allora si
usa la notazione
Porta: XX, IP:0.0.0.0
dove "0.0.0.0" che sta per INADDR_ANY [2] ovvero "senti su tutte le
interfacce".
In questo caso il programma (nel nostro caso il dhcp relay) processerÃ
qualunque pacchetto arrivi all'host sulla porta XX. L'importante è che
sia indirizzato ad uno degli indirizzi del relay agent. In questo caso
non è importante quale IP_SRC utilizzi il relay agent per comunicare con
il DHCP Relay, tanto le risposte gli arriveranno uguale!
Se il relay agent dovesse aprire un socket su porta XX e indirizzo IP
YY, qualunque pacchetto inviato/ricevuto dal relay agent *deve*
contenere l'indirizzo IP origine/destinazione YY.
----------
Invece in uno scenario
RETE_RICHIEDENTE----------RELAY_1-----------RELAY_2----------DHCP_SERVER
e pacchetto sulla tratta RELAY--------DHCP_SERVER il campo "giaddr" è
per i motivi che hai detto prima quello del RELAY_1 vero?
Si, come e' scritto anche sulle slide (slide 39 nel blocco
http://www.uniroma2.it/didattica/reti-accesso/deposito/2_arpdhcp.pdf)
"Sets giaddr with the IP address of the interface that has received the
DHCP request ".
Per quale motivo nell'esempio hai messo due relay? è scontato vero che i
pacchetti coinvolgono solo il client, il relay1 e il dhcp server?
Una volta arrivati al relay1 i pacchetti vengono spediti direttamente al
dhcp server. Non c'e' bisogno di mettere intermediari.
Lorenzo
[1]
http://it.wikipedia.org/wiki/Socket_(reti)
[2]
http://www.cs.cmu.edu/afs/cs/academic/class/15441-f01/www/assignments/P2/htmlsim_split/node18.html
Archivio con motore MhonArc 2.6.16.