-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
3099 lines (3006 loc) · 187 KB
/
script.js
File metadata and controls
3099 lines (3006 loc) · 187 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
// Accordion functionality
function toggleAccordion(header) {
const content = header.nextElementSibling;
const icon = header.querySelector(".fa-chevron-right"); // Updated selector
const isActive = header.classList.contains("active");
// Close all other accordions in the same sidebar
header
.closest(".sidebar")
.querySelectorAll(".accordion-content.active")
.forEach((item) => {
if (item !== content) {
item.classList.remove("active");
item.previousElementSibling.classList.remove("active");
const otherIcon = item.previousElementSibling.querySelector(".fa-chevron-right");
if (otherIcon) otherIcon.style.transform = "rotate(0deg)";
}
});
// Toggle current accordion
content.classList.toggle("active", !isActive);
header.classList.toggle("active", !isActive);
if (icon) {
icon.style.transform = !isActive ? "rotate(90deg)" : "rotate(0deg)";
}
}
// Content loading functionality
function loadContent(contentId) {
const mainContent = document.getElementById("main-content");
// Show loading indicator
mainContent.innerHTML = `<div class="loading-indicator"><i class="fas fa-spinner"></i> Loading content...</div>`;
// Remove active class from all accordion items
document.querySelectorAll(".accordion-content li").forEach((item) => {
item.classList.remove("active");
});
// Add active class to the clicked item
const clickedItem = document.querySelector(
`.accordion-content li[onclick="loadContent(\'${contentId}\')"]`
);
if (clickedItem) {
clickedItem.classList.add("active");
}
// Simulate network delay for realism (optional)
setTimeout(() => {
const contentData = contentTemplates[contentId];
const content = contentData
? generateProblemContent(contentData)
: generateNotFoundContent(contentId);
mainContent.innerHTML = content;
// Re-apply scroll-based animations to newly loaded content
observeNewContent(mainContent);
// Initialize tabs if they exist in the loaded content
initializeTabs(mainContent);
// Initialize slideshow if screenshots are available for the current content
if (contentData && contentData.screenshots && contentData.screenshots.length > 0) {
// Ensure slideshow containers exist before calling addSlides
if (
document.getElementById("slideshowContainer") &&
document.getElementById("dotsContainer")
) {
addSlides(contentData.screenshots);
}
} else {
// Clear any previous slideshow if no new screenshots
const slideshowContainer = document.getElementById("slideshowContainer");
const dotsContainer = document.getElementById("dotsContainer");
if (slideshowContainer) {
const prevButton = slideshowContainer.querySelector(".prev");
const nextButton = slideshowContainer.querySelector(".next");
slideshowContainer.innerHTML = ""; // Clear all children
if (prevButton) slideshowContainer.appendChild(prevButton); // Re-add prev button
if (nextButton) slideshowContainer.appendChild(nextButton); // Re-add next button
}
if (dotsContainer) {
dotsContainer.innerHTML = ""; // Clear dots
}
}
}, 250);
}
// Centralized Content Templates
const contentTemplates = {
// --- L1 Content ---
...{
'l1-missing-cable': {
title: 'L1 - Missing Cable / Unplugged Cable',
icon: 'fa-unlink',
definition: 'Devices cannot communicate due to missing or disconnected cables. Red dots appear on interfaces in Packet Tracer indicating no physical connection.',
causes: [
'Cable not connected between devices',
'Loose cable connections',
'Wrong port selection during cable connection',
'Cable accidentally removed'
],
steps: [
'Visual Inspection: Look for red dots on device interfaces',
'Physical Connectivity Check: Verify cables are properly connected',
'Interface Status Check: Use CLI commands to verify interface status, as demonstrated in the <b>Terminal Commands</b> section',
'Cable Connection: Connect appropriate cable between devices',
'Select the appropriate cable in the Connections section (use a Copper Straight-Through cable for PC-Switch, PC-Router, or Router-Switch connections)',
'Click on PC\'s interface (e.g., FastEthernet0)',
'Click on Switch\'s interface (e.g., FastEthernet0/1)',
'Wait for interfaces to turn green',
'Test connectivity with Simple PDU'
],
verification: [
'Visual: Green lights on both device interfaces',
'CLI: Interface status shows "up/up"',
'Connectivity: Successful ping between devices'
],
commands: [
'Switch1> enable',
'Switch1# show interfaces status',
'Switch1# show mac address-table',
'PC1> ping 192.168.1.2 // Switch1 IP',
'PC1> ping 192.168.2.10 // PC2 IP',
'Router1> enable // (Optional)',
'Router1# show ip interface brief // (Optional)',
'Router1# show interfaces // (Optional)',
'PC1> ping 192.168.1.1 // Router1 IP (Optional)'
],
simulation: 'Use Simple PDU in Packet Tracer to test connectivity. Check interface lights (should be green when properly connected).',
simulation_pkt: 'L1PhysicalLayer/l1-missing-cable/l1-missing-cable.pkt', // Placeholder link
screenshots: [ // Example screenshots
{ src: 'L1PhysicalLayer/l1-missing-cable/l1-missing-cable-ss1.png', caption: 'Physical Connectivity Check: Devices cannot communicate due to missing or disconnected cables.' },
{ src: 'L1PhysicalLayer/l1-missing-cable/l1-missing-cable-ss2.png', caption: 'Connectivity Check: Ping between devices.' },
{ src: 'L1PhysicalLayer/l1-missing-cable/l1-missing-cable-ss3.png', caption: 'Interface Status Check: Use CLI commands to verify interface status, as demonstrated in the Terminal Commands section.' },
{ src: 'L1PhysicalLayer/l1-missing-cable/l1-missing-cable-ss4.png', caption: 'Correct Cable Type Check: Select the appropriate cable in the Connections section. (use a Copper Straight-Through cable for PC-Switch, PC-Router, or Router-Switch connections).' },
{ src: 'L1PhysicalLayer/l1-missing-cable/l1-missing-cable-ss5.png', caption: 'Status Verification: Confirm green LED indicators on both device interfaces.' },
{ src: 'L1PhysicalLayer/l1-missing-cable/l1-missing-cable-ss6.png', caption: 'Interface Status Check: Use CLI commands to verify interface status, as demonstrated in the Terminal Commands section.' },
{ src: 'L1PhysicalLayer/l1-missing-cable/l1-missing-cable-ss7.png', caption: 'Connectivity Check: Ping between devices.' }
]
},
'l1-wrong-cable': {
title: 'L1 - Wrong Cable Type',
icon: 'fa-random',
definition: 'Devices connected but cannot communicate due to incorrect cable type selection. Orange dots may appear indicating wrong cable type.',
causes: [
'Using crossover cable instead of straight-through',
'Using straight-through cable instead of crossover',
'Using wrong cable for specific device connections (Serial, Console, etc.)'
],
steps: [
'Cable Type Check: Identify the cable type used',
'Cable Selection Rules: <br> Router ↔ Switch: Straight-Through <br> Switch ↔ PC: Straight-Through <br> Router ↔ Router: Crossover <br> Switch ↔ Switch: Crossover (older switches) <br> Switch ↔ Switch: Straight-Through (modern switches with Auto-MDIX) <br> PC ↔ PC: Crossover',
'Device Type Analysis: Determine if devices are like-to-like or unlike',
'Auto-MDIX Status: Check if auto-negotiation is enabled',
'Interface Status Check: Use CLI commands to verify interface status, as demonstrated in the <b>Terminal Commands</b> section',
'Click on existing cable to select it',
'Replace Cable: Remove wrong cable and install correct type',
'Press Delete to remove wrong cable',
'Select correct cable type from connection options',
'Connect devices with proper cable',
'Wait for green interface lights',
'Test with Simple PDU'
],
verification: [
'Interface lights turn green',
'Interface status shows "up/up"',
'Successful packet transmission'
],
commands: [
'Switch1> enable',
'Switch1# show interfaces status',
'Switch1# show mac address-table',
'PC1> ping 192.168.1.2 // Switch1 IP',
'PC1> ping 192.168.2.10 // PC2 IP',
'Router1> enable // (Optional)',
'Router1# show ip interface brief // (Optional)',
'Router1# show interfaces // (Optional)',
'PC1> ping 192.168.1.1 // Router1 IP (Optional)'
],
simulation: 'Connect unlike devices (e.g., pc and switch) with a crossover cable and observe the link status. Replace with a straight-through cable and observe the change.',
simulation_pkt: 'L1PhysicalLayer/l1-wrong-cable-type/l1-wrong-cable-type.pkt',
screenshots: [
{ src: 'L1PhysicalLayer/l1-wrong-cable-type/l1-wrong-cable-type-ss1.png', caption: 'Cable Type Check: Devices connected but cannot communicate due to incorrect cable type selection.' },
{ src: 'L1PhysicalLayer/l1-wrong-cable-type/l1-wrong-cable-type-ss2.png', caption: 'Connectivity Check: Ping between devices.' },
{ src: 'L1PhysicalLayer/l1-wrong-cable-type/l1-wrong-cable-type-ss3.png', caption: 'Interface Status Check: Use CLI commands to verify interface status, as demonstrated in the Terminal Commands section.' },
{ src: 'L1PhysicalLayer/l1-wrong-cable-type/l1-wrong-cable-type-ss4.png', caption: 'Correct Cable Type Check: Select the appropriate cable in the Connections section. (use a Copper Straight-Through cable for PC-Switch, PC-Router, or Router-Switch connections).' },
{ src: 'L1PhysicalLayer/l1-wrong-cable-type/l1-wrong-cable-type-ss5.png', caption: 'Status Verification: Confirm green LED indicators on both device interfaces.' },
{ src: 'L1PhysicalLayer/l1-wrong-cable-type/l1-wrong-cable-type-ss6.png', caption: 'Interface Status Check: Use CLI commands to verify interface status, as demonstrated in the Terminal Commands section.' },
{ src: 'L1PhysicalLayer/l1-wrong-cable-type/l1-wrong-cable-type-ss7.png', caption: 'Connectivity Check: Ping between devices.' }
]
},
'l1-device-off': {
title: 'L1 - Device Powered Off',
icon: 'fa-power-off',
definition: 'Network device is not powered on, preventing any network communication. Device appears dim or shows no activity lights.',
causes: [
'Device power switch is off',
'Power cable disconnected',
'Power supply failure',
'Device in standby mode'
],
steps: [
'Power Status: Check device power button in Physical tab',
'Visual Indicators: Look for power LED status',
'CLI Access: Attempt to access device console',
'Click on device in Packet Tracer',
'Go to Physical tab',
'Click the power button to turn on',
'Wait for boot process to complete',
'Test connectivity with neighboring devices'
],
verification: [
'Power Status: Check device power button in Physical tab',
'Visual Indicators: Look for power LED status',
'CLI Access: Attempt to access device console',
'Network interfaces become active'
],
commands: [
'No commands available when device is powered off :)'
],
simulation: 'Power off a device in Packet Tracer and observe its appearance. Then power it back on and wait for it to boot up completely.',
simulation_pkt: 'L1PhysicalLayer/l1-device-powered-off/l1-device-powered-off.pkt',
screenshots: [
{ src: 'L1PhysicalLayer/l1-device-powered-off/l1-device-powered-off-ss1.png', caption: 'Network device is not powered on, preventing any network communication.' },
{ src: 'L1PhysicalLayer/l1-device-powered-off/l1-device-powered-off-ss2.png', caption: 'CLI Access: Attempt to access device console.' },
{ src: 'L1PhysicalLayer/l1-device-powered-off/l1-device-powered-off-ss3.png', caption: 'Go to Physical tab.' },
{ src: 'L1PhysicalLayer/l1-device-powered-off/l1-device-powered-off-ss4.png', caption: 'Click the power button to turn on.' },
{ src: 'L1PhysicalLayer/l1-device-powered-off/l1-device-powered-off-ss5.png', caption: 'CLI Access: Attempt to access device console.' },
{ src: 'L1PhysicalLayer/l1-device-powered-off/l1-device-powered-off-ss6.png', caption: 'Connectivity Check: Ping between devices.' },
{ src: 'L1PhysicalLayer/l1-device-powered-off/l1-device-powered-off-ss7.png', caption: 'Network interfaces become active.' }
]
},
'l1-interface-disabled': {
title: 'L1 - Network Interface Disabled (Shut Down)',
icon: 'fa-ban',
definition: 'Network interface is administratively shut down, preventing communication even when physically connected. Interface status shows "administratively down".',
causes: [
'Interface manually shut down with "shutdown" command',
'Security policy requiring interface shutdown',
'Administrative policy enforcement',
'Maintenance mode activation',
'Configuration error'
],
steps: [
'Check Interface Status: Use show commands to identify shut interfaces',
'Access Interface Configuration: Enter interface config mode',
'Enable Interface: Use "no shutdown" command',
'Verify Status: Confirm interface is up and operational',
'Access device CLI (Router or Switch)',
'Commands: ...',
'Enter privileged mode: "enable"',
'Enter global configuration: "configure terminal"',
'Enter interface configuration: "interface gigabitethernet 0/0/0"',
'Enable interface: "no shutdown"',
'Exit configuration: "exit" and "exit"',
'Verify: "show ip interface brief"'
],
verification: [
'Interface status changes from "administratively down" to "up/up"',
'Interface lights turn green in Packet Tracer',
'Successful connectivity tests'
],
commands: [
'Router1> show ip interface brief',
'Router1> show interfaces gigabitethernet 0/0/0',
'Router1> enable',
'Router1# configure terminal',
'Router1(config)# interface gigabitethernet 0/0/0',
'Router1(config-if)# no shutdown',
'Router1(config-if)# exit',
'Router1(config)# exit',
'PC1> ping 192.168.1.1 // Router1 IP',
'PC1> ping 192.168.2.10 // PC2 IP',
],
simulation: 'Shut down an interface on a router and observe the status change. Then enable it with the `no shutdown` command and verify it returns to "up/up" state.',
simulation_pkt: 'L1PhysicalLayer/l1-network-interface-disabled/l1-network-interface-disabled.pkt',
screenshots: [
{ src: 'L1PhysicalLayer/l1-network-interface-disabled/l1-network-interface-disabled-ss1.png', caption: 'Network interface is administratively shut down, preventing communication even when physically connected. Interface status shows "administratively down".' },
{ src: 'L1PhysicalLayer/l1-network-interface-disabled/l1-network-interface-disabled-ss2.png', caption: 'Check Interface Status: Use show commands to identify shut interfaces.' },
{ src: 'L1PhysicalLayer/l1-network-interface-disabled/l1-network-interface-disabled-ss3.png', caption: 'Interface status changes from "administratively down" to "up/up.' },
{ src: 'L1PhysicalLayer/l1-network-interface-disabled/l1-network-interface-disabled-ss4.png', caption: 'Connectivity Check: Ping between devices.' },
{ src: 'L1PhysicalLayer/l1-network-interface-disabled/l1-network-interface-disabled-ss5.png', caption: 'Interface lights turn green in Packet Tracer.' }
]
},
'l1-cable-length': {
title: 'L1 - Cable Length Exceeded (No PT Simulation)',
icon: 'fa-ruler-horizontal',
definition: 'Network cable exceeds maximum distance specifications, causing signal degradation and connection failures. Connection may be intermittent or completely fail.',
causes: [
'Ethernet cable longer than 100 meters',
'Fiber optic cable exceeding distance specifications',
'Signal attenuation over long distances',
'No signal repeaters/amplifiers in long runs'
],
steps: [
'Cable Length Measurement: Check physical cable distance',
'Signal Quality: Monitor for CRC errors and collisions using "show interfaces" or "show interfaces counters errors"',
'Performance Testing: Test data transmission rates',
'Use repeaters or switches to extend distance',
'Implement fiber optic cables for longer distances',
'Replace with shorter cables',
'Move devices closer if possible',
'Option A - Add Intermediate Switch: <br> Place Switch between distant devices <br> Connect first device to switch (< 100m) <br> Connect switch to second device (< 100m)',
'Option B - Use Fiber Optic: <br> Remove copper cable <br> Add fiber optic modules to devices <br> Connect with fiber optic cable',
'Option C - Relocate Devices: <br> Move devices closer together <br> Ensure distance < 100 meters',
],
verification: [
'Cable Length Measurement: Check physical cable distance',
'Signal Quality: Monitor for CRC errors and collisions',
'Performance Testing: Test data transmission rates'
],
commands: [
'Router> show ip interface brief',
'Switch> show interfaces',
'Switch> show interfaces status',
'Switch> show interfaces counters errors',
'Switch> show mac address-table'
],
simulation: 'In Packet Tracer, create a network with devices connected by a very long cable. Observe the connectivity issues and then add a switch or repeater in the middle to resolve the problem.',
simulation_pkt: '#',
screenshots: [
{ src: 'L1PhysicalLayer/l1-cable-length- exceeded/l1-cable-length- exceeded-ss1.png', caption: 'Network cable exceeds maximum distance specifications, causing signal degradation and connection failures. Connection may be intermittent or completely fail.' },
{ src: 'L1PhysicalLayer/l1-cable-length- exceeded/l1-cable-length- exceeded-ss2.png', caption: 'Network cable exceeds maximum distance specifications, causing signal degradation and connection failures. Connection may be intermittent or completely fail.' },
{ src: 'L1PhysicalLayer/l1-cable-length- exceeded/l1-cable-length- exceeded-ss3.png', caption: 'Network cable exceeds maximum distance specifications, causing signal degradation and connection failures. Connection may be intermittent or completely fail.' },
]
},
'l1-port-failure': {
title: 'L1 - Port Failure (No PT Simulation)',
icon: 'fa-heart-broken',
definition: 'Network interface hardware is damaged or malfunctioning, preventing proper network communication even with correct cables and configuration.',
causes: [
'Physical damage to interface port',
'Hardware failure',
'Electronic component failure',
'Electrical issues',
'Port burned out from power surge',
'Connector damage or corrosion'
],
steps: [
'Test Different Ports: Try connecting to alternative interface',
'Check Interface Statistics: Look for error counters',
'Replace Interface Module: If modular device',
'Use Alternative Interface: Configure different port',
'Replace Device: If built-in interface is damaged',
'Identify Faulty Interface: <br> Check which interface is not working <br> Note interface name (e.g., GigE0/0)',
'Use Alternative Interface: <br> Disconnect cable from faulty interface <br> Connect to different working interface (e.g., GigE0/1) <br> Configure new interface with IP settings',
],
verification: [
'New interface shows "up/up" status',
'Successful connectivity through alternative port',
'No error counters on new interface',
'Normal network communication restored'
],
commands: [
'// Configure New Interface',
'Router1(config)# interface gigabitEthernet 0/1',
'Router1(config-if)# ip address 192.168.1.1 255.255.255.0',
'Router1(config-if)# no shutdown',
'// Terminal Commands - Diagnosis',
'Router1> show interfaces',
'Router1> show interfaces gigabitEthernet 0/0',
'Router1> show ip interface brief',
'Router1> show interfaces summary',
'// Terminal Commands - Solution',
'Router1> enable',
'Router1# configure terminal',
'Router1(config)# interface gigabitEthernet 0/1',
'Router1(config-if)# ip address 192.168.1.1 255.255.255.0',
'Router1(config-if)# no shutdown',
'Router1(config-if)# exit'
],
simulation: 'In Packet Tracer, simulate a faulty port by disconnecting a cable from one port and connecting it to another port. Configure the new port with the same settings as the original port.',
simulation_pkt: '#',
screenshots: [
{ src: 'L1PhysicalLayer/l1-port-failure/l1-port-failure-ss1.png', caption: 'Network interface hardware is damaged or malfunctioning, preventing proper network communication even with correct cables and configuration.' },
]
},
'l1-pc-adapter-disabled': {
title: 'L1 - PC Network Adapter Disabled',
icon: 'fa-desktop',
definition: 'PC\'s network adapter is disabled in operating system settings, preventing network connectivity even when physically connected.',
causes: [
'Network adapter disabled in PC settings',
'Driver issues or conflicts',
'Hardware failure',
'Power management settings',
'Security software blocking adapter'
],
steps: [
'Click on PC',
'Navigate to the "Config" tab',
'From the left menu, select the "Interface" section (e.g., FastEthernet0)',
'Locate the "Port Status" setting',
'Select "On"'
],
verification: [
'Physical Indicator: The port LED on the connected switch/router should turn green',
'Open the PC\'s Command Prompt',
'ping 192.168.1.1 (Router\'s IP)'
],
commands: [
'PC1> ipconfig',
'PC1> ipconfig /all',
'PC1> ping 192.168.1.1'
],
simulation: 'In Packet Tracer, disable a PC\'s network adapter and observe the connectivity issues. Then enable the adapter and verify connectivity is restored.',
simulation_pkt: 'L1PhysicalLayer/l1-pc-network-adapter-disabled/l1-pc-network-adapter-disabled.pkt',
screenshots: [
{ src: 'L1PhysicalLayer/l1-pc-network-adapter-disabled/l1-pc-network-adapter-disabled-ss1.png', caption: 'PC\'s network adapter is disabled in operating system settings, preventing network connectivity even when physically connected.' },
{ src: 'L1PhysicalLayer/l1-pc-network-adapter-disabled/l1-pc-network-adapter-disabled-ss2.png', caption: 'Network adapter disabled in PC settings.' },
{ src: 'L1PhysicalLayer/l1-pc-network-adapter-disabled/l1-pc-network-adapter-disabled-ss3.png', caption: 'Select "On".' },
{ src: 'L1PhysicalLayer/l1-pc-network-adapter-disabled/l1-pc-network-adapter-disabled-ss4.png', caption: 'Physical Indicator: The port LED on the connected switch/router should turn green.' }
]
},
'l1-wireless-signal': {
title: 'L1 - Weak Wireless Signal (No PT Simulation)',
icon: 'fa-wifi',
definition: 'Wireless devices experience connectivity issues due to weak signal strength, interference, or distance from access point.',
causes: [
'Distance too far from wireless access point',
'Physical obstacles blocking signal',
'Interference from other wireless devices',
'Access point power settings too low',
'Wrong wireless channel configuration'
],
steps: [
'Check Signal Strength: Check RSSI values (wireless signal levels)',
'Distance Testing: Move device closer to AP',
'Remove Obstacles: Clear line of sight between devices',
'Adjust Power Settings: Increase access point transmission power',
'Channel Analysis: Check for channel conflicts',
'Optimize Placement: Move AP to central location',
'Channel Selection: Configure non-overlapping channels (1, 6, 11)',
'Power Adjustment: Increase transmit power if needed using "power local maximum"',
'Add Additional Access Points: Extend coverage area'
],
verification: [
'Signal strength shows 3-4 bars (strong signal)',
'Successful wireless connection establishment',
'Stable ping responses to gateway',
'Good data transfer rates',
'No frequent disconnections'
],
commands: [
'AP1(config)# interface dot11Radio 0',
'AP1(config-if)# channel 11',
'AP1(config-if)# power local maximum',
'PC1> ipconfig',
'PC1> ping 192.168.1.1',
'PC1> ping google.com'
],
simulation: 'In Packet Tracer, place wireless clients at varying distances from an access point and observe signal strength. Change the AP channel and power settings to improve connectivity.',
simulation_pkt: '#',
screenshots: [
{ src: 'L1PhysicalLayer/l1-wireless-signal-Interference/l1-wireless-signal-Interference-ss1.png', caption: 'Wireless devices experience connectivity issues due to weak signal strength, interference, or distance from access point.' },
{ src: 'L1PhysicalLayer/l1-wireless-signal-Interference/l1-wireless-signal-Interference-ss2.png', caption: 'Wireless devices experience connectivity issues due to weak signal strength, interference, or distance from access point.' },
{ src: 'L1PhysicalLayer/l1-wireless-signal-Interference/l1-wireless-signal-Interference-ss3.png', caption: 'Wireless devices experience connectivity issues due to weak signal strength, interference, or distance from access point.' },
{ src: 'L1PhysicalLayer/l1-wireless-signal-Interference/l1-wireless-signal-Interference-ss4.png', caption: 'Wireless devices experience connectivity issues due to weak signal strength, interference, or distance from access point.' }
]
}
},
// --- L2 Content ---
...{
'l2-mac-table-empty': {
title: 'L2 - MAC Address Table Not Populated',
icon: 'fa-table',
definition: 'Switch MAC address table is empty or incomplete, causing flooding of unicast traffic and poor network performance. Switch cannot learn device locations properly.',
causes: [
'Devices not generating traffic for MAC learning',
'MAC address table timeout too short',
'Switch ports in wrong state',
'Static MAC entries conflicting with dynamic learning',
'New device recently connected',
'MAC address aging timeout',
'Switch reboot clearing MAC table',
'Unidirectional communication'
],
steps: [
'Check MAC Address Table: Verify current MAC entries',
'Generate Traffic: Create communication between devices',
'Verify Learning: Confirm MAC addresses are learned',
],
verification: [
'MAC address table shows learned entries',
'Each PC\'s MAC address associated with correct port',
'Unicast traffic forwarded efficiently (no flooding)',
'Show commands display proper MAC-to-port mappings'
],
commands: [
'// Terminal Commands - Diagnosis',
'Switch1> enable',
'Switch1# show mac address-table',
'Switch1# show mac address-table dynamic',
'Switch1# show mac address-table interface fastethernet 0/1',
'Switch1# show interfaces status',
'// Terminal Commands - Solution',
'PC1> ping 192.168.1.2 // Switch1 IP',
'PC1> ping 192.168.2.10 // PC2 IP',
'Switch1> enable',
'Switch1# show mac address-table',
'Switch1# show mac address-table dynamic'
],
simulation: 'In Packet Tracer, check a switch\'s MAC address table before and after sending traffic between devices. Observe how the table is populated as devices communicate.',
simulation_pkt: 'L2DataLinkLayer/l2-mac-address-table-not-populated/l2-mac-address-table-not-populated.pkt',
screenshots: [
{ src: 'L2DataLinkLayer/l2-mac-address-table-not-populated/l2-mac-address-table-not-populated-ss1.png', caption: 'Check MAC Address Table: Verify current MAC entries.' },
{ src: 'L2DataLinkLayer/l2-mac-address-table-not-populated/l2-mac-address-table-not-populated-ss2.png', caption: 'Generate Traffic: Create communication between devices.' },
{ src: 'L2DataLinkLayer/l2-mac-address-table-not-populated/l2-mac-address-table-not-populated-ss3.png', caption: 'Verify Learning: Confirm MAC addresses are learned.' },
]
},
'l2-wrong-vlan': {
title: 'L2 - Incorrect VLAN Assignment',
icon: 'fa-tags',
definition: 'Devices assigned to wrong VLANs cannot communicate with intended network segments. Traffic isolation occurs when devices should be in same broadcast domain.',
causes: [
'Port assigned to wrong VLAN',
'Default VLAN configuration issues',
'VLAN membership misconfiguration',
'Access port vs trunk port confusion'
],
steps: [
'Check Current VLAN Assignment: Verify port VLAN membership',
'Identify Correct VLAN: Determine proper VLAN for device',
'Reassign Port: Move port to correct VLAN',
'Verify Configuration: Confirm proper VLAN assignment',
'Test Connectivity: Ensure devices can communicate'
],
verification: [
'Learned MAC entries appear in MAC address table',
'Correct port associations established for each PC MAC address',
'Efficient unicast forwarding without broadcast flooding',
'MAC-to-port mappings correctly shown in display commands'
],
commands: [
'// Terminal Commands - Diagnosis',
'Switch1> show vlan brief',
'Switch1> show interfaces switchport',
'Switch1> show interfaces fastethernet 0/1 switchport',
'Switch1> show interfaces fastethernet 0/2 switchport',
'Switch1> show running-config',
'// Terminal Commands - Solution',
'Switch1> enable',
'Switch1# configure terminal',
'Switch1(config)# interface fastethernet 0/2',
'Switch1(config-if)# switchport mode access',
'Switch1(config-if)# switchport access vlan 10',
'Switch1(config-if)# exit',
'Switch1(config)# exit'
],
simulation: 'Create a switch with multiple VLANs in Packet Tracer. Connect devices to different ports and assign them to incorrect VLANs. Observe the communication failure, then correct the VLAN assignments.',
simulation_pkt: 'L2DataLinkLayer/l2-incorrect-vlan-assignment/l2-incorrect-vlan-assignment.pkt',
screenshots: [
{ src: 'L2DataLinkLayer/l2-incorrect-vlan-assignment/l2-incorrect-vlan-assignment-ss1.png', caption: 'Test Connectivity: Ensure devices can communicate.' },
{ src: 'L2DataLinkLayer/l2-incorrect-vlan-assignment/l2-incorrect-vlan-assignment-ss2.png', caption: 'Check Current VLAN Assignment: Verify port VLAN membership.' },
{ src: 'L2DataLinkLayer/l2-incorrect-vlan-assignment/l2-incorrect-vlan-assignment-ss3.png', caption: 'Check Current VLAN Assignment: Verify port VLAN membership.' },
{ src: 'L2DataLinkLayer/l2-incorrect-vlan-assignment/l2-incorrect-vlan-assignment-ss4.png', caption: 'Check Current VLAN Assignment: Verify port VLAN membership.' },
{ src: 'L2DataLinkLayer/l2-incorrect-vlan-assignment/l2-incorrect-vlan-assignment-ss5.png', caption: 'Check Current VLAN Assignment: Verify port VLAN membership.' },
{ src: 'L2DataLinkLayer/l2-incorrect-vlan-assignment/l2-incorrect-vlan-assignment-ss6.png', caption: 'Correcting VLAN assignment for a port.' },
{ src: 'L2DataLinkLayer/l2-incorrect-vlan-assignment/l2-incorrect-vlan-assignment-ss7.png', caption: 'Test Connectivity: Ensure devices can communicate.' },
]
},
'l2-vlan-nonexistent': {
title: 'L2 - VLAN Does Not Exist',
icon: 'fa-question-circle',
definition: 'Attempting to assign ports to non-existent VLANs causes configuration errors. Ports may be assigned to VLAN that was never created on the switch.',
causes: [
'VLAN not created on switch',
'VLAN created on one switch but not others',
'VLAN accidentally deleted',
'VLAN database corruption',
'Configuration not saved'
],
steps: [
'Check Existing VLANs: List all configured VLANs',
'Identify Missing VLAN: Determine which VLAN needs creation',
'Create Missing VLAN: Add VLAN to database',
'Verify Assignment: Confirm ports properly assigned'
],
verification: [
'VLAN appears in VLAN table',
'Ports properly assigned to existing VLANs',
'No orphaned port assignments',
'Devices in the same VLAN can communicate'
],
commands: [
'Switch1> show vlan brief',
'Switch1> show running-config',
'Switch1> enable',
'Switch1# configure terminal',
'Switch1(config)# vlan 20',
'Switch1(config-vlan)# exit',
'Switch1(config)# exit',
'Switch1# show vlan brief'
],
simulation: 'Try to assign a port to a non-existent VLAN in Packet Tracer and observe the error. Create the VLAN and then successfully assign the port to it.',
simulation_pkt: 'L2DataLinkLayer/l2-vlan-does-not-exist/l2-vlan-does-not-exist.pkt',
screenshots: [
{ src: 'L2DataLinkLayer/l2-vlan-does-not-exist/l2-vlan-does-not-exist-ss1.png', caption: 'Attempting to assign ports to non-existent VLANs causes configuration errors. Ports may be assigned to VLAN that was never created on the switch.' },
{ src: 'L2DataLinkLayer/l2-vlan-does-not-exist/l2-vlan-does-not-exist-ss2.png', caption: 'Identify Missing VLAN: Determine which VLAN needs creation.' },
{ src: 'L2DataLinkLayer/l2-vlan-does-not-exist/l2-vlan-does-not-exist-ss3.png', caption: 'Create Missing VLAN: Add VLAN to database.' },
{ src: 'L2DataLinkLayer/l2-vlan-does-not-exist/l2-vlan-does-not-exist-ss4.png', caption: 'Verify Assignment: Confirm ports properly assigned.' }
]
},
'l2-trunk-misconfig': {
title: 'L2 - Trunk Port Misconfiguration',
icon: 'fa-truck',
definition: 'Trunk ports not properly configured to carry multiple VLANs between switches, causing VLAN isolation and communication failures across switch boundaries.',
causes: [
'Trunk port not configured',
'Port configured as access instead of trunk',
'VLAN not allowed on trunk',
'Trunk encapsulation issues',
'Encapsulation mismatch (ISL vs. 802.1Q)',
'Allowed VLAN list misconfigured',
'Native VLAN mismatch between switches'
],
steps: [
'Identify Inter-Switch Links: Find connections between switches',
'Check Current Port Mode: Verify if port is access or trunk',
'Configure Trunk Mode: Set ports to trunk operation',
'Set encapsulation type',
'Configure Allowed VLANs: Specify which VLANs can cross trunk',
'Configure Native VLAN: Configure untagged VLAN for trunk',
'Verify Trunk Status: Confirm trunk is operational'
],
verification: [
'Trunk Status: Verify interface is in trunking mode',
'Encapsulation: Confirm matching encapsulation on both sides',
'Allowed VLANs: Check which VLANs can pass through trunk',
'"show interfaces trunk" shows active trunk',
'Multiple VLANs traverse the trunk link',
'Native VLAN matches on both switches',
'Allowed VLAN list includes required VLANs',
'Devices in same VLAN across switches can ping'
],
commands: [
'// Terminal Commands - Diagnosis',
'Switch> show interfaces trunk',
'Switch> show interfaces gigabitEthernet 0/1 switchport',
'Switch> show vlan brief',
'Switch> show spanning-tree',
'// Terminal Commands - Solution',
'Switch> enable',
'Switch# configure terminal',
'Switch(config)# interface gigabitEthernet 0/1',
'Switch(config-if)# switchport mode trunk',
'Switch(config-if)# switchport trunk allowed vlan 1,10,20',
'Switch(config-if)# switchport trunk native vlan 1',
'Switch(config-if)# exit'
],
simulation: 'Create a network with two switches connected by a link that should be a trunk. Configure VLANs on both switches and observe that inter-VLAN traffic fails until the trunk is properly configured.',
simulation_pkt: 'L2DataLinkLayer/l2-trunk-port-misconfiguration/l2-trunk-port-misconfiguration.pkt',
screenshots: [
{ src: 'L2DataLinkLayer/l2-trunk-port-misconfiguration/l2-trunk-port-misconfiguration-ss1.png', caption: 'Trunk ports not properly configured to carry multiple VLANs between switches, causing VLAN isolation and communication failures across switch boundaries.' },
{ src: 'L2DataLinkLayer/l2-trunk-port-misconfiguration/l2-trunk-port-misconfiguration-ss2.png', caption: 'Trunk ports not properly configured to carry multiple VLANs between switches, causing VLAN isolation and communication failures across switch boundaries.' },
{ src: 'L2DataLinkLayer/l2-trunk-port-misconfiguration/l2-trunk-port-misconfiguration-ss3.png', caption: 'Trunk ports not properly configured to carry multiple VLANs between switches, causing VLAN isolation and communication failures across switch boundaries.' },
{ src: 'L2DataLinkLayer/l2-trunk-port-misconfiguration/l2-trunk-port-misconfiguration-ss4.png', caption: 'Trunk ports not properly configured to carry multiple VLANs between switches, causing VLAN isolation and communication failures across switch boundaries.' },
{ src: 'L2DataLinkLayer/l2-trunk-port-misconfiguration/l2-trunk-port-misconfiguration-ss5.png', caption: 'Trunk ports not properly configured to carry multiple VLANs between switches, causing VLAN isolation and communication failures across switch boundaries.' },
{ src: 'L2DataLinkLayer/l2-trunk-port-misconfiguration/l2-trunk-port-misconfiguration-ss6.png', caption: 'Trunk ports not properly configured to carry multiple VLANs between switches, causing VLAN isolation and communication failures across switch boundaries.' }
]
},
'l2-port-security': {
title: 'L2 - Port Security Blocking Port',
icon: 'fa-user-lock',
definition: 'Port security feature has detected violation and shut down the interface, preventing any traffic flow. Port shows error-disabled state due to security policy enforcement.',
causes: [
'MAC address violation detected',
'MAC address limit exceeded on port',
'MAC address aging causing re-learning',
'Unauthorized device connected',
'Sticky MAC addresses conflict',
'Security violation action triggered',
'Incorrect port security configuration'
],
steps: [
'Check Port Status: Identify error-disabled ports',
'Review Security Configuration: Check port security settings',
'Clear Security Violations: Reset violation counters',
'Adjust Security Policy: Modify MAC address limits',
'Re-enable Port: Bring interface back online'
],
verification: [
'Interface status shows "up/up"',
'Port security shows secure addresses learned',
'No violation counters incrementing',
'Normal traffic flow restored',
'Security policy appropriate for requirements'
],
commands: [
'// Terminal Commands - Diagnosis',
'Switch1> show port-security',
'Switch1> show port-security interface fastethernet 0/1',
'// Terminal Commands - Solution',
'Switch1> enable',
'Switch1# configure terminal',
'Switch1(config)# interface fastEthernet 0/1',
'Switch1(config-if)# shutdown',
'Switch1(config-if)# no shutdown',
'Switch1(config-if)# exit',
'Switch1# clear port-security sticky'
],
simulation: 'Configure port security on a switch port in Packet Tracer with a maximum of one MAC address. Connect a device, then connect a second device to trigger a violation. Observe the port entering err-disabled state.',
simulation_pkt: 'L2DataLinkLayer/l2-port-security-blocking-port/l2-port-security-blocking-port.pkt',
screenshots: [
{ src: 'L2DataLinkLayer/l2-port-security-blocking-port/l2-port-security-blocking-port-ss1.png', caption: 'Port security feature has detected violation and shut down the interface, preventing any traffic flow. Port shows error-disabled state due to security policy enforcement.' },
{ src: 'L2DataLinkLayer/l2-port-security-blocking-port/l2-port-security-blocking-port-ss2.png', caption: 'Port security feature has detected violation and shut down the interface, preventing any traffic flow. Port shows error-disabled state due to security policy enforcement.' },
{ src: 'L2DataLinkLayer/l2-port-security-blocking-port/l2-port-security-blocking-port-ss3.png', caption: 'Port security feature has detected violation and shut down the interface, preventing any traffic flow. Port shows error-disabled state due to security policy enforcement.' },
{ src: 'L2DataLinkLayer/l2-port-security-blocking-port/l2-port-security-blocking-port-ss4.png', caption: 'Port security feature has detected violation and shut down the interface, preventing any traffic flow. Port shows error-disabled state due to security policy enforcement.' },
{ src: 'L2DataLinkLayer/l2-port-security-blocking-port/l2-port-security-blocking-port-ss5.png', caption: 'Port security feature has detected violation and shut down the interface, preventing any traffic flow. Port shows error-disabled state due to security policy enforcement.' },
{ src: 'L2DataLinkLayer/l2-port-security-blocking-port/l2-port-security-blocking-port-ss6.png', caption: 'Port security feature has detected violation and shut down the interface, preventing any traffic flow. Port shows error-disabled state due to security policy enforcement.' },
{ src: 'L2DataLinkLayer/l2-port-security-blocking-port/l2-port-security-blocking-port-ss7.png', caption: 'Port security feature has detected violation and shut down the interface, preventing any traffic flow. Port shows error-disabled state due to security policy enforcement.' },
{ src: 'L2DataLinkLayer/l2-port-security-blocking-port/l2-port-security-blocking-port-ss8.png', caption: 'Port security feature has detected violation and shut down the interface, preventing any traffic flow. Port shows error-disabled state due to security policy enforcement.' },
{ src: 'L2DataLinkLayer/l2-port-security-blocking-port/l2-port-security-blocking-port-ss9.png', caption: 'Port security feature has detected violation and shut down the interface, preventing any traffic flow. Port shows error-disabled state due to security policy enforcement.' },
{ src: 'L2DataLinkLayer/l2-port-security-blocking-port/l2-port-security-blocking-port-ss10.png', caption: 'Port security feature has detected violation and shut down the interface, preventing any traffic flow. Port shows error-disabled state due to security policy enforcement.' }
]
},
'l2-duplex-speed-mismatch': {
title: 'L2 - Duplex or Speed Mismatch',
icon: 'fa-tachometer-alt',
definition: 'Network interfaces configured with different duplex modes or speeds causing performance issues, collisions, and intermittent connectivity problems.',
causes: [
'One side auto-negotiation, other side manual configuration',
'Speed mismatch between connected devices',
'Full-duplex vs half-duplex mismatch',
'Auto-negotiation failure'
],
steps: [
'Check Interface Settings: Review speed and duplex configuration',
'Identify Mismatches: Compare settings on both sides',
'Standardize Configuration: Set matching speed/duplex',
'Enable Auto-negotiation: Allow automatic configuration',
'Verify Operation: Confirm error-free operation'
],
verification: [
'Both interfaces show matching speed/duplex',
'No collision or error counters incrementing',
'Full bandwidth utilization available',
'Stable link status',
'Good network performance'
],
commands: [
'// Diagnose Interface Settings',
'Switch1> enable',
'Switch1# configure terminal',
'Switch1# show interfaces gig 0/1',
'Switch1# show interfaces gig 0/1 status',
'Router1> enable',
'Router1# configure terminal',
'Router1# show interfaces gig 0/0/0',
'Router1# show interfaces gig 0/0/0 status',
'// Fix with Auto-negotiation (Recommended)',
'Switch1> enable',
'Switch1# configure terminal',
'Switch1(config)# interface gig 0/1',
'Switch1(config-if)# speed auto',
'Switch1(config-if)# duplex auto',
'Switch1(config-if)# exit',
'Router1> enable',
'Router1# configure terminal',
'Router1(config)# interface gig 0/0/0',
'Router1(config-if)# speed auto',
'Router1(config-if)# duplex auto',
'Router1(config-if)# exit',
'// Alternative - Manual Matching',
'Switch1> enable',
'Switch1# configure terminal',
'Switch1(config)# interface gig 0/1',
'Switch1(config-if)# speed 100',
'Switch1(config-if)# duplex full',
'Switch1(config-if)# exit',
'Router1> enable',
'Router1# configure terminal',
'Router1(config)# interface gig 0/0/0',
'Router1(config-if)# speed 100',
'Router1(config-if)# duplex full',
'Router1(config-if)# exit'
],
simulation: 'Connect two devices in Packet Tracer with mismatched duplex settings (one full, one half). Transfer data between them and observe the errors and poor performance. Then correct the settings and test again.',
simulation_pkt: 'L2DataLinkLayer/l2-duplex-or-speed-mismatch/l2-duplex-or-speed-mismatch.pkt',
screenshots: [
{ src: 'L2DataLinkLayer/l2-duplex-or-speed-mismatch/l2-duplex-or-speed-mismatch-ss1.png', caption: 'Network interfaces configured with different duplex modes or speeds causing performance issues, collisions, and intermittent connectivity problems.' },
{ src: 'L2DataLinkLayer/l2-duplex-or-speed-mismatch/l2-duplex-or-speed-mismatch-ss2.png', caption: 'Check Interface Settings: Review speed and duplex configuration.' },
{ src: 'L2DataLinkLayer/l2-duplex-or-speed-mismatch/l2-duplex-or-speed-mismatch-ss3.png', caption: 'Check Interface Settings: Review speed and duplex configuration.' },
{ src: 'L2DataLinkLayer/l2-duplex-or-speed-mismatch/l2-duplex-or-speed-mismatch-ss4.png', caption: 'Auto Configuration.' },
{ src: 'L2DataLinkLayer/l2-duplex-or-speed-mismatch/l2-duplex-or-speed-mismatch-ss5.png', caption: 'Auto Configuration.' },
{ src: 'L2DataLinkLayer/l2-duplex-or-speed-mismatch/l2-duplex-or-speed-mismatch-ss6.png', caption: 'Manual Configuration.' },
{ src: 'L2DataLinkLayer/l2-duplex-or-speed-mismatch/l2-duplex-or-speed-mismatch-ss7.png', caption: 'Manual Configuration.' },
{ src: 'L2DataLinkLayer/l2-duplex-or-speed-mismatch/l2-duplex-or-speed-mismatch-ss8.png', caption: 'Verify Operation: Confirm error-free operation.' },
]
},
'l2-stp-block': {
title: 'L2 - Spanning Tree Protocol (STP) Blocking Port',
icon: 'fa-ban',
definition: 'STP has placed a port in blocking state to prevent loops, but this blocks legitimate traffic flow. Port appears up but cannot forward data traffic.',
causes: [
'Redundant paths causing loop prevention',
'Sub-optimal STP root bridge selection',
'Port priority configuration issues',
'STP convergence still in progress'
],
steps: [
'Check confiurations: Review STP settings on switches',
'Check STP Status: Review spanning tree port states',
'Identify Blocked Ports: Find ports in blocking state',
'Analyze Topology: Understand why port is blocked',
'Adjust Root Bridge: Influence STP root selection',
'Modify Port Priority: Change port costs if needed',
'Verify Convergence: Ensure STP has converged properly'
],
verification: [
'Root bridge is optimal switch',
'All necessary ports in forwarding state',
'No loops in network topology',
'End-device ports use PortFast',
'STP convergence completed successfully'
],
commands: [
'// Terminal Commands - Diagnosis',
'Switch> show spanning-tree',
'Switch> show spanning-tree brief',
'Switch> show spanning-tree root',
'Switch> show spanning-tree interface fastEthernet 0/1',
'Switch> show spanning-tree summary',
'// Terminal Commands - Solution',
'Switch> enable',
'Switch# configure terminal',
'Switch(config)# spanning-tree vlan 1 priority 4096',
'Switch(config)# interface fastEthernet 0/3',
'Switch(config-if)# spanning-tree portfast',
'Switch(config-if)# exit'
],
simulation: 'Create a network with redundant links between switches in Packet Tracer. Observe which ports are blocked by STP. Modify the root bridge priority and observe the changes in the STP topology.',
simulation_pkt: 'L2DataLinkLayer/l2-stp-blocking-port/l2-stp-blocking-port.pkt',
screenshots: [
{ src: 'L2DataLinkLayer/l2-stp-blocking-port/l2-stp-blocking-port-ss1.png', caption: 'STP has placed a port in blocking state to prevent loops, but this blocks legitimate traffic flow. Port appears up but cannot forward data traffic.' },
{ src: 'L2DataLinkLayer/l2-stp-blocking-port/l2-stp-blocking-port-ss2.png', caption: 'STP has placed a port in blocking state to prevent loops, but this blocks legitimate traffic flow. Port appears up but cannot forward data traffic.' },
{ src: 'L2DataLinkLayer/l2-stp-blocking-port/l2-stp-blocking-port-ss3.png', caption: 'STP has placed a port in blocking state to prevent loops, but this blocks legitimate traffic flow. Port appears up but cannot forward data traffic.' },
{ src: 'L2DataLinkLayer/l2-stp-blocking-port/l2-stp-blocking-port-ss4.png', caption: 'STP has placed a port in blocking state to prevent loops, but this blocks legitimate traffic flow. Port appears up but cannot forward data traffic.' },
]
},
'l2-arp-issues': {
title: 'L2 - ARP Issues (Incorrect or Incomplete ARP Table)',
icon: 'fa-address-card',
definition: 'ARP (Address Resolution Protocol) table contains incorrect, incomplete, or stale entries preventing proper Layer 2 to Layer 3 address resolution and communication.',
causes: [
'ARP table not populated',
'Incorrect ARP entries',
'ARP aging timeout',
'Proxy ARP issues',
'Static ARP entries conflicting with dynamic',
'ARP cache timeout too short or too long',
'ARP poisoning or spoofing attacks',
'Network topology changes not reflected in ARP'
],
steps: [
'Check ARP Table: Review current ARP entries',
'Identify Incorrect Entries: Find wrong or missing mappings',
'Clear Problematic Entries: Remove incorrect static entries',
'Force ARP Learning: Generate traffic to rebuild table',
'Verify Resolution: Confirm correct IP-to-MAC mappings',
'Check ARP Behavior: Check for ongoing issues',
'Verify ARP table population after traffic generation.'
],
verification: [
'ARP table shows correct IP-to-MAC mappings',
'Dynamic entries learned automatically',
'No conflicting static entries',
'Successful ping between all devices',
'Normal Layer 2 to Layer 3 resolution'
],
commands: [
'PC1> arp -d',
'PC1> arp -a',
'PC1> ping 192.168.1.1 // Router IP',
'PC1> ping 192.168.1.20 // PC2 IP',
'Router1> show arp',
'Router1> show ip arp',
'Router1# clear arp',
'Router1# clear arp-cache',
'Switch1> show mac address-table',
],
simulation: 'In Packet Tracer, check the ARP table on a router before and after communication with other devices. Clear the ARP table and observe how it gets repopulated when traffic is generated.',
simulation_pkt: 'L2DataLinkLayer/l2-arp-table-not-populated/l2-arp-table-not-populated.pkt',
screenshots: [
{ src: 'L2DataLinkLayer/l2-arp-table-not-populated/l2-arp-table-not-populated-ss1.png', caption: 'ARP (Address Resolution Protocol) table contains incorrect, incomplete, or stale entries preventing proper Layer 2 to Layer 3 address resolution and communication.' },
{ src: 'L2DataLinkLayer/l2-arp-table-not-populated/l2-arp-table-not-populated-ss2.png', caption: 'Force ARP Learning: Generate traffic to rebuild table.' },
{ src: 'L2DataLinkLayer/l2-arp-table-not-populated/l2-arp-table-not-populated-ss3.png', caption: 'Check ARP Table: Review current ARP entries.' },
{ src: 'L2DataLinkLayer/l2-arp-table-not-populated/l2-arp-table-not-populated-ss4.png', caption: 'Check ARP Table: Review current ARP entries.' },
{ src: 'L2DataLinkLayer/l2-arp-table-not-populated/l2-arp-table-not-populated-ss5.png', caption: 'Check ARP Table: Review current ARP entries.' },
{ src: 'L2DataLinkLayer/l2-arp-table-not-populated/l2-arp-table-not-populated-ss6.png', caption: 'Check ARP Table: Review current ARP entries.' },
]
}
},
// --- L3 Content ---
...{
'l3-ip-config': {
title: 'L3 - Incorrect or Missing IP Address Configuration',
icon: 'fa-map-marker-alt',
definition: 'Devices cannot communicate due to incorrect IP addresses, missing IP configuration, or IP addresses in wrong subnets. Interfaces may show as up/up but connectivity fails.',
causes: [
'No IP address assigned to interface',
'Incorrect IP address configuration',
'Subnet mask mismatch',
'IP address conflicts within the same network',
'Interface not activated (no ip)'
],
steps: [
'Identify the Problem: <br> Router2> enable <br> Router2# show ip interface brief <br> Router2# show running-config',
'Configure Missing IP Address: <br> Router2> enable <br> Router2# configure terminal <br> Router2(config)# interface gigabitethernet 0/0/0 <br> Router2(config-if)# ip address 192.168.2.1 255.255.255.0 <br> Router2(config-if)# no shutdown <br> Router2(config-if)# exit <br> Router2(config)# exit',
'Configure PC IP Address: <br> PC2 IP: 192.168.2.10 <br> Subnet Mask: 255.255.255.0 <br> Default Gateway: 192.168.2.1'
],
verification: [
'Router2# show ip interface brief',
'Router2# ping 192.168.1.10',
'Router2# ping 192.168.2.10',
'PC1> ping 192.168.2.10',
'PC1> ping 192.168.2.1',
'PC2> ping 192.168.1.10',
'PC2> ping 192.168.2.1',
],
commands: [
'// Identify the Problem:',
'Router2> enable',
'Router2# show ip interface brief',
'Router2# show running-config',
'// Configure Missing IP Address:',
'Router2> enable',
'Router2# configure terminal',
'Router2(config)# interface gigabitethernet 0/0/0',
'Router2(config-if)# ip address 192.168.2.1 255.255.255.0',
'Router2(config-if)# no shutdown',
'Router2(config-if)# exit',
'Router2(config)# exit',
'// Configure PC IP Address:',
'PC2 IP: 192.168.2.10',
'Subnet Mask: 255.255.255.0',
'Default Gateway: 192.168.2.1'
],
simulation: 'Configure incorrect IP addresses on devices in the same subnet in Packet Tracer. Observe the communication failure, then correct the IP configurations and test connectivity.',
simulation_pkt: 'L3NetworkLayer/l3-incorrect-or-missing-ip-address-configuration/l3-incorrect-or-missing-ip-address-configuration.pkt',
screenshots: [
{ src: 'L3NetworkLayer/l3-incorrect-or-missing-ip-address-configuration/l3-incorrect-or-missing-ip-address-configuration-ss1.png', caption: 'Devices cannot communicate due to incorrect IP addresses, missing IP configuration, or IP addresses in wrong subnets. Interfaces may show as up/up but connectivity fails.' },
{ src: 'L3NetworkLayer/l3-incorrect-or-missing-ip-address-configuration/l3-incorrect-or-missing-ip-address-configuration-ss2.png', caption: 'Devices cannot communicate due to incorrect IP addresses, missing IP configuration, or IP addresses in wrong subnets. Interfaces may show as up/up but connectivity fails.' },
{ src: 'L3NetworkLayer/l3-incorrect-or-missing-ip-address-configuration/l3-incorrect-or-missing-ip-address-configuration-ss3.png', caption: 'Devices cannot communicate due to incorrect IP addresses, missing IP configuration, or IP addresses in wrong subnets. Interfaces may show as up/up but connectivity fails.' },
{ src: 'L3NetworkLayer/l3-incorrect-or-missing-ip-address-configuration/l3-incorrect-or-missing-ip-address-configuration-ss4.png', caption: 'Devices cannot communicate due to incorrect IP addresses, missing IP configuration, or IP addresses in wrong subnets. Interfaces may show as up/up but connectivity fails.' },
{ src: 'L3NetworkLayer/l3-incorrect-or-missing-ip-address-configuration/l3-incorrect-or-missing-ip-address-configuration-ss5.png', caption: 'Devices cannot communicate due to incorrect IP addresses, missing IP configuration, or IP addresses in wrong subnets. Interfaces may show as up/up but connectivity fails.' },
{ src: 'L3NetworkLayer/l3-incorrect-or-missing-ip-address-configuration/l3-incorrect-or-missing-ip-address-configuration-ss6.png', caption: 'Devices cannot communicate due to incorrect IP addresses, missing IP configuration, or IP addresses in wrong subnets. Interfaces may show as up/up but connectivity fails.' },
{ src: 'L3NetworkLayer/l3-incorrect-or-missing-ip-address-configuration/l3-incorrect-or-missing-ip-address-configuration-ss7.png', caption: 'Devices cannot communicate due to incorrect IP addresses, missing IP configuration, or IP addresses in wrong subnets. Interfaces may show as up/up but connectivity fails.' },
{ src: 'L3NetworkLayer/l3-incorrect-or-missing-ip-address-configuration/l3-incorrect-or-missing-ip-address-configuration-ss8.png', caption: 'Devices cannot communicate due to incorrect IP addresses, missing IP configuration, or IP addresses in wrong subnets. Interfaces may show as up/up but connectivity fails.' },
{ src: 'L3NetworkLayer/l3-incorrect-or-missing-ip-address-configuration/l3-incorrect-or-missing-ip-address-configuration-ss9.png', caption: 'Devices cannot communicate due to incorrect IP addresses, missing IP configuration, or IP addresses in wrong subnets. Interfaces may show as up/up but connectivity fails.' }
]
},
'l3-gateway-config': {
title: 'L3 - Default Gateway Missing or Wrong',
icon: 'fa-door-open',
definition: 'Devices can communicate within their local network but cannot reach other networks due to missing or incorrect default gateway configuration.',
causes: [
'No default gateway configured on end devices',
'Incorrect gateway IP address',
'Gateway router interface is down',
'Gateway not in same subnet',
'Default gateway pointing to non-existent router'
],
steps: [
'Test Connectivity: <br> PC1> ping 192.168.1.20 <br> PC1> ping 192.168.2.20 <br> PC2> ping 192.168.1.20 <br> PC2> ping 192.168.2.20',
'Check Current Gateway Configuration: <br> PC3> ipconfig /all <br> PC4> ipconfig /all',
'Configure Correct Default Gateway: <br> PC3: Set Gateway to 192.168.1.1 <br> PC4: Set Gateway to 192.168.2.1',
'Test Connectivity again: <br> PC1> ping 192.168.1.20 <br> PC1> ping 192.168.2.20 <br> PC2> ping 192.168.1.20 <br> PC2> ping 192.168.2.20'
],
verification: [
'PC1> ping 192.168.2.20',
'PC2> ping 192.168.1.20',
'PC1> tracert 192.168.2.20',
'PC2> tracert 192.168.1.20',
'Router1# show ip route',
'Router2# show ip route'
],
commands: [
'// Test Connectivity:',
'PC1> ping 192.168.1.20',
'PC1> ping 192.168.2.20',
'PC2> ping 192.168.1.20',
'PC2> ping 192.168.2.20',
'// Check Current Gateway Configuration:',
'PC3> ipconfig /all',
'PC4> ipconfig /all',
'// Configure Correct Default Gateway:',
'PC3: Set Gateway to 192.168.1.1',
'PC4: Set Gateway to 192.168.2.1',
'// Test Connectivity again:',
'PC1> ping 192.168.1.20',
'PC1> ping 192.168.2.20',
'PC2> ping 192.168.1.20',