Learning the OSI Model in Practice with FILIUS
Learning the OSI Model in Practice with FILIUS
FILIUS is a free network simulator: drag devices onto a canvas, cable them together, and watch real packets move. This notebook walks the lab in nine stages — from two bare computers to two routed subnets exchanging application-layer traffic — and traces what happens on the wire at each step.
What is FILIUS?
FILIUS is a network simulator built for learning. It strips a real network down to something you can see and click: drag devices — computers, switches, routers — onto a canvas, connect them with cables, then run the simulation and watch packets actually move between them.
Basic networking: two computers
The smallest possible network. Enter Design mode with the hammer tool, drag two PCs onto the canvas, then use the cable tool to link them directly.
- Click the Hammer tool to enter Design mode
- Drag two PCs onto the canvas
- Click the Cable icon, then click each PC in turn to link them
Right-click a PC and choose Configure to set its IP address and netmask — putting both machines on the same subnet. Checking "Use IP address as name" saves time labeling devices as the lab grows.
Press Run to leave Design mode and start the simulation.
Ping and observe OSI layers
Install an Echo server on PC 1 (Software Installation → Echo server → Apply changes), start it on port 55555, then install a Command Line on PC 2 and ping across the link.
PING 192.168.0.10 (192.168.0.10)
From 192.168.0.10: icmp_seq=1 ttl=64 time=22ms
From 192.168.0.10: icmp_seq=2 ttl=64 time=117ms
From 192.168.0.10: icmp_seq=3 ttl=64 time=113ms
From 192.168.0.10: icmp_seq=4 ttl=64 time=112ms
--- 192.168.0.10 packet statistics ---
4 packet(s) transmitted, 4 packet(s) received, 0% packet loss
Right-click PC 2 and choose Show data exchange to open the packet log for this link. Run the capture below to see what it actually records.
Data exchange — 192.168.0.11 ↔ 192.168.0.10
Add a third computer → add a switch
Add a server at 192.168.0.12 and connect all three devices to a switch instead of direct cables.
A switch's whole job is learning: it builds a table mapping which MAC address sits on which port. The first frame to a given address is slower, since the switch has to flood it out every port while it figures out where things are. After that first lookup, forwarding gets faster because the switch already knows the answer.
Echo server and client communication
Install and start an Echo server on the server device on port 55555, then install a Generic Client on a PC and send it a few messages.
- This is where the transport layer starts to matter — a client-server exchange touches more layers than a bare ping does
- The data exchange window will still show ARP first, since a device always needs a MAC address before it can send anything
- Check the packet window after every step — later actions (like an email) generate noticeably more traffic than a ping ever does
Two networks + one router — an intentional failure
Build a second subnet of three computers and connect the two networks with one router.
ping 192.168.1.10 from 192.168.0.10 — it fails on purpose. Neither PC has a gateway configured yet, so neither one knows where to hand off traffic bound for a network it isn't directly connected to.Fix communication using gateways
Set each subnet's gateway to its router interface, then repeat the same ping.
The ping should succeed now. Watch the timing too — the first packet is usually the slowest, since the switches' forwarding tables start empty and everything downstream of them still has to learn. Later packets move faster once those tables fill in.
Try it — can these two devices reach each other directly?
Final step: trace end-to-end communication
Put a client on 192.168.1.10 and point it at the echo server on 192.168.0.12 — across the router. Send a message, then open the data exchange window and trace the whole path.
This one trace proves the whole chain: the message starts at the application layer on the client, the OS wraps and routes it toward the configured gateway, the router forwards it into Subnet A, and it lands on the echo server on a completely different network — all of it visible, packet by packet, inside the data exchange window.
Summary
Everything this lab demonstrates, condensed.




