Arkitekturo TCP/IP
------------------

Pro la komplekseco de reta komunikado ĝi estas dividita en tavolojn, kiuj hierarkie ordas la funkcierojn de la komunikado. La interŝanĝo de informoj inter tavoloj estas precize difinita. Ĉiu tavolo uzas la servojn de la malsupra tavolo kaj liveras servojn al la supra tavolo.

La korespondaj tavoloj de malproksimaj sistemoj komunikas kvazaŭ unu kun la alia, ignorante la detalojn de la funkciado de la aliaj tavoloj; la komuniko inter egalaj tavoloj de malsamaj sistemoj estas regata de komunikadaj protokoloj. La arkitekturo ebligas ŝanĝon de protokolo sur unu tavolo sen influi la protokolon uzatan sur la aliaj tavoloj. La adreson uzatan de malsupra tavolo provizas la tavolo rekte supra ĝi, do pri eble necesa adreskonverto zorgas la supra tavolo.

Kompare al la ISO-a referenca OSI-modelo, kiu entenas sep tavolojn, TCP/IP estas plej bone analizebla per modelo de nur kvar tavoloj. Dum la kreado de la Interretaj protokoloj la agentejo DARPA de la Usona *Department of Defense* (DoD) diferencis tri tavolojn, kaj ne ĉiuj devige estu uzataj (en la praktiko nur supraj tavoloj estas forlasataj). Ĉiu tavolo havas apartajn nomojn por la destino, la tiel nomatajn *adresojn*.

Jen la kvar tavoloj uzataj por analizi TCP/IP:

* aplika tavolo
* transporta tavolo
* (inter)reta tavolo
* kanala tavolo

Plej ofte la tri bazaj tavoloj estas realigitaj en la Operaciumo (ekzemple Linukso, Mikrosofto Vindozo), la aplika tavolo en la aplikado mem.

Certaj protokoloj uzataj ene de TCP/IP ne uzas la altajn tavolojn aplikan kaj transportan, ĉar ili estas tre proksimaj al la operaciumo kaj ne servas aplikadon, ekzemple DHCP, ARP kaj ICMP.

### Aplika tavolo

La *aplika tavolo* oferas la servojn por la aplikadoj, kiuj volas retkomuniki. La adresoj sur tiu ĉi tavolo varias laŭ aplikado. Unu el plej ofte uzataj TCP/IP-aplikadoj estas la TTT-legilo, kiu parolas la protokolon HTTP, sed aliaj ekzistas, kiel la protokoloj Gopher (lanĉita en 1991) kaj Gemini (lanĉita en 2019).

### Transporta tavolo

La *transporta tavolo* liveras transportan servon. Antaŭ la transporto, la datenoj estas dividitaj en *pakaĵojn* (angle *packets*) de difinitaj formato kaj (nur ĉe UDP) grandeco. La transporto de la pakaĵoj povas esti

* *fidinda* (angle *reliable*) aŭ *konekteca*, do bazita sur *konekto* (angle *connection*), kiu zorgas ke perditaj pakaĵoj estas retransportataj aŭ
* *nefidinda* (angle *unreliable*) aŭ *senkonekteca*, do sen zorgo, ĉu la pakaĵoj fakte atingas la destinon (lasante tiun taskon al la aplikado).

TCP estas fidinda/konekteca protokolo, dum UDP estas nefidinda/senkonekteca protokolo. Adreso de TCP kaj UDP nomiĝas *kontaktoskatolo* (angle *socket*) kaj estas duopo de IP-adreso (vidu malsupre) kaj *pordo* aŭ *porda numero* (angle *port (number)*; 16-bita nombro inter 0 kaj 65535) ordinare skribita kiel IP-adreso ligita per dupunkto al dekuma numero (ekzemple 10.1.125.244:80).

### Reta tavolo

La reta tavolo zorgas pri la pakado de la datenoj en datagramoj de maksimuma grandeco, pri la enkursigo kaj por tio ĉi la adresado al la plej proksima enkursigilo. Protokoloj de tiu ĉi tavolo estas ekzemple IP, ARP, ICMP kaj IGRP.

Adreso de IP nomiĝas IP-adreso kaj estas kutime skribita kiel kvaropo de dekumaj nombroj inter 0 kaj 255 kun punktoj (ekzemple 10.1.125.244).

### Kanala tavolo

La plej malsupra tavolo de sistemo TCP/IP ebligas la aliron al la fizika transiga medio. La protokoloj uzataj sur tiu ĉi tavolo estas ekzemple la Eterreto-familio de IEEE-protokoloj 802.3 kaj la senkablaj protokoloj de IEEE 802.11.

La adresoj de la kanala tavolo nomiĝas *MAC-adresoj* (angle *Media-Access Control address*, *Medio-akira kontrolo*). Eterreto-adreso estas 48-bita kaj skribita kiel sesopo de deksesumaj nombroj inter 00 kaj FF kun dupunktoj (ekzemple 00:0e:a6:74:50:f4).

Referencoj
----------

1. ↑  TCP kaj IP ambaŭ estis meztavolaj (*host-host layer*, *retnodo-retnodo-tavolo*) protokoloj. Vidu la retrospektiva 1982-a dokumento  RFC871 A PERSPECTIVE ON THE ARPANET REFERENCE MODEL. Alirita 2011/03/12.

* Kategorio TCP-IP en la Vikimedia Komunejo (Multrimedaj datumoj)