Welcome to the first quickfire post. They’re intended to be somewhere like the Walk Thru goal but for learning things rather than how to do something.
An IP is something like 8.1.2.4 or 2001:0db8:85a3:0000:0000:8a2e:0370:7334. They do look worlds apart. That’s because the 8.1.2.4 as an IPv4 address while the really long one is an IPv6 address. They partially fill the role as an address to send something. Most software is not going to care how what they send gets there, they just address their packet to target IP they need and fire it off. Networking components, systems and Operating Systems tend to care also about something called MAC address in addition to IPs.
A MAC Address is something closer to XD-3A-27-0D-FE-97 or DA:26:20:8B:E0:CD. Looks a bit like the IPv6 right? It fills a very different role than the IP addresses. These values are used on something that’s works at a level that’s a little lower level than IPs. Software can and will use MAC addresses, but the components that deal with MAC addresses really don’t need to care how IP works and the same is true for how IP deals with MAC addresses.
MAC Addressing is used physically by the NIC / Network Card that deals with translating electronic (or radio) signals on the medium that the network uses. For example, on a small switch/router that lets me plug Ethernet cables into it, the NIC is working on sending and receiving signals thru the Ethernet cable.
The way these interact is through something called a routing table. When a machine such as a Switch/Router or PC receives a frame (term for a bit of network data), its NIC checks the MAC address to see if it is either a broadcast frame or on the list of MACs belonging to the NIC. If this is true, the NIC unpacks the frame and sends the IP packet info in said frame to the software that deals with that. If false, (there’s a setting to skip that), the NIC drops the frame, and the IP software never gets the IP data in it.
OS Software for the router/switch/pc maintain a list of IPs and the MAC address Came with it. This is known as the Routing Table. This functionally pairs IPS with MAC addresses and includes known pathways on where to send IP packets. When some information is needed to be sent to an IP, the OS checks its routing table for the MAC address paired with the IP. If it finds an entry, the OS preps the IP packet to be used send to the NIC. The NIC translates that to a suitable network medium frame and sends it on its way. If an entry does not exist, a broadcast frame is sent out to the LAN asking who has the MAC for the IP. Once the MAC is known, the OS packages the IP packet in a frame addressed to the target and sends it off.
If this is a little tricky to grasp, it’s ok! Let me hopefully clear up with an example. Let’s say Bob wants to mail Jill a love letter at address 191.126.1.2. He already knows that the letter needs to get to that address and has already closed it in an envelope. He checks his address book for the perfect spot to drop it off. Alas! There’s no address in his book. Bob screams at the top of his lungs in frustration about needing that location where to drop it off to ensure Jill gets it. Alice tells him that the perfect spot to drop it off at to get his love letter to Jill is located at address 2c549188c9e3. Alice would likely tell him to be quieter. Excited, Bob takes his enveloped letter and places it in another special envelope addressed to 2c549188c9e3. Bob places it in the mail. His letter arrives at the 2c549188c9e3 location. The worker there sees the envelope is addressed to 2c549188c9e3 which is their location and opens it. In it is Bob’s original letter to Jill at address 191.126.1.2. The worker sends it up to IP handling to get it to Jill. Jill writes him back saying she got his letter and includes some extra messaging.
Links of Interest:
OSI model – Wikipedia <- check layers 2 and 3. I’d recommend reading layer 3 first if this is the first time hearing about this model.
Leave a reply to Thomas Betterly Cancel reply