:PROPERTIES:
:ID:       3acffb66-bc1a-4661-904f-c5447b3c3488
:END:
#+title: advanced-networking
#+filetags: :uni:networking:

# Advanced Networking

This module was taught in the first semester of my final year at university. There were a wide range of topics that were covered, and best efforts were made in not talking about the security aspects of networks, although it is the case that when we talk about networks we are talking about secure networks (who even needs insecure networks?).

The following core topics were covered:

1. Lower Layer Protocols
    - Packet vs Circuit Switching, Ethernet, layer models (DoD 4/5, OSI 7).
    - Network Hardware: Switches, Routers, data/control/management plane. Software defined networks.
    - LAN/WAN split, Arpanet, DoD, OSI. Why OSI Failed
    - Link aggregation and VLANs
2. IP Addressing
    - Addressing, routing, concepts. Why IPv6 is needed
    - Address allocation, bootp, DHCP, SLAAC
    - NAT and Proxying
3. TCP/UDP
    - UDP: applications, advantages and disadvantages
    - TCP: applications, advantages and disadvantages, mechanisms and operation, sequence numbers, receive windows, slow start, window scaling, PAWS, timestamping, multipathing
    - Demultiplexing, multiplexing
4. DNS
    - DNS: concepts, resource records, RR sets, basic operation, recursive and authoritative servers, caching, DNSSEC 
5. Higher layer protocols
   - Basic operation of HTTP, FTP, SMTP
