ajout dossiers réseaux

This commit is contained in:
2022-04-29 09:00:20 +02:00
parent 69d6a83ab3
commit 8b544dba16
56 changed files with 3800 additions and 0 deletions

Binary file not shown.

22
reseau/README.md Normal file
View File

@@ -0,0 +1,22 @@
> Dans le monde ultra connecté qu'est le notre, Internet et les réseaux tiennent une place primordiale.
>
> Plus de trente (30) milliards d'appareils sont connectés quotidiennement à un réseau. Comment cela est-il possible ?
>
> Qu'est ce qui nous attend de ce côté dans le futur ?
### Le programme
![bo](assets/bo.png)
---------
### Définition
Un réseau est un ensemble d'élèments matériels et logiciels reliés ensemble afin de transporter des informations. Il permet de mettre en oeuvre des services.
- Quels types de services ?
- Quels types de matériels connaissez vous ?
Un réseau est

Binary file not shown.

After

Width:  |  Height:  |  Size: 516 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 451 KiB

BIN
reseau/assets/bo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 166 KiB

View File

@@ -0,0 +1,376 @@
{
"cells": [
{
"cell_type": "markdown",
"id": "18b6a704",
"metadata": {},
"source": [
"# DNS, l'annuaire d'Internet"
]
},
{
"cell_type": "markdown",
"id": "88b612d3",
"metadata": {},
"source": [
"> Connaissez vous le super moteur de recherche 216.58.214.163 ? Non ? Pourtant vous l'utilisez très souvent !\n",
"\n",
"> De la même manière que votre amie Alice poste quotidiennement ses pensées sur un morceau d'eurodance sur le fameux 95.100.86.78 !\n",
"\n",
"> Et que dire de Bob, qui fait f5 toutes les 10 min sur 46.33.191.5 ?\n"
]
},
{
"cell_type": "markdown",
"id": "3b4bbc30",
"metadata": {},
"source": [
"Cela vous parait idiot ? Pourtant les adresses IP citées au dessus sont bel et bien utilisées quotidiennement par des milliers de personnes. Néanmoins, vous les connaissez probablement mieux sous leur petit nom *__google__*, *__tiktok__* et *__pronote__* !"
]
},
{
"cell_type": "markdown",
"id": "ed6af1df",
"metadata": {},
"source": [
"Comme nous l'avons vu avec l'adresse IP, chaque machine possède un identifiant sur le réseau. Tout comme chaque personne possède une adresse physique : lorsque vous allez voir tatie Monique, vous vous rendez là où elle vit, et bien c'est pareil avec un site internet."
]
},
{
"cell_type": "markdown",
"id": "5e90b50c",
"metadata": {},
"source": [
"---------"
]
},
{
"cell_type": "markdown",
"id": "385a074e",
"metadata": {},
"source": [
"### Pourquoi le DNS ?"
]
},
{
"cell_type": "markdown",
"id": "91ffcd74",
"metadata": {},
"source": [
"Si, à l'époque, on stockait les adresses des sites dans un fichier HOST.TXT, celui ci n'a jamais dépassé les 600 entrées :\n",
"\n",
"Très rapidement, cette solution devint ingérable au vu de la croissance exponentielle du nombre de sites mis en ligne.\n",
"En 1983, le DNS voit le jour. Et très rapidement, ce système montra son utilité : quatre années plus tard, on enregistrait plus de 20 000 enregistrements de nom de domaine."
]
},
{
"cell_type": "markdown",
"id": "63edbe5b",
"metadata": {},
"source": [
"Pour nous autres, êtres humains, il est complexe de retenir toutes les adresses IP des sites que l'on souhaite visiter. Et à moins de tout noter dans un repertoire, jamais vous ne vous rappelerez de tous ces nombres."
]
},
{
"cell_type": "markdown",
"id": "449c7618",
"metadata": {},
"source": [
"C'est pour cela que le __protocole__ *Domain Name System* a été crée.\n",
"\n",
"![dns.gif](assets/dns.gif)"
]
},
{
"cell_type": "markdown",
"id": "467bc6c7",
"metadata": {},
"source": [
"---------"
]
},
{
"cell_type": "markdown",
"id": "d186c5d5",
"metadata": {},
"source": [
"### Adresse symbolique"
]
},
{
"cell_type": "markdown",
"id": "8e14b61a",
"metadata": {},
"source": [
"Le protocole DNS permet d'associer une adresse IP à une *__adresse symbolique__* aussi appelée __*URL*__: celle ci est simple à retenir, et très souvent en rapport avec son contenu : http://www.nice.fr/fr/ par exemple, est le site qui traite de la ville de ...Nice."
]
},
{
"cell_type": "markdown",
"id": "7da4b8b6",
"metadata": {},
"source": [
"Toutes ces adresses vont être enregistrées auprès d'un organisme, *L'ICANN*."
]
},
{
"cell_type": "markdown",
"id": "30af3eab",
"metadata": {},
"source": [
"### URL"
]
},
{
"cell_type": "markdown",
"id": "8b87822f",
"metadata": {},
"source": [
"> Vous l'aurez compris, le principe du DNS est de faire le lien entre l'adresse IP et l'URL d'un site.\n",
"Mais c'est quoi, une URL ?"
]
},
{
"cell_type": "markdown",
"id": "09a80e5f",
"metadata": {},
"source": [
"Une URL, ou Uniform Ressource Locator, est composée de 5 parties; le protocole, le sous-domaine, le nom de domaine principal, le domaine de deuxième niveau et le répertoire."
]
},
{
"cell_type": "markdown",
"id": "ff34a201",
"metadata": {},
"source": [
"Par exemple, dans cette adresse, que peut on retrouver ? \n",
"\n",
"![url_ada.png](assets/url_ada.png)"
]
},
{
"cell_type": "markdown",
"id": "776b386a",
"metadata": {},
"source": [
"| Partie | Type | Définition |\n",
"|-----------------------------------------------|----------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------|\n",
"| HTTPS | Protocole | Indique au navigateur le type de ressource souhaitée |\n",
"| WWW | Sous-domaine | Séparé du domaine par un point, il permet de diviser un site en plusieurs parties.Par convention, on le nomme www s'il s'agit d'une page web. |\n",
"| franceculture | Domaine Principal | Généralement, indique le nom de votre site web et permet immédiatement de savoir ce que l'on va y trouver. |\n",
"| fr | Domaine de deuxième niveau | Précise le type dentité sous laquelle est enregistrée votre organisation sur internet (ici, la France, mais on trouve org, net, com...) |\n",
"| ada-lovelace-la-premiere-codeuse-de-lhistoire | Repertoire | Indique la ressource à laquelle vous êtes en train d'accéder (page web, vidéo, fichier texte, page html, dossier...) |"
]
},
{
"cell_type": "markdown",
"id": "eef0dad8",
"metadata": {},
"source": [
"[![principe_url](https://img.youtube.com/vi/WLZM2SoSArc/0.jpg)](https://www.youtube.com/watch?v=WLZM2SoSArc)\n"
]
},
{
"cell_type": "markdown",
"id": "08ac63c3",
"metadata": {},
"source": [
"Répondez aux questions suivantes :\n",
"\n",
"- De combien de parties est composée une url ?\n",
"- Pour chaque partie, donner votre propre définition\n",
"- Si une partie de l'URL est incorrecte, que se passe -il ?"
]
},
{
"cell_type": "markdown",
"id": "d3be21c8",
"metadata": {},
"source": [
"Voici une autre url : https://fr.wikipedia.org/wiki/Ada_Lovelace"
]
},
{
"cell_type": "markdown",
"id": "96ff77be",
"metadata": {},
"source": [
"Remplissez le tableau correspondant :\n",
"\n",
"| Partie | Type | Définition |\n",
"|--------|----------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------|\n",
"| ... | Protocole | Indique au navigateur le type de ressource souhaitée |\n",
"| ... | Sous-domaine | Séparé du domaine par un point, il permet de diviser un site en plusieurs parties.Par convention, on le nomme www s'il s'agit d'une page web. |\n",
"| ... | Domaine Principal | Généralement, indique le nom de votre site web et permet immédiatement de savoir ce que l'on va y trouver. |\n",
"| ... | Domaine de deuxième niveau | Précise le type dentité sous laquelle est enregistrée votre organisation sur internet (ici, la France, mais on trouve org, net, com...) |\n",
"| ... | Repertoire | Indique la ressource à laquelle vous êtes en train d'accéder (page web, vidéo, fichier texte, page html, dossier...) |"
]
},
{
"cell_type": "markdown",
"id": "6f803ff9",
"metadata": {},
"source": [
"-------"
]
},
{
"cell_type": "markdown",
"id": "56cbdce4",
"metadata": {},
"source": [
"### Organisation de l'annuaire"
]
},
{
"cell_type": "markdown",
"id": "0b6ed74a",
"metadata": {},
"source": [
"```mermaid\n",
"\n",
"graph TB;\n",
"subgraph racine\n",
" a[\".\"]\n",
" end\n",
"subgraph Domaines du plus haut niveau\n",
"\ta-->com;\n",
" a-->org;\n",
" a-->net;\n",
" a-->gov;\n",
" a-->...;\n",
" end\n",
"subgraph Sous-domaines\n",
" com-->google;\n",
" org-->wikipedia;\n",
" net-->etc...;\n",
" end\n",
"subgraph Sous-domaines de wikipedia\n",
" wikipedia-->fr;\n",
" wikipedia-->en;\n",
" end\n",
" \n",
"```"
]
},
{
"cell_type": "markdown",
"id": "e35c3def",
"metadata": {},
"source": [
"--------"
]
},
{
"cell_type": "markdown",
"id": "496bfdbb",
"metadata": {},
"source": [
"### Resolution de nom"
]
},
{
"cell_type": "markdown",
"id": "f798afd9",
"metadata": {},
"source": [
"Que se passe t-il lorsque l'on tape dans son navigateur web *__ViveLaSNT.fr__* ?"
]
},
{
"cell_type": "markdown",
"id": "d4d4e9dc",
"metadata": {},
"source": [
"[![Resolution de nom](https://img.youtube.com/vi/av0zX-dr8o8/0.jpg)](https://www.youtube.com/watch?v=av0zX-dr8o8)\n"
]
},
{
"cell_type": "markdown",
"id": "fd8c9bc5",
"metadata": {},
"source": [
"---------"
]
},
{
"cell_type": "markdown",
"id": "a4639a6a",
"metadata": {},
"source": [
"Prenons l'adresse de l'établissement : \n",
"\n",
"https://www.lyc-thierry-maulnier.ac-nice.fr\n",
"\n",
"✏ Quelles sont les informations visibles en un coup d'oeil ?\n",
"\n",
"✏ Comment peut-on décomposer cette URL ?"
]
},
{
"cell_type": "markdown",
"id": "bc258662",
"metadata": {},
"source": [
"### Manipulations"
]
},
{
"cell_type": "markdown",
"id": "451b0d5e",
"metadata": {},
"source": [
"- Ouvrez une console d'invite de commande sous windows (Windows + R puis taper cmd, entrée) et faites les exercices suivants :\n",
" - *nslookup* www.google.fr\n",
" \n",
" - Essayer de joindre le site en utilisant l'adresse IP.\n",
" \n",
" - Que constatez vous ?\n",
"\n"
]
},
{
"cell_type": "markdown",
"id": "59f958a6",
"metadata": {},
"source": [
"Après avoir vu le résultat de cette commande, en déduire son principe de fonctionnement.\n",
"\n",
"\n",
"\n"
]
},
{
"cell_type": "markdown",
"id": "7c2b23be",
"metadata": {},
"source": [
"\n",
"Ouvrir le site https://dnslookup.online et refaire les mêmes manipulations.\n",
"\n",
"Que constatez vous ?"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.8"
}
},
"nbformat": 4,
"nbformat_minor": 5
}

376
reseau/dns/README.ipynb Normal file
View File

@@ -0,0 +1,376 @@
{
"cells": [
{
"cell_type": "markdown",
"id": "18b6a704",
"metadata": {},
"source": [
"# DNS, l'annuaire d'Internet"
]
},
{
"cell_type": "markdown",
"id": "88b612d3",
"metadata": {},
"source": [
"> Connaissez vous le super moteur de recherche 216.58.214.163 ? Non ? Pourtant vous l'utilisez très souvent !\n",
"\n",
"> De la même manière que votre amie Alice poste quotidiennement ses pensées sur un morceau d'eurodance sur le fameux 95.100.86.78 !\n",
"\n",
"> Et que dire de Bob, qui fait f5 toutes les 10 min sur 46.33.191.5 ?\n"
]
},
{
"cell_type": "markdown",
"id": "3b4bbc30",
"metadata": {},
"source": [
"Cela vous parait idiot ? Pourtant les adresses IP citées au dessus sont bel et bien utilisées quotidiennement par des milliers de personnes. Néanmoins, vous les connaissez probablement mieux sous leur petit nom *__google__*, *__tiktok__* et *__pronote__* !"
]
},
{
"cell_type": "markdown",
"id": "ed6af1df",
"metadata": {},
"source": [
"Comme nous l'avons vu avec l'adresse IP, chaque machine possède un identifiant sur le réseau. Tout comme chaque personne possède une adresse physique : lorsque vous allez voir tatie Monique, vous vous rendez là où elle vit, et bien c'est pareil avec un site internet."
]
},
{
"cell_type": "markdown",
"id": "5e90b50c",
"metadata": {},
"source": [
"---------"
]
},
{
"cell_type": "markdown",
"id": "385a074e",
"metadata": {},
"source": [
"### Pourquoi le DNS ?"
]
},
{
"cell_type": "markdown",
"id": "91ffcd74",
"metadata": {},
"source": [
"Si, à l'époque, on stockait les adresses des sites dans un fichier HOST.TXT, celui ci n'a jamais dépassé les 600 entrées :\n",
"\n",
"Très rapidement, cette solution devint ingérable au vu de la croissance exponentielle du nombre de sites mis en ligne.\n",
"En 1983, le DNS voit le jour. Et très rapidement, ce système montra son utilité : quatre années plus tard, on enregistrait plus de 20 000 enregistrements de nom de domaine."
]
},
{
"cell_type": "markdown",
"id": "63edbe5b",
"metadata": {},
"source": [
"Pour nous autres, êtres humains, il est complexe de retenir toutes les adresses IP des sites que l'on souhaite visiter. Et à moins de tout noter dans un repertoire, jamais vous ne vous rappelerez de tous ces nombres."
]
},
{
"cell_type": "markdown",
"id": "449c7618",
"metadata": {},
"source": [
"C'est pour cela que le __protocole__ *Domain Name System* a été crée.\n",
"\n",
"![dns.gif](assets/dns.gif)"
]
},
{
"cell_type": "markdown",
"id": "467bc6c7",
"metadata": {},
"source": [
"---------"
]
},
{
"cell_type": "markdown",
"id": "d186c5d5",
"metadata": {},
"source": [
"### Adresse symbolique"
]
},
{
"cell_type": "markdown",
"id": "8e14b61a",
"metadata": {},
"source": [
"Le protocole DNS permet d'associer une adresse IP à une *__adresse symbolique__* aussi appelée __*URL*__: celle ci est simple à retenir, et très souvent en rapport avec son contenu : http://www.nice.fr/fr/ par exemple, est le site qui traite de la ville de ...Nice."
]
},
{
"cell_type": "markdown",
"id": "7da4b8b6",
"metadata": {},
"source": [
"Toutes ces adresses vont être enregistrées auprès d'un organisme, *L'ICANN*."
]
},
{
"cell_type": "markdown",
"id": "30af3eab",
"metadata": {},
"source": [
"### URL"
]
},
{
"cell_type": "markdown",
"id": "8b87822f",
"metadata": {},
"source": [
"> Vous l'aurez compris, le principe du DNS est de faire le lien entre l'adresse IP et l'URL d'un site.\n",
"Mais c'est quoi, une URL ?"
]
},
{
"cell_type": "markdown",
"id": "09a80e5f",
"metadata": {},
"source": [
"Une URL, ou Uniform Ressource Locator, est composée de 5 parties; le protocole, le sous-domaine, le nom de domaine principal, le domaine de deuxième niveau et le répertoire."
]
},
{
"cell_type": "markdown",
"id": "ff34a201",
"metadata": {},
"source": [
"Par exemple, dans cette adresse, que peut on retrouver ? \n",
"\n",
"![url_ada.png](assets/url_ada.png)"
]
},
{
"cell_type": "markdown",
"id": "776b386a",
"metadata": {},
"source": [
"| Partie | Type | Définition |\n",
"|-----------------------------------------------|----------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------|\n",
"| HTTPS | Protocole | Indique au navigateur le type de ressource souhaitée |\n",
"| WWW | Sous-domaine | Séparé du domaine par un point, il permet de diviser un site en plusieurs parties.Par convention, on le nomme www s'il s'agit d'une page web. |\n",
"| franceculture | Domaine Principal | Généralement, indique le nom de votre site web et permet immédiatement de savoir ce que l'on va y trouver. |\n",
"| fr | Domaine de deuxième niveau | Précise le type dentité sous laquelle est enregistrée votre organisation sur internet (ici, la France, mais on trouve org, net, com...) |\n",
"| ada-lovelace-la-premiere-codeuse-de-lhistoire | Repertoire | Indique la ressource à laquelle vous êtes en train d'accéder (page web, vidéo, fichier texte, page html, dossier...) |"
]
},
{
"cell_type": "markdown",
"id": "eef0dad8",
"metadata": {},
"source": [
"[![principe_url](https://img.youtube.com/vi/WLZM2SoSArc/0.jpg)](https://www.youtube.com/watch?v=WLZM2SoSArc)\n"
]
},
{
"cell_type": "markdown",
"id": "08ac63c3",
"metadata": {},
"source": [
"Répondez aux questions suivantes :\n",
"\n",
"- De combien de parties est composée une url ?\n",
"- Pour chaque partie, donner votre propre définition\n",
"- Si une partie de l'URL est incorrecte, que se passe -il ?"
]
},
{
"cell_type": "markdown",
"id": "d3be21c8",
"metadata": {},
"source": [
"Voici une autre url : https://fr.wikipedia.org/wiki/Ada_Lovelace"
]
},
{
"cell_type": "markdown",
"id": "96ff77be",
"metadata": {},
"source": [
"Remplissez le tableau correspondant :\n",
"\n",
"| Partie | Type | Définition |\n",
"|--------|----------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------|\n",
"| ... | Protocole | Indique au navigateur le type de ressource souhaitée |\n",
"| ... | Sous-domaine | Séparé du domaine par un point, il permet de diviser un site en plusieurs parties.Par convention, on le nomme www s'il s'agit d'une page web. |\n",
"| ... | Domaine Principal | Généralement, indique le nom de votre site web et permet immédiatement de savoir ce que l'on va y trouver. |\n",
"| ... | Domaine de deuxième niveau | Précise le type dentité sous laquelle est enregistrée votre organisation sur internet (ici, la France, mais on trouve org, net, com...) |\n",
"| ... | Repertoire | Indique la ressource à laquelle vous êtes en train d'accéder (page web, vidéo, fichier texte, page html, dossier...) |"
]
},
{
"cell_type": "markdown",
"id": "6f803ff9",
"metadata": {},
"source": [
"-------"
]
},
{
"cell_type": "markdown",
"id": "56cbdce4",
"metadata": {},
"source": [
"### Organisation de l'annuaire"
]
},
{
"cell_type": "markdown",
"id": "0b6ed74a",
"metadata": {},
"source": [
"```mermaid\n",
"\n",
"graph TB;\n",
"subgraph racine\n",
" a[\".\"]\n",
" end\n",
"subgraph Domaines du plus haut niveau\n",
"\ta-->com;\n",
" a-->org;\n",
" a-->net;\n",
" a-->gov;\n",
" a-->...;\n",
" end\n",
"subgraph Sous-domaines\n",
" com-->google;\n",
" org-->wikipedia;\n",
" net-->etc...;\n",
" end\n",
"subgraph Sous-domaines de wikipedia\n",
" wikipedia-->fr;\n",
" wikipedia-->en;\n",
" end\n",
" \n",
"```"
]
},
{
"cell_type": "markdown",
"id": "e35c3def",
"metadata": {},
"source": [
"--------"
]
},
{
"cell_type": "markdown",
"id": "496bfdbb",
"metadata": {},
"source": [
"### Resolution de nom"
]
},
{
"cell_type": "markdown",
"id": "f798afd9",
"metadata": {},
"source": [
"Que se passe t-il lorsque l'on tape dans son navigateur web *__ViveLaSNT.fr__* ?"
]
},
{
"cell_type": "markdown",
"id": "d4d4e9dc",
"metadata": {},
"source": [
"[![Resolution de nom](https://img.youtube.com/vi/av0zX-dr8o8/0.jpg)](https://www.youtube.com/watch?v=av0zX-dr8o8)\n"
]
},
{
"cell_type": "markdown",
"id": "fd8c9bc5",
"metadata": {},
"source": [
"---------"
]
},
{
"cell_type": "markdown",
"id": "a4639a6a",
"metadata": {},
"source": [
"Prenons l'adresse de l'établissement : \n",
"\n",
"https://www.lyc-thierry-maulnier.ac-nice.fr\n",
"\n",
"✏ Quelles sont les informations visibles en un coup d'oeil ?\n",
"\n",
"✏ Comment peut-on décomposer cette URL ?"
]
},
{
"cell_type": "markdown",
"id": "bc258662",
"metadata": {},
"source": [
"### Manipulations"
]
},
{
"cell_type": "markdown",
"id": "451b0d5e",
"metadata": {},
"source": [
"- Ouvrez une console d'invite de commande sous windows (Windows + R puis taper cmd, entrée) et faites les exercices suivants :\n",
" - *nslookup* www.google.fr\n",
" \n",
" - Essayer de joindre le site en utilisant l'adresse IP.\n",
" \n",
" - Que constatez vous ?\n",
"\n"
]
},
{
"cell_type": "markdown",
"id": "59f958a6",
"metadata": {},
"source": [
"Après avoir vu le résultat de cette commande, en déduire son principe de fonctionnement.\n",
"\n",
"\n",
"\n"
]
},
{
"cell_type": "markdown",
"id": "7c2b23be",
"metadata": {},
"source": [
"\n",
"Ouvrir le site https://dnslookup.online et refaire les mêmes manipulations.\n",
"\n",
"Que constatez vous ?"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.8"
}
},
"nbformat": 4,
"nbformat_minor": 5
}

175
reseau/dns/README.md Normal file
View File

@@ -0,0 +1,175 @@
# DNS, l'annuaire d'Internet
> Connaissez vous le super moteur de recherche 216.58.214.163 ? Non ? Pourtant vous l'utilisez très souvent !
> De la même manière que votre amie Alice poste quotidiennement ses pensées sur un morceau d'eurodance sur le fameux 95.100.86.78 !
> Et que dire de Bob, qui fait f5 toutes les 10 min sur 46.33.191.5 ?
Cela vous parait idiot ? Pourtant les adresses IP citées au dessus sont bel et bien utilisées quotidiennement par des milliers de personnes. Néanmoins, vous les connaissez probablement mieux sous leur petit nom *__google__*, *__tiktok__* et *__pronote__* !
Comme nous l'avons vu avec l'adresse IP, chaque machine possède un identifiant sur le réseau. Tout comme chaque personne possède une adresse physique : lorsque vous allez voir tatie Monique, vous vous rendez là où elle vit, et bien c'est pareil avec un site internet.
---------
### Pourquoi le DNS ?
Si, à l'époque, on stockait les adresses des sites dans un fichier HOST.TXT, celui ci n'a jamais dépassé les 600 entrées :
Très rapidement, cette solution devint ingérable au vu de la croissance exponentielle du nombre de sites mis en ligne.
En 1983, le DNS voit le jour. Et très rapidement, ce système montra son utilité : quatre années plus tard, on enregistrait plus de 20 000 enregistrements de nom de domaine.
Pour nous autres, êtres humains, il est complexe de retenir toutes les adresses IP des sites que l'on souhaite visiter. Et à moins de tout noter dans un repertoire, jamais vous ne vous rappelerez de tous ces nombres.
C'est pour cela que le __protocole__ *Domain Name System* a été crée.
![dns.gif](assets/dns.gif)
### Où se situent les serveurs DNS Primaires ?
![root.svg](assets/root.svg)
---------
### Adresse symbolique
Le protocole DNS permet d'associer une adresse IP à une *__adresse symbolique__* aussi appelée __*URL*__: celle ci est simple à retenir, et très souvent en rapport avec son contenu : http://www.nice.fr/fr/ par exemple, est le site qui traite de la ville de ...Nice.
Toutes ces adresses vont être enregistrées auprès d'un organisme, *L'ICANN*.
### URL
> Vous l'aurez compris, le principe du DNS est de faire le lien entre l'adresse IP et l'URL d'un site.
Mais c'est quoi, une URL ?
Une URL, ou Uniform Ressource Locator, est composée de 5 parties; le protocole, le sous-domaine, le nom de domaine principal, le domaine de deuxième niveau et le répertoire.
Par exemple, dans cette adresse, que peut on retrouver ?
![url_ada.png](assets/url_ada.png)
| Partie | Type | Définition |
|-----------------------------------------------|----------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------|
| HTTPS | Protocole | Indique au navigateur le type de ressource souhaitée |
| WWW | Sous-domaine | Séparé du domaine par un point, il permet de diviser un site en plusieurs parties.Par convention, on le nomme www s'il s'agit d'une page web. |
| franceculture | Domaine Principal | Généralement, indique le nom de votre site web et permet immédiatement de savoir ce que l'on va y trouver. |
| fr | Domaine de deuxième niveau | Précise le type dentité sous laquelle est enregistrée votre organisation sur internet (ici, la France, mais on trouve org, net, com...) |
| ada-lovelace-la-premiere-codeuse-de-lhistoire | Repertoire | Indique la ressource à laquelle vous êtes en train d'accéder (page web, vidéo, fichier texte, page html, dossier...) |
[![principe_url](https://img.youtube.com/vi/WLZM2SoSArc/0.jpg)](https://www.youtube.com/watch?v=WLZM2SoSArc)
Répondez aux questions suivantes :
- De combien de parties est composée une url ?
- Pour chaque partie, donner votre propre définition
- Si une partie de l'URL est incorrecte, que se passe -il ?
Voici une autre url : https://fr.wikipedia.org/wiki/Ada_Lovelace
Remplissez le tableau correspondant :
| Partie | Type | Définition |
|--------|----------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------|
| ... | Protocole | Indique au navigateur le type de ressource souhaitée |
| ... | Sous-domaine | Séparé du domaine par un point, il permet de diviser un site en plusieurs parties.Par convention, on le nomme www s'il s'agit d'une page web. |
| ... | Domaine Principal | Généralement, indique le nom de votre site web et permet immédiatement de savoir ce que l'on va y trouver. |
| ... | Domaine de deuxième niveau | Précise le type dentité sous laquelle est enregistrée votre organisation sur internet (ici, la France, mais on trouve org, net, com...) |
| ... | Repertoire | Indique la ressource à laquelle vous êtes en train d'accéder (page web, vidéo, fichier texte, page html, dossier...) |
-------
### Organisation de l'annuaire
```mermaid
graph TB;
subgraph racine
a["."]
end
subgraph Domaines du plus haut niveau
a-->com;
a-->org;
a-->net;
a-->gov;
a-->...;
end
subgraph Sous-domaines
com-->google;
org-->wikipedia;
net-->etc...;
end
subgraph Sous-domaines de wikipedia
wikipedia-->fr;
wikipedia-->en;
end
```
--------
### Resolution de nom
Que se passe t-il lorsque l'on tape dans son navigateur web *__ViveLaSNT.fr__* ?
[![Resolution de nom](https://img.youtube.com/vi/av0zX-dr8o8/0.jpg)](https://www.youtube.com/watch?v=av0zX-dr8o8)
---------
Prenons l'adresse de l'établissement :
https://www.lyc-thierry-maulnier.ac-nice.fr
✏ Quelles sont les informations visibles en un coup d'oeil ?
✏ Comment peut-on décomposer cette URL ?
### Manipulations
- Ouvrez une console d'invite de commande sous windows (Windows + R puis taper cmd, entrée) et faites les exercices suivants :
- *nslookup* www.google.fr
- Essayer de joindre le site en utilisant l'adresse IP.
- Que constatez vous ?
Après avoir vu le résultat de cette commande, en déduire son principe de fonctionnement.
Ouvrir le site https://dnslookup.online et refaire les mêmes manipulations.
Que constatez vous ?
--------------------
## Synthese
- Le **DNS** est un ............... et signifie D.......... N.........S.........
- Le protocole DNS permet d'associer une ......................... à une .................... aussi appelée . . .
- Une **URL** est composée de 5 parties:
- ..............................
- ...............................
- ..............................
- .............................
- .............................
- La commande .................... (sous Windows) ou .................. (sous Linux) permet d'interroger les serveurs **DNS** afin d'obtenir les informations d'un domaine.

BIN
reseau/dns/assets/dns.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 780 KiB

1827
reseau/dns/assets/root.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 346 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

13
reseau/filius/README.md Normal file
View File

@@ -0,0 +1,13 @@
# Activité - Simulation de Réseau
## Présentation
La présente activité a pour objectif de faire construire, faire configurer et étudier l'ensemble des notions gravitant autour d'Internet, via le simulateur __Filius__.
L'activité est progressive et se découpe en 4 séances :
1. [Construire un réseau simple](./seance_1/)
2. [Connecter deux réseaux](./seance_2/)
3. [Accéder à une page web...ou l'utilité d'un DNS](./seance_3/)
4. [Échanger des fichiers dans un réseau pair-à-pair](./seance_4/)

Binary file not shown.

View File

@@ -0,0 +1,112 @@
# Simulation de Réseau (1 / 4)
Dans cette activité, vous allez être amené à construire et simuler des réseaux sur un logiciel allemand de simulation : __Filius__
Les objectifs :
- Apprendre à configurer un réseau
- Manipuler les commandes de base de communication entre 2 machines
- Matérialiser la notion de protocole de communication
## Étape 1 : Installation de Filius
1. Télécharger le fichier [reseau_1.fls](reseau_1.fls)
2. Télécharger le fichier zip contenant le logiciel Filius en cliquant sur ce [lien](../filius-1.12.5.zip) Le fichier est téléchargé dans le répertoire "Téléchargements" de votre ordinateur
3. Aller dans le répertoire "Téléchargements" de votre ordinateur
4. Faire un clic droit sur le fichier filius-1.12.5.zip et cliquer sur "Extraire ici" $`\rArr`$ le fichier zip est décompressé, un dossier filius-1.12.5 est créé.
5. Ouvrir le dossier filius-1.12.5
6. Double-cliquer sur Filius.exe $`\rArr`$ le logiciel Filius est lancé. L'interface suivante apparait :
![](./assets/filius_1.png)
## Étape 2 : Comment relier 2 ordinateurs ?
__L'objectif est de créer un mini-réseau de 2 ordinateurs et de les faire communiquer ensemble.__
Ouvrir le fichier [reseau_1.fls](reseau_1.fls) $`\rArr`$ ce fichier contient un réseau virtuel composé de 2 machines : 1 ordinateur et 1 portable.
![](./assets/filius_3.png)
Ces machines ne sont pas correctement configurées pour communiquer entre elles. Les étapes suivantes vont permettre d'y remédier.
### Étape 2.1 Configuration
1. Faire un clic droit sur la machine de gauche puis cliquer sur `configurer`
2. Renseigner l'adresse IP comme celle indiquée dans la figure suivante :
![](./assets/filius_4.png)
3. Faire un clic droit sur la machine de droite puis cliquer sur `configurer`
4. Renseigner l'adresse IP comme celle indiquée dans la figure suivante :
.
![](./assets/filius_5.png)
![](./assets/filius_6.png)
### Étape 2.2 Simulation d'une communication
1. Passer en mode `simulation` en cliquant sur le bouton ![](./assets/simulation.png). (N.B : Vous pouvez revenir en mode `construction`à tout moment en cliquant sur le bouton ![](./assets/construction.png))
2. Lorsque vous êtes en mode « simulation » vous pouvez cliquer sur un ordinateur pour installer des logiciels virtuels :
1. Cliquer sur l'ordinateur de gauche,
2. Cliquer sur `installation des logiciels`
3. Choisir dans la liste de gauche le logiciel `ligne de commande`
4. Cliquer sur `Appliquer les modifications`
5. Réitérer l'opération à partir du 2. sur l'ordinateur de droite.
3. Lorsque vous double-cliquer sur un ordinateur, vous devez avoir une interface similaire à la suivante :
![](./assets/filius_7.png)
Une icône `Ligne de commande` est présente.
Voiçi la liste des commandes que nous allons utiliser :
- `ipconfig` : affiche les caractéristiques réseaux de la machine
- `ping [Adresse IP]` : envoie 4 paquets de données sur ladresse ip saisie pour tester la connexion
- `traceroute [Adress IP]` : permet de suivre le chemin qu'un paquet de données va mettre dune
machine à une autre
À Faire
1. Faire une commande `ipconfig` pour vérifier les adresses IP de vos machines
2. Faire une commande `ping` depuis lordinateur avec l'adresse IP `192.168.0.10` vers lordinateur avec l'adresse IP `192.168.0.20`, puis inversement.
__Questions__ :
1. Combien de temps a duré lenvoi du ping ?
2. Quel est le masque de sous-réseau ?
3. Faire une commande `traceroute`depuis l'ordinateur avec l'adresse IP `192.168.0.10` vers l'ordinateur avec l'adresse IP. `192.168.0.20`.
__Questions__ :
1. Combien de sauts ont été nécessaires pour que les ordinateurs communiquent entre eux ?
3. Trouver le nom et la signification du protocole utilisé pour échanger les données lors du `traceroute` et `ping`. Pour obtenir le nom du protocole, vous pouvez effectuer un clic droit sur un ordinateur et sélectionner `Afficher les échanges de données`.
4. Modifier le masque de réseau de l'ordinateur 192.168.0.10 à 255.255.255.255 et effectuer les étapes à partir du 2. Quelles différences constatez-vous ?
## Étape 3 : Agrandir le réseau
Réalisez le réseau suivant :
![](./assets/filius_8.png)
1. Configurer ladresse IP du Serveur sur 192.168.0.30
2. Lancer la simulation
3. Sur le serveur, installer l'application « Serveur générique », la lancer et appuyer sur `Démarrer` pour allumer le Serveur
4. Sur lordinateur 192.168.0.10, installer l'application « Client générique »
5. Rnseigner l'adresse Serveur et appuyer sur `Connecter`
6. Puis envoyez-lui un message du type `Bonjour Serveur, je suis un ordinateur`
7. Afficher les données échangées à partir de l'ordinateur 192.168.0.10. Vous devez obtenir une interface similaire à celle-ci :
![](./assets/filius_9.png)
__Questions__ :
1. Quel est le protocole utilisé pour le « transport » des données ?
Pour échanger des données, les ordinateurs utilisent un même langage pour se reconnaître, se comprendre et ne pas perdre les données. Ils utilisent un protocole. (ICMP, TCP, IP …)

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 111 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 270 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 133 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

View File

@@ -0,0 +1,66 @@
# Simulation de Réseau (2 / 4)
Dans cette activité, vous allez être amené à construire et simuler des réseaux sur un logiciel allemand de simulation : __Filius__
Les objectifs :
- Apprendre à configurer un routeur
- Manipuler les commandes de base de communication entre 2 machines sur 2 réseaux distincts
- Matérialiser la notion de routage
## Étape 1 : Comment communiquer avec mon voisin
__L'objectif est de créer 2 réseaux de 3 ordinateurs et de les faire communiquer ensemble.__
Ouvrir le fichier `reseau_2.fls` $`\rArr`$ ce fichier contient un réseau virtuel composé de 6 machines réparties dans 2 réseaux distincts.
![](./assets/filius_1.png)
Ces machines ne sont pas correctement configurées pour communiquer entre elles. Les étapes suivantes vont permettre d'y remédier.
### Étape 1.1 : Configuration des éléments
1. Ajouter un commutateur dans chaque réseau
2. Ajouter un routeur reliant les 2 commutateurs
3. Le résultat attendu est le suivant :
![](./assets/filius_2.png)
Après avoir effectué toutes les opérations de configuration nécessaires, effectuez un ping entre deux machines de deux réseaux différents.
__Questions__ :
1. Que se passe-t-il ? Que signifie daprès-vous le message « destination not reachable »
### Étape 1.2 : Configuration des passerelles
Le message a besoin de quitter le réseau local, mais cependant nous navons pas encore configuré les __passerelles__ entre les différents postes.
Rectifions cette erreur : Dans les paramètres du routeur, définir ladresse passerelle dans chacun des onglets correspondant à chaque sous réseau (on prendra 192.168.0.1 et 192.168.1.1) :
![](./assets/filius_3.png)
![](./assets/filius_4.png)
L'adresse passerelle permet de définir l'adresse IP du routeur dans le sous-réseau. Le routeur a 2 adresses IP, une pour chaque sous-reseau.
4. Testez de nouveau un ping entre deux ordinateurs de chaque sous-réseau.
Cela ne marche toujours pas. En effet nous devons maintenant indiquer ladresse passerelle dans chaque poste de chaque sous-réseau :
- pour chacun des 3 ordinateurs du réseau 0, indiquez 192.168.0.1 pour la passerelle.
- pour chacun des 3 ordinateurs du réseau 1, indiquez 192.168.1.1 pour la passerelle.
5. Effectuer de nouveau le `ping` entre deux machines de deux réseaux différents.
6. Sur la machine 192.168.0.10, effectuer successivement `traceroute 192.168.0.30` et `traceroute 192.168.1.30`. La commande `traceroute` : la commande `traceroute` permet de suivre le chemin qu'un paquet de données va suivre pour aller d'une machine à l'autre.
7. Comparer les résultats et expliquer les différences obtenues..
## Synthèse
__Faire une synthèse des manipulations effectuées en complétant le texte suivant__ :
Dans un réseau, chaque hôte possède une .....................(1) qui permet de l'identifier de manière unique. Un ................(2) permet de connecter plusieurs hôtes entre eux dans un même réseau. Pour connecter plusieurs réseaux entre eux, un ................(3) est nécessaire. Il possède autant d'adresse IP que de réseaux auxquels il est connecté. On dit aussi qu'il sert de ................(4) entre les réseaux. Il faut de plus configurer l'adresse de la ...............(5) de chaque hôte des sous-réseaux pour qu'elle soit égale à celle du .................(6)
La commande ................(7) permet de tester la connexion d'un hôte à un autre.
La commande ................(8) permet d'obtenir le nombre de sauts et le chemin emprunté lors d'une communication entre deux hôtes.

Binary file not shown.

After

Width:  |  Height:  |  Size: 149 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 KiB

Binary file not shown.

View File

@@ -0,0 +1,60 @@
# Simulation de Réseau (3 / 4)
Dans cette activité, vous allez être amené à construire et simuler des réseaux sur un logiciel allemand de simulation : __Filius__
Les objectifs :
- Étudier l'utilité d'un serveur DNS
- Mettre en place un serveur DNS
## Étape 1 : Comment accéder à une page web ...via son adresse IP
Ouvrir le fichier [reseau_3.fls](reseau_3.fls) $`\rArr`$ ce fichier contient un réseau virtuel composé de 6 machines réparties dans 2 réseaux distincts.
![](./assets/filius_1.png)
1. Sur le serveur 192.168.0.30 nous allons installer un « Serveur Web » qui héberge un site virtuel www.snt.com. Pour cela, en mode `simulation`, installer l'application `Serveur Web` et cliquer sur `Démarrer`
2. Depuis nimporte quel ordinateur du réseau 1, installer un « Navigateur Web », puis dans la barre de recherche, renseignez l'adresse 192.168.0.30
3. Dans la même barre de recherche, renseignez l'adresse www.snt.com
4. Constatez la différence dans le résultat obtenu.
À ce stade, l'hôte 192.168.0.30 héberge bien le site mais il est uniquement accessible par les autres hôtes en saisissant son adresse IP...il serait plus commode de pouvoir accéder au site via l'url www.snt.fr. C'est là qu'intervient le serveur DNS !
## Étape 2 : Comment accéder à une page web ...sans connaitre son adresse IP
En mode `création`, ajouter un nouvel hôte, qui jouera le rôle de serveur DNS :
- adresse IP `192.168.2.10`,
- passerelle `192.168.2.1`,
- le relier au routeur.
Pour permettre à tous les postes dutiliser les services du DNS, nous devons ajouter ladresse IP du DNS (`192.168.2.10`) dans la configuration de tous les ordinateurs du réseau.
Ensuite nous allons donner à notre serveur une URL classique et la communiquer au DNS pour quil puisse la traduire en adresse IP.
1. Lancez le mode `simulation`
2. Sélectionnez le serveur DNS et installez-y lapplication « Serveur DNS ».
3. Lancez-la avec un double clic.
4. Renseigner comme nom de domaine www.snt.com et comme adresse IP 192.168.0.30 puisquil sera hébergé sur le serveur du réseau 0
5. Appuyez sur le bouton « Ajouter ».
6. Activez le DNS en appuyant sur le bouton « Démarrer ».
7. Testez la connexion à partir du poste 192.168.1.10 en demandant daccéder à lURL http://www.snt.com en utilisant simplement la commande « host www.snt.com »
8. Nous voyons que le DNS fait son travail en nous fournissant ladresse IP du serveur.
9. Dans le `Navigateur Web`utilisé à l'étape 1, saisir l'url www.snt.fr et cliquer sur `Afficher`.
10. Dans la même barre de recherche, renseignez l'adresse 192.168.0.30. Constatez la différence dans le résultat obtenu.
## Synthèse
__Faire une synthèse des manipulations effectuées en complétant le texte suivant__ :
Dans un réseau, chaque hôte peut héberger des pages web à travers un ................(1). Tout hôte peut afficher une page web via un ................(2).
Une page web est accessible via ................(3) de l'hôte qu'il l'héberge.
Un serveur DNS permet d'associer un ................(4) à ................(5) de l'hôte qui héberge la page web.
Tout hôte du réseau doit avoir l'adresse IP du ................(6) configurée. Sans cela, il ne sait pas quel hôte contacté pour obtenir l'adresse IP associée au nom de domaine.
La commande ................(7) permet d'obtenir le nom de l'hôte associée à son adresse IP.

Binary file not shown.

After

Width:  |  Height:  |  Size: 149 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 KiB

Binary file not shown.

View File

@@ -0,0 +1,114 @@
# Simulation de Réseau (4/4)
--------------
Cette partie vous proposera d'observer le fonctionnement d'un ou plusieurs échanges [peer-to-peer](../../p2p/README.md) à l'intérieur du réseau précédémment utilisé lors de [l'activité 3](../seance_3/README.md).
Les objectifs :
- Mettre en place un réseau p2p
- Dans un même sous-réseau
- Entre deux sous-réseaux
- Observer les intéractions lors des transferts de fichiers
- Comprendre l'intérêt de ce type de réseau
## Étape 1 : Observer les échanges dans un sous réseau
-----------
Ouvrez donc le fichier [reseau_4.fls](reseau_4.fls). Il comporte un réseau composé de deux sous-réseaux composés de trois machines chacun.
![base](assets/base.png)
1. Il va s'agir, dans un premier temps, d'installer *Gnutella* ainsi qu'un *Explorateur de Fichier* sur chaque machine du réseau 0.
Gnutella est un *protocole* de partage de fichier p2p.
Pour cela, passez en mode `simulation`, et pour chaque machine du réseau 0, répétez l'opération d'installation des deux applications.
![applications](assets/installation.png)
2. Ouvrez Gnutella sur une machine : dans l'onglet `reseau`il vous est proposé de rejoindre un réseau de machines, à conditions de connaître l'IP d'une d'entre elles. Ça tombe bien, nous savons que les machines `192.168.1.20`et `192.168.1.30`ont également le logiciel Gnutella d'installé...
![gnutella_1](assets/gnutella_1.png)
3. Entrez donc l'une ces adresses IP et faites `rejoindre le réseau`
![gnutella_2](assets/gnutella_2.png)
> Ici on trouve une seule machine car `192.168.0.30`n'a pas encore rejoint le réseau Gnutella.
>
> Par ailleurs, en rejoignant ce réseau, vous constaterez qu'il est inutile de faire cette manipulation sur la machine possédant l'adresse `192.168.0.20`, tout simplement car pour créer un réseau, il faut forcément un minimum de deux machines, donc celle ci rejoint automatiquement le réseau gnutella crée.
4. Sur la machine `192.168.0.10`installez donc l'application *Ligne de commande". Lancez celle ci et tapez les commandes suivantes:
`cd peer2peer` --> on se place dans le repertoire où gnutella va effectuer les partages
`touch toto.txt` --> ici, on va créer un fichier *toto.txt*
Vous pouvez également faire `ls` pour vous assurer que le fichier `toto.txt` existe bien désormais.
![commandes](assets/commandes.png)
5. Vérifiez que le fichier `toto.txt`se trouve bien dans le bon dossier grâce à l'explorateur de fichier.
6. Faites un clic droit sur la machine `192.168.0.10`et selectionnez *afficher les échanges de données*
![echanges](assets/echanges.png)
7. Ouvrez gnutella sur une des deux autres machines, et, dans l'onglet `rechercher`entrez `toto`
8. Telechargez et observez les échanges, comme sous la vidéo ci dessous. Que se passe t-il d'après vous ?
![telechargement](assets/telechargement.mov)
-----------
## Étape 2 : observer les échanges entre deux sous - réseaux
Ici, il s'agira de faire les mêmes manoeuvres que précédemment mais entre une machine du sous réseau 0 et une machine du sous réseau 1.
1. installer Gnutella sur la machine `192.168.1.10`et essayez de rejoindre le réseau gnutella existant.
2. Ouvrez la fenêtre d'échange de données sur cette machine
3. Telechargez le fichier `toto.txt`
4. À votre avis, quel est l'élément qui gère le protocole `ARP` , qui associe une adresse IP à une adresse physique (MAC) ?
Il s'agit du même appareil qui permet le *routage* des données à travers le réseau.
![arp](assets/arp.png)
5. Constatez que la machine a bel et bien pu télécharger le fichier malgré sa présence dans un autre sous-réseau.
6. Le fichier `toto.txt`est téléchargeable depuis les deux machines `192.168.0.10`& `192.168.0.20`
Selon vous, pourquoi le réseau pair à pair est il intéressant dans le cadre d'un téléchargement de fichier ?
7. Le partage du fichier `toto.txt`est tout à fait légal. Qu'en est - il alors du peer-to peer ?
## Synthèse
--------------
__Faire une synthèse des manipulations effectuées en complétant le texte suivant :__
Dans un sous - réseau, chaque machine peut ................. des fichiers à l'aide d'un échange ....... à ........ .
Pour cela il est necessaire d'utiliser une application fonctionnant avec un ............ d'échange de fichiers.
Dans un réseau peer-to-peer, chaque machine se comporte à la fois comme un ............. et un ............. .
Il est tout à fait ........... d'échanger des fichiers via un réseau peer to peer, mais uniquement si les fichiers sont libres ou que vous en possédez les droits d'exploitation.
Le routeur permet de joindre plusieurs ............ ................. afin de créer un seul et unique réseau.
Il permet également d'acheminer les fichiers d'une machine à une autre à travers un réseau. On parle alors de ............... .
On peut donc dire qu'................ est un gigantesque réseau constitué de plusieurs .............. .................. .

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 310 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 466 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 436 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 440 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 537 KiB

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,283 @@
{
"cells": [
{
"cell_type": "markdown",
"id": "57756f8d",
"metadata": {},
"source": [
"# Le protocole TCP"
]
},
{
"cell_type": "markdown",
"id": "39894bd2",
"metadata": {},
"source": [
"> Parmi tous les [protocoles] employés dans le domaine de l'informatique, on peut très souvent entendre l'un d'entre eux revenir en boucle : IP. Et il se trouve qu'IP a un grand ami, le protocole TCP, avec qui il est très proche."
]
},
{
"cell_type": "markdown",
"id": "e2a0377e",
"metadata": {},
"source": [
"TCP, ou *Transmission Control Protocol* est toujours associé à IP, sous la dénomination *__TCP/IP__*. Il s'agit d'un membre essentiel d'Internet : il permet de relier les machines entre elles, ainsi que d'assurer l'échange de données, en garantissant l'arrivée à destination de paquets."
]
},
{
"cell_type": "markdown",
"id": "44a2d5cc",
"metadata": {},
"source": [
"## Cliquez, c'est envoyé !"
]
},
{
"cell_type": "markdown",
"id": "346719f4",
"metadata": {},
"source": [
"Imaginons que vous souhaitiez acheter quelque chose sur votre site de e-commerce préféré : lorsque vous passez votre commande, vous devez indiquer votre adresse postale, afin d'assurer la livraison jusqu'à votre domicile."
]
},
{
"cell_type": "markdown",
"id": "47f900f1",
"metadata": {},
"source": [
"Dans le merveilleux monde d'Internet, c'est la même chose, grâce à l'adresse *__IP__* : chaque machine a la sienne, et vos données peuvent traverser tout le réseau mondial jusqu'à parvenir au bon destinataire : on parle alors de *__routage__*."
]
},
{
"cell_type": "markdown",
"id": "6a334f61",
"metadata": {},
"source": [
"![diagramme.svg](assets/diagramme.svg)"
]
},
{
"cell_type": "markdown",
"id": "c7e93427",
"metadata": {},
"source": [
"Arobase souhaite passer une commande auprès d'une célèbre chaine de magasin de meuble. Hélas, le paquet est trop gros pour être livré en une fois, en effet, le poids maximum d'un colis est de 1,5 kg.\n",
"\n",
"*Quelle solution le commerçant va t-il choisir pour expédier les différents colis ?*"
]
},
{
"cell_type": "markdown",
"id": "b8fa76dc",
"metadata": {},
"source": [
"*__Problématiques__* :\n",
"\n",
" - Comment découper la commande pour faire parvenir l'ensemble des éléments ?\n",
" - Comment s'assurer que tous les éléments arrivent bien ?"
]
},
{
"cell_type": "markdown",
"id": "41b803a1",
"metadata": {},
"source": [
"__En informatique__\n",
"\n",
"Cela fonctionne de la même manière : Arobase souhaite envoyer télécharger un gros fichier depuis un serveur https. Les problèmatiques restent les mêmes : \n",
"\n",
" - Comment découper le fichier ?\n",
" - Comment s'assurer que tous les \"morceaux\" de fichiers parviennent à destination ?\n"
]
},
{
"cell_type": "markdown",
"id": "9f539a58",
"metadata": {},
"source": [
"## Deux méthodes d'envoie"
]
},
{
"cell_type": "markdown",
"id": "7b47be55",
"metadata": {},
"source": [
"Arobase a le choix entre deux méthodes de livraison :\n",
"\n",
" - Soit l'ensemble des paquets sera livrée en trois jours, avec une numérotation précise de chaque colis\n",
" - Soit la commande arrivera dès le lendemain, mais sans aucune garantie de fiabilité"
]
},
{
"cell_type": "markdown",
"id": "3cfd70fa",
"metadata": {},
"source": [
"On peut rapprocher ces deux méthodes à deux protocoles de transmission de données :\n",
"\n",
"- [x] TCP\n",
"- [x] UDP"
]
},
{
"cell_type": "markdown",
"id": "a45b1f71",
"metadata": {},
"source": [
"### TCP"
]
},
{
"cell_type": "markdown",
"id": "41dc2ae5",
"metadata": {},
"source": [
"TCP assure une qualité de service, c'est à dire qu'il assure le découpage du fichier en plus petits paquets, en permettant le routage des données par quelques chemins que cela soit tout en promettant une reconstitution des fichiers demandés dans le bon ordre, grâce à une numérotation précise des données."
]
},
{
"cell_type": "markdown",
"id": "ea5d6571",
"metadata": {},
"source": [
"*__Selon vous, qu'est ce que le routage des paquets (c'est à dire le fait de pouvoir disperser les données à travers Internet tout en s'assurant qu'elles parviennent à destination) engendre comme contrainte ?__*"
]
},
{
"cell_type": "markdown",
"id": "4c57365f",
"metadata": {},
"source": [
"### UDP"
]
},
{
"cell_type": "markdown",
"id": "69ec521b",
"metadata": {},
"source": [
"Contrairement au protocole TCP, UDP s'affranchit de la numérotation des paquets et n'assure en aucun cas la fiabilité des données transmises."
]
},
{
"cell_type": "markdown",
"id": "03ca29d7",
"metadata": {},
"source": [
"*__Pourquoi, d'après vous, le protocole UDP est-il plus rapide que TCP ?__*\n",
"\n",
"On suppose qu'Arobase souhaite envoyer des fichiers personnels sur son cloud Bobble Drive, et pour patienter, Arobase décide de regarder son jeu favori sur une plateforme de streaming.\n",
"\n",
"À votre avis :\n",
"\n",
"- Lequel de ces services favorise le TCP ?\n",
"- Lequel favorise l'UDP ? Pourquoi ?\n",
"- Que faire si un paquet se perd ?\n",
"- Que faire si un paquet arrive en double ?"
]
},
{
"cell_type": "markdown",
"id": "19b8912d",
"metadata": {},
"source": [
"## Résumé "
]
},
{
"cell_type": "markdown",
"id": "8ed835cd",
"metadata": {},
"source": [
"- TCP et UDP sont des protocoles\n",
"- TCP permet de s'assurer que les données transmises sont bien arrivées à destination, contrairement à UDP\n",
"- UDP est plus rapide que TCP mais n'assure en aucun cas la fiabilité de la transmission\n",
"- Avec le protocole IP, ils forment un modèle informatique appelé TCP/IP"
]
},
{
"cell_type": "markdown",
"id": "e6bc030f",
"metadata": {},
"source": [
"## Mais au fait, comment se font ces échanges tcp ?"
]
},
{
"cell_type": "markdown",
"id": "f7d24cbb",
"metadata": {},
"source": [
"Voilà comment se déroule un échange entre un client et un serveur TCP.\n",
"\n",
"Tout d'abord, le client demande un canal TCP au serveur\n",
"\n",
"![blague_1.png](assets/blague_1.png)"
]
},
{
"cell_type": "markdown",
"id": "42c91da4",
"metadata": {},
"source": [
"Puis le serveur se met en mode TCP et envoie les données découpées en paquets :\n",
"\n",
"![blague_1.png](assets/blague_2.png)"
]
},
{
"cell_type": "markdown",
"id": "1c99b704",
"metadata": {},
"source": [
"Hélas on voit ici que le message était trop long, et que le canal s'est refermé après la durée choisie par défaut..."
]
},
{
"cell_type": "markdown",
"id": "5dfba86d",
"metadata": {},
"source": [
"![blague_1.png](assets/blague_3.png)"
]
},
{
"cell_type": "markdown",
"id": "427c2c7d",
"metadata": {},
"source": [
"Et que se passe t-il dans ce cas ...?"
]
},
{
"cell_type": "markdown",
"id": "f0ad0992",
"metadata": {},
"source": [
"![blague_4.png](assets/blague_4.png)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.8"
}
},
"nbformat": 4,
"nbformat_minor": 5
}

283
reseau/tcp/README.ipynb Normal file
View File

@@ -0,0 +1,283 @@
{
"cells": [
{
"cell_type": "markdown",
"id": "57756f8d",
"metadata": {},
"source": [
"# Le protocole TCP"
]
},
{
"cell_type": "markdown",
"id": "39894bd2",
"metadata": {},
"source": [
"> Parmi tous les [protocoles] employés dans le domaine de l'informatique, on peut très souvent entendre l'un d'entre eux revenir en boucle : IP. Et il se trouve qu'IP a un grand ami, le protocole TCP, avec qui il est très proche."
]
},
{
"cell_type": "markdown",
"id": "e2a0377e",
"metadata": {},
"source": [
"TCP, ou *Transmission Control Protocol* est toujours associé à IP, sous la dénomination *__TCP/IP__*. Il s'agit d'un membre essentiel d'Internet : il permet de relier les machines entre elles, ainsi que d'assurer l'échange de données, en garantissant l'arrivée à destination de paquets."
]
},
{
"cell_type": "markdown",
"id": "44a2d5cc",
"metadata": {},
"source": [
"## Cliquez, c'est envoyé !"
]
},
{
"cell_type": "markdown",
"id": "346719f4",
"metadata": {},
"source": [
"Imaginons que vous souhaitiez acheter quelque chose sur votre site de e-commerce préféré : lorsque vous passez votre commande, vous devez indiquer votre adresse postale, afin d'assurer la livraison jusqu'à votre domicile."
]
},
{
"cell_type": "markdown",
"id": "47f900f1",
"metadata": {},
"source": [
"Dans le merveilleux monde d'Internet, c'est la même chose, grâce à l'adresse *__IP__* : chaque machine a la sienne, et vos données peuvent traverser tout le réseau mondial jusqu'à parvenir au bon destinataire : on parle alors de *__routage__*."
]
},
{
"cell_type": "markdown",
"id": "6a334f61",
"metadata": {},
"source": [
"![diagramme.svg](assets/diagramme.svg)"
]
},
{
"cell_type": "markdown",
"id": "c7e93427",
"metadata": {},
"source": [
"Arobase souhaite passer une commande auprès d'une célèbre chaine de magasin de meuble. Hélas, le paquet est trop gros pour être livré en une fois, en effet, le poids maximum d'un colis est de 1,5 kg.\n",
"\n",
"*Quelle solution le commerçant va t-il choisir pour expédier les différents colis ?*"
]
},
{
"cell_type": "markdown",
"id": "b8fa76dc",
"metadata": {},
"source": [
"*__Problématiques__* :\n",
"\n",
" - Comment découper la commande pour faire parvenir l'ensemble des éléments ?\n",
" - Comment s'assurer que tous les éléments arrivent bien ?"
]
},
{
"cell_type": "markdown",
"id": "41b803a1",
"metadata": {},
"source": [
"__En informatique__\n",
"\n",
"Cela fonctionne de la même manière : Arobase souhaite envoyer télécharger un gros fichier depuis un serveur https. Les problèmatiques restent les mêmes : \n",
"\n",
" - Comment découper le fichier ?\n",
" - Comment s'assurer que tous les \"morceaux\" de fichiers parviennent à destination ?\n"
]
},
{
"cell_type": "markdown",
"id": "9f539a58",
"metadata": {},
"source": [
"## Deux méthodes d'envoie"
]
},
{
"cell_type": "markdown",
"id": "7b47be55",
"metadata": {},
"source": [
"Arobase a le choix entre deux méthodes de livraison :\n",
"\n",
" - Soit l'ensemble des paquets sera livrée en trois jours, avec une numérotation précise de chaque colis\n",
" - Soit la commande arrivera dès le lendemain, mais sans aucune garantie de fiabilité"
]
},
{
"cell_type": "markdown",
"id": "3cfd70fa",
"metadata": {},
"source": [
"On peut rapprocher ces deux méthodes à deux protocoles de transmission de données :\n",
"\n",
"- [x] TCP\n",
"- [x] UDP"
]
},
{
"cell_type": "markdown",
"id": "a45b1f71",
"metadata": {},
"source": [
"### TCP"
]
},
{
"cell_type": "markdown",
"id": "41dc2ae5",
"metadata": {},
"source": [
"TCP assure une qualité de service, c'est à dire qu'il assure le découpage du fichier en plus petits paquets, en permettant le routage des données par quelques chemins que cela soit tout en promettant une reconstitution des fichiers demandés dans le bon ordre, grâce à une numérotation précise des données."
]
},
{
"cell_type": "markdown",
"id": "ea5d6571",
"metadata": {},
"source": [
"*__Selon vous, qu'est ce que le routage des paquets (c'est à dire le fait de pouvoir disperser les données à travers Internet tout en s'assurant qu'elles parviennent à destination) engendre comme contrainte ?__*"
]
},
{
"cell_type": "markdown",
"id": "4c57365f",
"metadata": {},
"source": [
"### UDP"
]
},
{
"cell_type": "markdown",
"id": "69ec521b",
"metadata": {},
"source": [
"Contrairement au protocole TCP, UDP s'affranchit de la numérotation des paquets et n'assure en aucun cas la fiabilité des données transmises."
]
},
{
"cell_type": "markdown",
"id": "03ca29d7",
"metadata": {},
"source": [
"*__Pourquoi, d'après vous, le protocole UDP est-il plus rapide que TCP ?__*\n",
"\n",
"On suppose qu'Arobase souhaite envoyer des fichiers personnels sur son cloud Bobble Drive, et pour patienter, Arobase décide de regarder son jeu favori sur une plateforme de streaming.\n",
"\n",
"À votre avis :\n",
"\n",
"- Lequel de ces services favorise le TCP ?\n",
"- Lequel favorise l'UDP ? Pourquoi ?\n",
"- Que faire si un paquet se perd ?\n",
"- Que faire si un paquet arrive en double ?"
]
},
{
"cell_type": "markdown",
"id": "19b8912d",
"metadata": {},
"source": [
"## Résumé "
]
},
{
"cell_type": "markdown",
"id": "8ed835cd",
"metadata": {},
"source": [
"- TCP et UDP sont des protocoles\n",
"- TCP permet de s'assurer que les données transmises sont bien arrivées à destination, contrairement à UDP\n",
"- UDP est plus rapide que TCP mais n'assure en aucun cas la fiabilité de la transmission\n",
"- Avec le protocole IP, ils forment un modèle informatique appelé TCP/IP"
]
},
{
"cell_type": "markdown",
"id": "e6bc030f",
"metadata": {},
"source": [
"## Mais au fait, comment se font ces échanges tcp ?"
]
},
{
"cell_type": "markdown",
"id": "f7d24cbb",
"metadata": {},
"source": [
"Voilà comment se déroule un échange entre un client et un serveur TCP.\n",
"\n",
"Tout d'abord, le client demande un canal TCP au serveur\n",
"\n",
"![blague_1.png](assets/blague_1.png)"
]
},
{
"cell_type": "markdown",
"id": "42c91da4",
"metadata": {},
"source": [
"Puis le serveur se met en mode TCP et envoie les données découpées en paquets :\n",
"\n",
"![blague_1.png](assets/blague_2.png)"
]
},
{
"cell_type": "markdown",
"id": "1c99b704",
"metadata": {},
"source": [
"Hélas on voit ici que le message était trop long, et que le canal s'est refermé après la durée choisie par défaut..."
]
},
{
"cell_type": "markdown",
"id": "5dfba86d",
"metadata": {},
"source": [
"![blague_1.png](assets/blague_3.png)"
]
},
{
"cell_type": "markdown",
"id": "427c2c7d",
"metadata": {},
"source": [
"Et que se passe t-il dans ce cas ...?"
]
},
{
"cell_type": "markdown",
"id": "f0ad0992",
"metadata": {},
"source": [
"![blague_4.png](assets/blague_4.png)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.8"
}
},
"nbformat": 4,
"nbformat_minor": 5
}

90
reseau/tcp/README.md Normal file
View File

@@ -0,0 +1,90 @@
# Le protocole TCP
> Parmi tous les [protocoles](../definition/PROTOCOLE.md) employés dans le domaine de l'informatique, on peut très souvent entendre l'un d'entre eux revenir en boucle : IP. Et il se trouve qu'IP a un grand ami, le protocole TCP, avec qui il est très proche.
TCP, ou *Transmission Control Protocol* est toujours associé à IP, sous la dénomination *__TCP/IP__*. Il s'agit d'un membre essentiel d'Internet : il permet de relier les machines entre elles, ainsi que d'assurer l'échange de données, en garantissant l'arrivée à destination de paquets.
## Cliquez, c'est envoyé !
Imaginons que vous souhaitiez acheter quelque chose sur votre site de e-commerce préféré : lorsque vous passez votre commande, vous devez indiquer votre adresse postale, afin d'assurer la livraison jusqu'à votre domicile.
Dans le merveilleux monde d'Internet, c'est la même chose, grâce à l'adresse *__IP__* : chaque machine a la sienne, et vos données peuvent traverser tout le réseau mondial jusqu'à parvenir au bon destinataire : on parle alors de *__routage__*.
![diagramme.svg](assets/diagramme.svg)
Arobase souhaite passer une commande auprès d'une célèbre chaine de magasin de meuble. Hélas, le paquet est trop gros pour être livré en une fois, en effet, le poids maximum d'un colis est de 1,5 kg.
*Quelle solution le commerçant va t-il choisir pour expédier les différents colis ?*
*__Problématiques__* :
- Comment découper la commande pour faire parvenir l'ensemble des éléments ?
- Comment s'assurer que tous les éléments arrivent bien ?
__En informatique__
Cela fonctionne de la même manière : Arobase souhaite envoyer télécharger un gros fichier depuis un serveur https. Les problèmatiques restent les mêmes :
- Comment découper le fichier ?
- Comment s'assurer que tous les "morceaux" de fichiers parviennent à destination ?
## Deux méthodes d'envoie
Arobase a le choix entre deux méthodes de livraison :
- Soit l'ensemble des paquets sera livrée en trois jours, avec une numérotation précise de chaque colis
- Soit la commande arrivera dès le lendemain, mais sans aucune garantie de fiabilité
On peut rapprocher ces deux méthodes à deux protocoles de transmission de données :
- [x] TCP
- [x] UDP
### TCP
TCP assure une qualité de service, c'est à dire qu'il assure le découpage du fichier en plus petits paquets, en permettant le routage des données par quelques chemins que cela soit tout en promettant une reconstitution des fichiers demandés dans le bon ordre, grâce à une numérotation précise des données.
*__Selon vous, qu'est ce que le routage des paquets (c'est à dire le fait de pouvoir disperser les données à travers Internet tout en s'assurant qu'elles parviennent à destination) engendre comme contrainte ?__*
### UDP
Contrairement au protocole TCP, UDP s'affranchit de la numérotation des paquets et n'assure en aucun cas la fiabilité des données transmises.
*__Pourquoi, d'après vous, le protocole UDP est-il plus rapide que TCP ?__*
On suppose qu'Arobase souhaite envoyer des fichiers personnels sur son cloud Bobble Drive, et pour patienter, Arobase décide de regarder son jeu favori sur une plateforme de streaming.
À votre avis :
- Lequel de ces services favorise le TCP ?
- Lequel favorise l'UDP ? Pourquoi ?
- Que faire si un paquet se perd ?
- Que faire si un paquet arrive en double ?
## Mais au fait, comment se font ces échanges tcp ?
Voilà comment se déroule un échange entre un client et un serveur TCP.
Tout d'abord, le client demande un canal TCP au serveur
![blague_1.png](assets/blague_1.png)
Puis le serveur se met en mode TCP et envoie les données découpées en paquets :
![blague_1.png](assets/blague_2.png)
Hélas on voit ici que le message était trop long, et que le canal s'est refermé après la durée choisie par défaut...
![blague_1.png](assets/blague_3.png)
Et que se passe t-il dans ce cas ...?
![blague_4.png](assets/blague_4.png)
## Synthèse
- TCP et UDP sont des ........................
- ............. permet de s'assurer que les données transmises sont bien arrivées à destination, contrairement à ............
- UDP est plus ..................... que TCP mais n'assure en aucun cas la fiabilité de la transmission
- Avec le protocole IP, ils forment un modèle informatique appelé ................

Binary file not shown.

After

Width:  |  Height:  |  Size: 183 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 8.3 KiB