So now that we've seen the different layers, let's talk about what headers are. so to encapsulate means to augment data with headers. Right, so when we send data through the internet, we need to encapsulate the packets with headers as well. So the, the messages need to have addresses, and it turns out that each of the layers adds its own message before it goes down to the physical layer and it's actually transmitted right. So up at the application layer we start with with just our, our data and that's called the message. So we've used the term message many times before and lots of times we'll use message just to to note, any one of these and lots of times we use packets. either whether we're talking about the network layer or down at the link layer. but really the message strictly speaking is what's happening at the application layer, so it's the actual, the, the data that you sent right. So you type a message to someone, you hit enter, that's the message, right. Now the message comes down to the transport layer, the transport layer takes that message and converts it to a segment or it may convert only a portion of it. It may actually have to, we call that the payload and the header contains identification and control information. So, we call this L four, it's the It's the layer fore header, what the transport layer is adding, and that becomes the segments. That's message down to a segment, then that gets passed to the network layer, and once it gets passed to the network layer, it becomes a packet with the addition of a layer three header. including IP address, source and destination IP address and things along those sorts, and it still has the layer four header so it's basically taking this and adding another header on top of that to for a packet. Then, the packet goes down and becomes a frame with the addition of the layer two header, for instance including the MAC address, and so this is now a layer two header. Over in here, and the, so the link layer, deals with the layer two header, or frame, and then that goes down to actual transmission. Then, on the other side, when it comes back up the stack each of the devices will process a portion of it as we see in a minute. But then it's going to come back up the stack and it's going to process in the opposite direction. It'll start and go to the link layer which will decode the layer two header, then I'll come up to the network layer which will decode the layer three header. Then after the transport layer, which will do layer four, then all the way up to the application layer when you'll have the data and you'll, and then see their Facebook message on their screen. So, this kind of seems a little redundant, right? Why does every layer have to add their own control information? Well If this is what really is allowing us to distinguish between messages, okay? for instance the Layer three header contains the source and destination IP addresses of the next hop. So you have a Layer three header between each router the Layer three header will say which which router it's going to next, right? So what's the IP address of the next hop in the route and the IP address of the source hop in the routes. another thing to note is that these aren't drawn to scale, I mean it's not, the headers don't take up half of the frames for instance. So but, either way it's still, it's still creating what we call overhead, which is basically saying that not everything that we're sending is actual data. 'Kay, so we need to add more than just the good stuff, so to speak. The data is the, the good stuff what we actually want to read but we need all those control information which creates overhead and the more there is, the more overhead there is so. even if this was the data and you have this portion being so this is the payload over here. Maybe we have this portion being all the header information. This is the payload. it's, it's necessary here. It's necessary with packet switching to have these headers, right? And this is really where one of the crucial differences between packet switching and circuit switching comes into play. With circuit switching, we didn't need to establish any of this at all. And, the reason being that we already have a portion of the network allocated to us, so we distinguish between sessions in a different way. Because we're dedicating the resources to each individual person. Whether it's on frequency, time or different code. That's how we can tell what the sessions are. That's how the receiver knows what it should be listened for. Here we're sharing all the network resources, so we need a different way to do addressing. We need a different way to know that when we send something into the network that the receiver can properly decode and figure out what's for it. And that's the way we do it this way, is through the addition of header information so that the messages can get where they go. It's really again a difference like if you think about sending message through the postal service as opposed to making a call to someone else.