Chapitre 1 : Internet.

🕐 Historique:

Période Événements Clés
Années 1960
  • Le concept d'un réseau de communication mondial est proposé par Leonard Kleinrock.
  • La première idée d'un réseau ARPANET (Advanced Research Projects Agency Network) a été développée par J.C.R. Licklider.
1969
  • ARPANET devient opérationnel, reliant les universités et centres de recherche.
  • Le premier message Internet, "LO", est envoyé.
Années 1970
  • Le courrier électronique (e-mail) est inventé par Ray Tomlinson.
  • Le protocole TCP (Transmission Control Protocol) est développé par Vinton Cerf et Bob Kahn, formant la base du TCP/IP.
1983
  • Le TCP/IP devient le protocole standard d'Internet.
  • Le domaine ".com" est introduit.
Années 1990
  • Le World Wide Web (WWW) est inventé par Tim Berners-Lee au CERN.
  • Les navigateurs Web comme Netscape Navigator et Internet Explorer deviennent populaires.
1993
  • L'Internet Society (ISOC) est créée pour promouvoir le développement ouvert d'Internet.
  • Le premier navigateur Web graphique, Mosaic, est lancé.
Années 2000
  • L'avènement des médias sociaux et des sites de partage de contenu.
  • L'émergence de services tels que Google, YouTube et Facebook transforme la manière dont nous utilisons Internet.
Années 2010
  • L'expansion continue d'Internet avec la croissance des appareils mobiles et des objets connectés.
  • L'introduction de l'Internet des objets (IoT) et de la 5G ouvre de nouvelles perspectives technologiques.

1. Exercice:

A faire dans le cahier.

L'activité porte sur le routage postale. Ceci afin d'amener à une réflexion concernant le réseau internet.

On considère les 3 documents ci-dessous :

Charles Oyster écrit une lettre à son amie Carla Lobster. À l’aide des documents proposés, répondre aux questions suivantes.

  1. Indiquer quels sont les éléments qui sont précisés sur l’enveloppe de la lettre. A quoi servent-ils?
  2. Lister les différents moyens d'acheminements de la lettre.
  3. Mentionner les informations dont a besoin le centre de tri de Washington pour acheminer la lettre.
  4. Mentionner les informations dont a besoin le centre de tri de Paris pour acheminer la lettre.
  5. Mentionner les informations dont a besoin le postier pour acheminer la lettre.
  6. Selon vous, sur internet, qu'est ce qui joue le rôle des centres de tri? Des adresses postales?

2. Adresse IP :

A copier dans le cahier.

Une adresse IP (avec IP pour Internet Protocol) est un numéro d'identification qui est attribué de façon permanente ou provisoire à chaque périphérique relié à un réseau informatique.

Page wikipedia

3. Comprendre les Adresses IP

4. Exercice:

A faire dans le cahier.

  1. Dans un moteur de recherche, depuis un des ordinateurs du lycée, tapez « what is my ip ? ». Prendre la première réponse. À quoi correspond cette adresse IP ?
  2. Toujours dans le moteur de recherche, tapez « locate IP » et cliquez sur la première réponse. Demandez à localiser l’adresse IP trouvée précédemment. Que constate-t-on ?
  3. Localisez les adresses IP ci-dessous et identifiez à qui elles appartiennent.

    • 65.54.190.30
    • 16.255.255.254
    • 66.102.11.99
    • 18.181.0.31

5. Exercice:

A faire dans le cahier.

Après une recherche sur internet, répondez aux questions suivantes :

  1. Déterminer en quoi consiste une attaque par déni de services.
  2. Déterminer en quoi consiste une attaque de type Phishing.
  3. Déterminer en quoi consiste une attaque de type Ransomware.
  4. Déterminer en quoi consiste une attaque par la pièce jointe.
  5. Déterminer en quoi consiste une attaque par l’homme du milieu.

6. Sous-réseau :

Dans une IPv4, une partie des nombres est liée à l'adresse du sous-réseau et une autre est liée à l'adresse de la machine dans ce sous réseau.

Pour connaître les nombres liés à cela, nous avons besoin de connaître le masque de sous réseau.

Imaginons une adresse IP 192.168.2.4 et que l'on doit indiquer que c'est les trois premiers nombres qui correspondent au sous-réseau:

7. Exemple:

Soit une adresse IP du type 192.168.1.10

8. Exemple d'un réseau :

Dans cet exemple, l'ordinateur 192.168.0.10 veut communiquer avec 192.168.4.12.

En partant du principe que le masque sous-réseau est 255.255.255.0, 192.168.0.10 sait qu'il doit passer par la passerelle 192.168.0.1 pour accéder à un autre sous-réseau car il ne peut atteindre directement 192.168.4.12.

9. Exercice:

A faire dans le cahier.

On considère le réseau ci-dessous :

Vous pouvez d'ailleurs ouvrir ce fichier à l'aide du logiciel filius.

Pour l'ensemble de ces réseaux, le masque de réseau est 255.255.255.0.

  1. Combien compte-t-on de réseaux différents? Donner l'adresse réseau de chacun.
  2. La commande traceroute affiche les différentes adresses IP que traverse une communication entre deux appareils.

    Qu'affiche la commande traceroute 172.1.4.2 si elle est lancée sur l'ordinateur 192.168.0.10 ?

10. Exercice:

A faire dans le cahier.

Vous souhaitez vous rendre de la ville A à la ville B. Une carte schématisée se trouve ci- dessous.

  1. Pour y arriver le plus vite possible, déterminer la route à prendre. On pourra reproduire le graphe en ne mettant que les arêtes correspondant au trajet.
  2. Déterminer la route à prendre pour passer par toutes les villes mais sans passer deux fois par la même.
  3. Préciser comment être sûr du résultat.

11. Exercice:

A faire dans le cahier.

Essayez de trouver dans la carte ci-dessous (si c'est possible ?) :

  1. le chemin le plus court entre la ville A et N;
  2. le chemin le plus long entre la ville A et N si on peut repasser par la même ville plusieurs fois.
  3. le chemin le plus long entre la ville A et N si on ne peut passer qu'une seule fois par ville.

12. Exercice:

Il est difficile d'être certain des réponses fournies pour les deux exercices précédents. Il faudrait être capable d'explorer l'ensemble des possibilités et de les classer.

Cela est difficile humainement mais heureusement, les ordinateurs peuvent aider à explorer tous les chemins possibles de certains graphes sans passer deux fois par le même point à l'aide d'algorithmes.

  1. Ouvrir un logiciel permettant d'exécuter du Python ( par exemple Pyzo ).
  2. Copier-coller dans celui-ci le code ci dessous :

    class Graphe:
        def __init__(self):
            self.sommets=[]
            self.aretes=[]
    
        def ajout_sommet(self,sommet):
            if sommet not in self.sommets:
                self.sommets.append(sommet)
    
        def suppr_sommet(self,sommet):
            while sommet in self.sommets :
                self.sommets.remove(sommet)
    
        def ajout_arete(self,sommet1,sommet2,ponderation):
            self.ajout_sommet(sommet1)
            self.ajout_sommet(sommet2)
            self.aretes.append((sommet1,sommet2,ponderation))
    
        def suppr_arete(self,sommet1,sommet2,ponderation):
            self.aretes.remove((sommet1,sommet2,ponderation))
    
        def sommets_adjacents(self,sommet):
            liste=[]
            for arete in self.aretes:
                if sommet in arete:
                    if sommet==arete[0]:
                        liste.append(arete[1])
                    else:
                        liste.append(arete[0])
            return liste
    
        def distance_deux_sommets(self,sommet1,sommet2):
            if sommet1==sommet2:
                return 0
            for arete in self.aretes:
                if (sommet1 in arete) and (sommet2 in arete):
                    return arete[2]
    
    
    
    
    
    graphe_exo10=Graphe()
    graphe_exo10.ajout_arete("a","e",3)
    graphe_exo10.ajout_arete("e","c",2)
    graphe_exo10.ajout_arete("a","d",6)
    graphe_exo10.ajout_arete("e","f",6)
    graphe_exo10.ajout_arete("f","d",4)
    graphe_exo10.ajout_arete("d","h",7)
    graphe_exo10.ajout_arete("f","i",22)
    graphe_exo10.ajout_arete("c","g",4)
    graphe_exo10.ajout_arete("e","g",20)
    graphe_exo10.ajout_arete("g","i",3)
    graphe_exo10.ajout_arete("i","b",18)
    graphe_exo10.ajout_arete("i","h",19)
    graphe_exo10.ajout_arete("h","b",21)
    
    
    
    graphe_exo11=Graphe()
    graphe_exo11.ajout_arete("a","g",6)
    graphe_exo11.ajout_arete("a","c",3)
    graphe_exo11.ajout_arete("g","b",4)
    graphe_exo11.ajout_arete("c","b",14)
    graphe_exo11.ajout_arete("c","d",6)
    graphe_exo11.ajout_arete("d","b",20)
    graphe_exo11.ajout_arete("d","e",4)
    graphe_exo11.ajout_arete("b","h",7)
    graphe_exo11.ajout_arete("g","h",19)
    graphe_exo11.ajout_arete("g","i",21)
    graphe_exo11.ajout_arete("h","i",1)
    graphe_exo11.ajout_arete("i","j",5)
    graphe_exo11.ajout_arete("j","k",2)
    graphe_exo11.ajout_arete("k","l",1)
    graphe_exo11.ajout_arete("i","l",9)
    graphe_exo11.ajout_arete("h","l",1)
    graphe_exo11.ajout_arete("e","h",3)
    graphe_exo11.ajout_arete("e","f",22)
    graphe_exo11.ajout_arete("f","h",4)
    graphe_exo11.ajout_arete("h","m",12)
    graphe_exo11.ajout_arete("m","l",5)
    graphe_exo11.ajout_arete("m","f",5)
    graphe_exo11.ajout_arete("f","n",6)
    graphe_exo11.ajout_arete("m","n",3)
    graphe_exo11.ajout_arete("n","l",9)
    
    
    
    
    
    
    
    
    
    def correction_exercice10():
        return correction(graphe_exo10,"a","b")
    
    def correction_exercice11():
        return correction(graphe_exo11,"a","n")
    
    
    
    def correction(graphe,sommet_demarrage,sommet_fin):
    
        #recherche de tous les chemins :
        liste_chemins_commences=[[sommet_demarrage,0]]
        liste_chemins_finis=[]
        compteur=0
        while liste_chemins_commences!=[]:
            chemin_actuel,longueur_deja_parcourue=liste_chemins_commences.pop()
            sommets_adj=graphe.sommets_adjacents(chemin_actuel[-1])
            for sommet in sommets_adj:
                compteur+=1
                if sommet in chemin_actuel:
                    print("chemin etudie : "+chemin_actuel+sommet+", chemin n "+str(compteur)+' mais deja passe par un point : abandon')
                if sommet not in chemin_actuel:
                    print("chemin etudie : "+chemin_actuel+sommet+", chemin n "+str(compteur))
                    longueur=graphe.distance_deux_sommets(chemin_actuel[-1],sommet)
                    if sommet==sommet_fin:
                        print("\nchemin trouve : "+chemin_actuel+sommet+" de longueur",longueur_deja_parcourue+longueur,"\n")
                        liste_chemins_finis.append([chemin_actuel+sommet,longueur_deja_parcourue+longueur])
                    else:
                        liste_chemins_commences.append([chemin_actuel+sommet,longueur_deja_parcourue+longueur])
        print("\n\n\n",len(liste_chemins_finis),"chemins allant du point demande a l'autre ont ete trouve au total")
        input("Entree pour continuer ... ...")
        print("Tri en cours")
        liste_chemins_finis.sort(key = lambda x: x[1])
        for chemin in liste_chemins_finis:
            print(f"Le chemin {chemin[0]} a pour longueur {chemin[1]}")
        input("Entree pour continuer ... ...")
        print("Les extremes sont :")
        return liste_chemins_finis[0],liste_chemins_finis[-1]
    
    
  3. Exécuter le code.
  4. Dans la console, exécuter correction_exercice10() .
  5. Dans le graphe de l'exercice 10, combien y a-t-il de chemins allant de A jusqu'à B sans passer deux fois par le même point?
  6. Dans la console, exécuter correction_exercice11() .
  7. Dans le graphe de l'exercice 11:

    1. Combien y a-t-il de chemins allant de A jusqu'à N sans passer deux fois par le même point?
    2. Citer les chemins allant de A à N et qui ont une longueur de 100 sans passer deux fois par le même point.
    3. Quel est le plus court chemin?
    4. Quel est le plus long chemin pour aller de A à N sans passer deux fois par le même point?
  8. Regardons les chemins sans passer deux fois par le même point partant de A pour aller à K dans le graphe de l'exercice 11 :

    1. Selon-vous, y a-t-il plus de chemins pour aller de A à N ou de A à K?
    2. Trouver quelle commande Python taper pour connaître le nombre de trajet pour aller de A à K.

13. Exercice:

A faire dans le cahier.

Le routeur numéro 1 (R1) souhaite envoyer un message au routeur numéro 7 (R7).

  1. Indiquer quel chemin le message doit prendre.
  2. Expliquer pourquoi ce chemin n'est peut être pas le meilleur.

14. Activité:

A faire dans le cahier.

Dans cette activité, on imagine deux ordinateurs communiquant entre eux : la source S et la destination D.

On ne s'intéressera pas à tous les problèmes de routage qui peuvent exister entre eux.

La source S souhaite envoyer deux messages à la destination D :

Pour l’envoi du poème, la taille du message est limitée à un vers et, pour l’envoi de l’image, la taille du message est limitée à une image de taille 16x16 pixels.

Expliquer comment S et D doivent procéder pour que :

15. TCP:

A copier dans le cahier.

Une fois le transport fait grâce à l'adresse IP, c'est le protocole TCP qui prend le relais pour la transmission des informations.

Il est chargé de découper ce qui est à transférer en petits paquets de taille uniforme.

Le paquet transféré contient ainsi le contenu, mais aussi l'adresse IP de départ et l'adresse IP d'arrivée.

Page wikipedia

16. Une vidéo pour démarrer la compréhension du TCP:

17. Activité:

A faire dans le cahier.

Dans votre cahier, classer les différentes connexions permettant la transmission d'informations (4g,adsl etc.) dans le tableau ci-dessous :

Connexion filaire Connexion non filaire




18. Fibre optique sous marine:

La majeure partie du trafic internet international passe par des câbles de fibre optique déposés au fond de l'océan.

19. Activité:

A faire dans le cahier.

On imagine un élève se baladant dans la rue et regardant sur son smartphone une page web située aux Etats-Unis, par exemple celle du Washington Post.

Refaire dans votre cahier le schéma suivant et le compléter.

20. Serveur DNS:

A l'usage, la très grande majorité des gens ne connaissent pas les adresses IP des sites qu'ils veulent visiter.

La conversion des adresses "explicites" telle que www.google.fr en adresse IP se fait à l'aide de ce qu'on appelle des serveurs DNS (Domain Name System).

En simplifiant, les choses se passent par exemple ainsi :

  1. Un utilisateur tape www.google.fr sur son navigateur Firefox.
  2. Firefox ne connaissant pas l'adresse IP liée à ce nom de domaine, il est programmé pour entrer en contact avec un serveur DNS sur internet grâce au protocole TCP/IP.
  3. Après quelques échanges, le serveur DNS lui envoie l'adresse IP liée à www.google.fr.
  4. Une fois ceci fait, Firefox commence les échanges avec le serveur lié à www.google.fr toujours grâce au protocole TCP/IP.

Il y a par exemple des sites comme https://www.nslookup.io/website-to-ip-lookup/ qui permettent de faire la conversion.

On peut avoir aussi des informations sur un nom de domaine avec une recherche "WHO IS".

21. Exercice :

A faire dans le cahier.

Votre professeur de SNT a réellement reçu ce message au mois d'août 2023 :

  1. Comment être certain que ce message n'est pas véritablement envoyé par l'administration française sans même avoir besoin de cliquer sur le lien?
  2. Quel est le but cherché par les arnaqueurs avec ce genre de messages?

22. Les réseaux pair-à-pair:

Le pair-à-pair ou système pair-à-pair (en anglais peer-to-peer, souvent abrégé « P2P ») est un modèle d'échange en réseau où chaque entité est à la fois client et serveur, contrairement au modèle client-serveur. Les termes « pair », « nœud » et « utilisateur » sont généralement utilisés pour désigner les entités composant un tel système. Un système pair à pair peut être partiellement centralisé (une partie de l'échange passe par un serveur central intermédiaire) ou totalement décentralisé (les connexions se font entre participants sans infrastructure particulière). Il peut servir entre autres au partage de fichier, au calcul distribué ou à la communication.

Source : wikipedia

Le pair-à-pair peut être utilisé de plusieurs façons dont par exemple :

23. Evolution du trafic internet:

Source

Source