Najwięcej czasu w symulatorze sieci tracą początkujący na szukanie literówki w adresie albo źle ustawionej bramy. Dlatego dobry projekt zaczyna się od planu: jakie podsieci, jakie adresy, która brama — i od sprawdzenia planu, zanim ktokolwiek wpisze go w urządzenia. Na lekcji uczniowie opisują sieć z dwiema podsieciami i routerem w Pythonie, wykrywają błędy konfiguracji i przewidują, czy ping zadziała.
Scenariusz jest przeznaczony na 45 minut dla klasy znającej adresy IPv4, maski i bramę domyślną — na przykład po lekcjach o masce i adresie sieci i o przełączniku, routerze i punkcie dostępowym. Uwaga: lekcja przygotowuje i sprawdza plan; same kroki w programie symulacyjnym (dodanie urządzeń, kabli, adresów i test ping) uczniowie wykonują samodzielnie, a ich opis w tekście jest ogólny i nie był uruchamiany w konkretnej wersji Packet Tracer.
Przygotowanie stanowisk
Potrzebny jest Python 3 i edytor lub IDLE. Rozpakuj pakiet z sekcji materiałów do osobnego folderu i uruchamiaj skrypty z tego folderu. Program uruchomisz przez Run → Run Module albo poleceniem python start.py, python3 start.py lub py start.py.
Cele i plan lekcji
Po zajęciach uczeń potrafi:
- zaprojektować plan adresowy dwóch podsieci połączonych routerem;
- sprawdzić konfigurację urządzenia: brama w tej samej sieci, brak duplikatów, adres nie jest adresem sieci ani rozgłoszeniowym;
- przewidzieć wynik ping w obrębie jednej sieci i między sieciami;
- zbudować i przetestować sieć w symulatorze według planu.
| Czas | Praca na lekcji |
|---|---|
| 0–5 min | Problem: sieć nie działa, a wszystko „wygląda dobrze” |
| 5–15 min | Plan adresowy i brama domyślna |
| 15–22 min | Kontrola planu w Pythonie |
| 22–37 min | Trzy zadania |
| 37–42 min | Budowa sieci w symulatorze |
| 42–45 min | Pytania kontrolne |
Plan sieci
Dwie podsieci /24 połączone routerem:
| Podsieć | Adres sieci | Interfejs routera (brama) | Komputery |
|---|---|---|---|
| LAN1 | 192.168.10.0/24 | 192.168.10.1 | 192.168.10.10, .11 ... |
| LAN2 | 192.168.20.0/24 | 192.168.20.1 | 192.168.20.10 ... |
Każdy komputer ma adres, maskę i bramę domyślną — adres interfejsu routera w jego sieci. Ping w tej samej sieci działa bezpośrednio, a do innej sieci pakiet idzie przez bramę i router.
Typowe błędy konfiguracji (wykrywa program)
- Brama poza siecią komputera (PC4 w LAN1 z bramą 192.168.20.1) — komputer nie dotrze do bramy.
- Duplikat adresu (PC1 i PC5 mają .10) — oba urządzenia mają kłopoty z łącznością.
- Adres sieci lub rozgłoszeniowy przypisany urządzeniu (PC6: 192.168.10.255 to adres rozgłoszeniowy).
Budowa w symulatorze (ogólnie)
Dodaj router, przełączniki i komputery, połącz je odpowiednimi kablami, ustaw adresy interfejsów routera i włącz je, na komputerach wpisz adres, maskę i bramę, a następnie sprawdź łączność poleceniem ping. Pierwsze próby ping między sieciami mogą się nie powieść z powodu rozwiązywania adresów (ARP) — powtórz test.
Model w programie
kontrola zwraca listę problemów dla urządzenia, ping przewiduje, czy komunikacja jest bezpośrednia, przez router albo niemożliwa (w uproszczeniu — program nie symuluje filtrów ani tras statycznych).
Zadania
Zadanie 1. Kontrola. Sprawdź sześć urządzeń funkcją kontrola i opisz wszystkie wykryte błędy.
Zadanie 2. Ping. Przewidź wynik ping dla par PC1→PC2, PC1→PC3, PC3→PC1 i PC4→PC3.
Zadanie 3. Plan. Wypisz adresy sieci i liczbę adresów dla hostów w obu podsieciach.
Dla chętnych: zaplanuj trzecią podsieć 192.168.30.0/24 z kolejnym interfejsem routera i dodaj do planu dwa komputery.
Rozwiązanie i wyniki
import ipaddress
# Model planu sieci (to samo sprawdza uczen przed wpisaniem adresow w programie symulacyjnym).
URZADZENIA = {
"PC1": ("192.168.10.10", 24, "192.168.10.1"),
"PC2": ("192.168.10.11", 24, "192.168.10.1"),
"PC3": ("192.168.20.10", 24, "192.168.20.1"),
"PC4": ("192.168.10.12", 24, "192.168.20.1"),
"PC5": ("192.168.10.10", 24, "192.168.10.1"),
"PC6": ("192.168.10.255", 24, "192.168.10.1"),
}
ROUTER = {"LAN1": "192.168.10.1/24", "LAN2": "192.168.20.1/24"}
def kontrola(nazwa):
ip, prefiks, brama = URZADZENIA[nazwa]
siec = ipaddress.ip_interface(f"{ip}/{prefiks}").network
problemy = []
if ipaddress.ip_address(brama) not in siec:
problemy.append("brama " + brama + " poza siecia " + str(siec))
if ipaddress.ip_address(ip) in (siec.network_address, siec.broadcast_address):
problemy.append("adres sieci lub rozgloszeniowy")
inne = [n for n, d in URZADZENIA.items() if n != nazwa and d[0] == ip]
if inne:
problemy.append("duplikat adresu z " + ", ".join(inne))
return problemy
def ping(a, b):
ip_a, p_a, _ = URZADZENIA[a]
ip_b, p_b, _ = URZADZENIA[b]
siec_a = ipaddress.ip_interface(f"{ip_a}/{p_a}").network
siec_b = ipaddress.ip_interface(f"{ip_b}/{p_b}").network
if siec_a == siec_b:
return "w tej samej sieci - bezposrednio"
interfejsy = {ipaddress.ip_interface(i).network: ipaddress.ip_interface(i).ip for i in ROUTER.values()}
brama_a = ipaddress.ip_address(URZADZENIA[a][2])
if interfejsy.get(siec_a) == brama_a and siec_b in interfejsy:
return "przez router (brama " + str(brama_a) + ")"
return "brak trasy"
# Zadanie 1: kontrola konfiguracji
for nazwa in URZADZENIA:
problemy = kontrola(nazwa)
print(nazwa, "-", "OK" if not problemy else "; ".join(problemy))
# Zadanie 2: czy ping powinien dzialac
for a, b in (("PC1", "PC2"), ("PC1", "PC3"), ("PC3", "PC1"), ("PC4", "PC3")):
print(a, "->", b + ":", ping(a, b))
# Zadanie 3: plan adresowy
print("LAN1:", ipaddress.ip_interface(ROUTER["LAN1"]).network, "hosty:", ipaddress.ip_interface(ROUTER["LAN1"]).network.num_addresses - 2)
print("LAN2:", ipaddress.ip_interface(ROUTER["LAN2"]).network, "hosty:", ipaddress.ip_interface(ROUTER["LAN2"]).network.num_addresses - 2)
Program wypisze:
PC1 - duplikat adresu z PC5
PC2 - OK
PC3 - OK
PC4 - brama 192.168.20.1 poza siecia 192.168.10.0/24
PC5 - duplikat adresu z PC1
PC6 - adres sieci lub rozgloszeniowy
PC1 -> PC2: w tej samej sieci - bezposrednio
PC1 -> PC3: przez router (brama 192.168.10.1)
PC3 -> PC1: przez router (brama 192.168.20.1)
PC4 -> PC3: brak trasy
LAN1: 192.168.10.0/24 hosty: 254
LAN2: 192.168.20.0/24 hosty: 254
PC4 ma bramę z innej sieci, PC5 powtarza adres PC1 (oba są oznaczone jako duplikaty), a PC6 ma adres rozgłoszeniowy sieci — te trzy urządzenia trzeba poprawić przed testem. Ping z PC1 do PC2 jest bezpośredni, a z PC1 do PC3 przechodzi przez router. PC4 ma bramę spoza własnej sieci, więc program przewiduje dla niego brak trasy — tę usterkę trzeba usunąć, zanim zacznie się testować łączność.
Plik rozszerzenie.py (zadanie dla chętnych) wypisze:
192.168.10.255
Typowe błędy
| Objaw | Co sprawdzić |
|---|---|
| Brama w innej podsieci | Brama musi mieć adres z tej samej sieci co komputer. |
| Interfejs routera wyłączony | Włącz interfejs i sprawdź diodę połączenia. |
| Zła maska | Maska inna niż w planu zmienia zakres sieci i adres sieci. |
| Duplikat adresu | Dwa urządzenia z jednym adresem — zmień jeden z nich. |
| Pierwszy ping zawodzi | Pierwszy pakiet może zgubić się na etapie ARP; powtórz test. |
| Test tylko jednym pingiem | Sprawdź także ping do bramy i ping między komputerami w jednej sieci. |
Pytania kontrolne i punktacja
- Co to jest brama domyślna?
- Dlaczego brama musi leżeć w tej samej podsieci co komputer?
- Co sprawdzisz najpierw, gdy ping do innej sieci nie działa?
Odpowiedzi: Adres routera, do którego komputer wysyła pakiety przeznaczone poza własną sieć. Bo komputer wysyła pakiet do bramy bezpośrednio w sieci lokalnej. Czy komputer ma poprawną bramę i maskę, czy ping do bramy działa oraz czy interfejsy routera są włączone.
Proponowana punktacja (razem 10 punktów): zadanie 1 — kontrola sześciu urządzeń 3 pkt; zadanie 2 — cztery przewidywania 3 pkt; zadanie 3 — plan adresowy 2 pkt; brama domyślna w pytaniach 2 pkt. Zadanie dla chętnych nie jest wymagane do pełnej oceny.
Materiały do pobrania
Rozpakuj ZIP przed otwarciem plików. Materiały są dostępne bez logowania; publiczne rozwiązanie służy nauce i samodzielnemu sprawdzeniu, a nie poufnemu sprawdzianowi.
Co dalej?
Następny krok to trasy statyczne, DHCP w symulatorze i lista kontroli dostępu. Ten materiał rozwija dział o budowie sieci w kursie Sieci w TablicaPro, gdzie znajdziesz prezentacje, ćwiczenia i testy do prowadzenia lekcji.
Źródła techniczne: Cisco Networking Academy — Packet Tracer oraz moduł ipaddress. Zobacz też lekcję o projekcie sieci szkolnej.
Poprowadź kolejne lekcje Sieci
Pełny kurs: prezentacje, ćwiczenia i testy do pracy z klasą.
Kup dostęp do kursu Sieci →