Komputila reto

eta|dekstra|290px|Ekzempla reto kaj ties elementoj

**Komputila reto** estas sistemo de komunikado inter du aŭ pli da komputiloj. Ofte oni konektas ankaŭ aliajn maŝinojn (kiel printiloj) kaj retan aparataron (enkursigiloj, koncentriloj, fajroŝirmiloj, kaj aliaj).

La plej fama kaj granda reto estas Interreto, kiu enhavas la Tut-Teran Teksaĵon, sed ekzistas multego de etaj retoj, ekzemple en domoj aŭ entreprenoj. Ekzistas pluraj tipoj: *kablaj* kaj *senkablaj*, *lokaj* kaj *mallokaj*, ktp. Kutime reto dividiĝas en subretoj (laŭ la decidoj de la retestro), kaj ofte ekzistas *reta politiko* pri sekurecaj temoj, ekzemple kiuj klientoj rajtas atingi kiujn servilojn.

La komunikado funkcias danke al retaj protokoloj, kiel ekzemple TCP/IP (la pli konataj), Eterreto, ICMP, kaj DNS. Ĉiu servo uzebla en reto estas regulita per protokolo; ekzemple HTTP estas la baza protokolo por ŝuti retpaĝojn; IRC estas por babilejoj; SMTP, POP3 kaj IMAP utilas por retpoŝto, ktp.

## Fizikaj bazkonceptoj 
### Reta aparataro 
La necesa aparataro por uzi reton dependas de la tipo kaj topologio de ĉia reto. Ekzistas pluraj tipoj de retkabloj, kaj do pluraj tipoj de konektingoj. Ekzistas eĉ retoj senkablaj, kiuj kompreneble ne bezonas retkablon sed anstataŭ bezonas specialan aparataron.

150px|kabla retkarto
150px|senkabla retkarto

Retkarto kabla kaj senkabla, ambaŭ per PCI

Minimume, ĉiu komputilo bezonas **retkarton**. Estas tre grava, ĉar tie oni konektas la retkablon (se la reto estas kabla). Se la reto estas senkabla, oni bezonas ankaŭ retkarton, sed ĝi estas nur anteno, kiu povas sendi kaj ricevi la signalon tra la aero.
Ĉiajn retkartojn povas oni konekti al komputilo per pluraj konektingoj, kiel PCI (por surtabla komputilo), PCMCIA (ĉefe por tekokomputilo), aŭ USB (por ĉiuj). Kun kelkaj konektoj, eble estas bezonata pelilo por ke la operaciumo funkciigos la aparaton.

[eta|dekstra|150px|Normala [enkursigilo]]

Por konekti reton kun aliaj, oni uzas **enkursigilon**. Ekzemple, por konekti lokalan reton ĉe domo kun la Interreto, oni bezonas tian aparaton. Interne enhavas ĝi minume du retkartojn (unu je reto), ĉar ĉi tiu aparato devas ĉeesti en la du retoj, por la datumojn enkursigi el unu reto al la alia. Ĉi tiu procezo estas la enkursigo, kaj estas kompleksa teknike. Ekzistas por tio multaj rimedoj, kiel BGP, EGP, RIP, OSPF, IGRP, kaj aliaj.

[eta|dekstra|150px|[Koncentrilo]]

Krome, por ebli konekti multajn komputilojn inter ili, estas bezonata **koncentrilo**. Eĉ en simpla reto (sen *enkursigilo*) utilas, ĉar ĝi ebligas, ke iu el la maŝinoj povas kontakti iun ajn el ili; kaj plue, ĝi ebligas konekti aron da maŝinoj kie normale oni povas konekti nur unu. Similas al ia *obla ŝtopilingo*, kiun oni trovas ofte en domoj, sed anstataŭ esti por *kabloj de kurento*, estas por retkabloj.

Kutime, la enkursigilo enhavas funkcion de koncentrilo, kaj do permesas, ke oni konektu multajn komputilojn el nia reto al Interreto (ekzemple). Kelkaj eĉ funkcias kiel *senkabla elsendilo*, kaj do ankaŭ ebligas al komputiloj kun sendrata retkarto la uzadon de Interreto.

### Reta topologio 
[eta|dekstra|120px|[Maŝreto]]

La **reta topologio** estas la maniero, multajn komputilojn konekti. Estas malsame, konekti ĉiujn kun ĉiuj, ke konekti ĉiujn kun nur unu reta aparato; ĉia maniero havas avantaĝojn kaj malavantaĝojn. Kelkaj manieroj estas ekzemple:
* *maŝreto*
* *stelreto*
* *busreto*
* *ringoreto*
* *arboreto*

Plua informo troviĝas ĉe la ĉefa artikolo.

Ĉi tiu temo rilatas al grafeteorio, ĉar oni povas reton prezenti kiel nodoj kaj konektoj.

### Kablado 
[eta|dekstra|150px|Tipa retkablo ([RJ45)]]

Krom la logika konekto inter maŝinoj, ĉe kablaj retoj oni bezonas kompreneble infrastrukturon de **retkabloj**, retkablingoj, la pluraj retaparatoj, kaj eble ankaŭ telefona linio. La kablado devas konsideri necesojn de la uzantoj kaj la ejoj, por ebli decidi la ecojn de la kabloj, iliajn vojojn, kaj la lokojn por la kroma necesa ekipaĵo.

Kabloj haveblas en multaj tipoj (UTP, FTP, STP, ...) kaj pluraj kategorioj (Cat 5, Cat 6, ...).
Oni povas ilin eĉ prepari per speciala ilo simila al pinĉilo, kiu premas kaj firmigas la tutajn kabletojn ene. La ordo de kabletoj devas esti korekta por atingo de la korekta ŝutrapideco.

eta|dekstra|150px|Kablaroj

Pluraj problemoj eblas aperiĝi en kablaj instalaĵoj: elektraj interferoj (elektromagneta radiado), danĝero de incendio aŭ inundo, ronĝuloj (kaŭzantoj de grava parto de paneoj en ĉiaj kabloj), kaj aliaj. Krome, difektaj retkabloj (aŭ malbone faritaj) povas funkcii ne ĉiam, aŭ malatingi la pli altan rapidecon.

### Grandeco de retoj 
Oni povas retojn apartigi laŭ ilia grandeco.
La baza klasigo estas laŭ **loka reto** / **malloka reto**.
La malsameco estas subjektiva, sed proksime: en *loka reto*, oni povus kunmeti ĉiujn retitajn aparatojn en la sama ĉambro, tamen en *malloka reto*, la komputiloj estas malproksimaj geografie. Interreto estas la plej fama malloka reto.

Kvankam tia klasigo sufiĉas por proksime klarigi retgrandecon, ekzistas krome pluraj konceptoj, ofte skribitaj per anglaj sigloj. Precize:

* lokaj retoj:
** BAN (*Body Area Network*)
** PAN (*Personal Area Network*)
*** WPAN (*Wireless Personal Area Network*)
** LAN (*Local Area Network*)
*** WLAN (*Wireless LAN*)
* mallokaj retoj:
** MAN (*Metropolitan Area Network*)
** WAN (*Wide Area Network*)
** GAN (*Global Area Network*)
** VPN (*Virtual Private Network*)
** SAN (*Storage Area Network*)

El ili, *LAN* kaj *WAN* estas la plej konataj, kaj kutime uzataj kiel ekzemplo de *loka* kaj *malloka* reto. Krom tiuj, WLAN kaj VPN estas konataj pro la specialaj funkcioj, kiujn ili oferas.

### Partoprenantoj 
Kutime reto estas nur konekto de *komputiloj*, sed aliaj aparatoj povas partopreni en reto, kaj tiel informon sendi al kaj ricevi de aliaj maŝinoj.
Ili bezonas ĉiam la retan aparataron (retkarto/anteno kaj cetero).

Ekzemploj de aparatoj reteblaj: printiloj, kameraoj, poŝtelefonoj, robotoj, sistemoj ĉe procesaŭtomacio, sensiloj, aktuatoroj.

### Medio por komunikado 
#### Ĉe kablaj retoj 
[eta|dekstra|180px|[Eterreto, la plej ofta medio]]

En retoj kun retkablo, la tekniko uzata plej ofte (ankaŭ ĉe firmaoj kaj domoj) estas **Eterreto** (*Ethernet*). Oni uzu *kupran retkablon*, kiu eblas aparteni al klasoj *10Base-T*, *100Base-TX* aŭ *1000Base-T* (ĉiu rilatas al la ŝutrapideco, kiu povas esti de 10, 100 aŭ 1000 Mbit je sekundo). Eblas krome la uzo de lumfibroj por atingi pli rapidan rapidecon (*10 GBase*, 10 gigabitoj je s.).

En *Eterreto*, la procedo por sendi datojn tra la kablo estas la nomata CSMA/CD (*Carrier Sense Multiple Access / Collision Detection*). Ĉiu komputilo, kiu volas sendi ion, agas tiel: unue atendas ĝis ke la kanalo (la kablo) estas libera, t.e., maluzata de la aliaj maŝinoj. Tiam simple sendas la daton. Eble ekzistas ankoraŭ alia komputilo, kiu meme agis, kaj do la du datoj volas samtempe iri tra la kablo (kio maleblas). Tamen, la du komputiloj detektos la kolizion, kaj tiam ili decidos, atendi iom (ioma malkonata, aleatora, kvanto da tempo), kaj poste la sendon reprovi.

[eta|dekstra|180px|[Stafetringo (tipo de ringoreto)]]

Alia sistemo uzata (krom *Eterreto*) estas **stafetringo** (angle *token ring*). Kvankam malofta, estas uzata kiam oni volas la tempojn pli bone kontroli. Kontraŭe al *Eterreto*, en stafetringo ĉiu komputilo devas atendi kiel en vice, ĝis ĝi ricevas la permeson sendi datumon. Nur povas *paroli* la komputilo kiu havas la tiel nomata ĵetonon, kaj post la transmetado, ĝi ĵetas ĵetonon al la sekva maŝino. Tiel oni evitas konfliktojn, kaj povas scii, kiom da tempo ia mesaĝsendo maksimume daŭros. Tial *stafetringoj* estas plu uzataj en sistemoj gravaj, kiel en la konstruo de aŭtomobiloj.

#### Ĉe senkablaj retoj 
[eta|dekstra|200px|[Senkabla reto|Reto senkabla funkciante]]

En senkabla/sendrata reto, la datumoj iras tra la aero, ne tra retkablo, kaj do la teknikoj estas malsamaj. Oni povas ilin klasigi depende de se la reto havas centran punkton aŭ ne.

Ekzemploj de retoj kun centra kontrolo:
* retoj de poŝtelefonoj, kiel GSM aŭ UMTS
* WLAN (ekz. de tipo IEEE 802.11) en modo infrastrukturo, tio signifas, kun aparato angle nomata *access point*

Ekzemploj de retoj sen centra kontrolo:
* WLAN en modo ad-hoc (tiel bezonas la aparatoj nenian infrastrukturon)
* malgrandaj retoj por kurzaj distancoj, kiel WPAN (*Wireless Personal Area Network*)
* la normo Bluetooth, por aparatetoj kaj kurzaj distancoj
* retoj de sensiloj, industrie

## Malfizikaj bazkonceptoj 
### Protokoloj 
Retoj funkcias danke al **retaj protokoloj**, kiuj estas normoj priskribitaj per organizaĵoj kiel IETF (por la fizikaj temoj), kaj W3C, ISO kaj ECMA (por la temoj pri prezento de paĝoj). Kelkaj el tiuj normoj estas:
* TCP, IP, UDP, ICMP
* ARP, Ethernet, IEEE 822.11, ATM
* DNS, SMTP, IMAP3, FTP
* kaj cetero

Kutime nomigas oni ilin simple *familion de protokoloj TCP/IP*, aŭ nur *TCP/IP*.

### OSI-modelo 
La **OSI-modelo** estas la bazo por la korekta uzo kaj kunmetado de ĉiuj *retaj protokoloj*. Ĝi klasigas ĉiajn protokolojn en 7 tavoloj laŭ ilia nivelo en komunikado. Ĉia protokolo dediĉas sin ja al komunikado, sed laŭ pluraj manieroj: ekzemple, la kontrolo de perdo de bitokoj tra retkablo estas grava parto en protokoloj kiel Eterreto, sed tute malgravas kiam la celo estas klarigi strukturon de retpaĝo (ekz. per HTML). La duaj protokoloj funkcias vere samtempe; sed *Eterreto* laboras ĉe la fizikaj problemoj kaj *HTML* ĉe la aplikaciaj kaj prezentaj temoj. Tial apartenas ili al malsamaj tavoloj.

La OSI-modelo klarigas teorie la 7 tavolojn ĉe komunikado. Tamen praktike, oni kutimas uzi modelon kun nur 5 tavoloj, montritaj en la dekstra kadro en tiu ĉi paĝo.
Aranĝita ekde la *altnivela* ĝis la *malaltnivela*, ili estas
aplikada,
transporta,
reta,
kanala,
fizika.

Por plu koni pri la tavoloj kaj la protokola *stako*, vidu artikolojn OSI-modelo, ret-komunika protokolo, TCP-IP, kaj la ligilojn en dekstra kadro.

### Modelo de kliento/servilo 
Ĉe retaj temoj estas tre grava la modelo de kliento kaj servilo. En multaj protokoloj (kiel TCP aŭ UDP), ĉiam, kiam komputilo sin konektas al alia, unu ludas rolon de *kliento* kaj la alia de *servilo*.

**Servilo** estas la komputilo kiu ricevas petojn; ĝi estas komputilo kun speciala programo (servilprogramo) kiu atendas, ĝis ia komputilo (la kliento) petas al ĝi ion. Tiam, servilo respondas al kliento.

**Kliento** estas komputilo kiu volas sin konekti al servilo. Ĝi komencas la konekton ĵus kiam ĝi volas, ion peti. Post la peto kaj la ricevo de ĉiuj datumoj, ĝi malkonektas de la servilo. Kompreneble, multaj malsamaj klientoj eblas sin konekti al la servilo samtempe.

Ĉi tiun modelon uzas oni preskaŭ ĉie, ekzemple kiam oni volas vidi retpaĝon en foliumilo. Male, ekzistas aliaj protokoloj kies ŝutadmodelo ne proksimas al tiu de kliento/servilo. Ekzemple: ĉe samtavola ŝutado, kie la komputiloj eblas ludi la du rolojn.

## Sekureco en reto 
Grava parto de **komputika sekureco** estas la sekureco en kaj tra retoj. Datumoj normale trairas kablojn kun nenia ajn ĉifrado, kaj do ĉiuj komputiloj, per kiuj la informo trairas, eblas vidi, legi kaj konservigi ĉion.
Alia sekureca temo grava estas havebleco de servoj en reto: iaj serviloj devas ĉiam ebli respondi la petojn de klientoj, kaj nenial rajtas panei.

[eta|dekstra|250px|[Fajroŝirmilo protektas reton de la eblaj aliroj el Interreto]]
Kutime oni volas difini, kiuj servoj de komputilo estas atingeblaj kaj kiuj malpermesaj. Ekzistas softvaro por tia celo: **fajroŝirmilo** estas sekureca meĥanismo kiu eblas bari alirojn al komputiloj en reto, en la maniero kiel la retestro decidas.
Fajroŝirmiloj troviĝas ankaŭ kiel reta aparataro, en formo de komputileto kiu havas programon barigantan. Eĉ iaj enkursigiloj enhavas tian funkcion. Do fajroŝirmiloj estas tre uzataj en retoj, kaj ankaŭ rekomendataj por la maŝinoj en Interreto.

Fajroŝirmiloj dividas reton en sekurata kaj malsekurata parto.
Firmaoj disponas foje pri intrareto por disponigi informojn nur al la personaro sur per pasvorto protektata loka reto kaj pri eksterreto por sekure komuniki kun klientoj kaj provizantoj de enhavo/datumoj.

eta|dekstra|250px|*Malmilita zono* ()
Pli kompleksaj modeloj estas ekzemple la uzo de *malmilita zono* (angle *demilitarized zone*, ), por fari ke iaj serviloj povas aliri al Interreto, sed malpovas sin konekti al la internaj komputiloj de reto, kaj do ilin pli bone protekti. La kialo estas jena: se iu malbonulo sukcesas, en la servilon malrajte eniri, tiam li/ŝi ne povus uzi la servilon por ataki aliajn komputilojn internajn.