Vous êtes sur la page 1sur 81

Cours 5: TCP/IP

Applications et
Services

Cours 5 : Plan
5.1 Principes des 5.5 NFS
protocoles de la 5.6 Web et HTTP
couche Applications 5.7 FTP
5.2 DNS 5.8 Telnet/Rlogin
5.3 Electronic Mail 5.9 SNMP
 SMTP, POP3, IMAP
5.4 DHCP/BOOTP

1
Les couches de protocoles : TCP/IP et
le modèle OSI
Protocol Implementation OSI

File Electronic Terminal File Client Network Application


Transfer Mail Emulation Transfer Server Mgmt
File Simple Mail Network
TELNET
Transfer Transfer Protocol Trivial File System Simple Network Presentation
Protocol File Transfer Management
Protocol (SMTP) Protocol
RFC 854 Protocol Protocol
(FTP) RFC 821 (NFS)
(TFTP) RFC 1024, 1057 (SNMP)
RFC 559 Session
RFC 783 and 1094 RFC 1157

Transmission Control Protocol (TCP) User Datagram Protocol (UDP)


RFC 793 Transport
RFC 768

Address Resolution Internet Internet Group Internet Control


Protocols Protocol Management Protocol Message Protocol
ARP: RFC 826 Network
(IP) (IGMP) (ICMP)
RARP: RFC 903 RFC 791 RFC 2236 RFC 792

Network Interface Cards


Ethernet Token Ring Starlan Arcnet FDDI SMDS Data Link

Transmission Mode
Physical
TP STP FO Satellite Microwave, etc

Applications réseau
Processus: programme Agent utilisateur: interfaces
s’exécute sur une host. avec l’utilisateur au dessus
ˆ sur la même host, deux et le réseau en dessous
processus interagissent en ˆ Implémentations interface
utilisant la communication utilisateur et le protocole du
interprocessus (règle niveau application
définie par l’OS)  Web: browser
ˆ Processus sur deux  E-mail: mail reader
machines différentes  streaming audio/vidéo: media
communiquent par message player
à travers un protocole de la
couche application
4

2
Applications et protocoles de la couche
application
Application: processus application
transport
distribués network
data link
 e.g., e-mail, Web, telnet physical

 s’exécutant sur les terminaux


(hosts)
 échangent des messages pour
implémenter l’application
Protocoles de la couche
application
 définissent des messages application
application
transport
transport
échangés par les applications network
network
data link
et les actions prises data link
physical
physical

 utilisent les services de


communication fournis par les
protocoles de la couche
inférieure (TCP, UDP)
5

Protocole de la couche application


ˆ Types de messages
échangés, ex, messages
de demande et de les règles utilisées pour
réponse déterminer quand et comment
un processus doit envoyer ou
ˆ la syntaxe adoptée par répondre à un message
les différents types de Protocoles domaines publics:
message: soit les ˆ définis dans les RFCs
différents champs qu’il ˆ Permettent l’interopérabilité
contient et leur ˆ ex, HTTP, SMTP
délimitation Protocoles propriétaires:
ˆ la sémantique des ˆ ex, KaZaA
différents champs, c’est
à dire le sens des
informations qu’ils
renferment 6

3
Paradigme Client-server
Application réseau contient
deux parties: client et application
transport

serveur network
data link
physical

Client: request
ˆ initialise le contact avec le
serveur
ˆ Demande de service de serveur
ˆ Web: client implementé dans le
reply
browser; e-mail: dans mail
reader application
transport

Serveur:
network
data link
physical
ˆ fournit le service demandé par le client
ˆ e.g., Web server envoie la page Web
demandée, mail server délivre e-mail

Processus de communication à travers le


réseau
ˆ processus reçoit /envoie les
host or host or
server server
messages à travers son socket
ˆ socket analogue à une porte controlled by
 l’envoie de message à travers process
app developer
process
cette porte (interface)
 le processus d’envoi suppose qu’il y socket socket
à une infrastructure de transport TCP with TCP with
de l’autre coté de cette porte buffers, Internet buffers,
prête à prendre en charge le variables variables
message et à l’emmener jusqu’à la
porte de destinataire via controlled
destinataire by OS

ˆ API (1) le choix du protocole de transport; (2) la


possibilité de définir quelques paramètres
8

4
Processus d’adressage:
ˆ Un processus local a besoin
d’identifier le processus ˆ Identificateur inclut
distant l’adresse IP et le
ˆ Chaque host a une unique numéro de port associé
adresse IP sur le host.
ˆ Q: l’adresse IP de la ˆ Exemple port numbers:
machine sur laquelle le  HTTP server: 80
processus tourne suffit-elle  Mail server: 25
pour identifier le processus?
ˆ Réponse: Non, plusieurs
processus peuvent être
exécutés sur la même
machine

Services nécessaires à une application?


Data loss (transfer fiable) Bandwidth (débit)
ˆ certaines apps (e.g., audio) ˆ certaines apps (e.g.,
tolèrent la perte multimédia, téléphonie
ˆ autres apps (e.g., file par internet) exigent
transfer, telnet) exigent un débit minimal
100% transfert fiable disponible
ˆ autres apps (“elastic
Contraintes de temps apps, comme ftp et
ˆ certaines apps (e.g., web”) peuvent
Internet telephony, s’adapter aux débits
interactive games)
disponibles
demandent un bas
délai
10

5
Fonctionnement de quelques
applications de réseau

Application Data loss Bandwidth Time Sensitive

file transfer no loss elastic no


e-mail no loss elastic no
Web documents no loss elastic no
real-time audio/video loss-tolerant audio: 5kbps-1Mbps yes, 100’s msec
video:10kbps-
stored audio/video loss-tolerant 5Mbps yes, few secs
interactive games loss-tolerant same as above yes, 100’s msec
instant messaging no loss few kbps up yes and no
elastic

11

Internet apps: application, transport protocols

Application Underlying
Application layer protocol transport protocol

e-mail SMTP [RFC 2821] TCP


remote terminal access Telnet [RFC 854] TCP
Web HTTP [RFC 2616] TCP
file transfer FTP [RFC 959] TCP
streaming multimedia proprietary TCP or UDP
(e.g. RealNetworks)
Internet telephony proprietary
typically UDP

12

6
Cours 5 : Plan
5.1 Principes des 5.5 NFS
protocoles de la 5.6 Web et HTTP
couche Applications 5.7 FTP
5.2 DNS 5.8 Telnet/Rlogin
5.3 Electronic Mail 5.9 SNMP
 SMTP, POP3, IMAP
5.4 DHCP/BOOTP

13

DNS: Domain Name System

Personne: plusieurs Domain Name System:


manières de l’ ˆ datatbase distribuée
identifier: implémentée en
 NSS, nom, N.passeport hiérarchie dans plusieurs
Internet hosts, routeurs: name servers
 IP address (32 bit) ˆ protocole couche
 “nom”, application host,
gaia.cs.umass.edu
utilisé par le humains routeurs, name servers
communiquent pour
Q: correspondance entre résoudre noms
adresses IP et nom? (translation
adresse/name)

14

7
DNS name servers
ˆ Pas de serveur a toutes
Pourquoi le DNS n’est pas les correspondances nom-
centralisé? adresse IP
ˆ Un seul point de rupture name servers locaux:
ˆ volume de trafic  chaque ISP, a son local
(default) name server
ˆ database centralisée
 host DNS consulte en
distante premier le name server
ˆ maintenance local
name server de source
n’est pas scalable! autorisée:
 pour une host: stocke son
adresse IP, nom
 peut accomplir la
translation name/address
15
IP

DNS: Racine des name servers


ˆ contacté par un name server local qui ne peut pas résoudre le nom
ˆ name server racine:
 contacte name server de source autorisée si la correspondance
n’est pas connue
 obtenir la correspondance
 retourne la correspondance au name server local
a NSI Herndon, VA
c PSInet Herndon, VA k RIPE London
d U Maryland College Park, MD i NORDUnet Stockholm
g DISA Vienna, VA
h ARL Aberdeen, MD
j NSI (TBD) Herndon, VA m WIDE Tokyo

e NASA Mt View, CA
f Internet Software C. Palo Alto,
CA

13 root name
b USC-ISI Marina del Rey, CA servers worldwide
l ICANN Marina del Rey, CA

16

8
Exemple d’un Simple DNS
root name server

La machine 2 4
surf.eurecom.fr veut 5 3
l’adresse IP de
gaia.cs.umass.edu
1. contacte son local DNS
server, dns.eurecom.fr local name server authorititive name server
dns.eurecom.fr dns.umass.edu
2. dns.eurecom.fr contacte
name server, si nécessaire 1 6
3. name server racine
contacte name server de
source autorisée,
requesting host gaia.cs.umass.edu
dns.umass.edu, si surf.eurecom.fr
nécessaire

17

Exemple DNS root name server

name server racine: 2 6


ˆ Ne connaît pas le 7 3
name server de
source autorisée
ˆ connaît un
intermédiaire name local name server intermediate name server
server: qui lui dns.eurecom.fr dns.umass.edu
contacte pour trouver 4 5
1
name server de 8
source autorisée
authoritative name server
dns.cs.umass.edu
requesting host
surf.eurecom.fr

gaia.cs.umass.edu

18

9
DNS: demandes itératives
root name server

iterated query
2
3
4

7
intermediate name server
local name server dns.umass.edu
dns.eurecom.fr
5 6
1 8
authoritative name server
dns.cs.umass.edu

requesting host
surf.eurecom.fr

gaia.cs.umass.edu
19

DNS: mise en mémoire cache


ˆ Le DNS utilise la mémoire cache afin de diminuer le
temps de réponse et réduire le nombre de messages
de transit
ˆ IETF
 RFC 2136
 http://www.ietf.org/html.charters/dnsind-charter.html

20

10
DNS: Enregistrements
DNS: base de données répartie conserve des enregistrements de ressources (RR)

RR format: (name, value, type, ttl)

ˆ Type=A ˆ Type=CNAME
 name :hostname  name le nom de serveur
 value :IP address canonique de l’alias name
www.ibm.com est réellement
ˆ Type=NS
servereast.backup2.ibm.com
 name is domain (e.g.
 value est nom canonique
foo.com)
 value IP address de ˆ Type=MX
name serveur de source
 value est un nom canonique
autorisée pour ce
d’un mailserver associé avec
domaine
le nom
21

DNS : protocole, messages

DNS protocol : messages de demande et réponse,


avec le même format message

msg header
ˆ identification: 16 bits
ˆ flags:
 demande/réponse
 recursion désirée
 recursion disponible
 Source autorisée

22

11
DNS: protocole, messages

Name, type fields


for a query

RRs in reponse
to query

records for
authoritative servers

additional “helpful”
info that may be used

23

Cours 5 : Plan
5.1 Principes des 5.5 NFS
protocoles de la 5.6 Web et HTTP
couche Applications 5.7 FTP
5.2 DNS 5.8 Telnet/Rlogin
5.3 Electronic Mail 5.9 SNMP
 SMTP, POP3, IMAP
5.4 DHCP/BOOTP

24

12
Electronic Mail outgoing
message queue
user mailbox
user
Trois éléments agent
fondamentaux: mail
user
server
ˆ Agents utilisateurs agent
ˆ serveurs de messagerie SMTP mail
ˆ Le protocole SMTP:simple mail server user
transfer protocol SMTP agent

Agent utilisateur SMTP


mail user
ˆ Appelé aussi lecteur de agent
server
messagerie, éditeur….
ˆ exemples, Eudora, Outlook, elm, user
Netscape Messenger agent
user
ˆ Messages sortant, entrant sont agent
stockés sur le serveur
25

Electronic Mail: mail servers

Serveurs de messagerie user


agent
ˆ mailbox contient des
mail
messages entrants pour server
user
l’utilisateur agent
ˆ File de messages de SMTP mail
messages sortants (d’être server user
envoyés)
SMTP agent
ˆ SMTP protocol pour envoyer
les messages entre les SMTP
serveurs mail user
 client: sending mail server agent
server
 “server”: receiving mail user
agent
server
user
agent

26

13
Electronic Mail: SMTP [RFC 2821]
ˆ utilise TCP pour transférer d’email de client au serveur, port
25
ˆ Transfert direct: serveur d’envoi au serveur de réception
ˆ trois phases de transfert
 La connexion
 Transfert de messages
 fermeture
ˆ Interaction commande/réponse
 commandes: ASCII
 réponses: code d’état et phrase

ˆ messages en ASCII de 7 bits

27

Scénario: Alice envoie un message à


Bob
1) Alice utilise un UA pour 4) SMTP client envoie le
composer le message “to”
bob@someschool.edu message d’Alice sur la
2) UA d’Alice envoie le message à connexion TCP
son serveur de messagerie, où 5) Serveur mail de Bob place
il et placé dans une file de
messages le message dans le mailbox
3) Le pôle client de SMTP de Bob
opérant au niveau de serveur
de messagerie d’Alice, 6) Bob ouvre son user agent
aperçoit le message dans la pour lire le message
file, ouvre une connection TCP
avec le serveur mail de Bob

1 mail
mail
server user
user server
2 agent
agent 3 6
4 5

28

14
Format de message Mail: texte

SMTP: RFC 822:


ˆ Ligne d’en-tête, header
blank
To:

line
 From:
 Subject:
different from SMTP body
commands!
ˆ body
 le “message”, en
caractères ASCII
seulement

29

Format de message: multimedia extensions

ˆ MIME: multipurpose internet mail extension, RFC 2045,


2056
ˆ additional lines in msg header declare MIME content
type
From: alice@crepes.fr
MIME version To: bob@hamburger.edu
Subject: Picture of yummy crepe.
method used MIME-Version: 1.0
to encode data Content-Transfer-Encoding: base64
Content-Type: image/jpeg
multimedia data
type, subtype, base64 encoded data .....
parameter declaration .........................
......base64 encoded data
encoded data

30

15
MIME types
Content-Type: type/subtype; paramètres

Text Vidéo
ˆ exemple subtypes: mpeg,
ˆ exemple subtypes: plain,
quicktime
html

Application
Image ˆ Le type application est
ˆ exemple subtypes: jpeg, utilisé pour les données ne
correspondant pas à aucune
gif autre catégorie,
notamment celle qui devant
être soumises à une
Audio application particulière
ˆ exemple subtypes: basic avant d’ être accessibles à
l’utilisateur
(8-bit mu-law encoded),
ˆ exemple subtypes: msword,
32kadpcm (32 kbps octet-stream
coding)
31

Type Multipart
From: alice@crepes.fr
To: bob@hamburger.edu
Subject: Picture of yummy crepe.
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary=StartOfNextPart

--StartOfNextPart
Dear Bob, Please find a picture of a crepe.
--StartOfNextPart
Content-Transfer-Encoding: base64
Content-Type: image/jpeg
base64 encoded data .....
.........................
......base64 encoded data
--StartOfNextPart
Do you want the reciple?

32

16
Protocoles d’accès à la messagerie

SMTP SMTP access user


user
agent protocol agent

sender’s mail receiver’s mail


server server

ˆ SMTP: délivre/stocke au serveur de réception


ˆ Protocole d’accès:
 POP: Post Office Protocol [RFC 1939]
• authorisation (agent <-->server) et download
 IMAP: Internet Mail Access Protocol [RFC 1730]
• Plus de caractéristiques (plus complexe)
• manipulation des messages stockés sur le serveur
 HTTP: Hotmail , Yahoo! Mail, etc.

33

POP3 protocol S: +OK POP3 server ready


C: user bob
Phase d’autorisation S: +OK
C: pass hungry
ˆ client commands: S: +OK user successfully logged on
user: declare username
C: list
pass: password S: 1 498
ˆ server responses S: 2 912
S: .
 +OK
C: retr 1
 -ERR S: <message 1 contents>
Phase de transaction, S: .
C: dele 1
client:
C: retr 2
ˆ list: list message numbers S: <message 1 contents>
ˆ retr: retrieve message by S: .
number C: dele 2
C: quit
ˆ dele: delete S: +OK POP3 server signing off
ˆ quit
34

17
POP3 et IMAP
POP3 IMAP
ˆ Garde de tous les
ˆ Exemple précédent utilise
messages dans une place: le
le mode “download et serveur
delete” ˆ permet à l’utilisateur
d’organiser les messages en
ˆ Bob ne peut pas relire e-
répertoires
mail si le client change ˆ IMAP conserve des
ˆ “Download-et-keep”: copie informations d’état sur ses
utilisateurs d’une session à
des messages sur des l’autre
différents clients  Noms des répertoires et la
correspondance entre les
ˆ POP3 sans mémoire, ne IDs de message et le nom
conserve aucune de répertoire
information d’état d’une
session à l’autre
35

Cours 5 : Plan
5.1 Principes des 5.5 NFS
protocoles de la 5.6 Web et HTTP
couche Applications 5.7 FTP
5.2 DNS 5.8 Telnet/Rlogin
5.3 Electronic Mail 5.9 SNMP
 SMTP, POP3, IMAP
5.4 DHCP/BOOTP

36

18
BOOTstrap Protocol
(BOOTP)

37

BOOTstrap Protocol (BOOTP)

z RARP est un protocole au niveau physique utilisé avec les stations sans
disque pour obtenir leurs adresses IP. Cependant, la workstation a besoin
de :
Connaître l’adresse de serveur
Charger le système d’exploitation
Connaître l’adresse IP du plus proche routeur.
Connaître le mask du sous réseau
Connaître le Domain Name Server
z à cause de ces exigences, le RARP est remplacé par BOOTstrap Protocol
(BOOTP) et amélioré par Dynamic Host Configuration Protocol (DHCP)
z BOOTP était le premier standard automatique de boot dans TCP/IP
BOOTP fournit les services de base suivant:
Le client broadcasts une demande dans un paquet UDP
Le serveur retourne l’adresse IP et optionnellement l’endroit des
fichiers à charger
Le client utilise Trivial File transfer Protocol (TFTP) pour charger et
exécuter le software

38

19
BOOTstrap Protocol (BOOTP)
Boot Server TFTP Server
Client
BootP request TFTP download request
Port Port Port
67 68 69
BootP reply TFTP download reply

BOOTstrap Concept
1. Le client envoie un bootrequest message du port 68 au Boot Server port 67,
encapsulé dans UDP. Le client retransmettra le message en cas de non réception
d’une réponse pendant le temps timeout
2.Le serveur répond sur le port 67 avec un bootreply au client sur le port 68. Le
reply peut optionnellement contenir l’endroit des fichiers à charger
3. Le client demande de charger le fichier avec TFTP request au TFTP server
sur le port 69.
4. Le TFTP server répond avec le chargement de fichier

IP Header UDP Header BOOTP Request /Reply


20 bytes 8 bytes 300 bytes
39

PROTOCOL and PORT NUMBERS

APPLICATION BootP
Server
LAYER

Source Port Destination Port


68 67

TRANSPORT UDP Header BootP Source/Destination Port


LAYER Numbers.

NETWORK
LAYER Protocol Type
17 The Client's IP address (if
IP Header Source IP Address; 128.66.12.2 known) or set to all zeros.
Destination IP Address; 128.66.13.1

The Server IP address(if


known) or a Broadcast address.

DATA LINK ETHERNET

LAYER PREAMBLE
DESTINATION ADDR SOURCE ADDR
00 00 1B 09 08 07
FIELD
IP
HEADER
UDP
HEADER BootP FCS
00 00 1B 12 23 34 TYPE

The Server MAC address (if known) or a Broadcast MAC address.


40

20
BOOTstrap Protocol (BOOTP)
0 8 16 24 31

OCode HTYPE HLEN HOPS


Transaction ID

ESeconds BFlag(optional)

Client IP Address (if known)

Your IP Address (in response)

Server IP Address (in response)


Relay Router IP Address (in response)
Client Hardware Address
16 octets
Server Host Name(optional)
64 octets
Bootfile Name(optional)
128 octets
Vendor Specific Area(optional)
64 octets

z OCode. Le message est une demande/réponse (1/ 2)


z HTYPE. Type d’interface d’émetteur( 1 pour Ethernet)
z HLEN. La longueur de l’adresse physique, contient la valeur 6 (MAC address field is 48
bits)
z HOPS. Le client met ce champ à zéro.
Si un serveur BOOTP se trouve sur un autre réseau (permettre le démarrage à travers plusieurs
routeurs) , incrémente la valeur du compteur

41

BOOTstrap Protocol (BOOTP)


0 8 16 24 31

OCode HTYPE HLEN HOPS

Transaction ID
ESeconds BFlag(optional)
Client IP Address (if known)

Your IP Address (in response)

Server IP Address (in response)


Relay Router IP Address (in response)
Client Hardware Address
16 octets
Server Host Name(optional)
64 octets
Bootfile Name(optional)
128 octets
Vendor Specific Area(optional)
64 octets

z Transaction ID. Un nombre générer par le client qui permet l’association entre le client et
le serveur (réponses /demandes)
z ESeconds. Indique le nombre de secondes écoulées depuis le redémarrage du client et
même peut être utilisé comme un temporisateur pour la retransmission des demandes à des
intervalles (4, 8, 16, 32 and 64 secondes), en utilisant une moyenne aléatoire (entre 0-4
secondes)
z Bflag. Généralement inutilisé. Mais quelques clients ne peuvent pas recevoir datagrammes
sans être configurés précédemment avec une adresse
 Le Broadcast flag = 1 indique que le client à besoin de recevoir la réponses via une
adresse broadcast 255.255.255.255 sur le port 68.

42

21
BOOTstrap Protocol (BOOTP)
0 8 16 24 31

OCode HTYPE HLEN HOPS

Transaction ID

ESeconds BFlag(optional)

Client IP Address (if known)


Your IP Address (in response)
Server IP Address (in response)
Relay Router IP Address (in response)
Client Hardware Address
16 octets
Server Host Name(optional)
64 octets
Bootfile Name(optional)
128 octets
Vendor Specific Area(optional)
64 octets

z Client IP Address. L’adresse IP client s‘elle est connue, autrement il est à 0


z Your IP Address. C’est une IP address fournie par le serveur au client si le Client IP
Address est initialisée à zéro

z Server IP Address. Le BOOTP server place le IP address of the TFTP server, c’est
elle est connue, dans ce champ. Le client utilise cette adresse pour charger le système
 BOOTP normalement sépare la configuration service de software download
service.

43

BOOTstrap Protocol (BOOTP)


0 8 16 24 31

OCode HTYPE HLEN HOPS

Transaction ID

ESeconds BFlag(optional)

Client IP Address (if known)

Your IP Address (in response)

Server IP Address (in response)


Relay Router IP Address (in response)
Client Hardware
6 octets Address
Server Host Name(optional)
64 octets
Bootfile Name(optional)
128 octets
Vendor Specific Area(optional)
64 octets

z Relay Router Address. Utilisé en cas d’utilisation d’un serveur central qui se trouve sur un réseau
différent
z Client Hardware Address. adresse MAC du client NIC est placée dans ce champ
Le serveur utilise le type hardware et l’adresse MAC client comme clé pour chercher l’adresse IP dans
sa table
z Server Host Name. le client place le BootP host name, s’elle est connue.Sinon à zéro et ellle envoie un
paquet avec une source IP address à 0.0.0.0 et une destination IP address à 255.255.255.255.

44

22
BOOTstrap Protocol (BOOTP)
0 8 16 24 31
OCode HTYPE HLEN HOPS

Transaction ID

ESeconds BFlag(optional)

Client IP Address (if known)

Your IP Address (in response)

Server IP Address (in response)


Relay Router IP Address (in response)
Client Hardware Address
16 octets
Server Host Name(optional)
64 octets
Bootfile128
Name(
octets
optional)
Vendor Specific Area(optional)
64 octets

z Bootfile Name. Dans un BootP Request, ce champ contient un nickname (Unix, SunOS
,etc).Le BOOTP serveur était configuré avec le nickname dans un IP adresse de serveur
TFTP et complète le nom du chemin
 Dans un BootP Reply, le BOOTP server recherche le nickname dans sa table et
place l’ IP address de TFTP server dans le champ TFTP Server IP address et
remplace le champ Bootfile Name avec le complete path address ou il réside le
système sur TFTP server.
z Vendor Specific Area. Champ optionnel et contient l’information qui peut être passée
du serveur au client. Il peut inclure subnet mask, time of day, router addresses, DNS,
etc.
 Les 4 premiers octets ont la valeur 99.130.83.99
 Les champs d’ options sont constitués d’ 1 octet pour le code et d’1 octet length
suivi par un nombre d’octets de données
45

BOOTstrap Protocol (BOOTP)

Boot Server
Client
BootP request
Port Port
67 68
BootP reply

BootP Reply BootP Request


0 8 16 24 31 0 8 16 24 31
2 = reply HTYPE HLEN HOPS 1 = request 1 = Htype 6 = length 0 = Hops

49678 = Transaction ID 49678 = Transaction ID

ESeconds BFlag(optional) 4 = ESeconds 1 = BFlag

Client IP Address (if known) 0 = unknown

199.134.123.233 = your IP address Your IP Address (in response)


123.45.65.17 = TFTP Server IP Address Server IP Address (in response)
Relay Router IP Address (in response) Relay Router IP Address (in response)
Client Hardware Address 02 60 8C 12 14 AA = Hardware Address
16 octets
Server Host Name(optional) Server1 = name of server

/bin/vmunix = Bootfile path name SunOS = BootFile

99.130.83.99 = Magic Cookie 99.130.83.99 = Magic Cookie


22 2 4064 = Maximum Client Datagram Reassembly Size 22 2 4064 = Maximum Client Datagram Reassembly Size
1 4 255 255 255 240 = Client's subnet mask 255 = End of information
255 = End of information

46

23
Dynamic Host Configuration Protocol
(DHCP)

47

Dynamic Host Configuration Protocol (DHCP)

zBOOTP problèmes:
Désigné pour un environnement static où la configuration reste inchangée
N’est pas efficace pour les portables et les réseaux mobiles
Tout ça demande une intervention manuelle par l’administrateur système

zDynamic Host Configuration Protocol (DHCP) était désigné par l’IETF pour
remplacer le BOOTP
Permet au client d’obtenir l’adresse IP dynamiquement
Le DHCP server: Un block (plage) d’adresses IP
Le DHCP server choisit une des adresses en répondant au client
Permet au client d’obtenir tous les paramètres de configuration dans un
seul message
DHCP est basé sur le BootP message format et utilise le BootP relay
agent.
BootP clients peuvent interopérer avec les DHCP servers.

48

24
Dynamic Host Configuration Protocol (DHCP)

z DHCP attribution d’adresses


Allocation Manuelle: l’Administrateur entre une IP
adresse dans le serveur qui est attribuée de façon
permanente au client
Allocation Automatique: une IP adresse est
sélectionnée et attribuée de façon permanente dans l’
address pool au client quand la machine est attachée la
première fois au réseau
Allocation dynamique: une IP address est attribuée ou
loué au client pour une période limitée

49

Dynamic Host Configuration Protocol (DHCP)


DHCP Server
Client TFTP Server
DHCP BootRequest TFTP download request
Port Port Port
67 68 69
DHCP BootReply TFTP download reply

DHCP Concept
Même méthode que le BOOTP avec une spécification de la durée de bail

50

25
Dynamic Host Configuration Protocol (DHCP)
DHCPDISCOVER

DHCP Server DHCPREQUEST


DHCPDECLINE Client
DHCPRELEASE

Port Port
67 68
DHCPOFFER
DHCPACK
DHCPNAK

DHCP Messages
z DHCPDISCOVER: le client envoie un message de découverte des serveurs qui
peuvent le fournir une adresse et les paramètres désirés. Ce message peut inclure
les valeurs suggérées pour l’adresse du réseau et la durée de bail. Relay agents
peuvent passer ce message aux DHCP servers.
z DHCPOFFER : Serveurs répondent au message client par des offres d’adresses
z DHCPREQUEST: le client sélectionne un serveur et envoie une demande une
sends IP address et, optionnellement, une DHCP Parameter Request List
z DHCPACK: Le serveur créé un attachement et répond avec les paramètres de
configuration demandés. L'adresse de matériel et de réseau de clients identifient
uniquement le bail
z DHCPNAK:Le serveur refuse la demande et le client recommence une nouvelle
demande
z DHCPDECLINE: Le client refuse les paramètres de configuration parce qu’au
moins un est invalide
z DHCPRELEASE: Le client libère l’adresse IP
51

Dynamic Host Configuration Protocol (DHCP)

INITIALIZE

DHCPDISCOVER
DHCPNACK

DHCPNACK
SELECT

DHCPOFFER

DHCPREQUEST
DHCPREQUEST REBIND RENEW

REQUEST DHCPACK DHCPACK

DHCPREQUEST
DHCPACK

BOUND DHCPRELEASE

52

26
Dynamic Host Configuration Protocol (DHCP)

INITIALIZE
(1) The client broadcasts a DHCPDISCOVER message to
the local network to find one or more servers who will provide
it an IP address
(9) If the Rebinding timer expires before the server can respond, the client
issues a DHCPREQUEST message in order to renegotiate its IP address
lease.The server can respond with a DHCPACK message to allow the client
to continue to use the IP address. This message renews the lease and
SELECT updates the timer values. The server can respond with a DHCPNAK which
(2) DHCP servers respond with a DHCPOFFER
causes the client to stop using the IP address.
message. The client normally chooses the first
message.

(3) The client sends the server a DHCPREQUEST


message asking for an IP address and, optionally, a DHCP
REBIND RENEW
Parameters Request List.

(7) The server can respond with a DHCPACK message to


allow the client to continue to use the IP address. The
message renews the lease and updates the timer values.
The server can respond with a DHCPNAK which causes
REQUEST the client to stop using the IP address.

(6) If the Renewal timer has expired the client must


(4) The selected server saves the binding for the client
issue a DHCPREQUEST message in order to
indexed by an appropriate key ( DHCP Class Identifier,
renegotiate its IP address lease.
hardware type, or hardware address). The server sends the IP
address and parameters to the client with a DHCPACK
message.
(8) The client issues a DHCPRELEASE message to
BOUND terminate the address lease early. The client can no longer
send messages that utilize the address it released. In order
(5) The BOUND state is the normal state of operation and the client will remain in this state until the to acquire another IP address it must issue a
lease expires or it is no longer needed. The client maintains three timers that control the lease period: DHCPDISCOVER message.
A Renewal timer that expires when the lease reaches 50% of its lease life,

A Rebinding timer that expires when the lease reaches 87.5% of its lease life and,
an Expiration timer that expires when the lease expires.
53

DHCP Client
DHCP Server
DHCP Client
Port DHCPDiscover Port
67 68

z DHCP client peut être configuré pour l’automatic DHCP configuration.


z DHCP client accomplit cette tache en 5 phases (p1à p5):

P1. Le DHCP client broadcasts un DHCPDISCOVER message pour


demander l’adresse IP au DHCP serveur.
 Le message est broadcast avec des paramètres suivants:
DIP=255.255.255.255, SIP = 0.0.0.0, clients hardware
address.
 La demande peut être reçue par le DHCP server sur le même
subnet ou
 Peut être forwardeé par le BootP relay aux autres sous réseaux
54

27
DHCP Client
DHCP Server
DHCP Client
Port Port
67 68
DHCPOffer

P2. Tous les DHCP serveurs reçoivent la demande et répondent au client avec un
broadcast DHCPOFFER.
local et remote DHCP serveurs répondent avec un message DHCPOFFER
Le DHCP server sur le même sous réseau doivent répondre en premier
L’offre de DHCP serveur distant est accepté s’il n’y a pas d’offre du
DHCP server local
 L’offre contient une client IP address, subnet mask, default gateway,
lease duration et IP address options.
L’ offre est envoyé en broadcast au client's hardware address si le client
fait partie du même sous réseau
unicast au BootP Relay Agent qui sera envoyé en Broadcast/Unicast au
client

55

DHCP Client
DHCP Server
DHCP Client
Port Port
67 68
DHCPOffer

P2.
Les DHCP servers marquent leurs IP adresses déjà allouées dans
leurs databases
Si le client ne reçoit pas un DHCPOFFER dans une seconde il
rebroadcasts le message DHCPDISCOVER 4 fois pendant 60
secondes (Microsoft spécifie des intervalles ,10 secondes, 23
secondes, 39 secondes et 5 minutes) à chaque fois il recommence le
processus de configuration
 S’il n’y a aucune réponse, le client informe l’utilisateur de l’échec

56

28
DHCP Client
DHCP Server
DHCP Client
DHCPRequest
Port Port
67 68
DHCPAck

P3. DHCP client sélectionne le premier offre reçu et broadcasts


un message DHCPREQUEST au serveur DHCP sélectionné
 DHCP serveur est identifié dans le champ option "server
identifier"
 Si DHCP serveur est sur un réseau différent, le BootP Relay
Agent a la responsabilité pour relayer le message au DHCP
serveur via IP unicast.

57

DHCP Client
DHCP Server
DHCP Client
DHCPRequest
Port Port
67 68
DHCPAck

P4. DHCP serveur qui a offert le bail répond avec un message de DHCPACK au
client qui reconnaît le bail d'IP
 DHCP serveur updates son database de bail pour indiquer que
l’adresse IP ne sera pas disponible

58

29
DHCP Client
DHCP Server
DHCP Client
Port Port
67 68
DHCPAck

P5. Le client reçoit le DHCPACK et valide l’adresse IP à travers le


protocole ARP
Le client envoie un ARP Request avec le SMAC address = son
adresse physique, SIP = 0.0.0.0, DMAC address = 1s et DIP
address = à l’adresse IP reçue de DHCP server.
Si IP address est en utilisation, le client envoie un message
DHCPDECLINE au serveur OU
Si IP address n’est pas utilisée le client broadcasts un ARP
Reply pour annoncer sa nouvelle adresse et effacer les entrées
précédentes dans le cache ARP
Il met alors à jour son registre et continue le processus
59
d’initialisation

Démonstration

60

30
DHCP Client Address Renewal
DCP Server A

129.1.1.201 129.1.1.202 129.1.1.203 129.1.1.204

z DHCP client essaye de renouveler le bail à 50% (Renewal) de sa durée de vie


 Le client envoie directement DHCPREQUEST au DHCP server qui lui donne son original bail.
Dans un message unicast
 Ce message contient l’adresse IP destination de DHCP server et les adresses source IP et

129.1.1.200 MAC de DHCP client.


 Si le DHCP server iest sur un réseau différent, le BootP Relay Agent a la responsabilité de
Router
relier le message au DHCP server via IP unicast.
w/BootP
 Si le server est disponible et l’adresse IP disponible, le serveur répond avec DHCPACK. Le
serveur n’utilise pas un ICMP echo, cependant, le client accomplit un ARP pour tester la
129.1.1.1
validité de l’adresse IP
 Si le serveur est diponible et l’adresse IP non(pour une raison ou d’autres), le server répond
avec un DHCPNAK. Le processus DHCPDICOVER recommence
 Si le serveur ne répond pas le client continue d’utiliser le bail jusqu’à 87.5% de sa durée de
vie

129.1.1.5 129.1.1.4 129.1.1.2

61
DCP Server B

DHCP Client Address Rebinding


DCP Server A

129.1.1.201 129.1.1.202 129.1.1.203 129.1.1.204

z Le DHCP client essaye de renouveler le bail à 87.5%(Rebind)


 Le client broadcasts un message DHCPREQUEST avec un SIP = current IP address et
DIP = 255.255.255.255.
 Le client broadcasts un DHCPREQUEST à tous les DHCP servers qui peut renouveler
129.1.1.200
ou interdier son bail
Le DHCPREQUEST d'un client rebinding est prévu pour adapter
Router w/BootP
aux emplacements qui ont des serveurs multiples de DHCP et
129.1.1.1 un mécanisme pour l'uniformité de maintien parmi des baux
contrôlés par les serveurs multiples.
Un DHCP server peut prolonger le bail seulement s’il a une autorité local
 Si le client ne reçoit pas un DHCPACK, il attend une moitié du temps (60 secondes)
avant de retransmettre le message DHCPREQUEST
 S’il n’a pas DHCPACK reçu et le Rebinding timer est expiré, le client devra arrêter
l’utilisation de l’ IP address et remet en marche le processus de configuration

129.1.1.5 129.1.1.4 129.1.1.2

62
DCP Server B

31
DHCP Server
DHCP Server
Client
DHCPDiscover
Port Port
67 68
DHCPOffer

z Il y a normallement un DHCP par sous réseau. Un seul DHCP server, cependant peut couvrir
plusieurs sous réseaux
z Le DHCP Server peut être configuré manuellement avec son IP address, Subnet Mask et default
gateway.
z Un serveur peut gérer deux plages différentes d’adresses pour deux sous réseaux
Les deux plages doivent être mutuellement exclusif pour empêcher
l'affectation d'adresses double (à moins qu'il y a une méthode pour
maintenir l'uniformité de location).
L’adresse sous réseau client déterminera quelle plage est employée en faisant une
lovation d’une adresse
Chaque plage est configurée avec des options comme le mask sous réseau, Default Router,
DNS Server, DNS Domain Name et l’adresse IP de bail
? Le bail est par défaut de trois heures
? Le bail n’a pas une durée minimale, cependant peut varier entre une heure à l’infini
z DHCP Server peut être configurer pour :
 Exclure les adresses IP d’une plage
 Réserver des adresses IP pour des clients DHCP spécifiés 63

DHCP Server
DHCP Server
Client
DHCPRequest
Port Port
67 68
DHCPOffer
DHCPReply

z DHCP server reçoit les messages sur le UDP port 67 et les traitent comme suite:
 Un DHCPOFFER et un DHCREPLY sont créés de la manière suivante:
L’ IP address est normalement attribué comme suivant:
Î Le client a un CURRENT binding, ELSE
Î Le client a un PREVIOUS binding, ELSE
Î L address dans le champ "Requested IP Address" (si valide et non allouée), ELSE
Î Une nouvelle adresse sélectionnée dans la plage d’adresses basé sur le sous réseau
(si le relay agent =0s) ou par l’adresse d’interface du Relay Agent ( si le champ relay
agent différent de 0s).
 Le DHCP server enregistre l’adresse comme étant offerte au client et n’utilise pas l’IP
adresse jusqu’à la réception de la réponse du client
Le bail de IP address est attribué comme suite:
Î Si le client n’a pas demandé un bail et le client a une adresse attribuée,THEN
Î Si le client n’a pas demandé un bail et le client a une adresse
attribuée,THEN
Î Si le client a demandé un spécifique bail, THEN
Î Le server retourne un bail sélectionné ou un autre bail 64

32
DHCP Server
DHCP Server
Client
DHCPRequest
Port Port
67 68
DHCPOffer
DHCPReply

Le DHCP server retourne le même champ "Transaction ID"


Le message est retourné au client comme suite:
Si le champ "client IP address" est non-zero, THEN
Le message est envoyé dans un IP unicast au l’IP adresse identifiée dans
"client IP address", ELSE
¿Si le champ "relay agent" est non-zero, THEN
Le message est envoyé dans IP unicast à l’adrese IP identifiée dans le
champ "relay agent“ avec destination port 67( cette action délivre le
message directement au BootP relay agent le plus proche au client), ELSE
¿Si le champ "relay agent" est zero (le client réside sur le même sous réseau que le BootP
relayagent) et si le Broadcast Flag = 1, THEN
le message est broadcast au DIP = 255.255.255.255 et DMAC =
Broadcast avec un UDP port = 68, ELSE
If le Broadcast Flag = 0, THEN
le message est envoyé en IP unicast au DIP = "your IP address" et DMAC
= "client hardware address" avec un UDP port = 68
65

Multiple DHCP Servers

DHCP Server A

128.1.1.6 128.1.1.5 128.1.1.4 128.1.1.3

z Plus d'un serveur de DHCP peut être installé sur un réseau


 Les serveurs DHCP peuvent n'avoir aucun moyen de
128.1.1.1 communiquer entre eux.
 La plage d’IP address sur chaque DHCP server devrait être unique.
Router w/BootP example,
Network A 128.1.1.1 >= 128.1.1.200
129.1.1.1
129.1.1.201>=129.1.1.254
Network B 129.1.1.1 >= 129.1.1.200
128.1.1.201>=128.1.1.254
 Si un serveur de DHCP devient inopérant alors le routeur configuré comme BOOTP relay
fournira un broadcast relais au DHCP restant
129.1.1.5 129.1.1.4 129.1.1.2

DHCP Server B
66

33
Single DHCP Server w/Multiple Networks

DHCP Server

128.1.1.6 128.1.1.5 128.1.1.4 128.1.1.2

128.1.0.0

z Un seul DHCP server peut couvrir des réseaux multiples


 un BootP relay doit être permis sur un routeur pour permettre aux
machines sur un réseau de demander les adresses IP de DHCP server
sur un autre réseau
128.1.1.1

Router w/BootP
 Le DHCP server doit être installé avec des intervalles différents
d’adresses IP pour chaque réseau. Chaque intervalle aura des options
différentes, par exemple différent
129.1.1.1
DHCP Network A 128.1.1.1 >= 128.1.1.200
DHCP Network B 129.1.1.1 >= 129.1.1.200

129.1.0.0

129.1.1.5 129.1.1.4 129.1.1.2

67

BootP Relay
DHCP Server

128.1.1.6 Port 67 128.1.1.5 128.1.1.4 128.1.1.2

128.1.0.0
z The BootP Relay Agent est localisé avec le routeur.
 The BootP relay agent traite les messages DHCPDISCOVER/DHCPREQUEST comme suite:
Routeurs qui supportent BootP accepte DHCP message avec un SIP = 0.0.0.0 et un UDP
destination port de 67 pour délivrer le BootP Relay Agent.
Si le champ relay agent IP address est à zero, le relay agent l'agent de relais complète ce
128.1.1.1 champ de IP ADDRESS d'interface sur lequel le message a été reçu..
Si le champ relay agent IP address est non-zero, le champ est inchangé . Dans l’un ou l’autre
Router cas:
Î Si le champ checksum est non-zero, il est recalculé
w/BootP
Î Le champ "hops" est incrémenté de 1
129.1.1.1Port 67 Î Le message est forwardé au DHCP Server
 Le BootP Relay Agent écarte tous les messages UDP pour destination destination port 68 ou
messages avec un champ de compteur à sauts plus grand que 16

129.1.0.0

129.1.1.5 129.1.1.4 129.1.1.2

68

34
DHCP Server BootP Relay

128.1.1.6 Port 67 128.1.1.5 128.1.1.4 128.1.1.2

128.1.0.0
 Le BootP relay agent traite les messages DHCPREPLY/DHCPACK/DHCPNAK comme suivants:
Routeurs qui supporte le BootP accepte les messages DHCP avec un SIP = DHCP Server et
DIP = BootP Relay Agent. Toutes les réponses de BOOTP reçues par l'agent sont prévues pour un
client sur un réseau direct-relié.Le message est traité comme suit:
Î Si le BROADCAST flag est positionné à 1, le message DHCP est retransmis sur le
network client avec DIP = 255.255.255.255 et DMAC = une broadcast address.
Î Si le BROADCAST flag est mis à 0, le message DHCP est retransmis au réseau network
128.1.1.1 avec une adresse unicast, DIP = la valeur dans le champ "your IP address" et DMAC = la
valeur dans le champ "client hardware address"
? Le message aura un port destination UDP=68
Router w/BootP
? Si le checksum UDP est non-zero, le checksum sera recalculé
Î Else le message DHCP est retransmis comme un message unicast à l’interface logique du
129.1.1.1
Port 67
client contenue dans le champ "relay agent"

129.1.0.0

129.1.1.5 129.1.1.4 129.1.1.2

69

Dynamic Host Configuration Protocol (DHCP)


0 8 16 24 31
OCode HTYPE HLEN HOPS

Transaction ID

ESeconds Flags

Client IP Address (if known)

Your IP Address (in response)

Server IP Address (in response)


Relay Router IP Address (in response)
Client Hardware Address
16 octets
Server Host Name(optional)
64 octets
Bootfile Name(optional)
128 octets
Options
(variable)

z Identique au BOOTP

70

35
Cours 5 : Plan
5.1 Principes des 5.5 NFS
protocoles de la 5.6 Web et HTTP
couche Applications 5.7 FTP
5.2 DNS 5.8 Telnet/Rlogin
5.3 Electronic Mail 5.9 SNMP
 SMTP, POP3, IMAP
5.4 DHCP/BOOTP

71

NFS : Network File System


ˆ Partage de fichiers à travers un réseau de machines et
de systèmes hétérogènes (VAX-VMS, PC-MSDOS et
de nombreux UNI-NFS)
ˆ Accès aux fichiers distants masqué aux utilisateurs et
aux programmes
ˆ Performances des accès voisines de celles d’un disque
local
ˆ Résistance aux pannes: serveur, client et réseau
ˆ Extensibilité du système de fichiers simple
ˆ Facilité d’administration (NIS. Network Information,
ex. YP)

72

36
NFS : Network File System
ˆ Point de vue réseau:
- Utilisation d’UDP
- Conçu sur le modèle client/serveur, à travers un RPC
- Gestion de l’hétérogénéité par XDR

ˆ Point de vue Système:


- Réécriture de l’interface d’E/S avec le noyau UNIX:
concept de Virtual File System et virtual-node
- Protocole NFS et serveur sans état
- Protocoles périphériques et serveur avec état: Mount (montage
d’arborescences), NIS (gestion des paramètres), Lock Manager
(Gestion des verrous) et Network Status (Surveillance du
réseau)

73

NFS : Network File System


Appel système
Serveur
Pour l’accès à un fichier NFS

Interface
VFS VFS

Autres VFS Client VFS


v-node
VFS 4.2 BSD NFS 4.2 BSD

XDR XDR
i-node
RPC RPC

74

37
NFS : Network File System
ˆ VFS: couche logique, interface qui masque l’accès à un
sous-arbre local ou distant de l’arborescence des
fichiers ou partition (“File System” au sens logique)
- il est construit sur le concept de V-node
- il gère le montage et le démontage de partitions
- il permet l’accès aux fichiers lors de traversées de
points d’attachement ou points de montage (“mount
point”)
ˆ V-node: Couche logique, interface qui généralise la
notion de descripteur de fichier (i-node Unix), et qui
sépare les opérations d’accès à un fichier de leur
implantation sur disque

75

NFS : Network File System


ˆ Notion de descripteur virtuel de fichier

VFS SGF Unix

Desc. Blocs de données


Fichier accédés directement
Droit
Owner
…… Blocs de données avec
index une indirection
V-node i-node
Blocs de données avec
2 indirections

Blocs de données avec


3 indirections

76

38
NFS : Network File System
ˆ Notion de file system:
- Vue administration système
+ partition logique du disque physique qui contient une sous
arborescence des fichiers du système (ex. Sd0a, première
partition d’un disque)
+ une autre partition à un rôle important( ex. Deuxième partition
sd0b et sd1b: pagination et swapping)
- Vue implantation
+ un file system est désigné par un no de périphérique logique et
contient un Boot bloc, des infos. De gestion, super-bloc, une suite
de descripteurs de fichiers ou de répertoire (i-node: un numéro
unique dans un système de fichiers)

77

NFS : Network File System


ˆ Montage de fichiers distants:
- la liste des répertoires attachables exportés par le serveur est décrit dans le
fichier /etc/exports < nom de répertoire, liste d’accès des utilisateurs et
machines autorisées>
- le nom d’un répertoire à attacher ne correspond pas nécessairement à une sous
arborescence complète et donc à une partition locale du serveur

users usr
etc bin
spool
client passwd

Serveur felix

felix:/users usr
dupont
texte

78

39
NFS : Network File System
ˆ Le serveur NFS est sans état. Il ne maintient aucune information sur les
fichiers qu’il gère pour le compte d’un client.
ˆ Le client conserve toutes les informations qui permettent au serveur de
retrouver le fichier
ˆ Résistance aux pannes: quand un serveur tombe en panne, les clients
restent bloqués jusqu’à la remise en route du serveur (mécanisme RPC
avec temporisation 1100s entre deux tentatives avant un message
d’erreur)
ˆ Le protocole NFS est lui aussi réalisé à l’aide de procédure de type RPC
Sun:
GETATTR(rend les attributs d’un fichier), READFILE(crée un fichier),
WRITE(écrit dans le fichier), ….
ˆ Les identificateurs d’utilisateurs et de groupes d’utilisateurs entre
machines clientes et serveurs doivent être identiques sinon il risque d’y
avoir des problèmes de propriétés et de droits d’accès
ˆ Les accès concurrents ne sont pas supportés par NFS, c’est
le dernier qui écrit qui a gagné
ˆ Synchronisation des horloges sur les différentes machines (ex: pour que
la commande make fonctionne correctement)

79

NFS : Network File System


ˆ Les clients NFS peuvent utiliser une technique de cache pour améliorer les performances (cache biod)
ˆ Le cache réside en mémoire centrale du client, le disque local s’il existe n’est pas impliqué dans la
gestion
ˆ Les informations mises dans le cache sont:
- page contenu de fichier
- page contenu de répertoire
- descripteur de fichier
ˆ Problème de validation du cache en mémoire centrale:
- les pages sont estampillées avec leur date de dernière modification. Il y a validation par comparaison
de cette date avec celle qui réside avec le fichier sur le serveur, s’il y a une différence, la page doit
être rechargée.
- Quand cette comparaison peut-elle s’effectuer? À l’initiative du client
- Pour un fichier:
à chaque ouverture de fichier
à chaque défaut de page dans le cache
- Pour un répertoire:
à chaque ouverture de fichier, il y a contrôle de validité pour le répertoire qui le contient
les répertoires sont conservés dans le cache en lecture seulement, les modifications sont opérées sur
le serveur directement, (validation périodique toutes les 3s pour un fichier et toutes les 30s pour un
répertoire)

80

40
NFS : Network File System
ˆ Mise à jour du serveur:
- une page modifiée est marquée “sale” et devra être transférée vers le
serveur
- cette activité est réalisée de façon asynchrone par le noyau… quand il a
le temps
- garantie:
+ toutes les pages modifiées seront recopiées au plus tard avant la
fermeture du fichier (technique”write-on-close”)
+ la gestion de la concurrence est sous la responsabilité de l’utilisateur….
À défaut, c’est le dernier qui écrit qui a gagné
- transfert serveur-client:
+ par blocs de 8 Ko
+ tout le fichier pour les petits fichiers pas plus grands que 8 Ko

81

NFS : Network File System


ˆ Réplication
- Permet d’avoir plusieurs serveurs pour réaliser un
attachement de sous-arbre.
- Le premier serveur qui répond au client demandeur
qui est utilisé
- Pratique pour les fichiers exécutables et les fichiers
de données accédés en lecture (tolérance aux pannes
pour ces fichiers)
- Pour les fichiers modifiés, la propagation des
écritures d’un serveur à un autre doit être faite “à la
main”

82

41
NFS : Network File System
ˆ Les stations sans disque: utilisent NFS pour leur partition système
(fichiers généraux, bibliothèques, compilateurs, commandes, espace
utilisateur et aussi la partition swap.
serveur
Wstation diskless:client

/export/root/client
/export/swap/client

Ethernet

83

Cours 5 : Plan
5.1 Principes des 5.5 NFS
protocoles de la 5.6 Web et HTTP
couche Applications 5.7 FTP
5.2 DNS 5.8 Telnet/Rlogin
5.3 Electronic Mail 5.9 SNMP
 SMTP, POP3, IMAP
5.4 DHCP/BOOTP

84

42
Web et HTTP

ˆ Web page composée des objets


ˆ Objet peut être fichier HTML, image JPEG, applet
Java, fichier audio,…
ˆ Web page composée de base HTML-file qui inclut
plusieurs objets référencés
ˆ Chaque objet est adressé par un URL
ˆ Exemple URL:

www.someschool.edu/someDept/pic.gif

host name path name

85

HTTP

HTTP: hypertext
transfer protocol HT
T
Pr
ˆ Protocole de la couche eq u
est
PC running HT
application Web Explorer
TP
r es
pon
ˆ Modèle client/server se
 client: browser qui
demande et reçoit , ue
st
“displays” les objets req
T P nse Server
Web HT po
r es running
TP Apache Web
 server: Web serveur HT
server
envoie les objets
demandés
Mac running
ˆ HTTP 1.0: RFC 1945
Navigator
ˆ HTTP 1.1: RFC 2068

86

43
HTTP
HTTP protocole sans
Utilise TCP: mémoire
ˆ client initialiseTCP connection ˆ serveur ne maintient pas
(crée une socket) au serveur, l’information concernant
port 80 les demandes passées du
ˆ serveur accepte TCP connection client
de client
ˆ messages HTTP (application-
layer protocol messages)
échangés entre browser (HTTP Protocoles avec mémoire sans
client) et Web server (HTTP complexes!
server)
ˆ TCP ferme la connection
ˆ Historique (state) doit
être maintenu
ˆ si server/client crashent,
on garde une image de
l’historique pour re-établir
l’état d’avant

87

HTTP connections
Non-persistant HTTP Persistant HTTP
ˆ Un seul objet Web ˆ Multiple objets
peut être transféré à peuvent emprunter la
la fois sur une même connexion TCP
connexion TCP ˆ HTTP/1.1 utilise les
ˆ HTTP/1.0 utilise des connexions
connexions non persistants par défaut
persistantes avec pipelinage

88

44
Non persistant HTTP
Supposons l’uitlisateur entre l’ URL suivant: (contient text,
www.someSchool.edu/someDepartment/home.index référence 10
Image jpeg )

1a. HTTP client initiates TCP


connection to HTTP server
1b. HTTP server at host
(process) at
www.someSchool.edu waiting
www.someSchool.edu on port 80
for TCP connection at port 80.
“accepts” connection, notifying
client
2. HTTP client sends HTTP
request message (containing
URL) into TCP connection 3. HTTP server receives request
socket. Message indicates message, forms response
that client wants object message containing requested
someDepartment/home.index object, and sends message
into its socket

time
89

Non persistant HTTP

4. HTTP server closes TCP


connection.
5. HTTP client receives response
message containing html file,
displays html. Parsing html
file, finds 10 referenced jpeg
objects
time 6. Steps 1-5 repeated for each
of 10 jpeg objects

90

45
Modélisation du temps de réponse
Définition de RRT: temps
d’envoyer un petit paquet
d’aller au serveur et
retourne au client initiate TCP
connection
Temps de réponse: RTT
ˆ un RTT pour initialiser la request
connection TCP file
time to
RTT
ˆ un RTT pour la demande transmit
file
HTTP et les premiers file

octets de HTTP de
received

réponse time time


ˆ Temps de transmission de
fichier
total = 2RTT+transmit time 91

Persistant HTTP
HTTP non persistant demande:
ˆ 2 RTTs par objet
Persistant sans pipelinage:
ˆ Le sysstème devrait ˆ client envoie une nouvelle
travailler et alloue des demande seulement quand il
ressources pour chaqueTCP reçoit une réponse de la
connection requête précédente
ˆ mais browser souvent ouvre ˆ un RTT pour chaque objet
des connections parallèles référencé
pour traiter des objets Persistant avec pipelinage:
référencés ˆ Par défaut dans HTTP/1.1
Persistant HTTP ˆ client envoie des requêtes
ˆ serveur maintient la
dés qu’il rencontre une
référence objet
connexion ouvert après
ˆ un seul RTT pour tous les
l’envoi de la réponse
objets référencés
ˆ les messages successifs,
entre le même couple
client/server sont envoyés
92
sur la connection

46
HTTP: message de demande
ˆ deux types de messages HTTP: demande, réponse
ˆ HTTP message de demande:
 ASCII (format humain lisible)

Ligne de demande
(GET, POST, GET /somedir/page.html HTTP/1.1
HEAD commands) Host: www.someschool.edu
User-agent: Mozilla/4.0
lignes Connection: close
d’en-tête Accept-language:fr

93

HTTP demande de message: format


général

94

47
Chargement de contenu
Méthode POST:
ˆ page Web souvent
inclut la forme de Méthode URL:
contenu ˆ Utilise la méthode GET
ˆ Le contenu est chargé ˆ Le contenu est chargé
de serveur dans la dans le champ URL de
squelette “body” la ligne de demande:

www.somesite.com/animalsearch?monkeys&banana

95

Types de méthodes
HTTP/1.0 HTTP/1.1
ˆ GET ˆ GET, POST, HEAD
ˆ POST ˆ PUT
ˆ HEAD  Permet le chargement
d’un objet vers un
 Demande au serveur de
chemin spécifié dans le
quitter l’objet demandé
champ URL
après la réponse
ˆ DELETE
 Permet d’effacer un
objet (fichier) hébergé
sur un serveur web

96

48
HTTP: message de réponse
Ligne d’état
Code d’état
Message d’état HTTP/1.1 200 OK
Connection close
Date: Thu, 06 Aug 1998 12:00:15 GMT
Server: Apache/1.3.0 (Unix)
Ligne
Last-Modified: Mon, 22 Jun 1998 …...
d’en-tête
Content-Length: 6821
Content-Type: text/html

Squelette data data data data data ...


(corp)

97

HTTP: codes d’état


Dans la première ligne dans le message de réponse
server->client
quelques codes d’état:
200 OK
 la requête et réussie et l’information est contenue dans la
réponse
301 Moved Permanently
 l’objet sollicité a été définitivement déplacé, une nouvelle
URL est spécifiée dans la ligne d’en-tête (Location:)
400 Bad Request
 demande de message n’a pas été comprise par le serveur
404 Not Found
 document recherché est introuvable sur le serveur
505 HTTP Version Not Supported 98

49
Exemple de message de réponse

1. Telnet sur votre serveur Web favoris:


telnet www.eurecom.fr 80 Opens TCP connection to port 80
(default HTTP server port) at www.eurecom.fr.
Anything typed in sent
to port 80 at www.eurecom.fr

2. Taper la ligne suivante:


GET /~login/index.html HTTP/1.0 By typing this in (hit carriage
return twice), you send
this minimal (but complete)
GET request to HTTP server

3. Observer la réponse du serveur!

99

Interaction Utilisateur-serveur:
autorisation
Autorisation : contrôle d’ accès server
au contenu de serveur
client
ˆ authorization credentials: usual http request msg
typically name, password 401: authorization req.
ˆ stateless: client doit WWW authenticate:
s’authentifier à chaque
demande usual http request msg
 autorisation: ligne d’en-tête + Authorization: <cred>
dans chaque demande usual http response msg
 S’il n’a pas d’ autorisation: le
serveur refuse l’ accès,
Le serveur ajoute l’en- usual http request msg
tête WWW- + Authorization: <cred>
authentificate: usual http response msg time

100

50
Cookies
Plusieurs sites Web utilisent les Exemple:
cookies  Susan accède Internet
4 étapes suivantes pour réaliser toujours à partir de même
les cookies: PC
1) l’insertion d’une ligne d’en-tête  Elle visite un site spécifié
particulière dans le message au commerce électronique
de réponse HTTP pour la première fois
2) la réitération du message de  Quand les demandes
demande avec la ligne d’en- initiales HTTP arrivent au
tête correspondante site, le site crée un unique
ID et crée une entrée
3)l’envoi d’un fichier témoin qui dans la database pour ID
est conservé dans le poste de
l’utilisateur et est activé par
le navigateur
4) l’intégration des informations
dans une base de données
située sur le serveur du site
Web

101

Cookies exemple
client server
Cookie file usual http request msg server ne
da try i
usual http response + creates ID tab n b
as ac
e ke
ebay: 8734 Set-cookie: 1678 1678 for user nd

Cookie file
usual http request msg
amazon: 1678 cookie: 1678 cookie-
ss
ebay: 8734 specific acce
usual http response msg action
one week later:
ss
ce
ac

Cookie file usual http request msg


cookie-
cookie: 1678
amazon: 1678 spectific
ebay: 8734 usual http response msg action

102

51
Conditional GET: client-side caching

ˆ Goal: enregistrer les objets client server


déjà demandés une fois HTTP request msg
ˆ client: spécifie la date de If-modified-since:
object
mettre une copie en cache <date>
not
dans la demande HTTP modified
If-modified-since: HTTP response
HTTP/1.0
<date> 304 Not Modified
ˆ server: la réponse de serveur
ne contient pas l’objet si sa
HTTP request msg
mise à jour n’est pas
If-modified-since:
modifiée: <date> object
HTTP/1.0 304 Not modified
Modified HTTP response
HTTP/1.0 200 OK
<data>
103

Cours 5 : Plan
5.1 Principes des 5.5 NFS
protocoles de la 5.6 Web et HTTP
couche Applications 5.7 FTP
5.2 DNS 5.8 Telnet/Rlogin
5.3 Electronic Mail 5.9 SNMP
 SMTP, POP3, IMAP
5.4 DHCP/BOOTP

104

52
FTP: the file transfer protocol

FTP file transfer


FTP FTP
user client server
interface
user
at host local file remote file
system system

ˆ Fichier de transfert de/à host distante


ˆ modèle client/server
 client: partie qui initialise le transfert
 server: host distante
ˆ ftp: RFC 959
ˆ ftp serveur: port 21

105

FTP: sépare les connexions de contrôle


et de données TCP control connection
port 21
ˆ FTP client contacte FTP
server au port 21, spécifiant
TCP comme protocole de TCP data connection
transport FTP port 20 FTP
ˆ Client obtient l’ autorisation client server
sur la connexion de contrôle
ˆ Client navigue dans le ˆ Serveur ouvre une seconde
répertoire distant en connection de données TCP
envoyant les commandes sur pour transférer un autre
la connexion de contrôle fichier
ˆ Quand le serveur reçoit une ˆ Connection de contrôle: “hors
commande pour un transfert bande”
de fichier, le serveur ouvre ˆ FTP serveur garde trace des
une connexion de données changements dans le
TCP au client répertoire tout le long de son
ˆ Après le transfert d’un exploration du répertoire
fichier, le serveur ferme la distant
106
connection

53
FTP: commandes, réponses

Simples commandes: Simples codes de retour


ˆ Format as ASCII à 7 bits sur la ˆ Code d’état et phrase
connexion de contrôle (comme dans HTTP)
ˆ USER username ˆ 331 Username OK,
ˆ PASS password password required
ˆ 125 data connection
ˆ LIST demande au serveur de
transmettre une liste de tous already open; transfer
les fichiers contenus dans le starting
répertoire distant actuel ˆ 425 Can’t open data
connection
ˆ RETR filename = gets (obtenir
ˆ 452 Error writing file
un fichier à partir du répertoire
distant)
ˆ STOR filename stocke (puts) le
fichier dans le répertoire
distant

107

Cours 5 : Plan
5.1 Principes des 5.5 NFS
protocoles de la 5.6 Web et HTTP
couche Applications 5.7 FTP
5.2 DNS 5.8 Telnet/Rlogin
5.3 Electronic Mail 5.9 SNMP
 SMTP, POP3, IMAP
5.4 DHCP/BOOTP

108

54
TELECOMMUNICATION
NETWORK PROTOCOL
- TELNET-

109

TELNET Background

Host 1

Remote
Host 2
Network

Host 3

z Au début de l'Internet il y avait une diversité, les terminaux et les serveurs qui
étaient incompatibles.
z Les machines distantes gèrent la translation du code terminal
z Plusieurs connections peuvent consommer les ressources de la machine distante à
fin de réaliser cette translation
z Telecommunication Network Protocol (TELNET) était développé pour
résoudre ce problème
The Network Virtual Terminal (NVT) était défini comme une interface standard aux
systèmes distants
110

55
TELNET Background

Remote Host 2

Virtual Keyboard Virtual Keyboard


Telnet
Network Telnetd
Virtual Printer Virtual Printer

z Network Virtual Terminal (NVT) définit tous les terminaux de la


connexion Telnet
C’est un dispositif imaginaire ayant une structure de bas commune pour émuler des
terminaux réels
z NVT est composé de:
Virtual Keyboard (un clavier réel) pour produire des caractères
 Virtual Printer (un écran réel) qui affiche les caractères
z Les programmes (telnet et telnetd) contrôlent et gèrent la translation des
instructions des terminaux virtuels sur les dispositifs matériels ou physiques
z Des fonctions supportées sont négociées à l’initialisation d’une connexion
Telnet
Ceci permet à Telnet de translater (traduire) les commandes entre NVT
et les machines d’extrémité.
111

TELNET CONCEPT
Process Context
user process OS process

Telnet client Telnet server shell


user tty

TELNET TCP

TCP TCP psuedo


Terminal terminal
driver IP
IP IP driver
operating system operating system

Network

z un protocole de réseau de télécommunication fournit la


possibilité d’accéder à distance (remote login )
z TELNET est conçu pour fonctionner sur des machines qui
utilisent des systèmes différents
z TELNET est un service encapsulé dans TCP
z TELNET définit un a langage commun:
 Network Virtual Terminal(NVT) - pour gérer le transfert
des commandes et des données à travers le réseau
112

56
PROTOCOL ENCAPSULATION and TELNET PORT NUMBER

APPLICATION TELNET Server


LAYER

Source Port Destination Port


5512 23

NOTE
TRANSPORT z TELNET uses TCP for
LAYER
TCP Header
encapsulation.
z Port 23 is used for TELNET.
z TELNET to any port.

NETWORK
LAYER Protocol Type
6
IP Header Source IP Address; 128.66.12.2

Destination IP Address; 128.66.13.1

DATA LINK ETHERNET

LAYER PREAMBLE
DESTINATION ADDR SOURCE ADDR FIELD
IP
HEADER
TCP
HEADER DATA FCS
00 00 1B 12 23 34 00 00 1B 09 08 07 TYPE
113

TELNET SERVICES de base


Process Context
user process OS process

Telnet client Telnet server shell


user tty

TELNET TCP

TCP TCP psuedo


Terminal terminal
driver IP
IP IP driver
operating system operating system

Network

Service 1 : Network Virtual Terminal (NVT): fournit un dispositif terminal imaginaire


pour émuler TELNET (client/serveur)
Service 2 : Option Negotiation: un mécanisme par lequel le client et le server
négocient des options utilisées pendant une session Telnet
 Le client/server utilisent un ensemble de conventions pour établir les
caractéristiques opérationnelles de leur session via "DO, DON'T, WILL,
WON'T" mécanismes.
Service 3 : Opération Symétrique: les deux extrémités d’une session telnet sont
traitées de façon symétrique (l’une ou l’autre extrémité peut commencer la
négociation)
114

57
Network Virtual Terminal(NVT)
NVT format

Client Server

z Network Virtual Terminal (NVT) fournit une interface standard aux systèmes distants
z NVT est un imaginaire dispositif avec un keyboard et printer. Caractères saisis par
l’utilisateur sont convertis au NVT caractères.
–Le client translate le format client vers le format NVT.
–Le NVT est transmis à travers le réseau
–Le server translate le format NTV au format de la machine serveur.
z le données sont envoyées caractère par caractère mais elles peuvent être envoyées par
ligne
z Chaque ligne est terminée par un CR/LF
z Telnet est en Half-duplex.
 Le client envoie une ligne et attend la réponse.
Le server envoie une ligne, alors un envoi d’une commande Go Ahead indiquant au
client qui peut envoyer des données

115

TELNET COMMANDS
z NVT utilise des mots de 8 bits, telnet utilise des mots de 7 bits
pour les caractères et des mots de 8 bits pour les commandes
 FTP, SMTP, Finger et Whois utilisent NVT
zLes commandes TELNET sont composées d’une séquence de trois
octets dont un optionnel
Le premier octet est toujours interprété comme un caractère
de commande Interpret as Command(IAC)
Le second octet est le code commande.
Le troisième octet est utilisé pour négocier les options.

TELNET Command Structure

Interpret
as Command Negotiated
Command Code Options

byte 1 byte 2 byte 3

116

58
TELNET COMMANDS

Code Name Description

255 IAC interpret next octet as command


255 236 EOF end-of-file
255 237 SUSP suspend current operation
255 238 ABORT abort process
255 239 EOR end of record
255 240 SE end of subnegotiation parameters
255 241 NOP no operation
255 242 DM data stream portion of the TCP Synch signal that is
always accompanied by a TCP Urgent Notification flag.
255 243 BRK "break control" signal
255 244 IP "Interrupt process" control signal
255 245 AO "abort output" control signal
255 246 AYT "are you there?" control signal
255 247 EC "erase character" control signal
255 248 EL "erase line" control signal
255 249 GA "go ahead" control signal
255 250 SB start of subnegotiation of indicated option
255 251 WILL sender wants to enable option
255 252 WON'T sender wants to disable option
255 253 DO sender wants receiver to enable option
255 254 DON'T sender wants receiver to disable option

117

NVT Example

NVT format

Client Server

the user types the following: now is the timi<bs>e for all

NVT format stream

n o w <sp> i s <sp> t h e <sp> t i m IAC EC e <sp> f o r

Encapsulation
DESTINATION ADDR SOURCE ADDR IP TCP
FIELD
PREAMBLE
00 00 1B 12 23 34 00 00 1B 09 08 07 TYPE
HEADER HEADER
"f" FCS

z Les fonctions de contrôle et de service passées en tant qu’élément de données sont


précédés par le caractère échappe suivi du code "IAC"
z plusieurs implémentations TELNET placent un caractère dans chaque paquet TCP à moins
que le LINEMODE est permis.
118

59
TELNET Negotiations

Option Requests: DO, WILL, DON'T, WON'T

Client Network Server

Option Response: WON'T, DON'T, WILL, DO

z Le client et le server exigent de supporter un basic NVT


implémentation.
z Le client et le server négocient lowest NVT implementation
level.
z Lors du premier échange, les options sont négociées
 Il y a plus de 40 différent codes d’option disponibles.
 Multiple options peuvent apparaître dans un seul paquet TCP

119

TELNET Negotiations

Option Requests: DO, WILL ,DON'T, WON'T

Client Network Server

Option Response: WON'T, DON'T, WILL, DO

Sender Receiver Description

1. WILL sender wants to enable option


DO receiver says OK
2. WILL sender wants to enable option
DON"T receiver says NO
3. DO sender wants receiver to enable option
WILL receiver says OK
4. DO sender wants receiver to enable option
WON'T receiver says NO
5. WON't sender wants to disable option
DON't receiver says OK
6. DON't sender wants receiver to disable option
WON't receiver says OK

120

60
Common TELNET Options
Code Name Description
0 Transmit Binary Transmit in 8-bit binary code
1 Echo Allow the receiver to echo the data
3 SGA Suppress sending the "Go Ahead(GA)" signal at data end
4 Message Size Negotiate approximate message size
5 Status Request for status of TELNET option at data end
6 Timing Mark Request that a timing mark be inserted in the return stream for synch
8 Line Width Negotiate output line width
9 Page Length Negotiate page length
11 Horizontal Tabs Negotiate output horizontal tab stop settings
14 Vertical Tabs Negotiate output vertical tab stop settings
17 Extended ASCII Negotiate extended ASCII characters
24 Terminal Type Exchange information about the terminal type make/model
31 NAWS Negotiate about window size
32 TSpeed Send terminal speed information
33 TFC Terminal(remote) flow control
34 Linemode Send complete lines instead of individual characters
37 Authentication Negotiate type of Authentication
38 Encryption Negotiate type of Encryption

121

TELNET Suboption Negotiations Example

Option Requests: DO, WILL ,DON'T, WON'T

Client Network Server

Option Response: WON'T, DON'T, WILL, DO

Client Server

<IAC,DO,SGA>
<IAC,WILL,SGA>

<255,251,24>
<255,253,24>
<255,250,24,1,255,240>
<255,250,24,0,'I','B','M','P','C',255,240>

122

61
REMOTE LOGIN
- RLOGIN-

123

PROTOCOL ENCAPSULATION et Rlogin PORT NUMBER

APPLICATION rlogind
LAYER

Source Port Destination Port


1000 513

NOTE
TRANSPORT z Rlogin utilise TCP pour
l’encapsulation.
TCP Header
LAYER
z Port 513 est utilisé pour
rlogin.
 Port 514 est utilisé pour
rsh, rcmd,etc.
z Le client devrait utiliser un
port au dessous de 1023.
NETWORK .
LAYER Protocol Type
6
IP Header Source IP Address; 128.66.12.2

Destination IP Address; 128.66.13.1

DATA LINK ETHERNET

LAYER PREAMBLE
DESTINATION ADDR SOURCE ADDR FIELD
IP
HEADER
TCP
HEADER DATA FCS
00 00 1B 12 23 34 00 00 1B 09 08 07 TYPE

124

62
Rlogin CONCEPT
Process Context
user process OS process

rlogin rlogind shell


user tty

rlogin TCP

TCP TCP terminal


Terminal
driver IP driver
IP IP
operating system operating system

Network

z Rlogin était désigné de fonctionner sur les systèmes Unix


seulement. Il est plus simple que TELNET, la négociation des options
n’est pas exigé
z rlogin agit en tant que client tandis que rlogind agit en tant que
server

125

Rlogin CONCEPT
Process Context
user process OS process

rlogin rlogind
user tty

rlogin TCP

TCP /etc/passwd
Terminal TCP /etc/hosts.equiv
IP .rhosts
driver IP IP
operating system operating system

Network

z User name, server name, et terminal type sont automatiquement transmis


au début de la connection.
z The server laisse l’accès libre à l’utilisateur si la connexion vient d’un
serveur de confiance
 le fichier /etc/passwd est cherché sur le serveur. S’il n’est pas
trouvé alors
 le fichier /etc/hosts.equiv sur le serveur est scanné (il contient
une liste des machines sures sur le serveur), s’il n’est pas trouvé alors
 le fichier .rhosts sur le serveur est scanné, s’il n’est pas trouvé
alors
126
 un mot de passe en clair est exigé au client

63
Rlogin CONNECTION
CLIENT SERVER
(Port 1020) (Port 513)
PSH 1:2(1) ack 1
Segment 1
(one byte of 0)
NOTE: This sequence does not show the opening,
ACK 2
Segment 2 closing, window size or mss, In addition, only
selected segments are described.
PSH 2:32(30) ack 1
Segment 3 (joney\0joney\0ibmpc/14400\0)

ACK 32
Segment 4
PSH 1:2(1) ack 32 Segment 1 shows the client on port 1020 (below
Segment 5 (one byte of 0) 1023) sending a PSH segment with an Initial
Segment 6
3
ACK 2
Sequence(ISN) Number of 1, a colon, and an implied
PSH 2:3(1) ack 32,urg ending sequence number of 2 followed by the
w size request)
Segment 7 (command 0x80: windo
PSH 32:44(12) ack 3 number of data bytes sent and an ack to the client.
The client sends a byte of 0.
Segment 8 (window size information)
ACK 44

Segment 3 shows the client sending a PSH


segment with an Initial Sequence Number of 2, a
PSH 3:251(248) ack 44 colon, and an implied ending sequence number of 32
(operating system greet
ing)
followed by the number of data bytes sent and an
ack 251 ack. The client sends a:
(a) login name of the user on the client host, a
PSH 251:296(45) ack
44
ing)
termination byte of 0,
(operating system greet
ack 296
(b) the login name of the user on the server
host, a termination byte of 0,
(c) the user terminal type, a slash,
(d) the terminal speed, and
PSH 333:340(7) ack 44
(shell prompt)
(e) a final termination of 0.
ack 340
127

Rlogin CONNECTION
CLIENT SERVER
(Port 1020)
PSH 1:2(1) ack 1
(Port 513)
Segment 5 shows the server on sending a PSH
segment with an ISN of 1, a colon, and an IESN of 2
Segment 1
(one byte of 0)

ACK 2 followed by the number of data bytes sent and an


Segment 2
PSH 2:32(30) ack 1
ack to the client.
Segment 3
(joney\0joney\0ibmpc/14400\0)

ACK 32 NOTE: Since he may be logging in from a trusted


host, the user does not need a password.
Segment 4
PSH 1:2(1) ack 32
Segment 5 (one byte of 0)  The server checks for a user password, in
order, the /etc/passwd file, the
Segment 6 ACK 2
3
PSH 2:3(1) ack 32,urg
Segment 7 (command 0x80: windo
w size request) /etc/hosts file then the .rhosts file.
Segment 8
PSH 32:44(12) ack 3
(window size information)
The server then has the option of asking the
ACK 44 client for a password.
 The password is sent in the clear.
 If no password is sent within a specified
time, normally 60 seconds, the connection is
PSH 3:251(248) ack 44 closed.
ing)
(operating system greet

ack 251 Segment 7 shows the server sending a command


44 of 0x80 asking for the clients window size. The
PSH 251:296(45) ack
(operating system greet
ing) server to client commands are as follows:
ack 296 0x02: Flush the output. The server receives an
interrupt and sends the command to discard all
received data.
PSH 333:340(7) ack 44 0x10: Client stops performing flow control
(shell prompt) 0x20: Client resumes flow control
ack 340 0x80: Request for window size.
128

64
TELNET and Rlogin Features

Feature Rlogin Telnet

Transport Protocol One TCP connection. Uses Urg mode. One TCP connection. Uses Urg mode.
Packet Mode Character at a time w/remote echo Common default is character at a time
w/remote echo
Flow Control Normally by client, disabled by server. Normally by server, option for client.
Terminal Type Always Provided. Option, commonly supported.
Terminal Speed Always Provided. Option.
Window Size Option supported by most servers. Option.
Environ Var Not supported Option.
Automatic Login Default. A prompted password is sent Default is login name and password.
cleartext. Newer versions support Password is sent cleartext. Newer versions
Kerberos. provide authentication option.

129

Cours 5 : Plan
5.1 Principes des 5.5 NFS
protocoles de la 5.6 Web et HTTP
couche Applications 5.7 FTP
5.2 DNS 5.8 Telnet/Rlogin
5.3 Electronic Mail 5.9 SNMP
 SMTP, POP3, IMAP
5.4 DHCP/BOOTP

130

65
SNMP(Simple Network Management
Protocol) :introduction
ˆ Permet de traiter les problèmes:
 fonctionnement
 Contrôle le routage
 Signalisation des machines qui ont des comportements anormaux

ˆ L’ensemble de ces activités correspond à


l’administration de réseau
ˆ Niveau d’action des protocoles d’administration de
réseaux
 Au niveau WAN
 Les routeurs sont des commutateurs actifs que les administrateurs
doivent surveiller et contrôler
131

SNMP :modèle Architectural


Ordinateurs administrés

MA
MA
s

MA
re
uta
nt ou
me urs
s
pe e
ui at

MA
éq rdin

MC
O

Routeur
administré
Station de travail
De l’administrateur MA

132

66
SNMP: Cadre architectural
ˆ deux parties
o Les données prises en compte
ˆ Les échanges d’information
o Les échanges d’information
o Définir la façon d’exécution le programme client sur la machine de
l’administrateur
ˆ Les données prises en compte
o Les éléments de données qu’un routeur doit conserver , leur nom et
leur syntaxe de représentation

ˆ Versions SNMP: 3 versions SNMP


ˆ Définition standard des informations d’administration
o Doit fournir des statistiques des machines
o Pas de détails sur les données associées le rôle de la base de données
MIB (Management Information Base)
133

SNMP: généralités
SNMPv1
CMOT SMI
SGMP MIB-I MIB-II RMON SNMPv2

1987 1990 1991 1992 1993

‰ CMOT(Common Management Information Service and Protocol over TCP/IP)


désigné d’administrer pour une période longue TCP/IP et il était développé en
parallèle avec SNMP.

‰ SNMPv1 est le standard d’administration . Il était créée par Internet pour


administrer pour une période courte et temporaireTCP/IP. L’architecture SNMP
était basée plus tard sur un protocole d’administration appelé SGMP(Simple
Gateway Monitoring Protocol).

‰ SMI(Structure of Management Information) est utilisé pour définir les


structures de donnée de SNMP. C’est un mécanisme de nommage et d’organisation
des objets pour être administrés par SNMP.

134

67
SNMP: généralités
SNMPv1
CMOT SMI
SGMP MIB-I MIB-II RMON SNMPv2

1987 1990 1991 1992 1993

z MIB-I (Management Information Base) stocke l’information sur chaque objet


SNMP administré. Il définit un nombre minimal d’objets pour être administré par
chaque noeud. Il y a huit catégories avec un total de 114 objets.

z MIB-II est une version améliorée de MIB-1 en ajoutant deux nouvelles


catégories, nouvelles valeurs, variables, tables, colonnes,etc pour améliorer le
support pour le matériel multiprotocol.

z RMON(Remote Network Monitoring) est un utilitaire d’administration pour


observer le trafic sur les liens dans l’ordre d’établir le trafic, statistiques sur les
performances, etc.

z SNMPv2 essaye d’améliorer et résoudre les problèmes de SNMPv1.


135

Modèle SNMP
Agent Agent
MIB
Router
TCP/IP NETWORK MIB
Token Ring Router Token Ring

Agent
MIB
Agent
MIB
Agent
MIB
Router
Agent Agent
MIB MIB MIB
Router

Network Management Station

‰ Un noeud administré composé des hosts, routeurs, bridges,


imprimantes, etc capable de communiquer l’information d’état au
Network Management Station(NMS).
‰ A Network Management Station contient manager software
d’administration qui envoie et reçoit les messages aux Agents
residants dans les noeudes.
‰ l’ Agent est un software réside dans le noeud et répond au
questions NMS, accomlplit les maj.
‰ le Management Information Base réside dans les Noeuds et le
NMS et est une logique description de tous les network
management data. Il contient le système et l’information d’état,
136
données de performance, et les paramètres de configuration.

68
Modèle SNMP
Agent
Agent
MIB
Router
TCP/IP NETWORK MIB
Token Ring Router Token Ring

Agent
MIB
Agent
MIB
Agent
MIB
Router
Agent Agent
MIB MIB MIB
Router

Network Management Station

‰ le NMS supervises le noeud en envoyant les requests à ses agents demandant


une réponse avec les valeurs de données dans leurs MIB database. Les valeurs
MIB incluses sur l’interface, compteur de trafic, adresses ,etc.
‰ le NMS contrôle un node en appelant son agent pour mettre à jour son état de
MIB ou les paramètres de configuration. Par exemple une interface réseau
pouvait être désactivée en positionnant un état de variable en bas.
‰ le SNMP est utilisé comme un protocole de communication entre
l’administrateur et l’agent. SNMP normalement utilise UDP pour le transport.
oSMNP définit cinq types de messages échangés entre l’agent et
l’administrateur.

137

SNMP ARCHITECTURE
SNMP SNMP
Modules spécifiques Management System Managed System

de gestion de réseau Managed


Resources
de fournisseur tels Management Object Management
que la gestion Application Management Application
get-response

get-response

d’erreurs,la sécurité
get-next

get-next
trap
set
get

trap
set
get

SNMP Manager SNMP SNMP Agent


Messages
User Datagram Protocol User Datagram Protocol
Internet Protocol Internet Protocol
Lower Layers Lower Layers

Communications
Network

138

69
SNMP ARCHITECTURE
SNMP SNMP
Modules spécifiques Management System Managed System

de gestion de réseau Managed


Resources
de fournisseur tels Management Object Management
que la gestion Application Management Application

get-response
get-response
d’erreurs,la sécurité
get-next

get-next

trap
get

trap
set

get

set
SNMP Manager SNMP SNMP Agent
Messages
User Datagram Protocol User Datagram Protocol
Internet Protocol Internet Protocol
Lower Layers Lower Layers

Communications
Network
‰ SNMP est un polling protocole quand l’administrateur demande une question et
l’agent lui répond.
ola commande get obtient la valeur de MIB.
ola commande set stocke une valeur dans la MIB.
ol’ agent renvoie une réponse
139

SNMP MESSAGE TYPES


• L'administrateur envoie ses
messages de trois demandes SNMP Manager SNMP Agent
sur le port 161 UDP du serveur.
get-request
L'administrateur peut envoyer get-response
UDP Port 161
sur n'importe quel port non MIB
affecté. get-next-request
•L'administrateur
UDP Port 161
get-response
implémentera le temporisateur
et la retransmission set-request UDP Port 161
get-response
The agent sends its trap
UDP Port 162 trap
MIB request message to UDP
Port 162.

‰ get-request – obtient la valeur d’un ou plusieurs variables de l’agent. PDU type 0.


‰ get-next-request – obtient la variable prochaine (de variables multiples ) aprés
une variable a été obtenue. agents MIB variable est une table. PDU Type 1.
‰ set-request – positionne la valeur d’une ou plusieurs variables dans le MIB. PDU
Type 2.
‰ get-response - retourne la valeur d’une ou plusieurs variables. C’est un message
retourné par l’agent à l’administrateur en réponse au get-request, get-next-
request et set-request. PDU type 3.
‰ trap operator – envoyée par l’agent à l’administrateur quand une occurrence d’un
événement non défini sur le noeud (message d’alarme). PDU type 4.
140

70
SNMP MESSAGE ENCAPSULATION
SNMP Message

Common SNMP Header get/set-response Headers get/set-response Variable Bindings

SNMP Message Version Community PDU Type Request Error Status Error Name
Format IP Header UDP Header Value Name Value
(0) (0-3) ID (0-5) Index

20 bytes 8 bytes 484 bytes

‰ Version: la valeur transportée sur le champ – 1, 0: SNMPv1 et 1: SNMPv2.


‰ Community: chaîne de 6 caractères, représente le mot de passe en claire,
échangé entre l’administrateur et l’agent. Il définit les droits de l’utilisateur
sur la MIB
‰ PDU Type: Le type de Protocol Data Unit(message type):
PDU type 0 = get-request : lecture des valeurs des objets de la MIB
PDU type 1 = get-next-request : permet de lire les objets qui suivent
dans l’ordre (appels récursifs)
PDU type 2 = set-request : permet de fixer une valeur à un objet
PDU type 3 = get-response : permet l’acquittement des autres primitives
‰ Request ID: positionné par l’administrateur et retourné par l’agent dans
un message get-response afin de coupler demande/réponse et cela permet de
gérer plusieurs demande à la fois par l’administrateur et différencie ses
réponses 141

SNMP MESSAGE ENCAPSULATION


SNMP Message

Common SNMP Header get/set-response Headers get/set-response Variable Bindings

SNMP Message Version Community PDU Type Request Error Status Error Name
Format IP Header UDP Header Value Name Value
(0) (0-3) ID (0-5) Index

20 bytes 8 bytes 484 bytes

‰ Error Status: un entier retourné par l’agent pour spécifier une


condition d’erreur
‰ Error index: un entier spécifiant quelle variable dans le champ in
Variable Bindings (VarBind) était erronée. Il est envoyé par
l’agent dans les cas: noSuchname, badValue, and readOnly errors.
‰ VarBind Field: paires des noms d’objets et leurs valeurs. C’est
une information d’administration associée avec get, get-next and
set requests.

142

71
SNMP ERROR STATUS VALUES

Error Status
An integer returned by the agent to specify an error condition.

Error
Status Name Description

0 noError pas d’erreurs


1 tooBig réponse de taille trop grande
2 noSuchName variable inexistante
3 badValue écriture d’une valeur invalide
4 readOnly essai de modification d’une variable en lecture seule
5 genErr autre erreur

143

SNMP MESSAGE ENCAPSULATION SNMP Message

Common SNMP Header trap Header


Trap Variable Bindings

SNMP Message Version Community PDU Type Enterprise Agent Trap Type Specific Time
Format IP Header UDP Header Name Value
(0) (4) Address (0-6) Code Stamp

20 bytes 8 bytes 484 bytes

‰ PDU Type: Le type du Protocol Data Unit(message type). PDU type 4


trap (alarme ou évènement), envoyé par l’agent vers l’administrateur.
‰ Community: représente le mot de passe en claire, échangé entre
l’administrateur et l’agent.
‰ Enterprise: indique le type d’objet généré et identifie le type d’opération
système
‰ Agent Address: indique l’adresse IP de l’agent qui à généré le trap
‰ Trap Type: un entier de 0-6 valeurs, qui identifie le type de trap
envoyé de l’agent vers l’administrateur.

144

72
SNMP TRAP TYPES
Trap
Type Name Description
0 coldStart Initialisation de l'agent

1 warmStart Réinitialisation de l'agent

2 linkDown Passage de l'interface à l'état bas (première variable)

3 linkUp Passage de l'interface à l'état haut (première variable)

4 authenticationFailure Emission par le manager d'une communauté invalide

5 egpNeighborLoss Passage d'un homologue EGP à l'état bas (première variable


indiquant l'@ IP de l'homologue)

6 enterpriseSpecific cf. champ spécifique pour avoir de l'information

145

SNMP MESSAGE ENCAPSULATION

SNMP Message

Common SNMP Header trap Header


Trap Variable Bindings

SNMP Message Version Community PDU Type Enterprise Agent Trap Type Specific Time
Format IP Header UDP Header Name Value
(0) (4) Address (0-6) Code Stamp

20 bytes 8 bytes 484 bytes

‰ Specific Code: spécifie le type d’événement produit taux


d’erreurs/traffic, saturation max. de la gateway,….etc.
‰ Time Stamp: indique le temps passé depuis l’initialisation
de l’agent (quelques centaines de seconde)
‰VarBind Field: Variables que l’agent peut envoyer à
l’administrateur. Couples de nom et de valeurs pairs a
variable.

146

73
MANAGEMENT INFORMATION BASE
SNMP Manager SNMP Agent
get-request
UDP Port 161
get-response

get-next-request
UDP Port 161
get-response
MIB MIB
set-request UDP Port 161 Management Information
Management Information get-response
Base
Base
UDP Port 162 trap

‰ le management station interagit avec les agents utilisant SNMP protocol.


‰ L’agent se refere à sa Management Information Base (MIB) pour avoir des
détails sur les données associées
‰ La MIB définit tous les network objects (eg., router, interface, counts, etc.)
pour être administrés ou contrôlés. C'est la base de données maintenue par l'agent
que l'administrateur peut interroger ou positionner
oLa MIB est composée des object groups comme IP, UDP, TCP, SNMP, etc qui
sont décrit dans une Structure and Identification of Management
Information(SMI).
oUn object group est composé des séries of objects (bridges, routers, packet
switch, modems, etc) qui sont important pour être administrés
oUn object to be managed est décrit dans un standard en utilisant Abstract
Syntax Notation One(ASN.1).
147

LA MIB
SMI SMI

MIB

Structure of Management Information


Object Descriptor Description Identifier
Syntax
Definition
Access
Status
Object Fields

‰ Le SMI définit un ensemble des règles utilisées pour définir et


identifier les variables MIB
‰ La MIB definite tous les network objects
oLa description d’un object suit le format suivant: Object Descriptor, Syntax,
Definition, Access and Status.
‰ L’ Object Descriptor ID est composé de deux champs:
o Un nom (OID) and
o Une syntaxe qui définit (on type et son codage) au niveau de Global
Registration Tree.

148

74
THE INTERNET REGISTRATION TREE

root

itu-t(0) joint itu-t/iso(2)


z The tree is used to assign object identifiers.
iso(1)
z Object Identifiers are formed through
concatenating numeric identifiers.
z The Internet subtree is owned by the IAB and org(3)
managed by the IANA.
The mgmt(2) subtree is managed by the IAB.
dod(6)
The IAB also manages the private(4) subtree.
The private enterprise can define new MIB
object within their node. internet(1) 1.3.6.1
directory(1) mgmt(2) experimental(3) private(4) security(5) snmpv2(6) mail(7)

mib-I(1)
sysDescr = 1.3.6.1.2.1.1.1

system(1)
snmp(11)
interface(2)
sysDescr(1) sysUptime(3) address transmission(10)
ip(4) icmp(5)
tcp(6) udp(7) egp(8)
(1.3.6.1.2.1.1.1)

sysObjectID(2)
translation(3)
(1.3.6.1.2.1.1.3)

(1.3.6.1.2.1.1.2)

149

THE INTERNET VENDOR SUBTREE

root

itu-t(0) joint itu-t/iso(2)


iso(1)
z The tree is used to assign object identifiers.
z Object Identifiers are formed through
concatenating numeric identifiers. org(3)
z The Internet subtree is owned by the IAB and
managed by the IANA.
The mgmt(2) subtree is managed by the IAB. dod(6)
The IAB also manages the private(4) subtree.
The private enterprise can define new MIB internet(1) 1.3.6.1
object within their node.
directory(1) mgmt(2) experimental(3) private(4) security(5) snmpv2(6) mail(7)

enterprises(1)

IBM(2) Novell(23) Oracle(111) Codex(449) 3M(686)


UNIX(4) Cabletron(52) Microsoft(311) MCI(515) Netframe(837)

150

75
THE INTERNET REGISTRATION TREE

1.3.6.1.2
mib-I(1)

system(1) interface(2) snmp(11)


sysDescr(1) sysServices(7)
sysLocation(6) address transmission(10)
sysObjectID(2)
ip(4) icmp(5)
tcp(6) udp(7) egp(8)
sysName(5)
sysUptime(3) sysContact(4) translation(3)

zSystem object describes 7 variables


name and version of the hardware, operating system and networking
software.
hierarchical name of the group.
reinitialization time of management application.
contact person, object location and services offered.
zInterface object describes 23 variables
number of network interfaces supported.
interface type below IP (Ethernet, T-R, etc).
datagram size interface can handle.
interface speed(b/s).
interface address.
interface operational state(up/down).
interface traffic received, delivered , discarded and reason.
151

THE INTERNET REGISTRATION TREE

1.3.6.1.2
mib-I(1)

system(1)
snmp(11)
interface(2)
address transmission(10)
translation(3)ip(4) icmp(5) tcp(6) udp(7) egp(8)

z Address Translation object describes 3 variables


address translation tables for the network-physical address translation.
This group was dropped in MIB-II since its functions now reside in the IP group.
z Internet Protocol(IP) object describes 42 variables
forwarding or discarding datagrams by device.
datagram ttl value originated at this site.
device traffic received, delivered, discarded and the reason.
fragmentation operation
address tables/subnet mask.
routing tables to include destination address, distance metrics, age of route,
next hop, how learned(RIP, etc).

152

76
THE INTERNET REGISTRATION TREE

1.3.6.1.2
mib-I(1)

system(1)
snmp(11)
interface(2)
address icmp(5) udp(7) transmission(10)
ip(4) egp(8)
translation(3) tcp(6)

z ICMP object describes 26 variables


ICMP messages received and sent.
problem statistics(destination unreachable, time-exceeded, etc.)
z TCP object describes 19 variables
retransmission algorithm.
max/min retransmission values
TCP connections number supported
state transition (open to close) operations
traffic received/sent
each connections port/IP number
z UDP object describes 6 variables
traffic received/sent
problems encountered

153

THE INTERNET REGISTRATION TREE

1.3.6.1.2
mib-I(1)

system(1)
snmp(11)
interface(2)
address translation(3) icmp(5) udp(7) transmission(10)
ip(4) egp(8)
tcp(6)

z egp object describes 20 variables


traffic sent/received.
problems encountered.
neighbor addresses.
egp neighbor state.
z transmission object describes 0
variables(future transmission MIBs)
contains MIBs for transmission systems(e.g. ATM, FDDI,
X.25,etc.)
added in MIB-II
z snmp object describes 29 variables
objects dealing mostly with error conditions
added in MIB-II 154

77
THE MANAGEMENT INFORMATION BASE
SMI SMI

MIB
Integer

Octet String
Structure of Management Information Object Descriptor Object Identifier
Syntax IP Address
Definition Counter
Access Gauge

Status Timeticks

Object Fields

zLa Syntaxe décrit le type d’information(datatypes qui sera passé


dans l’objet entre l’agent et le NMS (serveur)). datatypes sont :
Integer est utilisé pour énumérer une liste de possibilités (e.g.,
MTU), indiquant des limites supérieure et inférieure d’un port (0-
65535)
Octet string est une séquence des octets où chaque byte a une valeur
entre 0-255. Il peut être employé pour représenter Par exemple:
DisplayString peut contenir des caractères “texte” que décrit
un sysDescr,
PhysAddress peut contenir les 6-octet Ethernet physical
address, or
IpAddress peut contenir les 4-octet IP Internet address.

155

THE MANAGEMENT INFORMATION BASE


SMI SMI

MIB
Integer

Octet String
Structure of Management Information Object Descriptor Object Identifier
Syntax IP Address
Definition Counter
Access Gauge

Status Timeticks

Object Fields

Object Identifier appelé comme trouvé dans la structure arborescente.


Par exemple, 1.3.6.1.4.1.9.1.1 est la marque de produit (sysObjectID) pour Cisco
qui est dans le sous-arbre d'entreprise privée
IP Address est une chaîne d’octets de longueur 4, spécifie
l’adresse IP.

156

78
THE MANAGEMENT INFORMATION BASE
SMI SMI

MIB
Integer

Octet String
Structure of Management Information
Object Descriptor Object Identifier
Syntax IP Address
Definition Counter
Access Gauge

Status Timeticks

Object Fields

zdatatypes sont:
 Counter est un entier non négatif, utilisé pour le comptage des
datagrammes (e.g. datagrams sent/received)
 Gauge32
est un compteur variable non négatif qui s’incrémente et se
décrémente (4,294,967,295)(e.g., TCP connections, queue lengths,
etc.). 32

 TimeTicks est un entier (compteur) non négatif, qui peut compter


des centaines de secondes (ms) depuis l’événement. Par exemple,
sysUpTime est le nombre des centaines de ms que le matériel est en
état haut

157

THE MANAGEMENT INFORMATION BASE

SMI SMI

MIB

Structure of Management Information Object Descriptor


Syntax
Description
Access
Status
Object Fields

zLe reste des champs sont :


 Description est le texte ordinaire qui décrit ce que l'objet . Ce champ est
prévu pour l'interprétation humaine par exemple, que le champ pourrait décrire
les types de données dans un domaine identifié comme dataCnt.
 Access spécifie qui est admis et avec le type d’accès. L’ accès
spécifie est Read only, Write only, Read-Write, est non
accessible.
 Status indique l’état de description de l’objet current,
obsolete or deprecated (désapprouvée) (sur le chemin à être
obsolette)

158

79
SNMPv1 LIMITATIONS
1. L’authenticfiation est inadéquate car le nom de
community est placé en clair dans un message SNMP

2. SNMP trap directed polling peut être générer


d’échange multiple de trafics entre l’administrateur et
les agents. si le réseau est congestionné, des messages
SNMP peuvent être perdus

3. SNMP standards permet de définir la proprietary


MIBs .
qui peut mener aux problèmes d'interopérabilité
4. Les variables MIB peuvent être sélectionnés “polled
separately”, i.e. le MIB entier ne peut pas être cherché
avec une commande simple
159

SNMPv2 ENANCEMENTS

1. A get-bulk-request permet au NMS, la recherche par bloc de


données ( un tableau) contrairement au get-requests.
2. A inform-request permet à un administrateur d’envoyer une
information à un autre administrateur (référencement d’une
donnée à un tiers (un proxy))
3. Définit plusieurs Management Information Bases.
4. Fournit des options de sécurité pour l’ options for
authentification et integrity, access controls, et security and
privacy.
5. Le message trap a le même format comme les messages
get/set
6. Un agent peut mettre un error code dans un champ de pour
une qui ne peut pas être recherchée
7. A locking function pour empêcher l’administrateur d’écrire au
même agent
8. Les agents peuvent recevoir une confirmation de leurs
messages d’événement (trap) 160

80
SNMPv2 MESSAGE TYPES
• L'administrateur envoie ses
messages de trois demandes SNMP Manager SNMP Agent
sur le port 161 UDP du serveur.
L'administrateur peut envoyer get-request
sur n'importe quel port non
UDP Port 161
response MIB
affecté.
•L'administrateur get-next-request UDP Port 161
implémentera le temporisateur response
et la retransmission set-request
UDP Port 161
response
MIB

z get-request - cherchez la valeur d'une ou plusieurs variables de l'agent.


SNMPv2 fournira une réponse partielle tandis que SNMPv1 est atomique (tous ou
rien). PDU type 0.
z get-next-request - cherchez la prochaine variable (des variables multiples)
après qu'une variable ait été cherchée. SNMPv2 traitera autant de variables
car possible tandis que SNMPv1 est atomique. PDU Type 1.
response - renvoyez la valeur d'une ou plusieurs variables.C'est un message
retourné par l'agent à l'administrateur en réponse au
the get-request, get-next-request et the set-request. Il s'est raccourci dans
SNMPv2 à la réponse juste. PDU type 2.
z set-request - placez la valeur d'une ou plusieurs variables dans le noeud MIB.
Une opération d'ensemble est exécutée en deux phases. Chaque variable est
validée et si on échoue l'opération entière échoue. Si la première phase réussit
alors la deuxième phase effectue l'opération. SNMPv1 et SNMPv2 sont 161
atomiques. PDU Type 3.

SNMPv2 MESSAGE TYPES


• L'administrateur envoie ses
messages de trois demandes SNMP Manager SNMP Agent
sur le port 161 UDP du serveur. get-request
L'administrateur peut envoyer response
UDP Port 161

sur n'importe quel port non MIB


affecté. get-next-request
UDP Port 161
•L'administrateur response
implémentera le temporisateur set-bulk-request
et la retransmission response
UDP Port 161

The agent sends its trap


UDP Port 162 trap
MIB request message to UDP
Port 162.

z get-bulk-request - c'est une nouvelle opération pour permettre la


récupération d'une quantité massive de données avec une opération simple. Elle
agit semblable comme get-next-request. PDU type 5.
z inform-request - permet à un administrateur SNMP d'envoyer l'information
choisie à un autre administrateur SNMP. Semblable au trap,sauf que inform-
request reçoit une confirmation le récepteur et lui peut rendre compte d'un
événement beaucoup plus complexe. PDU type 6.
z trap – l’agent notifie l’administrateur quand un évenement anormal
produit au niveau du noeud. Comme SNMPv1 sauf il utilise le même
format commes les autres opérations sauf get-bulk-request. PDU type
7.
z report - l'utilisation et la sémantique ne sont pas actuellement définies. PDU
type 8 162

81

Vous aimerez peut-être aussi