LE RESEAU DES RESEAUX : INTERNET
        I-1 Historique :
    L'histoire commence en 1964 lorsque, dans une petite université de la Nouvelle-Angleterre l'Université de Dartmouth où on donna à deux personnes le moyen de travailler en même temps sur un même ordinateur. Avant la fin de la même année, plus de vingt (20) personnes, dont l'une en Californie, pouvaient travailler en même temps en réseau (Network) sur un même ordinateur. 
   En 1971, des points représentant 37 écoles et collèges américains ainsi qu'un point sur Montréal qui sont reliés en étoiles autour de Dartmouth. Le tout constitue alors un réseau de terminaux qui permet déjà à plus de 10000 professeurs et étudiants de se brancher sur l'ordinateur de l’Université de Darmouth.
    En fait, l'histoire d'Internet, qu’on reconnaît généralement, commence en Californie, le 21 novembre 1969. Ce jour là on réalisa le lien entre deux ordinateurs à 500 kilomètres de distance. On venait effectivement d'interrelier  deux réseaux (Internetwork) du même type que celui de Dartmouth décrit ci-dessus.
  A partir de terminaux ressemblant à de grosses machines à dactylo sur pattes, les chercheurs reliés en réseau à l'un ou l'autre de ces ordinateurs pouvaient désormais entrer en communication avec l'autre ordinateur et engager une session Telnet pour utiliser les services offerts sur l’ordinateur distant. Par FTP (File Transfer Protocol), ils peuvent des fichiers d’un ordinateur a un autre qui était régulièrement à leur disposition. C'était très pratique pour ces scientifiques et ces chercheurs qui devenaient ainsi capables désormais de  s'échanger des services et des informations à distance. N'oublions pas que le temps d'utilisation d'un ordinateur était très précieux au début des années 1970, où l'armée américaine voulait que ses ordinateurs continuent de se parler entre eux même s'il advenait une guerre nucléaire et le projet d'étude mené autour du réseau formé par la liaison entre ces deux ordinateurs du Département de la défense américain portait le nom d'Arpanet.
I-2 Caractéristiques techniques :
    Les concepts de base de l'Internet pour que chaque ordinateur qui y participe passe ses communications aux ordinateurs auxquels il se relie se base sur : 
   I-2-1 Packet switching :
     Le principal objectif de l’Internet est de transmettre des données d’un ordinateur à un autre. Lorsqu’un ordinateur hôte souhaite envoyer un message à un autre ordinateur,  deux cas se présente :
►	Soit le destinataire est relié en connexion directe avec la source, dans ce cas il peut envoyer directement le message.
►	Soit il ne l’est pas, et dans ce cas l’expéditeur envoie le message à un ordinateur qui le fait suivre dans tout le réseau pour atteindre sa destination.
   De plus, un message est transmis à travers le réseaux Internet sous forme de fragments appelés « paquets ». Chaque paquet comporte l’adresse de l’expéditeur et celle du destinataire. La transmission de ces paquets se fait par des protocoles de transmission. Le plus important  est le protocole IP[partie 2], ainsi les paquets sont transmis de point en point jusqu’à l’arrivé, et le relay de ces paquets est effectuer par les informations situées leurs entête . 
   I-2-2 Protocoles standards :
    L'Internet est basé sur toute une série de protocoles de communication et de standards de codage des données. Plusieurs de ceux-ci sont incompatibles avec ceux de l'OSI mais s'imposent par la place qu'ils occupent. 
    L'Internet Protocol (IP) reconnu comme composante distincte de TCP (Transmisssion Control Protocol) dans la norme TCP/IP adoptée en 1975 est la contribution la plus importante laissée à l'Internet d’aujourd’hui par le projet Arpanet. L'équipe d'Arpanet a réussi en 1980 à faire accepter TCP/IP comme norme militaire puis à l'imposer par la suite au reste du réseau avec les résultats que nous voyons aujourd'hui.
    Le protocole IP définit le fondement de toute communication de données sur l’Internet. Qu’il s’agisse d’un navigateur Web, d’un serveur de news ou d’un accès FTP, les application Internet communique entre elles par le biais du protocole IP, qui définit l’échange de « datagrammes » entre les hôtes et les routeurs. TOUT ce qui doit aller de A vers B, est décomposé en paquets puis transmis.
    Bien que la communication proprement dite soit transparente via IP pour les applications comme pour les utilisateurs, quelques éléments IP parviennent néanmoins jusqu’au niveau de l’utilisateur. Cela concerne notamment la manière dont les hôtes Internet sont adressés. 
    IP propose une entente entre les réseaux, dans laquelle sont définis les principes d’échange de données suivants :
         *Une procédure d’adressage qui permet de désigner clairement l’expéditeur et le destinataire d’un paquet de données, sans tenir compte de son emplacement ni de l’architecture réseau.
         *Un concept relatif au transport des paquets de données, afin que ceux-ci soient acheminés par l’intermédiaire de nœuds entre les différents réseaux de l’expéditeur au destinataire.
         *Un format pour l’échange de paquets, qui place devant les données proprement dites un entête renfermant des informations importantes(comme l’adresse de l’expéditeur ou du destinataire par exemple).
I-3 Type d'applications
    L’internet fournit plusieurs services/applications on en cite celle utiles dans le cadre de ce travail.

         1-3-1 Le Word Wide Web (WWW)
  Le WWW est un système d’informations hypermedia sur Internet. Il est fondé sur l’extension de la technique de l’hypertexte aux réseaux. Le WWW est conçu à partir d’un concept d’hypertexte et hypermédia qui lie des documents et des images. Chaque information qu’on consulte possède des pointeurs qui nous renvoient à d’autres documents sur un sujet donné. Cette information peut contenir du texte, de l’image et même du son.
La popularité du WWW est basé sur trois standards :
         1. HTTP(Hyper Text Transfert Protocol) :
Le HTTP est un protocole d’échange de documents entre un client et un serveur, il est crié par Tim Berners-Lee à CERN.

SERVEUR

CLIENT

  HTTP

                                                           Demande de doc.
                      
                                                              Doc. demandés

Figure 1 : Description de protocole HTTP

                                                  
HTTP fonctionne en mode non connecté : Requêtes du même client sont indépendantes, par exemple : la consultation d’une page qui contient quatre figures nécessite cinq connections.
2.	HTML  (Hyper Text Markup Language) :
     Langage relativement standard de l’Internet, utilisé par les serveurs Web, développé par T.Berners-Lee à CERN(1989).
     Une page HTML contient essentiellement du texte et des simples instructions de formatage et références hypertextes(balise)[partie 2/chapitre1].
3.	CGI(Common Gateway Interface) :
    Le CGI rend capable les application externes tel que le remplissage des formulaire pour faire interface avec les serveurs d’information tel que serveur Web[partie2/chapitre1].

        1-3-2 Le transfert de fichiers :
    FTP(File Transfer Protocol) est le protocole  de transfert de fichier le plus utilisé sur Internet. Il fonctionne suivant le mode client serveur : une machine, le client, contacte une machine, le serveur, et demande un transfert de fichier entre le client et le serveur.
   Sur le client le programme utilisé est ftp(Le programme ftp est une application interactive, qui dialogue avec un utilisateur connecté à un terminal, tandis que FTP n’est qu’un ensemble de spécification).
   Côté serveur, FTP est implémenté sous forme d’un programme autonome, qui tourne sans intervention manuelle et il est invoqué lorsqu’un client le contacte. 
   Pour que l’utilisateur, le client ftp et le serveur réagissent de manière interactive, il est nécessaire de disposer d’une liaison IP interactive entre le client et le serveur.
  Les utilisateurs de l’Internet peuvent avoir accès à des serveurs FTP et répartir ou s’approvisionner des fichiers sur leurs disques locaux.
  Cette fonction leur permet également de s’échanger des documents par voie électronique.
         1.3.3.  Echanges de messages
    C'est la toute première fonction de l'Internet. On peut imaginer toutes sortes d'applications. Par exemple un service simple pourrait être de recevoir les questions des abonnés par courrier électronique et d’y répondre avec la fiche adéquate, que celle-ci soit nouvelle ou déjà présente dans La banque de données personnelle. 
         1-3-4 Les banques de données
    Les serveurs HTTP sont capable de fournir à un autre programme les informations reçues de l'utilisateur à partir d'un formulaire en HTML. Le processus complet est le suivant: 
     Une page d’en-tête propose à l'utilisateur un formulaire (ou des formulaires)pour qu'il indique ce qu'il désire. Ce formulaire peut contenir des cases à cocher, des zones d'édition et des listes de choix. 
L'utilisateur complète le formulaire et clique sur un bouton de ‘confirmations’. Le serveur HTTP reçoit les informations introduites et appelle ces informations dans des paramètres. 
     Les résultats retournés peuvent être des textes, des images ou, idéalement, un nouveau document HTML construit sur mesure avec la réponse à la demande de l'utilisateur.
 I-4 Sécurite dans l’Internet :
L’Internet est une collection internationale de ressources indépendantes :
Pas de base  uniforme culturelle, légal ou législative pour adresser les  « mauvais » conduites.
Pas d’autorité centrale pour réguler le comportement, c’est pour cette raison qu’une prévention  d’intrusion est essentiel à toute politique de sécurité.
Les solutions existants concernant l’intrusion sont :
1/Prévention :
La prévention consiste à stopper toute tentative de connexion de l’extérieur a une Intranet par :
•	Protection des données contre le vol : pour assurer que personne ne peut lire les données à l’émetteur et le destinataire, en plus le destinataire est sûre de l’origine des données.
    La technique commune est le Chiffrement qui consiste en l’application d’une opération mathématique sur deux entités: les données à transmettre et une clé, qui consiste à effectuer des permutations dans les données à transmettre.

CLE

message

Message crypté

Internet

cryptage

Message crypté

décryp-tage

CLE

message

Figure 2 : Description de proocessus de Cryptage-décriptage

•	Protection contre les attaques externes :
Consiste à mettre en place un logiciel de blocage entre un réseau interne tel que Intranet et un réseau externe exemple Internet, ce logiciel est appelé: FIREWALL, il est constituer de routeurs et serveur proxy.
►	Les routeurs: ont pour rôle de trié les paquets IP en se basant sur l’information contenu dans l’entête en se servant d’un ensemble de règles, l’inconvénient des routeurs réside dans la difficulté d’établir les règles de triage d’où l’authentification de l’utilisateur.
►	Les serveurs proxy: processus serveur de fonction TCP/IP, un utilisateur contacte le serveur proxy en utilisant une application TCP/IP, ainsi le serveur proxy collecte des informations de l’utilisateur (nom, IP, adr,..) et contacte la machine distante
    et « relay » les paquets IP entre les deux point de communication. 

CLIENT

Serveur proxy

SERVEUR

UTILISATEUR                                                                            MACHINE      DISTANT

☺AVANTAGE
   Facilite a gérer l’authentification des utilisateurs, logging (connexion sur des machines)et accounting(nombre d’accés possible pour chaque utilisateur).
Exemple : Pour contrôler l’accès a  une  imprimante partagée par tout les membres d’une Intranet, il faut crié un serveur proxy qui va servir l’application print.
 INCONVENIENT
un serveur proxy est nécessaire pour chaque application.

2/Détection d’intrusion 
 Les objectifs de la détection des intrusions sont :
1. suivre tout accès a un fichier/système, 
          2. vérifier l’efficacité des mécanisme de protection et d’accès au système,
	        3. noter les attentats de rupture des mécanismes de protection, 
          4. détecter les utilisateurs avec des privilèges hors de leur rôle dans                  l’organisation et
          5. détourner les attentats.

1.4. INTRANET :
Une Intranet est une application des techniques de l’Internet dans une entreprise, l’application la plus connu est l’interrogation de la base de données.
L’architecture client/serveur :  architecture classique  
                                                          middleware                
                     application cliente                                        serveur

Technique de l’Internet : c/s du nouvelle génération

B.D.

                         Navigateur Web             TCP/IP            serveur
                              cliente

Les postes clientes sont homogènes, ils contiennent une seule application : un navigateur (exemple : Internet explorer, Netscape...) à travers lequel se fait l’interrogation de la BD par un mécanisme HTML/CGI.

Navigateur

processus

B.D.

Figure 4: Exécution d’une requête par le serveur

 client            Req.HTML    serveur
                           HTTP                                                                     

Cette architecture n’est pas efficace en terme de consommation de ressource parceque un processus est créer pour chaque requêtes.
Les solutions  pour éviter ce problème sont : 
1. séparation du serveur Web du serveur BD  (figure 5):
 performance, modularité(division des taches selon leurs fonctionnalités)
 fonctionne en permanence, un serveur de requête demande au serveur  permanent d’exécuter la requête et d’interroger la BD.

Script CGI

B.D.

Script CGI

Serveur
permanent

Figure 5 : Utilisation d’un  serveur permanent

Le processus d’interrogation se fait de la manière suivante :
Requête lance un programme CGI
CGI transmet la requête au serveur permanent et c’est lui qui va interroger la BD et renvoi la repense au programme CGI.
 Programme CGI est réduit, il ne se charge plus de l’interrogation de la BD
mais il est exécuté autant de fois qu’il y a de requête.
 la complexité de ce programme est réduit.
 l’ajout d’un logiciel intermédiaire sur le serveur ce qui provoque une augmentation de nombre de communications.
2. utilisation d’une API propriétaire :
 L’utilisation d’une API propriétaire a pour but de diminuer la consommation des ressources du serveur. Des  principaux éditeurs de serveur Web ont ajouté une interface de propriétaire.
Exemples : NETSCAPE (NSAPI), MICROSOFT(SIIAPI).
   Une exception des traitements utilise un mécanisme de Dynamic Linked Library: module logiciel charger en permanent dans la mémoire et partagés par tout les programmes CGI  s’exécutant simultanément sur le serveur.
+  pas de complexité du serveur permanent
-	liée a un serveur spécifique
3. Utilisation du JAVA :
   La première et la deuxième solutions se reposent sur HTTP, l’inconvénient vis avis du SGBD c’est qu’il n y a pas de notion de transaction, a chaque requête il faut ouvrir une connexion.
   L’utilisation de la solution java consiste a installer sur le client des modules java applet, qui se connectent de façon permanente avec le serveur dont ils sont issus.