(04-12-2019 23:56)Shaka escribió: Yo soy el otro que rindió hoy
A mi particularmente se me complicó plantear el ejercicio 6, porque el DLCI era 5000, y necesitaba 13 bits para representar 5000 en binario. Yo había estudiado que el formato de HDLC tenia 6 bits DLCI en el segundo octeto, y 4 bits DLCI en el tercero, por lo que la cantidad maxima que podía incluir eran 10 bits.
Se debía agregar un nuevo octeto a la trama. El octeto iba a estar formado por 6 bits DLCI, 1 bit de otro campo que desconocía, y un último bit EA=1.
De esta manera ibas a tener a disposición 16 bits DLCI para los 13 bits del número 5000.
Segun lo que explico Barberio en la cursada en Frame Relay el campo direccion puede ser de 2, 3 o 4 bytes esto dependerá de la cantidad de bits que se necesiten para indicar el DLCI.
Dirección de 2 bytes
1° Byte (8 bits)
DLCI Superior (6 bits)
C/R (Comando / Respuesta ) (1 bit): Siempre está en 0 ya que no se utiliza más este campo.
EA (Extension Address ) (1 bit): Si EA = 0 NO es el último byte del campo, si EA = 1 es el ultimo byte del campo.
2° Byte (8 bits)
DLCI Inferior (4 bits)
FECN (1 bit): Forward Explicit Congestion Notification (Congestión explicita hacia adelante). Si está en 0 no hay congestión en ese sentido, si está en 1 sí.
BECN (1 bit): Backward Explicit Congestion Notification (Congestión explicita hacia atrás, lado contrario). Si está en 0 no hay congestión en ese sentido, si está en 1 sí.
Discard Elegibility (DE) (1 bit): Descartar de forma inteligente.
Si DE = 1 la trama está marcada para descartarse.
Si DE = 0 No se debe descartar la trama.
Dirección de 3 bytes
1° Byte (8 bits)
DLCI Superior (6 bits)
C/R (1 bit)
EA (1 bit): Está en 0.
2° Byte (8 bits)
DLCI Intermedio (4 bits)
FECN (1 bit)
BECN (1 bit)
DE (1 bit)
EA (1 bit): Está en 0.
3° Byte (8 bits)
DLCI Inferior (6 bits)
D/C (1 bit): Si esta en 0 es una trama de datos, es parte del DLCI. Si esta en 1 es una trama de control no es parte del DLCI sino que es para controlar la red.
EA (1 bit): Está en 1.
Dirección de 4 bytes
1° Byte (8 bits)
DLCI Superior (6 bits)
C/R (1 bit)
EA (1 bit): Esta en 0
2° Byte (8 bits)
DLCI intermedio I (4 bits)
FECN (1 bit)
BECN (1 bit)
DE (1 bit)
EA (1 bit): Está en 0
3° Byte (8 bits)
DLCI intermedio II (7 bits)
EA (1 bit): Está en 0.
4° Byte (8 bits)
DLCI inferior (6 bits)
D/C (1 bit)
EA (1 bit): Está en 1.
En ese ejercicio como el DLCI 5000 necesitaba 13 bits se utilizaba una direccion de 3 bytes ya que tenes 16 bits para DLCI en cambio en la direccion de 2 bytes solo tenes 10 bits para DLCI por lo tanto no te alcanza.
Asi que en este caso el 5000 se pasa a binario 1001110001000 y vas completando los campos de DLCI tomando bits desde el final por lo tanto te queda:
000100 - Van al DLCI del 1° byte y completas con 0 adelante para completar el campo
1110 - Van al DLCI del 2° byte
001000 - Van al DLCI del 3° byte
Finalmente el campo direccion te queda como:
Dirección de 3 bytes
1° Byte (8 bits)
DLCI Superior (6 bits) = 000100
C/R (1 bit) = 0
EA (1 bit) = 0
2° Byte (8 bits)
DLCI Intermedio (4 bits) = 1110
FECN (1 bit) = 0
BECN (1 bit) = 0
DE (1 bit) = 1
EA (1 bit) = 0.
3° Byte (8 bits)
DLCI Inferior (6 bits) = 001000
D/C (1 bit) = 0
EA (1 bit) = 1
Para pasar a hexa juntas todo y haces la conversión:
1° Byte: 00010000
2° Byte: 11100010
3
° Byte: 00100001
0001 0000 1110 0010 0010 0001
1 0 E 2 2 1
Campo dirección en hexadecimal: 10 E2 21
Felicitaciones, una menos!