One Track from Zero to Professional
Start from zero and build networks you can explain, configure, and troubleshoot. This single track takes you from networking fundamentals all the way to professional-level routing, switching, and services. Every session lists its sources — the textbook and the official certification guides — and the Learning Resources section gathers the whole study stack.
How to use this guide
- Read the theory, work through the demonstration, then complete the practice without copying the answer.
- Open each quick question to check your understanding.
- Use a computer with Packet Tracer for the lab sessions. Earlier exercises need only a notebook.
- Keep a lab notebook with your topology, addresses, commands, and test results.
What's inside
- Module 1 · Network Foundations — 8 sessions · ready
- Module 2 · Network Access and Switching — 7 sessions · ready
- Module 3 · IP Connectivity and Routing — 8 sessions · ready
- Module 4 · IP Services — 8 sessions · ready
- Module 5 · Network Security — 9 sessions · ready
- Module 6 · Automation and Programmability — 6 sessions · ready
- Module 7 · Capstone and Troubleshooting — 3 sessions · ready
Module 1 · Network Foundations
What Is a Network?
By the end of this session, you can:
- Describe a LAN and a WAN.
- Explain the jobs of a switch, router, access point, and firewall.
- Draw the path between a laptop and a remote server.
Sources: Kurose & Ross §1.1–1.3 · Odom Vol 1, Part I
Theory
A network connects devices so they can exchange data using agreed rules called protocols. Your laptop, a printer, and a file server can share a local area network (LAN). A wide area network (WAN) connects networks over a larger area. The internet is a collection of interconnected networks.
- Endpoint: a device that sends or receives data, such as a laptop or phone. A server provides a service to clients.
- Layer 2 switch: connects devices in a LAN and forwards Ethernet frames using MAC addresses.
- Router: forwards IP packets between networks using a routing table. A Layer 3 switch can also route.
- Access point: connects wireless clients to a network. An AP and a router perform different jobs, even when one home device combines them.
- Firewall: permits or blocks traffic according to a security policy.
Think of an office: the switch connects desks inside the office; the router provides a path to other networks. Wi-Fi is one way to reach that network, not another name for the internet.
Demonstration
Trace an example request from left to right. The intermediate network may contain many more devices than this simplified drawing.
Here is the same picture as a topology diagram — draw this in your lab notebook:
Endpoints talk through the switch; the router is only needed to leave the LAN.
Now unplug only the internet uplink. Two correctly configured computers on the same LAN can still communicate. Their local traffic does not need to travel through the ISP.
Practice
- Draw two PCs and a printer connected to a switch.
- Add a router connecting that LAN to an ISP.
- Add an access point and a wireless laptop.
- Mark the path for PC-to-printer traffic and laptop-to-internet traffic.
Answer key and troubleshooting notes
The PC reaches the local printer through the switch. The wireless laptop reaches the internet through the AP, the local switching path, and the router toward the ISP. A router is not required for communication within the same IP subnet and VLAN.
Quick questions
1. Does a working Wi-Fi connection prove that the internet works?
No. The wireless link can work while routing, DNS, or the ISP connection is failing.
2. What device forwards packets between IP networks?
A router, or another device performing Layer 3 routing.
Wrap Up
Name the job each device performs before trying to configure it.
Packets, Layers, and Ethernet
By the end of this session, you can:
- Follow encapsulation from application data to an Ethernet frame.
- Distinguish a MAC address, an IP address, and a transport port.
- Compare TCP and UDP and explain basic switch learning.
Sources: Kurose & Ross §1.5 · Odom Vol 1, Part I
Theory
Layers divide communication into smaller jobs. In the OSI model, Layers 7–5 cover application, presentation, and session functions; Layer 4 is transport; Layer 3 is network; Layer 2 is data link; and Layer 1 is physical. The TCP/IP model groups these into application, transport, internet, and link layers.
- Transport port: identifies a service or conversation at a host. TCP port 443 is commonly used for HTTPS; HTTP/3 uses QUIC over UDP, commonly on port 443.
- IP address: identifies an interface at the network layer and helps routers select a path.
- MAC address: is used for delivery on an Ethernet link. A routed packet is placed into a new link-layer frame at each routed hop.
Each layer adds its own header around the data from above — that is encapsulation.
TCP establishes a connection and provides ordered delivery, acknowledgments, and retransmission. UDP sends datagrams without those transport-level guarantees; an application can add its own reliability. Ping uses ICMP, not a TCP or UDP port.
A switch learns a frame’s source MAC address on the incoming port. It looks up the destination MAC to choose the outgoing port. Unknown unicast frames are flooded to other forwarding ports in the same VLAN; broadcast frames are also flooded within that VLAN.
Demonstration
For a remote destination, a host normally sends the frame to its gateway’s MAC address while keeping the remote server as the packet’s destination IP. In IPv4 Ethernet networks, ARP discovers the local next-hop MAC address. NAT, when used, can change IP addresses; ordinary routing by itself does not.
PC sends to a server on a different subnet Destination IP: remote server Destination MAC: local default gateway PC sends to another PC on the same subnet Destination IP: other PC Destination MAC: other PC
Practice
- Write the OSI layers in order from physical to application.
- For a remote web server, name the destination of the first Ethernet frame and of the IP packet.
- Explain what a switch does with a destination MAC it has not learned.
Answer key and troubleshooting notes
Physical → data link → network → transport → session → presentation → application. The first frame goes to the gateway; the packet is addressed to the server. An unknown unicast is flooded within the VLAN, excluding the incoming port.
Quick questions
1. Does a switch learn from the source or destination MAC?
It learns from the source MAC and forwards based on the destination MAC.
2. Does UDP guarantee delivery?
No. UDP itself does not provide acknowledgments, ordered delivery, or retransmission.
Wrap Up
Ports describe transport conversations, IP addresses support routing, and MAC addresses support delivery on the local link.
Delay, Loss, and Throughput
By the end of this session, you can:
- Name the four sources of delay at a router and when each matters.
- Explain queuing delay, traffic intensity, and packet loss.
- Calculate end-to-end delay and bottleneck throughput for a simple path.
Sources: Kurose & Ross §1.4 · Odom Vol 1, Part I
Theory
Every router adds delay to a packet in four ways. Processing delay covers header inspection and error checks (microseconds). Queuing delay is time spent waiting in the output buffer — it is the only delay that varies with congestion. Transmission delay is pushing the bits onto the link, and Propagation delay is the time the signal takes to travel the medium.
d_trans = L / R packet length / link rate d_prop = d / s distance / propagation speed d_nodal = d_proc + d_queue + d_trans + d_prop Traffic intensity = La / R (a = average arrival rate) Throughput = min(R1, R2, ..., RN)
d_nodal = process + queue + transmit + propagate. Only the queue part grows with congestion.
Keep the traffic intensity below 1. As La/R approaches 1, queuing delay grows sharply; above 1 the queue never drains, delay grows without bound, and when the buffer is full new packets are dropped.
Over N uncongested links, end-to-end delay is roughly N × (d_proc + d_trans + d_prop). Round-trip time (RTT) is the time for a packet to go out and its reply to return.
Caravan analogy: ten cars drive at 100 km/h; a tollbooth takes 12 seconds per car. The cars spread out, but the last car still arrives 120 seconds + 1 hour later. The tollbooth is the transmission delay, the road is propagation.
Demonstration
Send a 1,500-byte packet over a 10 Mbps link, then across 2,500 km of fiber:
Packet: 1500 bytes = 12,000 bits on a 10 Mbps link d_trans = 12,000 / 10,000,000 = 1.2 ms d_prop = 2,500,000 m / 200,000,000 m/s = 12.5 ms The propagation delay is ten times the transmission delay. Typical ping RTT ≈ 2 × (d_prop + d_trans) + queuing.
Throughput = min(100, 10, 50) = 10 Mbps — the slowest pipe wins.
Run a traceroute to any public site. Each hop prints three RTTs. Find the hop where the time jumps most — that is usually the long-haul or transoceanic link, and the jump is propagation delay, not a fault.
Practice
- Calculate d_trans for a 64-byte frame on a 1 Gbps link.
- Calculate d_prop for 500 km of fiber at 2 × 10⁸ m/s.
- A path has three links at 100 Mbps, 10 Mbps, and 50 Mbps. What is the throughput?
- A queue's traffic intensity is 1.3. What happens to delay and loss?
Answer key and troubleshooting notes
d_trans = 64 × 8 / 1,000,000,000 = 512 ns d_prop = 500,000 m / 200,000,000 m/s = 2.5 ms Throughput = min(100, 10, 50) = 10 Mbps Intensity > 1 → the queue grows without bound → delay rises and packets are eventually dropped
Quick questions
1. Which delay depends on packet length, and which depends on distance?
Transmission delay depends on packet length and link rate. Propagation delay depends on distance and the speed of the medium.
2. Why does queuing delay explode as traffic intensity approaches 1?
Arrivals approach the service rate, so even small bursts create growing queues. Above 1, the queue never drains.
Wrap Up
Find the bottleneck before blaming the application — throughput is set by the slowest link, and long-haul delay by the longest path.
IPv4 Addresses and Default Gateways
By the end of this session, you can:
- Read an IPv4 address and prefix length.
- Identify the network and host portions of a /24.
- Choose when traffic needs a default gateway.
Sources: Kurose & Ross §4.3.2 · Odom Vol 1, Part IV
Theory
An IPv4 address has 32 bits written as four decimal octets, each from 0 to 255. A prefix length tells you how many bits describe the network. With 192.168.10.20/24, the first 24 bits form the network portion and the remaining 8 bits form the host portion.
Host: 192.168.10.20/24 Subnet mask: 255.255.255.0 Network: 192.168.10.0 Usable hosts: 192.168.10.1 through 192.168.10.254 Broadcast: 192.168.10.255 Example gateway: 192.168.10.1
192.168.10.20/24 — the /24 marks where the network part ends.
The host uses its mask to decide whether a destination is local. For a remote destination without a more specific route, it sends toward the default gateway. The gateway must be reachable on the local link. Its address does not have to end in .1.
The private IPv4 ranges are 10.0.0.0/8, 172.16.0.0/12 (172.16–172.31), and 192.168.0.0/16. These are not globally routed on the public internet. Private addresses do not provide security by themselves.
DHCP can supply an address, mask, gateway, and DNS server automatically. DNS translates names into records such as IP addresses; it does not forward your packets.
Demonstration
PC-A is 192.168.10.20/24. PC-B is 192.168.10.30/24, so PC-A can send directly after resolving PC-B’s MAC. A destination of 192.168.20.30 is outside PC-A’s /24 and needs routing.
On Windows, inspect your current settings without changing them:
ipconfig /all route print arp -a
Find the active adapter, IPv4 address, subnet mask, default gateway, and DNS servers. On Linux, use ip address and ip route. A disconnected adapter may have no useful configuration.
Practice
- For 192.168.50.25/24, write the network, broadcast, and usable host range.
- Decide whether 192.168.50.100 and 192.168.51.100 are local destinations.
- Choose an unused usable address for a router interface in this subnet.
Answer key and troubleshooting notes
Network: 192.168.50.0. Broadcast: 192.168.50.255. Hosts: .1–.254. The .50.100 destination is local; .51.100 requires routing. An unused 192.168.50.1/24 is a valid gateway address.
Quick questions
1. Is 172.32.1.1 in the private 172.16.0.0/12 block?
No. That private block ends at 172.31.255.255.
2. Do two PCs on the same subnet need DNS to ping each other by IP?
No. DNS is not needed for a numeric IP destination.
Wrap Up
Check the address and mask together. A similar-looking address is not enough to decide whether two hosts share a subnet.
Subnetting Without Guessing
By the end of this session, you can:
- Convert a prefix into a subnet mask.
- Calculate network boundaries and usable host ranges.
- Split a /24 into four equal /26 subnets.
Sources: Kurose & Ross §4.3.2 · Odom Vol 1, Part IV
Theory
Subnetting uses additional network bits to divide an address block into smaller networks. Moving from /24 to /26 borrows two bits and creates four equal subnets. Six host bits remain, giving 64 addresses per subnet.
Last-octet bit values: 128 64 32 16 8 4 2 1 /26 mask last octet: 1 1 0 0 0 0 0 0 = 192 Mask: 255.255.255.192 Block size: 256 - 192 = 64 Addresses per subnet: 2^(32 - 26) = 64 Usable hosts: 64 - 2 = 62
Four equal /26 blocks — the two borrowed bits split the /24 four ways.
For ordinary IPv4 LAN subnets, reserve the network address and broadcast address. The usual host-count formula is 2 to the power of the host bits, minus 2. /31 point-to-point links and /32 host routes are special cases, so do not apply that formula blindly.
Demonstration
Split 192.168.10.0/24 into /26 blocks. The last-octet boundaries increase by 64:
Network Usable last octets Broadcast 192.168.10.0/26 .1 through .62 192.168.10.63 192.168.10.64/26 .65 through .126 192.168.10.127 192.168.10.128/26 .129 through .190 192.168.10.191 192.168.10.192/26 .193 through .254 192.168.10.255
192.168.10.77/26 falls between .64 and .127. Its network is .64, its broadcast is .127, and it is a usable host address. Two hosts with last octets .62 and .65 now belong to different subnets.
Practice
- Calculate the mask and usable host count for /27.
- Find the network, first host, last host, and broadcast for 192.168.20.70/27.
- Choose the smallest ordinary subnet that can hold 50 hosts.
Answer key and troubleshooting notes
/27: mask 255.255.255.224; block size 32; 30 usable hosts 192.168.20.70/27: Network: 192.168.20.64 First host: 192.168.20.65 Last host: 192.168.20.94 Broadcast: 192.168.20.95 50 hosts: /26 (62 usable); /27 has only 30 usable
Quick questions
1. Can 192.168.10.64/26 be assigned to a PC in this lab?
No. It is the network address of the second /26 block.
2. Does a longer prefix mean more hosts per subnet?
No. A longer prefix leaves fewer host bits, so each subnet contains fewer addresses.
Wrap Up
Find the block boundary first, then derive the broadcast and usable range. Always check that the host fits inside that range.
IPv6 Addressing and Subnetting
By the end of this session, you can:
- Write, compress, and expand IPv6 addresses.
- Distinguish link-local, unique-local, and global unicast addresses.
- Configure and verify IPv6 on a router interface.
Sources: Kurose & Ross §4.3.4 · Odom Vol 1, Part VII
Theory
IPv6 uses 128-bit addresses written as eight groups of four hexadecimal digits. Two shorthand rules apply: drop the leading zeros inside each group, and replace the longest run of all-zero groups with :: (usable only once per address).
2001:0db8:0000:0000:0000:0000:0000:0001 → 2001:db8::1 fe80:0000:0000:0000:0a00:27ff:fe3e:9c1a → fe80::a00:27ff:fe3e:9c1a
Eight 16-bit hextets — compress the zero run once to get 2001:db8::1.
- Link-local (fe80::/10): every interface has one automatically. It never leaves the local link and is used by neighbor discovery.
- Global unicast (2000::/3): public, routable addresses — the IPv6 equivalent of public IPv4.
- Unique local (fc00::/7): private addressing for internal use, like RFC 1918 in IPv4.
- Multicast (ff00::/8): ff02::1 reaches all nodes, ff02::2 all routers. IPv6 has no broadcast.
The standard subnet size is /64, and sites typically receive a /48 — leaving 2^16 = 65,536 possible /64 subnets. Hosts can use SLAAC (router advertisement + interface ID), DHCPv6, or static addressing. Neighbor Discovery Protocol (NDP) replaces ARP: a neighbor solicitation asks "who has this IPv6 address?", and a neighbor advertisement answers with the MAC address.
Demonstration
Enable IPv6 routing and assign an address on a Packet Tracer router:
enable configure terminal ipv6 unicast-routing interface gigabitethernet0/0/0 ipv6 address 2001:db8:1::1/64 no shutdown end show ipv6 interface brief
Each interface also self-assigns a link-local address the moment IPv6 is enabled — show ipv6 interface brief lists both. Set a PC's IPv6 configuration to Automatic and it receives a global address through SLAAC; then ping the router's global address 2001:db8:1::1.
Practice
- Compress 2001:0db8:0000:0000:0000:0000:1428:57ab.
- How many /64 subnets are available from one /48 block?
- Configure IPv6 on a router interface in Packet Tracer and ping it from a PC using auto-configuration.
- Explain why IPv6 does not need ARP.
Answer key and troubleshooting notes
2001:0db8:0000:0000:0000:0000:1428:57ab → 2001:db8::1428:57ab One /48 contains 2^(64-48) = 2^16 = 65,536 /64 subnets NDP (neighbor solicitation + neighbor advertisement) replaces ARP for IPv6 address resolution
Quick questions
1. Is a link-local address routable beyond the local link?
No. Link-local addresses never leave the local segment; they exist for neighbor discovery and basic reachability.
2. Why does IPv6 have no broadcast address?
Broadcast scales poorly. IPv6 uses multicast such as ff02::1, which only reaches the hosts that actually listen.
Wrap Up
IPv6 has no broadcast and every interface has a link-local address — learn to read both before you ping.
Your First Cisco Switch Configuration
By the end of this session, you can:
- Recognize user EXEC, privileged EXEC, and configuration modes.
- Set a hostname and interface description in a simulator.
- Verify the running configuration and save it.
Sources: Odom Vol 1, Part II
Theory
Cisco IOS uses modes. The prompt ending in > indicates user EXEC. Use enable to enter privileged EXEC, shown as #. Configuration mode changes settings; interface configuration mode changes a particular interface.
exit moves up one level; end returns straight to privileged EXEC.
Use a fresh simulated 2960 switch in Cisco Packet Tracer for this lesson. Open its CLI tab, decline the initial setup dialog if it appears, then press Enter. These exercises assume default settings and interface names such as FastEthernet0/1; other models may use different names.
Get Packet Tracer through Cisco Networking Academy. A Cisco account may be required. The course contains lab instructions; the simulator runs separately on your computer.
Demonstration
Enter these commands one line at a time. If no endpoint is connected yet, the port can remain down even after no shutdown.
enable configure terminal hostname SW1 interface fastethernet0/1 description Link to PC-A no shutdown exit end show interfaces status show running-config copy running-config startup-config
At the destination filename prompt, press Enter to accept startup-config. Running-config is the current configuration in RAM; startup-config is the saved configuration loaded at boot. The copy command saves the current configuration; it is not a factory reset.
CLI helpers: use ? for context-sensitive help, Tab to complete a unique command, exit to move up one configuration level, and end to return to privileged EXEC. Press Space for another page of long output.
Practice
- Rename the switch to LAB-SW1.
- Describe FastEthernet0/2 as Link to PC-B.
- Use show running-config to confirm both changes.
- Save, then use show startup-config to check the saved hostname and description.
Answer key and troubleshooting notes
enable configure terminal hostname LAB-SW1 interface fastethernet0/2 description Link to PC-B exit end show running-config copy running-config startup-config show startup-config
Quick questions
1. Why does show running-config fail in configuration mode?
It is an EXEC command. Use end to return to privileged EXEC; IOS also supports do show running-config from configuration mode.
2. Does setting a hostname save the configuration automatically?
No. Save running-config to startup-config after verifying your changes.
Wrap Up
Read the prompt, make a small change, verify the result, and save deliberately.
Build and Troubleshoot Your First LAN
By the end of this session, you can:
- Connect two PCs through a switch in Packet Tracer.
- Assign IPv4 addresses and test communication with ping.
- Observe ARP and MAC learning, then diagnose an addressing fault.
Sources: Kurose & Ross §6.4 · Odom Vol 1, Part II
Theory
We will build a single subnet with one switch and two PCs. Both switch ports remain in the default VLAN. A switch does not need a management IP address to forward Ethernet frames between these PCs. No router, default gateway, or DNS server is needed for this local IP test.
The first ping may time out while ARP resolves — retry and it replies.
Ping sends ICMP Echo Requests and listens for replies. A successful ping is evidence of IP reachability at that moment; it does not prove that a website, DNS, or every application is working.
Demonstration
- Add two PC-PT endpoints and one 2960 switch to a new Packet Tracer workspace.
- Use copper straight-through cables: PC-A FastEthernet0 to SW1 FastEthernet0/1; PC-B FastEthernet0 to SW1 FastEthernet0/2.
- Wait for the links to turn green. Switch ports may take time to begin forwarding.
- Open Desktop → IP Configuration on each PC. Choose Static, set the addresses above, and use 255.255.255.0 as both masks. Leave gateway and DNS blank.
- Open PC-A’s Desktop → Command Prompt and run the commands below.
ipconfig ping 192.168.10.20 arp -a
Expect replies from 192.168.10.20. An initial attempt may time out while ARP or link convergence completes; retry once the links are ready. Persistent timeouts need investigation. Check the switch CLI:
enable show interfaces status show mac address-table dynamic
Expect the two connected ports to show connected status and learned PC MAC addresses in VLAN 1 after traffic passes. The exact addresses and output formatting vary.
In Simulation mode, filter for ARP and ICMP and send another ping. If ARP is already cached, you may only see ICMP; use a fresh lab state to observe the initial ARP request and reply. Save your topology as first-lan.pkt.
Practice
- Ping PC-A from PC-B and record the result.
- Change PC-B to 192.168.20.20/24, then ping that new address from PC-A. Explain the failure.
- Restore PC-B to 192.168.10.20/24 and confirm replies return.
- Add PC-C as 192.168.10.30/24 on Fa0/3. Verify all three pairs.
- Record the symptom, cause, fix, and verification for the fault you introduced.
Answer key and troubleshooting notes
PC-B’s changed address belongs to a different subnet. PC-A has no router or gateway path to it, so the test fails. Restoring .10.20/24 puts it back on the local subnet. PC-C needs a unique address, the same mask, a working cable, and a port in the same VLAN.
- No link: check cable endpoints, device power, and port status.
- Link works, ping fails: check both addresses, both masks, duplicate addresses, and VLAN membership.
- Physical PC differs from simulator: a host firewall can block ICMP. Check the policy rather than assuming every timeout is an addressing error.
Quick questions
1. Why can the PCs communicate without a gateway?
They are on the same IP subnet and VLAN, so they deliver frames directly through the switch.
2. What evidence shows that the switch learned the PCs?
After traffic, show mac address-table dynamic should associate each PC MAC with its connected switch port.
Wrap Up
A working lab includes evidence: correct addressing, connected ports, learned MAC addresses, and successful tests in both directions.
Module 2 · Network Access and Switching
Ethernet, ARP, and Switch Forwarding
By the end of this session, you can:
- Read the fields of an Ethernet frame.
- Trace an ARP request and reply on a single subnet.
- Explain how a switch learns, forwards, and filters frames.
Sources: Kurose & Ross §6.4 · Odom Vol 1, Part II
Theory
Ethernet frames carry the IP packet across one link. The frame has a fixed structure, and every field has a job:
Preamble Dest MAC Src MAC Type Data FCS
8 bytes 6 bytes 6 bytes 2 bytes 46–1500 bytes 4 bytes
0x0800 = IPv4
0x0806 = ARP- MAC address: 48 bits written in hex — the first 24 bits are the vendor (OUI), the rest the device. The broadcast MAC is FF-FF-FF-FF-FF-FF.
- Type: tells the receiver which protocol is inside. MTU is 1,500 bytes, so larger packets are fragmented upstream.
- FCS: a CRC the receiver checks; damaged frames are silently dropped.
ARP answers one question: "which MAC address owns this IP address?" — and only on the same subnet. A host broadcasts an ARP request ("who has 192.168.10.20? tell 192.168.10.10"); the owner replies with a unicast ARP reply, and both sides cache the mapping for a few minutes.
A switch learns the source MAC of every frame it receives, then decides using the destination MAC: known on another port → forward; known on the same port → filter; unknown → flood to all other ports in the VLAN.
Demonstration
After this exchange, ping works without ARP until the cache expires.
In Packet Tracer, ping PC-B from PC-A, then check both tables:
! On the switch enable show mac address-table dynamic ! On PC-A arp -a
The MAC table should map each PC's MAC to its switch port. arp -a should show 192.168.10.20 next to PC-B's MAC address.
Practice
- Draw the Ethernet frame and label every field with its size.
- Which destination MAC does an ARP request use, and why?
- A switch receives a frame whose destination MAC it has not learned. What happens?
- Ping two PCs in Packet Tracer, then verify the MAC table and the ARP cache.
Answer key and troubleshooting notes
An ARP request uses the broadcast MAC FF-FF-FF-FF-FF-FF because the sender does not yet know the target. An unknown unicast is flooded to all other ports in the VLAN. After traffic, show mac address-table dynamic and arp -a confirm learning.
Quick questions
1. Why does ARP only resolve hosts on the same subnet?
Routers stop broadcasts. For a remote destination the host ARPs for its gateway's MAC and sends the frame there instead.
2. Does a Layer 2 switch look at IP addresses?
No. A Layer 2 switch forwards using MAC addresses only; IP belongs to Layer 3.
Wrap Up
The switch forwards by MAC, ARP finds the MAC, and off-subnet traffic just needs the gateway's MAC.
VLANs and Access Ports
By the end of this session, you can:
- Explain why VLANs separate Layer 2 broadcast domains.
- Configure and verify access ports in the correct VLAN.
- Distinguish a data VLAN, voice VLAN, and default VLAN.
Sources: Kurose & Ross §6.4.4 · Odom Vol 1, Part III
Theory
A VLAN is a logical Layer 2 network. It lets one physical switch carry several separate broadcast domains. Devices in different VLANs cannot communicate through Layer 2 switching alone; they need a Layer 3 routing function.
- Access port: carries traffic for one data VLAN. An end host normally connects to an access port.
- Voice VLAN: lets a phone use a separate VLAN while a PC connected through the phone uses the data VLAN.
- Default VLAN: VLAN 1 exists on many Cisco switches by default. Plan management and user VLANs deliberately instead of treating VLAN 1 as a security boundary.
- Broadcast domain: broadcasts stay inside a VLAN unless a router or Layer 3 switch forwards them.
VLAN numbers are local to the switching domain. Giving two ports the same VLAN number on one switch does not extend that VLAN to another switch; the inter-switch link must carry it.
Demonstration
Use a 2960 switch and create VLAN 10 for students and VLAN 20 for staff. Configure endpoint ports as access ports:
enable configure terminal vlan 10 name STUDENTS vlan 20 name STAFF interface fastethernet0/1 description Student PC switchport mode access switchport access vlan 10 spanning-tree portfast interface fastethernet0/2 description Staff PC switchport mode access switchport access vlan 20 end show vlan brief
show vlan brief should list VLANs 10 and 20 and place the configured ports in the expected VLAN. PortFast is for an edge port connected to an endpoint; do not enable it on a switch-to-switch link.
Give two student PCs addresses such as 192.168.10.10/24 and 192.168.10.20/24. They should communicate through the switch. A staff PC in VLAN 20 belongs to a different broadcast domain, even when it is plugged into the same physical switch.
Practice
- Create VLAN 10 named STUDENTS and VLAN 20 named STAFF.
- Place Fa0/1 and Fa0/2 in VLAN 10, then place Fa0/3 in VLAN 20.
- Verify membership with show vlan brief.
- Connect two PCs in VLAN 10 and test them with ping.
- Explain why a PC in VLAN 20 cannot ping them yet.
Answer key and troubleshooting notes
show vlan brief show interfaces fastethernet0/1 switchport ! ! Fa0/1 should report access VLAN 10 ! Fa0/3 should report access VLAN 20
Quick questions
1. Does putting two ports in VLAN 10 make them routed ports?
No. They remain Layer 2 access ports in the same broadcast domain.
2. Can a switch forward a broadcast from VLAN 10 into VLAN 20?
No. VLAN boundaries contain Layer 2 broadcasts.
Wrap Up
VLAN membership determines the local Layer 2 boundary. Verify port mode and access VLAN before troubleshooting IP addresses.
Trunks, 802.1Q, and Discovery
By the end of this session, you can:
- Configure a trunk between switches using 802.1Q.
- Explain the native VLAN and allowed VLANs.
- Use CDP and LLDP to identify neighboring devices.
Sources: Kurose & Ross §6.4.4 · Odom Vol 1, Part III
Theory
A trunk carries traffic for multiple VLANs over one link between network devices. Ethernet frames are identified with an IEEE 802.1Q VLAN tag while they cross the trunk. The receiving switch removes or interprets the tag before forwarding the frame inside the VLAN.
- Native VLAN: the VLAN sent untagged on an 802.1Q trunk. Both ends must agree on it.
- Allowed VLANs: the list of VLANs permitted on a trunk. Restricting the list reduces unnecessary broadcasts and limits mistakes.
- CDP: Cisco Discovery Protocol shares information with directly connected Cisco neighbors.
- LLDP: an open IEEE discovery protocol useful when devices come from different vendors.
A trunk preserves VLAN identity across a device-to-device link. It is not simply a faster access port.
Demonstration
Connect SW1 Fa0/24 to SW2 Fa0/24. Create VLANs 10 and 20 on both switches, then configure both ends the same way:
enable configure terminal vlan 10 name STUDENTS vlan 20 name STAFF vlan 99 name NATIVE interface fastethernet0/24 description Trunk to SW2 switchport mode trunk switchport trunk native vlan 99 switchport trunk allowed vlan 10,20,99 no shutdown end show interfaces trunk show interfaces fastethernet0/24 switchport
If your simulator asks for an encapsulation command, choose 802.1Q where the platform supports it. Many modern switches use 802.1Q automatically.
Verify the neighbor relationship:
show cdp neighbors detail show lldp neighbors detail
Discovery output can show the remote device, local and remote ports, platform, and capabilities. Discovery reveals a directly connected neighbor; it does not replace a topology diagram or a security policy.
Practice
- Create VLANs 10, 20, and 99 on both switches.
- Configure Fa0/24 as a trunk on both ends.
- Use native VLAN 99 and allow only VLANs 10, 20, and 99.
- Verify the trunk and correct any native VLAN or allowed-list mismatch.
- Use CDP or LLDP to record the remote switch and port.
Answer key and troubleshooting notes
show interfaces trunk ! Status should identify Fa0/24 as trunking ! Allowed VLANs should include 10,20,99 ! Native VLAN should be 99 show cdp neighbors show lldp neighbors
Quick questions
1. What happens if one trunk end uses native VLAN 99 and the other uses VLAN 1?
The native VLANs mismatch. Untagged traffic can be classified differently at each end and IOS may report a warning.
2. Does CDP discover devices several hops away?
No. CDP describes directly connected Cisco neighbors.
Wrap Up
A trunk carries several VLANs, and both ends must agree on tagging, native VLAN, and the allowed VLAN list.
Rapid STP and EtherChannel
By the end of this session, you can:
- Identify the root bridge, root port, and designated port.
- Explain how Rapid PVST+ prevents Layer 2 loops.
- Configure a two-link LACP EtherChannel and verify it.
Sources: Kurose & Ross §6.3–6.4 · Odom Vol 1, Part III
Theory
Redundant switch links improve availability but create Layer 2 loops. Broadcast frames have no TTL at Layer 2, so a loop can multiply traffic. Spanning Tree Protocol elects a root bridge and places some redundant paths into a non-forwarding role.
- Root bridge: the switch with the lowest bridge ID, based on priority and MAC address.
- Root port: the best path from a non-root switch toward the root.
- Designated port: the forwarding port selected for a segment.
- Rapid PVST+: Cisco’s per-VLAN rapid spanning tree mode.
- PortFast and BPDU Guard: PortFast quickly forwards a trusted endpoint port; BPDU Guard shuts it down if a BPDU appears.
EtherChannel bundles multiple physical links into one logical Port-Channel. LACP negotiates the bundle. All member interfaces need compatible speed, duplex, VLAN, and trunk settings. STP sees the bundle as one logical path.
Demonstration
Inspect spanning-tree state and select a predictable root in a lab:
show spanning-tree vlan 10 show spanning-tree root configure terminal spanning-tree mode rapid-pvst spanning-tree vlan 10,20 root primary end show spanning-tree vlan 10
On an endpoint port, use PortFast with BPDU Guard. Never copy this to a switch uplink:
configure terminal interface range fastethernet0/1 - 2 spanning-tree portfast spanning-tree bpduguard enable end
Connect SW1 Fa0/23–24 to SW2 Fa0/23–24 and form an LACP bundle:
configure terminal interface range fastethernet0/23 - 24 switchport mode trunk switchport trunk allowed vlan 10,20,99 channel-group 1 mode active exit interface port-channel 1 description LACP trunk to SW2 switchport mode trunk switchport trunk allowed vlan 10,20,99 end show etherchannel summary show interfaces port-channel 1
A healthy bundle should show a Port-Channel in use and member ports bundled. If a member is suspended, compare both ends line by line.
Practice
- Use show spanning-tree vlan 10 to identify the root bridge and port roles.
- Set SW1 as the primary root and SW2 as the secondary.
- Enable Rapid PVST+ and BPDU Guard only on endpoint ports.
- Build an LACP trunk with Fa0/23 and Fa0/24 on both switches.
- Verify the bundle and explain why STP treats it as one logical link.
Answer key and troubleshooting notes
show etherchannel summary ! Po1 should be up ! Member ports should be bundled, not suspended show spanning-tree vlan 10 ! Root ID identifies the root bridge ! Root port is the best path toward that bridge
Quick questions
1. Should PortFast be enabled on a switch-to-switch trunk?
No. PortFast is for trusted endpoint-facing ports. A trunk needs normal spanning-tree protection.
2. What does LACP solve?
It negotiates a logical bundle from compatible physical links; it does not route traffic or remove the need for STP.
Wrap Up
Use STP to prevent loops, EtherChannel to bundle compatible redundancy, and verification commands to confirm the control plane agrees with your design.
Error Detection and Cabling
By the end of this session, you can:
- Explain parity, checksums, and CRC error detection.
- Choose straight-through versus crossover cables.
- Diagnose common physical-layer faults from interface counters.
Sources: Kurose & Ross §6.2 · Odom Vol 1, Part I
Theory
Bits flip in transit — noise, interference, and damaged cables all corrupt frames. The link layer must detect this cheaply and quickly:
- Parity: one extra bit makes the count of 1s even. It catches any odd number of bit errors, but misses even numbers and is weak against bursts.
- Internet checksum: the data is summed as 16-bit words and the 1s complement stored. Cheap in software, used by TCP and UDP.
- CRC: sender and receiver agree on a generator G; the sender appends the remainder of the polynomial division so the whole frame divides evenly. Strong against bursts — used in Ethernet (FCS) in hardware.
Data D = 101110, generator G = 1001 (r = 3) Append 3 zeros: 101110000 Divide by G (mod-2: XOR, no borrow) Remainder R = 011 Transmitted frame: 101110011 Receiver divides by G again: remainder 0 = frame OK · any other value = error
Cabling: straight-through cables connect different device types (PC ↔ switch, router ↔ switch); crossover cables connect like devices (PC ↔ PC, switch ↔ switch). Most modern ports use auto-MDIX, which detects and fixes the pairing for you.
Demonstration
CRC turns any burst of bit errors into a nonzero remainder at the receiver.
In Packet Tracer, check the physical layer first when a link misbehaves:
show interfaces fastethernet0/1 ! watch these counters: ! runts — frames smaller than 64 bytes ! giants — frames larger than allowed ! CRC errors — damaged frames (cable/interference) ! late collisions — cabling too long or duplex mismatch
Practice
- Will single-bit parity detect a burst of two bit errors? Why?
- Verify the CRC: divide 101110011 by 1001 (modulo-2). What remainder do you get?
- Which cable connects a PC directly to a switch?
- Name two show interfaces counters that indicate a physical problem.
Answer key and troubleshooting notes
Parity misses even numbers of errors, so a two-bit burst slips through. Dividing 101110011 by 1001 gives remainder 0 — the frame is accepted. PC-to-switch uses straight-through. CRC errors and late collisions both point at the physical layer.
Quick questions
1. Why is CRC used at the link layer while the Internet checksum is used in transport?
The link layer runs in hardware where CRC's polynomial division is fast and strong; the checksum is cheap to compute in software at the transport layer.
2. What does auto-MDIX do for you?
It automatically detects the cable type and swaps pairs as needed, so straight-through and crossover mistakes stop breaking links.
Wrap Up
If a link accumulates CRC errors, the problem is usually physical — cable, interference, or duplex. Fix the medium before blaming the protocol.
Wireless LANs and Device Management
By the end of this session, you can:
- Describe autonomous APs, controller-based WLANs, and AP modes.
- Trace an AP/WLC connection across access, trunk, and LAG links.
- Compare console, SSH, HTTPS, TACACS+, RADIUS, and cloud management.
Sources: Kurose & Ross §7.3 · Odom Vol 2, Part I
Theory
An access point bridges wireless clients into a wired network. In an autonomous design, the AP carries much of its own configuration. In a controller-based design, a wireless LAN controller (WLC) centralizes WLAN policy, client access, and AP management.
- SSID: the name clients see. It maps to a WLAN policy and often a VLAN.
- AP mode: a lightweight AP may serve clients, scan for interference, monitor security, or support special deployment roles.
- Access link: can carry one AP management or client VLAN.
- Trunk/LAG: carries several WLAN VLANs from an AP or WLC connection. A LAG bundles links for redundancy and capacity.
Use the console during initial setup, then prefer encrypted SSH or HTTPS for normal administration. Telnet is plaintext. TACACS+ and RADIUS centralize authentication; local accounts provide a fallback. Cloud-managed devices use a vendor service, so account, reachability, and policy boundaries matter.
Demonstration
Map a small controller-based WLAN:
An AP uplink may be an access port for a simple single-VLAN deployment or a trunk when several VLANs are needed. A WLC connection commonly uses a trunk, and two physical links can form an LACP LAG when supported. Match management, client, native, and allowed VLAN settings on both sides.
For a device-management baseline:
configure terminal hostname SW1 ip domain name lab.example username admin privilege 15 secret Use-A-Unique-Lab-Password crypto key generate rsa modulus 2048 line vty 0 15 login local transport input ssh end show ip ssh show users
The exact RSA command varies by IOS release. Never use a real password in a shared lab file. In production, centralize identity with TACACS+ or RADIUS, apply least privilege, and log administrative access.
Practice
- Draw an AP, switch, WLC, router, and two client VLANs.
- Label each link as access, trunk, or LAG and explain why.
- Configure SSH on a lab switch using a local user and domain name.
- Use show ip ssh and show users to verify the management baseline.
- List two reasons a client may see an SSID but fail to receive an IP address.
Answer key and troubleshooting notes
A client can associate with the AP while DHCP, VLAN tagging, WLC policy, or the gateway path is wrong. Check the client VLAN mapping, trunk allowed list, WLC interface, DHCP scope, and gateway. For management, SSH should be enabled with a local or centralized identity source; Telnet exposes credentials in plaintext.
Quick questions
1. Is an SSID itself a VLAN?
No. An SSID is a wireless network name and policy. It can be mapped to a VLAN.
2. Why is console access useful?
It provides local out-of-band access during initial setup or when the network management path is unavailable.
Wrap Up
Wireless access still depends on wired VLANs, trunks, gateways, and identity. Trace the whole path when a client connects but cannot use the network.
WiFi Deep Dive
By the end of this session, you can:
- Explain CSMA/CA and why 802.11 cannot detect collisions.
- Describe RTS/CTS and the hidden terminal problem.
- Read the four address fields of an 802.11 frame.
Sources: Kurose & Ross §7.3 · Odom Vol 2, Part I
Theory
WiFi stations cannot use collision detection: a radio cannot reliably transmit and receive at the same time, and hidden terminals would miss collisions anyway. So 802.11 uses CSMA/CA — collision avoidance:
Every frame gets a link-layer ACK — Ethernet does not need one, WiFi does.
Hidden terminal: two stations A and C cannot hear each other, yet both can hit the access point B. Their frames collide at B and neither knows why. RTS/CTS reserves the channel: A sends a Request-To-Send carrying a duration; B broadcasts Clear-To-Send; everyone who hears the CTS stays quiet for that duration.
An 802.11 frame carries four addresses: Addr1 is the immediate receiver, Addr2 the transmitter, Addr3 the final destination (usually the router's MAC — needed to convert the frame back to Ethernet at the AP), and Addr4 is only used in ad hoc AP-to-AP mode.
In the 2.4 GHz band only channels 1, 6, and 11 do not overlap. Place neighboring APs on different ones; the 5 GHz band offers many more.
Demonstration
In Packet Tracer, build a small wireless lab:
! 1. Add a wireless router / access point ! 2. Set SSID: LAB-NET and channel: 6 ! 3. On the laptop, open the PC Wireless app ! and connect to LAB-NET ! 4. Let DHCP hand out an address, then: ipconfig ping 192.168.10.1
Now add a second AP on channel 6 with the same SSID. Clients see one network but the APs interfere with each other — this is why channel planning matters before adding hardware. In Simulation mode you can watch the frames and their ACKs.
Practice
- Why cannot 802.11 stations detect collisions while they transmit?
- Draw the RTS/CTS exchange for a hidden-terminal scenario.
- Which 2.4 GHz channels can share a building without overlapping?
- In an 802.11 frame, which address is the immediate receiver and which is the final destination?
Answer key and troubleshooting notes
A station cannot hear a collision over its own transmission, and the hidden terminal may be out of range anyway. RTS → CTS reserves the medium. Only channels 1, 6, and 11 are non-overlapping in 2.4 GHz. Addr1 is the immediate receiver, Addr3 the final destination.
Quick questions
1. What is the difference between DIFS and SIFS?
DIFS is the longer contention gap before starting a transmission; SIFS is the short gap used for high-priority frames such as ACK and CTS.
2. Does RTS/CTS eliminate all collisions?
No — RTS frames can still collide with each other. RTS/CTS protects the data frames that follow and removes the hidden-terminal case.
Wrap Up
WiFi trades collision detection for caution — listen, back off, acknowledge every frame, and reserve the channel when hidden nodes exist.
Module 3 · IP Connectivity and Routing
Routers and the Data Plane
By the end of this session, you can:
- Explain the difference between forwarding and routing.
- Describe longest-prefix matching in the forwarding table.
- Compare switching fabrics and queuing (FIFO versus WFQ).
Sources: Kurose & Ross §4.1–4.2 · ENCOR Part I
Theory
Forwarding is the data plane: moving each packet from an input port to an output port, in hardware, in nanoseconds. Routing is the control plane: computing the paths, in software, over seconds. A traditional router does both; in an SDN design the controller computes and the switch only forwards.
The forwarding table uses longest-prefix matching: when several routes could match a destination, the most specific one wins.
show ip route (abridged) C 192.168.10.0/24 is directly connected S 10.0.0.0/8 via 192.168.10.1 S 10.1.1.0/24 via 192.168.10.2 ! Packet to 10.1.1.5 → the /24 wins (longest prefix) ! Packet to 10.2.2.2 → the /8 matches
Inside the router: input ports terminate the link, the switching fabric moves packets across, and output ports queue them. Fabrics range from shared memory, to a shared bus (one packet at a time), to a crossbar (many packets in parallel). Head-of-line blocking happens when a packet waits behind another packet whose output port is busy — its own output may be free. Output queues can be FIFO, priority, or weighted fair queuing, which guarantees each class its weight of the bandwidth.
Demonstration
The lookup happens once, in hardware, before the packet crosses the fabric.
On a router, inspect the control-plane table and the data-plane cache:
show ip route ! control plane: routes + next hops show ip cef ! data plane: optimized forwarding entries show interfaces ! output drops → queuing pressure
Practice
- A router has routes 10.0.0.0/8 and 10.1.1.0/24. Which one is used for 10.1.1.5?
- Why is a crossbar fabric better than a shared bus?
- What is head-of-line blocking?
- Which queuing method gives each traffic class a guaranteed share of bandwidth?
Answer key and troubleshooting notes
The /24 wins — longest prefix. A crossbar can move several packets at once; a bus carries only one at a time. HOL blocking stalls a packet behind another whose output is busy. Weighted fair queuing guarantees shares by weight.
Quick questions
1. What is the difference between forwarding and routing?
Forwarding is the per-packet, hardware, data-plane action of moving a packet to an output port. Routing is the software, control-plane process of computing paths and building the table.
2. Why does longest-prefix matching exist?
It lets one large block route generally while more specific subnets take precedence — the network becomes more efficient to represent and more precise to forward.
Wrap Up
Forwarding is hardware, routing is software — and the longest prefix always wins.
Static and Default Routing
By the end of this session, you can:
- Configure static routes with a next hop or exit interface.
- Explain administrative distance and floating statics.
- Verify the routing table and recursive lookups.
Sources: Odom Vol 1, Part V · ENCOR Ch 6
Theory
Connected routes appear automatically the moment an interface has an IP address. Static routes are typed by hand. A default route (0.0.0.0/0) catches every destination that nothing else matches — every branch router normally has one pointing at the internet.
ip route 10.2.2.0 255.255.255.0 10.1.1.2 ip route 0.0.0.0 0.0.0.0 203.0.113.1 ip route 10.2.2.0 255.255.255.0 10.1.1.2 200 ! floating static
When two sources know the same route, administrative distance picks the winner: connected 0, static 1, eBGP 20, EIGRP 90, OSPF 110, RIP 120. A floating static is a static with a higher AD — it sits in the table only when the preferred route disappears.
Demonstration
The branch needs a route toward HQ and a default for the rest of the world.
show ip route ! Codes: C connected, S static, S* default ! ! S* 0.0.0.0/0 via 203.0.113.1 ! S 10.2.2.0/24 via 10.1.1.2
Watch a recursive lookup: the router finds the next hop 10.1.1.2, then looks up which interface reaches 10.1.1.2 — that two-step lookup is why the next hop should always be reachable.
Practice
- Add a static route for 10.3.3.0/24 via next hop 10.1.1.3.
- Add a default route via 203.0.113.1.
- Make a backup static to 10.3.3.0/24 via 10.1.1.4 with AD 200.
- Verify with show ip route and explain which route wins and why.
Answer key and troubleshooting notes
ip route 10.3.3.0 255.255.255.0 10.1.1.3 ip route 0.0.0.0 0.0.0.0 203.0.113.1 ip route 10.3.3.0 255.255.255.0 10.1.1.4 200 ! The primary static (AD 1) is installed; ! the AD 200 one appears only if the primary is lost
Quick questions
1. Why prefer a next-hop IP over an exit interface on Ethernet?
With a next hop the router ARPs for the neighbor and can confirm reachability; an exit interface route on a multiaccess link can black-hole traffic when the neighbor is down.
2. What makes a floating static 'float'?
Its higher administrative distance keeps it out of the table until the preferred route fails, then it floats into place.
Wrap Up
Statics are predictable and always in the table — until a better administrative distance comes along.
Routing Algorithms
By the end of this session, you can:
- Run Dijkstra's algorithm on a small graph.
- Apply the Bellman-Ford equation to distance vectors.
- Explain count-to-infinity and poisoned reverse.
Sources: Kurose & Ross §5.2 · ENCOR Ch 6
Theory
Link-state protocols flood the full topology: every router announces its links, then each runs Dijkstra locally on the same map. Distance-vector protocols share only vectors of distances: each router applies the Bellman-Ford equation d(x,y) = min over neighbors v of c(x,v) + d(v,y) and re-advertises the result.
Dijkstra from source u (graph from K&R Figure 5.3):
Step N' D(v),p D(w),p D(x),p D(y),p D(z),p
0 u 2,u 5,u 1,u - -
1 ux 2,u 4,x 1,u 2,x -
2 uxy 2,u 3,y 1,u 2,x 4,y
3 uxyv 2,u 3,y 1,u 2,x 4,y
4 uxyvw 2,u 3,y 1,u 2,x 4,y
5 uxyvwz 2,u 3,y 1,u 2,x 4,y
Bellman-Ford for u→z:
min { c(u,v)+d(v,z), c(u,w)+d(w,z), c(u,x)+d(x,z) }
= min { 2+5, 5+3, 1+3 } = 4Distance-vector has a famous weakness: count-to-infinity. When a link cost jumps (good news travels fast, bad news slowly), two routers keep passing an outdated distance back and forth, counting up loop by loop. Poisoned reverse slows this: a router advertises an infinite distance to the neighbor it actually routes through.
Demonstration
Link-state: identical map everywhere, so convergence is fast and consistent.
Distance-vector only talks to neighbors — watch a bad-news update: x's link to y goes from 4 to 60, y now claims it can reach x via z with cost 6, z claims 7 via y, and the two count up toward 60 in dozens of rounds. Poisoned reverse (y advertises ∞ to z for routes learned from z) breaks this two-node loop.
Practice
- Run the first two steps of Dijkstra for the table above.
- Using Bellman-Ford, why does u choose cost 4 for z instead of 5?
- What causes count-to-infinity?
- How does poisoned reverse help?
Answer key and troubleshooting notes
Step 0 seeds direct costs; step 1 adds x (cost 1) and relaxes w to 4 and y to 2. Bellman-Ford picks the minimum over all neighbors: 1+3 via x beats 2+5 via v. Count-to-infinity is two routers trading an outdated better path after a failure; poisoned reverse breaks it by advertising ∞ to the neighbor a route was learned from.
Quick questions
1. Which algorithm needs the whole topology, and which only neighbor vectors?
Link-state (Dijkstra) needs the complete map from flooding. Distance-vector (Bellman-Ford) only exchanges vectors with neighbors.
2. Why does bad news travel slowly in distance-vector?
A router only knows what neighbors advertise, so an inflated 'I can still reach it cheaply' rumor keeps circulating until the count exceeds the real cost.
Wrap Up
Dijkstra needs the whole map; Bellman-Ford only needs rumors — and rumors die slowly.
OSPF
By the end of this session, you can:
- Configure single-area OSPF and verify neighbors.
- Explain DR and BDR election on broadcast links.
- Describe multi-area OSPF, ABRs, and LSA types.
Sources: Kurose & Ross §5.3 · Odom Vol 1, Part VI · ENCOR Ch 8–9
Theory
OSPF is a link-state protocol (IP protocol 89) that builds a complete topology map and runs Dijkstra on it. Routers identify themselves with a router ID — the highest loopback IP, else the highest up interface IP. Neighbors exchange Hello packets, then flood link-state advertisements (LSAs).
router ospf 1 network 10.0.0.0 0.255.255.255 area 0 ! or interface style: interface gigabitethernet0/0 ip ospf 1 area 0
On a multiaccess segment, a designated router (DR) and backup (BDR) are elected — highest priority wins, then highest router ID. Other routers stay 2-way with each other and only form full adjacencies with DR/BDR, cutting the mesh of adjacencies.
Large networks split into areas; area 0 is the backbone and ABRs (area border routers) connect the others. LSA types: type 1 router LSA, type 2 network LSA, type 3 summary (between areas), type 5 external (from outside OSPF).
Demonstration
Areas keep the map small; the backbone carries summaries between them.
show ip ospf neighbor ! adjacencies, state, router IDs show ip ospf interface ! DR/BDR, area, costs show ip route ! O = OSPF routes, O IA = inter-area
Two routers in area 0 with addresses 10.1.1.1 and 10.1.1.2 should reach FULL state. If they stay in 2-WAY, check whether one side is on a different area, a mismatched network type, or a duplicate router ID.
Practice
- Configure OSPF area 0 between two routers.
- Verify neighbors with show ip ospf neighbor.
- Add a loopback on each router and restart OSPF — which router ID wins, and why?
- Explain what a type 3 LSA carries and where it comes from.
Answer key and troubleshooting notes
The router with the highest loopback IP takes over as router ID after the process restarts. A type 3 summary LSA is generated by an ABR and advertises an inter-area prefix into another area.
Quick questions
1. What is the OSPF router ID used for?
It identifies the router in LSAs and breaks ties in DR/BDR election. It is chosen as the highest loopback IP, else the highest up interface IP.
2. Why does OSPF converge faster than a distance-vector protocol?
Every router receives the complete topology and runs Dijkstra locally, so there is no slow rumor propagation or count-to-infinity.
Wrap Up
OSPF builds a map and runs Dijkstra on it — areas keep the map small, and the backbone ties them together.
BGP
By the end of this session, you can:
- Explain eBGP versus iBGP and autonomous system numbers.
- Describe the AS-PATH and NEXT-HOP attributes.
- Apply the BGP best-path selection order.
Sources: Kurose & Ross §5.4 · ENCOR Ch 11–12
Theory
BGP is the inter-AS protocol that glues the internet together — a path-vector protocol over TCP port 179. eBGP runs between different autonomous systems; iBGP runs between routers inside one AS. Routes are advertised as prefixes plus attributes.
router bgp 65001 neighbor 203.0.113.2 remote-as 65002 network 198.51.100.0 mask 255.255.255.0 show ip bgp ! Network Next Hop Metric Path ! 198.51.100.0/24 203.0.113.2 0 65002 i
- AS-PATH: the list of ASes traversed. Each AS prepends its own number — and drops any advertisement containing itself, which is how BGP detects loops.
- NEXT-HOP: the router interface where the path begins — the hand-off between inter-AS and intra-AS routing.
Best-path selection runs in order: highest weight (Cisco), highest local preference, shortest AS-PATH, lowest origin, lowest MED, eBGP over iBGP, lowest IGP cost to the next hop, oldest route, lowest router ID. Policy usually dominates: local preference is set by the operator, and hot-potato routing exits through the closest NEXT-HOP.
Demonstration
Each AS adds its number to the path as the advertisement travels.
Two routers in different ASes (Packet Tracer supports basic BGP; for attribute labs use CML/GNS3). After configuring the neighbors, check the table and the received paths:
show ip bgp summary ! neighbor state (idle = not configured right) show ip bgp ! best path marked with > show ip bgp 198.51.100.0/24 ! all received paths + attributes
Practice
- Configure eBGP between two ASes and verify the neighbor state.
- Read show ip bgp and identify which path is marked best.
- Change local preference to prefer one path over another.
- Explain what happens when an AS receives a route whose AS-PATH already contains its own number.
Answer key and troubleshooting notes
The marked path (with >) is the chosen best. Setting a higher local preference wins before AS-PATH length is even compared. An advertisement containing the receiver's own AS number is dropped — that is BGP loop prevention.
Quick questions
1. What is the difference between eBGP and iBGP?
eBGP connects routers in different ASes; iBGP distributes the learned routes inside one AS. Both run over TCP 179.
2. Which attribute does BGP use to prevent loops?
AS-PATH. A router rejects any advertisement that already contains its own AS number.
Wrap Up
BGP routes between organizations on policy, not speed — the shortest AS-PATH wins unless policy overrides.
Route Redistribution and Route Maps
By the end of this session, you can:
- Explain why redistribution needs route maps.
- Redistribute OSPF into BGP and back safely.
- Match and set attributes with a route map.
Sources: ENCOR Ch 12
Theory
Redistribution injects routes from one routing protocol into another — for example, OSPF routes into BGP at the network edge. Without controls it is dangerous: metrics do not translate between protocols, and mutual redistribution at two routers can loop routes endlessly. The fix is a route map: a sequence of match/set rules with an implicit deny at the end.
route-map OSPF-INTO-BGP permit 10 match ip address prefix-list INTERNAL set metric 100 router bgp 65001 redistribute ospf 1 route-map OSPF-INTO-BGP ip prefix-list INTERNAL permit 10.0.0.0/8
Prefix-lists filter which networks are allowed; tags mark routes so the other side can refuse to re-inject them — the standard guard against feedback loops.
Demonstration
Match decides what crosses the boundary; set decides what it looks like on the other side.
On the receiving router, use a route map to reject anything already tagged, then redistribute the rest back into OSPF. Verify with show ip route (routes appear with the new protocol's code) and show route-map (hit counts prove the map is matching).
Practice
- Write a route map that permits only 192.168.0.0/16 and sets a tag of 77.
- Redistribute OSPF into BGP using that route map.
- What happens to a route that matches no sequence in the map?
- Why tag routes during mutual redistribution?
Answer key and troubleshooting notes
A route matching no sequence is denied — the implicit deny at the end. Tags let the far side recognize re-imported routes and drop them, stopping the feedback loop that mutual redistribution would otherwise create.
Quick questions
1. Why do metrics not translate automatically between protocols?
Each protocol computes cost differently (OSPF cost, EIGRP composite, BGP attributes), so redistribution must assign a new metric explicitly.
2. What is the difference between a prefix-list and an ACL in this context?
Both filter, but prefix-lists match networks with prefix lengths efficiently and are the standard tool in route maps and BGP filters.
Wrap Up
Redistribution is like merging two rivers — without route maps and tags you get a flood.
Gateway Redundancy
By the end of this session, you can:
- Explain how two routers share one virtual gateway IP.
- Configure and verify HSRP.
- Compare HSRP, VRRP, and GLBP.
Sources: ENCOR Ch 15
Theory
Endpoints usually point to a single gateway address. If that router dies, every host loses connectivity. First-hop redundancy protocols let two routers share one virtual IP (and a virtual MAC): one is active and answers; the other is standby and takes over within seconds if the active fails.
interface gigabitethernet0/0 standby 1 ip 192.168.10.1 standby 1 priority 110 standby 1 preempt show standby ! GigabitEthernet0/0 - Group 1 ! State is Active (priority 110) ! Virtual IP address is 192.168.10.1
- HSRP — Cisco proprietary; priority 100 default, higher wins, preempt must be enabled explicitly.
- VRRP — open standard; the router owning the virtual IP is the master; preemption is on by default.
- GLBP — Cisco; load-balances across up to four active forwarders instead of leaving the standby idle.
Demonstration
The hosts never change their gateway — the routers swap who answers it.
In Packet Tracer or CML, configure the same HSRP group on two routers in the same subnet, then shut down the active router's LAN interface. Watch show standby on the second router flip from Standby to Active, and ping the virtual IP throughout — only one or two pings drop during the failover.
Practice
- Configure HSRP group 1 with virtual IP 192.168.10.1 on two routers.
- Make R1 the active router using priority and preempt.
- Verify state and virtual MAC with show standby.
- Fail the active router and confirm the standby takes over, then explain how GLBP differs.
Answer key and troubleshooting notes
Give R1 standby 1 priority 110 plus preempt. After the failure R2 transitions to Active for the same virtual IP. GLBP differs by load-balancing traffic across up to four forwarders instead of keeping one router idle.
Quick questions
1. What does preempt do?
It lets a higher-priority router reclaim the active role when it returns, instead of waiting for the current active to fail.
2. Why does the virtual MAC matter?
Hosts ARP the gateway IP once and keep a stable MAC — the failover is invisible to them because the standby answers with the same virtual MAC.
Wrap Up
Endpoints keep one gateway IP forever — the routers sort out which one actually answers.
ICMP and Connectivity Troubleshooting
By the end of this session, you can:
- Explain how ping and traceroute use ICMP.
- Read TTL and destination-unreachable messages.
- Troubleshoot connectivity layer by layer.
Sources: Kurose & Ross §5.6 · Odom Vol 1, Part V
Theory
ICMP is carried as IP payload (protocol 1). Ping sends an Echo Request (type 8) and waits for an Echo Reply (type 0). Every router decrements the TTL; when it hits 0, the router drops the packet and returns Time Exceeded (type 11). Traceroute exploits this: it sends probes with TTL 1, 2, 3… and each expired probe identifies one hop.
Each star or response in the traceroute output is one hop of the path.
Type 3 Destination Unreachable has useful codes: 1 host unreachable (router has no route), 3 port unreachable (traceroute's finishing signal), 4 fragmentation needed and DF set (MTU problem).
Demonstration
ping 8.8.8.8 ! reachability + RTT ! Reply from 8.8.8.8: time=24ms traceroute 8.8.8.8 ! the per-hop path ! When ping fails, work top-down: show ip route 8.8.8.8 ! is there a route? which next hop? show ip arp ! is the next hop resolved to a MAC? show ip interface brief ! are the interfaces up?
Classic reading: "Destination host unreachable" means a router answered but has no route — a routing problem. "Request timed out" means nobody answered at all — usually filtering, a dead next hop, or a silent drop.
Practice
- Explain what each traceroute hop represents.
- What is the difference between 'host unreachable' and 'request timed out'?
- A ping to a remote site fails but the default route exists. What do you check next?
- Why does traceroute show a star for some hops?
Answer key and troubleshooting notes
Each hop is a router whose TTL expired the probe. Host unreachable = an answering router lacks a route; timeout = silence (filter or dead link). Check ARP for the next hop and the interface states next. Stars mean a hop did not answer with time-exceeded — it may be filtered or busy.
Quick questions
1. Why does traceroute send probes with increasing TTL values?
The TTL controls how far the probe gets; each expired TTL forces exactly one router to reveal itself with a time-exceeded message.
2. Which ICMP type signals an MTU problem?
Type 3 code 4 — fragmentation needed and DF set. The sender should lower its packet size.
Wrap Up
Ping proves reachability, traceroute proves the path — and the routing table explains both.
Module 4 · IP Services
DNS Deep Dive
By the end of this session, you can:
- Explain the DNS server hierarchy.
- Distinguish A, NS, CNAME, and MX records.
- Trace iterative and recursive queries with nslookup.
Sources: Kurose & Ross §2.4 · Odom Vol 2, Part IV
Theory
DNS is a distributed database and an application-layer protocol (UDP port 53). It translates names like www.example.com into IP addresses. One central server would fail on four counts: a single point of failure, enormous query volume, distance, and maintenance — so the database is a hierarchy:
Iterative queries walk the tree step by step; recursive queries ask the resolver to do the walking.
- A / AAAA: hostname → IPv4 / IPv6 address.
- NS: the authoritative server for a domain.
- CNAME: an alias pointing at a canonical hostname.
- MX: the mail server for a domain.
Every answer carries a TTL, and every resolver caches along the way — that is why the root servers only see a tiny fraction of queries.
Demonstration
nslookup www.example.com ! Server: dns.local ! Address: 192.168.10.1 ! Non-authoritative answer: 93.184.216.34 nslookup -type=MX example.com nslookup -type=NS example.com ipconfig /displaydns ! your local cache
"Non-authoritative" means the answer came from a cache, not the domain's own server. Add a hosts-file entry or an internal DNS A record and watch the same name resolve differently — local DNS decides where a name goes before any external query happens.
Practice
- Query the A, MX, and NS records for a public domain and record the answers.
- Explain the order in which the servers are contacted for an uncached name.
- Why does DNS cache answers, and what is the TTL for?
- What is the difference between a recursive and an iterative query?
Answer key and troubleshooting notes
Uncached lookup order: local resolver → root → TLD → authoritative. Caching serves repeat queries locally and lets resolvers skip the roots; the TTL says how long an answer may be kept. Recursive asks "please get it for me"; iterative asks "point me to the next server".
Quick questions
1. Why not run one central DNS server?
A single point of failure, massive query volume, long distances, and an impossible maintenance burden — the hierarchy splits all four.
2. Which record type maps an alias to the canonical hostname?
CNAME. For example www is often a CNAME pointing at the real web server name.
Wrap Up
DNS is the internet's phone book — distributed, cached, and consulted before the first packet is sent.
DHCP in Depth
By the end of this session, you can:
- Trace the four-message DHCP flow (DORA).
- Configure a DHCP pool with exclusions.
- Explain the DHCP relay agent.
Sources: Kurose & Ross §4.3.2 · Odom Vol 2, Part IV
Theory
DHCP gives an endpoint four settings automatically: address, mask, gateway, and DNS. The exchange is four messages — DORA: Discover, Offer, Request, Acknowledgment. The client broadcasts because it has no address yet; UDP ports 67 (server) and 68 (client).
DORA completes in four packets — a few milliseconds on a LAN.
A router can be the server:
ip dhcp excluded-address 192.168.10.1 192.168.10.10 ip dhcp pool LAN network 192.168.10.0 255.255.255.0 default-router 192.168.10.1 dns-server 8.8.8.8 ! relay on the client-side router interface: interface gigabitethernet0/1 ip helper-address 10.1.1.100
Routers do not forward broadcasts between subnets, so a client without a local server needs a relay agent: ip helper-address converts the broadcast into a unicast toward the real server.
Demonstration
In Packet Tracer, set a PC to DHCP and configure the pool on a router:
show ip dhcp binding ! MAC → IP → lease time show ip dhcp pool ! usage counters ! On the PC: ipconfig /renew
Watch the PC receive an address from the pool, then reserve one address for a printer by excluding everything else around it — fixed hosts get predictability, everything else gets plug-and-play.
Practice
- List the four DORA messages in order and what each carries.
- Configure a DHCP pool for 192.168.10.0/24 with gateway .1 and DNS 8.8.8.8.
- Why is a relay agent needed when the server is on another subnet?
- Which command installs the relay function on an interface?
Answer key and troubleshooting notes
Discover (client broadcast), Offer (proposed address + lease), Request (client accepts), Ack (confirmed). The relay command is ip helper-address; without it the client's broadcast never leaves the subnet.
Quick questions
1. Why does DHCP use broadcasts?
A brand-new client has no IP address, so it cannot unicast. Discover and Request are broadcast; the server answers by unicast or broadcast depending on the client state.
2. What happens when a lease expires?
The client tries to renew before expiry; if it fails, it must stop using the address and starts DORA again.
Wrap Up
DHCP is plug-and-play addressing — four messages give every endpoint its four settings.
NAT and Port Forwarding
By the end of this session, you can:
- Explain static NAT, dynamic NAT, and PAT.
- Read a NAT translation table.
- Configure PAT and port forwarding.
Sources: Kurose & Ross §4.3.3 · Odom Vol 2, Ch 14
Theory
NAT rewrites source IP addresses at the network edge so many private hosts can share one public address. Three flavors: static NAT (fixed one-to-one), dynamic NAT (from a pool), and PAT (many-to-one, tracking each session by its port — the standard for homes and small offices).
interface gigabitethernet0/0 ip nat inside interface gigabitethernet0/1 ip nat outside access-list 1 permit 192.168.10.0 0.0.0.255 ip nat inside source list 1 interface gigabitethernet0/1 overload ! port forwarding: public 203.0.113.10:8080 → internal web server ip nat inside source static tcp 192.168.10.5 80 203.0.113.10 8080
Inside and outside matter: inside traffic gets translated on the way out, and replies are mapped back through the translation table. NAT buys address space — it is not a firewall, and it breaks end-to-end reachability for inbound connections unless a port forwarding rule exists.
Demonstration
PAT distinguishes the two PCs by their source ports, not by address.
show ip nat translations ! Pro Inside global Inside local ! tcp 203.0.113.10:5001 192.168.10.5:54321 ! tcp 203.0.113.10:5002 192.168.10.6:54321
From an inside PC, ping a public address and watch the table grow. The inside-global column always shows the router's public IP — that is overload at work.
Practice
- What is the difference between static NAT and PAT?
- Configure PAT using interface gigabitethernet0/1 with overload.
- Add a port forward from 203.0.113.10:8080 to 192.168.10.5:80.
- Explain why two inside hosts can use the same public IP at the same time.
Answer key and troubleshooting notes
PAT overloads one public IP by translating per session, so the tuple (public IP, port) uniquely identifies each inside host — two hosts never collide because their translated ports differ.
Quick questions
1. Why is NAT not a security control?
It hides addresses but performs no filtering — traffic still passes unless an ACL or firewall blocks it.
2. Why do applications behind NAT need special handling?
An outside host cannot reach an inside address directly, so servers need static mappings or port forwarding, and P2P apps need traversal techniques.
Wrap Up
NAT buys address space, not security — and port forwarding is how servers live behind it.
NTP, Syslog, and Device Maintenance
By the end of this session, you can:
- Synchronize device clocks with NTP.
- Interpret syslog severity levels.
- Back up and upgrade a device image and licenses.
Sources: Odom Vol 2, Ch 13
Theory
Every network device keeps a clock, and accurate time is what makes logs, certificates, and troubleshooting trustworthy. NTP is a hierarchy of strata: stratum 0 atomic clocks feed stratum 1 primary servers, which feed stratum 2, and so on — devices at the edge sync to a nearby server.
Syslog ships log messages to a central collector, with severity levels from 0 (emergency) to 7 (debug): emergency, alert, critical, error, warning, notice, informational, debug.
ntp server 10.1.1.10 logging host 10.1.1.20 logging trap notifications ! levels 0–5 only show ntp status ! synced? which stratum? show logging ! buffer + destinations show flash: ! image files on the device copy running-config tftp://10.1.1.30/backup.cfg
Maintenance basics: back up the config, keep a known-good image in flash, verify licenses before upgrades, and always schedule changes in a maintenance window.
Demonstration
One time source upstream, one log destination downstream — now every event has a clock behind it.
In the lab, point two devices at the same NTP server and compare show clock — then deliberately log an interface down/up and find it on the syslog server with a matching timestamp.
Practice
- Configure an NTP server on a router and verify with show ntp status.
- What severity range does 'logging trap notifications' send?
- Back up the running config to a TFTP server.
- Why does accurate time matter on network devices?
Answer key and troubleshooting notes
Notifications sends levels 0–5 (emergency through notice). Accurate time lets you correlate events across devices, validate certificates, and debug "what happened first" questions. The backup command is copy running-config tftp:.
Quick questions
1. What does NTP stratum mean?
It is the number of hops from an authoritative time source — lower stratum means closer to the reference clock and more accurate.
2. Which syslog level is the most severe?
Level 0, emergency — the system is unusable. Debug (7) is the least severe.
Wrap Up
Every device tells the same time and the same story — clocks and logs are your first forensic evidence.
SNMP and NETCONF/YANG
By the end of this session, you can:
- Explain MIB, SMI, and SNMP operations.
- Read a NETCONF RPC exchange.
- Describe what YANG models provide.
Sources: Kurose & Ross §5.7 · Odom Vol 2, Part V
Theory
SNMP is the classic monitoring protocol: a manager polls agents with Get requests, changes values with Set, and agents push asynchronous Traps. Managed objects live in a MIB, structured by SMI, and are addressed by OIDs such as 1.3.6.1.2.1.1.5 (the system name). SNMPv3 adds authentication and encryption; v2c only has community strings.
snmp-server community READONLY ro snmp-server host 10.1.1.25 version 2c READONLY ! from a Linux host: snmpwalk -v2c -c READONLY 10.1.1.1 system
NETCONF is the configuration counterpart — XML-encoded RPC over SSH/TLS (port 830):
<rpc message-id="101"> <get-config><source><running/></source></get-config> </rpc> <rpc-reply message-id="101"> <data>…running configuration tree…</data> </rpc-reply>
YANG is the data-modeling language that describes the config tree — both the device and the automation script read the same model, which is what makes programmatic configuration predictable.
Demonstration
SNMP watches, NETCONF changes, YANG describes.
Configure a read-only SNMP community on a lab router and walk the system OIDs from a Linux host — you will see the hostname, uptime, and description come back as numbered objects. Then read a NETCONF get-config reply and notice how every element matches the YANG model of the interface.
Practice
- Configure an SNMP community and trap host on a router.
- What is an OID?
- Write the RPC that fetches the running configuration with NETCONF.
- Why does SNMPv3 matter?
Answer key and troubleshooting notes
An OID is the dotted path to a managed object inside the MIB. The NETCONF call is <get-config><source><running/></source></get-config>. SNMPv3 adds authentication and encryption, where v2c communities travel in plaintext.
Quick questions
1. What is the practical difference between SNMP and NETCONF?
SNMP is built for monitoring — polling counters and receiving traps. NETCONF is built for configuration — locking, editing, and validating device config as data.
2. What role does YANG play?
YANG models the device's configuration and state as a schema, so tools can validate and exchange configuration in a vendor-consistent way.
Wrap Up
SNMP watches, NETCONF changes — and YANG is the contract both sides read.
QoS Fundamentals
By the end of this session, you can:
- Classify and mark traffic with DSCP.
- Build a class-map and policy-map.
- Distinguish policing from shaping.
Sources: ENCOR Ch 14
Theory
Quality of service is triage: when links are busy, some traffic must wait and some must not. The toolkit is classification (match traffic), marking (set a DSCP value), queuing (decide the order), policing (drop excess), and shaping (buffer excess).
class-map match-any VOICE match dscp ef policy-map WAN-EDGE class VOICE priority 100 class class-default fair-queue interface gigabitethernet0/1 service-policy output WAN-EDGE
EF (DSCP 46, expedited forwarding) is reserved for voice — it gets a strict-priority queue. Data classes use AF values with different drop priorities. A policer drops traffic that exceeds a rate; a shaper delays it in a buffer instead — shaping smooths, policing enforces.
Demonstration
The queue is where the policy actually happens — every packet waits in exactly one queue.
In CML or Packet Tracer, apply the policy above to a link and watch show policy-map interface count packets per class. Even with a saturated link, a call marked EF keeps working while bulk transfers wait.
Practice
- Which DSCP value marks expedited forwarding, and what uses it?
- Build a policy-map that gives EF traffic strict priority.
- What is the difference between policing and shaping?
- Why does voice get strict priority instead of fair queuing?
Answer key and troubleshooting notes
EF is DSCP 46. Policing drops excess; shaping buffers and delays it. Voice gets strict priority because calls die from delay and jitter long before they care about a dropped or delayed packet elsewhere.
Quick questions
1. Where does marking happen relative to queuing?
Traffic is classified and marked first, then the marked value decides which queue it enters — marking without a matching queue policy has no effect.
2. Why would you shape instead of police?
Shaping avoids retransmissions for bursty TCP by buffering instead of dropping, at the cost of added delay.
Wrap Up
QoS is triage: decide what matters, mark it, and let the queue do the talking.
Multicast Concepts
By the end of this session, you can:
- Explain multicast group addressing.
- Describe IGMP and PIM-SM.
- Identify the role of the rendezvous point.
Sources: ENCOR Ch 13
Theory
Multicast sends one stream to many receivers — one copy traverses each link, so a thousand viewers do not mean a thousand copies from the server. Group addresses come from 224.0.0.0/4; there is no multicast broadcast, hosts opt in.
- IGMP: how hosts tell their router which groups they want to receive (join/leave on the last hop).
- PIM: how routers build the distribution tree toward receivers.
- PIM-SM and the RP: sources and receivers first meet at a rendezvous point, then the receivers switch to the shortest-path tree toward the source.
Demonstration
PIM-SM rendezvous first, then direct — the RP is the introduction, not the highway.
ip pim rp-address 10.1.1.1 show ip igmp groups ! who joined what show ip mroute ! the multicast routing table ! (S, G) entries: source + group pairs
In CML you can enable PIM on a few routers and join a group with a test receiver — show ip mroute then shows the (S, G) tree build out from the RP.
Practice
- Which address range is reserved for multicast groups?
- Which protocol do hosts use to join a group?
- What is the RP's job in PIM-SM?
- Why is multicast more efficient than unicast for a live stream to many viewers?
Answer key and troubleshooting notes
Groups live in 224.0.0.0/4. Hosts join with IGMP. The RP introduces sources to receivers before the shortest-path tree takes over. Unicast would send a separate copy per viewer; multicast sends one copy per link.
Quick questions
1. What is the difference between IGMP and PIM?
IGMP runs between hosts and their local router (membership). PIM runs between routers (building the delivery tree).
2. Why does PIM-SM use an RP at all?
Receivers do not know where sources are. The RP gives both sides a well-known meeting point before optimizing to the shortest path.
Wrap Up
Unicast sends N copies, multicast sends one — IGMP joins, PIM builds the tree.
NetFlow and Telemetry
By the end of this session, you can:
- Define a flow and its record fields.
- Configure Flexible NetFlow on an interface.
- Explain SPAN and telemetry as visibility tools.
Sources: ENCOR Ch 24
Theory
A flow is a unidirectional conversation identified by its 5-tuple: source IP, destination IP, source port, destination port, and protocol. NetFlow exports aggregated flow records to a collector so you can see who talks to whom and how much — the foundation of capacity planning and security forensics.
flow record FLOW-REC match ipv4 source address match ipv4 destination address match ipv4 protocol match transport source-port match transport destination-port collect counter bytes flow exporter NETFLOW-EXP destination 10.1.1.50 transport udp 2055 flow monitor NETFLOW-MON record FLOW-REC exporter NETFLOW-EXP interface gigabitethernet0/0 ip flow monitor NETFLOW-MON input
SPAN mirrors traffic from a source port or VLAN to an analyzer port for deep inspection. Modern streaming telemetry goes further than polling: the device pushes state continuously (model-driven, often gRPC) instead of waiting to be asked.
Demonstration
Record decides what is measured, exporter decides where it goes, monitor binds them to an interface.
show flow monitor NETFLOW-MON cache ! IPV4 SOURCE ADDR IPV4 DEST ADDR PROT SRC PORT DST PORT BYTES ! 192.168.10.5 93.184.216.34 6 54321 443 12844
Practice
- What five fields identify a flow?
- Build a flow record, exporter, and monitor and apply it to an interface.
- What is SPAN used for?
- How does streaming telemetry differ from SNMP polling?
Answer key and troubleshooting notes
Source/destination IP, source/destination port, protocol. SPAN copies traffic to an analyzer for capture. Telemetry pushes state continuously; SNMP waits for the manager to poll.
Quick questions
1. Why are flows more useful than interface counters for troubleshooting?
Counters show totals; flows show the actual conversations — which hosts, ports, and volumes — so you can attribute traffic.
2. What happens if the collector is unreachable?
The router buffers exports and retries; flows may be lost if the outage outlasts the buffer — monitoring the exporter state is part of operating NetFlow.
Wrap Up
You can't fix what you can't see — flows tell you who talks to whom and how much.
Module 5 · Network Security
Threats and Security Principles
By the end of this session, you can:
- Define confidentiality, integrity, authentication, and availability.
- Describe malware, botnets, and DDoS attacks.
- Explain packet sniffing and IP spoofing.
Sources: Kurose & Ross §8.1 · Odom Vol 2, Part III
Theory
Network security has four goals: confidentiality (only the intended parties can read the message), message integrity (tampering is detected), end-point authentication (the other side is who it claims to be), and availability (the network itself keeps working — the job of firewalls and intrusion detection).
- Malware: viruses and worms that infect hosts; infected machines become botnets — remote-controlled armies used for spam and attacks.
- DoS / DDoS: vulnerability attacks, bandwidth flooding, and connection flooding. A DDoS spreads the flood across thousands of zombie hosts so it is hard to filter by source.
- Packet sniffing: a passive receiver records copies of frames — trivially easy on wireless and shared media. Encryption is the main defense.
- IP spoofing: injecting packets with a forged source address, which defeats source-based trust and enables reflection attacks.
DDoS works because the aggregate traffic looks like ordinary packets from everywhere.
The internet was designed for mutually trusting users — access control was never built into the core. Every security control since is a retrofit on that assumption.
Demonstration
In Packet Tracer or Wireshark, watch what a broadcast medium reveals: capture traffic on a shared segment and read the payloads of unencrypted protocols like Telnet and HTTP. Then switch the same flows to SSH and HTTPS and see only ciphertext.
! What an attacker on the segment sees: ! Telnet: username/password in plaintext ! HTTP: every page in plaintext ! SSH/HTTPS: only encrypted bytes ! Your countermeasures checklist: ! 1. Encrypt management (SSH, HTTPS) ! 2. Authenticate peers (certificates, VPN) ! 3. Filter at the edge (firewall) ! 4. Monitor for anomalies (IDS)
Practice
- Define the four security goals and name the control that supports each.
- What is the difference between DoS and DDoS?
- Why is packet sniffing especially easy on wireless?
- What makes IP spoofing dangerous?
Answer key and troubleshooting notes
Confidentiality → encryption; integrity → hashes/MACs; authentication → certificates/AAA; availability → firewalls and redundancy. DDoS distributes the flood across many sources. Wireless broadcasts by nature, and any receiver can capture frames. Spoofing defeats source-based filtering and enables reflection and impersonation.
Quick questions
1. Why are botnets so hard to dismantle?
The machines belong to ordinary users, the command channels move, and the flood sources are legitimate infected hosts spread across the world.
2. Which security goal does a firewall primarily serve?
Availability — it keeps unauthorized traffic out so the network keeps operating. It is not a substitute for encryption or authentication.
Wrap Up
Security is defense in depth: assume every link is watched and every packet can be forged.
Cryptography Foundations
By the end of this session, you can:
- Explain symmetric and public-key encryption.
- Work a small RSA example.
- Describe hashes, MACs, and certificates.
Sources: Kurose & Ross §8.2–8.3
Theory
Symmetric key cryptography uses one shared secret key (AES is the modern standard — fast, block-based). Public key cryptography uses a key pair: anything encrypted with the public key is decrypted only with the private key, and vice versa. RSA is the classic example.
RSA, small numbers (K&R §8.2): p = 5, q = 7 → n = 35, z = (p-1)(q-1) = 24 e = 5 (coprime to 24) d = 29 (5 × 29 mod 24 = 1) Public: (n=35, e=5) Private: (n=35, d=29) Encrypt 'l' (12): 12^5 mod 35 = 17 Decrypt 17: 17^29 mod 35 = 12 ✓
RSA is slow, so real systems use it only to protect a session key, then encrypt the bulk data with fast symmetric crypto. Integrity is separate: a hash (SHA) fingerprints the message; a MAC (H(m + s)) adds a shared secret so only the key holder can create a valid fingerprint; a digital signature (K⁻(H(m))) lets anyone verify with the public key. A certificate authority then binds a public key to an identity — that is the trust anchor of TLS and VPNs.
Demonstration
Confidentiality with public key — and the same pair, applied in reverse, signs a message.
Compute one more RSA step by hand: encrypt 15 with (35, 5), then decrypt it with (35, 29). The round trip must return 15. This is the entire trick behind HTTPS, SSH, and IPsec.
Practice
- In the example above, why is d = 29 a valid private exponent?
- Encrypt m = 15 with the public key (35, 5).
- Why do real systems sign a hash instead of the whole message?
- What does a certificate authority add to a public key?
Answer key and troubleshooting notes
Because 5 × 29 = 145, and 145 mod 24 = 1 — the defining property of d. 15⁵ mod 35 = 15 (it happens to map to itself here). Signing a hash is faster and still proves integrity. A CA vouches that this public key really belongs to this identity, defeating key-swap attacks.
Quick questions
1. What is the practical difference between symmetric and public-key crypto?
Symmetric is fast but needs a shared secret; public key needs no shared secret but is orders of magnitude slower — so they are combined via session keys.
2. What is the difference between a MAC and a digital signature?
A MAC uses a shared secret key; a signature uses the signer's private key and can be verified by anyone with the public key and a certificate.
Wrap Up
Symmetric is fast, public key is safe to share, hashes prove integrity — production systems combine all three.
Authentication and AAA
By the end of this session, you can:
- Trace why simple password authentication fails.
- Explain challenge-response with nonces.
- Configure AAA with RADIUS/TACACS+ and local fallback.
Sources: Kurose & Ross §8.4 · ENCOR Ch 26
Theory
Build authentication up step by step and watch each version fail: ap1.0 "I am Alice" — anyone can say it. ap2.0 check the source IP — spoofed in one packet. ap3.0 a password — sniffed off the wire. ap3.1 an encrypted password — recorded and replayed. The fix is ap4.0: Bob sends a fresh nonce R; Alice returns the nonce encrypted with the shared key; Bob decrypts and matches. A correct reply proves Alice knows the key and is live — a replay of an old reply fails.
The nonce makes every authentication attempt unique — old answers are worthless.
Network devices centralize this with AAA: Authentication (who you are), Authorization (what you may do), Accounting (what you did). RADIUS (UDP) encrypts only the password; TACACS+ (TCP) encrypts the entire exchange and separates the three A's per-command.
aaa new-model aaa authentication login DEFAULT group tacacs+ local tacacs server TAC1 address ipv4 10.1.1.50 key SecretKey123
Demonstration
Configure the device to try TACACS+ first and fall back to the local database:
! Verify who you are talking to: show tacacs ! Simulate the failure: shut the TACACS server ! and confirm local login still works (fallback) ! Then check accounting: show aaa sessions
The fallback order matters: if the AAA server dies, administrators must still be able to reach the device — that is why local comes last.
Practice
- Why does an encrypted password still fail against replay?
- What does the nonce prove that the password alone cannot?
- Configure AAA login to use TACACS+ with local fallback.
- Compare RADIUS and TACACS+.
Answer key and troubleshooting notes
Encryption hides the password but the captured blob is still a valid login — replaying it authenticates. The nonce proves liveness: only the live key holder can encrypt the fresh challenge. RADIUS encrypts just the password over UDP; TACACS+ encrypts everything over TCP.
Quick questions
1. What is the difference between authentication and authorization?
Authentication proves identity (login), authorization decides what that identity may do (which commands, which VLANs). Accounting records it.
2. Why is the local fallback important?
If the AAA server is unreachable, administrators still need console and SSH access — the local database is the escape hatch.
Wrap Up
Passwords prove knowledge once; nonces prove presence every time — and AAA turns that into policy.
Access Control Lists
By the end of this session, you can:
- Write standard, extended, and named ACLs.
- Explain wildcard masks.
- Choose the right interface and direction.
Sources: Odom Vol 2, Part II
Theory
An ACL is an ordered list of rules; the first match decides, and there is an implicit deny at the end. Standard ACLs match source addresses only and are placed near the destination. Extended ACLs match source, destination, protocol, and ports, and belong near the source to drop bad traffic early.
! Standard: only the source matters access-list 10 deny 192.168.20.0 0.0.0.255 access-list 10 permit any ! Extended: source → destination + port access-list 101 deny tcp 192.168.10.0 0.0.0.255 host 10.2.2.10 eq 22 access-list 101 permit ip any any interface gigabitethernet0/1 ip access-group 101 in
Wildcard masks are the inverse of subnet masks: 0 means "must match", 255 means "ignore". host 10.2.2.10 is a wildcard of 0.0.0.0; any is 255.255.255.255.
Demonstration
Placement is policy: block early what should never travel; allow precisely what must.
show access-lists ! Extended IP access list 101 ! deny tcp 192.168.10.0 0.0.0.255 host 10.2.2.10 eq 22 (17 matches) ! permit ip any any
Test both directions: the SSH deny should stop 192.168.10.x from reaching the server, while everything else still flows. Move the ACL to the wrong interface and watch the symptom change — direction is part of the rule.
Practice
- Write a standard ACL that blocks 192.168.20.0/24 but allows everyone else.
- Write an extended ACL that permits web traffic to 10.2.2.10 and denies all other IP.
- What is the wildcard mask for a single host?
- What happens to traffic that matches no rule?
Answer key and troubleshooting notes
The wildcard for one host is 0.0.0.0 (host keyword). Traffic matching nothing hits the implicit deny and is dropped. Standard: access-list 10 deny 192.168.20.0 0.0.0.255 then permit any; extended: permit tcp any host 10.2.2.10 eq 80, then deny ip any any.
Quick questions
1. Why place extended ACLs near the source?
Dropping unwanted traffic as early as possible saves bandwidth and CPU on the rest of the path — and matches the semantic of filtering specific conversations.
2. What happens if you add a rule after 'permit any'?
Nothing useful — the first match wins, so everything already permitted. ACLs are order-sensitive.
Wrap Up
ACLs are if-then lists with a silent 'else drop' — order, direction, and interface decide everything.
Switch Security
By the end of this session, you can:
- Configure port security.
- Explain DHCP snooping and dynamic ARP inspection.
- Harden access ports.
Sources: Odom Vol 2, Part III
Theory
The switch port is the front door of the LAN, and three controls defend it:
- Port security: limit how many MACs may appear on a port. A second device trips the violation — protect (drop extras), restrict (drop + log), or shutdown (disable the port).
- DHCP snooping: only trusted ports (uplinks) may answer DHCP; untrusted ports may only request. The switch builds a binding table of MAC → IP → port.
- Dynamic ARP inspection (DAI): uses that binding table to drop ARP replies that pair a MAC with a stolen IP — the classic man-in-the-middle setup.
interface fastethernet0/1 switchport port-security switchport port-security maximum 1 switchport port-security violation shutdown ip dhcp snooping ip dhcp snooping vlan 10 interface gigabitethernet0/1 ip dhcp snooping trust
Demonstration
One binding table, two defenses: DHCP snooping builds it, DAI enforces it.
In Packet Tracer, add a second PC to a port-secured switchport and watch it err-disable. Then clear it with shutdown / no shutdown and check show port-security interface for the counters.
Practice
- Configure port security with a maximum of 1 MAC and shutdown violation.
- Which ports should be DHCP snooping trusted ports?
- What attack does DAI stop?
- How do you recover a port that was shut down by port security?
Answer key and troubleshooting notes
Only uplinks toward legitimate DHCP servers are trusted. DAI stops ARP spoofing — an attacker replying to ARP with someone else's IP to intercept traffic. Recover with shutdown then no shutdown (and fix the cause first).
Quick questions
1. Why is the DHCP snooping binding table the key to DAI?
DAI needs a trusted MAC→IP mapping to judge ARP replies; the snooping table provides exactly that, built from real DHCP transactions.
2. Which violation mode gives the strongest response?
Shutdown — the port is err-disabled and must be manually restored, which forces an administrator to look at the port.
Wrap Up
The switch is the LAN's firewall — limit who may connect, who may serve, and whose MAC speaks for which IP.
TLS and Secure Management
By the end of this session, you can:
- Summarize the TLS handshake and record protocol.
- Configure SSH on a router.
- Explain why Telnet and HTTP must go.
Sources: Kurose & Ross §8.6 · Odom Vol 2, Part III
Theory
TLS upgrades TCP with confidentiality, integrity, and authentication. The handshake exchanges nonces and a certificate, then both sides derive a master secret and split it into four keys (two encryption, two MAC). Data flows in records: message + HMAC + sequence number, then encrypted. Nonces stop connection replay; sequence numbers stop packet reordering and truncation.
HTTPS is HTTP inside TLS records — same web, sealed envelope.
Device management needs the same discipline: SSH instead of Telnet, HTTPS instead of HTTP.
ip domain name lab.example crypto key generate rsa modulus 2048 username admin secret StrongPass line vty 0 15 login local transport input ssh show ip ssh ! version + key state show ssh ! active sessions
Demonstration
Connect to the router with SSH in Packet Tracer, then try Telnet — it should be refused once transport input ssh is set. Capture both sessions with Wireshark: Telnet shows the password in plaintext, SSH shows only encrypted bytes.
Practice
- What do the two TLS nonces protect against?
- Generate an RSA key pair and restrict vty lines to SSH.
- Why does each TLS record carry a sequence number?
- Which command verifies the SSH service state?
Answer key and troubleshooting notes
The nonces prevent replaying a captured handshake. Sequence numbers defeat record reordering and truncation attacks. Verify with show ip ssh. Key generation needs a domain name first: ip domain name.
Quick questions
1. Why is a certificate part of the TLS handshake?
The server proves its identity by presenting a CA-signed certificate containing its public key — without it, anyone could impersonate the server.
2. What makes Telnet unacceptable for management?
Everything including passwords travels in plaintext, so anyone sniffing the segment captures administrator credentials.
Wrap Up
Encrypt the management plane first — an attacker who owns the console owns the network.
IPsec and Site-to-Site VPNs
By the end of this session, you can:
- Compare AH and ESP.
- Explain security associations and tunnel mode.
- Describe IKE's two phases.
Sources: Kurose & Ross §8.7 · ENCOR Ch 16
Theory
A VPN connects sites over the public internet with network-layer encryption. AH authenticates but does not encrypt; ESP adds confidentiality, so it dominates. A security association (SA) is a simplex agreement — algorithms, keys, and a 32-bit SPI — stored in the SAD; the SPD decides which traffic to protect.
Tunnel mode encapsulation:
[ new IP header | ESP header | encrypted:
original IP header + payload + ESP trailer ]
└─────────────── MAC over ESP header + ciphertext ───────┘
Outer protocol number: 50 (ESP)IKE automates SA setup: phase 1 authenticates the peers and builds a secure channel (Diffie-Hellman + signed identities), phase 2 derives the bulk IPsec keys — so the expensive public-key math runs once, not per SA.
Demonstration
The internet sees only the outer headers — the inner packets are ciphertext.
crypto isakmp policy 10 encryption aes hash sha256 authentication pre-share group 14 crypto isakmp key VPN-KEY address 203.0.113.2 crypto ipsec transform-set TSET esp-aes esp-sha256-hmac crypto map VPN-MAP 10 ipsec-isakmp set peer 203.0.113.2 set transform-set TSET match address 101 interface gigabitethernet0/1 crypto map VPN-MAP
Practice
- Which protocol provides confidentiality — AH or ESP?
- What does the SPI identify?
- Why does IKE use two phases?
- What does 'match address 101' do in the crypto map?
Answer key and troubleshooting notes
ESP encrypts; AH only authenticates. The SPI selects the SA for the receiving side. Two phases keep heavy public-key work out of every SA negotiation. The match ACL (101) selects the interesting traffic that must be encrypted.
Quick questions
1. Why is an SA described as simplex?
One SA protects traffic in one direction; a bidirectional tunnel uses two SAs, each with its own SPI and keys.
2. What is the advantage of tunnel mode for site-to-site VPNs?
The entire original packet is encrypted, so internal addressing stays private — the public internet only sees the gateway addresses.
Wrap Up
IPsec makes the public internet behave like a private WAN — ESP encrypts, SAs negotiate, IKE automates.
Wireless Security
By the end of this session, you can:
- Explain why WEP failed.
- Describe the WPA2/WPA3 four-way handshake.
- Summarize 4G/5G authentication (AKA).
Sources: Kurose & Ross §8.8 · Odom Vol 2, Part I
Theory
Wireless changes everything: the medium is shared, so eavesdropping needs no physical access. WEP failed because it reused short IVs with RC4, letting attackers recover the key from captured frames in minutes. WPA2 (802.11i) mandated AES-CCMP with the four-way handshake: the authentication server sends a nonce, the device replies with its own, and both derive the session key K_M-AP from the master key, the two nonces, and the MAC addresses. WPA3 adds SAE — a password-based handshake with forward secrecy that also fixes a WPA2 nonce-reuse weakness.
EAP messages ride end-to-end; the AP only ferries them and receives the derived key.
Cellular networks use the same pattern at scale: AKA — the SIM and the home network share a secret key; the network challenges, the device proves it, and session keys are derived for encryption. 5G goes further and encrypts the IMSI itself so the subscriber identity never travels in cleartext.
Demonstration
! WLAN security comparison: ! WEP — RC4 + short IV reuse → broken ! WPA1 — TKIP integrity → legacy ! WPA2 — AES-CCMP + 4-way handshake → standard ! WPA3 — SAE + forward secrecy → current ! Check what your AP actually offers: ! security mode, cipher, and PSK length ! — an AP still offering WEP is a liability
Practice
- What made WEP recoverable from captured traffic?
- Which two nonces feed the WPA2 four-way handshake?
- What does the four-way handshake derive?
- What does 5G change about the IMSI?
Answer key and troubleshooting notes
Short, reused IVs exposed RC4 keystream. The AS nonce and the device nonce feed the derivation. The handshake derives the pairwise session key K_M-AP (and a group key). 5G encrypts the IMSI so identity is never sent in the clear.
Quick questions
1. Why does mutual authentication matter on wireless?
The network must prove itself to the device too — otherwise a rogue AP with the right SSID harvests every client that connects.
2. What is the point of deriving per-session keys?
Each association gets fresh keys, so capturing traffic from one session reveals nothing about any other, past or future.
Wrap Up
Wireless security is key management — WPA3 earns trust per session, WEP lost it once and forever.
Firewalls and IDS/IPS
By the end of this session, you can:
- Compare stateless and stateful filtering.
- Build a simple zone-based firewall.
- Distinguish signature and anomaly detection.
Sources: Kurose & Ross §8.9 · ENCOR Ch 25–26
Theory
A firewall sits between trust zones and enforces policy on every packet. Stateless filters judge each packet alone (ACL-style). Stateful filters track connections in a table — replies are admitted only if a session exists, which defeats spoofed ACK tricks. Zone-based firewalls (ZFW) group interfaces into zones and apply inspection policies between zone pairs.
zone security INSIDE zone security OUTSIDE class-map type inspect match-any INTERNET match protocol tcp match protocol udp policy-map type inspect INSIDE-TO-OUT class type inspect INTERNET inspect zone-pair security IN-TO-OUT source INSIDE destination OUTSIDE service-policy type inspect INSIDE-TO-OUT interface gigabitethernet0/0 zone-member security INSIDE interface gigabitethernet0/1 zone-member security OUTSIDE
Firewalls block; IDS/IPS detect. Signature-based systems match known attack patterns (like Snort rules) — precise but blind to new attacks. Anomaly-based systems profile normal traffic and flag deviations — they catch the novel but suffer false alarms. Servers facing the internet belong in a DMZ, behind the firewall but isolated from the LAN.
Demonstration
Three zones, two policies: inside may start sessions out; outside may only answer them.
show policy-map type inspect zone-pair sessions show zone security ! verify: outbound sessions tracked, inbound-only attempts dropped
Practice
- What is the key advantage of stateful over stateless filtering?
- Which zones would a public web server live in?
- Write the zone-pair that allows INSIDE to initiate toward OUTSIDE.
- What is the main weakness of signature-based detection?
Answer key and troubleshooting notes
Stateful filtering tracks sessions, so it can admit replies while blocking externally initiated connections. Public servers belong in the DMZ. The zone-pair command is zone-pair security IN-TO-OUT source INSIDE destination OUTSIDE with an inspect policy. Signatures miss anything not yet cataloged.
Quick questions
1. How does a stateful firewall block a spoofed ACK?
The ACK must belong to a connection in the state table; a spoofed ACK with no matching session is dropped, where a stateless filter might admit it.
2. Why is the DMZ separate from the LAN?
If a public server is compromised, the attacker reaches only the DMZ — the internal network stays behind another firewall boundary.
Wrap Up
Firewalls draw the lines, stateful tables remember the conversations, and IDS watches for what slips through.
Module 6 · Automation and Programmability
SDN and the Control/Data Plane Split
By the end of this session, you can:
- Explain the control/data plane split.
- Describe the SDN controller and its APIs.
- Identify SDN use cases in production.
Sources: Kurose & Ross §4.4, 5.1 · ENCOR Ch 27
Theory
A traditional router couples two jobs: forwarding (data plane — move packets) and routing (control plane — decide paths). SDN separates them. Switches become simple match-action forwarders, and a logically centralized controller computes the forwarding tables and pushes them down.
One brain, many hands — the controller computes, the switches execute.
The controller acts as a network operating system: a communication layer to devices, a state layer holding topology and flows, and an interface layer for applications. Production examples: Google's B4 WAN (near 70% utilization with OpenFlow), Microsoft SWAN, and Cisco SD-Access for campus fabric.
Demonstration
Walk a link failure the SDN way:
- The switch notices the port down and sends a Port-status message to the controller.
- The controller updates its topology map.
- The routing application is notified, recomputes paths, and the controller installs new flow entries into the affected switches.
In a traditional network every router would independently recompute and gossip — SDN does it once, centrally, in milliseconds.
Practice
- What problem does the control/data plane split solve?
- Name the two APIs a controller exposes and what each talks to.
- Give one real-world SDN deployment.
- What happens in the data plane when the controller is unreachable?
Answer key and troubleshooting notes
It makes the network programmable and centrally managed instead of distributed per-box logic. Northbound serves applications; southbound programs devices. Google B4, SWAN, and SD-Access are production SDN. Switches keep forwarding with the last installed entries — the network degrades gracefully rather than stopping.
Quick questions
1. What does 'logically centralized' mean?
The controller presents one point of control, but it is implemented across replicated servers for scale and fault tolerance.
2. Why does SDN speed up innovation?
New behavior is software in the controller and apps, not firmware in every box — features ship without touching the devices.
Wrap Up
SDN moves the brains out of the box and into software — the network becomes programmable.
OpenFlow and Match-Action Forwarding
By the end of this session, you can:
- Explain match-plus-action forwarding.
- List OpenFlow match fields.
- Read a flow-table entry.
Sources: Kurose & Ross §5.5 · ENCOR Ch 28
Theory
Generalized forwarding replaces "match destination IP" with match-plus-action: a flow entry matches many header fields at once and applies actions — forward, drop, rewrite fields, or send to the controller. OpenFlow 1.0 defines the match fields:
Match fields: ingress port, source/destination MAC, Ethernet type, VLAN ID, VLAN priority, source/destination IP, IP protocol, IP ToS, TCP/UDP source and destination ports Actions: forward to port(s), drop, modify header fields, send to controller
s1: IngressPort=1, IPSrc=10.3.*.*, IPDst=10.2.*.* → Forward(4) s2: IngressPort=3, IPDst=10.1.*.* → Forward(2) ! load balance path A s2: IngressPort=4, IPDst=10.1.*.* → Forward(1) ! load balance path B s2: IPSrc=10.3.*.* → (drop) ! a firewall rule as a flow
Entries support wildcards and priorities — the highest-priority match wins. Packets matching nothing trigger a packet-in to the controller, which decides and can install a new entry.
Demonstration
One table replaces a dozen per-protocol decisions — the same entry can be a route, a load-balancer rule, or a firewall rule.
Re-read the s2 entries above: the same switch does destination-based forwarding, load balancing, and firewalling at once — impossible with a classic forwarding table.
Practice
- Which fields does OpenFlow 1.0 match on?
- What action turns a flow entry into a firewall rule?
- What happens to a packet that matches no entry?
- Why do flow entries need priorities?
Answer key and troubleshooting notes
Ports, MACs, EtherType, VLAN, IPs, protocol, ToS, and TCP/UDP ports. An entry with no forward action (drop) is the firewall rule. Unmatched packets go to the controller via packet-in. Priorities resolve overlapping wildcard matches.
Quick questions
1. How is OpenFlow forwarding different from destination-based forwarding?
It can match on any combination of header fields and apply many action types — load balancing and firewalling become entries in the same table.
2. What is a packet-in message?
The switch sends a packet it cannot match to the controller, which inspects it and replies with a decision — often installing a new flow entry.
Wrap Up
One flow table, many jobs — matching fields and actions turn switches into programmable policy engines.
Data Formats
By the end of this session, you can:
- Read and write JSON, XML, and YAML.
- Choose the right format for the job.
- Model one configuration in all three formats.
Sources: ENCOR Ch 28
Theory
Automation speaks in structured text. The three formats you will meet: JSON (REST APIs and device data — compact, strict), XML (NETCONF and document-centric protocols — verbose, schema-driven), and YAML (Ansible and human-written configs — indentation-sensitive, readable).
The same interface in three formats:
JSON
{ "interface": "GigabitEthernet0/0",
"description": "Uplink to HQ",
"enabled": true }
XML
<interface>
<name>GigabitEthernet0/0</name>
<description>Uplink to HQ</description>
<enabled>true</enabled>
</interface>
YAML
interface: GigabitEthernet0/0
description: Uplink to HQ
enabled: true- JSON: no comments, double quotes required, ends with brackets/braces — the lingua franca of REST.
- XML: opening and closing tags, attributes, namespaces — the language of NETCONF.
- YAML: indentation defines structure — no tabs, and a wrong indent changes the whole document. Ansible playbooks are YAML.
Demonstration
Parse one value in each format mentally:
JSON: data["interface"] → GigabitEthernet0/0
XML: root.find("interface/name").text → GigabitEthernet0/0
YAML: parsed["interface"] → GigabitEthernet0/0The rule of thumb: machines exchanging data prefer JSON; NETCONF and enterprise documents use XML; humans writing automation prefer YAML.
Practice
- Write the interface example in JSON.
- Write it again in YAML.
- Which format does NETCONF use, and which does Ansible use?
- Why must YAML never mix tabs and spaces?
Answer key and troubleshooting notes
NETCONF uses XML; Ansible uses YAML. YAML treats indentation as structure, so tabs and spaces disagree and the parser sees a different document than you do.
Quick questions
1. Why do REST APIs prefer JSON?
It is compact, maps directly to objects in every language, and parses with a single call — ideal for high-frequency data exchange.
2. What is one JSON limitation compared to YAML?
JSON has no comments, so configuration intent must be documented elsewhere — YAML allows them.
Wrap Up
JSON for APIs, XML for NETCONF, YAML for people — read all three fluently.
REST APIs for Network Devices
By the end of this session, you can:
- Explain REST verbs and status codes.
- Compare RESTCONF and NETCONF.
- Issue a GET and a PATCH against a device.
Sources: ENCOR Ch 28
Theory
REST treats everything as a resource addressed by a URL. The verbs: GET read, POST create, PUT replace, PATCH partial update, DELETE remove. Status codes tell the story: 200 OK, 201 Created, 204 No Content, 400 Bad Request, 401 Unauthorized, 404 Not Found.
RESTCONF is REST over the device's YANG datastores (HTTPS, /restconf/data/…); NETCONF is XML-RPC over SSH (port 830). Same YANG models, two transport styles.
! Read all interfaces
GET https://r1/restconf/data/ietf-interfaces:interfaces
→ 200 OK + JSON body
! Disable one interface
PATCH /restconf/data/ietf-interfaces:interfaces/interface=GigabitEthernet0%2F0
Content-Type: application/yang-data+json
{ "ietf-interfaces:interface": { "enabled": false } }
→ 204 No ContentNotice the URL-encoding: the slash inside the interface name becomes %2F. The YANG model defines exactly which paths exist — the API and the data model are the same tree.
Demonstration
! With curl:
curl -k -u admin:pass \
https://r1/restconf/data/ietf-interfaces:interfaces | python -m json.tool
! The response mirrors the YANG tree:
{ "ietf-interfaces:interfaces": {
"interface": [
{ "name": "GigabitEthernet0/0", "enabled": true, ... }
] } }Change enabled to false, re-run the GET, and watch the running configuration change — the same operation a human would type at the CLI, done as data.
Practice
- Which verb reads a resource, and which partially updates it?
- What does a 204 status mean?
- How do RESTCONF and NETCONF differ in transport?
- Why does the interface name need %2F in the URL?
Answer key and troubleshooting notes
GET reads, PATCH partially updates. 204 = success with no body returned. RESTCONF is REST over HTTPS; NETCONF is XML-RPC over SSH. %2F URL-encodes the slash in the interface name so the path stays unambiguous.
Quick questions
1. What role do YANG models play in the API?
They define the exact resource paths and fields — the API is a projection of the model, so every GET and PATCH is validated against it.
2. Why return 204 instead of 200 for an update?
There is nothing to send back — the operation succeeded and the client already knows what it sent.
Wrap Up
The device is a data store with an HTTP front door — GET reads it, PATCH changes it.
Python for Network Automation
By the end of this session, you can:
- Use requests to query a device API.
- Parse JSON responses.
- Write a small script that reads interface state.
Sources: ENCOR Ch 28
Theory
Python is the default language of network automation. The pattern is always the same: authenticate, request data, parse JSON, act on it.
import requests
url = "https://r1/restconf/data/ietf-interfaces:interfaces"
response = requests.get(url, auth=("admin", "pass"), verify=False)
response.raise_for_status() # fail loudly on HTTP errors
interfaces = response.json()["ietf-interfaces:interfaces"]["interface"]
for intf in interfaces:
name = intf["name"]
state = intf.get("enabled", "unknown")
print(f"{name}: enabled={state}")Output: GigabitEthernet0/0: enabled=True GigabitEthernet0/1: enabled=False GigabitEthernet0/2: enabled=True
- raise_for_status() — never let a 401 or 404 pass silently.
- .json() — the body becomes nested dicts and lists.
- Secrets: keep them in environment variables or a vault, never hard-coded in scripts.
Demonstration
Extend the script to collect just the disabled interfaces and print a one-line report. Then make it configurable:
import os
USER = os.environ["DEVICE_USER"]
PASS = os.environ["DEVICE_PASS"]
DEVICE = os.environ.get("DEVICE", "r1")
# ...same logic, no secrets in the fileThis is the seed of every automation job you will ever write: read state, decide, change state, verify.
Practice
- What does raise_for_status() protect against?
- How do you access a nested value in a parsed JSON response?
- Write the loop that prints every interface name.
- Where should credentials live?
Answer key and troubleshooting notes
It raises an exception on any HTTP error instead of silently continuing. Nested values are dict lookups: response.json()[key]…. Credentials belong in environment variables or a vault, never in the script.
Quick questions
1. Why is JSON parsing the natural fit for Python?
A JSON object maps directly onto Python dicts and lists, so parsing is one method call and iteration is native syntax.
2. What is the read-state → decide → change → verify loop called in operations?
It is the core automation workflow — sometimes called the intent or desired-state loop: observe, compare against intent, correct, confirm.
Wrap Up
One request, one .json() call, one loop — most network automation is that close.
Ansible and Configuration Management
By the end of this session, you can:
- Explain inventory and playbooks.
- Write a playbook that configures NTP and SSH.
- Explain idempotence.
Sources: ENCOR Ch 29
Theory
Ansible manages many devices from one control node — no agents needed, just SSH. Two files do the work: the inventory (which devices) and the playbook (what to do, as YAML tasks using modules like cisco.ios.ios_config).
# inventory.yml
all:
hosts:
sw1: { ansible_host: 10.1.1.11 }
sw2: { ansible_host: 10.1.1.12 }
# playbook.yml
- name: Baseline NTP and SSH
hosts: all
tasks:
- name: Configure NTP server
cisco.ios.ios_config:
lines:
- ntp server 10.1.1.10
- name: Enable SSH
cisco.ios.ios_config:
lines:
- ip domain name lab.example
- crypto key generate rsa modulus 2048Idempotence is the superpower: run the playbook twice, and the second run changes nothing. Each task reports changed: false when the device already matches the intent — that is how you know state, not just commands, is being managed.
Demonstration
$ ansible-playbook -i inventory.yml playbook.yml TASK [Configure NTP server] *** changed: [sw1] changed: [sw2] TASK [Enable SSH] *** changed: [sw1] changed: [sw2] $ ansible-playbook -i inventory.yml playbook.yml ! again TASK [Configure NTP server] *** ok: [sw1] ! changed: false ok: [sw2]
The first run configures; the second proves the config sticks. That ok/changed difference is the whole philosophy of configuration management.
Practice
- Which two files does an Ansible project start with?
- Write a task that configures a banner on all switches.
- What does 'changed: false' mean on a re-run?
- Why does Ansible need no agent on the device?
Answer key and troubleshooting notes
Inventory and playbook. The banner task uses cisco.ios.ios_config with the banner lines. changed: false means the device already matched the desired state. Ansible connects over SSH and runs modules remotely — nothing is installed.
Quick questions
1. What is the difference between a command script and a playbook?
A script says 'run these commands'; a playbook says 'the device should look like this' — modules check state first and only change what differs.
2. Why does idempotence matter in production?
Re-runs are safe, drift is detectable, and the same playbook works for initial setup and for repair — the target state is the source of truth.
Wrap Up
Describe the end state, not the keystrokes — Ansible makes every device converge on intent.
Module 7 · Capstone and Troubleshooting
Troubleshooting Methodology
By the end of this session, you can:
- Apply a layered troubleshooting approach.
- Use the symptom → cause → fix → verify loop.
- Explain change control and documentation.
Sources: Odom Vol 2, Ch 20
Theory
A method beats guessing. Start with the symptom, not with a theory: what works, what does not, and since when? Then pick a direction — top-down for application problems, bottom-up for cabling problems, and divide-and-conquer for routing problems. Test exactly one hypothesis at a time, and always verify.
1. Define the problem — what works, what doesn't, since when?
2. Gather evidence — show ip route, show interfaces, ping,
traceroute, logs
3. Form ONE hypothesis — one likely cause, not a list
4. Test it — change ONE thing
5. Verify + record — symptom gone? write down cause + fixIf the verification fails, the loop starts again — with better evidence this time.
Production changes need change control: back up the config, work in a maintenance window, have a rollback plan, and log the change. The fix log you keep becomes your personal debugging reference for the next incident.
Demonstration
Work a real example: a branch PC cannot reach a server at HQ.
ping 10.2.2.10 ! fails show ip route 10.2.2.10 ! no route → hypothesis: routing show ip route ! default present? static missing? ip route 10.2.2.0 255.255.255.0 10.1.1.2 ping 10.2.2.10 ! works → verified ! Log: missing static route on branch router. Fixed + saved.
Notice what was not done: no reboots, no guessing at cables, no changing five things at once. One hypothesis, one change, one verification.
Practice
- What is the first step in any troubleshooting session?
- When would you troubleshoot bottom-up instead of top-down?
- Why test only one hypothesis at a time?
- What belongs in a change record?
Answer key and troubleshooting notes
Define the symptom precisely. Bottom-up suits physical/link symptoms (no link, CRC errors); top-down suits application symptoms. One change at a time isolates cause and effect. The record holds the symptom, evidence, change, verification, and rollback plan.
Quick questions
1. Why is evidence gathering before hypothesizing?
The evidence narrows the space of causes — a missing route points to the control plane, CRC errors point to the cable. Guessing first wastes changes and adds new variables.
2. What makes a verification convincing?
The original failing test now passes, and a second test confirms the fix did not break something else.
Wrap Up
Slow is smooth: define, gather, hypothesize once, change once, verify — then write it down.
A Day in the Life of a Web Request
By the end of this session, you can:
- Trace DHCP, ARP, DNS, TCP, and HTTP in order.
- Identify the addresses used at each step.
- Explain how the seven modules connect into one flow.
Sources: Kurose & Ross §6.7
Theory
Every module of this course fires in the first seconds of opening a web page. Before the browser even starts, DHCP hands out the four settings (DORA over broadcast). Then ARP finds the gateway's MAC. DNS resolves the name (UDP 53). TCP opens the connection (SYN → SYNACK → ACK), and HTTP (inside TLS for HTTPS) requests the page. At every hop the frame is rewrapped — destination MAC changes per link while the IP addresses stay constant end to end.
One URL, five protocols, dozens of frames — and each one follows the rules from this course.
Demonstration
DHCP: 0.0.0.0 → 255.255.255.255 (discover, offer, request, ack)
now: 192.168.10.10/24 · gw .1 · dns 8.8.8.8
ARP: who has 192.168.10.1? → gateway replies with its MAC
DNS: 192.168.10.10 → 8.8.8.8 :53 (A record answer)
TCP: SYN → SYNACK → ACK (dest 93.184.216.34 :443)
HTTP: GET / → 200 OK (TLS records around it)
Frame at each hop:
PC→SW: dst MAC = gateway (learning on the switch)
SW→R: same frame, next port
R→ISP: new frame, dst MAC = ISP router — IP never changesOpen a browser with the F12 Network tab while pinging — or use Packet Tracer Simulation mode to step through the exact frames. You should be able to name every protocol in the capture now.
Practice
- What does DHCP provide before anything else can happen?
- Why does the first ping sometimes time out?
- Which protocol resolves the server name, and over which port?
- Which addresses change at each hop, and which stay constant?
Answer key and troubleshooting notes
DHCP provides the address, mask, gateway, and DNS. The first ping may drop while ARP resolves the neighbor MAC. DNS resolves the name over UDP 53. MAC addresses change per hop; the source and destination IP stay constant end to end.
Quick questions
1. Where does the TLS handshake fit in this sequence?
Between TCP establishment and the HTTP request — the client sends ClientHello, verifies the certificate, and both sides derive session keys before any page data flows.
2. Which module of this course owns each step?
DHCP/DNS are IP Services; ARP and switching are Network Access; the TCP handshake and routing are Connectivity; TLS and the certificate chain are Security.
Wrap Up
One page load is the whole course in action — if you can narrate it, you understand the network.
Final Lab: Multi-Site Enterprise Network
By the end of this session, you can:
- Design a two-site enterprise topology.
- Configure VLANs, trunks, STP, OSPF, HSRP, NAT, ACLs, and SSH.
- Break and fix the network with evidence.
Sources: Odom Vol 2, Ch 20 · ENCOR Ch 30
Theory
The capstone ties every module together. Build a small enterprise: an HQ site with redundant routers and switches, a branch site, and an internet edge. Everything you have practiced appears in one topology.
HQ:
SW-HQ — VLANs 10 (users) + 20 (servers), trunk + EtherChannel
Rapid PVST+, SW-HQ as primary root
R-HQ1 / R-HQ2 — OSPF area 0, HSRP group 1 (virtual 192.168.10.1)
Branch:
SW-BR — VLAN 10, PortFast + BPDU Guard
R-BR — OSPF + default route + PAT to the internet
WAN link: 10.255.255.0/30 between R-HQ1 and R-BR
Internet: R-HQ1 egress with PAT + extended ACL 101
Security: SSH on all devices, ACLs on the edge, port security on access portsPlan before you configure: draw the topology, choose the addressing scheme (one subnet per VLAN, /30 for the WAN), and write the verification list first — that list is your rubric.
Demonstration
Build order and the evidence for each step:
1. VLANs + access ports → show vlan brief 2. Trunk + EtherChannel → show interfaces trunk, show etherchannel summary 3. STP → show spanning-tree root 4. OSPF → show ip ospf neighbor (FULL), show ip route 5. HSRP → show standby (Active + Standby) 6. PAT → show ip nat translations 7. ACLs → show access-lists (matches counting up) 8. SSH → ssh from one device to another 9. End-to-end pings → PC-HQ ↔ PC-BR, both sites ↔ internet
Then the real exercise: break it. Disable the trunk, change a VLAN, kill HSRP priority, remove the default route — one fault at a time, each fixed with the methodology from Session 47 and recorded with the evidence commands.
Practice
- Draw the topology with every subnet and VLAN labeled.
- Configure the full HQ site and verify each of the nine evidence points.
- From the branch, fail the WAN link and restore it — record your fix.
- Pass the rubric: explain which module each configuration belongs to and why.
Answer key and troubleshooting notes
Verification is the deliverable: the nine show commands above, a full ping matrix between every subnet, and a break/fix log listing symptom, cause, change, and verification for each fault you introduced and repaired.
Quick questions
1. Why does HSRP belong on the HQ LAN but not on the WAN link?
Endpoints need a redundant gateway on the LAN. The WAN link between routers runs OSPF — routing handles its failover, so a first-hop protocol is unnecessary there.
2. What is the point of the break/fix phase?
Certification exams and real outages are troubleshooting tests. Building proves you can configure; breaking and fixing proves you understand.
Wrap Up
Every module in one topology — if you can build it, break it, and defend your fixes, you own the fundamentals.
Study Plan
Do not book the exam until the practice scores say you are ready. Follow this sequence, and schedule the test only when you pass the final gate.
- Read the exam topics first — the official topic list is the contract the exam follows. Print it and check items off as you complete them.
- Theory pass — work through the sessions in order. Each session lists its sources: read the Kurose & Ross chapter for the concepts and the official guide chapters for exam depth.
- Daily labs — rebuild every topology in Packet Tracer without the answer key. Break it, fix it, verify it.
- Make subnetting automatic — /24 through /30 masks, block sizes, and usable ranges in seconds, no calculator.
- CLI muscle memory — config modes, show commands, and saving the configuration should need no thinking.
- Flashcards — ports, cable types, administrative distances, and timers (Anki works well).
- Practice exams — only after the content is done. Review every wrong answer against its source chapter.
- Book the exam — when you score 85% or higher on three practice exams in a row, pick a date three to four weeks out and book it. Final weeks: weak areas only, plus full timed runs.
Rule of thumb: the deadline keeps you honest, but never book before the practice scores justify it. A retake costs more than waiting.
Learning Resources
The complete study stack for this track — the official certification guides, the textbook this course builds on, labs, videos, practice exams, and study tools.
Official books
- CCNA 200-301 Official Cert Guide, Volume 1 & 2 (2nd Edition) — Wendell Odom, David Hucaby, Jason Gooley — the official two-volume guide for the associate-level exam.
- CCNP and CCIE Enterprise Core ENCOR 350-401 Official Cert Guide (2nd Edition) — Brad Edgeworth, Ramiro Garza Rios, David Hucaby, Jason Gooley — the official core guide for the professional-level exam.
- CCNP Enterprise Core ENCOR + Advanced Routing (ENARSI) Library — The ENCOR guide plus the advanced routing concentration guide in one bundle.
- Computer Networking: A Top-Down Approach (8th Edition) — Kurose & Ross — the theory textbook this course builds on. The Sources line in each session references its chapters.
Official platforms
- Cisco Networking Academy — Official courses and the free Packet Tracer simulator.
- Cisco U. — Official guided learning paths, labs, and practice exams.
- Cisco Learning Network — The official community for study groups and exam discussions.
Labs and simulators
- Packet Tracer — Free simulator — enough for the foundation and network access labs in this course.
- Cisco Modeling Labs (CML) — Real IOS images for the advanced modules; the Personal edition is a paid 20-node license.
- GNS3 — Free alternative for running emulated routers and switches.
Free video courses
- Jeremy's IT Lab — The best free structured video course, with flashcards and labs.
- David Bombal — Long-form labs and walkthroughs.
- Kevin Wallace (kwtrain) — Clear explainers and deep dives.
Practice exams
- Boson ExSim — The most realistic practice exams; aim for 85%+ before booking.
- Official practice exams — Available on Cisco U. — closest to the real question style.
Study tools
- CCNA 200-301 exam topics (PDF) — The official topic list — the contract the exam follows.
- ENCOR 350-401 exam information — The official page for the professional-level core exam.
- Anki — Free spaced-repetition flashcards for ports, timers, and trivia.