INVITATION TO CYBERSECURITY 34 routing packets from the source computer to the destination computer. Routers examine the destination IP address in the IP header. IP addresses are hierarchical similar to mailing addresses. This makes it possible for a router to send a packet to a neighboring router closer to the destination without needing to know the precise location of all the world’s IP addresses. This is similar to the way a person in Ohio can drive to a specific home in California without a GPS or even a map. He does not need to know the location of the home in California in order to get started in the right direction, he just needs to know that California is west of Ohio, and I-80 is a major United States highway that runs east-west. He may need someone to point him in the direction of I-80 to get started, but once he hits that intersection, he goes west! When he eventually gets to California, he can ask someone to point him in the direction of the Californian city he is trying to find. This might involve taking a California state highway angling north or south. Once he gets to the correct city, a local person can direct him to the proper street, and once on the street, a neighbor perhaps walking his dog can help him find the correct house number. The point is that his path does not need to be fully mapped out before he can begin his journey—he just sets out in the general direction, and he finds more specific guidance when he needs it. Due to local knowledge, more specific guidance is available as he gets closer to his destination. Of course, traveling by this method does not result in an optimal route, but a decent route is good enough, especially for blazingly fast Internet packets. The hierarchical nature of IP addresses is due to them being grouped by leading bits. For example, all IP addresses beginning with the sixteen bits 1010001100001011 are reserved for Cedarville University. In dotted decimal notation, this is the IP address range 163.11.0.0 through 163.11.255.255. Therefore, all packets addressed to any of the 65,536 IP addresses in this range will be sent to Cedarville’s router, and from there, Cedarville’s router is responsible for getting the packets to the correct computer on Cedarville’s campus network. (In case you are wondering, the answer is no, most of these IP addresses are not needed and are not used!) On the Internet, this process of directing packets one link at a time towards their destination is called packet switching (see Figure 2.11). A major benefit of packet switching is that it is dynamic—when links go down unexpectedly, new paths can be created on the fly. This makes the Internet robust to failures. A downside of this approach is that packets must set out without knowing whether their destination is reachable or even if it exists. This leads to dropped packets. A dropped packet is a packet that never reaches its destination. Because dropped packets are always a possibility, TCP implements a reliable packet delivery protocol involving acknowledgements, timers, and retransmissions. Packets travel from the source computer through the network core and eventually reach the destination computer. Once packets reach the destination, they still need to be directed to the correct process because computers run multiple processes at once. Processes are identified by port numbers. Port numbers are Layer 4 addresses. They are like Bob’s name on the envelope in the mailing address analogy—they only come into play after the
RkJQdWJsaXNoZXIy MTM4ODY=