A protocol stack is a set of protocols (agreed upon ways of communicating) that depend on the ones they build upon.
For example, HTTP is a protocol to request webpages from a server, but it doesn’t know about servers or how to get data from them. So it depends on TCP to get that data from servers, but TCP doesn’t know how to set up a connection over the internet, so it depends on IP to handle that. IP can get data, but it cannot guarantee data is all from the same network connection, so it depends on Ethernet to take care of that. But Ethernet doesn’t know which how to ensure no other data gets in the way, so it depends on MAC to handle that.
I might have some details wrong, but the general idea is the same; the stack of HTTP/TCP/IP/Ethernet/MAC helps distribute different tasks in such a way that the higher layers (like HTTP) can make assumptions on the data they need to handle.
On the other side a computer and network handle the same stack in opposite order. So when I request a website, it goes down the stack from HTTP all the way to the MAC (and lower), and all the way up to HTTP on the server/network side, then the HTTP request is handled and a response formatted, this goes down from HTTP on the server side, through the network back to my machine and up to HTTP where the browser can then render the website for me.
Latest Answers