Intro Réseaux

mardi 16 septembre 2008
par  Jerome ROBERT
popularité : 15%

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 )
- "Remote commands" ( rlogin ( remote login) , rsh (
remote shell ) , rcp ( remote copy ) )

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

 

 

 

unixware > exit
Connection closed.
$
Password :
UNIX System V/386 Release 4.0 Version 3.0
Last login : Wed Sep 14 12:40:00 from unixware
+--------------------------------------+
 ! BIENVENUE CHEZ Lunixform ! !
+--------------------------------------+
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

 

 

 

 

 

 

$ rsh sun date
Permission denied.
$
$ rsh unixware uname -a
unixware unixware 4.0 3.0 EISA i386
$
$ rsh unixware cal 1996 > toto Fichier créé sur la machine locale
$ rsh unixware " cal 1996 > toto " Fichier créé sur la machine distante
$
 
$ cat toto | rsh unixware lp
request id is impr-989 (standard input)
$ rsh unixware lpstat
impr-989 root 75 Sep 14 20:10
$

 

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

 

 

 

 

 

 

 

 

 

$ rcp /tmp/toto unixware :/tmp
$ rsh unixware ls -al /tmp/toto
-rw-r—r— 1 root other 1264 Sep 14 18:45 toto
$
$ rcp -r unixware :/manip /tmp
$ ls -al
total 58
drwxrwxrwt 3 bin bin 1024 sept 14 14:41 .
drwxr-xr-x 25 root sys 1024 sept 14 12:08 ..
drwxr-xr-x 2 root sys 96 sept 14 14:41 manip
$
$ rcp unixware :"/home/stage1/.??*" /tmp
$ ls -al
total 20
drwxrwxrwt 2 bin bin 1024 sept 14 14:43 .
drwxr-xr-x 25 root sys 1024 sept 14 12:08 ..
-rw-r—r— 1 root sys 196 sept 14 14:43 .cshrc
-rw-r—r— 1 root sys 232 sept 14 14:43 .kshrc
-rw-r—r— 1 root sys 241 sept 14 14:43 .login
-rw-r—r— 1 root sys 6 sept 14 14:43 .logout
-rw-r—r— 1 root sys 368 sept 14 14:43 .profile
-rw-r—r— 1 root sys 33 sept 14 14:43 .rhosts
-rw------- 1 root sys 8 sept 14 14:43 .sh_history
$
$ rcp /tmp/toto hpux11 :/tmp
Permission denied
$
$ rcp toto stage1@hpux11 :/tmp/titi
$
 

 

 

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.

$


Statistiques

Dernière mise à jour

mercredi 4 octobre 2023

Publication

273 Articles
Aucun album photo
Aucune brève
6 Sites Web
2 Auteurs

Visites

55 aujourd’hui
111 hier
827921 depuis le début
84 visiteurs actuellement connectés