Port (informàtica)

En informàtica, un port és una forma genèrica de denominar a una interfície per la qual diferents tipus de dades poden ser enviades i rebudes. Aquesta interfície pot ser física o a escala d'un programari (per exemple, els ports que permeten la transmissió de dades entre diferents ordinadors).

Cada sistema operatiu ofereix una interfície i uns mecanismes perquè els processos puguin utilitzar els ports. Generalment l'operatiu assigna una cua finita per anar desant els missatges que arriben a un determinar port. L'accés sol ser síncronitzat (el procés queda blocat si llegeix dades d'una cua buida).

El fet de permetre o denegar accés als ports és important perquè les aplicacions servidores (que accepten connexions) han "d'escoltar" en un port conegut anticipadament perquè un client (que inicia la connexió) pugui connectar-se. Això vol dir que quan el sistema operatiu rep una petició per un port concret, li passa a l'aplicació que escolta per aquell port i a cap altre. Si no hi hagués cap aplicació, escoltant pel port no es podria establir la connexió.

Ports lògics 
els ports lògics són zones, o localitzacions, de la memòria d'un ordinador que és associat a un port físic o a un canal de comunicació, i que proporcionen un espai per l'emmagatzament temporal de la informació que es transferira entre la localització de la memòria i el canal de comunicació.

En l'àmbit d'internet, el port és el valor que s'utilitza per distingir entre les múltiples aplicacions que es connecten al mateix port o host.

Encara que molts dels ports s'assignen de manera aleatòria, alguns ports s'assignen per conveni a certes aplicacions particulars o serveis de caràcter universal. IANA (Internet Assigned Numbers Authority) determina les assignacions de tots els ports compesos entre els valors [0,1023]

Tipus de ports físics

Port de maquinari 
Un port de maquinari (o port de hardware) permet acoblar a un sistema físic un connector o cable. Per exemple, la majoria dels ordinadors personals tenen un port pel teclat i un altre pel ratolí a on són connectats aquests perifèrics. Els ports de maquinari poden gairebé sempre dividir-se en dos grans grups: els que poden enviar i rebre només un bit alhora a través d'un cable (anomenats ports sèrie) i els que poden enviar diversos bits a la vegada utilitzant un conjunt de cables (anomenats ports paral·lels).

Port de xarxa 
Un port de xarxa és una interfície utilitzada per comunicar-se amb un programa a través d'una xarxa. Els ports de xarxa acostumen a estar numerats i una certa implementació de protocol de transmissió de xarxa (com TCP o UDP) assigna algun d'aquests números de port a la informació que envia; la implementació del protocol en el destí farà servir aquest número per decidir a quin programa entregar les dades rebudes.

A TCP i UDP la combinació d'un número de port i una adreça de xarxa (adreça IP) acostuma a anomenar-se socket.

 Els números de ports de les aplicacions client són assignats dinàmicament i generalment són superiors el 1024. Quan una aplicació client vol comunicar-se amb un servidor busca un número de port lliure i el fa servir.
 Les aplicacions servidores utilitzen números de ports prefixats, inferiors a 1024, els anomenats ports well-known (ben coneguts), car són els mateixos en tots els hosts. Aquests ports estan definits en el document , on es va començar a publicar l'estàndard TCP/IP

En un URL (Universal Resource Locator) els ports es denoten amb ':' a continuació del nom de la màquina. Per exemple http://www.ccd.uab.cat:80/material/24998-rmi-pract.pdf vol dir que estem demanant el document "24998-rmi-pract.pdf" mitjançant HTTP connectant-nos al port 80 d'aquest servidor. Com que 80 és el port per defecte per a HTTP es pot ometre.

Port d'E/S (entrada/sortida) o port màquina – E/S mapejada a memòria 
Gairebé totes les famílies de processadors fan servir les mateixes instruccions en assemblador per accedir tant a la memòria com als registres de maquinari. Tot i així, els microprocessadors Intel tenen instruccions (de IN i OUT) les quals són utilitzades específicament per E/S. Aquestes instruccions decideixen amb quin dispositiu del maquinari comunicar-se gràcies al concepte de port E/S (o port màquina), els quals estan numerats basant-se en el dispositiu maquinari al que fan referència.

Els processadors Intel normalment permeten enviar o rebre un octet (byte) a cada instrucció. El dispositiu de maquinari decideix com interpretar aquesta informació que li va ser enviada i amb què respondre al processador.

Port de memòria 
A aquests ports es connecten les targetes de memòria RAM. Els ports de memòria són aquells ports, on es poden inserir noves tarjetes de memòria, amb la finalitat d'estendre la capacitat de la RAM. Existeixen ports que permeten diverses capacitats d'emmagatzematge que van des dels 256MB fins a 4GB.

Convè recordar que en la memòria RAM és de tipus volàtil, és a dir, si s'apaga de cop l'ordinador, les dades emmagatzemades es perden. Aquesta memòria està connectada amb la CPU a través de bussós.

Ports sense fil 
Les connexions en aquest tipus de ports es fan, sense necessitat de cables, a través de la connexió entre un emissor i un receptor utilitzant ones electromagnètiques. Si la freqüència de l'ona, usada en la connexió, es troba en l'espectre infraroig es denomina port infraroig. Si la freqüència usada en la connexió és la usual en les ràdio freqüències llavors seria un port Bluetooth.
L'avantatge d'aquesta última connexió és que l'emissor i el receptor no tenen per què estar orientats l'un respecte a l'altre perquè funcioni la connexió. Això no passa en el port d'infraroig. En aquest cas els dispositius han de "mirar-se" mútuament, i no es pot interposar cap objecte entre aquests, ja que s'interrompreria la connexió.

Port USB 
Un port USB permet connectar fins a 127 dispositius, i ja és un estàndard en els ordinadors de última generació, que inclouen com a mínim 4 ports USB 3.0 (no té gaires dispositius compatibles encara), en els més moderns, USB 2.0 (és el més extes i en el qual hi ha més dispositius compatibles), i algun USB 1.1 en els més antics.
Aquest port és completament Plug & Play, és a dir, només connectant el dispositiu (amb l'ordinador encès), el dispositiu és reconegut, i instal·lat, de manera immediata. Només és necessari que el SO (Sistema Operatiu) tingui inclòs el driver corresponent. Presenta una alta velocitat de transferència amb comparació als altres tipus de ports.

Estat dels ports 
Un port pot estar: 
 Obert: Accepta connexions. Hi ha una aplicació escoltant pel port. Això no significa que es tingui accés a l'aplicació, només que hi ha la possibilitat de connectar-s'hi.
 Tancat: Es rebutja la connexió. Probablement no hi hagi cap aplicació escoltant o no es permet l'accés per algun motiu. Aquest és el comportament normal del sistema operatiu.
 Bloquejat o silenciós: No hi ha resposta. Aquest és l'estat ideal per a un client a Internet, d'aquesta manera ni tan sols se sap si l'ordinador està connectat. Normalment aquest comportament es deu a un tallafocs o al fet que l'ordinador estigui apagat.

El perill dels ports oberts 
Els ports no deixen de ser portes d'accés a aplicacions funcionant en un ordinador. Tot i que en teoria no és un problema, aquestes aplicacions poden tenir vulnerabilitats que poden ser aprofitades per altres usuaris. Des del punt de vista de la seguretat és recomanable permetre l'accés només als serveis imprescindibles, ja que qualsevol servei exposat a Internet és un punt d'accés potencial per a intrusos.

També és recomanable el funcionament bloquejat per a no donar facilitats als furoners. Alguns furoners escanegen aleatòriament adreces IP i ports, en un intent d'identificar les característiques dels sistemes connectats per a crear bases de dades amb aquestes dades. Quan es descobreix una vulnerabilitat poden atacar ràpidament a la màquina en qüestió.

Existeixen diversos escanejadors de ports que informen de l'estat dels ports, que permeten d'adonar-se de la vulnerabilitat per atacs remots (ports oberts), o si alguna aplicació no desitjada (Troians) utilitza un port sense que l'usuari el sapiguès

Vegeu també 

 USB
 Bluetooth
 Wi-Fi
 Port paral·lel
 Port sèrie
 Llista de números de port

Referències 

Maquinari