So the notion of modularization in that, created what's called the Layered Protocol Stack. And this is an idea of one of them is a five layer stack, it's the 5-layer model of the, really important to note the labeling on the start down at the bottom of layer one. And we'll work our way up layers two, three, four, to five and not the other way around. so this is a 5-layer model, there are 7-layer models for instance the OSI model is a 7-layer and it takes the top layer here actually and extends it up. But, let's look at this model, because it gets the main ideas across. So down at the physical layer, that's really the network medium itself. Right so it's like, fiber, wireless, whatever it happens to be. If it's copper, anything else, the physical transmission of information, as bits, as ones and zeros, digital transmission, that's all down at the Physical layer. Then, we'll look at the Network layer next. The Link layer, we won't concern ourselves with the details of that one too much, but it's more about how we actually get onto the link. It controls access to the networking medium, but you can almost look at those Physical and Link layer for our purposes kind of as one layer. Then the Network layer is really what we looked at last time, this handles routing. And the dominate protocol in the networking layer is IP or Internet Protocols as we saw with IP addresses. So the network layer is where IP addresses are handled. That does hop by hop routing. Then if we go one step above that to the Transport layer, that's going to be our focus in the second portion of this lecture. We look at that's really TCP, also UDP is another protocol there, but mainly TCP is the dominant one that you'll hear. This deals with end to end management, right, and as we've said TCP is the dominant protocol. So, the Network layer does hop by hop routing, and the Transport layer's where, what's actually managing the connections, right? It's managing the end-to-end connections. It's saying that we have one session which is which consists of one user connected to other user. And then out of the top is the Application layer and this is really what we interact with, right. So you know Netflix, Facebook, those are all applications and the dominant protocol there is HTTP, Hyper Text Transfer Protocol. So each layer provides service to the layer above and uses some service in layer below. So that's one of the important points here to see is, for instance, the Transport layer sets up those end to end connections as we've said, right. So we have two users that are connected to one another and a Transport layer is dealing with the end to end connection itself, so, that provides a service to the Application layer, right. Because the Application layer needs things like packet reordering, the session establishment to actually run the application on top of this, for instance if we're talking to each other. we have like two Facebook sessions open and we're each talking to each other over Facebook. The application is you know what we're typing in and the Transport layer is providing end to end connectivity. So, the Application layer is using information from the Transport layer the Transport layer provides information to the Application layer. additionally, the Networking layer will provide information to the Transport layer, and the Transport layer will use service from the Network layer, and so on, all the down the line, although we get, when we get down to the Physical layer, which is just the actual transmission itself. these horizontal lines here, don't get confused, they're, they're actually really complicated objects, and they, they represent limitations of what different layers can do and see. But these, horizontal lines and how you'd define really what layers are allocated and which is not is not an easy task to do because there's a lot of art that goes into designing this. And it's also not a clear-cut division, for instance, error control. There's some amount of error control that goes on really at every layer. So even down at the Physical layer we have some sort of methods of correcting for errors, and all the way up the Application layer we might run some error correction mechanisms as well. And that's, that's not a mistake, right. So it's not that certain functions are not only confined to one layer and the reason for that is robustness. So if maybe my Physical layer technique for detecting errors doesn't get all the errors, well then, maybe I'll put the Networking layer when I'm doing check sum. Or I'm going to have the Transport layer when I'm using my error correction mechanism there, maybe one of them will catch it. So that's the idea, is to have the robustness and some of the functions allocated to multiple layers. [BLANK_AUDIO]