Asuntos Oficiales > Retos

 Re: Protocolo Hdlc

<< < (2/10) > >>

© Jonathan ©:
Hola juank, bueno gracias por los comentarios anteriores, ahora tengo otra pequeña duda, quisiera saber si en este fragmento de texto que escribiste al publicar el reto hay un error o yo estoy equivocado:

Entradatransmisor: 00000000111100000101010100000000
Salida transmisor: 011111100000000000001111001010100000000001111110

Entrada receptor : 011111100000000000001111001010100000000001111110
Salida receptor  : 00000000111100000101010100000000

   Ya que me parece que hay un cero que no deberia estr, y deberia ser 1.

Entradatransmisor: 00000000111100000101010100000000
Salida transmisor: 011111100000000000001111001010100000000001111110

   No entiendo porque es un cero, por favor explicame si es un error tuyo o es algo que no entiendo de la explicacion del reto. Gracias y Saludos :adios:

JuanK:
Es algo que no has entendido, o que no has leido bien.. yo se que es , pero no te lo voy a decir :P .

Suerte.

© Jonathan ©:
Bueno, yo entiendo algo, que es lo  que esta en este fragmento:

_Cuando el transmisor está en el proceso de transmitir un “frame” chequea cada bit transmitido. Si en un momento determinado aparecen 5 unos(1’s) consecutivos, se inserta un cero(0) extra después del quinto bit (A esto se le llama BitStufing) para evitar que se presente el patrón bandera.

Por supuesto el receptor tiene que estar preparado para recibir este tipo de “stream”: tiene que chequear el “stream” de bits. Cuando detecta una bandera, empieza a recoger los caracteres que conforman un “frame”. Pero si dentro del “frame” encuentra 5 unos (1’s) consecutivos, debe chequear el siguiente bit:

-Si es un 0, significa que recibió una bandera y por lo tanto que recibió el final del “frame”
-Si es un 1, es una secuencia de 6 o más unos, que es prohibida en el protocolo y que por lo tanto implica un error y el “frame” es abortado completamente. El receptor inicia de nuevo la búsqueda del siguiente carácter bandera.

Pero no me cierra todo ya que no encuentro cual es el byte bandera, esa parte no la entiendo porque al principio dices que el Flag es 01111110, y en ese fragmento esta diciendo que el flag es 00111110 o cualquier byte que contenga 5 1's consecutivos, al final, creo que eso me costara entenderlo, por favor disculpame si mis dudas son un poco tontas, es que no puedo continuar con el programa sin antes eliminar esas dudas. Gracias  :question:

JuanK:
Este ejercicio me lo pusieron en la maraton nacional de programación, y tambien tube muchas dudas.. eso si no respondieron ninguna...ya que una de las reglas que hay es que no se responde ninguna pregunta.. lo cual me parece muy tonto porque en particualr perdi mucho tiempo en este ejercicio por un error de redaccion, ya que daba para varias
interpretaciones, asi que no hay problema por preguntar.

Tu problema es que has interpretado de manera errada, ya que el texto dice:
 
--- Citar ---_Cuando el transmisor está en el proceso de transmitir un “frame” chequea cada bit transmitido. Si en un momento determinado aparecen 5 unos(1’s) consecutivos, se inserta un cero(0) extra después del quinto bit (A esto se le llama BitStufing) para evitar que se presente el patrón bandera.

Por supuesto el receptor tiene que estar preparado para recibir este tipo de “stream”: tiene que chequear el “stream” de bits. Cuando detecta una bandera, empieza a recoger los caracteres que conforman un “frame”. Pero si dentro del “frame” encuentra 5 unos (1’s) consecutivos, debe chequear el siguiente bit:

-Si es un 0, significa que recibió una bandera y por lo tanto que recibió el final del “frame”
-Si es un 1, es una secuencia de 6 o más unos, que es prohibida en el protocolo y que por lo tanto implica un error y el “frame” es abortado completamente. El receptor inicia de nuevo la búsqueda del siguiente carácter bandera.

--- Fin de la cita ---

Lo primero indica que si esta transmitiendo y encuentra 5 unos, despues del quiento bit en uno agrega un cero.

Lo segundo, nos dice que en el receptor, si se reciben 5 unos, revisa el siguiente bit, si el siguiente bit despues de esos 5 unos es un cero entonces se descarta el cero y se continua leyendo los bIts, pero si es un uno es un error de protocolo porque el transmisor no pudo haber enviado más de 5 unos seguidos.

Lo del 00111110 es solo que has tenido un poco de dificultad con la interpretacion de este fragmento, nunca se dice de ningun modo ni explicita ni implicitamente que la bandera sea esa.. la bander unicamente es 01111110.

No estoy seguro si me he hecho entender, en todo caso si te quedan dudas me comentas, pues como ya te dije no hay ningun problema en preguntar.


Un saludo y suerte.!!!

Me cuentas como te fue.

JuanK:
Bueno la pista que dare para este reto es que se fijen en esto:
 
--- Citar ---Entrada del transmisor

Leerá por un archivo de tipo texto a ser transmitido. Este archivo podrá contener únicamente secuencia de caracteres ‘1’ y ‘0’ que representan los byte a ser transmitidos. El orden de los bit dentro del cada byte es de más a menos significativo.

--- Fin de la cita ---

 
--- Citar ---Salida receptor

El archivo de salida deberá ser de tipo texto y contener los bytes transmitidos(expresados en secuencia de caracteres ‘1’ y ‘0’), cada uno con sus bits en orden de menos a más significativo.

--- Fin de la cita ---

Creo que esta pista les  solucionara muchos inconvenientes a quienes desarrollen el reto, no debi haberselas dicho.. pero se trata de que todos aprendamos.

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

[*] Página Anterior

Ir a la versión completa