diff --git a/OS/cours.md b/OS/cours.md index 592107d..71f0c9b 100644 --- a/OS/cours.md +++ b/OS/cours.md @@ -55,7 +55,7 @@ Il s'agit du composant majeur et critique de l'OS. Il impose ainsi une architect Le KernelLand est la partie ayant le plus de privilèges dans la machine, d'ou le risque d'un user _root_ qui obtient tous les privilèges et peut ainsi pénétrer le Kernel land. -## Comment marche ```malloc()``` ? +## Comment marche malloc() ? ```malloc``` sert à allouer de la mémoire depuis le Userland. ```malloc``` va récupérer des pages de mémoires au niveau du kernel qu'il va pouvoir agencer comme il le souhaite en fonction des besoins de l'application. Pour demander de la mémoire au noyau, ```malloc``` utilise un appel système. diff --git a/Réseau/Images/path_mtu_discovery.png b/Réseau/Images/path_mtu_discovery.png new file mode 100644 index 0000000..6bf2789 Binary files /dev/null and b/Réseau/Images/path_mtu_discovery.png differ diff --git a/Réseau/cours.md b/Réseau/cours.md index 952bc53..e506493 100644 --- a/Réseau/cours.md +++ b/Réseau/cours.md @@ -20,15 +20,14 @@ Internet est dirigé par la Internet Society, et régulé par l'IETF, Internet E # Principes d'internet ## Avant -| Avant | Aujourd'hui + +| Avant | Aujourd'hui | :--------------- |---------------:| | Medium partagé | Commutateur et Full-Duplex | Méthode d'accès - CSMA-CD | CSMA-CD utile ? | 10 Mbits/s | Auto-apprentissage | Temps réel ? Contraintes temporelles | Spanning tree - - ## Principe du WIFI Mode de fonctionnement @@ -68,3 +67,77 @@ Ce nouveau standard permettra de mettre fin aux problèmes de saturation d'adres - Adresses Site Local - Adresses Link Local - Adresses Multicast + +# Path MTU Discovery + +## Problème de base + +A veut communiquer avec B. MTU = Maximum transmission unit. + +
+ +
+ +On a des réseaux dans le chemins qui vont proposer des tailles maximum de transport différentes. Il pourrait donc y avoir conflit au niveau de l'acheminement des paquets. MTU discovery permet de déterminer la taille maximum des paquets à envoyer entre deux machines données. + +## Fonctionnement + +La découverte du MTU d'un chemin donné fonctionne en positionnant le bit DF (Don't Fragment) de l'en-tête IP sur tous les paquets sortants. Le long du chemin emprunté par un tel paquet, si l'un des hôtes traversés a un MTU plus petit que la taille du paquet, ce dernier sera rejeté et un message ICMP, contenant le MTU de l'hôte qui le génère, sera envoyé afin d'informer la source. Ce message est : + +- type 3 / code 4, "Destination Unreachable" / "Fragmentation Needed and Don't Fragment was Set" en ICMP +- type 2 / code 0, "Packet Too Big" en ICMPv6. + +La source adapte alors la taille du prochain paquet en fonction du MTU reçu dans le message ICMP. Le processus est répété jusqu'à ce que la source parvienne à atteindre la destination. + +Si le MTU du chemin change après que la connexion a été établie et se trouve être plus petit que celui déterminé précédemment, le premier paquet trop grand à emprunter le chemin causera l'envoi d'un nouveau message ICMP, relançant le processus de PMTUD. De même, durant la connexion, la source peut périodiquement resonder le chemin pour découvrir si celui-ci permet désormais un MTU plus grand. + +Bien que rares, ces cas de figure peuvent être provoqués par des changements de route, dus aux protocoles de routage dynamiques ou à une intervention humaine sur le réseau. + +# ICMP + +Protocole qui permet de communiquer via IP dans internet. Ce protocole est véhiculé par IP et permet d'apporter un contrôle de ce dernier. En revanche, il ne permet en aucun cas d'offrir les garanties suivantes : + +- Pas de chemin fixe +- Pas de délai maximum +- Pas de fiabilité + +On parle de service Best Effort + +ICMP permet en fait d'apporter un contrôle d'IP en permettant sa configuration, la mise en place des ressources et d'un chemin associé à une communication, et la vérification du bon acheminement des datagrammes. + +Plusieurs types de messages associés au protocole : + +- echo request/reply, timestamp request/reply +- Destination unreachable +- Redirect + +# ARP - Address Resolution Protocol + +Permet la mise en place de la correspondance des adresses IP et des adresses MAC des machines sur un réseau donné. Cet envoi passe par un broadcast de trame ARP comprenand l'adresse IP de destination. Chacune des machines du réseau va recevoir cette requête et si l'une d'elle reconnaît son IP. Ainsi, chacune des machines va mettre à jour fréquemment sa table ARP pour pouvoir par la suite communiquer directement de machine à machine. + +# DNS - Domain Name Server + +Ce service se base sur l'utilisation de _Fully Qualified Domain Name_ + +- www.enseeiht.fr | _Nom absolu_ + - www | _hôte_ + - enseeiht.fr | _nom de domaine_ + -le nom de domaine peut être subdivisé : bde.enseeiht.fr + +Ce service permet la correspondance entre des adresses IP et des noms humainement intelligibles. Le dialogue se fait via un résolveur. + +# DHCP + +Mécanisme d'autoconfiguration des adresses IPv4 dans un réseau. + +# IPv6 + +En IPv6 c'est un petit peu différent. On peut récupérer une IP à partir de l'adresse physique. Il existe cependant une nouvelle verison DHCPv6 qui permet de réaliser une autoconfiguration des adresses IP. + +# Le transport | TCP/UDP + +L'objectif de la couche de transport est de procéder à un multiplexage applicatif. Cela permet de connaitre les ports sources et destination des machines (i.e. l'application concernée), d'opérer via un mode client-serveur. + +La partie concernant la data applicative d'un paquet TCP est appelée segment. La numérotation des segments se fait sur 4Bits. Cette numérotation permet le réordonnement de la data a la réception. + +Il y a des numéros dans les flags d'ACK pour indiquer les prochains octets attendus en réception et orienter la fin de l'envoi. diff --git a/Réseau/cours.pdf b/Réseau/cours.pdf new file mode 100644 index 0000000..0e25a26 Binary files /dev/null and b/Réseau/cours.pdf differ diff --git a/tmp.drawio b/tmp.drawio new file mode 100644 index 0000000..48ecd0e --- /dev/null +++ b/tmp.drawio @@ -0,0 +1,37 @@ +