„Telegraf” - e-mail fără internet

Bună ziua!

Aș dori să împărtășesc câteva gânduri interesante cu comunitatea despre crearea unui e-mail descentralizat autonom și să demonstrez cum funcționează în practică o implementare existentă.

Inițial, „Telegraph” a fost dezvoltat ca un mijloc de comunicare amator între membrii micii noastre comunități studențești, care într-un fel sau altul și-a dedicat activitățile tehnologiei informatice și comunicațiilor.

nota bene: „Telegraful” este un mijloc de comunicare amator; Pare destul de problematic să obținem beneficii practice la scară industrială, dar această problemă cu greu poate fi numită semnificativă în orice măsură - considerăm că scopul nostru principal este atragerea directă a atenției asupra dezvoltării acestui tip de sisteme de comunicații.

Suntem înclinați să credem că interesul general sporit pentru dezvoltarea diferitelor sisteme de comunicații este necesar și destul de important, deoarece înțelegerea principiilor fundamentale ale modului în care funcționează aceste sisteme și pe ce se bazează ele este cheia principală pentru creșterea gradului de conștientizare a cetățenilor cu privire la securitatea informațiilor. probleme.

„Telegraf” - e-mail fără internet

Achtung!Pentru a evita eventualele neînțelegeri, în unele cazuri puteți derula imaginile:
„Telegraf” - e-mail fără internet

Sistemul se bazează pe voluntari și entuziasm pur - ne place ceea ce facem. Puteți considera acest lucru un hobby și nu veți greși - până la urmă, există încă iubitori de comunicare prin utilizarea corespondenței pe hârtie; „Telegraf” în cele mai multe cazuri poate fi reprezentat ca o implementare digitală a principiilor poștei obișnuite.

Telegraph este un analog de sine stătător al e-mailului care vă permite să trimiteți mesaje text simple fără a utiliza internetul. „Telegraf” într-un grad sau altul poate fi atribuit Sneakernet - o modalitate de a face schimb de informații fără a utiliza o rețea.

Unitățile flash sunt folosite ca cutii poștale, iar terminalele - computere, care sunt puncte de acces unice pentru primirea și transmiterea corespondenței electronice - acționează ca oficii poștale.

Să luăm în considerare cel mai simplu exemplu de interacțiune cu sistemul. Avem în stoc două unități flash și un terminal. Scriptul în sine conține variabilele globale necesare pentru interacțiunea ulterioară cu sistemul - numărul terminalului, calea către rădăcină etc.

Dacă conectăm o unitate amovibilă la terminal și rulăm scriptul, acesta va încerca să primească mesaje de ieșire din director /mnt/Telegraph/Outbox și transferați-le în memoria dvs., apoi verificați dacă există mesaje noi în memoria dvs. pentru utilizatorul curent. Dacă există, scrieți-le în /mnt/Telegraph/Inbox.

Înregistrarea dispozitivelor noi

Se întâmplă destul de întâmplător. Scriptul găsește noi unități flash conectate la sistem și încearcă să le potrivească ID-urile unice cu cele prezentate în rădăcină. Dacă dispozitivele nu au fost înregistrate anterior, acestea vor fi formatate în conformitate cu regulile stabilite de Telegraph.

După înregistrarea unui nou dispozitiv, structura rădăcină ia următoarea formă:

Vezi post pe imgur.com

În fișierul de configurare config.ini, situat în rădăcina unității flash, există informații de sistem - un identificator unic și o cheie secretă.

Vezi post pe imgur.com

Dă-le oamenilor niște rom!

Nu, cu adevărat, serios! Puteți obține sursele aiciși este timpul să trecem încet de la teorie la practică.

Dar ar trebui să mai spun câteva cuvinte despre cum funcționează sistemul de mesagerie în practică.

Mai întâi, să ne dăm seama în ce constă un identificator unic de unsprezece cifre. De exemplu, 10455000001.

Prima cifră 1, este responsabil pentru numărul țării. cod international - 0, Rusia în acest caz - 1.

Urmează patru cifre care sunt responsabile pentru numărul regiunii în care se află terminalul. 0455 este cartierul urban Kolomna.

Ele sunt urmate de două numere - 00, - direct responsabil pentru numărul terminalului.

Și numai atunci - patru cifre, care sunt numărul de serie al utilizatorului atribuit acestui terminal. Avem asta - 0001. De asemenea este si 0000 — acest număr aparține direct terminalului în sine. Nu îi puteți trimite corespondență scrisă, dar terminalul însuși folosește acest număr pentru a trimite mesaje de serviciu către utilizatori. De exemplu, dacă mesajul nu a putut fi livrat dintr-un motiv oarecare.

Vezi post pe imgur.com

La rădăcina „căsuței poștale” noastre există două directoare necesare pentru primirea și trimiterea mesajelor text. Când un dispozitiv este conectat la terminal, mesajele trimise sunt trimise către server din directorul „Outbox”, iar mesajele primite sunt încărcate în directorul „Inbox”, ceea ce este logic.

Fiecare fișier, în funcție de director, este numit de numărul destinatarului sau al expeditorului.

Dacă încercăm să trimitem un mesaj unui destinatar inexistent, terminalul ne va trimite un mesaj de eroare.

Vezi post pe imgur.com

Totuși, dacă decidem să trimitem o scrisoare unui destinatar situat pe alt terminal (indiferent dacă există sau nu), aceasta va fi înregistrată în memoria terminalului înainte ca agentul să transfere corespondența scrisă de la terminalul nostru la al său.

Vezi post pe imgur.com

Când agentul sucursalei 10500000000 (cu alte cuvinte, poștașul) își va conecta dispozitivul la terminalul nostru, scrisorile trimise vor fi transferate pe unitatea sa. Ulterior, atunci când își conectează dispozitivul la terminalul său, aceste litere vor fi stocate în memoria terminalului și vor aștepta ca destinatarul să le descarce pe unitatea flash.

Sesiune de comunicare

Să încercăm să trimitem un mesaj cu textul „Bună ziua!” din 10455000001 к 10455000002.

Vezi post pe imgur.com

Asta e tot!

Voi fi bucuros să primesc orice critică la adresa codului sursă al proiectului și a articolului în sine.

Vă mulțumim pentru atenție.

Sursa: www.habr.com

Adauga un comentariu