ECEN 1200 - Telecommunications 1

Peter Mathys, Fall 2006, 9/29/06


Homework/Computer Lab 5: Downloading and Installing Software, Data Compression, CyberKit Utility and Network Exploration


How to Submit Solutions for this Homework/Computer Lab
Due Date: Friday 10-06-06
E-mail To: no-spam e-mail
Subject Line: HWCL 05
1'st Line: Your name and student number

This computer lab is written for Windows 9x/2000/NT/XT based PCs, with a Mozilla/Firefox Browser or an Internet Explorer. Those portions of the lab that are not platform-specific can also be run on a Mac.

Quick Links


Goals of this Lab

The goals of this computer lab are:


Shareware Archives

What is Shareware? Shareware is a distribution system for computer programs based on the "try-before-you-buy" principle. If you like a program, then you make a registration payment to the author. If you don't want the program after trying it out, then you delete it or pass it along to a friend. Note that Shareware is not Freeware. To legally use a program that has been distributed as Shareware you have to pay for it. Registration usually gives some extra benefits such as technical support and enhanced program functionality.

Some of the major Shareware distribution sites on the WWW are:


Data Compression

Documents in English (or other languages), images, computer programs, etc., often contain a large amount of redundancy, i.e., additional information that is not absolutely necessary to convey the essence of a message. For example, you could go to the supermarket and ask "Excuse me, I was looking for tomatoes but couldn't find them. Could you please show me where they are?" But simply saying "Where tomatoes?" would get you there too, with much less time spent on communication.

When you are downloading program and data files from the WWW and store them in your computer, you want to minimize the time and the storage space that it takes to do so. Several general purpose compression formats, usually combined with archiving features (e.g., to combine several files in one compressed archive and/or to add password protection) exist. Some of the more popular formats are ZIP, RAR, 7z (7-Zip), ARJ, and SIT (StuffIt).

Most compression programs do well on the types of files they were designed for, but not so well on others. The general compression formats mentioned above are all able to compress text files very well. For images, the most common compression formats are GIF, PNG, and JPEG (or JPG). One compression format that works well for audio files is MPEG Layer 3 (called MP3). You will learn about some of these other formats in later computer labs.


Downloading and Installing 7-Zip

7-Zip is a freeware archive and file de-/compression utility which supports packing/unpacking for the 7z, ZIP, GZIP, BZIP2 and TAR formats. It also supports unpacking for the RAR, CAB, ISO, ARJ, LZH, CHM, Z, CPIO, RPM, DEB, and NSIS formats. The following paragraphs describe how to download and install 7-Zip on your computer.

To obtain programs from the WWW and run them on your computer, you typically need to complete the following 4 steps:

  1. Locate the program (often shareware) you want on the WWW by obtaining its URL (e.g., through a search engine).
  2. Download the program (often in "zipped", i.e., compressed and archived, form) from the WWW to your computer and save it in a directory that you will find again later (e.g., in a folder like "downloads" or "scratch" on the "C" or "D" drive). The actual download operation sometimes uses the ftp (file transfer protocol) protocol in binary mode, but the browser program takes care of this and hides it from you.
  3. Decompress (or "Unzip") the downloaded program using a program like 7-Zip or WinZip. Note: Some programs (with the file extension .exe) are self-extracting, most notably decompression programs themselves. Such programs are decompressed and often automatically installed by running them with the "Run..." command or by double-clicking on their filename in Windows Explorer.
  4. Install the program, by running a setup file (usually called setup.exe or install.exe) that comes together with the program that you downloaded. This step adapts and integrates the new program into the existing software and hardware environment. Note: Newer operating systems like Windows 2000 or Windows XP often only let users with Administrator privileges perform this last step in order to protect the operating system from intentional or unintentional corruption.

For the 7-Zip program this works as follows. Start by downloading the program (7z442.exe) from one of the following locations:

7-Zip Logo First download 7-Zip V4.42 (or later) either from their Web site at http://www.7-zip.org, or from our server 7z442.exe.

If necessary, select a mirror to download from. Before the actual downloading begins, a window will pop up and ask what you want to do with this file. Select save to disk as shown below.

Downloading 7-Zip: Save to Disk

Subsequently you will be asked where you want to save the file "7z442.exe". It does not really matter which location you choose as long as you remember later to which folder you downloaded the file. A good choice is C:\downloads or D:\downloads (create it if necessary) which was used in the following figure.

Downloading 7-Zip: Save As... Box

The 7z442.exe file is self-extracting. Thus, steps 3 and 4 will be carried out one after the other by running 7z442.exe. In Windows, click on "Start" and then select "Run" and fill in the resulting window as shown in the next figure (or as appropriate for the folder where you saved 7z442.exe).

Installing 7-Zip: Run comand window

Next, the install portion of 7-Zip will ask you to "Choose Install Location" as shown below.

Installing 7-Zip: Default install location

If you have Adminstrator privileges on the computer where you install 7-Zip this fine, otherwise choose a different install location, e.g., on the D drive as shown next.

Installing 7-Zip: Alternate install location

When the extraction and installation of the files in 7z442.exe is finished, a window similar to the one shown below should show up.

Installing 7-Zip: Completing the installation

Click on "Finish" to complete the installation process. Now you can run 7-Zip by clicking on "Start", selecting "Programs", "7-Zip", and then "7-Zip File Manager". Alternatively, look for the file 7zFM.exe in the folder where you installed 7-Zip and double click on it to run 7-Zip. You should see an opening screen similar to the following.

Opening Screen of 7-Zip

Downloading and "Unzipping" Files

As an example, download the following 7z file (right-click, choose "Save Target As", and save the file in a directory that you will find again later, e.g., C:\downloads or D:\downloads):

Make sure you have downloaded and installed 7-Zip. Run 7-Zip and open hw32v22.7z from the location to which you downloaded it. You should see a screen similar to the following.

Opening hw32v22.7z in 7-Zip

The first column lists all the files in the hw32v22.7z archive. Note the file setup.exe (3'rd from the bottom) that would be run to install Hex Workshop 2.20. The second column shows the uncompressed size of each file (B means bytes, K means kilobytes). The third column shows the compressed (or packed) size of block 0 (842 kilobytes) and of block 1 (23 kilobytes). The files in the archive are grouped into blocks before compression, they are not compressed individually. The following columns show the data when the file was last modified, the archive attribute, the CRC (cyclic redundancy check, used for error detection), the compression method, and the block number. Looking at block 1, for example, (the last three files), the uncompressed file size is (using 8 K for 8192) 46 K + 8 K + 10 K = 64 K and the compressed size is 23 K (about 36% of 64 K).

If all files are selected as shown in the following figure, then the total uncompressed size of the files in the archive is shown in the status line at the bottom (in the second field) as 942 K.

Total uncompressed size of files in hw32v22.7z

Extract the files from the hw32v22.7z archive into a folder, e.g., downloads/unzipped, but do not run the setup.exe program since for now this archive is only used to demonstrate how to compute compression ratios.


Compression Ratios

The compression ratio is a measure to determine the effectiveness of data compression for a given compression method (e.g., 7z format) and/or a given type of data (e.g., text, programs, images, etc.). Be careful when you compare compression ratios from different sources, not everybody uses the same formula for computing compression ratios! We are going to use the following definition:

                                            File size before compression
   Compression ratio = (x:1),  where    x = ----------------------------
                                            File size after compression
    

Thus, if a file, say filename.txt, has size 4329 KB (kilo bytes) before compression, and filename.7z has size 1394 KB after compression, then we say that the compression ratio is (3.11:1).

To measure the size of a file in Windows, start the "Windows Explorer" program (under "Programs" and "Accessories"). This should result in a display similar to the following:

Measuring File Size in Windows Explorer

If you only see the names of the files listed, or just icons for each file name, then click on the "Views" menu item and select "Details" as shown in the following figure. You may also want to click on "Refresh" (under the "View" menu item) before you read off any values to make sure that you obtain the most current file size.

Changing View to Details in Windows Explorer

For the file hw32v22.7z, for instance, the compressed file size is 867 KB. Loading this file into 7-Zip, selecting all files, and looking at the status line at the bottom (click here to see the screen snapshot) gives an uncompressed file size of 942 KB. Thus, the overall compression ratio is approximately 1.09:1. Note that this means that very little compression was achieved. In this case the main purpose of generating hw32v22.7z was to keep all the files for the Hex Workshop 2.20 program together in one archive.


Downloading and Installing CyberKit

CyberKit a is handy network utility program that is reasonably compact, easy to use and works very well. It is a postcardware program, i.e., if you like it and use it, you are supposed to send a postcard to the author as "payment" for the program. Start by downloading (right-click, "Save Target As") CyberKit (944 KB) and storing it in the \downloads folder on the C: or D: drive if you have not already done so. Then run 7-Zip and select the file cyber25.7z as shown in the following figure.

Files in cyber25.7z selected in 7-Zip

Select all files and click on "Extract" to extract the files from the compressed archive. Make a new folder, e.g., cyber25unzipped into which you extract the files.

Next, look at the extracted files in Windows Explorer as shown below.

Extracted files in Windows Explorer

Double click on the SETUP.EXE file to start the installation process. Follow the prompts of the Install Shield Wizard. Using the default values for all information that needs to be input during installation should work just fine and will install CyberKit in the folder C:\Program Files\Luc Neijens\CyberKit.

After the installation is complete, launch CyberKit by pressing "Start", selecting "Programs", and then choosing "CyberKit". You are now ready to explore some features of the Internet that are normally hidden from you.

Note: To install CyberKit under Windows 2000 or XP, you need administrator privileges. If you do not have administrator access on the computer where you want to run CyberKit (e.g., in the computer labs on campus), then you need to download (right-click, "Save Target As") and unzip cyber25run.7z. CyberKit can then be launched by running CyberKit.exe from the location to where you unzipped cyber25run.7z (e.g., downloads\cyber25unzipped). This is almost as good as the original CyberKit program, with the exception that "ping" and "tracert" do not work. To run those two commands you will have to use a "command window" in Windows 2000 or XP (invoked by the "cmd" command in the "Run" window under "Start").


CyberKit Internet Utilities

Note: If you are working on a computer that is connected to the Internet through a firewall, then some of the commands given below, most notably ping and traceroute (or tracert) may be blocked by the firewall. In this case use a traceroute gateway near your physical location to see how data gets routed from your computer to locations on the Internet. Here are some traceroute gateways not too far from Colorado:

Suppose you want to check whether a particular computer on the Internet, say www.mit.edu is "alive", i.e., it responds to the simplest form of communication over the Internet. Then you can use the Ping command which sends an IP datagram using ICMP (Internet Control Message Protocol), requesting the recipient to echo the IP datagram back. Ping actually stands for Packet InterNet Groper, but you can also think of it as a "ping" signal sent out by a submarine or a ship using sonar. Most ping programs send out several IP datagrams and then show the approximate round-trip delay for each. In addition, they usually also convert the host name to its numerical IP address and display that information. The use of ping in CyberKit is illustrated in the following figure.

Using CyberKit to Ping another computer on the Internet

In case you could not install the full version of CyberKit under Windows 2000 or XT because of lacking administrator privileges, you can also run the "ping" command from a command window as follows. Click on "Start" and "Run" and type cmd as shown in the following figure.

Launching a command window under Windows 2000/XP

At the command prompt in the command window type "ping" followed by the address (either a domain name or a numerical IP address) of the computer you want to ping as shown in the next screen snapshot.

Using a command window to Ping another computer on the Internet

But suppose now that you didn't only want to know that a certain computer can be reached over the Internet, but also through which intermediate points, called routers, it is reached. For this purpose you can use the TraceRoute application. In CyberKit this looks as shown below for the example of tracing the path to the Web site of the National University Hospital of Iceland.

Using TraceRoute in CyberKit to trace the path to the National
      University Hospital of Iceland

The "tracert" command can also be issued from a command window under Windows 2000/XP as shown in the next figure.

Using tracert in a command window to trace the path to the National
      University Hospital of Iceland

Next, let's assume that you would like to open a flower shop on the Internet and you'd like to use the name www.flowers.com for your Web site. Is the domain name flowers.com still available? This is a question for a WhoIs database, like whois.internic.net (for .com, .net, and .edu domains), or whois.publicinterestregistry.org (for .org domain), or whois.educause.net (for .edu domain), or whois.nic.gov (for .gov domain), or whois.nic.us (for .us domain). To find a whole list of WhoIs servers, use WhoIs with address sipb.mit.edu and query "WhoIs-Servers". An example of using whois.internic.net to find out whether flowers.com is still available is shown in the following figure (note that we are not asking for www.flowers.com because the www prefix is administered locally by the administrator of flowers.com and is not stored in the WhoIs database).

Using WhoIs at whois.internic.net to find information about
      an Internet domain (e.g., yahoo-dom)

Not surprisingly, this domain name is already taken. If you would like to know who administers this domain name you would have to repeat your query in the whois.register.com database.

NS LookUp lets you look up the records of computer names on a domain name server. As shown in the next figure, you can for example get the numerical IP addresses of a particular WWW address like www.yahoo.com. This also shows you how many servers a Web site uses.

Using CyberKit for a Name Server lookup of www.yahoo.com

Finally, CyberKit also provides you with a handy utility to precisely adjust the clock of your computer. Click on the "Time" tab, enter time.nist.gov in the address field, click the SNTP button and check the "Synchronize local clock" box. Then click on "Go" and your computer's clock will be set to the current time with atomic clock precision (assuming you use mountain standard time). This is shown in the following figure.

Using CyberKit for exact time and time synchronization

Other addresses that you can use for this (in the MST zone) are:


Exploring Computer Networks

When you use a computer network like the Internet, you will sooner or later start asking such questions as, "Which other computers on the network can I reach,", or "How far away from me (in time, distance, hops, etc) are other computers", or where is a particular computer or site located physically", etc. The tracert (or TraceRoute) command, when properly used and interpreted, can reveal much of this information in a TCP/IP (Internet) network.

The way in which TraceRoute (or tracert in a Windows command window) works is as follows. Each IP datagram (also called "packet") that is sent on the Internet has a TTL (time to live) counter. Every time the datagram passes through a router along its way, that router decrements the TTL counter by one. When the count is down to 0, then the datagram is thrown away and the router which discarded the datagram sends a message back to the origin of the datagram to report a transmission error and the address of the node at which it ocurred. Thus, if a datagram is sent to a destination on the Internet with a TTL value of 1, then the first router along the way throws the datagram out and reports this back to the sender. If a datagram is sent with the TTL set to 2, then the datagram will get past the first router, but will be discarded by the second one along the way, etc. In this way the TraceRoute application will eventually get to know all routers along the path from the source to the destination and it can display this information, together with the rountrip time that it took to reach each of the routers and get back a response. Note: Some routers quietly drop datagrams with a TTL value of 0, and in this case you may get a "No response from this host" or similar message. For security reasons, many sites are connected to the Internet through a firewall, i.e., a computer that sits between the public Internet and a private intranet and only lets requests and data pass that are considered unharmful (or non-offensive) for the computers and users of the intranet. Very often firewalls are blocking the test packets that TraceRoute sends out, and in this case you will get a message similar to "Destination net unreachable". This is usually not a problem for determining the physical location of a site since the firewall is usually located in close proximity to the intranet.

Example: TraceRoute to disneyworld.com. The table below shows a typical response when TraceRoute is executed on a computer that is connected to the Internet via a Modem-Pool connection to the CU Boulder campus network.

Tracing route to disneyworld.com [63.70.44.14]
Hop Time Host Name Address Remarks
1 137 ms dialup-87-1.Colorado.EDU [128.138.87.1] Telephone modem is slow!
2 137 ms tcom130-0-supa.Colorado.EDU [128.138.130.2] tcom: telecom
3 144 ms tcom-tcomgw.Colorado.EDU [128.138.81.129] tcomgw: telecom gateway
4 127 ms hut-tcom.Colorado.EDU [128.138.81.201]  
5 130 ms juniper-hut.Colorado.EDU [128.138.81.250]  
6 143 ms frgp-cuatm.Colorado.EDU [198.59.55.6] cuatm: CU ATM switch
frgp: Front Range GigaPoP
7 140 ms ucar.edu.ip.att.net [12.124.158.13] ucar: University Corporation for Atmospheric Research
8 127 ms gbr1-p60.dvmco.ip.att.net [12.123.36.138] dvmco: Denver, CO
9 137 ms gbr4-p70.dvmco.ip.att.net [12.122.5.21]  
10 157 ms gbr4-p80.dlstx.ip.att.net [12.122.2.101] dlstx: Dallas, TX
11 150 ms gbr3-p60.dlstx.ip.att.net [12.122.1.137]  
12 174 ms gbr4-p40.attga.ip.att.net [12.122.3.38] attga: Atlanta, GA
13 174 ms gbr3-p60.attga.ip.att.net [12.122.1.141]  
14 170 ms gbr4-p50.ormfl.ip.att.net [12.122.2.130] ormfl: Orlando, FL
15 167 ms gbr2-p100.ormfl.ip.att.net [12.122.5.134]  
16 170 ms gar1-p370.ormfl.ip.att.net [12.123.32.109]  
17 180 ms 12.126.150.22 [12.126.150.22]  
18 * Destination net unreachable [12.126.150.22] Firewall reached

Note that in general the round trip times ("Time") listed above are fairly high. This is because a modem connection was used, and that tends to be rather slow. If you run TraceRoute from a computer which is directly connected to the campus network via Ethernet, then all times will be about 120..130 ms less. The nodes at hops 1 to 6 are all located on the CU Boulder campus. Note that sometimes a hop that is farther away has a smaller rountrip time than one that is closer. This does not mean, however, that it took a negative amount of time for the test packet on the links in between. It just simply reflects the fact that the round trip delay also includes processing and queueing delays at the nodes, and these can vary depending on other traffic. Generally, the actual transmission time within a campus network or even a metropolitan area network (MAN) is in the range from 0..5 ms and more or less negligible. In the example above, packets leave campus at node 6 and and are sent to UCAR (University Corporation for Atmospheric Research). At node 7 they are passed on to AT&T's fiber optic MAN around Denver. At node 9 they leave Denver and travel to the MAN around Dallas between hops 9 and 10. From Dallas they move on to Atlanta, and then to Orlando in Florida. Note that the incremental rountrip delay between Denver and Dallas is about 30 ms, the one between Dallas and Atlanta is about 20 ms, and the one between Atlanta and Orlando is close to 0 ms. Keep in mind again that these roundtrip delays include processing time at the nodes and with fast optical fiber links this is often the dominant cause for delays. In Orlando, at nodes 17 and 18 the packet leaves the high speed backbone and, most likely due to a firewall at hop 18, the actual computer with hostname www.disneyworld.com is unreachable with TraceRoute (it can be reached, however with http://www.disneyworld.com. Thus, as suspected, the most likely physical location of disneyworld.com is Orlando, FL.

As shown in the above example, geographical locations of nodes, and especially routers, can often be guessed from acronyms used in their host names (see partial list of router acronyms). In addition, several backbone network providers publish maps of their networks (usually not too easy to find from their home page) from which router locations can be obtained. For the above example, the following excerpt from the AT&T IP backbone network map was used.

AT&T IP Backbone Network, 3Q2001

Here are links to some of the larger network providers:

Another interesting approach to determine the (approximate) physical location of a host computer on the Internet is to use several TraceRoutes from different (known) physical locations. For this to work it is necessary to run the TraceRoute application remotely from another computer that runs a traceroute gateway program. Here are links to some traceroute gateways:


Network Features and Considerations

Network consisting of nodes and links

Network topologies

Tree topology, spanning tree


Your Task

To obtain credit for this homework/computer lab you need to answer the questions stated below. Send your solution to no-spam e-mail.

Rules for the Submission of Homework/Computerlab Solutions

Format: E-mail your solution as a plain text (ASCII) file. Do not use word processor files like Microsoft Word or "rich-text" HTML files.

Corrections: If you need to make corrections after you submitted your solution, resubmit all your answers (not only the ones that changed) since only your last submission of each homework/computer lab will be graded.

Teamwork: Teamwork is fine for the homework/computer labs, but the solutions must be turned in individually. In particular, copy and paste of entire solutions from other students is not acceptable.

Questions:

  1. Find file names and homepages (or URLs for downloading) of shareware/freeware programs with the following specifications:
    1. Digital sound editor for .wav sound files.
    2. A small (approx 2 MB or less) popular freeware HTML editor.
  2. Compute the compression ratios for the archives given below. Make sure you have downloaded and installed 7-Zip. Then download (right-click, "Save Target As") the .7z and .rar archives and extract the files into separate folders of your choice (make sure you find these folders again later).
    1. The Old Testament (844 KB).
    2. The 445-Page Starr Report (147 KB).
    3. CyberKit Program (846 KB).
    4. Image Files (1528 KB).
    5. Sound Files (609 KB).
    Use the <pre> and </pre> tags to make a simple table similar to the following
      Postal Rates and Delivery for 2 lb Book
    
                       |  Rate  | Days |
            -----------+--------+------+
             Book Rate |  $1.84 |  6-8 |
             Priority  |  $5.40 |  2-3 |
             Express   | $17.85 |   1  |
    
    that lists for each .zip file the compressed size, the uncompressed size (i.e., the sum of the uncompressed filesizes of all files in the .7z or .rar archive) and the compression ratio. Put the table on your homepage (or the separate page that you use for this class). State the URL of the location where this table can be found. Note: Real HTML tables will be covered in detail in a later lab. If you already know how to make such tables, feel free to use that.
  3. Use CyberKit or ping in a "WINDOWS\system32\cmd" window to find the numerical IP address(es) of the White House website at www.whitehouse.gov.
  4. Use the TraceRoute option in CyberKit, or tracert in a "WINDOWS\system32\cmd" window, or one or more of the traceroute gateways given earlier to find out where approximately in Europe the servers for de.yahoo.com (Yahoo for Germany), fr.yahoo.com (Yahoo for France), and it.yahoo.com (Yahoo for Italy), are located. Increase the "End With Hop" number to about 30 if you use CyberKit.
  5. Who is the administrative contact of the colorado.edu domain? Use the WhoIs option in CyberKit to find out from whois.educause.net.
  6. Suppose you want to open a flower shop on the Internet. Are any of the following domain names still available: Use the whois.internic.net database for the COM, NET and EDU top level domains, and the whois.publicinterestregistry.org database for the ORG top level domain to find out.
  7. Under the Time option of CyberKit there is a button labeled SNTP, which is the abbreviation for a particular Internet protocol. Find out what SNTP stands for. Hint: Remember RFCs and the Web site at http://www.rfc-editor.org.