Overview of Networking Activities/Components of IPFS

Hi all, I am currently undertaking a study of IPFS, and I would like to get a better understanding of its networking related components and activities.

After a quick tcpdump and wireshark-ing I see a lot of traffic with various protocols like MDNS, NAT-PMP, SSDP etc. What I would like to know include but not limited to:

  1. Roles of the various networking protocols within IPFS
  2. Are there network activities that only occur at different phases of operation in IPFS

Where would you suggest one to look to get a good high level overview of the network activities within IPFS?

All the low-level networking traffic is handled by the underlying library: libp2p.
A first start would be the docs (https://docs.libp2p.io/concepts/nat/) , I guess?