Thursday, January 9, 2014

TCP/IP Networking Terms

As we dive into network development we will be throwing around a lot of networking terms.  For some, these terms may be new or they may be misunderstood so this post will define a few of the more import terms that you should know.


IP Address:  Every device on an IP (Internet Protocol) network has a unique identifier known as an IP Address.  This address identifies both the host and the location of the device.  Currently there are two versions of the Internet Protocol:

   IPv4:  This is currently the standard for the Internet.  An IPv4 Address looks like this:  74.125.137.191
   IPv6:   This is the next generation of the Internet Protocol.  An IPv6 address looks like this:  2001:0db8:0000:0000:0000:ff00:0042:8329
Subnet:  Is a logical subdivision of devices on an IPv4 Network.  All devices that belong to a subnet have the first few Octets (numbers) in common.  The Netmask will define which IP Address range belongs to a given subnet.

Netmask:  Is a 32-bit mask that is used to specify the IPv4 Address range that belongs to a given subnet.  Below are a few examples that shows a device with an IP Address of 192.168.10.10 and then applies a netmask to that address.  The Last column (IP Address Range) then shows the range of IPv4 Addresses of other devices in the same subnet as the 192.168.10.10 device.






IP Address 
Netmask
Masked Bit
IP Address Range
192.168.10.10
255.255.255.248
29
192.168.10.9 -> 192.168.10.14
192.168.10.10
255.255.255.128
25
192.168.10.1 -> 192.168.10.126
192.168.10.10
255.255.255.0
24
192.168.10.1 -> 192.168.10.254
192.168.10.10
255.255.0.0
16
192.168.0.1 -> 192.168.255.254





Gateway:  Is usually a router that acts as an access point to other networks or subnets.  For example, if device A wants to send a packet to device B however device B is not on device A’s subnet then device A will send the packet too a gateway and rely on that gateway to route the packet to the correct location.  A device should always have one default gateway and may have multiple other gateways to specific subnets.

Fully Qualified Domain name:  A fully Qualified Domain Name (FQDN) is a unique name that can be used to refer to a device on an IP network.  Some examples of a FQDN are http://network-development.blogspot.com or www.apple.com.  We generally use FQDN because, as humans, it is much easier for us to memorize a name then it is for us to memorize a set of numbers like IP Addresses.

DNS Server:  In order for two devices to communicate on an IP network they must know each other’s IP Address.  Therefore if you were to enter http://www.blogspot.com into your web browser the first thing your computer would need to do is to convert the www.blogspot.com name to an IP Address.
A DNS Server will convert a FQDN to an IP Address.  To see this in action, we can open a terminal window and use the nslookup command to perform DNS lookups. 

Port:  While the IP address identifies the device to connect too, the port uniquely identifies the process within the device to connect too.  A device has 65,535 available ports with the first 1023 ports being reserved for common protocols like HTTP, SSH, FTP…

BSD Socket API:  Is part of the POSIX UNIX specifications and offers a set of standard functions used for Inter-process network communications.  We will be discussing sockets a lot in this blog.

Packet:  When devices on a TCP/IP network want to exchange information with each other they encapsulate that information in packets.  We will be talking about packets a lot on this blog.

Byte Order:  The byte order refers to the order that data is stored in memory.  As a human we think of the word ‘dog’ as a ‘d’ followed by a ‘o’ which is followed by a ‘g’.  Some devices store information the same way with the most significant digit first.  Other devices store the information with the least significant digit first where the word ‘dog’ is store ‘g’ followed by ‘o’ followed by ‘d’.  On devices that store the most significant number first it is known as Big-Endian and on devices that store the least significant number first it is knows as Little-Endian.


Network Byte Order:  The byte order that the network sends information.  For Internet Protocol the standard is Big-Endian.  We will be looking at the correct way to convert network byte order to host byte order many times in this blog.

We will be adding additional terms to this glossary as needed.

No comments:

Post a Comment