there are two ways to go for this
-
start at the very bottom and work your way up understanding all the layers, TCP-IP, wireless communication etc
-
start at the top using high end features and libraries and work your way down, peeling the Onion one layer at a time
people with appetite for theory and concepts will go with the first approach, people who are more hands on and like to see some action will prefer the second one.
look at ESP NOW ➜ Getting Started with ESP-NOW (ESP32 with Arduino IDE) | Random Nerd Tutorials