"Telegraph" - correo electrónico sen Internet

Bo día!

Gustaríame compartir algunhas reflexións interesantes coa comunidade sobre a creación dun correo electrónico descentralizado autónomo e demostrar como funciona unha implementación existente na práctica.

Inicialmente, “Telegraph” desenvolveuse como un medio de comunicación afeccionado entre membros da nosa pequena comunidade estudantil, que dun xeito ou outro dedicaba as súas actividades á informática e ás comunicacións.

Nota Bene: "Telégrafo" é un medio de comunicación afeccionado; Parece bastante problemático obter beneficios prácticos a escala industrial, pero este problema dificilmente pode calificarse de significativo en ningún sentido - consideramos que o noso principal obxectivo é chamar directamente a atención sobre o desenvolvemento deste tipo de sistemas de comunicación.

Inclinámonos a crer que é necesario e bastante importante aumentar o interese xeral polo desenvolvemento de diversos sistemas de comunicación, porque comprender os principios fundamentais de como funcionan estes sistemas e en que se basean é a clave principal para aumentar a concienciación dos cidadáns sobre a seguridade da información. cuestións.

"Telegraph" - correo electrónico sen Internet

Achtung!Para evitar posibles malentendidos, nalgúns casos podes desprazarte polas imaxes:
"Telegraph" - correo electrónico sen Internet

O sistema baséase nos voluntarios e no puro entusiasmo: gústanos o que facemos. Podes considerar isto un pasatempo e non te equivocarás; despois de todo, aínda hai amantes da comunicación mediante o uso da correspondencia en papel; "Telégrafo" na maioría dos casos pode representarse como unha implementación dixital dos principios do correo normal.

Telegraph é un análogo de correo electrónico autónomo que che permite enviar mensaxes de texto sinxelas sen utilizar Internet. Pódese atribuír a "telégrafo" nun ou outro grao Sneakernet - unha forma de intercambiar información sen utilizar unha rede.

As unidades flash utilízanse como caixas de correo e os terminais -ordenadores, que son puntos de acceso únicos para recibir e transmitir correspondencia electrónica- actúan como oficinas de correos.

Consideremos o exemplo máis sinxelo de interacción co sistema. Temos dúas unidades flash e un terminal en stock. O propio script contén as variables globais necesarias para a interacción posterior co sistema: número de terminal, camiño á raíz, etc.

Se conectamos unha unidade extraíble ao terminal e executamos o script, este intentará recibir mensaxes de saída do directorio /mnt/Telegraph/Outbox e transfireos á súa memoria, despois comprobe se hai novas mensaxes na súa memoria para o usuario actual. Se os hai, anótao /mnt/Telegraph/Inbox.

Rexistrando novos dispositivos

Ocorre de forma bastante aleatoria. O script atopa novas unidades flash conectadas ao sistema e tenta facer coincidir os seus ID únicos cos que se presentan na raíz. Se os dispositivos non foron rexistrados previamente, formataranse segundo as regras indicadas por Telegraph.

Despois de rexistrar un novo dispositivo, a estrutura raíz toma a seguinte forma:

Ver publicación en imgur.com

No ficheiro de configuración config.ini, situado na raíz da unidade flash, hai información do sistema: un identificador único e unha clave secreta.

Ver publicación en imgur.com

Dálle un pouco de ron á xente!

Non, de verdade, en serio! Podes obter as fontes aquí, e é hora de que pasemos lentamente da teoría á práctica.

Pero debería dicir algunhas palabras máis sobre como funciona o sistema de mensaxería na práctica.

En primeiro lugar, imos descubrir en que consiste un identificador único de once díxitos. Por exemplo, 10455000001.

O primeiro díxito 1, é responsable do número de país. código internacional - 0, Rusia neste caso - 1.

A continuación veñen catro díxitos que son os responsables do número da rexión na que se atopa o terminal. 0455 é o distrito urbano de Kolomna.

Van seguidos de dous números - 00, - responsable directo do número de terminal.

E só entón - catro díxitos, que son o número de serie do usuario asignado a este terminal. Temos isto - 0001. Tamén hai 0000 — este número pertence directamente ao propio terminal. Non pode enviarlle correspondencia escrita, pero o propio terminal utiliza este número para enviar mensaxes de servizo aos usuarios. Por exemplo, se a mensaxe non se puido entregar por algún motivo.

Ver publicación en imgur.com

Na raíz da nosa "caixa de correo" hai dous directorios necesarios para recibir e enviar mensaxes de texto. Cando un dispositivo está conectado ao terminal, as mensaxes saíntes envíanse ao servidor desde o directorio "Baixa de saída" e as mensaxes entrantes cárganse no directorio "Baixa de entrada", o que é lóxico.

Cada ficheiro, dependendo do directorio, é nomeado polo número de destinatario ou remitente.

Se tentamos enviar unha mensaxe a un destinatario inexistente, o terminal enviaranos unha mensaxe de erro.

Ver publicación en imgur.com

Non obstante, se decidimos enviar unha carta a un destinatario situado noutro terminal (independentemente de que exista ou non), quedará rexistrada na memoria do terminal antes de que o axente transfira a correspondencia escrita do noso terminal ao seu.

Ver publicación en imgur.com

Cando o axente da sucursal 10500000000 (noutras palabras, o carteiro) conectará o seu dispositivo ao noso terminal, as cartas saíntes serán transferidas á súa unidade. Posteriormente, cando conecte o seu dispositivo ao seu terminal, estas letras verteranse na memoria do terminal e agardarán a que o destinatario as descargue na súa unidade flash.

Sesión de comunicación

Tentemos enviar unha mensaxe co texto "Ola!" dende 10455000001 к 10455000002.

Ver publicación en imgur.com

Iso é todo!

Estarei encantado de recibir calquera crítica sobre o código fonte do proxecto e o propio artigo.

Grazas pola atención.

Fonte: www.habr.com

Engadir un comentario