Ethernet Switch, how does it work?

OSI Model

If you aren’t familiar with OSI model, I suggest to read https://en.wikipedia.org/wiki/OSI_model

Switches are layer 2 nodes

Ethernet switches operate at OSI layer 2, an ethernet switch keeps a Look-up table that contains an entry (L2 or MAC addresses) associated with an output (Output physical port), each frame with its destination L2 address is then switched to the corresponding port.

As the switch is receiving frames, it checks whether the L2 source address of the frame already exists in the Look-up table, if the L2 source address of the frame is not in the table, the switch adds it inside, with the corresponding port from where the frame was received.

In order to switch the frames correctly, an ethernet switch read L2 header data of each frame, to be precise, it only reads L2 destination address, it then resolves the output Port by looking up the table with the L2 destination address.

How does an ethernet switch work?
Detailed scheme of how an ethernet switch works

What about hubs…

Hubs simply repeats received signal on all other ports, hubs are thus layer 1 nodes.

Publié le par Bashy | Laisser un commentaire

A MPLS Diagram

Some years ago I published a diagram about MPLS trying to explain how it works in a simple way.

This diagram was in French so now here an English version, I added some MPLS table as example, It may be useful.

MPLS_EN

Case of MPLS several shim label is though not shown nor explained in this diagram.

Publié dans Réseaux | Marqué avec , , | Laisser un commentaire

Mise en pratique d’une attaque man in the middle dans un réseau local IPv6

Afin de communiquer avec les équipements du réseau local (sur le même réseau ethernet), votre ordinateur maintient une table des voisins de la façon suivante :

root@vmdeb:~# ip -6 neigh
fe80::4503:f2e0:fcab:cdee dev eth1 lladdr 00:21:dd:ab:cd:ee STALE
fe80::207:cbff:feba:deaa dev eth0 lladdr 00:07:cb:ba:de:aa router STALE

En effet, pour envoyer une trame à un voisin, il faut connaître son adresse MAC.
Plus d’explication et un script dans la suite.
Continuer la lecture

Publié dans Réseaux, Sécurité | Marqué avec , , , , | Laisser un commentaire

Un schéma pour MPLS

Un autre schéma réalisé sur Visio permettant de faciliter la compréhension du fonctionnement des réseaux MPLS dans le cadre de l’unité d’enseignement RTEL du Master 1 Informatique d’UPMC/Paris-6.

Le but de MPLS étant de pouvoir – dans un environnement restreint – commuter des paquets plutôt que de les router, voici un résumé de son fonctionnement.

Ce schéma est sous licence creative commons nc-by-sa.

MPLS

Le concept de tunnel MPLS n’est pas présenté, peut-être dans un futur billet, le schéma est disponible en format svg (vectoriel) sur demande écrite.

Publié dans Réseaux | Marqué avec , | 3 commentaires

Les VLANs en un schéma…

Voici un schéma réalisé sur Visio permettant de faciliter la compréhension du fonctionnement des réseaux virtuels locaux VLAN, dans le but d’aider d’autres élèves dans le cadre de l’unité d’enseignement RTEL du Master 1 Informatique d’UPMC/Paris-6.
Ce schéma est sous licence CC nc-by-sa.

Fonctionnement de VLAN

Publié dans Réseaux | Marqué avec , , , | Laisser un commentaire

ndp_dump.py surveiller simplement les paquets ndp

Mise à jour (31/07/2011) : Ajout de l’option -c | –without-color permettant d’enlever les caractères d’échappement ANSI de la sortie.

Voici mon premier script en Python, qui utilise Scapy, qui au passage, est génial, ndp_dump.py permet d’afficher d’une manière claire et simple, les paquets ndp, et plus particulièrement, les paquets de type Advertisement sur lesquels les flags R et O sont à 1.

Voici un petit aperçu :

Aperçu du programme ndp_dump.py

Continuer la lecture

Publié dans Scripts | Marqué avec , , , , , | Laisser un commentaire

Un moyen simple d’afficher les IPv6 d’une interface

Vous connaissez très certainement cette méthode en bash pour afficher votre IP avec l’outil cut :

ifconfig $IF | grep "inet ad" | cut -d':' -f2 | cut -d' ' -f1

Voici la même chose pour afficher toutes les IPv6 d’une interface $IF (avec le masque)

ifconfig $IF | grep inet6 | cut -d':' -f2- | cut -d' ' -f2

Même chose sans le masque de préfixe :

ifconfig $IF | grep inet6 | cut -d':' -f2- | cut -d' ' -f2 | cut -d'/' -f1

Petite édition, voici la même chose mais avec la commande ip (iproute) de linux, testé sur des debian mais pas encore ailleurs 🙂 :
Pour obtenir l’adresse lien-local link-local :

ip -6 addr show scope link dev $IF | grep inet6 | cut -d' ' -f6

Sans masque :

ip -6 addr show scope link dev $IF | grep inet6 | cut -d' ' -f6 | cut -d'/' -f1

Pour la ou les adresse(s) globale(s) global unicast :

ip -6 addr show scope global dev $IF | grep inet6 | cut -d' ' -f6

Sans masque :

ip -6 addr show scope global dev $IF | grep inet6 | cut -d' ' -f6 | cut -d'/' -f1
Publié dans Administration Système, Réseaux | Marqué avec , , | Un commentaire

Limiter le nombre de sessions tcp par client sur un port donné

Voilà une fonction que j’utilise assez souvent avec iptables, limiter le nombre de sessions tcp par IP.

La principale utilité ici est de limiter les attaques de type déni de service (DoS), qui ont bien souvent pour effet de surcharger l’activité d’un processus en écoute sur un port tcp donné en ouvrant plusieurs sessions tcp dans le but de rendre impossible toute nouvelle connexion.

À noter qu’avec l’outil iptables, il est également possible de limiter le nombre de sessions tcp à une plage d’adresses suivant un masque, que ce soit IP ou IPv6.

Continuer la lecture

Publié dans Administration Système | Marqué avec , , , | Un commentaire

Le paquet Router Advertisement

Le paquet Router Advertisement joue un rôle très important dans IPv6, il permet aux hôtes sur un même segment réseau de configurer leur route par défaut automatiquement, il est également à l’origine de l’autoconfiguration, ou, le cas échéant, il informe l’hôte qu’un service DHCPv6 est disponible pour obtenir diverses informations dont l’adresse IPv6.

Ce paquet ICMPv6 de type 134 est défini dans la RFC 4861 et de manière plus détaillée (pour les flags) dans la RFC 5175.

De quoi est constitué le paquet RA ?

Comment fonctionne-t-il et à quoi sert-il ?

Je vais tenter d’éclaircir ces points dans la suite du billet.

Continuer la lecture

Publié dans Réseaux | Marqué avec , , , , | 2 commentaires

FAQ IPv6

J’ai enfin rapatrié ma FAQ rapide IPv6, que j’ai originalement rédigée sur le forum Korben.info.
Ce n’est pas très technique, cela se veut compréhensible par la plupart des internautes, enfin les plus curieux :).
Elle est disponible ici, je suis ouvert à toute critique, observation ou remarque pertinente, et je modifierai en cas de besoin.

Publié dans Réseaux | Marqué avec , | Laisser un commentaire