Re: [reti-accesso] Porta client DHCP - caccia al tesoro


Cronologico Percorso di conversazione 
  • From: Lorenzo Bracciale < >
  • To:
  • Subject: Re: [reti-accesso] Porta client DHCP - caccia al tesoro
  • Date: Tue, 10 Jun 2008 01:28:48 +0200

E' corretto! anche la risposta di The_Dreamer era corretta ma incomprensibile perche' aveva trovato una versione tradotta delle rfc. E' molto meglio leggere dall'inglese e dalla fonte originale:
http://www.rfc-editor.org/rfc/rfc951.txt
--------
The reason TWO reserved ports
  are used, is to avoid 'waking up' and scheduling the BOOTP server
  daemons, when a bootreply must be broadcast to a client.  Since the
  server and other hosts won't be listening on the 'BOOTP client' port,
  any such incoming broadcasts will be filtered out at the kernel
  level.  We could not simply allow the client to pick a 'random' port
  number for the UDP source port field; since the server reply may be
  broadcast, a randomly chosen port number could confuse other hosts
  that happened to be listening on that port.
----------
In altre parole quando ci colleghiamo con firefox a google, l'unica porta che ci serve sia standardizzata è la porta server http ovvero la 80. La risposta ci tornerà in un pacchetto IP destinato solo a noi, e avente come porta destinazione la porta effimera con cui abbiamo originato la richiesta.
Con DHCP è diverso. Noi non abbiamo ancora un IP quindi la risposta potrebbe essere ricevuta anche da altri host.
Se scegliessimo una porta effimera, il messaggio di risposta potrebbe arrivare a tutti gli host della nostra sottorete (broadcast) su quella porta effimera che abbiamo scelto solo noi.
Se un'altro host ha un'altra applicazione che ascolta su quella stessa porta , la nostra risposta dhcp potrebbe arrivargli e "confondere" la sua applicazione.
Per evitare di generare problemi alle applicazioni, si è preferito fissare anche la porta del client. In questo modo quando una risposta arriva in broadcast ad un host che non ha un dhcp client attivo , il kernel di questo host la butterà perchè non troverà nessuna applicazione a cui interessano i pacchetti che arrivano su quella porta.


A domani, Lorenzo

Bruno Ricci ha scritto:
Fonti:
http://www.rfc-editor.org/rfc/rfc951.txt
http://www.tcpipguide.com/free/t_BOOTPClientServerMessagingandAddressing-2.htm

Sostanzialmente, se non usassi una porta "fissa" anche lato client, il server non potrebbe determinare con certezza la porta a cui mandare il messaggio di risposta ad una richiesta BOOTP/DHCP, poichè
a) la trasmissione di tale risposta *può* essere effettuata in broadcast
b) la porta selezionata come destinazione della risposta potrebbe essere già in uso da altri "processi" come porta random

...ho toppato, vè? :)

Bruno



Lorenzo Bracciale ha scritto:
Ricordo il quesito per la "caccia al tesoro":
Trovare il perchè nel protocollo dhcp viene definita una porta specifica *anche* per il client, a differenza ad esempio di http (e della maggior parte degli altri protocolli) dove l'unica porta definita è quella server (ad es. la 80 per http).

Mandate la risposta (e la fonte) il mailing list.
Ciao,

Lorenzo






Archivio con motore MhonArc 2.6.16.

§