"Telegraph" - e-mail senza Internet

Buona giornata!

Mi piacerebbe condividere alcune riflessioni interessanti con la comunità sulla creazione di un'e-mail decentralizzata autonoma e dimostrare come funziona nella pratica un'implementazione esistente.

Inizialmente, il "Telegrafo" è stato sviluppato come mezzo di comunicazione amatoriale tra i membri della nostra piccola comunità studentesca, che in un modo o nell'altro ha dedicato le sue attività alla tecnologia informatica e alle comunicazioni.

Nota Bene: Il “telegrafo” è un mezzo di comunicazione amatoriale; Sembra abbastanza problematico trarre benefici pratici su scala industriale, ma questo problema difficilmente può essere definito significativo in alcuna misura: riteniamo che il nostro obiettivo principale sia attirare direttamente l'attenzione sullo sviluppo di questo tipo di sistemi di comunicazione.

Siamo propensi a credere che aumentare l'interesse generale per lo sviluppo di vari sistemi di comunicazione sia necessario e piuttosto importante, perché comprendere i principi fondamentali su come funzionano questi sistemi e su cosa si basano è la chiave principale per aumentare la consapevolezza dei cittadini sulla sicurezza delle informazioni problemi.

"Telegraph" - e-mail senza Internet

Attenzione!Per evitare possibili fraintendimenti, in alcuni casi è possibile scorrere le immagini:
"Telegraph" - e-mail senza Internet

Il sistema si basa sui volontari e sul puro entusiasmo: ci piace semplicemente quello che facciamo. Puoi considerarlo un hobby e non sbaglierai: dopotutto, ci sono ancora amanti della comunicazione attraverso l'uso della corrispondenza cartacea; Il "telegrafo" nella maggior parte dei casi può essere rappresentato come un'implementazione digitale dei principi della posta ordinaria.

Telegraph è un analogo autonomo dell'e-mail che ti consente di inviare semplici messaggi di testo senza utilizzare Internet. "Telegrafo" in un modo o nell'altro può essere attribuito scarpe da ginnastica - un modo per scambiare informazioni senza utilizzare una rete.

Le unità flash vengono utilizzate come cassette postali e i terminali - i computer, che sono punti di accesso unici per ricevere e trasmettere la corrispondenza elettronica - fungono da uffici postali.

Consideriamo l'esempio più semplice di interazione con il sistema. Abbiamo due unità flash e un terminale in stock. Lo script stesso contiene le variabili globali necessarie per la successiva interazione con il sistema: numero del terminale, percorso della radice, ecc.

Se colleghiamo un'unità rimovibile al terminale ed eseguiamo lo script, proverà a ricevere i messaggi in uscita dalla directory /mnt/Telegrafo/Posta in uscita e trasferiscili nella tua memoria, quindi controlla la presenza di nuovi messaggi nella tua memoria per l'utente corrente. Se ce ne sono, scriveteli /mnt/Telegrafo/Posta in arrivo.

Registrazione di nuovi dispositivi

Succede in modo abbastanza casuale. Lo script trova nuove unità flash connesse al sistema e tenta di far corrispondere i loro ID univoci a quelli presentati nella root. Se i dispositivi non sono stati precedentemente registrati, verranno formattati secondo le regole stabilite da Telegraph.

Dopo aver registrato un nuovo dispositivo, la struttura root assume la seguente forma:

Visualizza post su imgur.com

Nel file di configurazione config.ini, situato nella radice dell'unità flash, sono presenti informazioni di sistema: un identificatore univoco e una chiave segreta.

Visualizza post su imgur.com

Date un po' di rum alla gente!

No, davvero, sul serio! Puoi ottenere le fonti qui, ed è giunto il momento di passare lentamente dalla teoria alla pratica.

Ma dovrei spendere ancora qualche parola su come funziona nella pratica il sistema di messaggistica.

Innanzitutto, scopriamo in cosa consiste un identificatore univoco di undici cifre. Per esempio, 10455000001.

La prima cifra 1, è responsabile del numero del paese. Codice internazionale - 0, la Russia in questo caso - 1.

Poi arrivano le quattro cifre responsabili del numero della regione in cui si trova il terminale. 0455 è il distretto urbano di Kolomna.

Sono seguiti da due numeri: 00, - direttamente responsabile del numero del terminale.

E solo allora - quattro cifre, che sono il numero di serie dell'utente assegnato a questo terminale. Abbiamo questo - 0001. C'è anche 0000 — questo numero appartiene direttamente al terminale stesso. Non è possibile inviargli corrispondenza scritta, ma il terminale stesso utilizza questo numero per inviare messaggi di servizio agli utenti. Ad esempio, se per qualche motivo il messaggio non può essere recapitato.

Visualizza post su imgur.com

Alla radice della nostra “casella di posta” ci sono due directory necessarie per ricevere e inviare messaggi di testo. Quando un dispositivo è connesso al terminale, i messaggi in uscita vengono inviati al server dalla directory "Posta in uscita" e i messaggi in entrata vengono caricati nella directory "Posta in arrivo", il che è logico.

Ogni file, a seconda della directory, viene denominato in base al numero del destinatario o del mittente.

Se proviamo a inviare un messaggio ad un destinatario inesistente, il terminale ci invierà un messaggio di errore.

Visualizza post su imgur.com

Tuttavia, se decidiamo di inviare una lettera a un destinatario che si trova su un altro terminale (indipendentemente dal fatto che esista o meno), questa verrà registrata nella memoria del terminale prima che l'agente trasferisca la corrispondenza scritta dal nostro terminale al suo.

Visualizza post su imgur.com

Quando l'agente di filiale 10500000000 (ovvero il postino) collegherà il suo dispositivo al nostro terminale, le lettere in uscita verranno trasferite sul suo drive. Successivamente, quando collegherà il suo dispositivo al terminale, queste lettere verranno scaricate nella memoria del terminale e attenderanno che il destinatario le scarichi sulla sua unità flash.

Sessione di comunicazione

Proviamo a inviare un messaggio con il testo "Ciao!" da 10455000001 к 10455000002.

Visualizza post su imgur.com

È tutto!

Sarò felice di ricevere qualsiasi critica al codice sorgente del progetto e all’articolo stesso.

Grazie per l'attenzione.

Fonte: habr.com

Aggiungi un commento