Skip to main content

Estructuras de direcciones

Direcciones de red

Las direcciones de red representan un mapeo de las direcciones del tipo de red (por ejemplo, IP) a direcciones lógicas dentro de una red de control. Este mapeo lo realiza el controlador de bloque correspondiente. Los primeros tres bytes de la dirección IP son idénticos para todos los dispositivos de red dentro de una red Ethernet con direcciones IP de "Clase C". En consecuencia, los últimos 8 bits de la dirección IP son suficientes como dirección de red, ya que permiten una asignación inequívoca entre las dos direcciones en el controlador de bloque.

Un nodo tiene una dirección de red diferente para cada conexión de red. Diferentes conexiones de red pueden tener la misma dirección de red, ya que cada dirección solo necesita ser localmente única.

Terminología: la dirección de red en la red principal generalmente se designa como la dirección de red de un nodo sin especificación de la conexión de red.

La longitud de una dirección de red se especifica en bits y el controlador de bloque puede elegirla según sea necesario. Se debe utilizar la misma longitud para todos los nodos dentro de un área de red. Una dirección de red está representada por una matriz de bytes de acuerdo con la siguiente codificación:

  • Longitud de la dirección de red: n bits

  • Bytes requeridos: b = (n + 7) DIV 8

  • Los (n MOD 8) bits de rango más bajo del primer byte y todos los demás (n DIV 8) se utilizan para la dirección de red.

ejemplo 34. Ejemplo de codificación de una dirección de red

Longitud: 11 bits

Dirección: 111 1000 1100

_cds_network_address_coding.png


Direcciones de nodos

La dirección de nodo indica la dirección absoluta de un nodo dentro de una red de control y, por lo tanto, es única dentro de todo el "árbol de red". La dirección se compone de hasta 15 componentes de dirección, cada uno de los cuales ocupa 2 bytes. Cuanto más bajo se encuentra un nodo dentro de la jerarquía de la red, más larga es su dirección.

La dirección de nodo completa consta de las direcciones parciales de todos los nodos anteriores y la dirección parcial del nodo mismo. Cada dirección parcial consta de uno o más componentes de dirección. Por lo tanto, la longitud es siempre un múltiplo de 2 bytes. La dirección parcial de un nodo se forma a partir de la dirección de red del nodo en su red principal y el índice de subred de la red principal en el caso del nodo principal. Los bits necesarios para el subíndice están determinados por el enrutador del nodo principal. Se pueden insertar bits de relleno entre el índice de subred y la dirección de red para garantizar que la longitud de la dirección parcial sea un múltiplo de 2 bytes.

Casos especiales:

  • Nodo sin red: Esto significa que no hay ni un índice de subred ni una dirección de red en la red principal. En este caso, la dirección se establece en 0x0000.

  • Nodo en la red principal sin padre: en este caso, se supone un índice de subred con una longitud de 0. La dirección parcial corresponde a la dirección de red, si es necesario ampliada con bits de relleno.

ejemplo 35. Ejemplo de direcciones de nodo
_cds_img_node_addressing.png


La dirección del nodo siempre se especifica en hexadecimal. Los componentes de dirección individuales (dos bytes en cada caso) están separados por dos puntos ":". Dado que esto representa una matriz de bytes y no un valor de 16 bits, los componentes no se muestran en formato Intel. Para direcciones ingresadas manualmente, las partes que faltan en un componente de dirección se complementan con ceros a la izquierda: "274" = "0274". Para mejorar la legibilidad, la pantalla también debe contener siempre los ceros iniciales.

Direcciones absolutas y relativas

La comunicación entre dos nodos puede basarse en direcciones relativas o absolutas. Las direcciones absolutas son idénticas a las direcciones de nodo. Las direcciones relativas especifican una ruta desde el remitente hasta el receptor. Consisten en un desplazamiento de dirección y la ruta descendente hacia el receptor.

El desplazamiento de dirección (negativo) describe el número de componentes de dirección por los que un paquete debe pasar hacia arriba en el árbol antes de que el nodo principal común pueda pasarlo de vuelta. Dado que los nodos pueden usar direcciones parciales que constan de más de un componente, el número de componentes principales que se pasan siempre es igual al desplazamiento de la dirección. Esto significa que la demarcación entre los nodos principales ya no es clara. Por este motivo, se utiliza como dirección principal el inicio común de la dirección de los interlocutores de la comunicación. Cada componente de la dirección se cuenta como un paso ascendente, independientemente del nodo principal actual. Cada error que resulte de esta suposición puede ser detectado por el nodo principal correspondiente y debe ser manejado por él en consecuencia.

Después de llegar al nodo principal común, la ruta relativa, como una matriz de componentes de dirección, se sigue hacia abajo como de costumbre. Formalmente: la dirección de nodo del receptor se forma eliminando los últimos componentes de compensación de dirección de la dirección de nodo del remitente y agregando la ruta relativa a la dirección restante.

ejemplo 36. Ejemplo de formación de direcciones de nodo

En el siguiente ejemplo, cada componente de la dirección está representado por una letra; en cada caso, un punto separa los nodos entre sí. Dado que un nodo puede llevar varios componentes de dirección, hay algunos en el ejemplo que se representan con varias letras.

Nodo A: a.bc.d.ef.g

Nodo B: a.bc.i.j.kl.m

  • Dirección del padre menos común: a.bc

  • Dirección relativa de A a B: -4/i.j.kl.m

    El número 4 resulta de los 4 componentes: d, e, f y g – que tiene que reenviar el paquete de datos hacia arriba.

Para garantizar el correcto funcionamiento del enrutamiento, la dirección relativa debe adaptarse cada vez que pasa por un nodo intermedio. Basta con adaptar el offset de dirección. Esto siempre lo hace el nodo principal. Si un nodo recibe un paquete de datos de una de sus subredes, el desplazamiento de dirección aumenta según la longitud del componente de dirección de esta subred.

  • Si el desplazamiento de la nueva dirección es < 0, entonces el paquete de datos debe pasar más arriba.

  • Si el desplazamiento de la dirección es >= 0, entonces el paquete de datos debe pasarse al nodo secundario cuya dirección local corresponde a la ruta relativa, comenzando desde el desplazamiento de la dirección. En primer lugar, sin embargo, el desplazamiento de la dirección debe aumentarse por la longitud de la dirección local del nodo secundario, para que el nodo secundario vea la dirección correcta.

Se produce una situación especial si se produce el error mencionado anteriormente durante la determinación del nodo padre común. En este caso, el desplazamiento de la dirección del nodo principal real es negativo, pero este valor es mayor que la longitud de la dirección parcial de la subred desde la que se originó el paquete. Para que el siguiente nodo vea una dirección relativa correcta en este caso, el nodo relevante tiene que hacer lo siguiente: descubrir el error, calcular la dirección local del nodo hijo sobre la base de la dirección del nodo predecesor y la diferencia de longitud, y adapte el desplazamiento de dirección en consecuencia. También en este caso, los componentes de la dirección como tales permanecen sin cambios; sólo se cambia el desplazamiento.



Direcciones de difusión

Hay dos tipos de transmisión: global y local. Se envía una difusión global a todos los nodos de una red. La dirección de nodo vacía con una longitud de 0 se reserva para este propósito.

Las transmisiones locales se envían a todos los dispositivos en un área de red. Para ello, todos los bits de la dirección de red se ponen a 1. Esto está permitido tanto en direcciones relativas como absolutas.

Un controlador de bloque debe poder procesar ambos tipos de direcciones de transmisión. Esto significa que las direcciones de red vacías, así como las direcciones de red cuyos bits se establecieron en 1, deben interpretarse y enviarse a todos los participantes relevantes.