Après avoir étudié des mécanismes qui permettent la communication sur, potentiellement, de longues distances, il est temps de se demander comment communiquer avec son proche environnement. Le rôle de la couche 2 est de définir la manière de transmettre des informations à ses voisins. Une petite révision sur le matériel et les médias d’accès peut être utile avant de poursuivre.
Données, données, do-o-nnées...
Au début de ce cours, nous avons vu différents supports de communication, comme l’air ou le câble de cuivre. Si nous envoyions des paquets IP dans l’air, en Wi-Fi par exemple, nous aurions un problème : parmi tous les appareils du coin, aucun ne saurait lesquels il doit traiter ! Certes, il y a les adresses IP qui permettent de savoir à qui ils sont adressés, mais bon nombre de réseaux utilisent les mêmes adresses privées. Concrètement, la plupart des box Wi-Fi autour de nous ont pour adresse 192.168.1.1 ou 192.168.0.254. Il faut une couche intermédiaire pour réguler les communications entre voisins : dans le modèle OSI, elle s’appelle liaison de données.
La notion de voisin a déjà été évoquée précédemment. Elle désigne un hôte directement connecté, ou du moins, perçu comme tel.
La couche 2 a pour rôle principal d’acheminer des trames à bon port dans un environnement physique défini. Pour cela, elle a recours à des identificateurs pour reconnaitre les équipements ou pour savoir vers où orienter les trames. Un de ces identificateurs est l’adresse MAC, dite aussi adresse physique. On la retrouve notamment dans les réseaux Ethernet, Wi-Fi ou encore Bluetooth.
Cette notion d’adresse MAC a déjà été abordée plus tôt dans ce cours. Pour rappel, elle correspond à un identifiant unique, inscrit en dur dans une carte réseau.
On peut distinguer deux cas de figure avec la couche 2. Soit on a besoin de différencier les différents hôtes pour savoir qui s’adresse à qui, c’est le cas entre autres du Wi-Fi. Soit il n’y a pas de confusion possible, car le support ne permet que la liaison directe entre deux équipements, c’est le cas pour l’ADSL. Par la suite, nous étudierons en détail au moins un protocole de chaque catégorie.
Les interfaces
Il est courant qu’une machine dispose de plusieurs cartes réseaux, qui sont autant d'interfaces physiques. Une interface, globalement, est un point d’entrée ou de sortie d’une communication. Par exemple, sur une carte réseau Ethernet, le trou dans lequel on branche un câble, c’est une interface.
Votre ordinateur, ou plus exactement les programmes que vous utilisez, n’ont pas conscience de l’aspect matériel du réseau. Le système d’exploitation fournit des interfaces logiques qui permettent d’émettre des trames. Après, que ce soit émis sur des fils de cuivre, une fibre optique ou autre, peu importe !
On peut visualiser les interfaces logiques depuis la console avec la commande ipconfig /all
sous Windows ou ifconfig -a
sous Linux1. Vous obtiendrez un résultat similaire au suivant :
Configuration IP de Windows
Nom de l’hôte . . . . . . . . . . : XXX
Suffixe DNS principal . . . . . . :
Type de noeud. . . . . . . . . . : Hybride
Routage IP activé . . . . . . . . : Non
Proxy WINS activé . . . . . . . . : Non
Liste de recherche du suffixe DNS.: home
Carte Ethernet :
Statut du média. . . . . . . . . . . . : Média déconnecté
Suffixe DNS propre à la connexion. . . :
Description. . . . . . . . . . . . . . : Realtek PCIe GBE Family Controller
Adresse physique . . . . . . . . . . . : 01-23-45-56-78-9A
DHCP activé. . . . . . . . . . . . . . : Oui
Configuration automatique activée. . . : Oui
Carte Ethernet Npcap Loopback Adapter :
Suffixe DNS propre à la connexion. . . :
Description. . . . . . . . . . . . . . : Npcap Loopback Adapter
Adresse physique . . . . . . . . . . . : 02-03-04-05-06-07
DHCP activé. . . . . . . . . . . . . . : Oui
Configuration automatique activée. . . : Oui
Adresse IPv6 de liaison locale. . . . .: fe80::1234:5678:90ab:cdef%19(préféré)
Adresse d’autoconfiguration IPv4 . . . : 169.254.42.42(préféré)
Masque de sous-réseau. . . . . . . . . : 255.255.0.0
Passerelle par défaut. . . . . . . . . :
IAID DHCPv6 . . . . . . . . . . . : 218234272
DUID de client DHCPv6. . . . . . . . : 00-01-00-01-12-34-56-78-90-AB-CD-EF-00-00
Serveurs DNS. . . . . . . . . . . . . : fec0:0:0:ffff::1%1
fec0:0:0:ffff::2%1
fec0:0:0:ffff::3%1
NetBIOS sur Tcpip. . . . . . . . . . . : Activé
Carte réseau sans fil Connexion au réseau local* 1 :
Statut du média. . . . . . . . . . . . : Média déconnecté
Suffixe DNS propre à la connexion. . . :
Description. . . . . . . . . . . . . . : Microsoft Wi-Fi Direct Virtual Adapter
Adresse physique . . . . . . . . . . . : 32-10-98-76-54-32
DHCP activé. . . . . . . . . . . . . . : Oui
Configuration automatique activée. . . : Oui
Carte réseau sans fil Connexion au réseau local* 2 :
Statut du média. . . . . . . . . . . . : Média déconnecté
Suffixe DNS propre à la connexion. . . :
Description. . . . . . . . . . . . . . : Microsoft Wi-Fi Direct Virtual Adapter #2
Adresse physique . . . . . . . . . . . : 32-10-98-76-54-31
DHCP activé. . . . . . . . . . . . . . : Oui
Configuration automatique activée. . . : Oui
Carte réseau sans fil Wi-Fi :
Suffixe DNS propre à la connexion. . . : blah
Description. . . . . . . . . . . . . . : Intel(R) Wireless-AC XXXX
Adresse physique . . . . . . . . . . . : 76-54-32-32-10-98
DHCP activé. . . . . . . . . . . . . . : Oui
Configuration automatique activée. . . : Oui
Adresse IPv6. . . . . . . . . . . . . .: 2a01:0123:456:ff00:1234:5678:90ab:cdef(préféré)
Adresse IPv6 temporaire . . . . . . . .: 2a01:0123:456:ff00:90ab:cdef:1234:5678(préféré)
Adresse IPv6 de liaison locale. . . . .: fe80::0123:456:0123:456%15(préféré)
Adresse IPv4. . . . . . . . . . . . . .: 192.168.1.10(préféré)
Masque de sous-réseau. . . . . . . . . : 255.255.255.0
Bail obtenu. . . . . . . . . . . . . . : jeudi 7 février 2019 12:00:00
Bail expirant. . . . . . . . . . . . . : mercredi 13 février 2019 18:00:00
Passerelle par défaut. . . . . . . . . : fe80::456:0123:456:0123%15
192.168.1.1
Serveur DHCP . . . . . . . . . . . . . : 192.168.1.1
IAID DHCPv6 . . . . . . . . . . . : 112233777
DUID de client DHCPv6. . . . . . . . : 00-01-00-01-23-45-67-89-0A-BC-DE-F0-00-00
Serveurs DNS. . . . . . . . . . . . . : fe80::b2b2:8fff:fe73:c05a%15
192.168.1.1
fe80::456:0123:456:0123%15
NetBIOS sur Tcpip. . . . . . . . . . . : Activé
Liste de recherche de suffixes DNS propres à la connexion :
home
home
Carte Ethernet Connexion réseau Bluetooth :
Statut du média. . . . . . . . . . . . : Média déconnecté
Suffixe DNS propre à la connexion. . . :
Description. . . . . . . . . . . . . . : Bluetooth Device (Personal Area Network)
Adresse physique . . . . . . . . . . . : 88-88-88-88-88-88
DHCP activé. . . . . . . . . . . . . . : Oui
Configuration automatique activée. . . : Oui
Ne vous formalisez pas trop sur les noms des interfaces, c’est les bizarreries de Windows… Sous Linux, c’est plus sobre :
eth0 Link encap:Ethernet HWaddr 09:00:12:90:e3:e5
inet addr:192.168.1.29 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe70:e3f5/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:54071 errors:1 dropped:0 overruns:0 frame:0
TX packets:48515 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:22009423 (20.9 MiB) TX bytes:25690847 (24.5 MiB)
Interrupt:10 Base address:0xd020
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:83 errors:0 dropped:0 overruns:0 frame:0
TX packets:83 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:7766 (7.5 KiB) TX bytes:7766 (7.5 KiB)
wlan0 Link encap:Ethernet HWaddr 58:a2:c2:93:27:36
inet addr:192.168.1.64 Bcast:192.168.2.255 Mask:255.255.255.0
inet6 addr: fe80::6aa3:c4ff:fe93:4746/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:436968 errors:0 dropped:0 overruns:0 frame:0
TX packets:364103 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:115886055 (110.5 MiB) TX bytes:83286188 (79.4 MiB)
Ce dernier extrait est issu de cette page de Computer Hope.
Certains termes doivent vous être familiers ! On peut faire le lien suivant entre interfaces logiques et physiques :
Interface logique | Interface physique |
---|---|
Carte réseau sans fil Wi-Fi / wlan0 | |
Carte Ethernet / eth0 | |
Carte Ethernet Connexion réseau Bluetooth |
Crédits images :
- carte Wi-Fi dérivée de ce travail d’AndreR sous licence GNU GPL 2, image redistribuée sous licence GNU GPL 2 ;
- carte Ethernet dérivée de cette photo par Sub dans le domaine public, redistribuée sous licence CC BY-NC-ND 2.0 ;
- carte Bluetooth dérivée de cette photo par Omegatron sous licence CC BY SA, redistribuée sous licence CC BY SA 3.0.
Mais ce n’est pas tout ! Plusieurs interfaces logiques peuvent en réalité correspondre à une seule interface physique. Mieux encore : une interface logique peut ne correspondre à aucune réalité physique.
Quoi ? Mais pourquoi on aurait une interface qui ne sert pas à communiquer ?
Vous vous souvenez des adresses IP comme 127.0.0.1 ou ::1 ? Eh bien, elles sont attribuées à une interface nommée boucle locale ou loopback. C’est l’interface lo dans l’extrait de configuration Linux précédent. Elle sert à s’envoyer des paquets à soi-même, donc pas besoin d’interface physique, puisque ça reste au sein du même système.
- Cette commande n’est plus présente par défaut sous certaines distributions Linux, qui lui préfèrent la commande
ip addr
. Toutefois, nous trouvons queifconfig
affiche des informations plus intéressantes et mieux présentées. Vous pouvez l’installer avec le paquet net-tools.↩
Voilà pour une présentation assez générale et succincte de la couche 2. Elle permet la communication entre voisins au travers d’interfaces. Les possibilités sont assez vastes et souvent liées à un protocole donné. Aussi, nous étudierons des services de la couche liaison de données avec un protocole associé.