Xmodem

XMODEM es el protocolo de transferencia de archivos más antiguo, desarrollado en 1977 por Ward Christensen a modo de apaño rápido para utilizarse con su programa de terminal MODEM.ASM, y posteriormente cedido para su uso público, por lo cual este protocolo también es conocido como “protocolo Christensen”. Se trata de un protocolo de transferencia muy sencillo de implementar que gracias a ello alcanzó gran popularidad. Actualmente, la mayoría de los módems soportan aun este protocolo.

Chuck Forsberg recopiló una serie de modificaciones comunes para su propio protocolo YMODEM, pero una deficiente implementación provocó una mayor fractura antes de la reunificación de los dos en el nuevo protocolo ZMODEM. Este último protocolo se volvió muy popular, pero nunca consiguió reemplazar por completo al protocolo XMODEM en el mercado BBS.

Funcionamiento

XMODEM, como la mayoría de los protocolos de transferencia, comienza partiendo los datos originales en una serie de paquetes que son enviados al receptor, cada paquete contiene una información adicional que le permite al receptor determinar la correcta recepción de los mismos.

Formato de los paquetes

Cada bloque de datos tiene un tamaño de 128 bytes, a los cuales hay que sumarle los siguientes campos anteriores a los datos:

  • Un primer byte que es el carácter SOH (comienzo de cabecera), correspondiente al valor ASCII 1.
  • Otro byte con la posición del paquete dentro del mensaje original y otro byte más con la misma posición pero en complemento a uno para comprobar su exactitud.

Y los siguientes campos posteriores a los datos:

Transferencia

Los paquetes son enviados de uno en uno. Cuando son recibidos, lo primero que hace el protocolo es comprobar la integridad de los datos mediante el byte checksum, y a continuación el número de bloque dentro del mensaje. Si esto es correcto, el receptor envía una señal “ACK” al emisor para que proceda con el envío del siguiente paquete de la secuencia. Si el paquete estuviera corrupto, el receptor enviaría una señal “NAK” para que se procediera al reenvío de ese paquete.

Referencias

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.