"Telegraph" - correo electrónico sin Internet

Buen día!

Me gustaría compartir algunas ideas interesantes con la comunidad sobre la creación de un correo electrónico descentralizado independiente y demostrar cómo funciona en la práctica una implementación existente.

Inicialmente, "Telegraph" se desarrolló como un medio de comunicación amateur entre miembros de nuestra pequeña comunidad estudiantil, que de una forma u otra dedicaban sus actividades a la tecnología informática y las comunicaciones.

Nótese bien: "Telegraph" es un medio de comunicación para aficionados; Obtener beneficios prácticos a escala industrial parece bastante problemático, pero este problema difícilmente puede considerarse significativo: consideramos que nuestro principal objetivo es atraer directamente la atención sobre el desarrollo de este tipo de sistemas de comunicación.

Nos inclinamos a creer que aumentar el interés general en el desarrollo de diversos sistemas de comunicación es necesario y bastante importante, porque comprender los principios fundamentales de cómo funcionan estos sistemas y en qué se basan es la clave principal para aumentar la conciencia de los ciudadanos sobre la seguridad de la información. asuntos.

"Telegraph" - correo electrónico sin Internet

Achtung!Para evitar posibles malentendidos, en algunos casos puedes desplazarte por las imágenes:
"Telegraph" - correo electrónico sin Internet

El sistema se basa en el voluntariado y el entusiasmo puro: simplemente nos gusta lo que hacemos. Puede considerar esto como un pasatiempo y no se equivocará; después de todo, todavía hay amantes de la comunicación mediante el uso de correspondencia en papel; "Telegraph" en la mayoría de los casos se puede representar como una implementación digital de los principios del correo ordinario.

Telegraph es un análogo independiente del correo electrónico que le permite enviar mensajes de texto simples sin utilizar Internet. "Telégrafo" en un grado u otro se puede atribuir a zapatilla - una forma de intercambiar información sin utilizar una red.

Las unidades flash se utilizan como buzones de correo y las terminales (computadoras, que son puntos de acceso únicos para recibir y transmitir correspondencia electrónica) actúan como oficinas de correo.

Consideremos el ejemplo más simple de interacción con el sistema. Disponemos de dos pendrives y un terminal en stock. El script en sí contiene las variables globales necesarias para la interacción posterior con el sistema: número de terminal, ruta a la raíz, etc.

Si conectamos una unidad extraíble al terminal y ejecutamos el script, intentará recibir mensajes salientes del directorio /mnt/Telegraph/Bandeja de salida y transfiéralos a su memoria, luego verifique si hay nuevos mensajes en su memoria para el usuario actual. Si los hay, escríbalos en /mnt/Telegraph/Bandeja de entrada.

Registrar nuevos dispositivos

Sucede de forma bastante aleatoria. El script encuentra nuevas unidades flash conectadas al sistema e intenta hacer coincidir sus ID únicas con las presentadas en la raíz. Si los dispositivos no se han registrado previamente, se formatearán de acuerdo con las reglas establecidas por Telegraph.

Después de registrar un nuevo dispositivo, la estructura raíz toma la siguiente forma:

Ver post en imgur.com

En el archivo de configuración config.ini, ubicado en la raíz de la unidad flash, hay información del sistema: un identificador único y una clave secreta.

Ver post en imgur.com

¡Dale ron a la gente!

¡No, de verdad, en serio! Puedes conseguir las fuentes. aquí, y es hora de que pasemos lentamente de la teoría a la práctica.

Pero debería decir algunas palabras más sobre cómo funciona el sistema de mensajería en la práctica.

Primero, averigüemos en qué consiste un identificador único de once dígitos. P.ej, 10455000001.

El primer dígito 1, es responsable del número del país. Código Internacional - 0, Rusia en este caso - 1.

Luego vienen cuatro dígitos que son responsables del número de la región en la que se encuentra el terminal. 0455 es el distrito urbano de Kolomna.

Les siguen dos números: 00, - responsable directo del número de terminal.

Y solo entonces, cuatro dígitos, que son el número de serie del usuario asignado a este terminal. Tenemos esto - 0001. También hay 0000 — este número pertenece directamente al propio terminal. No puede enviarle correspondencia escrita, pero el propio terminal utiliza este número para enviar mensajes de servicio a los usuarios. Por ejemplo, si el mensaje no se pudo entregar por algún motivo.

Ver post en imgur.com

En la raíz de nuestro “buzón” hay dos directorios necesarios para recibir y enviar mensajes de texto. Cuando un dispositivo está conectado al terminal, los mensajes salientes se envían al servidor desde el directorio "Bandeja de salida" y los mensajes entrantes se cargan en el directorio "Bandeja de entrada", lo cual es lógico.

Cada archivo, según el directorio, recibe el nombre del número de destinatario o remitente.

Si intentamos enviar un mensaje a un destinatario inexistente, el terminal nos enviará un mensaje de error.

Ver post en imgur.com

Sin embargo, si decidimos enviar una carta a un destinatario ubicado en otro terminal (independientemente de que exista o no), quedará registrado en la memoria del terminal antes de que el agente transfiera la correspondencia escrita de nuestro terminal al suyo.

Ver post en imgur.com

Cuando el agente de la sucursal 10500000000 (en otras palabras, el cartero) conectará su dispositivo a nuestro terminal, las cartas salientes se transferirán a su disco. Posteriormente, cuando conecte su dispositivo a su terminal, dichas cartas se volcarán en la memoria del terminal y esperará a que el destinatario las descargue en su pendrive.

Sesión de comunicación

Intentemos enviar un mensaje con el texto "¡Hola!" de 10455000001 к 10455000002.

Ver post en imgur.com

¡Eso es todo!

Estaré encantado de recibir cualquier crítica sobre el código fuente del proyecto y el artículo en sí.

Gracias por su atención.

Fuente: habr.com

Añadir un comentario