PPPD for DOS 0.6 beta               Copyright (c) 1997 Antonio Lopez Molero


CONTENIDO

        INTRODUCCION
        QUIEN SOY YO
        TERMINOS DE LICENCIA
        CREDITOS
        RECONOCIMIENTOS
        CARACTERISTICAS
        CARACTERISTICAS NO IMPLEMENTADAS
        FICHEROS DE LA DISTRIBUCION
        INSTALACION
        CONFIGURACION Y USO
        FICHEROS DE CONFIGURACION
        AUTENTIFICACION PAP/CHAP
        COMPRESION VJ DE ENCABEZADOS
        EMULACION DE PROTOCOLO BOOTP
        ESTADISTICAS DEL PACKET DRIVER
        TERMINACION DEL DRIVER
        ACERCA DE LOS DIVERSOS EJECUTABLES
        DEPURANDO PROBLEMAS DE CONEXION
        ACERCA DE CHAT Y CHAT0
        CARACTERISTICAS UNICAS DE DOS CHAT
        CONFIGURANDO APLICACIONES INTERNET PARA DOS
        LUGARES CON MATERIAL ADICIONAL PARA DOS E INTERNET


INTRODUCCION

    Este es el segundo lanzamiento de mi packet driver PPP para DOS. Este
    trabajo se deriva de varias fuentes: el motor PPP fu tomado de la
    versin 2.2.0f del demonio PPP para Linux, el cdigo de gestin del
    canal serie fu tomado del sistema operativo de red KA9Q y el cdigo de
    interfase packet driver fu derivado de los fuentes includos en la
    coleccin de packet driver CRYNWR.

    Mi principal labor fu unir todas esas piezas y hacerlas trabajar como un
    residente bajo nuestro viejo amigo DOS. Aprend muchas cosas sobre
    programacin de residentes y sobre las interioridades del protocolo PPP.

    Sent la necesidad de desarrollar el driver al comprobar que los pocos
    existentes para DOS eran muy inestables y ocupaban grandes cantidades de
    memoria. Al mismo tiempo cre interesante contribuir al movimiento del
    software libre, del que disfruto mucho y del cual hago uso intensivo
    (Linux, OpenDOS, etc.)

    El DOS sigue vivo, con lo que existen un buen nmero de aplicaciones para
    ste driver. La ms obvia es la navegacin por Internet cuando se usa en
    conjunto con algunos de los buenos programas disponibles para DOS. He
    includo al final del documento una lista de lugares donde encontrar
    aplicaciones DOS para Internet. Otro campo de aplicacin interesante es
    en la automatizacin industrial, para dar conectividad a pequeos PC
    dedicados que suelen encontrarse en las mquinas. Para algunos
    computadores de mano que no pueden correr la versin CE de Windows, este
    driver es una buena alternativa para dotarlos de conectividad a Internet.


QUIEN SOY YO

    Mi nombr es Antonio Lpez (Toni). Trabajo en el departamento de I+D de
    una empresa dedicada a la automatizacin industrial aqu en Espaa. Se
    puede contactar conmigo en las siguientes direcciones e-mail:

        tonilop@redestb.es
        tonilop@ibm.net

    Este trabajo lo realic en casa y no tiene nada que ver con mi trabajo
    actual. Yo soy el responsable del proyecto completo, no molestar a los
    autores originales con problemas relacionados con Dospppd, preguntarme a
    mi.


TERMINOS DE LICENCIA

    Los programas includos TERMIN.COM y PKTSTAT.COM son copyright de Russell
    Nelson y se distribuyen bajo la licencia pblica GNU. Me decid a
    incluirlos como una conveniencia para los usuarios, estn disponibles en
    muchos sitios de Internet.

    COMTOOL.COM y COMTOOL.DOC son copyright de K.H. Weiss y son de libre
    distribucin para uso no comercial. Tambin han sido incluidos para
    conveniencia de los usuarios.

    El cdigo fuente de CHAT es de dominio pblico, as que CHAT.EXE y
    CHAT0.EXE son de dominio pblico tambin.

    El cdigo PPP en el que se basa mi trabajo tiene el siguiente copyright:

    ***********************************************************************
    * Copyright (c) 1989 Carnegie Mellon University.                      *
    * All rights reserved.                                                *
    *                                                                     *
    * Redistribution and use in source and binary forms are permitted     *
    * provided that the above copyright notice and this paragraph are     *
    * duplicated in all such forms and that any documentation,            *
    * advertising materials, and other materials related to such          *
    * distribution and use acknowledge that the software was developed    *
    * by Carnegie Mellon University.  The name of the                     *
    * University may not be used to endorse or promote products derived   *
    * from this software without specific prior written permission.       *
    * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR      *
    * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED      *
    * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. *
    ***********************************************************************

    Dospppd se distribuye bajo las siguientes condiciones:

        Todos los productos mencionados en esta documentacin que estn
        patentados, tienen copyrigth o marca registrada son propiedad de sus
        propietarios respectivos.

        Los mdulos que contienen cdigo fuente totalmente escrito por mi y
        los componentes README.TXT, LEEME.TXT, SAMPLES.TXT, EJEMPLOS.TXT,
        DOSPPPD.FAQ, CHANGELO.TXT y VJCSTAT.EXE son copyright (c) 1997 de
        Antonio Lpez Molero, todos los derechos aplicables reservados.

        DOS PPPD puede distribuirse libremente para uso NO COMERCIAL, siempre
        que se incluya esta noticia de copyright en todas las copias y
        trabajos derivados. Se permite cobrar dinero por el soporte magntico
        en el que se vaya a distribuir DOS PPPD, pero nunca por el software
        en s mismo. No se podr incluir DOS PPPD como parte de un paquete
        comercial sin el previo consentimiento por escrito del autor.

        DOS PPPD SE DISTRIBUYE "TAL COMO ESTA" SIN GARANTIA DE NINGUN TIPO,
        ya sea explcita o implcita, incluyendo, pero sin limitarse a,
        garantas de tipo implcito derivadas de la aplicabilidad a una tarea
        determinada. El riesgo completo en cuanto a la calidad y prestaciones
        del producto correr a cargo del usuario. Esta documentacin indica
        claramente que DOS PPPD no trabajar correctamante en determinadas
        circunstancias, el usuario asumir el coste de cualquier servicio,
        reparacin o correccin que se deriven del uso del software.

        En ningn caso ser Antonio Lpez Molero responsable de daos,
        incluyendo daos generales, especiales, incidentales o consecuencia
        del uso o incapacidad del uso de DOS PPPD, (incluyendo pero sin
        limitarse a perdida de datos o resultados no precisos o perdidas de
        datos causadas por el usuario o terceros o por el fallo del producto
        al operar conjuntamente con cualquier otro programa), incluso si el
        autor fu informado de la posibilidad de esos daos.

        Debera utilizar DOS PPPD solo si ha ledo, comprendido y aceptado la
        totalidad de los trminos expresados en esta licencia.

        Si encuentra errores en este documento, no dude en contactar conmigo,
        incluso si son menores. Si es usted un programador de aplicaciones o
        de packet driver y tiene sugerencias constructivas para mejorar las
        prestaciones de DOS PPPD, estar encantado de escuchar lo que tengan
        que decirme.

    Aunque dispongo de un trabajo que me proporcina ingresos, las donaciones
    sern gratamente aceptadas en el caso de que sientan la necesidad de
    hacerlas ;-) Si va a utilizar DOS PPPD en un entorno de negocios, debera
    considerar la donacin, aunque solo sea por tica profesional. Por favor
    contactar conmigo para los detalles.


CREDITOS

    Los crditos por el cdigo PPP son para Al Longyear y Mike Callahan, los
    creadores del paquete Linux ppp2.2.0f. El cdigo original fu creado por:
    Drew Perkins, Brad Clements, Karl Fox, Greg Christy, Brad Parker y Paul
    Mackerras.

    Los crditos por el cdigo de puerto serie son para Phil Kharn, el
    creador del Sistema Operativo de Red KA9Q.

    Los crditos por el cdigo de interfase packet driver son para Russell
    Nelson, el creador y responsable de la coleccin de packet driver CRYNWR.

    Los crditos por el cdigo de emulacin BOOTP son para Bruce Campbell, el
    creador del accesorio para packet driver BOOTP.COM.

    Debo mencionar a Frank Molzah, el creador de PPPPKT06, del cual aprend
    las tcnicas para calcular la mscar de red a partir de las direcciones
    IP local y remota.


RECONOCIMIENTOS

    Algunas personas me han proporcionado informacin sobre sus impresiones
    acerca de DOS PPPD, incluso han contribuido al desarrollo. A continuacin
    presento una lista parcial:

    Jeffrey L. Hayes, el fu el primer beta-tester para la versin 0.5 y
    realiz un execelente trabajo al corregir la documentacin en ingls.
    Tambin alberg DOS PPPD en su pgina WEB antes de que fuese enviado a
    Simtelnet, y desarroll instrucciones detalladas para el uso del mismo
    con su ISP.

    John Lewis del equipo de desarrolladores de BOBCAT, confi lo suficiente
    en DOS PPPD como para incluirlo como parte del paquete del navegador para
    DOS BOBCAT.

    Frank Molzahn, con el cual mantuve discusiones sobre temas importantes
    de DOS e Internet y que me anim a continuar con el desarrollo de DOS
    PPPD. El ha desarrollado recientemente un packet driver muy eficiente
    para SLIP/CSLIP, que es una buena alternativa a DOS PPPD para usuarios
    que siguen utilizando ese mtodo de conexin. En la seccin de enlaces al
    final del documento hay un puntero a la pgina de Frank.

    Ralph Shnelvar, que proporcion oportunidades de negocio para desarrollar
    otras herramientas TCP/IP para DOS.

    Richard White, que ha confiado lo suficiente en DOS PPPD y lo utiliza a
    diario para aplicaciones serias.

    Nigel Gorry, que mantiene un pgina WEB acerca de DOS e Internet. Me
    proporcion sugerencias para un DOS PPPD mejor, puso punteros en su
    pgina a los archivos de DOS PPPD y apunt algunas sugerencias de
    configuracin para obtener las mejores prestaciones.

    Alfredo J. Coole, el desarrollador del programa SETUP para DOS PPPD.
    Tambin proporcion apuntes interesantes para el desarrollo de DOS PPPD y
    me anim  a seguir con el mismo.

    Jeff Patterson, autor del nico cliente IRC para DOS con el que consigo
    conectarme a todos los servidores. Mantuve discusiones interesantes con
    l sobre las caractersticas de DOS PPPD.

    Karl-Heinz Weiss, autor del paquete UKA_PPP, otra de las personas que ha
    confiado lo sufiente en DOS PPPD y lo ha includo como parte de su
    distribucin.

    Jim Casey, operador del forum INETRES en Compuserver, que ha contado
    conmigo para una futura discusin sobre DOS e Internet en su forum.

    Muchas ms personas, sin un orden particular:
    Carlos V. Gutierrez Fragosa, Matthew Grimm, Sam Bushman, Follower of
    the Clawed Albino ??, Krishnamurti Subramanian, Morten Johansen,
    Pablo Carboni, Paul Koukos, Kalle Pihlajasaari, Alberto Gonzalez
    Talavan, Kevin CN Tan, Modhav Gokhale, Chris Blazie, Rian Coutinho,
    Lars Wigrell, Michael Polak, Fernando Navarro Paez, Morgan Toal,
    Soichiro Ishizuka, Super Ted, Juan H. Koers, Ki var, Brad Hlista,
    Sean Doherty, Peter Bel, Jesus Barcelo, Andre LeClaire, Yury Semenov,
    David Bernal, Agustin Vega, Don Johnson, Keith Weisshar, Ian Smith,
    Rene Ludwig, Dave Mehler, Giancarlo Guareschi, ...

    Seguro que me he olvidado de incluir personas en la lista, pero no puedo
    recordar a todos los que contactaron conmigo, as que pido disculpas si
    alguin cree que deba ser includo y se qued fuera.


CARACTERISTICAS

    El cdigo fu compilado para una CPU 8088, as que debera correr en
    mquinas de clase XT. No tengo acceso a ninguna mquina de ese tipo, as
    que no pude comprobarlo personalmente. Por supuesto, algunos usuarios de
    la versin anterior me informaron de que fueron capaces de ejecutar DOS
    PPPD en hardware de clase XT.

    Los chips UART 16550AFN estn soportados, permitiendo la comunicacin a
    velocidades de hasta 115200 baudios. El chip es autodetectado y el
    FIFO del mismo se habilita con un umbral de 8 bytes. El transmisor se
    configura para un FIFO de salida de 16 bytes.

    Los drivers se adhiren a la especificacin packet driver de FTP versin
    1.09, al igual que los drivers includos en la coleccin CRYNWR.

    Se incluyen drivers de clase 1 (emulacin de ethernet) y de clase 6
    (lnea serie).

    Los drivers de clase 1 incorporan emulacin de BOOTP, as que es posible
    la configuracin automtica de ciertas aplicaciones que soportan ese
    protocolo para emitir peticiones de configuracin a un servidor BOOTP.

    Los drivers crean un fichero IP-UP.BAT despus de establecer la conexin,
    el cual es posible ejecutar para cargar los valores de configuracin
    TCP/IP actuales en variables de entorno DOS.

    La mayora de las opciones del PPPD original son soportadas, incluyendo
    la autentificacin PAP/CHAP y la compresin VJ de encabezados. La
    siguiente seccin describe las caractersticas no soportadas.


CARACTERISTICAS NO IMPLEMENTADAS

    CCP (compression control protocol, utilizado para negociar la compresin
    del campo de datos), paquetes tipo IPX, autentificacin del otro extremo
    de la conexin (nosotros somos capaces de autentificarnos ante el otro
    extermo usando PAP o CHAP, por supuesto), modo servidor PPP, encriptado
    de contraseas PAP/CHAP, opcin defaultroute, opcin proxyarp, opcin
    noipdefault.


FICHEROS DE LA DISTRIBUCION

    DOS PPPD se distribuye en un nico fichero .ZIP, que contiene:

        README.TXT      Este fichero.

        SAMPLES.TXT     Algunos ejemplos de configuracin sobre el uso de DOS
                        PPPD. Derivados de la configuracin que utilizo para
                        conectarme a mi ISP.

        CHANGELO.TXT    Sumario de cambios entre versiones.

        DOSPPPD.FAQ     Intento de recopilar las soluciones a los problemas
                        ms comunes del uso de  DOS PPPD, basado en las
                        preguntas de los usuarios.

        PPPD.MAN        Versin en texto ASCII de la pgina man de la versin
                        para *NIX, adaptada a la versin para DOS.

        CHAT.MAN        Versin en texto ASCII de la pgina man para CHAT de
                        la versin *NIX, adaptada a la versin para DOS.

        PPPD.EXE        Driver de clase 6 (lnea serie), sin cdigo de
                        depuracin ni soporte CHAP, el ms pequeo.

        PPPDD.EXE       Driver de clase 6 (lnea serie), con cdigo de
                        depuracin, sin soporte CHAP.

        EPPPD.EXE       Driver de clase 1 (emula ethernet), sin cdigo de
                        depuracin ni soporte CHAP. Emula ARP y BOOTP para
                        facilitar la configuracin de ciertas aplicaciones.

        EPPPDD.EXE      I gual que el anterior pero con cdigo de depuracin,
                        es el ms grande.

        VJCSTAT.EXE     Utilidad para visualizar estadsticas sobre la
                        compresin VJ de encabezados.

        PKTSTAT.COM     Utilidad para visualizar estadsticas del packet
                        driver.

        TERMIN.COM      Terminador de packet driver estndar.

        CHAT.EXE        Herramienta para establecer el dilogo con el modem
                        por medio de la opcin 'connect' de DOS PPPD, no
                        puede utilizarse separadamente.

        CHAT0.EXE       Igual que el anterior pero par ser utilizado
                        separadamente, antes de ejecutar DOS PPPD.

        COMTOOL.COM     Pequea utilidad de manipulacin de puerto serie.

        COMTOOL.DOC     Documentacin para COMTOOL.

        SPANISH.ZIP     Archivo que contiene la documentacin en castellano.

        CHAPSUPP.ZIP    Archivo que contiene versiones de los drivers
                        compiladas con soporte CHAP.

        SETUP.ZIP       Archivo que contiene el programa de Setup para DOS
                        PPPD de Alfredo J. Coole.


INSTALACION

    Crear un directorio para albergar DOS PPPD, digamos C:\DOSPPP, y
    descomprimir el archivo con la distribucin en l. Si usted es (o habla)
    espaol, descomprimir el archivo SPANISH.ZIP en el mismo directorio para
    tener acceso a la documentacin en castellano. Si necesita soporte para
    CHAP, descomprimir el archivo CHAPSUPP.ZIP en el mismo directorio, los
    ejecutables de DOS PPPD sern reemplazados por versiones que soportan
    CHAP. Si desea utilizar la aplicacin de ayuda de configuracin SETUP,
    descomprima el archivo SETUP.ZIP en el mismo directorio.

    Tras descomprimir los archivos requeridos, deber configurar DOS PPPD
    antes de poder utilizarlo efectivamente. Para la configuracin por medio
    de la aplicacin de ayuda SETUP, proceda a leer el documento SETUP.TXT.
    Si desea configurar DOS PPPD de forma manual, lea por favor las
    siguientes secciones de este documento; es una buena idea hacerlo incluso
    si va a utilizar SETUP, pus tendr una idea ms exacta del
    funcionamiento de los drivers.


CONFIGURACION Y USO

    Ha sido mi intencin emular al mximo posible el comportamiento de la
    versin *NIX de PPPD, as que cualquier experiencia adquirida con la
    misma ser de mucha utilidad para configurar DOS PPPD. En muchos casos
    bastar con copiar los archivos de configuracin utilizados bajo Linux.

    Para una referencia completa de todas las opciones soportadas por PPPD y
    CHAT, referirse a los ficheros PPPD.MAN y CHAT.MAN; estos ficheros fueron
    adaptados de las pginas man originales. El fichero EJEMPLOS.TXT contiene
    ejemplos detallados de configuracin, lo que presentar a partir de ahora
    es una visin general de la utilizacin de DOS PPPD.

    El proceso de establecer un enlace PPP puede dividirse en dos pasos
    claramente diferenciados, conexin de la lnea serie fsica y ejecucin
    de un proceso PPP responsable de la actual comunicacin TCP/IP.

    El establecimiento de la conexin serie fsica ser diferente para los
    enlaces por modem que para los enlaces por cable directo. El primero
    requerir de algn mecanismo para instruir al modem de los pasos a seguir
    para descolgar, marcar el nmero y esperar la conexin con el modem en el
    otro extremo. El segundo no requiere este paso, dado que el puerto serie
    est directamente conectado en ambas computadoras a travs de un cable.

    Para los enlaces por modem existen dos formas de establecer la conexin.
    Una sera la utilizacin de algn programa capaz de interaccionar con el
    modem antes de ejecutar DOS PPPD, normalmente un emulador de terminal.
    Tras establecer la conexin del modem, acabaremos el emulador de terminal
    sin reiniciar la lnea serie y ejecutaremos DOS PPPD, que tomar control
    de la lnea e iniciar las negociaciones PPP. Uno de estos programas
    podra ser KERMIT, un emulador de terminal de propsito general para la
    plataforma PC. Tambin puede utilizarse el programa CHAT0.EXE includo en
    el paquete para esta modalidad de trabajo.

    Otr alternativa para enviar comandos al modem es utilizar la opcin
    'connect' de DOS PPPD para especificar un programas que deber ser
    ejecutado para establecer la conexin. En estos momentos solo es posible
    utilizar el programa CHAT.EXE (includo) para esta funcin, dado que el
    puerto COM es manipulado directamante por DOS PPPD y existe un interfase
    privado entre ambos progrmas para perimitir a CHAT el acceso al mismo.
    Esto se debe a que no es posible compartir de manera elegante el puerto
    serie entre dos aplicaciones DOS, como puede hacerse en *NIX. Bajo este
    entorno CHAT trabaja sobre la entrada/salida estndar, que es redirigida
    por PPPD al puerto serie antes de ejecutar la orden 'connect'.

    En cualquiera de los dos casos se deber especificar el puerto serie a
    utilizar y algunas cosas ms mediante opciones de PPPD. Las opciones
    pueden aadirse a la lnea de comandos o pueden tomarse de un fichero de
    configuracin. CHAT solo soporta las opciones en la lnea de comandos,
    aunque el script de conexin puede estar en un fichero.

    Un pequeo ejemplo de utilizacin de DOS PPPD con modem sera:

        pppd com1 38400 connect "chat '' AT&F OK ATDP055 CONNECT"

    En este ejemplo se utiliza CHAT para hablar con el modem, utilizando los
    valores de configuracin de puerto heredados de PPPD.

    El driver configura COM1 a 38400 baudios y ejecuta CHAT para el
    establecimiento del enlace fsico serie. El script CHAT del ejemplo
    empieza por esperar nada, enva AT&F, espera OK, enva ATDP055 y finaliza
    con la espera de CONNECT. Si todos los pares espera/enva se ejcutan con
    xito, CHAT acaba con un cdigo de salida de 0, indicando a PPPD que
    puede seguir con las negociaciones PPP. Si ocurriese algn error durante
    la ejecucin de CHAT, ste acabara con un cdigo de salida diferente de
    0, indicando a PPPD que algo fu mal con la conexin.

    Suponiendo que CHAT acab con xito, el siguiente paso es responsabilidad
    de PPPD, se trata de la negociacin de las caractersticas PPP del
    enlace, posible autentificacin PAP/CHAP, etc. PPPD permanecer residente
    en memoria solo si la negociacin PPP fu satisfactoria, en cualquier
    otro caso el driver no permanecer residente y acabar con un cdigo de
    salida diferente de 0.

    Tras una conexin satisfactoria, PPPD visualizar un mensaje con el
    vector que asign a la interrupcin packet driver, necesaria ms tarde
    para terminar el driver. Si el driver no puede establecer la conexin,
    visualizar un mensaje de error.

    El cdigo de salida de DOS PPPD puede ser comprobado en ficheros por
    lotes .BAT para tomar acciones basndose en si la conexin fu completada
    con xito o no.

    Como ejemplo de computadoras conectadas directamente:

        pppd com1 38400 local

    La opcin 'local' fuerza a DOS PPPD a no hacer caso de la lnea CARRIER
    DETECT (deteccin de portadora), que podra no estar disponible en una
    conexin por cable directo.


FICHEROS DE CONFIGURACION

    El driver buscar opciones en varios archivos de configuracin
    predeterminados, adems de las especificadas en la lnea de comandos. Los
    nombres y orden de bsqueda de cada uno de los ficheros de configuracin
    es:

        PPPD.CFG                en el directorio actual.
        PPPD.CFG                en el directorio donde reside DOS PPPD.
        PPPDRC.CFG              en el directorio actual.
        opciones lnea comandos
        opcin pppd 'file'      camino completo especificado.
        PPPDCOM?.CFG            en el directorio actual.

    PPPD.CFG puede considerarse como un fichero de opciones globales, pues
    puede residir en el mismo directorio que PPPD y siempre ser consultado
    primero si no existe en el directorio actual.

    PPPDCOM?.CFG completa su nombre basndose en el puerto serie utilizado,
    as que la invocacin de 'pppd com1' buscar el archivo PPPDCOM!.CFG en
    el directorio actual.

    Todos los ficheros de configuracin excepto los especificados con la
    opcin 'file' son opcionales y no es necesaria su existencia para la
    operacin de DOS PPPD. Desde luego, la utilizacin de ficheros de
    configuracin es una necesidad prctica en el entorno DOS, dadas las
    limitaciones existentes en la longitud de la lnea de comandos.

    Estos ficheros pueden tener atributos de oculto/sistema/solo-lectura, ya
    que las contraseas PAP/CHAP (si se utilizan) podran residir en alguno
    de ellos. Esto proporciona una seguridad muy pobre, pero es todo lo que
    se puede consguir bajo DOS sin la encriptacin de contraseas.


AUTENTIFICACION PAP/CHAP

    El driver soporta ambos esquemas de autentificacin, el soporte CHAP es
    el estndar, no se soportan las extensiones MS-CHAP. No hay ficheros
    /etc/pap-secrets o /etc/chap-secrets en esta versin para DOS, as que
    implement una nueva opcin, 'passwd'. Esta opcin junto con 'user'
    provee a DOS PPPD con los datos necesarios para autentificarse ante el
    otro extremo de la conexin. Ntese que no hay manera de especificar el
    nombre de la computadora remota, que en el pppd original de *NIX se
    utiliza para seleccionar un secreto de los ficheros de autentificacin.
    En modo CHAP, la computadora remota aade su nombre a la cadena CHAP, de
    manera que el PPP local puede buscar un secreto en /etc/chap-secrets que
    corresponda a una computadora remota en particular. DOS PPPD siempre
    responde con el mismo user/passwd, independientemente del nombre de
    computadora remota que se ha recibido.

    Una utilizacin tpica sera:

        pppd com1 38400 user self passwd blah connect "chat '' ATDP055 CONNECT"

    Estas opciones podran incluirse en un fichero de configuracin con
    atributo oculto, por ejemplo myppp.cfg, qon el contenido:

        com1
        38400
        modem
        asyncmap 0
        connect "chat '' AT&F OK ATDP055 CONNECT"
        user someuser
        passwd blah2blah

    Podra ejecutar PPPD con:

        pppd file myppp.cfg

    De hecho, estas opciones podran encontrarse en cualquiera de los
    ficheros de configuracin que DOS PPPD busca automticamente, con lo cual
    no sera necesario el uso de la opcin 'file'.

    Los argumentos de las opciones 'user' y 'passwd' debern rodearse de
    comillas dobles en el caso de contengan caracteres espciales como # o \,
    ya que podran ser interpretados por el gestor de opciones de DOS PPPD.

    Una fuente alternativa para los datos de autentificacin PAP/CHAP puede
    especificarse por medio de la opcin '+ua'. El argumento a esta opcin es
    el nombre de un fichero que contendr el identificador de usuario y la
    contrasea, supongamos por ejemplo un archivo llamado AUTHEN.DAT:

        pppuser
        pppuser_password

    Luego ejecutar DOS PPPD con:

        pppd com1 38400 +ua authen.dat

    Este archivo puede tener el atributo oculto activado.


COMPRESION VJ DE ENCABEZADOS

    Esta versin soporta la compresin VJ de encabezados, que estar activada
    por defecto a menos que el otro extremo de la conexin lo prohba
    explcitamente durante la fase de negociacin IPCP. La compresin VJ
    reduce la longitud de cabecera de los paquetes TCP/IP, lo cual produce un
    aumento terico de prestaciones en lneas lentas y conexiones
    interactivas como TELNET. He dicho tericamente porque la compresin VJ
    consume ciclos de CPU, que podran ser significativos en mquinas lentas
    (por ejmplo un 8088 a 4.77 Mhz). Hay opciones disponibles para anular el
    uso de la compresin VJ (-vj, DOS PPPD no negociar la compresin ni
    permitir al otro extermo activarla), consultar PPPD.MAN para ms
    informacin sobre las mismas.


EMULACION DE PROTOCOLO BOOTP

    Algunas aplicaciones DOS para Internet soportan un mtodo para obtener la
    configuracin de la conexin TCP/IP de forma automtica, el llamado
    protocolo BOOTP. Las versiones de clase 1 del driver soportan este
    mtodo, actuando como un servidor BOOTP que responde a las peticiones
    realizadas por los progrmas de aplicacin.

    Para soportar una configuracin completa de las aplicaciones a travs de
    la emulacin BOOTP fu necesario aadir una nueva opcin a la lista de
    las ya soportadas por DOS PPPD, se trata de 'namsrv' y su finalidad es la
    de proporcionar las direcciones IP de los servidores de nombres (DNS).
    Esta informacin se pasar a la aplicacin que emiti la peticin BOOTP,
    junto con el resto de la configuracin TCP/IP que result de la
    negociacin PPP.

    La direccin IP remota ser retornada en los campos 'gateway' y 'server'
    del paquete de respuesta BOOTP, la direccin IP local se retornar en el
    campo 'your_ip', la mscara de red se calcular de acuerdo al siguiente
    mtodo:

        Se determina un valor inicial de mscara de red a partir de la clase
        de la IP local (esto es clase A, B o C), es decir:

        clase A ==> 255.0.0.0
        clase B ==> 255.255.0.0
        clase C ==> 255.255.255.0

        Si este valor es consistente con la direccin IP del 'gateway', es
        decir, si:

        ( <netmask> & <gateway> ) = ( <netmask> & <localIP> )

        [donde & representa AND binario], entonces este valor se utilizar
        como mscara de red (ver RFC 950). De no ser as, se deber buscar un
        nuevo valor de mscara de red: el nmero ms grande que sea
        consistente con la frmula anterior y su representacin binaria sea
        una serie de 1 seguida de una serie de 0.

    Este mtodo es el mismo que utiliza el driver PPPPKT06 de Frank Molzahn.
    Al valor resultante de estos clculos se le har un OR binario con el
    valor especificado en la opcin 'netmask' (en el caso de que se haya
    especificado alguno).

    Este mtodo de clculo de la mscara de red se utiliza tanto en los
    drivers de clase 6 como en los de clase 1, sin tener en cuenta el soporte
    de protocolo BOOTP.


ESTADISTICAS DEL PACKET DRIVER

    Empezando por la versin 0.6 beta, el driver soporta la llamada a la
    funcin 'get_stats()' del interfase packet driver, as que es posible la
    utilizacin del programa PKTSTAT includo en la coleccin CRYNWR de
    packet driver para visualizar el nmero de paquetes recibidos, numero de
    paquetes transmitidos, errores de recepcin, etc.

    Otra utilidad desarrollada especialmente para DOS PPPD es VJCSTAT, que
    visualiza estadsticas sobre la compresin de encabezados VJ. Esta
    utilidad es especfica para DOS PPPD, as que no funcionar con otros
    packet driver.

    Las utilidades de estadstica se ejecutan desde la lnea de comandos y
    aceptan un parmetro opcional para indicar el vector del interfase de
    packet driver que ser consultado. Si no se indica un nmero de vector,
    se utilizar el primero que se encuentre dentro del rango vlido para los
    vectores de packet driver, o bien se generar un mensaje de error si no
    se encuentra ningn vector de packet driver residente.

    Estas utilidades nos pueden ayudar a determinar la fiabilidad de la
    conexin PPP y as poder detectar posibles fallos. Por ejemplo, si
    PKTSTAT visualiza un nmero elevado de paquetes recibidos descartados
    pero el nmero de paquetes recibidos con error es 0, esto nos indicar
    que alguna de las aplicaciones que utiliz el packet driver se qued sin
    buffers, probablemente porque los paquetes se reciban muy rpido.
    Tambin podra indicar que se estn recibiendo tramas no soportadas, como
    puedan ser las de protocolo CCP o algn tipo de extensin PPP de
    Microsoft.


TERMINACION DEL DRIVER

    Para desinstalar el driver de la memoria, utilizar el programa TERMIN.COM
    includo en el paquete. Este es un terminador de packet driver de
    utilizacin general, parte de la coleccin CRYNWR de packet driver.

    Utilizarlo del siguiente modo:

        TERMIN 0xnn

    Donde nn es el nmero de vector del driver residente, en hexadecimal. Por
    ejemplo TERMIN 0x60.

    El driver PPPD enviar una peticin de terminacin al otro extremo antes
    de terminar, as que el regreso a la lnea de comandos tras ejecutar
    TERMIN puede verse retrasado durante unos segundos. Este retraso debera
    de ser de 10 segundos como mximo, dependiendo de lo rpido que responda
    el otro extremo a la peticin de terminacin.


ACERCA DE LOS DIVERSOS EJECUTABLES

    Como habr notado, se incluyen cuatro ejecutables diferentes de PPPD en
    el paquete. Los llamados PPPD.EXE y PPPDD.EXE son drivers de clase 6
    (lnea serie), diferenciandose en que PPPDD.EXE incluye capacidades de
    depuracin que son de ayuda para resolver posibles problemas de conexin.

    Los llamados EPPPD.EXE y EPPPDD.EXE son drivers de clase 1 (emulacin
    Ethernet), siendo EPPPDD.EXE el incluye caractersticas de depuracin.
    Estos emulan el comportamiento de un driver de Ethernet real, aadiendo
    cabeceras Ethernet a los paquetes recibidos y eliminndolas de los
    paquetes que se envan. La necesidad de esta emulacin la provoca el heco
    de que bastantes aplicaciones de Internet para DOS se disearon solo para
    packet driver de Ethernet, siendo incapaces de trabajar con los de clase
    6 (lnea serie). Las versiones que emulan Ethernet soportan emulacin
    BOOTP tambin, un protocolo utilizado en redes TCP/IP para configurar
    automticamente los parmetros IP de las estaciones de trabajo.

    Tal como se indica en la seccin de instalacin, un archivo separado
    dentro del paquete contiene ejecutables con soporte para utentificacin
    CHAP, pero los nombres son los mismos indicados en los prrafos previos.
    Si se requiere la autentificacin CHAP, reemplazar los drivers por los
    incluidos en CHAPSUPP.ZIP. Al implementar el soporte CHAP en ejecutables
    separados se minimiza el consumo de memoria residente en los drivers que
    no incluyen esta caracteristica, que sern los ms comunmente utilizados.


DEPURANDO PROBLEMAS DE CONEXION

    Los ejecutables que incorporan mecanismos de depuracin pueden generar
    varios tipos de mensajes informativos durante la fase de establecimento
    de conexin; una parte de estos mensajes se dirige a la salida estndar
    del DOS, mientras que otra parte se dirige a la salida de error estndar.
    Por defecto, estos dispositivos estn asociados a la pantalla del PC,
    siendo posible la utilizacin de los mecanismos de redireccin del DOS
    para desviar la salida estndar a un fichero. La salida de error estndar
    puede redirigirse mediante utilidades de terceros, no includas en el
    paquete.

    El nivel de depuracin est afectado por las opciones 'debug' y 'kdebug',
    que son soportadas nicamente por PPPDD.EXE y EPPPDD.EXE. Consultar el
    fichero PPPD.MAN para ms detalles.

    La salida de depuracin finaliza tan pronto como el driver queda
    residente en memoria, as que no es posible utilizar esta caracterstica
    para registrar el trfico de paquetes de una conexin. Tom esta decisin
    de diseo por razones de espacio y tiempo, pus implementar
    entrada/salida a disco desde un residente DOS no es una tarea sencilla.


ACERCA DE CHAT Y CHAT0

    El programa CHAT toma una serie de cadenas de texto llamadas script CHAT
    y ejecuta una secuencia de espera-cadena/envia-cadena hasta que la
    totalidad del script ha sido procesado o alguna de las espera-cadena
    falla.

    El script CHAT puede aadirse a la lnea de comandos al invocar CHAT o
    puede estar contenido en un fichero. Dado que el DOS restringe la
    longitud de la lnea de comandos, se recomienda utilizar un fichero para
    el script CHAT, a menos que ste sea muy corto.

    Tal como se ha indicado en alguna otra parte del documento, se incluyen
    dos ejecutables de CHAT en el paquete. El llamado CHAT.EXE est diseado
    para ser ejecutado con la opcin 'connect' de PPPD, pus realiza el
    acceso al puerto serie a travs de un interfase privado existente entre
    ambos programas, pudiendo prescindir as de opciones para configuracin
    de puerto serie. Utilizar el puerto para el cual haya sido configurado
    PPPD.

    CHAT0.EXE puede utilizarse por separado, dado que incorpora sus propias
    rutinas de acceso al puerto serie. Disponer de dos versiones puede ser
    conveniente, pus se puede usar CHAT0.EXE para comprobar los scripts CHAT
    antes de incorporarlos a la opcin 'connect' de PPPD. CHAT0.EXE dejar la
    lnea DTR a nivel alto tras una finalizacin satisfactoria, as que la
    conexin del modem seguir activa y se podr ejecutar PPPD despus de
    CHAT0. Este modalidad de trabajo es similar a la que se conseguira
    utilizando algn otro programa para el establecimiento de la conexin,
    como por ejemplo KERMIT.


CARACTERISTICAS UNICAS DE DOS CHAT

    Al finalizar la conversin del cdigo de CHAT al entorno DOS, me d
    cuenta de que podra ser util mejorarlo con caractersticas adicionales
    no disponibles en la versin original para *NIX. He aadido dos nuevas
    funciones, modo terminal interactivo y captura de cadenas.

    El modo de terminal interactivo es til para entrar en sistemas que
    requieran procedimientos de entrada complicados, como podran ser mens
    que son diferentes dependiendo del servidor que nos atiende etc. Tambin
    es til para determinar le procedimento de entrada al sistema remoto
    cuando no se conoce el mismo de antemano. El modo interactivo puede
    activarse en un punto arbitrario del script CHAT, as que puede
    utilizarse para completar solo una parte del mismo, por ejemplo nombre de
    usuario y contrasea. Los ficheros CHAT.MAN y SAMPLES.TXT contienen
    detalles sobre la implementacin y ejemplos del modo interactivo en CHAT.

    La captura de cadenas permite especificar porciones de texto enviadas por
    el sistema remoto que sern asignadas a variables de entorno DOS. Se
    pueden capturar direcciones IP, cadenas formadas por dgitos decimales o
    cualquier cadena arbitraria; se genera un fichero .BAT que debe ser
    ejecutado para para cargar los valores capturados en variables de entorno
    DOS. Esta caracterstica podra ser de utilidad para conexiones a
    servidores SLIP, que normalmente envan los valores de IP local y remota
    a travs de la lnea serie en formato texto.

    Tanto CHAT.EXE como CHAT0.EXE soportan modo interactivo y captura de
    cadenas, aunque estas funciones tienen ms sentido cuando utilizamos
    CHAT0.EXE separadamente de PPPD para establecer conexiones SLIP con
    otros packet driver que soportan ese protocolo, o incluso para conectar a
    servidores PPP que enven como texto informacin til para la conexin.


CONFIGURANDO APLICACIONES INTERNET PARA DOS

    Las aplicaciones TCP/IP para DOS utilizan diversos esquemas para obtener
    los parmetros de configuracin tales como IP local, gateway, etc.

    Algunos son capaces de utilizar el protocolo BOOTP para obtener estos
    datos, una caracterstica que es emulada por EPPPD.EXE y EPPPDD.EXE. Las
    aplicaciones basadas en la librera WATTCP intentarn configurarse
    mediante BOOTP si no pueden encontrar el archivo de configuracin
    WATTCP.CFG (o equivalente), o si ponemos una lnea:  my_ip=bootp en ese
    archivo. Las aplicaciones POPMAIL y MINUET utilizarn BOOTP si dejamos
    los valores de las cajas de dilogo de configuracin de red en blanco. Se
    deber consultar la documentacin de cada aplicacin para obtener ms
    informacin sobre el soporte BOOTP includo en la misma.

    Si la aplicacin que vamos a utilizar no soporta BOOTP, o bien decidimos
    utilizar los ejecutables PPPD.EXE o PPPDD.EXE, la configuracin deber
    realizarse por otros medios. Todos los ejecutables generan un fichero
    llamado IP-UP.BAT tars una conexin realizada con xito; este fichero
    deber ejecutarse para cargar ciertas variables de entorno DOS con los
    valores de configuracin TCP/IP negociados por DOS PPPD. Despus de esto
    se pueden utilizar los valores de dichas variables en ficheros .BAT para
    generar entradas en ficheros de configuracin, por ejemplo WATTCP.CFG.


    El archivo IP-UP.BAT generado por los drivers tendr este formato:

        SET MYIP=xxx.xxx.xxx.xxx
        SET REMIP=yyy.yyy.yyy.yyy
        SET NETMASK=zzz.zzz.zzz.zzz
        SET PEERMRU=nnnn


    Algunos de los ejemplos contenidos en SAMPLES.TXT hacen uso de esta
    tcnica para demostrar como utilizarla con aplicaciones basadas en
    WATTCP, por ejemplo DOSLYNX.

    Las aplicaciones MINUET y POPMAIL buscarn una variable de entorno
    llamada MYIP en el caso de que no puedan obtener la direccin IP local
    por otros medios, que es lo que sucede si dejamos el campo
    correspondiente de los dilogos de configuracin de red en blanco. Si
    dicha variable no puede encontrarse, estas aplicaciones recurren al
    mtodo BOOTP.

    Si ninguno de estos mtodos es adecuado, nos veremos abligados a
    introducir los datos de configuracin manualmente cada vez que ejecutemos
    la aplicacin. En algunos casos la configuracin puede especificarse en
    la lnea de comandos, por ejemplo el programa PCGOPHER (que soporta BOOTP
    tambin).

    El fichero SAMPLES.TXT contiene varios ejemplos derivados de mi
    confuracin para ciertas aplicaciones Internet DOS, como DOSLYNX y
    MINUET.


LUGARES CON MATERIAL ADICIONAL PARA DOS E INTERNET

    A continuacin presento una pequea lista de sitios que contienen
    cantidad de buen material para Internet bajo DOS, debern ser visitados
    si estamos buscando navegadores WEB, programas de correo, etc.

    Pgina sobre Internet bajo DOS de TVDog:

        http://www.agate.net/~tvdog/internet.html

    PAcket drivers SLIP/CSLIP de Frank Molzahn:

        http://home.cc.umanitoba.ca/~molzahn/cslip.html

    Lista no finalizada de aplicaciones PPP DOS de Nigel:

        http://www.palms.nq.net/ppp.html

    Pgina principal de DOSLYNX:

        http://www.fdisk.com/

    KERMIT:

        http://www.columbia.edu/kermit/

    Aunque no sea una aplicacin de Internet en s misma, kermit puede ser de
    gran valor como emulador de terminal y marcador de modem. Las tlimas
    versiones incorporan el ncleo TCP/IP de WATTCP, as que puede actuar
    como un buen programa de Telnet al utilizarlo con packet drivers.

    Navegadores WWW para DOS:

        http://www.concentric.net/~cruzing/dosinet/dosinet.shtml

    RealmSpace para el DOS:

        http://www.best.com/~darknerd/realmspace/rsdos.htm

    ARCHIVOS DOS INTERNET, INFORMACION, Y ENLACES:

        http://www.westsound.com/ptmudge/dos_inet.htm

    Pgina principal DOS Internet:

        http://www.wustl.edu/~hugh/dos-www.html

