El tipus de servei (Type of Services o ToS) és un byte de la capçalera del protocol IPv4 (vegeu capçalera IP) que ha tingut múltiples propòsits durant la història del protocol IP, hi ha estat definit de formes diferents per fins a 5 RFCs diferents (RFC 791, RFC 1122, RFC 1349, RFC 2474 i RFC 3168).
El byte ToS s'utilitza per proveir d'un cert nivell de Quality of Service (QoS) inclús si la xarxa està congestionada amb altre trànsit.
La definició del ToS és:
Es pot dividir en 5 subcamps:
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
---|---|---|---|---|---|---|---|
Precedence | D | T | R | ECN field |
Els 3 bits precedents (bits 0, 1 i 2) tenen un valor de 0 a 7 i s'utilitzen per a indicar la importància del paquet. El valor per defecte és 0 (mínima importància)
Els bits 3, 4 i 5 representen el següent:
Que funcioni correctament o no el byte ToS depèn de si els encaminador suporten aquest camp o no. En el futur s'espera que tots els encaminadors ho implementin obligatòriament però actualment (2009) és només una recomanació.
Als routers, per cada ruta possible es manté una valor de ToS a la taula de rutes. Les rutes que el router "aprèn" a través d'un protocol que no suporta ToS se'ls hi assigna un ToS de zero.
El ToS influeix en com els encaminadors escolleixen una ruta de la següent manera:
$ cat /etc/iproute2/rt_dsfield 0x00 default 0x10 lowdelay 0x08 throughput 0x04 reliability # This value overlap with ECT, do not use it! 0x02 mincost # These values seems do not want to die, Cisco likes them by a strange reason. 0x20 priority 0x40 immediate 0x60 flash 0x80 flash-override 0xa0 critical 0xc0 internet 0xe0 network # Newer RFC2597 values 0x28 AF11 0x30 AF12 0x38 AF13 0x48 AF21 0x50 AF22 0x58 AF23 0x68 AF31 0x70 AF32 0x78 AF33 0x88 AF41 0x90 AF42 0x98 AF43