Les divers numéros de ports standards correspondent univoquement à
des types particuliers de services. Comme nous l'avons vu précédemment,
le port 80 est le port de destination web pour un programme client.
Les ports allant de 1 à 1023 sont réservés aux services standards
et un nom sous forme de texte est attribué à chacun d'eux pour rendre
leur identification commode. Tous les services sont définis aussi
bien pour TCP que pour UDP, même s'il n'y a pas d'accès FTP d'UDP,
par exemple. Les numéros de port inférieurs à 1024 sont exclusivement
réservés aux programmes dont l'UID est root
tels que le courriel, DNS et les services web. Les programmes des
utilisateurs ordinaires n'ont pas l'autorisation de se lier
aux ports inférieurs à 1024. [La liaison (ouport binding) est
une opération au cours de laquelle un programme réserve un port de
manière à écouter les connexions entrantes, comme le font tous les
services réseau]. Ces ports sont définis dans le fichier /etc/services
qui constitue une table essentiellement descriptive: les programmes
peuvent y rechercher les numéros de port (et vice-versa) .
Le fichier /etc/services n'a rien à voir avec la disponibilité
d'un service. Voici un extrait du fichier /etc/services.
tcpmux | 1/tcp | # TCP port service multiplexer | |
echo | 7/tcp | ||
echo | 7/udp | ||
discard | 9/tcp | sink null | |
discard | 9/udp | sink null | |
systat | 11/tcp | users | |
daytime | 13/dcp | ||
daytime | 13/tcp | ||
netstat | 15/tcp | ||
qotd | 17/tcp | quote | |
msp | 18/tcp | # message send protocol | |
msp | 18/udp | # message send protocol | |
ftp-data | 20/tcp | ||
ftp | 21/tcp | ||
fsp | 21/udp | fspd | |
ssh | 22/tcp | # SSH Remote Login Protocol | |
ssh | 22/udp | # SSH Remote Login Protocol | |
telnet | 23/tcp | ||
smtp | 25/tcp | ||
time | 37/tcp | timeserver | |
time | 37/udp | timeserver | |
rlp | 39/udp | resource | # resource location |
nameserver | 42/tcp | name | # IEN 116 |
whois | 43/tcp | nicname | |
domain | 53/tcp | nameserver | # name-domain server |
domain | 53/udp | nameserver | |
mtp | 57/tcp | #deprecated | |
bootps | 67/tcp | # BOOTIP server | |
bootps | 67/udp | ||
bootpc | 68/tcp | # BOOTIP client | |
bootpc | 68/udp | ||
tftp | 69/udp | ||
gopher | 70/tcp | # Internet Gopher | |
gopher | 70/udp | ||
rje | 77/tcp | netrjs | |
finger | 79/tcp | ||
www | 80/tcp | http | # WorldWideWeb HTTP |
www | 80/udp | # HyperText Transfer Protocol |