TCP/IP forms the backbone of
communication and transportation in Windows Server 2012. Before you can
communicate between machines, TCP/IP must be configured.
In Windows Server 2012, TCP/IP is installed
by default during the OS installation, which also makes it impossible
to add or remove TCP/IP through the GUI.
If a TCP/IP connection fails, you need to
determine the cause or point of failure. Windows Server 2012 includes
some dependable and useful tools that can be used to troubleshoot
connections and verify connectivity. The tools described in the
following 10 subsections are very useful for debugging TCP/IP
connectivity problems. Most of these tools have been updated to include
switches for IPv4 and IPv6.
Ping
Ping means Packet Internet Groper. It is used
to send an Internet Control Message Protocol (ICMP) echo request and
echo reply to verify the availability of a local or remote machine. You
can think of ping as a utility that sends a message to another machine
asking, “Are you still there?” By default, in Windows Server 2012, ping
sends out four ICMP packages and waits 1 second for responses back.
However, the number of packages sent or time to wait for responses can
be changed through the options available for ping.
Besides verifying the availability of a remote machine, ping can help determine a name-resolution problem.
To use ping, go to a command prompt and type Ping Targetname. Different parameters can be used with ping. To display them, type Ping /? or Ping (without parameters).
The parameters for the ping command are as follows:
• -4—Specifies that
IPv4 is used to ping. This parameter is not required to identify the
target host with an IPv4 address. It is required only to identify the
target host by name.
• -6—Specifies that IPv6 is used to ping. Just like -4,
this parameter is not required to identify the target host with an IPv6
address. It is required only to identify the target host by name.
• -a—Resolves the IP address to the hostname. The hostname of the target machine is displayed if this command is successful.
• -f—Requests that echo back messages are sent with the Don’t Fragment flag in packets. This parameter is available only in IPv4.
• -i ttl—Increases the
timeout on slow connections. The parameter also sets the value of the
Time to Live (TTL). The maximum value is 255.
• -j HostList—Routes
packets using the host list, which is a series of IP addresses
separated by spaces. The host can be separated by intermediate gateways
(loose source route).
• -k HostList—Similar to –j, but hosts cannot be separated by intermediate gateways (strict source route).
• -l size—Specifies the length of packets in bytes. The default is 32. The maximum size is 65,527.
• -n count—Specifies the number of packets sent. The default is 4.
• -r count—Specifies
the route of outgoing and incoming packets. It is possible to specify a
count that is equal to or greater than the number of hops between the
source and destination. The count can be between 1 and 9 only.
• -R—Specifies that the round-trip path is traced (available on IPv6 only).
• -s count—Sets the time stamp for the number of hops specified by count. The count must be between 1 and 4.
• -S SrcAddr—Specifies the source address to use (available on IPv6 only).
• -t—Specifies that
ping should continue sending packets to the destination until
interrupted. To stop and display statistics, press Ctrl+Break. To stop
and quit ping, press Ctrl+C.
• -v TOS—Specifies the
value of the type of service in the packet sent. The default is zero.
TOS is specified as a decimal value between 0 and 255.
• -w timeout—Specifies
the time in milliseconds for packet timeout. If a reply is not received
within the timeout, the Request Timed Out error message is displayed.
The default timeout is 4 seconds.
• TargetName—Specifies the hostname or IP address of the destination to ping.
Note
Some remote hosts can be configured to ignore
ping traffic as a method of preventing acknowledgment as a security
measure. Therefore, your inability to ping a server might not
necessarily mean that the server is not operational, just that the
server is not responding for some reason.
Tracert
Tracert is generally used to determine the
route or path taken to a destination by sending ICMP packets with
varying TTL values. Each router the packet meets on the way decreases
the value of the TTL by at least one; invariably, the TTL is a hop
count. The path is determined by checking the ICMP Time Exceeded
messages returned by intermediate routers. Some routers do not return
Time Exceeded messages for expired TTL values and are not captured by
tracert. In such cases, asterisks are displayed for that hop.
To display the different parameters that can be used with tracert, open a command prompt and type tracert (without parameters) to display help or type tracert /?. The parameters associated with tracert are as follows:
• -4—Specifies that tracert.exe can use only IPv4 for the trace.
• -6—Specifies that tracert.exe can use only IPv6 for the trace.
• -d—Prevents
resolution of IP addresses of routers to their hostname. This is
particularly useful for speeding up results of tracert.
• -h maximumHops—Specifies the maximum number of hops to take before reaching the destination. The default is 30 hops.
• -j HostList—Specifies
that packets use the loose source route option. Loose source routing
allows successive intermediate destinations to be separated by one or
multiple routers. The maximum number of addresses in the host list is
nine. This parameter is useful only when tracing IPv4 addresses.
• -R—Sends packets to a destination in IPv6, using the destination as an intermediate destination and testing reverse route.
• -S—Specifies the source address to use. This parameter is useful only when tracing IPv6 addresses.
• -w timeout—Specifies the time in milliseconds to wait for each reply.
Note
Tracert is a good utility to
determine the number of hops and the latency of communications between
two points. Even if an organization has an extremely high-speed
connection to the Internet, if the Internet is congested or if the
route a packet must follow requires forwarding the information between
several routers along the way, the performance and, ultimately, the
latency (or delay in response between servers) will cause noticeable
communications delays.