When 2 devices wants to communicate with each other over a network, it does so by constructing packets of data and then sending them to each other. A data packet is basically a structured data (similar to xml), where the actual payload data is nested inside header tags. The header tag’s data contains information to help routing the data packets. These header tags are nested inside other header tags, which in turn are nested inside other header tags.
You can imagine a data packet being similar to a hand written letter (data payload) that is put inside an envelope and an address written on that envelope (packet header, along with it’s information), which in turn is put inside a bigger envelope with another address written on it (another header)….and