# Sequenced Packet Exchange

SPX (de l'anglès Sequenced Packet Exchange - Intercambi de Paquets Seqüenciats) és un protocol d'Internet antic de Novell pertenecent al sistema operatiu NetWare utilitzat per controlar l'entrega de dades a través d'una xarxa d'àrea local (i en menor mesura en una WAN) mediant el protocol IPX. Junto con el protocolo IPX (també de Novell) forma la pila de protocols IPX/SPX que és similar al TCP/IP.

## Història

Va surgir en els anys de 1980 com a resposta a la demanda que hi habia en aplicacions amb serveis orientats a connexió, i es va dissenyar basant-se en un protocol creat anys enrere per Xerox denominat SPP (Sequenced Packet Protocol - Protocol de Paquets Seqüenciats).
El 1991, es va crear una versió millorada denominada SPX II amb l'objectiu de resoldre diversos problemes que van sorgir amb la versió anterior i afegir noves funcionalitats com l'ús de paquets de major grandària o la implementació de la finestra lliscant.
Encara que actualment no s'utilitzi molt, té suport per a diverses plataformes (NetWare, DOS, OS/2, Linux, Windows).

## Dades tècniques

Esquema d'un paquet del protocol SPX. :
| Bit 0 | Bit 0 | | Bit 8 | Bit 8 | | Bit 16 | Bit 16 | |
| | Suma de verificación | Suma de verificación | Suma de verificación | Suma de verificación | Suma de verificación | Suma de verificación | Cabecera IPX (30 bytes) | Cabecera IPX (30 bytes) |
| Cabecera IPX (30 bytes) ||||||
| | Control de transporte | Control de transporte | Control de transporte | Tipo de paquete | Tipo de paquete | Tipo de paquete | | | Cabecera IPX (30 bytes) | Cabecera IPX (30 bytes) |
| Cabecera IPX (30 bytes) ||||||
| Cabecera IPX (30 bytes) ||||||
| Cabecera IPX (30 bytes) ||||||
| Cabecera IPX (30 bytes) ||||||
| Cabecera IPX (30 bytes) ||||||
| Cabecera IPX (30 bytes) ||||||
| | Tipo de flujo de datos de control de la transmisión | Tipo de flujo de datos de control de la transmisión | Tipo de flujo de datos de control de la transmisión | Tipo de flujo de datos de control de la transmisión | Tipo de flujo de datos de control de la transmisión | Tipo de flujo de datos de control de la transmisión | Cabecera SPX (12 bytes) | Cabecera SPX (12 bytes) |
| Cabecera SPX (12 bytes) ||||||
| Cabecera SPX (12 bytes) ||||||
| Cabecera SPX (12 bytes) ||||||
| Cabecera SPX (12 bytes) ||||||
| Cabecera SPX (12 bytes) ||||||
| | 0–546 bytes de datos | 0–546 bytes de datos | 0–546 bytes de datos | 0–546 bytes de datos | 0–546 bytes de datos | 0–546 bytes de datos | Información | Información |
És un protocol de la capa de transport orientat a comunicacions amb connexió que s'encarrega de verificar que un missatge enviat a través d'una xarxa arriba intacte al seu destí. Per això, utilitza com a missatger el protocol IPX (el quin per si sol no té fiabilitat durant el transport de paquets) permetent establir i mantenir connexions a més d'enviar dades.

### Com funciona

El protocol s'encarrega de garantir la integritat dels paquets enviats i dels paquets de confirmació rebuts. També realitza un control sobre el flux de dades, regulant la velocitat a la qual s'envien i reben els paquets i reduint el risc de corrupció.
Per controlar l'enviament dels paquets, SPX espera un missatge de confirmació, i si aquest no es rep, torna a retransmetre el paquet un nombre determinat de vegades. Si després d'aquest nombre de vegades, encara segueix sense rebre una resposta amb el missatge de confirmació, el protocol dona per assumit que hi ha hagut una fallada de connexió, i tanca la connexió. Però aquest control no es realitza sobre tots els paquets que s'envien o es reben, si no que es porta una espècie de llista de confirmació en una finestra. Quan es descobreix un error en un paquet que és enviat o rebut dins d'aquesta finestra, tots els paquets enviats o rebuts durant aquest temps es marquen com dolents i es tornen a retransmetre.

### Estructura

La capçalera dels paquets es compon de 12 bytes connectats sobre una capçalera IPX de 30 bytes. Aquests 12 bytes contenen totes les estructures que SPX utilitza per establir i mantenir connexions i per garantir l'enviament seqüencial de dades.

## Desavantatges

Les següents desavantatges unides al pobre rendiment del protocol, van provocar la creació del protocol SPX II:
* Encara SPX va ser dissenyat per garantir la fiabilitat de transferència de dades a través d'una xarxa, posseeix un rendiment pobre en comparació amb IPX.
* És inherentment més complex que IPX a causa que ha de garantir els enviaments i el manteniment d'una connexió.
* No implementa la finestra (enviament d'un altre paquet de dades abans de rebre un paquet de confirmació del paquet previ enviat)
* No proporciona un mecanisme ordenat d'alliberament de connexió, de manera que es poden perdre dades si hi ha una fallada de connexió.
* Pot provocar una congestió de xarxa per les raons anteriors.

## Vegeu també

* IPX
* Protocol d'Internet
* Novell

## Referències

* Upgrading and Repairing Networks. Que Publishing, 2002. ISBN 0-7897-2557-6.

## Enllaços externs

* Sequenced packet exchange (SPX) protocol Arxivat 2007-02-20 a Wayback Machine.
* Novell NetWare protocol suite