Vous êtes sur la page 1sur 31

Systèmes répartis UNIX Mise en œuvre du réseau

Administration UNIX

ESAT
Systèmes répartis UNIX Mise en œuvre du réseau

UNIX et les réseaux :

UNIX a été le premier système d'exploitation à incorporer en son sein des fonctionnalités qui
permettaient de le connecter aisément à des réseaux. L'originalité vient du fait que les
protocoles choisis n'ont pas été des protocoles " propriétaires " mais plutôt des protocoles
internationaux qui sont devenus depuis de s standards de fait sur le marché.

Ces protocoles étaient livrés d'origine avec un certain nombre d'utilitaires ( dits services ) qui
permettaient à tout utilisateur de pouvoir, d'emblée, utiliser l'ouverture sur le réseau pour
accroître ses capacités de travail.

Aujourd'hui, il n'est plus possible d'imaginer des travaux informatiques professionnels sans
avoir recours aux réseaux.

UNIX est très bien positionné dans le domaine de l'interconnexion entre ordinateurs : il offre
à tous, simple utilisateur comme administrateur ou programmeur, un ensemble de solutions
permettant de résoudre la totalité des problèmes posés.

- A l'utilisateur il fournit des services divers, d'accès relativement simple, qui lui
permettent d'accéder à des machines distantes pour y exécuter différentes commandes ou pour
y récupérer des fichiers de données ;

- A l'administrateur il fournit des commandes de contrôle de l'activité du réseau ainsi


que quelques possibilités de création de scripts-shell ;

- Le programmeur, quant à lui, grâce aux possibilités d'accès direct au système et aux
fonctions spécifiquement mises au point, peut créer des programmes de communications
basés sur les nombreux protocoles standards disponibles.
Les communications et UNIX

Tenter de parler des communications sous UNIX tient de la gageure. Le domaine est en effet
très vaste....... et particulièrement mouvant. Il ne se passe en effet pas un jour sans qu'un
nouveau produit de communication soit inventé ou qu'une nouvelle norme apparaisse.

Au niveau d'UNIX, on peut subdiviser l'étude du domaine des communications en


différentes parties:

- Au niveau interne au système, on étudie les méthodes de communication et de


synchronisation entre processus. On parle alors d'IPC ( Inter Process Communications ).

C'est un domaine réservé aux programmateurs. Néanmoins certaines commandes sont


mises à la disposition des utilisateurs ( et en particulier de l'administrateur ) pour réaliser
certains utilitaires de communication à ce niveau.
- Au niveau réseau, on étudie l'ensemble des services offerts aux utilisateurs. Ils sont
nombreux et parfois redondants. L'étude porte alors sur les qualités et défaut de chacun.

jj/10/OO ESAT 1
Systèmes répartis UNIX Mise en œuvre du réseau

L'étude porte aussi sur les différents protocoles de communications, qui ont été portés
sur UNIX, mais qui permettent d'accéder à des machines utilisant d'autres systèmes
d'exploitation.

- Toujours au niveau réseau, on étudie les commandes mises à la disposition de


l'administrateur pour gérer son réseau ou pour modifier le comportement des différents
services. Cette étude comporte les commandes de configuration des systèmes de fichiers
distribués.

- On étudie aussi, au niveau de la programmation, l'ensemble des fonctions C


permettant de créer, pour ses besoins propres, différents produits de communication.

C'est ce domaine qui est le plus étendu..... et le plus ardu. Mais il permet de créer des
applications efficaces..... et de comprendre comment fonctionnent les applications
commerciales.

Dans cette partie du cours, seules les fonctionnalités qui sont du niveau de
l'utilisateur, voire de l'administrateur, seront étudiées.

jj/10/OO ESAT 2
Systèmes répartis UNIX Mise en œuvre du réseau

1. LES PROTOCOLES TCP/IP ET UDP/IP

1.1. HISTORIQUE :

Le protocole de communication TCP/ IP est très répandu aujourd'hui dans le monde grâce à
l'importance prise par le réseau Internet.

Ce protocole est l'aboutissement de travaux entrepris, dans les années 70, par le DARPA
[Defense Advanced Research Projects Association ], organisme de recherche travaillant pour
le compte de l'armée américaine, sur les spécifications et le développement de protocoles
d'interconnexion de matériels et réseaux hétérogènes. Ces recherches ont abouti à la mise en
place du réseau ARPANET qui est un réseau à commutation de paquets sur différents types
de supports.

Ce réseau a rapidement pris de l'ampleur et bientôt des organismes civils et d'autres réseaux
s'y sont connectés, ce qui a abouti à la création d'un réseau virtuel unique appelé Internet.

Dès 1980, le DARPA a exigé l'utilisation du protocole TCP / IP pour tous les systèmes
souhaitant se connecter au réseau ARPANET. Par ailleurs ce protocole à rapidement été
implémenté dans les versions BSD d'UNIX en même temps qu'était développé un mécanisme
de généralisation des entrées / sorties caractères avec la mise au point des sockets. Ce qui
explique que sous UNIX, TCP / IP est étroitement lié au mécanisme des sockets.

Le succès d'UNIX dans les milieux universitaires et scientifiques s'explique pour partie par
l'accès au protocole TCP / IP [ et réciproquement, le succès de TCP / IP s'explique par sa
disponibilité sous UNIX ].

Actuellement le protocole TCP / IP est toujours majoritairement utilisé au niveau mondial :


ses spécifications sont disponibles dans le domaine public. Malgré l'arrivée de protocoles
conformes au modèle OSI, son importance ne fait que croître.

Compatibilité TCP / IP et norme OSI :

Etant le premier protocole réellement opérationnel, TCP / IP ne cadre pas exactement avec le
principe à 7 couches du modèle OSI. Néanmoins il s'en rapproche suffisamment pour que
son étude puisse être réalisée en utilisant les dénominations de couche en vigueur dans le
modèle OSI.

jj/10/OO ESAT 3
Systèmes répartis UNIX Mise en œuvre du réseau

1.2. L'ARCHITECTURE EN COUCHES DES RESEAUX :

1.2.1. Définitions préalables

La détermination des caractéristiques des réseaux actuels est basée sur la structuration en
couches. Chacune des couches s'appuie sur des services offerts par une couche de niveau
inférieur et offre des services à la couche qui lui est supérieure.

Sur deux machines distantes interconnectées par un réseau il existe, à chaque niveau de
couche, des entités chargées d'une activité particulière. On dit que l'entité d'une couche
donnée d'une machine entretient un dialogue virtuel avec l'entité correspondante de l'autre
machine. L'ensemble des règles et conventions régissant ce dialogue constitue le protocole de
la couche considérée.

dialogue virtuel entre


7 couches de même niveau 7
6 6
5 5
4 4
3 3
2 2
1 1

lien physique

 La communication entre deux couches adjacentes est réalisée via une interface spécifique.
Grâce à ce principe, une entité d'une couche donnée n'a besoin de connaître que les
interfaces de cette couche avec les deux couches adjacentes.

 Au passage d'une couche à l'autre, l'information subit des transformations : ajouts ou


suppression d'informations supplémentaires ("encapsulage"), éclatement ou regroupements
de messages ( " mise en paquets " ).

jj/10/OO ESAT 4
Systèmes répartis UNIX Mise en œuvre du réseau

1.2.2. Les différentes couches du modèle OSI

Le modèle OSI repose sur une décomposition des réseaux en 7 couches, chacune réalisant une
fonction bien définie.

Couche 1 : C'est la couche physique, chargée d'assurer la transmission des bits constituants
les données à transmettre entre des entités physiques. Celles-ci peuvent être des équipements
terminaux de traitements de données ( ETTD, comme les terminaux ou les ordinateurs ) ou
des équipements de terminaison de circuits de données ( ETCD, comme les modulateurs/
démodulateurs, multiplexeur..... ).

Couche 2 : C'est la couche liaison de données. Elle sert surtout à masquer les caractéristiques
physiques et à détecter et corriger les erreurs. Elle contrôle l'accès au support en réglant les
conflits d'accès au média.

 Plusieurs normes ont été établies : la plus répandue avec les réseaux UNIX est la
norme IEEE802.3. Elle correspond au protocole Ethernet.

Couche 3 : La couche réseau permet de régler les problèmes de routage. Deux modes
d'utilisation sont possibles : le mode connecté et le mode non connecté.

Couche 4 : La couche transport permet la communication entre deux applications ( alors que
les couches inférieures régissent un dialogue entre machines ). Elle peut corriger les erreurs.

Couche 5 : La couche session offre des services orientés utilisateurs en permettant à ceux-ci
d'organiser les échanges entre applications.

Couche 6: La couche présentation s'intéresse plus particulièrement aux codages des


informations selon des représentations standards quelles que soient les machines utilisées.

Couche 7 : La couche application contient la définition d'un certain nombre de protocoles


pour des applications utilisant les réseaux.

Mode connecté / Mode non-connecté :

Mode connecté : Dans ce mode un chemin de communication est établi au départ avant tout transfert de
données. Ce chemin reste le même pendant toute la durée de la communication, avec des contrôles assurant la
fiabilité de la liaison. Le transfert de données se fait donc selon un mode flot d'octets. On peut assimiler ce
mode à la communication par téléphone : la connexion est établie pour la durée de la communication; il faut
demander l'autorisation de connexion au destinataire.

Mode non-connecté : Dans ce mode il n'y a pas établissement préalable d'une connexion. Le chemin n'est pas
unique tout au long de la transmission et il n'y a pas de contrôle. Le transfert de données se fait par paquets
( mode datagramme ) : chaque paquet est traité indépendamment des autres.
On peut assimiler ce mode à la communication par boite aux lettres : une fois la lettre envoyée on ne sait pas
par où elle passera et on n'a pas besoin de l'autorisation du destinataire pour l'envoyer.

jj/10/OO ESAT 5
Systèmes répartis UNIX Mise en œuvre du réseau

1.3. LES RESEAUX ETHERNET

Développée dès 1970 par XEROX, la technologie Ethernet est un protocole d'accès au média.
Il se situe donc au niveau des couches 1 et 2 du modèle OSI.

Ethernet s'est largement répandu et est devenu un standard de fait. Dans le monde UNIX il
représente la base installée la plus importante car il est très facile à mettre en œuvre

 Néanmoins, il faut noter que les technologies Ethernet et TCP / IP sont indépendantes.

 Les réseaux Ethernet sont des "réseaux physiques". Compte tenu des caractéristiques des
câblages utilisés ( voir plus loin ) les réseaux Ethernet sont spécialement adaptés aux
réseaux locaux de petites dimensions. Il existe cependant d'autres technologies ( en
particulier celle du Token Ring ) dont les caractéristiques sont parfois plus optimisées.

 Ethernet est généralement implémenté sous forme d'un driver UNIX.

1.3.1. Méthode d'accès au canal :

Le réseau Ethernet utilise la méthode CSMA / CD pour accéder au canal :

• écoute du câble pour détecter une absence de signal;

• dans ce cas, émission d'un bloc de données;

• écoute du câble pour vérifier que les données émises ne sont pas brouillées
(collision avec un autre paquet qui aurait été émis quasiment en même temps par
une autre machine );

• en cas de collision, nouvelle émission du paquet après un temps d'attente aléatoire


et nouvelle écoute du câble ( l'autre machine qui a émis le paquet brouilleur réagit
de même );

• si échec au bout de 16 tentatives : abandon.

 Les informations échangées sont constituées en paquets qui ont tous un format particulier
appelé trame. Cette trame contient en particulier les adresses de l'émetteur et du
destinataire. Sa taille peut atteindre 1500 octets.

 Il existe deux formats d'adresse : format court sur 2 octets et format long sur 6 octets. On
dit qu'il s'agit dans ce cas là d'adresse physique : elle est mémorisée, " en dur ", sur la
carte Ethernet d'interface de chaque machine et identifie celle-ci de manière unique.

jj/10/OO ESAT 6
Systèmes répartis UNIX Mise en œuvre du réseau

en-tête DONNEES

messsage TCP

en-tête DONNEES

datagramme IP

@ dest. @ source type DONNEES CRC

trame Ethernet

Principe d'encapsulation des données au sein d'un élément de transfert du


niveau inférieur.

1.3.2. Câblages et vocabulaire :

Il existe quatre variantes de réseau Ethernet selon le type de câblage utilisé :

 Paires torsadées ( 10 BASE T) : Le réseau est localisé dans une boite isolée ( le répéteur
). Chaque machine est reliée à cette boite par un câble unique d'une longueur maximale de
100 m. Le débit est limité à 10 Mbits/s.

 Câbles coaxiaux fins ( 10 BASE 2 ) : Ces câbles ne peuvent être utilisés que sur des
réseaux dont les machines ne sont pas distantes de plus de 200 m. Le débit sur ce type de
câble est limité à 10 Mbits / s.

 Le coût de ce type de réseau est réduit à l'installation ( par rapport au câble épais ).
Les ordinateurs peuvent être placés à n'importe quelle distance du répéteur à partir
de 0,5m. Les périphériques qui relient les machines au câble sont généralement
intégrés à la machine.

 Câbles coaxiaux épais ( 10 BASE 5 ): appropriés aux réseaux de grande taille et


lourdement chargés. Supportent un taux de transmission élevé ( 10 Mbits/s ) sur une
distance supérieure à 500 m ( mais chaque segment ne peut dépasser 500 m : il faut alors
ajouter des répéteurs).

 Les transceivers sont des périphériques qui relient les machines au câble. Ils doivent être
séparés d'au moins 2,5 m

 Fibres optiques liaison FDDI à gros débits.

Vocabulaire à connaître :
jj/10/OO ESAT 7
Systèmes répartis UNIX Mise en œuvre du réseau

 répéteur : il régénère les signaux électriques au niveau physique (couche 1 du modèle


OSI). Un tel dispositif utilisé pour relier deux brins d'un même réseau ne réalise donc
aucun filtrage. Certains sont un peu plus évolués et sont capable de mémoriser un
ensemble de bits avant de les ré-émettre. Ils présentent l'avantage de ne pas laisser passer
les collisions et permettent de cloisonner un brin défectueux.

 pont : agit au niveau de la couche 2 du modèle OSI et régénère la trame au lieu du signal
et donc ne retransmet pas les bruits parasites. Il existe des ponts filtrants qui peuvent
interdire ou autoriser le passage de paquets venant ou allant vers certaines adresses. Deux
brins reliés à un pont ou un répéteur font parti du même réseau physique.

 passerelle, routeur : il s'agit de la traduction des mots gateway et router, qui désignent un
dispositif qui permet de faire transiter des paquets définis au niveau IP (couche 3) sur deux
(ou plus) réseaux différents. Cela suppose un dispositif ayant au moins deux interfaces,
connectés chacune sur un réseau diffèrent et donc disposant chacune d'une adresse
INTERNET.

 pont-routeur : c'est un dispositif qui se comporte comme un routeur vis-à-vis des paquets
IP mais qui se comporte comme un pont pour toutes les autres trames, ce qui permet de
supporter plusieurs protocoles de même niveau sur un réseau ETHERNET.

 RFC : les RFC (Request For Comments) ou demande de commentaires sont des rapports
écrits de manière informelle par différents groupes de travail sur INTERNET et les sujets
connexes. Pour être intégré, le papier doit être soumis au AFNIC (Association Française
pour le Nommage Internet en Coopération ex: NIC Network Informatons ).

Quelques RFC avec leurs sujets d'intérêt :

Ethernet IP TCP UDP ISO IEEE


Ethernet 826, 893,
894, 903
IP 826, 893, 791, 792, 1042, 1069,
894, 903 795, 814, 1070, 1454
815, 1063,
1108, 1349
1454, 1475
TCP 1042, 1069 793, 1323 1240, 1347 1006, 1347
ISO IEEE 1070, 1454 1006, 1347 994, 1069

jj/10/OO ESAT 8
Systèmes répartis UNIX Mise en œuvre du réseau

1.3.3. Adresses Ethernet :

Toute carte Ethernet est dotée d'une adresse Ethernet, adresse physique unique déterminée
par le constructeur et inscrite "en dur" dans la ROM.

Une machine peut être équipée de plusieurs cartes et donc avoir plusieurs adresses Ethernet.

Ethernet utilise un mode d'adressage compatible avec la norme IEEE. L'adresse est codée sur
6 octets, soit 48 bits :

 On code généralement ces adresses sous forme hexadécimale ( un octet = deux codes,
chaque octet est séparé par le caractère ' : ' ) :

exemple : AB: 00 : 00 : 03 : 00 : 00

 Lorsque tous les bits d'une adresse destination sont à 1, on a affaire à une adresse de
diffusion générale ( " broadcoast " )

exemple : FF : FF : FF : FF : FF : FF

jj/10/OO ESAT 9
Systèmes répartis UNIX Mise en œuvre du réseau

1.4. LES PROTOCOLES TCP / IP

1.4.1. Caractéristiques de base :

Les primitives mettant en œuvre les protocoles TCP/ IP sont implémentées dans le noyau
UNIX.

7 smtp ftp telnet r_commandes application


6
5
4 TCP UDP transport
3 IP ICMP ARP RARP réseau
2 ETHERNET interface réseau
1 physique

les protocoles TCP/IP et le modèle OSI

TCP / IP est un ensemble de protocole permettant l'échange de données au niveau 3 et 4 du


modèle OSI :
• Un protocole correspond à la couche 3 / Réseau : c'est le protocole I P.
• Deux protocoles correspondant à peu près à la couche 4 / Transport : il s'agit
des protocoles TCP ou UDP, chacun rendant des services différents.

 Les protocoles TCP et UDP proposent en outre un certain nombre de services à


l'utilisateur. Ce en quoi ils divergent d'un modèle strictement OSI car ces services
seraient à classer dans le niveau 7 de la norme. Ceci explique pourquoi, sous TCP / IP, il
n'y a pas de protocoles de niveaux 5 ou 6.

1.4.2. La couche réseau IP ( Internet Protocol ) :

1.4.2.1. Généralités

Cette couche fournit un service d'envoi de datagrammes. Le protocole IP assure :


• Le routage des datagrammes entre deux interlocuteurs ;
• Les opérations de fragmentation / défragmentation nécessaires, le cas échéant, pour
s'adapter aux différents réseaux traversés ( X 25, FDDI, etc... ).

 IP ne garantit pas la séquentialité (récupération des paquets dans l'ordre où ils ont été
transmis ) ni la correction des erreurs.

 IP n'effectue un cheksum ( contrôle d'intégrité des données transférées) que sur l'en-tête
du paquet émis ( où sont indiquées des informations capitales telles les adresses d'origine
et de destination ).

jj/10/OO ESAT 10
Systèmes répartis UNIX Mise en œuvre du réseau

1.4.2.2. Format d'un datagramme

Un datagramme IP est composé d'un en-tête de 20 octets au moins, dont les significations
sont:

0 1 2 3
Version IHL Type de service longueur totale
Identification Flags Décalage fragment
TTL Protocole Checksum entête
adresse logique IP source
adresse logique IP destination
Options Remplissage

Données

où :

IHL Longueur de l'en-tête ;


Type de service Qualité du service désiré ;
Longueur totale Longueur de tout le datagramme ( en général 576 octets ) ;
Identification Identification du datagramme. Permet le réassemblage des datagrammes
pour reconstituer le message;
Flags Indiquent, entre autre, s'il y a d'autres datagrammes ;
TTL Time To Live : Permet de savoir combien il reste de temps à vivre à ce
datagramme. La valeur est décrémentée de 1 à chaque fois que le
datagramme passe dans un "nœud" du réseau ;
Protocole Indique le protocole de niveau supérieur ;
Checksum Contrôle de l'en tête;
Options Nombres d'options variables. Champ optionnel.
Remplissage Utilisé afin que l'en tête soit un multiple de 32 octets.

1.4.2.3. Protocoles annexes

Trois autres protocoles sont intégrés au protocole IP :

 ICMP ( Internet Control Message Protocol ) qui assure la détection des erreurs, le routage
et les taches de gestion de réseau. ICMP alerte IP quand un paquet ne peut atteindre sa
destination, en cas de saturation des buffers utilisés en interne par IP et en cas d'erreur de
transmission.

 ARP ( Address Resolution Protocol ) permet de retrouver l'adresse physique Ethernet qui
correspond à une adresse logique Internet et réciproquement. C'est en effet l'adresse
physique qui est nécessaire pour réaliser les communications.

Lorsqu'une machine X souhaite entrer en communication avec une machine Y, deux cas
peuvent se produire :
• Soit, elle connaît déjà son adresse physique ( elle a déjà communiqué avec cette
machine ) : elle peut de nouveau communiquer avec elle.
jj/10/OO ESAT 11
Systèmes répartis UNIX Mise en œuvre du réseau

• Soit, elle ne connaît que l'adresse Internet.

Dans ce dernier cas, le protocole ARP envoie sur le réseau une trame Ethernet de diffusion
(tous bits à 1 ). Cette trame contient l'adresse Internet de la machine Y et les adresses Internet
et Ethernet de la machine X. La machine Y reconnaîtra son adresse Internet et renverra alors
à la machine X un message de réponse contenant son adresse Ethernet.

 RARP ( Reverse ARP ) est un protocole permettant à une machine d'obtenir d'un serveur
son adresse IP à partir de son adresse physique.

 Ce protocole est surtout utilisé par les stations sans disque, ne connaissant pas leur
propre adresse Internet, au moment du boot.

La station émettrice diffuse un message Ethernet d'un type spécial en diffusion générale. Sur
le réseau seule une machine (le serveur RARP ) est autorisée à répondre à ce type de message.

1.4.3. La couche transport TCP ( Transmission Control Protocol ) :

1.4.3.1. Généralités

TCP est un transport fiable en mode connecté. Il permet l'ouverture de circuits virtuels entre
machines et l'échange de flots d'octets. Il établit et maintient une connexion full-duplex entre
deux systèmes.

• TCP vérifie le séquencement des blocs reçus ou émis et demande


éventuellement la répétition des paquets erronés.
• Il assure un contrôle du flux, acquitte les données reçues;
• Il assure le contrôle des erreurs.

La trame TCP est composée d'une entête, de 20 octets, et d'un bloc de données de longueur
variable.

 Une connexion sous TCP est spécifiée par deux sockets ( une sur chaque machine ).
Celles-ci sont identifiées par des numéros d'identification appelés port.

 Tampons TCP : TCP offre un service de type transfert d'octets. Ces octets sont stockés
dans des mémoires-tampons avant d'être fournies à la couche IP. Il existe un tampon
émission et un tampon réception.

1.4.3.2. Format d'un message TCP


Un message TCP est précédé par un en tête d'au moins 20 octets dont le format est :

0 1 2 3
port source port destination
numéro de séquence
numéro d'acquittement
jj/10/OO ESAT 12
Systèmes répartis UNIX Mise en œuvre du réseau

offset données flags fenêtre


checksum pointeur données urgentes
options remplissage

données

où :
Port source : Identifie le processus émetteur par son numéro de port
Port destination : Identifie le processus destinataire par son numéro de port
Numéro de séquence :Numéro du segment émis
Offset données : Taille en mot de 32 bits de l'en tête

1.4.4. La couche transport UDP ( User Datagram Protocol ) :

C'est un protocole de transport en mode non connecté, dit " non fiable", qui permet l'échange
de datagrammes.

 Il faut relativiser cette notion de non-fiabilité : plusieurs services très répandus dans le
monde UNIX utilisent ce protocole pour des questions de rapidité ( NFS en particulier ).

 Son en-tête est réduit à 8 octets : Port source / Port destination / Longueur / Checksum.

1.5. L'ARCHITECTURE INTERNET

L'utilisation du protocole IP permet d'accéder au réseau virtuel Internet.


Dans ce réseau toutes les machines sont désignées d'une manière unique par une adresse de 4
octets (@ logique). Toutes les machines, appartenant à un réseau connecté à des réseaux
nationaux ou internationaux, peuvent donc communiquer avec d'autres machines, où qu'elles
soient situées, en connaissant seulement leurs adresses Internet.

 Il est possible, dans le cadre d'un réseau local fermé utilisant les protocoles Internet, de
choisir une adresse quelconque. Mais si l'on souhaite "ouvrir " son réseau en le connectant
à d'autres réseaux via un réseau mondial soutenant le réseau virtuel Internet, il faut obtenir
une adresse de réseau officielle auprès de l'AFNIC . Cet organisme garantit l'unicité de
l'adresse dans le monde.

1.5.1. Réseau IP :

Dans le réseau IP, une machine est repérée par une ou plusieurs adresses, qui sont des
adresses logiques uniques sur un réseau donné. Ces adresses sont codées sur 32 bits formant
deux champs de longueurs variables :
• Un champ définit l'identificateur du réseau ( netid );
• Un champ définit l'identificateur de la machine dans ce réseau ( hostid ).

jj/10/OO ESAT 13
Systèmes répartis UNIX Mise en œuvre du réseau

 La partie de l'adresse qui correspond au numéro du réseau est parfois appelée NETWORK
alors que la partie correspondant au système est appelée HOSTNUMBER. Une machine
possède aussi un nom alphanumérique qui est un alias de l'adresse IP.

 Il est possible de définir, comme pour les adresses Ethernet, une adresse IP de diffusion en
positionnant tous les bits à 1.

 Les RFC concernant les spécifications de l'adressage IP ont les numéros 990, 997 et 1166.

1.5.2. Codage de l'adresse IP :

Pour coder l'adressage IP on utilise le mode décimal : chaque octet est codé en décimal non
signé et est séparé des autres octets par le caractère ' : '.

exemple : 160 : 192 : 77 : 1

 Les utilisateurs qui sont accessibles via le réseau Internet indiquent souvent l'adresse par
laquelle ils peuvent être contactés sous la forme :

@Ethernet : 12 : 0 : 2 : 2a : ff : 1
ou :
nom_utilisateur@organisme.pays

Sachant que organisme et pays sont des codes délivrés par le NIC ou ses représentations
nationales ( fr = France ) facilement accessibles à toute personne utilisant le réseau Internet.
On parle alors de domaines.

La publication de ces adresses permet la communication entre plusieurs utilisateurs


appartenant à des d'organismes variés.

Les news sont des messages, disponibles sur des serveurs, à caractères professionnels qui
transitent via le réseau Internet. Ils constituent une source très importante de diffusion de
nouvelles d'ordre scientifique. On y trouve de très nombreux sujets, aux thèmes très variés.
On trouve en particulier des informations sur l'évolution de l'informatique, des mises à jour
de logiciels ( y compris de système d'exploitation ) et des logiciels freewares.. On y trouve
surtout des indications permettant de normaliser certains protocoles.

jj/10/OO ESAT 14
Systèmes répartis UNIX Mise en œuvre du réseau

1.5.3. Classes de réseaux IP :

Le réseau Internet est hiérarchisé en 3 classes de réseaux IP et une classe d'adresses spéciales.

Les classes sont déterminées par la valeur du premier octet :

- Classe A : ( entre 1 et 127 )


• le premier octet représente le NETID
• les octets 2, 3, 4 représentent le HOSTID
• le premier octet est compris entre 0 et 127 (bit de poids le plus fort toujours à 0)
• Cette classe est réservée aux très grands réseaux ( 126 possibilités ) comptant de
nombreuses machines. Les numéros des machines sont codés sur les 3 octets
suivants.

- Classe B : ( entre 128 et 191 )


• les deux premiers octets représentent le NETID
• les octets 3 et 4 représentent le HOSTID
• le premier octet est compris entre 128 et 191 (les deux bits de poids fort sont égaux
à 10
• Dans cette classe, le 3° octet peut être utilisé pour classer des sous-réseaux.

1 0

- Classe C : ( entre 192 et 223 )


• les trois premiers octets représentent le NETID
• le dernier octet représente le HOSTID
• le premier octet est compris entre 192 et 223 (les trois bits de poids fort sont égaux
à 110
• Le dernier octet sert à coder le numéro de la machine ( pas plus de 255 ).

1 1 0

Par exemple l'EDF dispose d'un réseau de classe B et Sup Telecom Bretagne d'un réseau de
classe C.

jj/10/OO ESAT 15
Systèmes répartis UNIX Mise en œuvre du réseau

Remarques :

Les valeurs du premier octet suivant sont réservées :


0: réseau courant ( machine locale ) ;
127 : loopback ( la machine s'appelle );
255 : diffusion générale.

 NETID : nom de réseau


 HOSTID : nom de la machine connectée au réseau garantissant l'unicité
 Toutes les machines qui sont connectées sur le même réseau physique doivent avoir :
• le même nom de réseau (même NETID)
• un HOSTID différent

Les réseaux de classe A ou B peuvent être subdivisés en sous-réseaux ( subnet ).

 Une machine servant d'interface entre deux réseaux doit posséder deux adresses Internet (une pour chaque
réseau auquel elle appartient ).

 En France, si l'on veut déclarer un réseau de classe C, il faut en faire la demande à la FNET.

 Il y a 128 réseaux de classe A, 16002 de classe B et environ 2 millions de classe C. Malgré les apparences,
il n'y a plus beaucoup de numéros de réseau disponibles..... alors que certaines possibilités sont sous-
employées. Il est question de redéfinir une nouvelle norme de numérotation..... beaucoup de travail de
reconfiguration en perspective.

 Adresse de BROADCAST
l'adresse de broadcast est une adresse de machine spéciale qui signifie que le message n'est
pas à destination d'une seule machine mais à destination de toutes les machines du réseau
(diffusion).

seul le HOSTID est modifié pour créer une adresse de broadcast (tous les bits à 0 ou à 1).
le choix par défaut est tous les bits à 1.

exemple d'adresse broadcast de classe A : 2.255.255.255

toutes les machines d'un même réseau doivent avoir la même adresse de broadcast.

 NETMASK
le NETMASK est l'adresse IP qui masque le NETID. On positionne tous les bits des octets
représentatifs du NETID à 1.

exemple de NETMASK de classe C : 255.255.255.0

jj/10/OO ESAT 16
Systèmes répartis UNIX Mise en œuvre du réseau

1.5.4. Communication entre réseaux :

1.5.4.1. Généralités

La communication entre des réseaux IP s'effectue grâce à des interfaces que l'on appelle
ponts, routeurs ou passerelles.

 La communication entre plusieurs réseaux qui possèdent la même adresse IP ( champ netid
) se fait par des ponts.

Le pont lit l'adresse de chaque paquet Ethernet pour déterminer la destination du message,
mais il ne lit pas l'intérieur du paquet pour connaître l'adresse TCP / IP. Un pont agit donc au
niveau 2.

 Deux réseaux IP de classes quelconques pourront toujours être connectés entre-eux via un
routeur.

Un routeur pénètre plus profondément dans les couches afin de lire l'adresse de destination au
niveau IP. Une fois cette opération réalisée, le routeur élimine les encapsulations internes et
reconditionne le paquet de données.

 Une passerelle sert d'interface entre réseaux hétérogènes.

Donc si les réseaux utilisent le même protocole d'accès ( Ethernet ) on utilise un pont, sinon
on utilise un routeur ou une passerelle ( ex : Ethernet vers Token Ring ).

 Les routeurs et les passerelles possèdent plusieurs adresses Internet, autant que le nombre
de réseaux qu'ils interfacent.

 Les adresses de diffusion ne traversent pas les routeurs et les passerelles.

Réseau A routeur Réseau A passerelle Réseau B

Liaison pont Liaison

Physique répéteur Physique Modèle OSI et


aspect matériel

jj/10/OO ESAT 17
Systèmes répartis UNIX Mise en œuvre du réseau

1.5.4.2. Routage

Le routage permet à une machine d'un réseau d'accéder aux autres machines du réseau ou à
des machines extérieures au réseau.

Lorsqu'une machine veut accéder à une machine appartenant à un autre réseau il lui faut
connaître, outre son adresse IP, les passerelles par lesquelles passer.

Différentes tables de routages contiennent les renseignements nécessaires. Il faudra s'assurer


de la cohérence entre les différentes informations.

Il existe deux manières de réaliser le routage :

• Le routage statique, réalisé à l'aide d'une commande route, utilisant des


masques de configuration.
• Le routage dynamique, utilisant le démon routed. Ce démon échange des
informations avec des machines proches de manière à compléter ses informations. Les
tables sont modifiées en conséquence.

1.6. SERVICES ET NUMEROS DE PORT

1.6.1. Définitions :

Au-dessus de la couche transport on trouve des services. Ceux-ci peuvent être directement
invoqués par certaines applications.

Chaque service est identifié par un numéro appelé numéro de port. Ce numéro est codé sur un
entier ( deux octets ).

 Un service peut être fourni en même temps qu'un protocole ( cas de TELNET ou FTP
livrés avec TCP / IP ) ou être une application autonome tournant sous UNIX.

 Les services les plus connus, devenus des standards de fait, utilisent des ports identiques
sur toutes les machines et sont définis dans le fichier / etc / services : lorsqu'on a besoin
de ce service on appelle toujours le même port.

Un service peut s'attribuer un numéro de port si ce numéro n'est pas inférieur à 1024
(numéros réservés au système ) et qu'il n'est pas déjà attribué à un autre service.

Un service peut également demander au système de lui attribuer un numéro de port : il s'agit
alors d'un numéro éphémère qui ne sera utilisé que pendant la durée de vie du service.

jj/10/OO ESAT 18
Systèmes répartis UNIX Mise en œuvre du réseau

Les RFC ( Request for comment ) :

Il n'existe pas de normes à propos des différents services utilisés avec UNIX. Néanmoins des informations les
concernant sont diffusées via les news. On les appelle les RFC.

Ces RFC contiennent des indications précises sur la manière d'utiliser les différents services (protocole
d'appel, numéros de ports à utiliser, caractéristiques techniques, etc.....).

 Nul n'est tenu de suivre à la lettre les recommandations des RFC..... mais c'est s'exposer à des problèmes
que de ne pas le faire.

1.6.2. Modèle client / serveur :

• Un serveur est un processus pouvant offrir un service ou attribuer une ressource en


réponse à des requêtes locales ou provenant du réseau.

• Un client est un processus qui envoie des requêtes pour accéder à un service ou à
une ressource.

 A chaque serveur est associée une adresse de service ( port ), en général réservé. Le client
émet ses requêtes vers cette adresse. Il doit utiliser un port qui lui est attribué aléatoirement
par le système.

Dans l'étude qui nous intéresse, le client et le serveur sont deux processus qui communiquent
à travers un mécanisme de communication.

 Le client et le serveur ne jouent pas des rôles symétriques. Le processus serveur s'initialise
puis se met en attente des requêtes provenant des clients. Le client est lancé et envoie des
requêtes au serveur. Le serveur exécute alors la requête reçue ( Cela peut impliquer ou
non un dialogue avec le client ). Puis il se met en attente d'autres requêtes.

Catégorisation des serveurs :

On distingue deux types de serveurs :

• les serveurs itératifs : le processus serveur traite lui-même la réponse.


• les serveurs parallèles : le processus serveur invoque un autre processus pour traiter
la requête du client. Pour cela il crée un processus fils et n'exécute pas un wait ( )
pour se remettre en attente d'une autre requête.

On distingue aussi, selon les traitements réalisés :

• les serveurs sans état ( stateless ) : il ne conserve aucune information sur ses
clients;
• les serveurs avec état ( statefull ) : il conserve des informations sur ses clients après
chaque requête.

jj/10/OO ESAT 19
Systèmes répartis UNIX Mise en œuvre du réseau

En cas de rupture de communication, les reprises sont plus simples avec les serveurs sans état,
mais peuvent donner parfois des résultats aléatoires ( perte de quelques informations
entraînant une " désynchronisation " ).

écoute :
client port 1563 port 23 serveur
TELNET travail : TELNET
port xxx

noyau noyau
liaison physique

Un client TELNET émet une requête de service. Son système lui attribue le port
1563. Il émet la requête sur le réseau. La machine serveur reconnaît l'appel et
transmet la requête au serveur TELNET sur le port normalisé 23, via le démon
inetd. Si la requête est acceptée, la connexion est établie sur un port de travail, ce
qui libère le port d'écoute pour recevoir une nouvelle requête.

1.6.3. Communication entre deux services TCP / IP :

Une communication entre deux services TCP / IP implantés sur deux machines différentes
(machine1 et machine2 ) est repérée de manière unique par le quintuple :

ident_protocole, adresse1, numport1, adresse2, numport2

où :
ident_protocole : TCP ou UDP ;
adresse1 : adresse Internet de machine1 ;
numport1 : numéro de port du service sur machine1 ;
adresse2 : adresse Internet de machine2 ;
numport2 : numéro de port du service sur machine2 ;

Pour établir une communication avec une machine distante il faut donc :
• s'attribuer ( ou se faire attribuer ) un numéro de port ;
• déterminer l'adresse Internet de la machine avec laquelle on veut communiquer;
• connaître, ou déterminer, le numéro de port du service considéré sur la machine
distante.

jj/10/OO ESAT 20
Systèmes répartis UNIX Mise en œuvre du réseau

2. LES FICHIERS DE CONFIGURATION

La configuration du réseau repose sur la présence d'informations contenues dans de nombreux


fichiers de configuration.
Chaque fichier ne contenant que quelques informations, tout le problème sera de ne pas en
oublier un lors de chaque modification de la configuration.

 La plupart des fichiers comportent un en-tête en commentaire (lignes commençant par '#')
expliquant leur action.
 D'autres part certaines lignes sont pré-renseignées et précédées elles-aussi par un ' # ' afin
de les neutraliser. Lorsqu'il faut réaliser une modification de la configuration il n'y a plus
alors qu'à ôter le caractère ' # ' pour que la ligne soit prise en compte lors de la prochaine
lecture du fichier par le système.

 Pour pouvoir être lu correctement par le système, les différents champs d'une ligne des
fichiers de ce type doivent être séparés par des tabulations.

2.1. Le fichier / etc / hosts :

Ce fichier contient les liens entre les noms symboliques des machines ( hostid ) et leur adresse
INTERNET (IP).

C'est donc une table de correspondance constituée d'une suite de lignes ( une par machine )
de la forme :

xxx.xxx.xxx.xxx st41 [ liste d'alias ] [#commentaires ]

A l'adresse Internet est associée un nom de machine et éventuellement des alias.

Exemple :
199. 159.123. 52 st52 # station de la plate-forme ESAT

Lorsque le réseau est identifié par l' AFNIC, on écrit le nom officiel du domaine :

192. 9. 201. 1 merlin. int_evry.fr merlin

L'alias ' merlin' est utilisé pour appeler la machine dans le réseau local.

Il doit obligatoirement y avoir une entrée correspondant au localhost, avec comme adresse
127.0.0.1, utilisée pour les tests. Rappelons que lorsqu'un paquet est transmis avec cette
adresse de destination, il n'est pas émis sur le réseau mais est présenté en entrée sur la
machine émettrice comme s'il y avait une boucle sur celle-ci.

jj/10/OO ESAT 21
Systèmes répartis UNIX Mise en œuvre du réseau

2.2. Le fichier / etc / networks

Ce fichier reprend le même principe que le précédent mais contient la liste des réseaux
connus par le réseau local ( dans le cas où le réseau est ouvert sur l'extérieur ).
Il contient la base de données des réseaux connus par le réseau local. Chaque ligne comporte
le lien entre le nom du réseau et son adresse Internet.
On définit en général un réseau loopback avec comme adresse 127, utilisé pour les tests et
complémentaire de l'adresse 127.0.0.1.

Exemple :
loop 127 loopback
int_ether 192. 54. 171 # numéro officiel
esat_net 192. 9. 185 # local
sco 132.147

 Ce fichier peut être constitué, à partir d'un serveur de noms du service AFNIC, grâce aux
commandes gettable et htable.

2.3. Le fichier / etc / services :

Ce fichier contient les noms officiels des services et les ports réservés associés. Un service se
caractérise par son nom, un numéro de port un protocole et, éventuellement, une liste d'alias.
Les commentaires sont autorisés.

Ce fichier ne doit pas être modifié, sauf pour ajouter un service particulier au réseau.

Le fichier est de la forme :

ftp 21/tcp
telnet 23/tcp
smtp 25/tcp mail
tftp 69/udp
shell 514/tcp cmd
talk 517/udp

Le service de courrier, par exemple, utilise le protocole SMTP (Simple Mail Transfer
Protocol) et utilise le port 25 sous TCP. Les ports jusqu'à 1023 sont dits réservés et sont
spécifiés dans la RFC 1700 (Assigned Numbers). Par convention sous UNIX, on considère
que ces ports ne peuvent être utilisés que par des processus ayant les droits de root. Les autres
ports sont à la disposition des constructeurs et utilisateurs.

 Rappel : La plupart des services standards ont toujours le même numéro de port associé.

jj/10/OO ESAT 22
Systèmes répartis UNIX Mise en œuvre du réseau

2.4. Le fichier / etc / protocols :

Ce fichier contient la liste des protocoles utilisés par le réseau Internet. Il indique, pour
chaque protocole, son nom officiel, un numéro de protocole, une liste d'alias et
éventuellement un commentaire.

Exemple :

ip 0 IP # Internet pseudo protocol number


icmp 1 ICMP
tcp 6 TCP
udp 17 UDP

2.5. Autres fichiers de configuration :

❏ Fichier / etc / ethers :

Lorsqu'il existe, ce fichier contient les adresses Ethernet des machines, suivies de leur nom
symbolique tel qu'il est défini dans / etc / hosts. ce fichier n'est utilisé que sur les systèmes
utilisant un démon pour la gestion des demandes RARP. un serveur RARP possède alors dans
ce fichier les adresses Ethernet des clients qu'il sert.

Il comporte deux colonnes : une contient l'adresse Ethernet et l'autre le nom de la machine.

( non présent sur la plate-forme ESAT).

❏ Fichier / etc / gateways :

ce fichier est utilisé par routed pour créer la configuration au démarrage. Il décrit les réseaux
distants et les passerelles à utiliser pour y accéder.

( non présent sur la plate-forme ESAT).

❏ Fichier / etc / netmasks :

Ce fichier sert à définir des masques permettant de découper un réseau en sous-réseaux.

jj/10/OO ESAT 23
Systèmes répartis UNIX Mise en œuvre du réseau

2.6. NOTION D'HOTE DE CONFIANCE

La plupart des services réseaux imposent de se connecter sur une machine distante. Il faut
donc, à chaque fois, exécuter la procédure de connexion, ce qui est contraignant. Lorsque ces
machines sont placées sous le contrôle du même administrateur, on peut, pour simplifier, les
deux machines distantes équivalentes.

Pour cela, l'administrateur doit résoudre le problème d'identification des usagers des
différentes machines du réseau. Ce problème peut être résolu globalement au niveau de
l'administration du système en créant un fichier / etc / hosts.equiv. Il peut être aussi résolu au
niveau de chaque utilisateur avec les fichiers $HOME /.rhosts

 La notion de machines équivalentes est une entorse aux concepts de sécurité. Elle rend
certes l'utilisation d'un réseau local plus aisée, mais l'administrateur de réseau doit savoir à
quoi il s'engage quand il rend les machines équivalentes.

2.6.1. Equivalence stricte : fichier / etc / hosts.equiv :

Le fichier hosts.equiv contient la liste des machines pour lesquelles aucune authentification
n'est demandée, sous réserve que l'utilisateur distant soit déclaré dans / etc / passwd et qu'il ait
le même nom sur les deux machines (pas forcement le même UID), les deux machines
peuvent donc dans ce sens être considérées comme équivalentes.

Description du fichier :
Le fichier / etc / hosts.equiv de chaque machine contient les noms symboliques des machines
considérées, du point de vue de la sécurité, comme équivalente à la machine locale. Il y a un
nom de machine par ligne.

Ceci permet aux utilisateurs, portant le même nom, d'être autorisés à accéder aux services
sans authentification ( Le système local considère que l'authentification réalisée sur la
machine équivalente distante suffit ). Les utilisateurs concernés pourront alors exécuter les
r_commandes ( remote commandes = commandes à distance ) sans avoir à exécuter la
procédure de connexion.

Exemple :
Si la machine st42 est dans le fichier / etc / host.equiv de la machine st41, un utilisateur arthur
connecté sur st42 pourra exécuter les r_commandes sur le compte de l'utilisateur arthur de la
machine st41 sans avoir à se connecter avec identification.

Seul l'administrateur du réseau peut modifier ce fichier.

 / etc / hosts.equiv est utilisé dans le cas où l'on souhaite que des utilisateurs puissent
passer d'une machine à l'autre sans contraintes.

jj/10/OO ESAT 24
Systèmes répartis UNIX Mise en œuvre du réseau

 Afin qu'un utilisateur puisse réellement profiter de l'avantage procuré par ce fichier
il faut aussi que les fichiers / etc / passwd ( où ceux qui les remplacent dans les
systèmes plus récents ) soient équivalents sur les diverses machines.

 Le mécanisme de machines équivalentes ne s'applique pas au super-utilisateur. Si


ce dernier souhaite se connecter sans authentification il doit passer par le
mécanisme des fichiers .rhosts.

 Il est possible de restreindre les possibilités de connexion en spécifiant un nom


d'utilisateur après le nom de la machine

2.6.2. Equivalence élargie : fichiers .rhosts :

Les fichiers .rhosts sont contenus dans les répertoires personnels de chaque utilisateur et
permettent de passer outre aux restrictions imposées par le fichier / etc / hosts.equiv.
Ce fichier peut être utilisé selon deux syntaxes différentes :

 Sous forme d'une succession de lignes contenant les deux champs :


< nom_mach > < nom_util >

Dans ce cas l'utilisateur nom_util de la machine nom_mach peut se connecter à la machine


locale avec l'identité de l'utilisateur propriétaire du .rhosts.

 Sous forme d'une succession de lignes de la forme < nom_mach > :

Dans ce cas un utilisateur nom_util de la machine nom_mach pourra se connecter sous son
nom d'utilisateur.

 Il n'est pas nécessaire que l'utilisateur distant souhaitant se connecter possède un nom
répertorié dans le fichier / etc / passwd de la machine hôte.

REMARQUE GENERALE :

Le fait qu'un nom d'utilisateur soit indiqué dans ce fichier permet d'outrepasser, sur le compte
concerné, les restrictions apportées par le fichier / etc / hosts.equiv.

L'administrateur doit veiller à ce que les utilisateurs n'inscrivent pas n'importe quoi dans leurs
fichiers .rhosts. A la limite, les possibilités offertes par ces fichiers vont à l'encontre des
règles de sécurité informatique. L'administrateur doit donc limiter, voire interdire, leur
utilisation.

Si un utilisateur a besoin d'accepter les connexions venant d'un utilisateur distant dont la
machine n'est pas inscrite dans le fichier / etc / hosts.equiv, il est préférable de rajouter cette
machine dans ce dernier fichier en utilisant les possibilités de restrictions :
nom-machine nom-util vues précédemment.

jj/10/OO ESAT 25
Systèmes répartis UNIX Mise en œuvre du réseau

2.7. LES COMMANDES D'ADMINISTRATION

Un ensemble de commandes est mis à la disposition de l'administrateur pour pouvoir faire


face aux problèmes pouvant survenir dans l'administration d'un réseau.

La totalité des commandes décrites ci-dessous n'est pas toujours disponible sur les systèmes.

❏ Commande hostname :

Cette commande permet d'obtenir le nom de la machine locale ( hostname ) de la machine sur
laquelle la commande est invoquée.

❏ Commande uname :
Cette commande permet d'obtenir des informations générales.

syntaxe : uname [ -options ]

-m nom du modèle de la machine


-s option par défaut donnant le nom du système s'exécutant sur la machine
-r Release du système
-v version du système
-n nom lorsque la machine est connue comme nœud du système
-a ensemble des informations.

 Sans option le système retourne le nom de la machine.

❏ Commande ruptime :

Cette commande renseigne sur l'état des différentes machines du réseau local :

- leurs statuts ( active ou non : up / down );


- leurs durées d'activité et d'inactivité ;
- le nombre d'utilisateurs connectés à chaque machine ;
- la charge de chaque machine.

La commande n'est applicable que si le démon rwhod est activé.

 Cependant l'utilisation de ruptime n'est pas conseillée car rwhod consomme beaucoup de
temps UC.

syntaxe : ruptime [ -a -l -t -u ]

-a : prend en compte les utilisateurs inactifs ;


-l, -t, -u : permettent de réaliser des tris par rapport à la charge, au temps
d'activité et au nombre d'utilisateurs.

jj/10/OO ESAT 26
Systèmes répartis UNIX Mise en œuvre du réseau

❏ Commande ping :

Cette commande teste si une machine donnée est actuellement active.


On s'en sert aussi pour tester la carte Ethernet d'une machine distante ou pour voir si le réseau
est " planté ".

En cas de réussite, ping renvoie l'adresse IP de la machine.

syntaxe : ping -s nom_mach

 Au bout d'un certain temps d'essai, ping estime que la machine distante n'est pas
accessible.

❏ Commande ifconfig :

Cette commande permet de configurer l'interface réseau. ifconfig peut être lancé en ligne de
commande mais il est généralement lancé au boot du système, dans un des scripts / etc / rc.d /
rc*. En fait, on réalise avec ifconfig le lien entre l'interface et son pilote et la couche réseau.
Dans le cas qui nous intéresse, on suppose que l'on va utiliser INTERNET au-dessus d'une
interface Ethernet.

syntaxe : / sbin/ifconfig interface famille_protocole [ adresse [ destination] ] [ paramètre ]

interface nom de l'interface désignée ( en général il0, ie0, sh0, wdn0 ) ;


famille_protocole par défaut, il s'agit d'INTERNET, noté inet
adresse adresse Internet ou symbolique de la machine ;
destination autre adresse, utilisée uniquement lors des connexions point à point,
donc pas sous Ethernet ;

paramètre peut prendre les valeurs suivantes :


• up | down : active / désactive l'interface,
• trailers | -trailers : encapsulation maximale : ceci
minimise le nombre de copies de mémoire à mémoire. - :
désactivation de l'option,
• arp | -arp : activation / désactivation du protocole ARP.

 Appelé avec le nom de l'interface, ifconfig donne des informations sur l'état de cette
interface.

 Les options informatives sont accessibles par tout utilisateur alors que celle permettant de
modifier la configuration ne le sont que par l'administrateur.

Exemple :
ifconfig wdn0 up active l'interface réseau
ifconfig il0 192. 143. 22. 4 assigne cette adresse à l'interface réseau
ifconfig il0 arp active le protocole arp

❏ Commande arp :

jj/10/OO ESAT 27
Systèmes répartis UNIX Mise en œuvre du réseau

Cette commande visualise le contenu de la table du protocole ARP donnant la correspondance


entre les adresses Ethernet et Internet des machines récemment consultées.

Appelée sans paramètre la commande affiche d'adresse IP d'une machine sous forme
numériques ( hostid ) à partir de son nom symbolique ( hostname ).

Avec l'option -a la commande affiche la table de correspondance hostname / hostid des


machines avec lesquelles le système a récemment communiqué.

Exemple :

$ arp -a
st 48 ( 199. 159. 27. 48 ) at 8 : 0 : 2 : a0 : 3f : 29

❏ Commande netstat :

C'est la commande qui donne le plus d'informations sur l'interface réseau ( connexions
actives, état des interfaces, etc..... ) par lecture des différentes tables.

syntaxe : netstat [ -options ] [ -f famille ]

-n affichage des numéros Internet sous leur forme littérale au lieu des noms de
machines,
-s mode statistique,
-m informations sur les buffers réseaux,
-r informations sur les tables de routage,
-a informations sur les sockets.
-f famille famille des sockets
-i informations sur les interfaces réseaux

PROTOCOLE SNMP :

Le protocole SNMP ( Simple Network Management Protocol ) a été inventé en 1988 par les
administrateurs de réseaux d'universités américaines.

Le serveur SNMP commence à être intégré dans les noyaux UNIX et à être utilisé par des
logiciels majeurs de gestion de réseau.

Ce protocole permet, par l'interrogation d'agents fonctionnant sur chaque machine du réseau,
à une station de gestion de réseau de tenir à jour une base de données.

L'ensemble permet une gestion centralisée du réseau, beaucoup plus efficace que la gestion
par les commandes disponibles jusqu'alors.

jj/10/OO ESAT 28
Systèmes répartis UNIX Mise en œuvre du réseau

2.8. PROCESSUS DEMONS

L'utilisation des protocoles réseau et de certains services standard par un usager est réalisée
par des commandes qui nécessitent, pour fonctionner, l'activation de processus démons
particuliers qui joueront le rôle de serveurs sur la machine distante.

2.8.1. Le démon / etc / inetd :

❏ Fonction du démon :
Dans les premières implémentations d'UNIX, les divers démons étaient lancés une fois pour
toute au démarrage du système, ce qui entraînait la création d'un nombre important de
processus.

Le démon inetd peut être qualifié de super-démon dans la mesure où il est chargé de gérer
les différents serveurs de service Internet : il crée automatiquement le serveur désiré dès que
le service correspondant est sollicité. Ce serveur est ensuite détruit une fois le service rendu.
inetd est donc en écoute permanente sur les différents ports correspondants aux services
disponibles et crée les serveurs correspondants, à la demande.
Pour pouvoir fonctionner inetd lit, à son lancement, le fichier / etc / inetd.conf dans lequel
les différents ports qu'il doit écouter sont indiqués. Ce fichier contient une ligne par service et
a les champs suivants :

• nom du service;
• type de socket [ stream ou dgram ];
• protocole sous-jacent [ UDP ou TCP ] ;
• indication wait / nowait ( la plupart du temps nowait );
• nom du user propriétaire du processus démon associé au service ( en général root );
• chemin absolu du fichier contenant le programme serveur ;
[ internal indique que le service est interne à inetd ]
• liste des arguments à passer au programme à activer.

 Lorsque un démon a l'indication nowait, inetd le lance puis se remet en écoute sur les
ports. Dans le cas contraire ( wait ), inetd attend que le service se soit exécuté pour se
remettre en écoute.

 inetd peut être reconfiguré dynamiquement: après modification, à l'aide d'un éditeur, du
fichier / etc / inetd.conf, on force inetd à le relire en lui envoyant le signal 1 (SIGHUP).

 Sur certains systèmes, il existe le fichier / usr / adm / inetd.log qui contient l'historique
des accès à inetd et le fichier / usr / adm / inetd.sec qui contient certaines règles d'accès
(utilisateurs ou machines autorisées ou interdites d'accès à chaque service )

jj/10/OO ESAT 29
Systèmes répartis UNIX Mise en œuvre du réseau

2.8.2. Le démon /etc/rwhod :

Ce démon dialogue avec ses homologues sur les autres systèmes afin de mettre à jour des
fichiers contenus dans le répertoire / var / spools / rwho utilisés par les commandes rwho et
ruptime.

 Ce démon n'est pas pris en compte par inetd. Il doit être donc activé au démarrage.

2.8.3. Autres démons :

Les services fournis avec les protocoles TCP / IP mettent aussi en œuvre les démons
suivants: / etc / telnetd, / etc / rlogind, / etc / ftpd, / etc / tfpd et / etc / rshd sont les
processus serveurs permettant la réalisation les services telnet, rlogin, ftp, tftp, rsh.

Les ports correspondants sont ( extrait du fichier / etc / services ) :

démons service port


/ etc / ftpd ftp 21 # standard du DARPA
/ etc / telnetd telnet 23 # standard du DARPA
/ etc / rlogin rlogin variable # service UNIX
/ etc / rshd rsh et rcp # service UNIX
/ etc / tftpd tftp 69 # standard du DARPA

jj/10/OO ESAT 30