ES 101. Module 7 Basic Network Troubleshooting & Useful Utilities Last Lecture • Uniform Resource Locators (URL) • Hypertext Transfer Protocol (HTTP) • Common Gateway Interface (CGI) This Lecture • • • • • Internet Control Message Protocol (ICMP) Ping Traceroute File Transfer Protocol (FTP) Web Development Utilities Internet Protocol Architecture Internet Control Message Protocol • ICMP provides a means for hosts and routers to communicate about problems that occur in the network – – – – Congestion notification Destination not reachable Packet TTL expiring Timestamp • ICMP utilizes IP as the underlying transport – So, ICMP messages are routeable • These capabilities are used by utility programs that are very useful in network troubleshooting – PING – Traceroute ICMP (cont’d) • Before discussing the PING and Traceroute utilities, let’s examine some of the details of certain ICMP packets Destination Unreachable, Time Exceeded Echo Request, and Echo Reply Timestamp Timestamp Reply ICMP Field Descriptions • The “Type” and “Code” fields are utilized by routers and hosts to determine the function of the packet – Destination unreachable – Echo Request • The remaining fields (Identifiers, sequence numbers, and data) are used to achieve the function of the utility Packet Internet Groper (PING) • Ping is a low-level utility that allows trouble shooting of networking problems – Utilizes the Echo Request and Reply packet of ICMP – Ping packets are the smallest packets that are routed on an IP network • Ping provides a means of testing connectivity to a remote device on an IP network • It is the first thing that you do to troubleshoot networking problems • If you can successfully ping a remote server, then the IP connectivity exists to that system – This implies that the problem is with higher layers than the IP layer PING Operation • An ECHO Request packet is sent to a destination IP address – Packet sequence numbers are used to uniquely identify the packet • The current time is stored in the data field of the Echo Request packet • The destination then encapsulates the ECHO Request packet in an ECHO Reply packet, and returns it to the sender • The sender can then determine the round trip travel time of the original packet – Round trip time is measured in milli-seconds (ms) Useful PING Features • If you run the Ping command without specifying an IP address, you can change some of the parameters – – – – – Number of packets Packet size Timeout values Change the source IP address Transmitted data pattern • These features are useful in troubleshooting problems that are sensitive to packet size, and/or data patterns Ping Error Messages • • • • Destination unreachable Network unreachable Port unreachable Percentage of packets that timed out – TTL expired Continuous Ping • Sometimes it is necessary to “turn-on” Ping, and let it run for an extended period of time • This allows you to look for intermittent problems with excessive propagation delay across the network • At the command prompt, this command is invoked by: – ping –t <IP address> – To breakout of this command, enter “CTRL C” • Look for large periodic changes in round trip travel time and the number of failed replies – Are all packets returning? – Are some packets being lost? PING by Domain Name • If you can ping a remote device using the IP address, but cannot access it via the web browser, try pinging using the domain name – Ping –t <target domain name> • If this does not work, then you know something is wrong with DNS • Try pinging the DNS server IP address on your network – If this does not work, then you know that your machine does not have connectivity to the DNS server, or that the DNS server is down Default Gateway Problems • If you can ping devices on your local area network, but cannot ping remote devices, there is something wrong with your default gateway setup • If your computer has no default gateway (router) defined, it does not know where to send packets that need to be routed to “foreign” networks What Is My IP Address? • In some networks, IP addresses are assigned dynamically • This means that if you go into the control panel, you can’t determine your IP address – This is useful for other troubleshooting techniques – This assumes that you have been assigned a public address Note: You cannot do this if you are behind a firewall, and use private IP addresses. What Is My IP Address? (cont’d) • If you have a public IP address you can find out what the IP address of your computer is by doing the following: – Open the “command” prompt • Start – Run – “cmd” – Go to the root directory – Enter the command “ipconfig” “IPCONFIG” Response Private IP Addresses • When an organization uses firewalls, a technique called “Network Address Translation” is used to mask the network details from machines outside of the firewall • NAT utilizes “private” IP addressing • Private IP addresses are not routed on the Internet – This is a requirement to connect a router to the Internet • Private IP addresses have the following format: – Class A – 10.0.0.0 – Class B – 172.16.0.0 through 172.31.255.255 – Class C – 192.168.0.0 through 192.168.255.255 Trace Route • “Traceroute,” or “trace” is another utility that uses ICMP messages to troubleshoot network problems – Time-to-live Exceeded, and Port Unreachable • This utility is used to report all routers that are in the path between a source and destination IP address • It works by sending a UDP/IP packet from the source to the destination • The TTL field is incremented from 1 to 30, which reports the trace “findings” as the packet TTLs expire Trace Operation • The TTL field is set to “1”, and the source sends the packet to the destination • When the packet makes it one hop, the first router decrements the TTL field to “0” • The router then discards the packet, since the “life” of the packet has expired, and sends an ICMP message back to the source indicating “packet death” – The router IP address is included as the Source Address – The source then knows the IP address of the first router in the path • The source does this three times, recording the round-trip time for each packet Trace Operation (cont’d) • At the end of this sequence, the TTL is incremented by one “hop” – The previously described procedure is then repeated • This continues until the packet reaches the final destination • The UDP packet is addressed to a high-numbered (unused) port • There is no process to receive and process the data, so the destination returns an ICMP “port unreachable” message to the source • When you invoke the trace command without any arguments, it interactively starts a dialogue similar to the Ping utility Trace “Asterisk” Indication • Sometimes when you perform the traceroute operation, you will see an asterisk (*) instead of the round-trip time • This tells you that there was no reply received before trace timed out • This is done to limit the vulnerability of the router to a denial-of-service attack Trace Route Output Trace Route Output • The previous IP address (207.59.200.120) was determined by pinging www.awdozier.com • The output obtained shows that Vanderbilt’s edge router to the Internet is hit in 3 “hops” – 129.59.146.128 • The route then propagates to the edge of the Qwest network – 205.171.21.186 • At this point, the path peers with another service provider, and ultimately hits Vallnet’s DNS server – 207.59.200.120 11 router hops from Vanderbilt to Fayetteville, TN!! Observations • Just because you are near the destination from the standpoint of geography, this does not mean that you are close from the standpoint of the network topology • Each router hop takes a finite amount of time to process – The round-trip time to the Vallnet DNS is around ms, which is pretty good 32 • If there are any points of congestion between you and the destination, performance degrades rapidly Looking Glass • Most big ISPs peer at a number of points with other large providers – http://www.traceroute.org/ • It is sometimes useful to diagnose connectivity problems by pinging, or traceroute’ing, from these peering points • This service is typically called “Looking Glass” • The service allows you to use the ISP’s router to ping back and/or trace back to your PC Sprint Looking Glass Sprint Looking Glass – Ping Output Sprint Looking Glass – Trace Output Other Useful Utilities • Telnet • File Transfer Protocol (FTP) TCP/IP Architecture Telnet • Before networking, users were restricted to working on computers to which they had physical access • In a networked environment, transport layer protocols can provide virtual connections across the network – This replaces the requirement that a user be physically attached to the computer – Remote login across the network • A very simple, terminal-based interface is frequently used by network engineers to communicate with remote devices • This interface has both a server-side application and a client application Telnet (cont’d) • The user executes a client program that establishes a TCP connection to the server application • The client sends keystrokes to the server, and the server generates responses that are then sent back to the client • The most common Internet remote terminal protocol is TELNET • Although not as sophisticated as a windowing interface, it is universally implemented and used on all Unix and Windows-based machines • Telnet is accessed from the command prompt – telnet [hostname port #] – The port number is optional File Transfer Protocol (FTP) • When you develop your web site, you will eventually need to migrate your locally developed files to the web server • This is most easily done using the File Transfer Protocol • The file transfer protocol consists of a server-side application and a windows-based client application, which is installed on your computer • Another alternative is to logon to an FTP server using the Telnet protocol – This would typically be a Unix server, which is beyond the scope of this course Windows-based FTP is easier for beginners Windows-based FTP • There are a variety of free, windows-based FTP clients available on the web • One of the more common ones is “Smart FTP” – http://www.smartftp.com/download/ • It would be advisable to install this utility on your computer • It allows you to “drag and drop” from Windows Explorer to the FTP directory, and vice’ versa Smart FTP Download Screen Smart FTP Directory Example Web Server Options • Web (HTTP) server software is the application responsible for accepting browser requests, retrieving the specified file, and returning its contents • Most web servers on the Internet are Unix-based – The most common web server application is Apache, which is an open source application – http://www.apache.org • Of course, as in all other matters associated with computing, Microsoft has other ideas about who builds the best web server software – Microsoft’s web server application is the “Internet Information Services” application, or IIS Web Server Options (cont’d) • In EECS we provide a web server for use on department projects – http://eecswebdev.vuse.vanderbilt.edu/projects – This server is an MS IIS server • Supports MS Frontpage Extensions • It also supports FTP • It is administered by Hampton Albert • The VSC-IT server is also available – LINUX/APACHE based – Requires the use of FTP to upload your code – Does not support MS IIS extensions for Front Page Development of Web Content • Our next lectures will begin to delve into the art of developing your web content • Web pages are essentially folders and directories of Hypertext Markup Language (HTML) files • When you develop in HTML, you can use a variety of applications – – – – – Notepad, or some other text editor Microsoft Word Microsoft Front Page Dreamweaver etc. Web Development Approach • MS FrontPage is installed on all EECS ICL computers, and is available for your use – This allows you to view, manage, move, copy, save, and rename files and folders on the Web server vs. doing this on your PC and uploading to the server via FTP • This will allow you to, just as you would perform the same actions in Windows Explorer • In addition, you get a kind of WYSIWYG interface – With some significant differences You may use any web development software for your project….. Alternative Development Environments • However, use of FrontPage is not required • Students can utilize any development environment which they choose to use • I will attempt to get you the support required to assist you in this project – VSC-IT students Next Lecture(s) • The next topics will be on HTML, and other web development utilities • At the conclusion of these lectures, we will start using these tools to build a web site – This will be your class project – Your project will result in your grade for the course