<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url><loc>https://networkingfromscratch.vercel.app/</loc><changefreq>weekly</changefreq><priority>1.0</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/catalog.html</loc><changefreq>weekly</changefreq><priority>0.8</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/roadmap.html</loc><changefreq>weekly</changefreq><priority>0.8</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/glossary.html</loc><changefreq>weekly</changefreq><priority>0.8</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/01-bits-and-wires/01-what-is-a-network/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/01-bits-and-wires/02-bits-bytes-endianness/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/01-bits-and-wires/03-hex-dumps-and-the-binary-mind/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/01-bits-and-wires/04-bit-fields-and-packed-structs/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/01-bits-and-wires/05-manchester-nrz-4b5b-encodings/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/01-bits-and-wires/06-modulation-in-90-seconds/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/01-bits-and-wires/07-channel-capacity-nyquist-shannon/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/01-bits-and-wires/08-errors-and-crcs-crc-81632/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/01-bits-and-wires/09-forward-error-correction-hamming-74/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/01-bits-and-wires/10-framing-byte-stuffing-bit-stuffing/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/01-bits-and-wires/11-whats-actually-on-the-wire/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/01-bits-and-wires/12-capstone-a-virtual-wire/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/02-link-layer/01-ethernet-ii-frame-layout/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/02-link-layer/02-mac-addresses-and-oui/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/02-link-layer/03-raw-sockets-on-linux-afpacket/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/02-link-layer/04-tun-vs-tap-devices/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/02-link-layer/05-send-your-first-frame/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/02-link-layer/06-arp-request-reply/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/02-link-layer/07-the-arp-cache/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/02-link-layer/08-vlans-8021q/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/02-link-layer/09-spanning-tree-stp-intuition/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/02-link-layer/10-switching-tables-and-mac-learning/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/02-link-layer/11-promiscuous-mode/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/02-link-layer/12-pcap-file-format/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/02-link-layer/13-ethernet-jumbo-frames-and-mtu/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/02-link-layer/14-wake-on-lan/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/02-link-layer/15-ppp-and-slip-briefly/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/02-link-layer/16-80211-frame-types/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/02-link-layer/17-bridges-in-linux/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/02-link-layer/18-capstone-a-tiny-l2-switch/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/03-network-layer/01-the-ipv4-header-rfc-791/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/03-network-layer/02-internet-checksum/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/03-network-layer/03-cidr-and-subnetting/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/03-network-layer/04-longest-prefix-match-routing/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/03-network-layer/05-the-routing-table/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/03-network-layer/06-ttl-and-the-traceroute-trick/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/03-network-layer/07-ip-fragmentation/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/03-network-layer/08-path-mtu-discovery-rfc-1191/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/03-network-layer/09-icmpv4-ping-clone/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/03-network-layer/10-minimal-ip-layer-on-tun/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/03-network-layer/11-ip-options/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/03-network-layer/12-ipv6-header-rfc-8200/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/03-network-layer/13-ipv6-addressing/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/03-network-layer/14-ndp-neighbor-discovery/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/03-network-layer/15-slaac/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/03-network-layer/16-dhcpv4-rfc-2131/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/03-network-layer/17-nat-what-really-happens/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/03-network-layer/18-hairpin-nat-and-stun-basics/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/03-network-layer/19-tunneling-ip-in-ip-gre/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/03-network-layer/20-routing-in-linux-fib-and-rtnetlink/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/03-network-layer/21-policy-routing-and-multiple-tables/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/03-network-layer/22-capstone-a-userspace-ip-router/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/04-transport/01-the-transport-layer-job/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/04-transport/02-udp-header-rfc-768/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/04-transport/03-udp-checksum-with-ipv4-pseudo-header/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/04-transport/04-a-udp-echo-server/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/04-transport/05-a-udp-file-transfer-protocol/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/04-transport/06-tcp-the-protocol-rfc-9293/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/04-transport/07-the-tcp-header/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/04-transport/08-tcp-checksum/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/04-transport/09-the-three-way-handshake/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/04-transport/10-the-tcp-state-machine-11-states/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/04-transport/11-tcb-transmission-control-block/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/04-transport/12-sequence-number-arithmetic-mod-2/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/04-transport/13-sliding-window-basics/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/04-transport/14-window-scaling-option-rfc-7323/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/04-transport/15-tcp-options-encoderdecoder/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/04-transport/16-reliable-data-transfer/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/04-transport/17-the-retransmission-timer-rfc-6298/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/04-transport/18-retransmission-queue/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/04-transport/19-selective-acknowledgment-sack/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/04-transport/20-delayed-acks-and-nagles-algorithm/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/04-transport/21-receive-window-and-zero-window-probes/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/04-transport/22-connection-teardown-and-time-wait/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/04-transport/23-time-wait-in-production/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/04-transport/24-slow-start-and-congestion-avoidance/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/04-transport/25-fast-retransmit-and-fast-recovery/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/04-transport/26-tcp-reno/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/04-transport/27-tcp-cubic-rfc-8312/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/04-transport/28-tcp-bbr-with-software-pacing/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/04-transport/29-pluggable-congestion-control/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/04-transport/30-bufferbloat-and-codel/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/04-transport/31-explicit-congestion-notification-ecn/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/04-transport/32-tcp-keepalive/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/04-transport/33-connection-tracking-from-outside/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/04-transport/34-test-our-stack-against-real-curl/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/04-transport/35-quic-overview-rfc-9000/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/04-transport/36-quic-packets-and-frames/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/04-transport/37-quic-streams/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/04-transport/38-quic-connection-migration/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/04-transport/39-quic-congestion-control/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/04-transport/40-capstone-end-to-end-tcp-over-tun/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/05-sockets-io-models/01-the-berkeley-sockets-api/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/05-sockets-io-models/02-address-families/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/05-sockets-io-models/03-getaddrinfo-modern-resolution/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/05-sockets-io-models/04-blocking-vs-nonblocking/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/05-sockets-io-models/05-select-and-poll/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/05-sockets-io-models/06-epoll-edge-vs-level-triggered/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/05-sockets-io-models/07-epoll-multithreadmultiprocess-gotchas/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/05-sockets-io-models/08-unix-domain-sockets/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/05-sockets-io-models/09-non-blocking-connect/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/05-sockets-io-models/10-sendfile-and-splice-zero-copy/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/05-sockets-io-models/11-scattergather-readv-writev/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/05-sockets-io-models/12-iouring-101/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/05-sockets-io-models/13-iouring-for-networking/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/05-sockets-io-models/14-asyncio-in-python/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/05-sockets-io-models/15-multiplexing-patterns/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/05-sockets-io-models/16-capstone-10k-connection-http10-server/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/06-application-protocols/01-dns-message-format-rfc-1035/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/06-application-protocols/02-a-dns-resolver-from-scratch/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/06-application-protocols/03-authoritative-dns-server/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/06-application-protocols/04-dns-over-udp-then-tcp/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/06-application-protocols/05-edns0-rfc-6891/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/06-application-protocols/06-dot-and-doh/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/06-application-protocols/07-mdns-and-dns-sd/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/06-application-protocols/08-http10-and-http11-parser/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/06-application-protocols/09-a-toy-http-server-in-c/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/06-application-protocols/10-persistent-connections-and-pipelining/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/06-application-protocols/11-chunked-transfer-encoding/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/06-application-protocols/12-http2-binary-framing/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/06-application-protocols/13-hpack-header-compression/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/06-application-protocols/14-http2-stream-prioritization/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/06-application-protocols/15-http3-over-quic/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/06-application-protocols/16-websocket-rfc-6455/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/06-application-protocols/17-ssh-structurally/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/06-application-protocols/18-smtp-imap-pop3-quick-tour/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/06-application-protocols/19-ftp-active-vs-passive/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/06-application-protocols/20-ntp-and-sntp-client/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/06-application-protocols/21-syslog-rfc-5424/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/06-application-protocols/22-mqtt-50-client/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/06-application-protocols/23-coap-for-iot/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/06-application-protocols/24-grpc-http2-protobuf/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/06-application-protocols/25-http11-with-virtual-hosts/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/06-application-protocols/26-capstone-http-connect-proxy/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/06-application-protocols/27-url-encoding-mime-types/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/06-application-protocols/28-cookies-and-session-management/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/07-tls/01-five-primitives-in-30-minutes/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/07-tls/02-aes-128-gcm-by-hand/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/07-tls/03-hmac-and-hkdf/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/07-tls/04-diffie-hellman-then-x25519/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/07-tls/05-digital-signatures-rsa-pss-ed25519/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/07-tls/06-x509-certificate-parser/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/07-tls/07-the-tls-record-layer/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/07-tls/08-tls-13-clienthello-byte-by-byte/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/07-tls/09-serverhello-and-the-key-schedule/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/07-tls/10-encryptedextensions-through-finished/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/07-tls/11-0-rtt-and-psk-resumption/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/07-tls/12-tls-13-client-to-fetch-cloudflarecom/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/07-tls/13-mtls-with-client-certificates/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/07-tls/14-cipher-suite-selection-in-2026/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/07-tls/15-tls-in-the-kernel-ktls/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/07-tls/16-capstone-minimal-https-server/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/08-userspace-stack/01-project-skeleton/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/08-userspace-stack/02-the-main-loop-tunread-dispatch/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/08-userspace-stack/03-l2l3-plumbing/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/08-userspace-stack/04-sockets-compatibility-shim-ldpreload/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/08-userspace-stack/05-run-curl-through-it/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/08-userspace-stack/06-robustness-pass-with-afl-fuzzing/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/08-userspace-stack/07-performance-pass-with-perf/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/08-userspace-stack/08-tls-layer-on-top/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/08-userspace-stack/09-http2-on-top/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/08-userspace-stack/10-multi-connection-load-test-wrk-c-100/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/08-userspace-stack/11-document-the-stack-with-doxygen/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/08-userspace-stack/12-capstone-ship-lvl-ip-rebuilt/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/09-kernel-internals/01-booting-a-development-kernel-virtme-ng/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/09-kernel-internals/02-loadable-kernel-modules-hello-world/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/09-kernel-internals/03-the-skbuff-head-data-tail-end/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/09-kernel-internals/04-napiallocskb-and-the-pagepool/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/09-kernel-internals/05-napi-schedule-poll-complete/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/09-kernel-internals/06-receive-path-end-to-end/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/09-kernel-internals/07-gro-generic-receive-offload/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/09-kernel-internals/08-rps-rfs-rss-receive-packet-steering/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/09-kernel-internals/09-send-path-end-to-end/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/09-kernel-internals/10-qdisc-and-traffic-control/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/09-kernel-internals/11-netfilter-hooks-a-logging-firewall-lkm/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/09-kernel-internals/12-iptables-vs-nftables/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/09-kernel-internals/13-conntrack-connection-tracking-table/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/09-kernel-internals/14-network-namespaces/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/09-kernel-internals/15-veth-pairs/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/09-kernel-internals/16-linux-bridges/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/09-kernel-internals/17-network-device-drivers-a-virtual-nic/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/09-kernel-internals/18-afpacket-tpacketv3/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/09-kernel-internals/19-gsotsolro-offloads/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/09-kernel-internals/20-procnetsnmp-prometheus-exporter/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/09-kernel-internals/21-procnetsoftnetstat-reader/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/09-kernel-internals/22-ethtool-tuning-script/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/09-kernel-internals/23-building-a-netfilter-lkm/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/09-kernel-internals/24-capstone-1-packet-loss-injection-lkm/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/10-ebpf-xdp/01-what-is-ebpf-verifier-jit/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/10-ebpf-xdp/02-map-types-array-hash-lru-ring/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/10-ebpf-xdp/03-co-re-btf-and-bpfcoreread/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/10-ebpf-xdp/04-xdp-basics-pass-drop-tx-redirect/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/10-ebpf-xdp/05-an-xdp-load-balancer-200-loc/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/10-ebpf-xdp/06-afxdp-userspace-mapped-rings/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/10-ebpf-xdp/07-tc-ebpf-programs/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/10-ebpf-xdp/08-kprobes-and-tracepoints-with-ebpf/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/10-ebpf-xdp/09-bpftrace-one-liners-20-useful/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/10-ebpf-xdp/10-bcc-tools-tcpconnect-tcpretrans/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/10-ebpf-xdp/11-dpdk-overview-hugepages-eal-mbuf/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/10-ebpf-xdp/12-a-dpdk-l2fwd-application/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/10-ebpf-xdp/13-dpdk-ring-buffer-lockless-spsc/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/10-ebpf-xdp/14-afpacket-vs-afxdp-vs-dpdk/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/10-ebpf-xdp/15-ebpf-for-security-lsmbpf/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/10-ebpf-xdp/16-ebpf-for-service-mesh-cilium-preview/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/10-ebpf-xdp/17-capstone-xdp-ddos-scrubber/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/10-ebpf-xdp/18-capstone-afxdp-packet-generator/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/11-perf-and-observability/01-the-four-golden-signals-for-networks/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/11-perf-and-observability/02-tcpdump-as-a-debugger/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/11-perf-and-observability/03-wireshark-dissectors-in-lua/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/11-perf-and-observability/04-perf-for-network-analysis/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/11-perf-and-observability/05-flame-graphs-of-the-network-stack/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/11-perf-and-observability/06-irq-affinity-and-numa/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/11-perf-and-observability/07-cpu-isolation-isolcpus-nohzfull/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/11-perf-and-observability/08-nic-tuning-rings-coalescing-rss/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/11-perf-and-observability/09-buffer-bloat-diagnosis-with-flent/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/11-perf-and-observability/10-latency-histograms-hdrhistogram/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/11-perf-and-observability/11-tracing-a-slow-request-end-to-end/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/11-perf-and-observability/12-production-network-war-stories/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/11-perf-and-observability/13-latency-budget-for-an-rpc/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/11-perf-and-observability/14-capstone-an-observability-stack/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/12-routing/01-control-vs-data-plane/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/12-routing/02-distance-vector-vs-link-state-rip-ospf/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/12-routing/03-ospf-basics-hello-dbd-lsr-lsu/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/12-routing/04-dijkstras-algorithm-on-the-lsdb/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/12-routing/05-a-toy-ospf-speaker-on-mininet/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/12-routing/06-bgp-basics-open-update-keepalive/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/12-routing/07-bgp-path-selection-algorithm/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/12-routing/08-a-toy-bgp-speaker/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/12-routing/09-route-reflectors-and-confederations/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/12-routing/10-mpls-in-30-minutes/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/12-routing/11-anycast-how-dns-root-servers-work/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/12-routing/12-ecmp-and-flow-hash-stability/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/12-routing/13-sdn-intuition-openflow-p4/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/12-routing/14-mininet-10-router-topology/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/12-routing/15-capstone-a-bgp-route-reflector/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/12-routing/16-capstone-an-ospf-area-0-simulator/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/13-overlays-and-containers/01-the-container-networking-model/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/13-overlays-and-containers/02-network-namespaces-refresher/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/13-overlays-and-containers/03-veth-pairs-and-bridges-end-to-end/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/13-overlays-and-containers/04-nat-for-outbound-masquerade/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/13-overlays-and-containers/05-cni-specification-add-del-check/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/13-overlays-and-containers/06-a-bridge-cni-in-python/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/13-overlays-and-containers/07-vxlan-on-linux-udp4789/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/13-overlays-and-containers/08-vxlan-multicast-vs-unicast-fdb/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/13-overlays-and-containers/09-gre-and-ip-in-ip-tunnels/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/13-overlays-and-containers/10-wireguard-structurally/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/13-overlays-and-containers/11-calico-and-flannel-conceptually/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/13-overlays-and-containers/12-cilium-ebpf-native-cni/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/13-overlays-and-containers/13-kube-proxy-modes-iptables-ipvs-ebpf/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/13-overlays-and-containers/14-service-ips-and-dnat/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/13-overlays-and-containers/15-networkpolicy-default-deny/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/13-overlays-and-containers/16-capstone-a-tiny-cni-plugin/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/14-service-mesh/01-what-is-a-service-mesh/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/14-service-mesh/02-envoy-at-a-glance-listeners-clusters/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/14-service-mesh/03-xds-api-a-minimal-ldscdsrds-server/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/14-service-mesh/04-mtls-in-the-mesh-spiffespire/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/14-service-mesh/05-sidecar-injection-via-webhook/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/14-service-mesh/06-ambient-meshes-istio-ambient/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/14-service-mesh/07-cilium-service-mesh-with-ebpf/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/14-service-mesh/08-linkerds-design-choices/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/14-service-mesh/09-opentelemetry-context-propagation/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/14-service-mesh/10-l7-authorization-with-jwt/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/14-service-mesh/11-edge-proxies-cloudflare-workers-model/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/14-service-mesh/12-capstone-200-line-l7-proxy-with-mtls/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/15-dds-robotics-bonus/01-why-dds-for-robotics/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/15-dds-robotics-bonus/02-the-dds-family-of-omg-specs/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/15-dds-robotics-bonus/03-the-four-pim-modules-of-rtps/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/15-dds-robotics-bonus/04-the-rtps-guid-16-bytes/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/15-dds-robotics-bonus/05-cdr-common-data-representation/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/15-dds-robotics-bonus/06-the-rtps-header/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/15-dds-robotics-bonus/07-rtps-submessages-12-types/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/15-dds-robotics-bonus/08-default-udp-port-formula/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/15-dds-robotics-bonus/09-spdp-participant-discovery/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/15-dds-robotics-bonus/10-sedp-endpoint-discovery/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/15-dds-robotics-bonus/11-the-reliability-state-machine/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/15-dds-robotics-bonus/12-fragmentation-datafrag-nackfrag/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/15-dds-robotics-bonus/13-dds-qos-policies-22-standard/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/15-dds-robotics-bonus/14-qos-matching-requested-vs-offered/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/15-dds-robotics-bonus/15-capstone-tiny-dds-interop-with-cyclone/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/15-dds-robotics-bonus/16-reading-the-cyclone-dds-source-tree/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/15-dds-robotics-bonus/17-idl-and-idlc-code-generation/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/15-dds-robotics-bonus/18-ros-2-rmw-rmwh-abstraction/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/15-dds-robotics-bonus/19-the-default-rmw-rmwfastrtpscpp/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/15-dds-robotics-bonus/20-rosidl-type-support-generators/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/15-dds-robotics-bonus/21-real-time-linux-preemptrt/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/15-dds-robotics-bonus/22-real-time-schedulers-schedfifo-deadline/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/15-dds-robotics-bonus/23-shared-memory-transports-iceoryx-psmx/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/15-dds-robotics-bonus/24-time-sensitive-networking-8021qbv/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://networkingfromscratch.vercel.app/lessons/15-dds-robotics-bonus/25-capstone-a-robotics-demo-on-preemptrt/</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
</urlset>