ajout cours dns et tcp
376
Réseau/dns/.ipynb_checkpoints/README-checkpoint.ipynb
Normal 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",
|
||||
""
|
||||
]
|
||||
},
|
||||
{
|
||||
"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",
|
||||
""
|
||||
]
|
||||
},
|
||||
{
|
||||
"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 d’entité 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": [
|
||||
"[](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 d’entité 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": [
|
||||
"[](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
Réseau/dns/README.ipynb
Normal 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",
|
||||
""
|
||||
]
|
||||
},
|
||||
{
|
||||
"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",
|
||||
""
|
||||
]
|
||||
},
|
||||
{
|
||||
"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 d’entité 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": [
|
||||
"[](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 d’entité 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": [
|
||||
"[](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
Réseau/dns/README.md
Normal 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.
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
### Où se situent les serveurs DNS Primaires ?
|
||||
|
||||

|
||||
|
||||
---------
|
||||
|
||||
### 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 ?
|
||||
|
||||

|
||||
|
||||
| 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 d’entité 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...) |
|
||||
|
||||
[](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 d’entité 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__* ?
|
||||
|
||||
[](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
Réseau/dns/assets/dns.gif
Normal file
|
After Width: | Height: | Size: 780 KiB |
1827
Réseau/dns/assets/root.svg
Normal file
|
After Width: | Height: | Size: 346 KiB |
BIN
Réseau/dns/assets/url_ada.png
Normal file
|
After Width: | Height: | Size: 21 KiB |
283
Réseau/tcp/.ipynb_checkpoints/README-checkpoint.ipynb
Normal 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": [
|
||||
""
|
||||
]
|
||||
},
|
||||
{
|
||||
"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",
|
||||
""
|
||||
]
|
||||
},
|
||||
{
|
||||
"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",
|
||||
""
|
||||
]
|
||||
},
|
||||
{
|
||||
"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": [
|
||||
""
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "427c2c7d",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Et que se passe t-il dans ce cas ...?"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "f0ad0992",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
""
|
||||
]
|
||||
}
|
||||
],
|
||||
"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
Réseau/tcp/README.ipynb
Normal 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": [
|
||||
""
|
||||
]
|
||||
},
|
||||
{
|
||||
"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",
|
||||
""
|
||||
]
|
||||
},
|
||||
{
|
||||
"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",
|
||||
""
|
||||
]
|
||||
},
|
||||
{
|
||||
"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": [
|
||||
""
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "427c2c7d",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Et que se passe t-il dans ce cas ...?"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "f0ad0992",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
""
|
||||
]
|
||||
}
|
||||
],
|
||||
"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
Réseau/tcp/README.md
Normal 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__*.
|
||||
|
||||

|
||||
|
||||
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
|
||||
|
||||

|
||||
|
||||
Puis le serveur se met en mode TCP et envoie les données découpées en paquets :
|
||||
|
||||

|
||||
|
||||
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...
|
||||
|
||||

|
||||
|
||||
Et que se passe t-il dans ce cas ...?
|
||||
|
||||

|
||||
|
||||
## 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é ................
|
||||
BIN
Réseau/tcp/assets/blague_1.png
Normal file
|
After Width: | Height: | Size: 183 KiB |
BIN
Réseau/tcp/assets/blague_2.png
Normal file
|
After Width: | Height: | Size: 38 KiB |
BIN
Réseau/tcp/assets/blague_3.png
Normal file
|
After Width: | Height: | Size: 62 KiB |
BIN
Réseau/tcp/assets/blague_4.png
Normal file
|
After Width: | Height: | Size: 37 KiB |
3
Réseau/tcp/assets/diagramme.svg
Normal file
|
After Width: | Height: | Size: 8.3 KiB |