DESKTOP

Windows 7 : Understanding TCP/IP (part 1) - Basics of IP Addressing and Configuration

7/14/2011 4:06:11 PM
Transmission Contra! Protocol/Internet Protocol (TCP/IP) is the most commonly used network protocol. It is actually a suite of protocols that have evolved into the industry standard for network, internetwork, and Internet connectivity. The main protocols providing basic TCP/IP services include Internet Protocol (IP), Transmission Control Protocol (TCP), User Datagram Protocol (UDP), Address Resolution Protocol (ARP), Internet Control Message Protocol (ICMP), and Internet Group Management Protocol (IGMP).

1. Benefits of Using TCP/IP

TCP/IP as a protocol suite was accepted as an industry standard in the 1980s and continues to be the primary internetworking protocol today! For a default installation of Windows 7, IPv4 and IPv6 are both installed by default. TCP/IP has the following benefits:

  • TCP/IP is the most common protocol and is supported by almost all network operating systems. It is the required protocol for Internet access.

  • TCP/IP is dependable and scalable for use in small and large networks.

  • Support is provided for connectivity across interconnected networks, independent of the operating systems being used at the upper end of the OSI model or the physical components at the lower end of the OSI model.

  • TCP/IP provides standard routing services for moving packets over interconnected network segments. Dividing networks into multiple sub networks (or subnets) optimizes network traffic and facilitates network management.

  • TCP/IP is designed to provide data reliability by providing a connection at the transport layer and verifying that each data segment is received and passed to the application requiring the data by retransmitting lost information.

  • TCP/IP allows for the classification of data in regard to its importance (Quality of Service). This allows important time-sensitive streams of data (such as Voice over IP) to get preferential treatment.

  • TCP/IP is designed to be fault tolerant. It is able to dynamically reroute packets if network links become unavailable (assuming alternate paths exist).

  • Protocol applications can provide services such as Dynamic Host Configuration Protocol (DHCP) for TCP/IP configuration and Domain Name Service (DNS) for host name-to-IP address resolution.

  • Windows 7 continues to support Automatic Private IP Addressing (APIPA) used by small, local-connection-only networks without a DHCP server, to allow Windows 7 to automatically assign an IP address to itself.

  • Support for NetBIOS over TCP/IP (NetBT) is included in Windows 7. NetBIOS is a software specification used for identifying computer resources by name as opposed to IP address. We still use TCP/IP as the network protocol, so we map the NetBIOS name to an IP address.

  • The inclusion of Alternate IP Configuration allows users to have a static and a DHCP-assigned IP address mapped to a single network adapter. This feature supports mobile users who roam between different network segments.

  • IPv6 incorporates a much larger address space, and more importantly, incorporates many of the additional features of TCP/IP into a standardized protocol. This is important because a vendor who claims to support TCP/IP only has to support the 1980s version, and may not support additional features such as the Internet protocol security features of IPSec. IPv6 as a standard includes these features, allowing a more robust network protocol.

2. Features of TCP/IP

One of the main features of TCP/IP is that it allows a common structure for network communications across a wide variety of hardware and operating systems and a lot of applications that are specifically written to configure and control it. Several of the features of TCP/IP included with Windows 7 are as follows:

  • TCP/IP connectivity tools allowing access to a variety of hosts across a TCP/IP network. TCP/IP tools in Windows 7 include clients for HTTP, FTP, TFTP, Telnet, Finger, and so forth. Server components for the tools are available to install as well.

  • Inclusion of a Simple Network Management Protocol (SNMP) agent that can be used to monitor performance and resource use of a TCP/IP host, server, or network hardware devices.

  • TCP/IP management and diagnostic tools are provided for maintenance and diagnostic support. TCP/IP management and diagnostic commands include ipconfig, arp, ping, nbtstat, netsh, route, nslookup, tracert, and pathping.

  • Support for TCP/IP network printing, enabling you to print to networked print devices.

  • Logical and physical multihoming, enabling multiple IP addresses on a single computer for single or multiple network adapters. Multiple network adapters installed on a single computer are normally associated with routing for internetwork connectivity.

  • Support for internal IP routing, which enables a Windows 7 computer to route packets between multiple network adapters installed in one machine.

  • Support for virtual private networks, which enable you to transmit data securely across a public network via encapsulated and encrypted packets.

3. Basics of IP Addressing and Configuration

Before you can configure TCP/IP, you should have a basic understanding of TCP/IP configuration and addressing. Let's review TCP/IP addressing. To configure a TCP/IP client, you must specify an IP address, subnet mask, and default gateway (if you're going to communicate outside your local network). Depending on your network, you might want to configure a DNS server, domain name, or maybe even a WINS server.

You can see the Windows 7 TCP/IP version 4 properties window in Figure 1. I have included it here as I am going to discuss the different configuration items in the following sections. Although normally set up for automatic configuration, these parameters have been manually assigned in this figure for clarity. We will go through the configuration steps and show how to access this window later in this section.

Figure 1. Windows 7 TCP/IP version 4 properties

3.1. IPv4 Address Types

There are three types of IPv4 addresses: broadcast, multicast, and unicast.

A broadcast address is read by all hosts that hear it (the broadcast will not go across a router, so only local devices hear the broadcast). The IPv4 broadcast address is 255.255.255.255; every single bit is a 1.

A multicast address is a special address that one or more devices will listen for by joining a multicast group. Not all the local devices respond and process the data in the multicast packet, only the devices configured to listen for it. A multicast address will have a value between 224 and 239 in the first octet (the leftmost number in the dotted decimal representation), A multicast example is 224.0.0.5.

A unicast IP address uniquely identifies a computer or device on the network. An IPv4 unicast address is a four-octet, 32-bit address represented as dotted decimal (an example is 131.107.1.200). Each number in the dotted decimal notation is a decimal representation of 8 bits, and the value of each is going to be between 0 and 255 (255 is the numerically largest value that 8 bits can represent). A portion of the IPv4 unicast address is used to identify the network the device is on (or the network of a destination device), and part is used to identify the individual host on the local network or the unique host on a remote network. The IPv4 address scheme is the only address space used by the Internet today, and TCP/IP is the only network protocol used by the Internet today.

3.2. IPv4 Address Classes

When the TCP/IP suite was accepted as a standard in the 1980s, there were three classes of unicast IP addresses defined. Depending on the class you use, different parts of the address show the default network portion of the address and the host address. We still refer to these addresses by class, but we no longer really utilize this class structure; we'll explain shortly.

Table 1 shows the three classes of network addresses and the number of networks and hosts available for each network class as defined by the original TCP/IP version 4 standard.

Table 1. IPv4 Class Assignments
Network ClassAddress Range of First OctetNumber of Unique Networks AvailableNumber of Unique Hosts per Network
A1-12612616,777,214
B128-19116,38465,534
C192-2232,097,152254

NOTE

As you probably noticed, 127 is missing from the address ranges. 127.0.0.1 is the diagnostic loopback address and because of that, no commercial TCP/IP range can start with 127.

The number of octets you can use for either the network ID or the host ID depends on which class you use for your network. For example, if I own a Class B address of 131.107.0.0, the first two octets (131.107) would be the network ID and the last two octets would be the host ID. Table 2 shows you the different classes and which octets are the network ID (represented by X) and which octets are the host ID (represented by Y). You are allowed to manipulate only the host IDs (Y) for your organization.

Table 2. IPv4 Network and Host Octets
ClassExampleNetwork IDHost ID
A17.1.10.10 (X.YY.Y)17 (X)1.10.10 (Y.Y.Y)
B131.107.14.240 (X.XY.Y)131.107 (X.X)14.240 (Y.Y)
C192.168.1.10 (X.X.X.Y)192.168.1 (X.X.X)10 (Y)

3.3. IPv4 Subnet Mask

The subnet mask is used to specify which portion of the unicast IPv4 address defines the network value and which portion defines the unique host value. The subnet mask can be shown as either a dotted decimal, as with 255.255.255.0, or as a slash notation (called Classless Inter-Domain Routing, or CIDR), as in /24. The CIDR representation is the number of bits turned on in the subnet mask. For example, 255.255.224.0 is actually 11111 111.11111111.11100000.00000000, which equals 19 bits turned on, or/19.

The 1980s standard for classful network addressing defined the following subnet masks for each class, as shown in Table 3.

Table 3. IPv4 Default Class Subnet Masks
ClassDefault MaskSlash Notation (CIDR)
Class A255.0.0.0/8
Class 8255.255.0.0/6
Class C255.255.255.0/24

Another task of the subnet mask is to break down the ranges of your network. For example, 255.255.255.224 allows for six subnets. There should be six TCP/IP ranges that go with the six subnets. In Table 4, we show the different ranges for the different subnet masks.

Table 4. Subnet Mask Ranges
Subnet Mask NumberRanges
2551
2542
2524
2488
24016
22432
19264
128128

Now what does this chart mean to you? Well, let's say that you have a subnet mask of 255.255.255.224. Because 224 allows for six subnets, the six ranges would go by 32. Table 5 shows a Class C subnet range for 224. Remember, in any range, you can't use the first number of the range (network ID) or the last number of any range (broadcast).

Table 5. Class C 224 Subnet Mask Ranges
SubnetsRangeUsable
Range 132-6333-62
Range 264-9565-94
Range 396-12797-126
Range 4128-159129-158
Range 5160-191161-190
Range 6192-223193-222

Now if this was a Class B subnet mask, the ranges would include a second octet that you would work with. Table 6 shows a Class B 224 subnet mask.

Table 6. Class B 224 Subnet Mask Range
SubnetsRangeUsable
Range 132.0-63.25532.1-63.254
Range 264.0-95.25564.1-95.254
Range 396.0-127.25596.1-127.254
Range 4128.0 a-159.255128.1-159.254
Range 5160.0-191,255160.1-191.254
Range 6192.0-223.255192.1-223.254

Now if this was a Class A subnet mask, the ranges would include three octets that you would work with. Table 7 shows a Class A 224 subnet mask.

Table 7. Class A 224 Subnet Mask Range
SubnetsRangeUsable
Range 132.0.0-63.255.25532.0.1-63.255.254
Range 264.0.0-95.255.25564.0.1-95.255.254
Range 396.0.0-127.255.25596.0.1-127.255.254
Range 4128.0.0-159.255.255128.0.1-159.255.254
Range 5160.0.0-191.255.255160.0.1-191.255.254
Range 6192.0.0-223.255.255192.0.1-223.255.254

Another way to configure TCP/IP is by using IPv6. In the next section, you will look at using IPv6.

3.4. Using IPv6 Addresses

Through most of this section, we have been referencing TCP/IP as the network protocol. However, you should remember that it is really a suite of protocols running in layer 3 and layer 4 of the OS1 model. Internet Protocol (IP) is the layer 3 protocol responsible for assigning end devices globally unique addresses (and I mean the whole company for private addresses to the whole Internet for public addresses).

Back in the 1980s, it was unimaginable that we would ever need more than 4 billion addresses, but we do. They (the keepers of the Internet) realized in the 1990s that we were going to have a problem and decided that a new layer 3 was going to be needed. This was not an easy task, and integration into the existing infrastructure was going to take a long time as well.

They (the keepers of the Internet) came up with an interim solution while the new layer 3 protocol became standardized. The interim solution is known as NAT and PAT. NAT/ PAT allowed more than one device to use the same IP address on a private network as long as there was one Internet address available. Cool enough, but this is not the real solution.

IPv6 is the solution to the IPv4 address depletion. As time has progressed from the IPv4 standard acceptance in the 1980s, we have needed new and better functionality. However, the way the standards process works around the world is that you can add functionality, but it may or may not be supported in any vendor's TCP/IPv4 network stack. What happened in IPv6 is not only did the address space increase in size, but the additional functionality that may or may not have been included before has become part of the IPv6 standard.

For example, IPv4 is defined as having a variable-length header, which is cumbersome because we need to read an additional piece of data to see how big the header is. Most of the time, the header stays the same, so why not just fix its length and add an extension to the header if we need to carry more information? IPv6 uses a fixed-length IP header with the capability of carrying more information in an extension to the header (known as an extension header).

What about the layer 4 piece, TCP and UDP? Those don't need to change; we're changing only layer 3. What about the MAC address and the Ethernet specification? Those don't need to change; we're changing only layer 3.

Microsoft has been including IPv6 in its operating systems since NT4.0; it just has not been enabled by default. Windows 7 (as did Vista) natively supports both IPv4 and IPv6. The main differences you will notice between IPv4 and IPv6 are the format and size of the IP address. IPv6 addresses are 128 bits, typically written as eight groups of four hexadecimal characters. IPv4 addresses, as you saw earlier, are 32 bits—four decimal representations of eight bits. Each of the eight groups of characters is separated by a colon. An example of a valid IPv6 address is 2001:4860:0000:0000:0012:10FF:FECD:OOEF.

Leading zeros can be omitted, so we can write our example address as 2001:4860:0:0:12:10FF:FECD;EF. Additionally, a double colon can be used to compress a set of consecutive zeros, so we can write our example address as 2001:4860::12:10FF: FECD:EF. The IPv6 address is 128 bits; when you see a double colon, it's a variable that says to fill enough zeros within the colons to make the address 128 bits. You can have only one set of double colons; two variables in one address is not going to work.

Will we see IPv6 take over the global address space soon? Even with IPv4's lack of address space, we are going to continue to use it for many years. The integration of IPv6 into the infrastructure is going to happen as a joint venture with IPv4 and IPv6 running at the same time in the devices and on some networks.

There are many mechanisms for enabling IPv6 communications over an IPv4 network, including the following:

  • Dual stack—a computer or device running both the IPv4 and IPv6 protocol stacks at the same time

  • ISATAP—Intra-Site Automatic Tunnel Addressing Protocol

  • 6to4—an encapsulation technique for putting IPv6 addresses inside IPv4 addresses

  • Teredo tunneling—another encapsulation technique for putting IPv6 traffic inside an IPv4 packet

Some IPv6-to-IPv4 dynamic translation techniques require that a computer's IPv4 address is used as the last 32 bits of the IPv6 address. When these translation techniques are used, it is common to write the last 32 bits as you would typically write an IPv4 address, such as 2001:4850::F8:192.168.122.26.

There are two ways to receive a TCP/IP address (for either IPv4 or IPv6): You can manually assign a TCP/IP address to the Windows 7 machine, or the Windows 7 machine can use DHCP.

Other  
  •  Windows Server 2008 : Planning Operating System Virtualization (part 2) - Planning for Server Consolidation
  •  Windows Server 2008 : Planning Operating System Virtualization (part 1)
  •  Windows Server 2003 : Troubleshooting Group Policy
  •  Windows Server 2003 : Working with Resultant Set of Policy (part 2)
  •  Windows Server 2003 : Working with Resultant Set of Policy (part 1) - Generating RSoP Queries with the Resultant Set Of Policy Wizard
  •  Configuring Windows 7 NIC Devices (part 2) - Configuring Wireless NIC Devices
  •  Configuring Windows 7 NIC Devices (part 1) - Configuring a Network Adapter & Troubleshooting a Network Adapter
  •  Windows 7 : Configuring Network Connectivity - Understanding Networking
  •  Preparing to Install Windows 7 (part 2) - New Install or Upgrade
  •  Preparing to Install Windows 7 (part 1) - Different Versions of Windows 7 & Hardware Requirements
  •  Maintaining Windows 7 with Backup and Restore (part 2) - Using Advanced Backup Options & Using System Protection
  •  Maintaining Windows 7 with Backup and Restore (part 1) - Creating a Backup & Restoring Files from a Backup
  •  Windows 7 : Configuring Backups and Recovery - Using Advanced Boot Options
  •  Windows Server 2003 : Implementing a GPO (part 2) - Modifying a GPO
  •  Windows Server 2003 : Implementing a GPO (part 1)
  •  Windows 7 : Using Windows Live Calendar (part 3) - Scheduling Appointments and Meetings & Viewing Agendas and Creating To-Do Lists
  •  Windows 7 : Using Windows Live Calendar (part 2) - Sharing Your Calendars with Others & Synchronizing Google Calendar with Windows Live Calendar
  •  Windows 7 : Using Windows Live Calendar (part 1)
  •  Windows 7 : Using Windows Live Contacts
  •  Windows 7: Using Windows Live Mail (part 3)
  •  
    Most View
    Top 10 Web Log Analysers (Part 2)
    Buying Guide: High-end CPUs (Part 1) : Intel Core i5-2550K, Intel Core i5-3570K
    What is a cross-compiler?
    Beginer's Guide To Sports Photography (Part 1)
    Top 10 Hi-Fi & Music Streaming - Jan 2013
    Top 10 Home Computers - Q1 2013
    Samsung NX1000 Camera Review (Part 2)
    Programming Microsoft SQL Server 2005 : CLR Stored Procedures and Server-Side Data Access
    SharePoint 2010 :Implementing a Partner Extranet Solution (part 2) - Configuring Authentication Providers
    Nokia Lumia 820 - Windows Phone with Wireless Charging
    Top 10
    Zalman CNPS9900DF Cooling Device Review (Part 3)
    Zalman CNPS9900DF Cooling Device Review (Part 2)
    Zalman CNPS9900DF Cooling Device Review (Part 1)
    Nexus 10 - Ultra-High Resolution (Part 4)
    Nexus 10 - Ultra-High Resolution (Part 3)
    Nexus 10 - Ultra-High Resolution (Part 2)
    Nexus 10 - Ultra-High Resolution (Part 1)
    Nokia Lumia 920 - Windows Phone 8 And Magic Camera (Part 4)
    Nokia Lumia 920 - Windows Phone 8 And Magic Camera (Part 3)
    Nokia Lumia 920 - Windows Phone 8 And Magic Camera (Part 2)