Protocol d'Internet IP: com funciona i per què és clau

  • IP ofereix un servei de lliurament de datagrames sense connexió i de millor esforç, recolzant-se en TCP o altres protocols per aportar fiabilitat.
  • L'adreçament IP, juntament amb màscares de xarxa, taules d'encaminament i mètriques, permet interconnectar xarxes heterogènies a escala global.
  • La capçalera IP defineix camps per a fragmentació, TTL, qualitat de servei i selecció del protocol de transport encapsulat.
  • La transició d'IPv4 a IPv6 amplia enormement l'espai d'adreces i millora l'eficiència, la seguretat i el suport per a nous serveis.

Esquema del protocol d'Internet IP

Quan us connecteu a Internet des del mòbil, el portàtil de casa o l'ordinador de l'oficina, totes aquestes dades que envieu i rebeu viatgen seguint un conjunt de regles molt estrictes conegut com a protocol d'Internet IP. Encara que no ho vegis, cada web que visites, cada correu que envies o cada trucada de vídeo que en fas depèn d'ell perquè la informació arribi (més o menys) on ha d'arribar.

Lluny de ser una mica màgic, IP és un sistema molt ben pensat que combina adreçament, encaminament de paquets i fragmentació de dades perquè equips diferents, amb sistemes operatius diferents i connectats per xarxes molt variades, puguin parlar entre ells com si tot fos una única xarxa global. Ho destriparem pas a pas perquè entenguis què fa, com ho fa i per què és tan clau a la xarxa actual.

Què és el protocol d'Internet (IP) i quina funció té

El protocol dInternet, o simplement IP (Protocol d'Internet), és el pilar de la família de protocols TCP/IP. La seva missió és encarregar-se de l'enviament de dades en forma de paquets entre dispositius interconnectats, sense necessitat d'establir-hi una connexió prèvia i sense garantir que tot arribi perfecte.

A la pràctica, IP actua com una mena de “empresa de missatgeria” de datagrames: rep blocs d'informació (datagrames), els col·loca una capçalera amb dades de control (sobretot adreces d'origen i destí) i els passa a la xarxa perquè vagin saltant de router en router fins a assolir la màquina destí, si tot va bé.

Una característica clau és que és un protocol no orientat a connexió i de millor esforç (best effort). Això significa que no hi ha un diàleg previ entre origen i destinació per “negociar” la comunicació i que IP farà el possible per lliurar els paquets, però sense prometre res: es poden perdre, arribar duplicats, fora d'ordre o danyats.

La fiabilitat, control de flux o recuperació d'errors no els proporciona IP, sinó protocols de nivell superior com a TCP. IP es limita a oferir un servei bàsic de lliurament de datagrames sobre una xarxa que pot ser molt heterogènia a nivell físic (fibra, WiFi, Ethernet, enllaços sense fil de tota mena, etc.).

IP també amaga la complexitat de la xarxa física, oferint als protocols de capes superiors una visió unificada de “xarxa virtual”. Gràcies a això, aplicacions i serveis no necessiten saber si hi ha deu o cent routers entre l'origen i el destí ni quina tecnologia fa servir cada tram.

Funcionament i adreces del protocol IP

IP dins de TCP/IP i relació amb altres protocols

A Internet gairebé sempre es parla del conjunt TCP / IP, perquè en moltíssims serveis s'usen de la mà: IP a la capa de xarxa i TCP a la capa de transport. No obstant això, la família de protocols d'Internet és força més àmplia: n'hi ha més de cent protocols diferents que conviuen i es recolzen en IP.

IP està estandarditzat com STD 5, especificació que inclou també ICMP (Internet Control Message Protocol, utilitzat per a missatges d'error i diagnòstic, com els de ping) i IGMP (Internet Group Management Protocol, per gestionar grups multicast). El seu estat és “requerit”, és a dir, qualsevol pila TCP/IP seriosa necessita implementar-ho sí o sí.

Entre els documents que defineixen IP destaquen els RFC 791, 950, 919 i 922, amb actualitzacions posteriors, per exemple al RFC 1349 per al camp de tipus de servei (TOS). Aquests RFC descriuen el format del datagrama, com es gestiona la fragmentació, què signifiquen els camps de la capçalera, etc.

Els protocols de transport més rellevants que es recolzen en IP són TCP (Transmission Control Protocol) i UDP (User Datagram Protocol). TCP ofereix un canal fiable i orientat a connexió, ideal per a aplicacions que necessiten integritat (com la web o el correu). UDP, en canvi, és lleuger i sense control d'errors a nivell de transport, molt utilitzat per aplicacions en temps real (àudio, vídeo, jocs en línia) o protocols com DNS, i eines de mesura com iperf3 en mode multi-thread permeten avaluar el rendiment de la xarxa.

A més de TCP i UDP, IP pot encapsular altres protocols com SCTP (Stream Control Transmission Protocol), emprat en alguns contextos avançats (per exemple, senyalització o certs serveis de telecomunicacions) i que també ofereix característiques de transport fiables però amb capacitats multipath o multi-stream.

Versions del protocol IP: IPv4 i IPv6

La versió més coneguda i estesa històricament és IPv4, que utilitza adreces de 32 bits. Això permet una mica més de quatre mil milions d'adreces teòriques, nombre que es va quedar curt ja fa anys a causa de l'explosió de dispositius connectats.

Per resoldre aquesta limitació es va dissenyar IPv6, successor d'IPv4, que utilitza adreces de 128 bits, un espai gegantí capaç d'albergar un nombre pràcticament inesgotable de nodes. IPv6 introdueix, a més, millores com autoconfiguració sense estat, un esquema de capçalera més simple i extensible, millor suport natiu per a seguretat i noves capacitats de control de flux i qualitat de servei.

A la història d'IP, les versions de la 0 a la 3 es van reservar o no van arribar a desplegar-se, mentre que la versió 5 es va utilitzar per a un protocol experimental. Altres números de versió es van assignar a projectes de recerca, però només IPv4 i IPv6 s'han generalitzat com a base dInternet.

Avui dia conviuen tots dos: gran part de la xarxa global segueix funcionant amb IPv4 recolzant-se en trucs com NAT (traducció d'adreces de xarxa), mentre que IPv6 es desplega a poc a poc, especialment en operadors, grans empreses i serveis al núvol.

Adreces IP, tipus i conceptes relacionats

Una adreça IP és un identificador numèric assignat a cada interfície de xarxa d'un dispositiu dins d'una xarxa que utilitza el protocol d'Internet. No identifica l'aparell sencer, sinó la interfície concreta: si un equip té Ethernet i WiFi actives, cadascuna d'aquestes interfícies tindrà la pròpia IP.

És important no confondre la IP amb la adreça MAC. La MAC és un identificador físic, gravat pel fabricant a la targeta de xarxa i que no sol canviar en tota la vida útil. La IP, en canvi, és lògica i pot variar en canviar de xarxa, en reiniciar l'encaminador o en reconfigurar la infraestructura.

Les adreces IP se solen dividir en dues parts: porció de xarxa i porció de host. La part de xarxa identifica a quina xarxa pertany el dispositiu (i quin protocol d'enllaç comparteixen els equips en aquest medi físic), mentre que la part d'amfitrió distingeix cada màquina dins d'aquesta xarxa.

A nivell pràctic, existeixen IP públiques i IP privades. Una IP pública és la que s'anuncia a Internet i permet que la vostra xarxa domèstica o el vostre servidor sigui localitzable des de qualsevol punt de la xarxa global. Les IP privades, en canvi, es fan servir dins de xarxes locals (com casa teva o la xarxa interna d'una empresa) i no són enrutables per Internet directament.

A més, una adreça pot ser estàtica o dinàmica. Quan a casa et connectes a Internet, el més habitual és que el teu operador t'assigni dinàmicament una IP pública mitjançant un protocol com DHCP (Protocol de configuració de l'amfitrió dinàmic). Aquesta IP pot canviar entre reconnexions. En canvi, els serveis que han d'estar sempre disponibles (servidors web, de correu, DNS, FTP públics, etc.) solen utilitzar adreces IP fixes o estàtiques, cosa que facilita que altres sistemes els trobin sense sorpreses.

Per facilitar la vida als humans, que som força dolents recordant números llargs, les adreces IP poden associar-se a noms de domini. El sistema DNS (Domain Name System) s'encarrega de traduir noms com a «exemple.com» a la IP corresponent. Les màquines només necessiten el número; nosaltres preferim paraules fàcils de recordar.

Un altre concepte rellevant és la màscara de xarxa: un valor que indica quina part de la IP correspon a la xarxa i quina al host. Amb la màscara, els dispositius poden decidir si un paquet ha d'enviar-se dins de la xarxa local o reenviar-se a un encaminador per arribar a una xarxa externa.

A la pròpia màquina també existeix la interfície de bucle local (loopback), representada a IPv4 per l'adreça 127.0.0.1. Serveix perquè un equip es comuniqui amb si mateix usant els mateixos protocols que empraria per parlar amb altres, molt útil per a proves, desenvolupament i depuració.

Com funciona IP: datagrames, fragmentació i encaminament

Quan una aplicació vol enviar dades a través de la xarxa (per exemple, un navegador web), el protocol de transport que utilitzeu, típicament TCP, divideix aquesta informació en segments més petits i els passa a la capa de xarxa perquè s'empaquetin com a datagrames IP.

IP defineix el format del datagrama: una capçalera amb múltiples camps de control i una zona de dades on s'inclouen els continguts del protocol de nivell superior (TCP, UDP, ICMP, etc.). A diferència d'altres protocols, IP no necessita un intercanvi previ de missatges de control abans d'enviar la “càrrega útil”.

Si la mida del datagrama és més gran que la MTU (Maximum Transmission Unit) admesa per lenllaç físic pel qual ha de circular, IP pot fragmentar aquest datagrama en diversos trossos més petits. Cada fragment viatja per la xarxa amb la seva pròpia capçalera IP, ia la destinació final es reassemblen per reconstruir el datagrama original.

Aquesta fragmentació es pot produir en diferents punts del camí, no només a l'origen. Cada router que trobi un enllaç amb MTU més reduïda pot tornar a fragmentar, respectant la informació didentificació i el desplaçament (offset) de fragment. El reassemblat, però, es realitza únicament al host destinació per evitar sobrecarregar de treball intermedi als encaminadors.

Si es perd un dels fragments, el datagrama complet es considera perdut, ja que IP no implementa reconeixements ni retransmissions. Serà el protocol de transport (habitualment TCP) el que detecti els buits a la seqüència de dades i demani de nou la informació que falti.

Durant tot aquest viatge, cada datagrama IP travessa múltiples xarxes intermèdies i es troba amb routers (encaminadors). Aquests dispositius estan especialitzats en rebre paquets per una interfície, mirar l'adreça IP de destinació i reenviar-los per la millor interfície de sortida disponible, en funció de la taula d'encaminament.

Capçalera d'un datagrama IP i camps principals

El datagrama IP inclou una capçalera de mida mínima de 20 bytes on es codifica tota la informació necessària perquè els routers i el host destinació puguin tractar-lo correctament. Alguns dels camps més importants són:

  • versió: indica si el datagrama és IPv4 o IPv6.
  • Longitud de capçalera: especifica quantes paraules de 32 bits ocupa la capçalera, sense comptar les dades.
  • Tipus de servei (TOS) / DSCP: serveix per expressar les necessitats de qualitat de servei (retard, rendiment, fiabilitat, cost, etc.) del trànsit.
  • Longitud total: longitud completa del datagrama (capçalera + dades) en bytes.
  • identificació: un nombre que permet agrupar fragments que pertanyen al mateix datagrama.
  • Banderes (flags) i òfset de fragment: controlen si se'n permet o no la fragmentació i en quina posició se situa cada fragment.
  • Temps de vida (TTL): comptador que es decrementa a cada salt de router per evitar que els paquets circulin indefinidament.
  • protocol: indica a quin protocol de nivell superior cal lliurar les dades (TCP, UDP, ICMP, OSPF, etc.).
  • Checksum de capçalera: suma de comprovació que verifica la integritat de la pròpia capçalera.
  • Adreces IP d'origen i destí: identifiquen l'emissor i el receptor previstos del datagrama.
  • Opcions i farciment: camp opcional de longitud variable per a funcionalitats avançades, seguit de bytes de rebliment fins a alinear la capçalera a 32 bits.

El camp de protocol és el que permet a IP lliurar el contingut al mòdul adequat a la capa de transport o de control. Per exemple, el valor 6 es reserva per a TCP, el 17 per a UDP, l'1 per a ICMP, el 89 per a OSPF (Open Shortest Path First) i així successivament, segons el llistat oficial de números de protocol assignats.

El checksum de la capçalera es calcula com el complement a un de la suma de totes les paraules de 16 bits de la capçalera, assumint que el propi camp de checksum val zero durant el càlcul. Si en rebre un datagrama el resultat no quadra, s'assumeix que com a mínim un bit de la capçalera està corrupte i es descarta el paquet.

El TTL, encara que formalment representa segons de vida màxima, a la pràctica es gestiona com un comptador de salts: cada router el decrementa en un i, si arriba a zero, rebutja el paquet i sol enviar un missatge ICMP d'error a l'origen. Això impedeix que un bucle d'encaminament mal configurat inundi la xarxa de trànsit etern.

Les opcions d'IP permeten estendre el protocol sense canviar-ne l'estructura bàsica. Cada opció té un format amb tipus, longitud i dades, i poden controlar aspectes com ara el registre de ruta, la marca de temps, la seguretat o el tractament especial de certs paquets. No tots els sistemes generen opcions, però tots han de ser capaços de processar-les si hi apareixen.

Encaminament, taules de rutes i mètrica

Cada host i cada router que participa en una xarxa IP manté una taula d'encaminament, on es registren les correspondències entre xarxes de destinació i el següent salt (next hop) necessari per arribar-hi. Aquesta taula pot contenir:

  • Rutes directes: xarxes a què l'equip està connectat físicament.
  • Rutes indirectes: xarxes a què s'arriba a través d'un o més routers intermedis.
  • Ruta per defecte: sortida genèrica per a qualsevol destinació que no coincideixi amb les rutes anteriors.

El procés d'escollir per on enviar un datagrama s'anomena encaminament o ruteig. Cada cop que un equip ha de reenviar un paquet, mira l'adreça de destinació, consulta la taula de rutes i decideix quina és la millor opció disponible.

Per avaluar com n'és de "bona" ​​una ruta, els protocols d'encaminament utilitzen el concepte de mètrica. Segons el protocol, aquesta mètrica es pot basar en la distància (nombre de salts), el retard, el cost, l'amplada de banda disponible, la fiabilitat dels enllaços o una combinació ponderada de diversos factors.

L'objectiu ideal és aconseguir un encaminament òptim, és a dir, seleccionar camins que minimitzin la mètrica triada (distància, cost, retard…). A la pràctica, la xarxa està en canvi constant i els protocols d'encaminament (com RIP, IGRP, EIGRP, OSPF, etc.) s'encarreguen d'intercanviar informació entre encaminadors per adaptar les taules de rutes a les condicions reals.

Tot aquest procés és interactiu: cada router pel qual passa un datagrama torna a aplicar l'algoritme d'encaminament sobre la IP destinació i pren una nova decisió de reenviament, fins que el paquet arriba finalment al host objectiu, on es lliura a la capa de transport oa l'aplicació corresponent.

Connexió sense estat, encapsulament i servei best effort

IP es considera un protocol sense estat (stateless). Això vol dir que la xarxa no manté informació persistent sobre “sessions” o “connexions” entre dos extrems: cada paquet es tracta de manera independent, únicament amb la informació continguda a la capçalera.

Gràcies a aquest disseny sense estat, IP escala molt bé: no cal guardar context per cada comunicació, el que redueix memòria i complexitat en encaminadors i equips intermedis. El preu que es paga és que la responsabilitat d'ordenar, assegurar i validar les dades recau en capes superiors.

IP proporciona un servei de el millor esforç (millor esforç): intenta lliurar els paquets, però sense garanties dèxit, dordre ni de no duplicació. Hi pot haver pèrdues, errors, retards variables… Per això els protocols de transport com a TCP s'encarreguen d'afegir acuses de rebut, control de flux, retransmissió de segments perduts, etc.

Una altra característica clau del model de capes és el encapsulament. Les dades generades per una aplicació s'encapsulen primer en unitats de la capa de transport (segments TCP o datagrames UDP), que alhora s'encapsulen dins de datagrames IP; aquests s'inclouen en trames de la capa d'enllaç (per exemple, Ethernet), i finalment es converteixen en senyals físics a la capa més baixa.

Aquest mecanisme d'encapsulament permet que routers només es preocupin de la capçalera IP per prendre decisions d'encaminament, sense haver d'entendre quina aplicació hi ha al darrere ni quin protocol de transport s'està fent servir. Cada capa se centra en les pròpies responsabilitats, cosa que fa el sistema modular i més fàcil d'evolucionar.

IP, mobilitat i suport a serveis moderns

La ubiqüitat del protocol IP ho ha convertit en la base de serveis tan diversos com la navegació web, el correu electrònic, la VoIP, el streaming o la missatgeria instantània. HTTP i HTTPS es munten sobre TCP/IP per servir pàgines web; SMTP, IMAP o POP3 manegen el correu; SIP i RTP encapsulen àudio i vídeo sobre IP per a trucades i videoconferències; XMPP, WebSocket o el protocol MQTT permeten missatgeria en temps real.

Al món actual, on els dispositius canvien constantment de xarxa (mòbil, WiFi de casa, WiFi de l'oficina…), IP també integra mecanismes i protocols complementaris que faciliten la mobilitat. Entre ells, Mobile IP (MIP), tècniques de traducció d'adreces com NAT, o protocols de descobriment de veïns i gestió d'adreces a IPv6 com NDP, i operadors que integren 5G i IoT per a serveis avançats.

Addicionalment, alguns mecanismes i protocols (com SCTP o determinades extensions d'IPv6) permeten canviar de ruta o d'interfície mantenint les connexions actives, el que millora lexperiència dusuari en dispositius mòbils i escenaris amb múltiples enllaços.

La seguretat també ha anat guanyant pes: extensions com IPsec proporcionen autenticació, integritat i xifratge a nivell de xarxa, mentre que les capacitats de control de flux i marcatge de trànsit a IPv6 ajuden a donar millor qualitat de servei a comunicacions sensibles al retard, com veu o vídeo.

En definitiva, el protocol IP ha evolucionat des d'un disseny senzill i poc fiable però molt flexible fins a convertir-se en una infraestructura robusta, ampliable i fonamental que dóna suport a pràcticament totes les comunicacions digitals modernes, des de les més crítiques a empreses i centres de dades fins a les més quotidianes a les nostres llars.

com utilitzar iperf3 en mode multi thread-0
Article relacionat:
Com utilitzar iperf3 en mode multi-thread: guia completa