lunes, 27 de junio de 2011

Operación de BOOTP usando Agentes Relay BOOTP

- El cliente crea la solicitud:
Esto se hace de forma normal ya que la existencia
del agente de retransmisión es transparente al cliente.


- El cliente envía la solicitud:
El cliente emite el BOOTREQUEST de forma broadcast a la dirección
255.255.255.255.


- El agente de retransmisión recibe la solicitud y la procesa: El agente en la red física del cliente está escuchando al puerto UDP 67.
El agente procesa la solicitud de la siguiente manera:


- Revisa el valor del campo Hops, si el valor es menor o igual a 16 lo incrementa, caso contrario descarta la solicitud y no hace nada más.


- Examina los contenidos del campo GIAddr. Si el campo está lleno de ceros sabe que es el primer agente de retransmisión en manejar la solicitud y añade su IP a este campo (Si el agente tiene más de una dirección IP añade la de la interfaz que recibió la solicitud).






- El agente de retransmisión retransmite la solicitud:
El agente de retransmisión envía la solicitud BOOTP al servidor BOOTP. Si el agente sabe la dirección IP del servidor enviara la solicitud directamente de forma unicast. De otra forma, si el agente es un router, puede optar por emitir la solicitud a través de una interfaz diferente de la que recibió la solicitud. En este caso el agente pasaría la solicitud a la siguiente red esperando que el nuevo agente reconozca efectivamente la dirección IP del servidor BOOTP, es decir que está en su subred. Cada vez que la solicitud ingresara a un agente se daría el paso 3 del proceso, por lo cual el valor del campo Hops del mensaje se iría incrementando. Como se describe en el paso 3 la solicitud es descartada cuando el valor de Hops supera a 16, esto con el fin de que no hayan solicitudes rotando por la red eternamente.


- El servidor recibe la solicitud y la procesa:
El servidor BOOTP recibe la solicitud retransmitida desde el agente de retransmisión BOOTP y la procesa de forma normal.


- El servidor crea una respuesta:
El mensaje de respuesta se crea de forma normal.


- El servidor envía la respuesta:
Viendo que el valor del campo GIAddr era diferente a cero, el servidor se da cuenta de que la solicitud fue retransmitida. En vez de intentar enviar la respuesta de vuelta al cliente que envió la solicitud, este transmite la respuesta de forma unicast al agente de retransmisión especificado en GlAddr.


- El agente de retransmisión retransmite la respuesta:
El agente de retransmisión BOOTP transmite el mensaje BOOTREPLY de vuelta al cliente. Lo hace de forma unicast o broadcast, dependiendo del valor del campo CLAddr y de la flag B de la misma forma en que un servidor lo hace cuando no ha retransmisión.

No hay comentarios:

Publicar un comentario