• Sábado 9 de Noviembre de 2024, 02:23

Autor Tema:  Re: Protocolo Hdlc  (Leído 16163 veces)

© Jonathan ©

  • Moderador
  • ******
  • Mensajes: 1671
  • Nacionalidad: ar
    • Ver Perfil
    • http://www.einstec.com.ar
Re: Protocolo Hdlc
« Respuesta #25 en: Viernes 10 de Octubre de 2003, 00:16 »
0
Muy bien, gracias por eliminar mis dudas, voy a intentar terminar el programa lo mas antes posible, espero lograrlo en lo posible en esta misma semana. Saludos. :food:
EINSTEC Tecnología «La única fuente del conocimiento es la experiencia.»

«Lo importante es no dejar de hacerse preguntas.»

© Jonathan ©

  • Moderador
  • ******
  • Mensajes: 1671
  • Nacionalidad: ar
    • Ver Perfil
    • http://www.einstec.com.ar
Re: Protocolo Hdlc
« Respuesta #26 en: Viernes 10 de Octubre de 2003, 14:20 »
0
Hola juank, esta vez te consulto si lo  del bitstufing es un error y hay que hacer saber al usuario del mismo, cuantas veces se hizo y etc..., es la unica duda que me queda, los programas ya estan terminados, solo me queda verificar eso y creo estarian listos.

   Ha y otra cosa era que si a los bits que estan antes de iniciar una bandera de inicio, dentro del archivo que entra al receptor, eso tambien los contamos e informamos que hay x cantidad de bits antes de iniciar la bandera.???

   Bueno, espero tu respuesta, saludos y hasta pronto. :guitar:
EINSTEC Tecnología «La única fuente del conocimiento es la experiencia.»

«Lo importante es no dejar de hacerse preguntas.»

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Protocolo Hdlc
« Respuesta #27 en: Viernes 10 de Octubre de 2003, 14:34 »
0
si no comienza con bandera no es una trama hdlc, el usuario nunca sabe que sucede pordebajo co hdlc, asi que no necesita saber que se hizo lo del bit stuffingm solo reportar los errores que se salgan del control del protocolo, si tu protocolo lo detecta como error y no le puede poner remedio.. hjay que informarlo.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

© Jonathan ©

  • Moderador
  • ******
  • Mensajes: 1671
  • Nacionalidad: ar
    • Ver Perfil
    • http://www.einstec.com.ar
Re: Protocolo Hdlc
« Respuesta #28 en: Viernes 10 de Octubre de 2003, 15:57 »
0
Muy bien, muchas gracias juank, eres todo un amigo. Saludos.  :bravo:
EINSTEC Tecnología «La única fuente del conocimiento es la experiencia.»

«Lo importante es no dejar de hacerse preguntas.»

© Jonathan ©

  • Moderador
  • ******
  • Mensajes: 1671
  • Nacionalidad: ar
    • Ver Perfil
    • http://www.einstec.com.ar
Re: Protocolo Hdlc
« Respuesta #29 en: Martes 14 de Octubre de 2003, 14:31 »
0
Hola a todos, despues de tanto trabajo, tiempo y dedicacion, he logrado realizar los programas que se piden en el reto, debo confezar que me costo bastante, ya que soy novato en eso del lenguaje C el cual he aprendido solo bajando informacion de internet.
Los codigos que he elaborado, a mi criterio, son un 30% de lo que podrian ser, es decir, hay muchas cosas que se pueden mejorar, me hare cargo de eso y me gustaria que si alguien ve y sabe como mejorar alguna de las partes de los fuentes, tenga la generosa voluntad de explicarme como hacer.
No se nace sabiendo y como todos saben, los humanos cometemos errores, en mi caso puede ser que orrores. Bueno, aqui corto con el discurso y los invito a revisar y verificar los fuentes los cuales creo dan una solucion a los problemas planteados.

Atte. :guitar: © Jonathan © :guitar:
EINSTEC Tecnología «La única fuente del conocimiento es la experiencia.»

«Lo importante es no dejar de hacerse preguntas.»

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Protocolo Hdlc
« Respuesta #30 en: Martes 14 de Octubre de 2003, 17:46 »
0
Te falta validar cuando el receptor recive un frame que no corresponde a un entramado de bytes, en el transmisor parece que si lo tienes bien... por el momento es eso.. seguire revisando.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

© Jonathan ©

  • Moderador
  • ******
  • Mensajes: 1671
  • Nacionalidad: ar
    • Ver Perfil
    • http://www.einstec.com.ar
Re: Protocolo Hdlc
« Respuesta #31 en: Jueves 16 de Octubre de 2003, 13:29 »
0
Bueno, aqui coloco el codigo corregido, no tuve tiempo de hacer pruebas, probe solo una o dos veces, espero sea loque me pides juank. Saludos....... :guitar:
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.
EINSTEC Tecnología «La única fuente del conocimiento es la experiencia.»

«Lo importante es no dejar de hacerse preguntas.»

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Protocolo Hdlc
« Respuesta #32 en: Viernes 17 de Octubre de 2003, 17:25 »
0
Hola Jhonnathan , tardare un pco en revisar tu solucion, porque he renunciado a mi trabajo para comenzar en otro y tendre 3 meses de capacitacion, asi que unicmante me podre seguir conectando en mi casa por un tiempo.

Tratare de revisarlo este fin de semana.

Gracias por la pasciencia y de antemano te agardezco la ayuda que nos puedas brindar en el foro.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

© Jonathan ©

  • Moderador
  • ******
  • Mensajes: 1671
  • Nacionalidad: ar
    • Ver Perfil
    • http://www.einstec.com.ar
Re: Protocolo Hdlc
« Respuesta #33 en: Viernes 17 de Octubre de 2003, 23:47 »
0
Hola amigo, pues no necesitas agradecer nada, es todo un gusto para mi aportar en lo que pueda, cuando se trata de ayudar a progresar para el futuro ahi estoy yo. Espero te valla bien en todas tus cosas, y que el trabajo que tendras sea 1000 veces mejor que el que tenias. Ya me tocara a mi hacer todas la cosas que tu haces, por ahora solo debo dedicarme a la secundaria :brickwall:, es algo aburrido pero que todos debemos realizar. Bueno juank, todos mis deseos de suerte para vos y muchos saludos. :guitar:
EINSTEC Tecnología «La única fuente del conocimiento es la experiencia.»

«Lo importante es no dejar de hacerse preguntas.»

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Protocolo Hdlc
« Respuesta #34 en: Miércoles 29 de Octubre de 2003, 06:41 »
0
hola amigo.. mil disculpas por mi demora.. pero tu ya conoces los motivos.. hoy revisando el de trsnmision, me arrojo este erro:
 
Código: Text
  1.  
  2. Exiting due to signal SIGSEGV
  3. General Protection Fault at eip=00001a97
  4. eax=00090930 ebx=0000029e ecx=00000030 edx=642981d6 esi=00000054 edi=00010964
  5. ebp=00090940 esp=000908f0 program=H:DOCUME~2SWRETOSSOLUCI~1JHONAT~1TX.EXE
  6. cs: sel=01a7  base=029e0000  limit=0009ffff
  7. ds: sel=01af  base=029e0000  limit=0009ffff
  8. es: sel=01af  base=029e0000  limit=0009ffff
  9. fs: sel=017f  base=000077d0  limit=0000ffff
  10. gs: sel=01bf  base=00000000  limit=0010ffff
  11. ss: sel=01af  base=029e0000  limit=0009ffff
  12. App stack: [00090964..00010964]  Exceptn stack: [000108c0..0000e980]
  13.  
  14. Call frame traceback EIPs:
  15.   0x00001a97
  16.   0x00003428
  17.  
  18.  


Eso no pasaba antes, asi que creo que el error se genero por utilizar un espacio de memoria no asignado.. verifica por favor.. es probable que en tu compilador no te vote este error, pero el mio sui lo arroja porque es muy delicado con eso.

Por otro lado , recuerda que por standart la funcion main debe devolver int más no void.

Creo que este reto ya es tuyo, asi que apenas modifiques lo del error de asignacion de memoria... seras el ganador.

De todos modos publicare el mio para que lo revices.. seria bueno que para proximos programas estructuraras mas tu codigo ya que aunque funciona bien, es poco legible y reutilizable.. de todos modos esto solo se aprende con el tiempo y la practica... sigue mejorando ya vas muy bien.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

Super_G

  • Miembro MUY activo
  • ***
  • Mensajes: 375
    • Ver Perfil
Re: Protocolo Hdlc
« Respuesta #35 en: Viernes 31 de Octubre de 2003, 02:56 »
0
Por que :
Entradatransmisor: 00000000111100000101010100000000
Salida transmisor: 011111100000000000001111100101010000000001111110
La salida no deberia ser????:
011111100000000011110000010101010000000001111110
o que operacion se realiza ademas de poner las banderas si en este caso no existe problemas con 5 1s seguidos??????
me refiero a que depues de la bandera deberia venir la informacion de entrada y al final la bandera de finalizacion, o no entendi nada???

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Protocolo Hdlc
« Respuesta #36 en: Viernes 31 de Octubre de 2003, 19:33 »
0
vas bien y has ebntendido bien, pero te falta leer algo..
te diria que es pero no es necesario, mekjor pegale una leida a los post del foro...
que ahi ya tienes la respuesta.. jhonatan tuvo el mismo problema.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

Super_G

  • Miembro MUY activo
  • ***
  • Mensajes: 375
    • Ver Perfil
Re: Protocolo Hdlc
« Respuesta #37 en: Sábado 1 de Noviembre de 2003, 03:25 »
0
Aver si entendi:
los datos son de 8bits(1Byte), estos datos que le lee el transmisor virnen los bytes de bit mas significativo a bit menos significativo y para transmitilos lo pone al reves si en la frame resultante(donde no se limitan los bytes) aparece una secuensia de 5 1s consecutivos es entonces donde se inserta el cero acontinuacion; y recien es transmitido.
Si esto es asi entoces es mas complicado de lo que pensaba.

otra duda seria sobre lo de las banderas si el receptor al teminar los datos y llega a la bandera lee los primeros 5 1s y despues es otro 1 y no un cero ¿esto significa error?, pues dice que si despues de 5 unos verifica si el siguiente bit sea un 0 y no un 1 pues si es un 1 :"es una secuencia de 6 o más unos, que es prohibida en el protocolo " pero si es la bandera "01111110" y tiene 6 1s como es esto??????

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Protocolo Hdlc
« Respuesta #38 en: Jueves 6 de Noviembre de 2003, 15:12 »
0
pero no hay problema...
si en un octeto se encuentran 01111110 es una bandera y por tanto fin de la trama.. pero si los 6 unos estan en intermedio de 2 octetos seria un error ejemplo

10101011 - 11110001

aca hay seis unos seguidos pero no es bandera porque no estan en el mismo octeto en cambio

10101011 - 01111110

si es bandera porque los 6 unos estan en el mismo octecto.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

Super_G

  • Miembro MUY activo
  • ***
  • Mensajes: 375
    • Ver Perfil
Re: Protocolo Hdlc
« Respuesta #39 en: Viernes 7 de Noviembre de 2003, 03:01 »
0
Entoces en el receptor la revision tambien es por octetos, entoces hace la verificaion de los unos y la bandera por octetos, 2 cosas al mismo tiempo pense que las hacia por separado.

Gracias por la ayuda, ahora espero poder hacer el programa y me parece un poquito mas complicado de lo que hasta ahora habia pensado

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Protocolo Hdlc
« Respuesta #40 en: Viernes 7 de Noviembre de 2003, 14:06 »
0
claro , si recibes seis unos y no estan en el mismo octeto osea:

00101011-11110000

al pasarlo al protocolo quedaria:

00101011-11101000-0
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

© Jonathan ©

  • Moderador
  • ******
  • Mensajes: 1671
  • Nacionalidad: ar
    • Ver Perfil
    • http://www.einstec.com.ar
Re: Protocolo Hdlc
« Respuesta #41 en: Lunes 17 de Noviembre de 2003, 14:34 »
0
Hola a todos, juank, perdon por mi demora, he estado para unos proyectos.
   Compilo una y otra vez el fuente y no aparecen nisiquiera warning, si puedes decirme de que modo debo configurar mi compilador te agradeceria, no me aparece ningun tipo de error.

   El compilador es Borland C++ 3.1

   Gracias y Saludos :adios:
EINSTEC Tecnología «La única fuente del conocimiento es la experiencia.»

«Lo importante es no dejar de hacerse preguntas.»

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Protocolo Hdlc
« Respuesta #42 en: Miércoles 19 de Noviembre de 2003, 21:51 »
0
si ese borland.. no valida eso pero igual se puede generar el error si por accidente se toma un segmento utilizado por el sistema operativo.

espera mas detalles en estos dias.. tratare de contestarte completo en la noche.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Protocolo Hdlc
« Respuesta #43 en: Domingo 7 de Diciembre de 2003, 19:52 »
0
Hola a todos,
bueno he culminado mi universidad, asi que mientras iniciamos el nuevo periodo academico me veran muy seguido por aqui, ç
he vuelto a revisar el EXELENTE Trabajo de jhonatan,
el error se genera unicamente en el receptor cuando se envian cadenas de datos muy grandes,de resto esta todo OK!!!!

Espero tus comentarioos amigo y de antemano pido perdon por mi demora.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

© Jonathan ©

  • Moderador
  • ******
  • Mensajes: 1671
  • Nacionalidad: ar
    • Ver Perfil
    • http://www.einstec.com.ar
Re: Protocolo Hdlc
« Respuesta #44 en: Lunes 8 de Diciembre de 2003, 01:48 »
0
Felicitaciones juank!!!:smartass: ... me alegro que hallas finalizado con tu universidad, con respecto a mi trabajo, te comento que no logro encontrarle los errores, a mi no me salta ni siquiera un warning. Si sabes como puedo arreglarlo me informas. Por el momento solo te envio un gran abrazo. SALUDOS!  :hola:
EINSTEC Tecnología «La única fuente del conocimiento es la experiencia.»

«Lo importante es no dejar de hacerse preguntas.»

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Protocolo Hdlc
« Respuesta #45 en: Domingo 14 de Diciembre de 2003, 19:23 »
0
:kicking: FIN:

Buno ya no hay más para hacer en este reto, ya que Jonathan lo ha finalizado... :comp:
queda unicamente para subsanar el porque en unos compiladores arroja error de memoria al introducir cadenas de mas de 128 bit en el receptor, pero dado que al unico que le sale el error es a mi :lightsabre: , no veo porque insistir y doy por cerrado este reto.

ASI QUE FELICITACIONES A  
:smartass:JONATHAN:smartass:
  POR HABER TERMINADO EL RETO!!!!

 :ph34r: Ahora solo me resta invitarlos a todos que participen del nuevo reto el cual esta aún más interesante.!!! :alien:

 :hola:
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Protocolo Hdlc
« Respuesta #46 en: Domingo 14 de Diciembre de 2003, 19:34 »
0
SOLUCION

Amigos :lol:
a continuación publico la solución que le di al reto de HDLC.

Como siempre cualquier duda o inquiertud sera bien recibida. :lightsabre:  :smartass:
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

xeneize24

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: Protocolo Hdlc
« Respuesta #47 en: Viernes 29 de Agosto de 2008, 10:30 »
0
Buenas

Tengo un par de dudas con HDLC.

La primera esta en otro hilo

foros.solocodigo. com/viewtopic.php?f=23&t=36598


La segunda es sobre HDLC con envio continuo.

Supongamos que tenemos una ventana de tamaño 3.

El intercambio de tramas seria de forma que se envian 3 tramas (0 1 y 2) y el receptor envia ack(2) para validar la 2 y las anteriores sin validar? o sin embargo, te valida las tramas 1 a 1? Es decir, envia ack(0), ack(1), ack(2)...

Gracias