Dans ce document, certains termes méritent des explications détaillées avant d'être abordés. Cette section cherche à couvrir les plus évidents et présente la façon dont ils sont utilisés ici.
Connexion - Se réfère généralement, dans ce document, à une série de paquets en relation entre eux. Ces paquets interragissent entre eux en établissant une sorte de connexion. Une connexion est en d'autres termes une série de paquets échangés. En TCP, ceci indique principalement l'établissement d'une connexion par l'établissement dune connexion à trois voies.
DNAT - Traduction d'adresse réseau de destination ou « Destination Network Address Translation ». Le DNAT fait référence à la technique de traduction de l'adresse IP de destination d'un paquet. On l'utilise conjointement avec du SNAT pour permettre à plusieurs hôtes de partager une même adresse IP connectée à Internet, et pour continuer à offrir des services de type serveur. Typiquement, il suffit d'attribuer des ports différents avec une adresse IP utilisable sur Internet, puis de signaler au routeur Linux où expédier le trafic.
IPSEC - Internet Protocol
Security est un protocole utilisé pour chiffrer des
paquetsIPv4
et les envoyer de façon
sécurisée vers l'Internet. Pour plus d'information sur IPSEC
, voir l'index Autres ressources
et liens pour d'autres ressources sur le sujet.
Espace noyau - C'est plus ou moins l'opposé de l'espace utilisateur. Ceci implique les actions effectuées dans le noyau, et non en dehors du noyau.
Paquet - Une unité envoyée sur le réseau, contenant une partie en-tête et une partie de données. Par exemple, un paquet IP sur un paquet TCP. Dans les RFC (Request For Comments) un paquet n'est pas généralisé ainsi, au lieu de cela les paquets sont appelés datagrammes, tandis que les paquets TCP sont appelés segments. J'ai choisi de tout nommer paquet dans ce document pour simplifier.
QoS - La Qualité de Service est un moyen de spécifier comment un paquet sera décrit et quelle sorte de qualité de service il recevra lors de son envoi. Pour plus d'information sur ce sujet, voir le chapitre Rappel TCP/IP et l'index Autres ressources et liens pour les ressources externes.
Segment - Un segment TCP est à peu près la même chose qu'un paquet, c'est en fait un paquet TCP.
Flux (« Stream ») - Ce terme fait référence à une connexion qui envoie et reçoit des paquets qui sont d'une certaine manière en relation les uns avec les autres. Typiquement, j'ai employé ce terme pour toute connexion qui envoie deux paquets ou plus dans les deux sens. Pour le protocole TCP, ce terme peut désigner une connexion qui envoie un paquet SYN, puis répond avec un autre de type SYN/ACK; mais il peut aussi désigner une connexion qui envoie un paquet SYN, puis répond avec un paquet ICMP de type hôte inaccessible (« ICMP Host unreachable »). Bref, j'ai souvent utilisé ce terme avec inexactitude.
SNAT - Traduction d'adresse réseau de source ou « Source Network Address Translation ». Ce terme fait référence aux techniques mises en oeuvre pour traduire une adresse de source en une autre dans un paquet. Ceci permet à plusieurs hôtes de partager une même adresse IP connectée à Internet, c'est utile pour compenser le manque d'adresses IP disponibles avec le protocole IPv4 (mais IPv6 vient résoudre ce problème).
État - Ce terme fait référence à l'état d'un paquet, en accord avec la RFC 793 - Transmission Control Protocol ou avec les états utilisateur utilisés dans Netfilter/iptables. Notez que les états utilisés, en interne et en externe, ne respectent pas scrupuleusement la spécification de la RFC 793. La raison principale provient du fait que Netfilter a dû faire plusieurs hypothèses sur les connexions et les paquets.
Espace utilisateur (« User space ») - Cette expression permet d'assigner tout ce qui a lieu à l'extérieur du noyau. Par exemple, la commande iptables -h s'exécute en dehors du noyau, alors que iptables -A FORWARD -p tcp -j ACCEPT se déroule (en partie) à l'intérieur, puisqu'une nouvelle règle est ajoutée à la table de règles.
Domaine de l'utilisateur - Voir espace utilisateur.
VPN - Virtual Private
Network (Réseau Privé Virtuel) est une technique utilisée pour
créer des réseaux privés virtuels sur des réseaux non-privés, comme
l'Internet. IPSEC
est une technique
utilisée pour créer des connexions VPN
. OpenVPN
en
est une autre.