Episode: 351 Title: HPR0351: Network Basics Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr0351/hpr0351.mp3 Transcribed: 2025-10-07 17:02:08 --- Shame on me to find out. Hi everyone, welcome to Hacker Public Radio. My name is Klaatu and this is the first episode in a dedicated series on how a network or how networking works. It is good to be aware that this is all academic knowledge, not experiential. So I'm not that bearded unique sadness who's been in the business for 35 years and with a dozen war stories. I'm not going to be able to tell you how even though the spec says one thing in reality if you do this, this and this, and you could achieve such and such. I really don't know about that kind of stuff. I've got a couple of war stories just from odd jobs that I've had working on, a network, or maybe from a few little experiments I've done at home, but most of all of this is just going to be academic knowledge. But I think it's important to have that underlying understanding of the functionality of, in this case, networking because from there we can at least, we can use it as a leaping off point for our own experiments and for our own understanding of how it really works. But this is everything about how it's supposed to work, how it was designed, what all the terminology means, what the process is. So in this first episode, I'm going to talk about the OSI model, which is a kind of mental framework that a couple of standards groups, including the ISO, came up with so that there could be a common basis for the networking process. So the OSI model is going to give us a good understanding of what happens and when it happens in the chronology, the lifespan, and the topology of a network. So it's a layered approach of understanding this and it covers everything from software to hardware. And the topmost layer is called the application layer. And this is where most users hang out. This is the user interface, essentially. It's the applications that we use to interface with a network. So everyone's familiar with Firefox and maybe Opera and E-links. Applications like that, IAM clients like Copetta, Pigeon, things like that. There's Thunderbird, Evolution, FTP, there's GFTP, there's Filezilla, there's XChat, Chatzilla, IRSSI. All these applications are the way that computer users from the most novice to the most geeky are interfacing with the network because if you think about it, really practically all network activity is caused from these applications. So if we're in Firefox and we request a web page, that's kind of initiating a process on the network. If we're chatting with someone over IAM, then we're initiating network activity when we send and receive messages. FTPing a file up to our server, or we're getting getting a file off of our server. All that good stuff, network activity, those are the applications we use. Now underneath the application layer, there's the presentation layer. And the presentation layer is more or less the back end of those applications. This is the stuff that will take the data and process it processes it for use on the network or use by the application. So if we're doing SSH, for instance, the presentation layer is doing the encryption or HTTPS presentation layer, doing all that stuff. So it's translating the data from the formats that they are going to be in the application layer to what they need to be for everyone else to understand. You know, you don't send an HTML page as is over a network. Obviously, you have to translate it into plain ASCII or whatever it needs to be translated into. So that's presentation layer. Underneath that is the session layer. And this is kind of assessing that keeps all the data from the different user applications separate from it from one another. Now the place the networking fund really starts for most of us is the transport layer. This is where, for instance, TCP is located. This is, for instance, where TCP is located. The transport layer delivers the data. It takes care of error correction and retransmission. It establishes, if it's TCP, it establishes a virtual circuit between your computer and the other computer that you're going to be talking to. It starts the sessions. It makes sure that the data gets from your computer to the next computer or from that computer back to you. Now, and it does this, again, if it's TCP, it does this with a handshake. So at first, it first creates a window and that's not a window on your screen. It's a window of data. And it says, okay, these data packets are going to be sent within this window. And it starts sending the information out to its destination. And it sends, and then it waits for an acknowledgement. If it doesn't receive an acknowledgement, then it knows something went wrong. There's been a lost segment. And so then it needs to rescind that segment. And that is exactly what TCP does. It's a way for the computer to send the data and make sure every packet was delivered reliably. Now, on the transport layer, there's also UDP, which doesn't do that kind of handshake. It's not a reliable form of sending information. There are certainly uses for it, but it doesn't do that. And that is also located on the transport layer. So it just depends on which protocol you're using and see exactly what's going on in the transport layer. But the transport layer does start is is responsible for sending the data. And sometimes confirming that the data was received, depending on the protocol. And we'll go over all that stuff on future episodes. This is just an overview of the of the model of networking. Underneath the transport layer is the network layer. And this is the thing that takes care of the addressing, the logical addressing. So if you've heard of, for instance, TCP slash IP, right? Common enough term. The TCP was on the transport layer. And the IP is on the network layer. So IP and other protocols take care of how each computer knows its address or how the routers know the addresses of the computers. So it could be IP version four, it could be IP version six. It could be something completely different. If a router, for instance, on your network receives a packet, it's going to check that packet for what IP address it wants to go to. It's going to check that address and it's going to check what it's aware of on the network. And as either going to forward that packet to the correct interface or it's going to drop the packet because IP address isn't valid or it's not it's not accessible via that router. So that's what that's what the networking layer does. The network layer also deals with the sort of the awareness of the networking neighborhood. And there are protocols specifically that simply go out and update the routers on the network about kind of what's around them. So there's RIP and RIP version two and OSPS and all these little protocols who go around to routers and update them on what's around them, kind of giving them updated maps, street maps of their network. So those are important as well, although we don't really hear about them too much, but there is good to be aware of and that again happens on the network layer. So the network layer again just kind of by its very name kind of makes sense. It deals with the layout of the land. Underneath that is the data link layer. And the data link layer really deals with the data that's being sent. It combines packets into bytes that can be sent over the network. It packages things into frames. It gathers MAC addresses of the different things being sent around or rather of where they're going to be sent. It also does error detection, but it does not do correction like the transport layer. But the data link layer will verify the data that it's dealing with to make sure that it's not corrupt data. So the data link layer ensures that the data is delivered to the proper device on a network because it knows the exact physical address of that device. It knows the MAC address. The address that is burned into the networking card. Now it's not to say you can't spoof a MAC address, but that notwithstanding. It's going to look and make sure that the MAC address that the data got sent to is the MAC address that it thought it was trying to deliver to. Now it also translates the messages from the network layer into bits, little ones and zeros, for the physical layer to transmit because that's what the physical layer can do. And in fact that brings us to the final layer, which is a physical layer. That's the bare metal. That's the wires, the cables and networking cards and the computers and the cell phones and the printers and everything that is on your network, hardware-wise. And physical layer is really just the medium over which all this stuff is sent. So obviously the physical layer cannot send anything but bits, just ones and zeros because that's what we deal with in the computer world. So that cable that you've got from one computer to the router, that's the physical layer. And if you cut that cable, the signal stops. So that's all the physical layer is. It's the actual hardware over which all this stuff is being sent and that's what it's responsible for. It can do it in a variety of different ways. It used to do with audio tones and things like that. You might do it with varying levels of voltage or whatever, but that's what it does. And that's the trouble when you're troubleshooting your network. If you're troubleshooting the hardware and stuff like that, you're dealing with a physical layer. And that's that's the kind of thing that that a lot of us also deal with in addition to the application layer. You know, if Firefox isn't responding and then you check your i-hims and you're not getting any messages from there either and suddenly your network manager says you're offline, maybe one of the things you do is you go and settle with wires and cable and make sure that everything's plugged in securely or maybe you go restart your router things like that. So a lot of us geeks do deal with the physical layer as well. The stuff kind of in between all the networking layer and the data link layer and stuff like that, a lot of that is going to be developed for the developer world because it's not really up to a network admin to say, okay, well, is this, you know, is this protocol the correct choice for me for this program? Network admins aren't really choosing between TCP and UDP for something. That's where the programmers do their work for the application that they're writing. The network admin and the geeky computer user are going to be the guys who are choosing the physical layer, choosing the gear, the best router for the job, the best kind of cables for the job, et cetera, and then setting up the applications for the users to interface with that network. So that's where we're going to be hanging out in real life, but for the purpose of this, for these episodes, we will also be examining everything in between because that's important stuff to understand so that if after you restart the router and you've swapped out all the cables, something's still not working on a certain application, maybe it's another problem, maybe something's wrong with that application or maybe you need to switch out in routers or maybe your network is being congested because you don't have enough routers and you're using hubs, whatever. So we will understand all that in due time, but for now, that's really covered it. That is the OSI model. Quick review application layer is where the user land applications are. Everything that interfaces with a network from the user is located in the application layer. We need that as the presentation layer, which takes the data generated either by or for the application layer. It figures out what format of data it needs to be in. The session layer is beneath that and that keeps all your data organized and separate from one another, make sure that you're getting data into the proper applications and things like that because it establishes sessions so that data can be sent between different nodes on your network or within the networking model. The transport layer is where TCP and UDP are located and it's the thing concerned about sending the data out and receiving the data in to the computer. The networking layer beneath that isn't seeing the deals with the layout of the network, figures out where different nodes are located, where different devices are located on your network. Very important is basically the place that logical addressing occurs. We need that as the data link layer, which worries about things that are going to be sent over this network, whether it's addressed properly to the actual physical device. This is dealing with a MAC address, not just the IP address, not the logical address, but the actual physical address of the device. It combines all the data into whatever kind of data it needs to be for the physical layer, which would be in the end bits, ones and zeros. Finally, you do have the physical layer. That's the hardware. That's the hardware that you've chosen for your network, maybe your home network, maybe your businesses network. It's the routers, the hubs, the switches, the bridges, the cables, the computers, the cell phones, the printers, all that other good stuff. That's your network. That's the OSI model of a network. I hope you've enjoyed this first episode. In the next episode, we will be talking about actually routers, hubs and all that other good stuff. So, thanks for listening.