YMODEM - YMODEM

Ymodem
Kommunikasjonsprotokoll
Hensikt Filoverføringsprotokoll
Utvikler (s) Chuck Forsberg
introdusert 1985 ; For 34 år siden ( 1985 )
Basert på XMODEM
Påvirket Zmodem
Port (s) Ingen
maskinvare modemer

YMODEM er en filoverføringsprotokoll som brukes mellom mikrodatamaskiner koblet sammen ved bruk av modemer . YMODEM ble utviklet av Chuck Forsberg som etterfølgeren til XMODEM og MODEM7 , og ble først implementert i CP / M YAM- programmet hans. Det ble formelt gitt navnet "YMODEM" i 1985 av Ward Christensen .

Den originale YMODEM var i hovedsak den samme som XMODEM bortsett fra at den sendte filens navn , størrelse og tidsstempel i en vanlig XMODEM-blokk, "blokk 0", før den faktisk overførte filen. Å sende filstørrelsen løste XMODEMs problem med overflødig polstring på slutten av filen.

Forsberg bygde standarden med en rekke valgfrie funksjoner, og trodde at programmerere ville ønske å implementere så mange som mulig på en gitt plattform. Han ble forferdet over å finne at flertallet av implementeringene faktisk ga ingenting mer enn 1 kilobyte blokkstørrelse med CRC-16 , mens han fortsatte å bruke navnet "YMODEM". Resultatet var et stort antall gjensidig inkompatible YMODEM.

Vanlige varianter

YMODEM-1K bruker en blokkstørrelse på en kilobyte i stedet for standard 128 byte . 1K-blokker var et alternativ i den originale YMODEM-standarden, men denne varianten mangler resten av funksjonene, og beskrives best som en 1k-variant av XMODEM.

YMODEM-g er en streamingvariant som brukes til feilfrie tilkoblinger. Den fjerner ganske enkelt CRC og venter ikke på at en ACK skal mottas før du sender neste pakke. Protokollen var raskere enn YMODEM fordi det ikke utføres noen feilkontroll . Til tross for at denne protokollen potensielt var raskere enn ZMODEM , ble den likevel sjelden brukt. Dette skyldtes delvis mangel på annen funksjonalitet, men også en mer alvorlig sak. Før fremveksten av 16550 UART var det en alvorlig risiko for bufferoverskridelseserieporten , og YMODEM-g ville ikke legge merke til dette.

referanser

Eksterne linker