FidoNet

FidoNet er et globalt datanettverk som hovedsakelig brukes for å kommunisere mellom Bulletin Board Systemer (BBS). Det var på høyden av sin popularitet på tidlig 90-tall, med omtrent 32 000, før rimelig og enkel tilgang til internett ble vanlig. Nettverket er fremdeles i bruk, men har krympet betraktelig i størrelse, hovedsakelig på grunn av at mange BBSer opphørte.


== Opprinnelse ==
FidoNet ble opprinnelig grunnlagt som et ikke-kommersielt nettverk i 1984 av Tom Jennings fra San Francisco, California for å binde sammen BBSer som brukte hans egen «Fido» BBS programvare. Etterhvert som tiden gikk, så ble andre BBS programmer individuelt tilpasset for å støtte de relevante FidoNet protokoller, og nettverket ble en populær metode for kommunikasjon på hobby-basis mellom brukere av BBSer.


== Organisasjonsstruktur ==
FidoNet er underlagt en hierarkisk struktur i henhold til FidoNet kriteriene, med utpekte koordinatorer på hvert nivå for å administrere nodene og for å avgjøre disputter mellom medlemmene. Koordinatorer på nettverksnivå er ansvarlige for å administrer nodene innen deres område, som regel en by eller et geografisk område, for eksempel Østlandet. Koordinatorer på regionsnivå er ansvarlige for å administrere nettverkskoordinatorene innen deres region, som regel på størrelse med en stat eller et mindre land som Norge. Koordinatorer på sone-nivå er ansvarlige for å administrere regionskoordinatorene innen sonen. Verden er delt i seks soner, og sonekoordinatorene velger en internasjonal koordinator, blant seg selv, for FidoNet.


== Struktur ==


=== Teknisk struktur ===
Opprinnelig og historisk var FidoNet laget for å bruke modembasert oppringing via telefonlinjer, for derigjennom sende eller motta melinger i nettverket. Mange av retningslinjene og strukturen i FidoNet er derfor basert på dette.
FidoNet systemet refererte offisielt kun til overføring av Netmail — individuelle, private meldinger mellom personer på BBSer, inkludert protokollene og standardene som var i bruk for å kunne understøtte dette. En Netmail melding inneholdt navnet til senderen, navnet til mottakeren og de respektive FidoNet adressene deres. FidoNet systemet var ansvarlig for å rute eller videresende meldingen fra ett FidoNet system til et annet (se detaljer nedenfor), og BBSen på mottagende side var ansvarlig for at bare den påtenkte mottaker kunne lese meldingen. På grunn av hobbyvirksomheten FidoNet var bygget opp av, var det bare ren høflighet fra de som eide de individuelle FidoNet systemene som sikret at meldingen ikke ble lest av andre enn mottageren. Det var fremdeles en del systemoperatører (sysop) som forbeholdt seg retten til å lese enhver melding som passerte gjennom deres system.
Netmail tillot å legge ved en fil på hver melding. Dette gjorde sitt til at det ble laget en rekke ekstra protokoller eller funksjonalitet, som utnyttet dette, deriblant automatisk distribusjon av filer og overføring av data for spill på tvers av BBSer.
Den mest brukte ekstra funksjonaliteten var Echomail, som var konferanser eller diskusjonsforumer. Echomail funksjonaliteten ble lagt til ved hjelp av egne programmer som hentet nye meldinger (en scanner) fra de lokale diskusjonsfora på en BBS, komprimerte disse med ARC eller ZIP format, la filen til en spesiell Netmail melding, og sendte meldingen med vedlegg til en annen FidoNet node. Ved mottak av en slik Netmail melding, som ble identifisert ved at den var adressert til en spesiell bruker, så blir prosessen reversert ved å pakke ut meldingene med relevant utpakker (unARC, unZIP), og legger meldingene inn i det lokale forumet ved hjelp av et eget program (en tosser).
Echomail var blitt så populært at for mange brukere var dette FidoNet. Private Netmail meldinger var relativt sjeldne i forhold.


=== Geografisk struktur ===
FidoNet er organisert politisk i en tre-struktur, slik at de individuelle delene av treet velger sine respektive koordinatorer. FidoNet hierarkiet består av soner (Zone), regioner (Region), nettverk (Network), noder (Node) og punkter (Point), og er ordnet mer eller mindre geografisk.
Sonene er på det høyeste nivået, og er ordnet hovedsakelig per kontinent:

Sone 1 er Nord-Amerika
Sone 2 er Europa, tidligere Sovjetunionen (inkludert Russland) og Israel
Sone 3 er Australasia
Sone 4 er Latin-Amerika (unntatt Puerto Rico)
Sone 5 er Afrika
Sone 6 er Asia (bortsett fra asiatiske deler av Russland og Israel, som er inkludert i sone 2)Hver sone er brutt ned i regioner, som igjen er brutt ned i nett, som består av individuelle noder. Sonene 7-4096 blir brukt til andre nettverk (othernets), som er grupperinger av noder som bruker FidoNet-kompatibel programvare for å skape nettverk uten å kontrolleres av den politiske strukturen i FidoNet. Ved å bruke ubrukte sonenummer, så sikrer man at hvert nettverk har unike adresser, og unngår potensielle rutingkonflikter og andre problemer om en node eller system er medlem av flere nettverk samtidig.


=== FidoNet adresser ===
FidoNet adresser består av et Zone nummer, et Network (eller region) nummer, og et Node nummer. Adressene skrives på formen  Zone:Network/Node. FidoNet strukturen tillater også for en semantisk angivelse av regions, vert og hub-status for enkelte noder, men statusen er ikke direkte indikert av hovedadressen.
Som et eksempel, ta for deg en node i Tulsa, Oklahoma, USA, med et tildelt nodemunner 918, lokalisert i Zone 1 (Nord-Amerika), region 19 og nettverk 170. Full FidoNet adresse for dette systemet vil da være 1:170/918. Regionen brukes kun for administrative formål, og er en del av adressen kun i de tilfeller hvor noden listes direkte under regionskoordinatoren i stedet for under ett av nettene som brukes for å dele opp regionen.
FidoNet retningslinjene krever at hvert enkelt FidoNet system vedlikeholder en nodeliste som inneholder informasjon om alle andre deltagende systemer. Informasjonen om hver node inkluderer detaljer som navnet på systemet eller BBSen, navnet på sysop, geografisk lokasjon, telefonnummer og programvarens muligheter. Nodelisten oppdateres ukentlig.
For å kunne oppdatere med jevne mellomrom, så vedlikeholder nettverkskoordinatorene en liste over systemene innenfor sitt område. Listene sendes så til regions- og sonekoordinatorer med jevne mellomrom. Den internasjonale koordinatoren sammenstiller så en ny nodeliste, og lager en liste over endringer (nodediff), som distribueres, slik at alle nodeoperatører kan oppdatere sin nodeliste.


=== Meldingsformidling i FidoNet ===
I teorien ville en node normalt sett videresende meldinger til en hub. Hub'en som har som oppgave å være et distribusjonspunkt for post, kan da eksempelvis videresende meldingen til nettverks-koordinatoren. Derfra kan meldingen bli sendt gjennom en regions-koordinator, eller til et annet system spesifikt satt opp for denne type funksjonalitet. Meldinger til andre soner kan sendes gjennom en Zone Gate.
Eksempelvis kan en FidoNet melding følge denne stien: 

1:170/918 (node) til 1:170/900 (hub) til 1:170/0 (nettverkskoordinator) til 1:19/0 (regionskoordinator) til 1:1/0 (sonekoordinator). Derfra kan meldingen distribueres 'nedstrøms' til mottaker-noden(e).Opprinnelig var det ingen spesifikk avhengighet mellom nettverksnummer og regionene de tilhørte. I deler av FidoNet, særlig i sone 2, så finner man en sammenheng mellom regionsnummer og nettverksnummer. Eksempelvis, så er 2:201/329 i nett 201, som tilhører region 20, mens 2:2410/330 er i nett 2410 tilhørende region 24. Sone 2 har også relatert nodenummer til hub-nummer, om nettverket er stort nok til å ha en eller flere hub'er. Eksempel på dette kan være at 2:2410/330 tilhører hub 300.
I sone 1 har historien gjort sitt til at ting ser annerledes ut. Sone 1 var utgangspunktet når soner og regioner ble laget, og de eksisterende nettene ble delt opp regionsvis uten noen spesiell formel. Det eneste som ble hensynstatt var at nettene var geografisk lokalisert innenfor regionens definerte grenser. Etterhvert som nettverkene ble flere, så ble følgende formel brukt:

Region multiplisert med 20

Så begynte noen regioner å gå tom for nettverksnummer, slik at følgende formel ble benyttet:

Region multiplisert med 200

Eksempelvis så inneholder region 19 nettene 380-399 og 3800-3999 i tillegg til de som eksisterte i region 19 når den ble opprettet.
Ett av argumentene for å bruke lokale nettverk, var å få til en reduksjon i kommunikasjonskostnader ved at alle meldinger som skulle sendes til en eller flere HUBer eller nettverkshoster ble forberedt og komprimert, slik at de kunne sendes til andre nettverk utenfor lokalsamtaleområdet i tidsrom hvor telefonikostanden var lavest.
I realiteten så gir FidoNet strukturen mulighet for forbindelser direkte mellom to vilkårlige noder, og nodeoperatører (sysop) satte i blant opp sine egne langdistanseforbindelser på en ad hoc basis, som muliggjorde en balansegang mellom kostnadsbesparelser og levering innenfor en akseptabel tidsramme. Som eksempel kunne en sysop i et nettverk tilby å gjennomføre planlagte oppkall til et definert system i ett annet nettverk, og de resterende sysopene i disse nettverkene kunne videresende sine meldinger til disse, slik at forbindelsen videresendte meldinger til de nærliggende systemene. Operatører innenfor de enkelte nettverkene kunne ha kostandsdelingssystemer på plass, men det var også ganske vanlig at enkeltpersoner gjorde dette av fri vilje og ut av sin egen lommebok, enten for å være generøs, eller for å opparbeide seg status innenfor fellesskapet.


=== Punkter (Points) ===
Etterhvert som antallet meldinger i Echomail økte, så ble det vanskelig for enkeltbrukere å holde tritt med volumet i den tiden de var logget på sin lokale BBS. Points ble introdusert for å adressere dette problemet, som ga teknisk kyndige brukere mulighet for å motta forhåndskomprimert og klargjort Echomail og Netmail, for så å lese dette lokalt på sin egen datamaskin.
For å gjennomføre dette, så ble FidoNet adresseringssystemet utvidet med ett adressesegment, punktnummeret. Som eksempel, så ville et slikt punktsystem bli gitt punktnummer 10, og kunne så motta post på adresse 1:170/918.10
Avhengig av hvilken programvare man benyttet, så kunne et FidoNet punkt være komplisert å sette opp. FidoNet programvare bestod ofte av et antall mindre programmer, som kjørte gjennom manuelt justerte skript. Å lese og redigere posten lokalt krevde enten en 'sysop editor' eller at man kjørte en lokal BBS.
I Nord-Amerika (sone 1) ble punkter brukt kun i liten grad. Dedikerte offline programmer slik som Blue Wave, Squiggy og Silver Xpress (OPX) ble introdusert på midten av 80-tallet, og gjorde sitt til at punkt-systemene ble overflødige. Mange av disse offline programmene støttet QWK pakkeformatet for offline behandling av post.
I andre deler av verden, særlig i Europa (sone 2), var situasjonen annerledes. Her var ofte telefonforbindelsene, i motsetning til lokalsamtaler i Nord-Amerika, ikke gratis, og det var en sterk pådriver for å holde online-tiden så kort som mulig. Punktsystemene brukte standard kompresjon (ZIP, ARJ, RAR osv.) og kunne derfor holde forbindelsene nede i et par minutter om dagen, avhengig av mengde som skulle overføres og hastigheten på modemforbindelsen. Mange regioner i Europa distribuerte en punktliste (pointlist) parallelt med nodelisten. På et tidspunkt så fantes det over 120 000 punkter i sone 2 sin frivillige punktliste, noe som indikerer at det virkelige antallet var ennå høyere. I juni 2006 var det fremdeles omtrent 50 000 punkter i punktlisten, med flesteparten lokalisert i Russland og Ukraina.


=== Tekniske spesifikasjoner ===
FidoNet har flere tekniske spesifikasjoner for å sikre kompatibilitet mellom systemene. FTS-0001 er basisen, som alle FidoNet systemene må gjennomføre som et minimum for å være kompatibel med de andre systemene. FTS-0001 definerer:

Handshake – protokollene som brukes av mailer programvaren for å identifisere seg overfor hverandre, og utveksle metainformasjon om sesjonen
Overføringsprotokoll – protokollen som brukes for å overføre filer som inneholder FidoNet post. Standard protokoll er XMODEM om ikke annet avtales.
Meldingsformat – Hvilket meldingsformat som brukes for FidoNet-meldingene når de utveksles mellom systemene.Andre spesifikasjoner som også ble brukt, gjorde det mulig å overføre Echomail, alternative overføringsprotokoller og handskae-metoder (eksempelvis: Yoohoo/2U2, EMSI), filkomprimering, nodelisteformat, overføring over transport-orienterte forbindelser som internett (Binkp), og andre aspekter.


=== Post-time for sonen (Zone mail hour) ===
Da BBSer historisk sett ofte brukte den samme telefonlinjen for å overføre post i FidoNet og samtidig tillate personer å ringe inn for å bruke BBSen, så sier FidoNet policy at minst én inngående linje skal reserveres for å ta imot post fra andre FidoNet noder i et spesifikt tidsrom hver dag, noe som satte som krav å avvise eventuelle ikke-FidoNet oppringninger. Dette tidsrommet, som regel en klokketime, ble navngitt «Zone Mail Hour», og varierte basert på nodens geografiske lokasjon, og var som regel satt opp tidlig på morgenen. Som navnet antyder, så var det et felles tidsrom innenfor sonen, og kunne derfor variere i forhold til hvilken tidssone noden befant seg i.


== FidoNets anvendelse ==
Selv om det eksisterer programmer som ivaretar alle FidoNets funksjoner samlet (D'Bridge, BBBS), så ble de fleste FidoNet systemer laget for å bygges opp av mange mindre moduler. En typisk anvendelse involverer flere applikasjoner som kommuniserer gjennom delte filer og kataloger, og man veksler mellom disse applikasjonene gjennom nøye planlagte skallskript eller satsfiler.

Mailer programvare er ansvarlig for å overføre filer og meldinger mellom systemene, og også for å gi kontrollen over til andre applikasjoner på formålstjenlige tidspunkt, slik som å starte BBS programvaren når en BBS-bruker ringer inn til systemet. Denne programvaren svarer når telefonlinjen ringer, og tar imot og sender FidoNet post gjennom overføringsprotokoller. Når utgående post lå på vent, så kan programvaren ringe opp til det mottagende systemet, og levere denne, om det var konfigurert til å gjøre dette.
BBS programvare brukes for å gi et grensesnitt til systemet mot menneskelige brukere. BBS programvare ga brukerne mulighet til å lese og skrive i systemets meldingsdatabase, for bruk lokalt på systemet, eller for å sendes til andre systemet i FidoNet eller andre nettverk.
En scanner/tosser programvare, slik som FastEcho, FMail og Squish, ble ofte brukt når en bruker hadde lagt inn nye meldinger i et FidoNet echo eller Netmail, som skulle videresendes til andre noder i nettet, eller når ny post hadde blitt mottatt for import i meldingsdatabasen. Denne programvaren er ansvarlig for å pakke inn- og utgående post, flytte disse mellom systemets meldingsdatabase og mailerens inn- og utkataloger. Scanner/tosser applikasjonen er vanligvis også ansvarlig for å finne basis rutingsinformasjon, for å finne ut av hvilke systemer som skal ha hvilken post/meldinger.
Etterhvert så har meldingslesere som er uavhengige av BBS programvaren blitt utviklet. En sysop på en BBS brukte ofte en slik meldingsleser i stedet for selve BBS programvaren for å lese og skrive FidoNet relaterte meldinger. I noen tilfeller så hadde ikke FidoNet noder eller punkter noen tilgjengelig BBS programvare, men eksisterte kun for å overføre post for operatøren, og ingen andre.
Den opprinnelige Fido BBS programvaren og en del andre støtteprogrammer for FidoNet fra 80-tallet brukes ikke lenger på moderne systemer. En av årsakene kan og har vært år 2000-problemet. Andre årsaker er at personene som har skrevet programvaren har forlatt BBS eller shareware miljøene, og programvare som ofte var lukket kildekode (motsatt av åpen kildekode) har blitt forlatt (abandonware).


== FidoNet tilgjengelighet ==
Selv om bruken av FidoNet har falt dramatisk sammenlignet med dets høytidsdager på midten av 90-tallet, så er det fremdeles populært særlig i Russland og tidligere Sovjetunionen. Noen BBSer inklusive de som nå er tilgjengelige for brukere med internett forbindelser via telnet har videreført sin FidoNet netmail og echomail tilhørighet.
Noen av FidoNets echomail konferanser er tilgjengelig via Usenet nyhetsgrupper. Det finnes også systemer som er laget for å konvertere e-post mellom internett og FidoNet. Utbredt misbruk av interett og søppelpost har gjort sitt til at noen portaler (slik som den tidligere 1:1/31 fidonet.org portalen) har blitt ubrukelig eller har avsluttet funksjonaliteten helt og holdent.


== Referanser ==


== Eksterne lenker ==
Offisielt nettsted 
(en) FidoNet – kategori av bilder, video eller lyd på Commons 
Alternativ FidoNet hjemmeside
FidoNet Technical Standards Committee
International Echolist
The Big Dummy's Guide To The FidoNet