---
# System prepended metadata

title: MAN concepts (Cours 4)
tags: [RESEAU, ' MAN', ' jerome.tchan']

---

---
titre: MAN concepts (Cours 4)
description: LAN concepts (Cours 4), 03/04/2020
tags: RESEAU, MAN, jerome.tchan
author: Jérôme Tchan
---

# MAN concepts (Cours 4)

:::success
Pour certains diagrammes (exercices notamment), vous pouvez cliquer sur l'image pour ouvrir le diagramme dans draw.io si vous souhaitez le modifier!
:::

> Slides
> 
> {%pdf https://51.38.177.120/dokuwiki/lib/exe/fetch.php?media=cours:reseau:2020:epita_2018_-_cman.pdf %}

:::info
**Remise du draft Zoglu: 9 juillet à 20h**, les groupes envoient un mail à Le Prof avec une pièce jointe qui est le draft (format pdf ou docx)

Si déconfiné, 10 juillet: remise papier du rapport

Vendredi 17 juillet: feedback sur le draft
:::

---

## TCP / UDP

Couche 4, TCP et UDP coexistent
Supporte la couche applicative (HTTP, FTP, NFS, etc.)

Ports: codés sur 16 bits (0 à 65535)

Ports de 0 à 1024: well-known ports => ports réservés à des applications
Au delà de 1024: ports random / client

Exemples de well-known ports:
- 23: Telnet/TCP
- 20/21: FTP/TCP
- 25: SMTP/TCP
- 80: HTTP/TCP

## NAT / PAT

Network Address Translation

[![NAT](https://i.imgur.com/5aRbXri.png)](https://app.diagrams.net/#Uhttp%3A%2F%2Fnagisanokoakuma.lovelyrad.io%2F8Xpa1AMe)

Comment faire si deux flux ont le même port source côté client?

Plusieurs solutions:
- Avoir plusieurs adresses publiques => n pour n, très consommateur en adresses publiques, pas une bonne solution
- PAT => translation d'adresse source et de port, au niveau du NAT on associe un port random en sortie pour éviter les conflits

[![NAT/PAT](https://i.imgur.com/D8jm1d0.png)](https://app.diagrams.net/#Uhttp%3A%2F%2Fnagisanokoakuma.lovelyrad.io%2FEwjTfLnn)

:::info
***Hors-sujet***

Routeur stackable: les routeurs stackables peuvent être configurés pour être considérés comme un seul et unique routeur
:::

Pour les flux entrants (public vers privé), on doit configurer explicitement au niveau du NAT/PAT les ports.

## CIDR (Classless inter-domain routing)

Rechercher les bits en commun pour faire de l'aggrégation d'adresse => réduire la taille des tables de routage

Aujourd'hui le CIDR est utilisé systématiquement. On est passé du classful au classless.

### Exemple de table de routage

**Sans CIDR:**

| Dest          | Next hop    |
| ------------- | ----------- |
| ...           | ...         |
| 213.2.96.0/24 | 130.11.0.12 |
| 213.2.97.0/24 | 130.11.0.12 |
| 213.2.98.0/24 | 130.11.0.12 |
| 213.2.99.0/24 | 130.11.0.12 |

**Avec CIDR:**

| Dest          | Next hop    |
| ------------- | ----------- |
| ...           | ...         |
| 213.2.96.0/23 | 130.11.0.12 |

---

### Exercices

:::info
1. Aggréger la plage d'@ IP suivante au plus haut degré
   - 164.32.0.0/16
   - 164.33.0.0/16
   - ...
   - 164.63.0.0/16
:::

1. 32 => 0010 0000
   63 => 0011 1111

   On a donc 3 bits en commun (001) en plus des 8 premiers => 164.32.0.0/11

:::info
2. Aggréger la plage d'@ IP suivante au plus haut degré
   - 164.31.0.0/16
   - 164.32.0.0/16
   - ...
   - 164.64.0.0/16
:::

2. 31 => 0001 1111
   32 => 0010 0000
   64 => 0100 0000

   (on ne peut pas faire /9 car cela inclurait des adresses qui ne sont pas dans la plage d'@ IP)
   =>
   - 164.31.0.0/16
   - 164.32.0.0/11
   - 164.64.0.0/16

:::info
3. Aggréger toutes
   a) les classes A (0 à 127)
   b) les classes B (128.0/16 à 191.255/16)
   c) les classes C (192.0.0/24 à 223.255.255/24)
:::

3. a) 0.0.0.0/1 (0/1)
   b) 128.0.0.0/2 (128/2)
   c) 192.0.0.0/3 (192/3)

:::info
4. Quelles sont les @ IP /24 dans le bloc 199.115.16/20?
:::

4. 16 => 0001 0000
   => 199.115.16.0/24 à 199.115.31.0/24

---

Le classless c'est l'avenir (IPv6 est classless)
