TCP-IP

La protokola modelo **TCP/IP** estas difinita pere de aro da protokoloj por la komunikado en komputada reto.

Protokolo estas aro da reguloj kaj konvencioj, per kiuj komputiloj kaj programoj de la Interreto kutime interkomunikas. Ĉi tiu paĝo mem estis sendita al vi tra la Interreto per TCP/IP. TCP/IP konsistas el **du tavoloj de abstrakteco**:

* TCP
* IP

Programo komunikas al la Interreto per TCP. TCP laŭvice sendas
kaj ricevas trans la reto per IP. Por sendi datumon, TCP hakas
ĝin por fari serion de pakaĵoj. Por ricevi, TCP
kolektas la paketojn por rekonstrui la originalan datumon de la
sendanto.

TCP enmetas la numeron de la pordo (angle *port*) en ĉiu pakaĵo. La pordo
identigas la ricevantan programon.

IP enmetas la numerojn – la IP-adresoj – de la
sendanta komputilo kaj ricevanta komputilo. Ĉiu komputilo en la
Interreto havas unikan IP-adreson.

Esence la Interreto estas rivero de pakaĵoj. Ĉiu pakaĵo enhavas
la retadreson de la komputilo kien ĝi iras. Ĉiu maŝino laŭlonge
la kurso movas la pakaĵon pli proksimen al la destina retadreso. Maŝino
kiu movas pakaĵojn laŭ la vojo de la Interreto nomiĝas
enkursigilo (angle *router*). Tiuj maŝinoj kunligas diversajn
retojn, tiel kreante la Interreton (tial ĉi la nomo *inter-reto*).

## 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 
Kategorio:Interreto