

I taught more than one hundred hours of tutorials and lab sessions (travaux dirigés et travaux pratiques) in Telecom-Bretagne. I also taught some of them severals times (for Engineer and Masters students) during the 3 first years of my PhD.
During these sessions, students execute many common network protocols in a real testbed and observe their behavior (message exchanges, response to any modification in the network's parameters, ...) by analyzing real traces. The testbed consist in a set of tables that represents local networks which are connected to a same core network (backbone).
| Name of the lab session | Brief description and some main goals |
| Ethernet |
Get first knowledges on IOS (Cisco language) Make VLANs and connect them to understand the "trunk" Execute the Spanning Tree algorithm to avoid loops |
| Routing protocols |
Interconnect local networks via the core network using a static routing, then using RIP and finally by migrating from RIP to OSPF. |
| IPv6: Deployment and integration |
Achieve an IPv6 network connecting all tables together. Each table contain 2 IPv6 networks (using VLANs). understand how IPv6 works (Neighbor discovery, DAD option, ...) Deploy several protocols (DHCPv6, configure a DNS server, apply web filtering rules). |
| Routing: Peering BGP |
Studying BGP by setting the interconnection network as an IGX (Internet Global Exchange) and tables as ISPs that have several clients behind them. Observe and control the route exchange, the BGP peering, address filtering, address aggregation, ... |
| MPLS: setting up a switching plan |
Understand the distribution of labels related to the IGP used. Studying how the switching tables of MPLS are set up. By deploying MP-BGP, understanding how level-3 VPNs will be created. |
NS-2 is a very famous simulation tool used for academic and research purposes.
| Name of the lab session | Brief description and some main goals |
| Quality of Service | Study the effect of different traffic shape on delay, jitter and buffer occupation. |
| A simulation Study of TCP |
Study the behavior of TCP over a whole connexion, especially, the auto-synchronization and the flow control. Study the effect of asymmetric-links on TCP performance. |
| Name of the lab session | Brief description and some main goals |
| Labs on Java |
A serie of labs that have as objective to: Put in practice the Oriented Object notion studied on classes Implement and understand the communication between threads, the multi-threading, access to a shared memory, ... |
| Sockets in C | Implement and use sockets in C |
| Name of the tutorial | Brief description and some main goals |
| Design of an IP address plan | Understand the notion of networks, sub-networks, netmask, aggregation, ... using IPv4 addresses |
| Load Balancing |
Study of different proposition of load sharing using NATs (LS-NAT, LS-NAPT and LSNAT with NAPT proposed in an informational IETF draft). Study of a mechanism of load sharing using OSPF. |
| Networks transit using MPLS | Study of an IETF draft about connecting IPv6 islands across clouds with BGP using MPLS |
| Aloha and Ethernet | A simple mathematical study of these two protocols |
| Frame disassembly | Fragmentation of different types of frames (TCP, UDP, ICMP, ...) to understand the notion of layers and the importance of each field in every header. |
| System Reliabitlity | Apply the notion of system reliabilily, MTBF, MTTR, stationary availability in concrete examples. |
| Fondamental notions of networks | Understand the basic notion of communication (transmission time, propagation delay, anticipation window, ...) |
| Network sizing | Study of different queues (M/M/C, M/M/C/C, M/M/1/C, ...) |