Intro Réseaux
par
popularité : 3%
XV. INTRODUCTION AUX RESEAUX TCP/IP
A. TERMINOLOGIE DE BASE
Le terme TCP/IP fait référence a une série complète de protocoles de
transmission de données.
Le nom provient de deux des protocoles les plus importants :
- TCP ( Transmission Control Protocol )
- IP ( Internet Protocol )
Ils sont utilisés dans le contexte du plus grand réseau public mondial Internet.
Ils se sont développés historiquement sur des plateformes Unix et sont
implémentés aujourd’hui sur la quasi-totalité des systaîmes d’exploitation.
TCP/IP constitue donc un standard de fait pour interconnecter des
plates-formes hétérogaînes
( Unix, Windows 3.1x, Windows 95, Windows NT, NetWare, Systèmes propriétaires,
etc... ).
Une des caractéristiques importantes de TCP/IP est son indépendance par
rapport aux solutions physiques de réseau. Des applications TCP/IP
fonctionnent donc indifféremment sur les solutions classiques de réseau local
ou distant ( Ethernet, Token Ring, FDDI, X25, etc ... ).
Adresses IP
Toute interface physique connectée au réseau ( baptisée "host"
) se voit attribuer une adresse logique dite "Adresse IP", du
nom du protocole fondamental responsable de l’acheminement et du routage de ce
que l’on appelle des datagrammes ( paquets de données ).
Ces adresses logiques sont codées sur 32 bits ( version actuelle : IP
version 4 ). Une nouvelle version du protocole ( Ipv6 ou IPnG ( next generation)
) codera ces adresses sur 128 bits pour prendre en charge les évolutions
techniques rapides du réseau Internet.
Les adresses sont exprimées sous la forme de quatre valeurs décimales : n1.n2.n3.n4
oa¹ chaque nombre représente la valeur d’un octet [ 0 , 255 ] .
L’adresse IP contient une partie "Adresse réseau" et une partie
"Adresse host".
Historiquement, plusieurs classes d’adresses ont été définies pour
délimiter la frontière entre la partie réseau et la partie "host"
de cette adresse.
A notre niveau de discours, nous ne détaillerons pas cet aspect.
Exemples d’adresses IP
105.1.2.10 ( classe A , réseau 105 , host 1.2.10 )
128.1.1.1 ( classe B , réseau 128.1 , host 1.1 )
193.9.200.10 ( classe C , réseau 193.9.200 , host 10 )
Applications et services disponibles
Le terme "Application" est assez large dans le modèle fonctionnel
TCP/IP.
Il regroupe a la fois des applications classiques ( commandes pour
l’utilisateur ) et des services qui doivent être configurés au niveau de
l’administrateur système.
On peut citer quelques applications ou services parmi les plus utilisés :
Applications standards | - telnet ( connexion distante )
- ftp ( transfert de fichiers ) |
DNS ( Domain Name Service ) | Service de correspondance : Noms - Adresses réseau ( dites Adresses IP ) |
NFS ( Network File System ) | Service de partage de fichiers |
NIS ( Network Information Service ) | Service de centralisation de fichiers administratifs Unix |
SNMP ( Simple Network Management Protocol ) | Protocole pour ba¢tir des logiciels de "supervision réseau" |
SMTP ( Simple Mail Transfer Protocol ) | Protocoles pour ba¢tir des solutions de messagerie |
POP ( Post Office Protocol ) | |
MIME ( Multipurpose Internet Mail Extensions ) | |
HTTP ( HyperText Transfer Protocol ) | Protocole utilisé dans le dialogue : Navigateur - Serveur Web. |
etc ...
B. CONFIGURATION DE BASE SOUS UNIX
Les systaîmes se voient attribuer un nom en clair pour les utilisateurs
du réseau. Bien entendu, ce nom est associé a une adresse IP pour la
mise en Å“uvre effective.
Plusieurs possibilités existent pour établir cette correspondance :
1) Organisation plate
Sur chaque machine, on renseigne un fichier /etc/hosts avec les
coordonnées des autres machines.
Syntaxe
Adresse_IP Nom_du_systaîme Alias # Commentaire
Exemple de fichier
127.0.0.1 localhost
128.1.1.1 sun.admin-sys.com unixware # solaris x86
128.1.1.10 aix5.admin-sys.com aix4 # RS6000 AIX 5L
128.1.1.40 hpux11.admin-sys.com hpux11 # HP9000 HP/UX 11.x
128.1.1.101 pc1.admin-sys.com pc1
128.1.1.102 pc2.admin-sys.com pc2
2) Organisation DNS
Quand le réseau est plus vaste et/ou relié au réseau mondial Internet,
il doit prendre en compte l’organisation en une arborescence de domaines.
Le nom complet d’une machine prend alors en compte la hiérarchie des
domaines.
( Exemples : unixware.oriaform.fr , www.linux.org , sunsite.unc.edu ,
etc ... )
DNS ( Domain Name Service ) est un service
permettant, d’une part, de centraliser les informations concernant les noms et
adresses IP des machines d’un domaine et, d’autre part, de partager ces
informations avec d’autres domaines.
DNS s’implémente sur un ensemble de serveurs de noms exécutant
chacun le démon "named".
En ce qui concerne l’aspect client DNS, il se traduit tout simplement
par la création d’un fichier
/etc/resolv.conf permettant d’indiquer a quel domaine appartient le
systaîme et quels sont les serveurs DNS disponibles pour effectuer les
résolutions de noms.
Exemple de fichier /etc/resolv.conf
domain admin-sys.com
nameserver 128.1.1.1
nameserver 128.1.1.5
La commande nslookup permet d’interroger les serveurs de noms.
C. MANIPULATION DES COMMANDES DE BASE
1. COMMANDE DE TEST
La commande ping permet de savoir si une machine du réseau est
accessible.
ping [ -s ] host [ timeout ]
host Nom ou Adresse IP de la machine concernée timeout Délai maximum de
tentative d’accaîs ( 20s par défaut )
-s Essais successifs ( fin par interruption clavier )
Exemples
$ ping pc1
pc1.admin-sys.com is alive
$
$ ping -s sun
- PING sun.admin-sys.com : 56 data bytes
- 64 bytes from sun.admin-sys.com (128.1.1.1) : icmp_seq=0. time=10. ms
- 64 bytes from sun.admin-sys.com (128.1.1.1) : icmp_seq=1. time=6. ms
- 64 bytes from sun.admin-sys.com (128.1.1.1) : icmp_seq=2. time=6. ms
- ^C Interruption clavier
- ----unixware.oriaform.fr PING Statistics----
- 3 packets transmitted, 3 packets received, 0% packet loss
- round-trip (ms) min/avg/max = 6/7/10
- $
$ ping 128.1.1.1
128.1.1.1 is alive
$
$ ping titi
ping : unknown host titi
$
$ ping hpux10
no answer from hpux10.admin-sys.com
$
2. TERMINAL VIRTUEL
La commande telnet permet d’établir une connexion sur une machine
distante.
telnet host
ou
telnet
telnet> open host
Déconnexion exit ou Ctrl d ( depuis le login )
ou
Caractaîre d’échappement ( Ctrl ] ) puis quit
Invoquée sans argument, « telnet » présente un prompt et permet un certain
nombre de commandes :
? | Aide en ligne |
open host | Ouverture d’une connexion sur la machine « host » |
close | Arraªt de toutes les connexions et sortie de « telnet » |
quit | Synonyme de « close » |
status | Affichage de l’état actuel de « telnet » |
set argument valeur | Positionnement des valeurs des variables telnet
( Exemple : set escape ^] )
|
etc... |
Exemple de connexion
- $ telnet unixware
- Trying 128.1.1.20...
- Connected to unixware.
- Escape character is ’^]’.
- UNIX System V Release 4.2 (unixware) (pts/2)
- login : stage1
- UNIX System V/386 Release 4.2 Version 1.1
- Last login : Wed Sep 14 10:06:42 on pts002
- unixware./home/stage1>
- ...................
- ...................
- unixware./home/stage1> exit
- Connection closed by foreign host.
- $
3. LES « REMOTE COMMANDS »
La commande rlogin
Elle permet la connexion sur une machine Unix distante, par défaut sous le
maªme compte.
L’obligation de fournir ou non un mot de passe est liée a un fichier
d’autorisation situé sur la machine distante : $HOME/.rhosts .
On y indique les noms des machines depuis lesquelles on peut se connecter
sans devoir fournir de mot de passe.
rlogin [ options ] host
Options
-8 | Transmission en mode 8 bits |
-l login | Connexion sous un login différent |
-e car | Redéfinition de la séquence d’échappement |
Déconnexion exit ou Ctrl d ou .
Exemple de connexion rlogin
$ rlogin unixware
|
La commande rsh
Cette commande signifie « remote shell ».
Sous certaines versions, elle peut s’appeler remsh ou rcmd .
Elle permet d’exécuter une commande sur une machine distante.
rsh host [ -n ] commande
« rsh » effectue une connexion sur la machine distante pour exécuter la
commande demandée.
Elle consulte le fichier $HOME/.rhosts pour vérifier les
autorisations.
L’entrée standard de « rsh » devient l’entrée standard de la commande a
lancer. La sortie et l’erreur standard de la commande deviennent celles de « rsh ».
L’exécution des commandes distantes s’intaîgre donc parfaitement dans des
« pipelines Unix ».
Les caractaîres spéciaux non banalisés sont traités au niveau de la
machine locale.
L’option -n est a utiliser quand « rsh » se trouve en premier membre
d’un « pipeline » ou lors d’un lancement en arriaîre-plan.
Elle redirige l’entrée standard de « rsh » vers /dev/null évitant ainsi un
conflit de descripteur entre « rsh » et le processus shell initial.
Exemples
|
La commande rcp
Elle permet le transfert de fichiers entre systaîmes d’exploitation Unix. La
commande utilise le maªme algorithme d’autorisation que « rsh ».
rcp [ -p ] fichier1 fichier2
rcp [ -pr ] fichiers... répertoire
-p | Conservation des dates et permissions des fichiers |
-r | Copie récursive |
Les noms de fichiers sur la machine distante sont désignés par :
host:fichier
ou
username@host:fichier
Exemples
|
4. TRANSFERTS DE FICHIERS
La commande ftp permet d’effectuer des copies de fichiers entre
machines du réseau.
ftp host
La commande effectue une connexion vers un compte avec mot de passe de
la machine cible.
Apraîs cette connexion, la commande s’exécute en mode interactif.
Elle affiche le prompt ftp> et propose un large éventail de
fonctionnalités.
Commandes de base de ftp
help ou ? Aide en ligne
status Affiche l’état courant de ftp
ascii Transferts des fichiers en mode texte
binary Transferts des fichiers en mode binaire ou « image »
pwd Affichage du nom du répertoire courant sur la machine distante
cd rep_distant Changement de répertoire sur la machine distante
ls Liste des noms de fichiers sur la machine distante
!pwd Affichage du nom du répertoire courant sur la machine locale
lcd rep_local Changement de répertoire sur la machine locale
!ls Liste des noms de fichiers sur la machine locale
get fic_distant fic_local Récupération d’un fichier
recv fic_distant fic_local Récupération d’un fichier ( synonyme de get
)
put fic_local fic_distant Emission d’un fichier
send fic_local fic_distant Emission d’un fichier ( synonyme de put )
glob Réactive ou inhibe la résolution des caractaîres spéciaux
prompt Activation du mode interactif pour un transfert multiple
mget fic_distants Récupération de multiples fichiers ( vers le
répertoire local courant )
mput fic_locaux Emission de multiples fichiers ( vers le répertoire
distant courant )
bye Sortie de ftp
quit Sortie de ftp ( synonyme de bye )
( NB : Le caractaîre d’interruption clavier met fin immédiatement au
transfert en cours. )
Exemple de session ftp
$ ftp unixware
Connected to unixware.
220 unixware FTP server (UNIX(r) System V Release 4.0) ready.
Name (unixware:root) :
331 Password required for root.
Password :
230 User root logged in.
ftp> ?
Commands may be abbreviated. Commands are :
! debug mget pwd status
$ dir mkdir quit struct
account disconnect mls quote system
append form mode recv sunique
ascii get modtime reget tenex
bell glob mput rstatus trace
binary hash newer rhelp type
bye help nmap rename user
case idle nlist reset umask
cd image ntrans restart verbose
cdup lcd open rmdir ?
chmod ls prompt runique
close macdef proxy send
cr mdelete sendport site
delete mdir put size
ftp> status
Connected to unixware.
No proxy connection.
Mode : stream ; Type : ascii ; Form : non-print ; Structure : file
Verbose : on ; Bell : off ; Prompting : on ; Globbing : on
Store unique : off ; Receive unique : off
Case : off ; CR stripping : on
Ntrans : off
Nmap : off
Hash mark printing : off ; Use of PORT cmds : on
ftp> get /etc/inittab /tmp/tutu
local : /tmp/tutu remote : /etc/inittab
200 PORT command successful.
150 ASCII data connection for /etc/inittab (192.9.200.130,1085) (1264 bytes).
226 ASCII Transfer complete.
1290 bytes received in 0.01 seconds (1.3e+02 Kbytes/s)
ftp> binary
200 Type set to I.
ftp> get /etc/inittab /tmp/toto
local : /tmp/toto remote : /etc/inittab
200 PORT command successful.
150 Binary data connection for /etc/inittab (192.9.200.130,1069) (1264
bytes).
226 Binary Transfer complete.
1264 bytes received in 0.03 seconds (41 Kbytes/s)
ftp> mget /home/stage1/.??*hrc
mget /home/stage1/.cshrc ? y
200 PORT command successful.
150 Binary data connection for /home/stage1/.cshrc (192.9.200.130,1073) (196
byt
es).
226 Binary Transfer complete.
196 bytes received in 0 seconds (0.19 Kbytes/s)
mget /home/stage1/.kshrc ? n
ftp> quit
221 Goodbye.
$