Member of The Internet Defense League Últimos cambios
Últimos Cambios
Blog personal: El hilo del laberinto Geocaching

Desarrollo de una Herramienta Software para el Acceso a Redes TCP/IP a través de la Red Telefónica Conmutada

Última Actualización: 30 de Junio de 1.996 - Domingo

Capítulo 10:
El Módulo DISCARD

Este módulo [RFC863] se sitúa por encima de los niveles TCP y UDP, y su objetivo consiste en deshacerse de cualquier dato que le envíe un proceso remoto. La utilidad de una aplicación así viene determinada por su capacidad para chequear el funcionamiento de las capas inferiores (TCP, UDP, IP, ICMP, etc.) y servir de diagnóstico ante errores.

En síntesis este módulo elimina cualquier datagrama UDP que se le dirija (puerto nueve) y, en cuanto a TCP, acepta cualquier conexión que se le ofrezca (puerto nueve, también), elimina cualquier dato que se le envíe a través de ella y cierra la conexión cuando lo haga la máquina remota. Cuando se establece una conexión TCP se crea un nuevo puerto "LISTEN" para poder aceptar otras conexiones.


Interfaz

La interfaz de este módulo está constituida por un único proceso encargado de toda la inicialización y gestión de eventos.


PROC_DISCARD_BC

Los mensajes que este proceso espera recibir son:

  • MSG_INIT

    Este debería ser el primer mensaje. Inicializa el módulo y da de alta el servicio en las capas UDP y TCP. Por tanto este mensaje debería recibirse tras inicializar aquellas.

  • MSG_QUIT

    Este debería ser el último mensaje.

  • MSG_MBUF

    Este mensaje es enviado por las capas UDP o TCP cuando se reciben datos dirigidos a este módulo. Sencillamente se liberan. El formato se ha definido en los capítulos correspondientes.

  • MSG_TCP_OPEN

    Este mensaje se recibe cuando un proceso remoto intenta una conexión TCP. EL formato se ha descrito en un capítulo anterior. El proceso simplemente acepta la conexión y abre otro puerto "LISTEN" para aceptar cualquier otra que pudiese llegar.

  • MSG_TCP_CLOSE

    La máquina remota cierra la conexión TCP. Nosotros también la cerramos, dando por concluido el enlace. No es necesario crear un puerto "LISTEN" porque ya se hizo cuando se aceptó la conexión.

  • MSG_TCP_TIMEOUT

    Sencillamente se ignora. La conexión se ha cerrado de forma automática y habíamos creado un "LISTEN" cuando la aceptamos.


Bibliografía


[RFC768]    RFC768: "User Datagram Protocol"
            Jon Postel
            Agosto 1.981

[RFC793]    RFC793: "Transport Control Protocol"
            Jon Postel
            Septiembre 1.981

[RFC863]    RFC863: "Discard Protocol"
            Jon Postel
            Mayo 1.983



Python Zope ©1996 jcea@jcea.es

Más información sobre los OpenBadges

Donación BitCoin: 19niBN42ac2pqDQFx6GJZxry2JQSFvwAfS