Learning as We Go: Basic Networking Terminology
Rather than give you dry, boring explanations of the basic networking vocabulary terms, we’ll simply use the terms in context as we work with our network devices.
You’ll notice that I use the term network devices (or hosts) instead of computers. I do this because on a TCP/IP network, any electronic device that has a network interface card (NIC) installed is considered a node, or device, on that network. By this definition, any of the following pieces of hardware can be considered to be network hosts:
- Laptop computer
- Tablet (iPad, Microsoft Surface, and so on)
- Wi-Fi router
- Smart TV
- Raspberry Pi
- Smart watch
TCP/IP stands for Transmission Control Protocol/Internet Protocol, and it describes a whole bunch of networking protocols, of which TCP and IP are only two. TCP/IP has been the standard networking protocol in the world for the past 20 years or so.
For our purposes as Minecraft server administrators, the Internet Protocol (IP) address is the most important concept to master. A networking protocol, such as IP, is simply a set of rules that a TCP/IP host uses to communicate with another host. The sending and receiving of data, in other words.
Specifically, a host’s IP address serves to uniquely identify that device on its network. In Figure 4.1, for instance, the cable modem has the IP address 10.1.10.1, Workpc1 has 10.1.10.16, and Win8 has 10.1.10.19.
How do we know that these IP addresses exist on the same network? Besides the fact that the devices are all physically (or wirelessly) connected to the cable modem router, we can take a look at their subnet mask.
The subnet mask is a combination of decimal 255s and 0s that separates the network portion of the address from the host (device) portion. Look at Figure 4.2 to illustrate.
FIGURE 4.2 TCP/IP hosts use their subnet mask to differentiate their network address as well as host ID.
In Figure 4.2, we have computer A, with IP address 10.1.10.16, attempting to exchange data with computer B, with IP address 10.1.20.33. Computer A “examines” its subnet mask, which “covers” up three of the four parts of an IP address, and determines that 10.1.10 is its own network. Because the target IP address is on network 10.1.20, computer A “decides” it needs to send its traffic to its default gateway (router). The purpose of the router is to serve as a “traffic director” between different IP networks.
To be frank, we don’t need to worry about subnet masks too much for what we’re doing; I just want to make sure that you have a well-rounded understanding.
Private and Public Addresses
Let’s return to Figure 4.1. If we install Minecraft server on Workpc1, we should have no trouble connecting to the game from Workpc1 because, as we already discussed, the two computers have the same IP network address.
I’ll go so far as to say that if our cable modem had another interface connected to a network address of, say, 10.1.20, then those computers still could connect to our game.
However, if our friend from across town (or on the other side of the world) tries to connect to your Minecraft server with a 10. IP address, then he or she will never connect. Not ever. What’s going on?
It’s a long story, but suffice it to say that the world has run short of public IP addresses that are visible across the Internet. Because of this shortage, routers/cable modems/wireless access points use private IP addresses and two more protocols to bridge the gap.
First, about private IP addresses: You might have noticed that whenever you connect to somebody’s Wi-Fi network you receive an IP address from one of the following ranges:
Those IP addresses are called private network addresses because the world has agreed never to route them. You simply cannot send or receive data across the Internet by using a private IP address. Remember what I said about the shortage of public IP addresses; private addresses were developed as a workaround.
Network Address Translation
You’re probably wondering, “If my computer can’t communicate on the Internet with a private IP address, then how the heck am I able to surf the Web in the first place?!” The answer is one of those “two additional protocols” I mentioned that your cable modem has: Network Address Translation, or NAT (pronounced like the tiny flying insect).
Your cable modem (or whatever device you use to access the public Internet) has only one public IP address. That’s all you get from your Internet service provider (ISP). When I started in IT back in 1997, all computers received public IP addresses from their ISP; those days are long gone now.
With NAT, a router can “share” a single public IP address with more than one device on the internal network. Do you see the beauty here? We can have as many devices inside our network as we want because we’re using private IP addressing. All devices connect to the router, and the router serves as a proxy, or go-between, for the Internet and your internal devices.
Of course, some of you are now likely wondering, “How do my internal devices get their private IP addresses? Do they come from the router, my ISP, both, or neither?” That’s actually a great question.
Dynamic Host Configuration Protocol (DHCP) is a service for dispensing and managing a range of IP addresses to one or more client devices. It’s standard nowadays for your router to serve as a DHCP server. In fact, most routers enable you to edit how DHCP behaves by allowing you to log in to the router directly.
Let’s now apply our newfound networking know-how to what’s really important: making our Minecraft server available to players from all over the world!