• Aucun résultat trouvé

Domain Name System. Schéma hiérarchique. Relation

N/A
N/A
Protected

Academic year: 2022

Partager "Domain Name System. Schéma hiérarchique. Relation"

Copied!
15
0
0

Texte intégral

(1)

IP assure service sans connexion

ICMP envoi de messages entre couches IP de ≠ nœuds

IGMP gestion appartenance à un groupe Xcast

TCP assure service fiable avec connexion

FTP transfert fichiers

SMTP messagerie électronique

TELNET présentation d’écran

Domain Name System

Relation nom-@IP-type-TTL

avant: fichier /etc/hosts diffusé vers autres machines

depuis 1984: utilisation DNS qui évite:

congestion serveur unique

maintenance centralisée

3

Schéma hiérarchique

par noms de domaines

domaine: unité pour construction et gestion de noms (comme rép. dans SGF)

hiérarchie de noms a une racine multiple : 
 domaines de 1° niveau (TLD)

4

com org edu fr mc

microsoft.com sun.com java.sun.com icann.org mit.edu

cs.mit.edu

unice.fr

deptinfo.unice.fr

gouv.mc

domaines génériques domaines géographiques

(2)

TLD

domaines géographiques: fr, mc, it, jp...

domaines d’activité génériques: com, org, edu, net

5

com org edu fr mc

microsoft.com sun.com

java.sun.com icann.org mit.edu

cs.mit.edu

unice.fr

deptinfo.unice.fr

gouv.mc

domaines génériques domaines géographiques

Attribution des noms

dans chaque domaine, noms attribués par autorité responsable

TLD par ISOC via groupe technique

domaines “publics” (com, org, net...) une seule autorité centrale: ICANN

domaines “géographiques”: autorité nationale: 


AFNIC en France, Namebay à Monaco

pour les domaines inclus: autorités locales (entreprise, administration,...)

6

Domaines et zones

Domaine: unité de désignation (espace de noms)

Zone: unité de gestion administrative 
 (serveur de noms propre à la zone)

souvent, un domaine est une zone mais une zone peut regrouper plusieurs domaines administrés en commun

7

Problème et principe

Donnée: nom symbolique d’une machine

Sortie: @IP de la machine

Principe:

fonctionnement décentralisé

hiérarchie de serveurs calquée sur hiérarchie de zone

fonctionnement par

caches (infos dupliquées)

indicateurs (informations valides pdt tps donné)

info accessible par ≠ voies et confirmée si nécessaire

favorise tolérance aux fautes

8

(3)

Fonctionnement

≥ 2 serveurs de nom par zone

performances et tolérance aux pannes

maintien table Resource Records (nom domaine-@IP) : (nom, valeur, type, durée de vie)

recherche: soit serveur dns connaît l’@IP, soit il a l’adresse d’un autre serveur qui peut la connaître.

mode récursif

mode itératif

9

Fonctionnement

(1) le client envoie sa requête DNS à un serveur récursif choisi dans le fichier /etc/resolv.conf. Le client essaye au besoin plusieurs serveurs.

(2) si le serveur a autorité sur la zone du domaine de la requête (authoritative),il répond directement avec les informations (gérées) localement

(3) sinon il va rechercher le serveur cible du domaine de la requête, il relaye la requête vers ce serveur et relaye ensuite la réponse vers le client. Pour la recherche du serveur cible, on va :

(a) choisir un parent (connu localement) du domaine recherché : c’est ici soit la racine, soit le domaine que l’on gère pour une requête concernant un descendant de ce domaine local.

(b) interroger successivement les serveurs (informations NS) pour parcourir la branche entre le serveur parent et le serveur cible.

Cet algorithme simplifié possède deux modes de résolution : récursif et itératif. Le premier consiste à demander à un serveur de résoudre complètement la requête et de renvoyer uniquement la réponse finale. Le mode itératif consiste à demander à un serveur la meilleure information dont il dispose par rapport à la question, c’est-à-dire soit la réponse soit la référence à un serveur « plus proche » de la réponse. On itère ensuite de serveur en serveur.

10

Fonctionnement

11

Accélération: serveurs mettent en cache

(nom,@IP) récemment résolus; rare de contacter

≥1 serveur

Autorités: tous les serveurs ne sont pas mis à jour en permanence. Seuls certains le sont et font autorité:

authoritative answer

non authoritative answer

Fonctionnement

12

client domaine

D

serveur local à D

serveur racine

serveur unice.fr

1

2

3 5 4 6

smtp.unice.fr? smtp.unice.fr?

smtp.unice.fr?

134.59.1.112 134.59.1.112

*.unice.fr.

taloa.unice.fr.

taloa.unice.fr .

cache

smtp.unice.fr, 134.59.1.112

le + proche

récursif ou Itératif ?

(4)

Serveur racine

contient noms de domaine du second niveau et

@IP correspondantes

unice.fr. 86400 IN NS taloa.unice.fr.

unice.fr. 86400 IN NS dns.inria.fr.

unice.fr. 86400 IN NS samoa.unice.fr.

serveur racine largement dupliqué.

plus serveur est haut, + il a de copies et + TTL est grand

13

Serveur de zone

contient

(noms,adresse) d’hôtes des domaines de zone

[(noms,adresse) de serveurs de sous-domaines]

i3s.unice.fr. 86400 IN SOA taloa.unice.fr.

SOA: start of authority (serveur racine)

14

Contenu fichiers

// file db.admrx.test

$TTL 3600

@ IN SOA ns1.admrx.test. root.admrx.test.

(

1 ; Serial 3600 ; Refresh 900 ; Retry 3600000 ; Expire 3600 ) ; Minimum

@ IN NS ns1.admrx.test.

; Machine Names

// nom et adresses des hotes selon l'exemple ci-dessous:

ns1 IN A 192.168.1.1

15

// file db.1.168.192

$TTL 3600

@ IN SOA ns1.admrx.test. root.admrx.test. ( 20021111 ; Serial 3600 ; Refresh 900 ; Retry 3600000 ; Expire 3600 ) ; Minimum IN NS ns1.admrx.test.

; Machine Names

11 IN PTR host1.admrx.test.

12 IN PTR host2.admrx.test.

1 IN PTR ns1.admrx.test.

et modifier le fichier resolv.conf:

search admrx.test unice.fr nameserver 192.168.1.1 nameserver 134.59.130.1

PTR: pointeur vers une autre partie de l’espace des noms de domaine

Contenu tables et RR

type: indique comment interpréter le champ valeur

A(AAAA): valeur @IPv4 (@IPv6)

NS: valeur nom de domaine d’un serveur de nom

CNAME: nom canonique (si alias)

MX: mail...

classe:

IN (internet)

CH (pour chaosnet LAN du MIT ‘70)

durée de vie: TTL (pour rafraîchir)

16

(5)

Format des messages

Les messages de requête et de réponse ont le même format.

soit au-dessus d’UDP

soit au-dessus de TCP

sur le port 53 dans les 2 cas, TCP si la taille du message dépasse 512 octets

17

id: nb de 16 bits pour requête, réponse utilise le même nb

flags:

query or reply

récursion demandée

récursion disponible

réponse authoritative

18

identification flags nombre questions nombre de réponses nombre de authority nombre de additional

questions (# variable) réponses (# variable)

authority additional

12 octets

les 4 champs «nombre de» donnent le nombre d’objets des 4 section suivantes

questions: RR incomplets {nom-dns,type,classe}

réponses, auth, add: RR complets:


{nom-dns,type,classe,(RDATA_LENGTH),RDATA}

19

0000 00 50 56 a7 4e d0 00 22 41 36 00 40 08 00 45 00 .PV.N.." A6.@..E.

0010 00 3b 65 dc 00 00 40 11 f5 fe 86 3b 09 60 86 3b .;e...@. ...;.`.;

0020 09 01 cf e1 00 35 00 27 1f 10 54 3a 01 00 00 01 ...5.' ..T:....

0030 00 00 00 00 00 00 04 73 6d 74 70 05 75 6e 69 63 ...s mtp.unic 0040 65 02 66 72 00 00 01 00 01 e.fr.... .

ethernet IPv4

UDP id flags (query)

nb quest nb rép

nb aut

nb add

class IN type A

04 73 6d 74 70 05 75 6e 69 63 65 02 66 72 00

s m t p u n i c e f r

4 5 2 0

Résolution de nom

tout hôte connaît @IP de serveurs de noms

adresses fournies aux utilisateurs par FAI

inscrites à la main dans les tables de configuration pour l’accès à internet

20

(6)

Utilitaires unix

Plusieurs utilitaires pour faire une requête dns:

host

nslookup

dig

21

Commande host

effectue requête (@IP à partir du nom ou inverse)

host example.com [ns.alternatif.ex]

host -t type example.com

l’option -t à valeurs dans

a : adresse

mx : champ mail

ns: serveur de noms

cname: nom cannique

soa: start of authority

l’option -a affiche tous les champs

l’option -6 effectue une requête IPv6

22

Commande dig

effectue requête (@IP à partir du nom; requête inverse avec option -x)

dig example.com

options

+trace : effectue requêtes itératives

+short : réponse courte

+ nssearch : cherche soa: start of authority

+all : affiche tous les champs

+nocomment : retire les champs commentaires

mx : champ mail

AAAA effectue une requête IPv6

serveur alternatif par dig @ns.alternatif.ex example.com

23

Fichiers unix correspondants

fichiers consultés lors de requêtes, pour trouver l’adresse d’une machine ou d’un serveur dns

/etc/hosts: donne la correspondance entre noms canoniques et adresses IP (locales)

/etc/resolv.conf: fournit les adresses de serveurs dns (jusqu’à 6):

nameserver 134.59.1.7 # IP du serveur dns

domain unice.fr # nom du domaine local

Toute réponse dhcp écrase /etc/resolv.conf

24

(7)

Mail

Le mail en 1980

protocole de transfert de fichier;


première ligne = adresse destinataire

limitations

pas diffusion à un groupe

pas de structuration interne

peu d’intégration Interface/transmission

envoi autre chose que du texte impossible

Arpanet 1982

conception système + élaboré (par étudiants)

devenus des normes

transmission dans RFC 821

format message RFC 822 (puis 2821 et 2822)

vainqueur du X.400 CCITT (trop complexe)

Architecture

Mail composé des sous-systèmes:

agent utilisateur (MUA): lecture et envoi;


programmes locaux interagissant avec le système de messagerie par CLI ou GUI

agent de transfert (MTA): acheminement;


processus démons assurant le transport

agent de dépôt (MDA): lien avec BAL utilisateur

(8)

Schéma général

Fonctions de base

composition

transfert: processus d’acheminement

automatique de l’émetteur vers le destinataire

notification: mail remis, rejeté ou perdu?

affichage: lecture des messages

disposition: traitement mail (lire, détruire, enregistrer...)

Enveloppe vs contenu

à: Bruno Martin Adresse Priorité Chiffrement

de:

Adresse Objet Texte

Enveloppe

Message

Encapsulation

En-têteCorps

Format de message RFC 822

En-tête Description

To: @DNS

Cc:

Bcc:

From: auteur

Sender: @messagerie expéditeur Received: info sur chaque MTA Return-path: identifie chemin retour

(9)

Format de message RFC 822

En-tête Description

Date:

Reply-To:

Message-Id: n° réf. unique mail In-Reply-To: id mail précédent References: autres ids pertinents Keywords:

Subject:

X-... pour usage privé

MIME ( RFC 1341 2045..2049 )

Multipurpose Internet Mail Extension

prend en charge

caractères accentués ou non latins

messages non textuels

par ajout d’une structure au corps du message et de règles de codage tout en utilisant le format RFC822

En-têtes

En-tête Description

Mime-version N° version

Content-Description descr. contenu

Content-Id id. unique

Content-Transfert-Encoding méthode encapsulation (5+1)

Content-type type et format contenu

(10)

base64

chaque paquet de 6 bits= 1 caractère ASCII

A=0..Z=25 a=26..z=51 0..9 +=52 /=63

== dernier groupe ne contient que 8 bits

= dernier groupe ne contient que 16 bits

6 bits 6 bits 6 bits 6 bits

b64(ex=101,120)= ‘ZXg=‘ =25,23,32,63 01100101,01111000 = ‘ex’

011001,010111,1000.00,- - - = ‘ZXg=‘

Quoted-printable

format de codage de données sur 8 bits, qui utilise exclusivement les caractères alphanumériques ASCII (7 bits).

QP remédie à ce problème, en procédant par:

Un octet correspondant à un caractère imprimable de l'ASCII est représenté tel quel

Un octet qui ne correspond pas à un caractère imprimable de l'ASCII est représenté par un signe égal, suivi de son numéro en hexadécimal.

Exemple: "é" en latin-9 par 233 en QP "E9"

Schéma général

Transfert de messages

MTA se charge de l’acheminement des mails

MUA construit message et le transmet au MTA qui utilise certains des champs d’en-tête pour construire l’enveloppe effective

MTA = smtpd, serveur de mails, IP identifiée dans DNS par MX-record

(11)

Réception MTA

en provenance de:

MUA: FAI propose un service de MTA permettant au MUA d’envoyer tous ses mails par son MTA

MTA: la plupart des MTA servent à

retransmettre dans un réseau les messages reçus en ajoutant un champ “Received”

Rejet message par MTA

serveur non concerné: config MTA n’accepte que les mails expédiés depuis le réseau du FAI

non-respect des normes: si le mail est non conforme ou en cas de non respect du smtp

expéditeur black-listé: serveur réputés utilisés par spammers sont black-listés et certains MTA

rejettent les mails provenant de ces serveurs

notification rejet n’est plus systématique

Transfert

mails non rejetés sont transférés au MTA du destinataire par smtp

si le MTA est le MTA traitant le mail, il est transféré à un MDA (ou traité directement) par protocole LMTP (local mail transfer proto)

dépend du serveur; pour certains, MTA=MDA

Mise à jour du “Return-Path”

smtp

(12)

Conversation (simplifiée)

Session SMTP

Codes de retour

2xx commande exécutée sans erreur 3xx demande en cours d’exécution 4xx erreur temporaire; ré-essayer + tard 5xx demande invalide et non traitée

http://www.greenend.org.uk/rjk/tech/smtpreplies.html

Rôle du MX-record

MTA expéditeur fait requête sur le champ MX du DNS de chaque destinataire

En réponse, il obtient une liste ordonnée de serveurs de mails dans chaque domaine

MTA établit session smtp avec un des serveurs

Si pas de MX, MTA fait une requête sur le A- record (@IPv4)

(13)

Requête MX

Serveur secondaire

≥2 MTA par réseau (primaire et secondaire)

secondaire = store and forward

prend le relai en cas de pb

ne fournit pas tjs le service

mise en attente message jusqu’au redémarrage du primaire

Indisponibilité

MTA1 transfère vers MTA2 indisponible

MTA1 met mail en file attente

re-tente la transmission plusieurs fois

Après un nb d’essais infructueux (ou d’un time out), le message est rejeté

MTA classiques

85% des mails sont gérés par:

sendmail

postfix

exim

Microsoft exchange server

tous implémentent un démon smtp

(14)

Spammers’ technique

utilisent les “relais ouverts”

utilisent le MX-serveur secondaire

pas les mêmes techniques anti spam

Open relay

raisons historiques: pas authentification expéditeur (falsification possible)

FAI limitent usage MTA aux machines de son seul domaine

sinon= open relay qui accepte n’importe qui

Remède

SMTP normal= pas d’authentification de l’utilisateur

ajout d’une extension SMTP-AUTH

ne réussit pas à s’imposer; utilisation limitée

recherches en cours, par groupe de travail Anti- Spam Research Group de l’IRTF.

Schéma général

(15)

MDA

MDA

Rôle:

distribution courrier dans les BAL utilisateurs

filtres différents

anti-spam, anti-virus, personnalisés

Les plus classiques

Post Office Protocol (tcp 110)

Internet Message Access Protocol (tcp 143)

[webmail]

les utiliser dans leur version sécurisée (pop3s 995 et imaps 993)

POP IMAP

single access multiple access transfert sur client conservé sur serveur

actions sur client actions sur serveur folders sur client folders sur serveur

Références

Documents relatifs

En revanche, certaines utilisations comme le continu (streaming) nécessitent l'emploi d'un protocole plus léger et plus rapide, comme UDP (User Datagram Protocol ou protocole

PHP langage spécialisé pour les applications web (utilisé en conjonction avec Apache) ; MySQL comme serveur de base de données. 5 Projet : réalisation

– Comment casser la relation forte entre client et serveur, comment rendre le client indépendant du serveur pour l'appel.

Ainsi, lorsqu'un utilisateur se connecte à internet à l'aide d'une application cliente configurée pour utiliser un serveur proxy, celle-ci va se connecter en premier lieu au

 Caractériser cette socket en terme de communication : -au moins un numéro de port (associé au service) -éventuellement une adresse IP (interface cible).  Lui permettre de

//On associe un paquet à un buffer vide pour la réception DatagramPacket paquet =new DatagramPacket(buffer,buffer.length());. //On crée un socket pour écouter sur le

Serveur en gestion multi--clients clients en en mode connecté. mode

◮ Réponse : message transmis par un serveur à un client suite à l’exécution d’une opération, contenant le résultat