Lab 01 Computer Networks
Lab 01 Computer Networks
Transmission media is a communication channel that transmits information from the source/transmitter to
the receiver. It is a physical path for data transfer through electromagnetic signals. Information is carried
over in the form of bits through LAN. It can mediate the propagation of signals for telecommunication.
Signals are imposed on a wave that is suitable for the chosen medium. These media lie underneath the
physical layer that regulates them. While designing a transmission, it is important to keep the following
pointers in mind:
The bandwidth should be greater since it will result in a higher data transmission rate of a signal.
If you are wondering how many types of transmission media are there, then do take a look at this section.
Broadly, there are two types of transmission media in computer networks including guided and unguided
media. These two types of transmission medium in computer networks have further subtypes. Let us
discuss these in detail.
Guided media is a type of transmission media which is also known as wired or bounded media. These
transmission media consist of wires through which the data is transferred. Guided media is a physical link
between transmitter and recipient devices. Signals are directed in a narrow pathway using physical links.
These media types are used for shorter distances since physical limitation limits the signal that flows
through these transmission media.
In this type of transmission media, two insulated conductors of a single circuit are twisted together to
improve electromagnetic compatibility. These are the most widely used transmission medium cables.
These are packed together in protective sheaths. They reduce electromagnetic radiation from pairs and
crosstalk between the neighbouring pair. Overall, it improves the rejection of external electromagnetic
interference. These are further subdivided into unshielded and shielded twisted pair cables.
1.1.1 Unshielded Twisted Pair Cable(UTP): These consist of two insulated copper wires that are coiled
around one another. These types of transmission media block interference without depending on any
physical shield. The unshielded twisted pair are very affordable and are simple to set up. These provide a
high-speed link.
1.1.2 Shielded Twisted Pair (STP): This twisted cable consisted of a foil shield to block external
interference. The insulation within these types of twisted cable allow greater data transmission rate. These
are used in fast-data-rate Ethernet and in data and voice channels of telephone lines.
Also known as fiber optic cable, these type of transmission media are thin strands of glass that guide light
along their length. These contain multiple optical fibers and are very often used for long-distance
communications. Compared to other materials, these cables can carry huge amounts of data and run for
miles without using signal repeaters. Due to lesser requirements, they have less maintenance costs and it
improves the reliability of the communication system. These can be unidirectional as well as bidirectional
in nature.
These guided transmission media contain an insulation layer that transmits information in baseband mode
and broadband mode. Coaxial cables are made of PVC/Teflon and two parallel conductors that are
separately insulated. Such cables carry high frequency electrical signals without any big loss. The
dimension of cable and connectors are controlled to give them constant conductor spacing for efficient
functioning as a transmission line.
1.3.1 Hardline Coaxial Cable: These are used for high signal strength applications including long-
distance telephone lines. These look like any regular coaxial cable but these are 1.75" thick. This type of
cable has the capability to carry hundreds of channels of cable tv. Such cables have sufficient interent
capacity for medium sized office building.
1.3.2 RG-6 Coaxial Cable: This is mainly used for cable and satellite signal transmission for the purpose
of residential and commercial installation. These are thin and are easily bendable for wall or ceiling
installation. Such cables are preferred for relaying cable television signals.
1.3.3 Triaxial Cable: Also known as triax, these are the electrical cable that come with an add on layer
of insylation and second conducting sheat. These cables provide greater bandwidth as well as rejection of
interference as compared to coax. However, triaxal cable are expensive type of transmission media.
1.4 Stripline
This is a transverse electromagnetic (TEM) type of transmission media that is built on the inner layers of
multi-layer printed circuit boards. These are used in high or low-level RF signals that require isolation
from surrounding circuitry. It is a type of printed circuit transmission line in which a signal trace is
sandwiched between the upper and lower ground place. Stripline minimizes emissions electromagnetic
radiation and is completely enclosed within a homogeneous dielectric. Along with the reduced emissions,
it also shields against incoming spurious signals.
1.5 Microstripline
While Microstripline is similar to stripline, it is not sandwiched and is present above the ground plane.
These can be fabricated with any technology where the conductor is separated from the ground plane by
a dielectric layer called subtrated. These transmission media convert microwave frequency signals.
Microstrip is also used for building microwave components such as couplers, filters, power dividers,
antennas, etc. In comparison with the traditional waveguide technology, it is less expensive.
Also known as unbounded or wireless media, they help in transmitting electromagnetic signals without
using a physical medium. Here, air is the medium. There is no physical connectivity between transmitter
and receiver. These types of transmission media are used for longer distances however they are less secure
than guided media. There are three main types of wireless transmission media.
Radio waves are transmitted in every direction throughout free space. Since these are omnidirectional,
sent waves can be received by any antenna. These waves are useful when the data is to multicasted from
one sender to multiple receivers. Radio waves can cover large areas and even penetrate obstacles such as
buildings and walls. The frequency of these waves ranges between 3 kHz to 1GHz. Due to its
omnidirectional nature, issues such as interference might arise when another signal with the same
bandwidth or frequency is sent.
2.2 Infrared
These waves are useful for only very short-distance communication. Unlike radio waves, they do not have
the ability to penetrate barriers. Their range varies between 300GHz – 400THz. Since they have larger
bandwidth, the data rate is very high for infrared waves. These have less interference and are more secure.
2.3 Microwaves
For these waves, it is important for the transmitter and receiver antenna to be aligned. This is why it is
known as line-of-sight transmission. Due to this, they are suitable for shorter distances. They comprise of
electromagnetic waves with frequencies ranging between 1-400 GHz. Microwaves provide bandwidth
between the range of 1 to 10 Mbps. Distance covered by the signal is proportional to the height of the
antenna. For travelling to longer distances, the height of the tower should be increased. These are further
sub categorized as terrestrial and satellite type microwave transmission.
2.3.1 Terrestrial type microwave transmission: In this type, high directional antennas are used for line
of sight propagation paths that use frequency between 4-12 GHz. These are parabolic antennas having
diameters that range from 12 inches to feet depending on their spacing.
2.3.2 Satellite type microwave transmission: Signals are transmitted to those spaces where satellites are
positioned and they retransmit the signal to appropriate locations. Since they only receive and retransmit
the signal, they act as repeaters. It is a much more flexible and reliable method of communication in
comparison with cables and fiber systems.
The following table summarizes the advantages and disadvantages of transmission media:
Type of Transmission Media Advantages Disadvantages
While designing transmission medium in computer networks, it is important to consider the following
factors:
Greater bandwidth of the transmission medium allows higher data transmission rate of signal.
Due to transmission impairment, the received signal may get destroyed since it does not seem
identical to the transmitted signal.
Type Uses
Implement the cross-wired cable and straight through cable using clamping tool
Tools Required:
1. Twisted Pair Ethernet Cables (Cat5e or Cat6) – This is the main cable used to make network
connections.
2. RJ45 Connectors – These connectors are used to terminate the ends of the Ethernet cable.
4. Cable Stripper/Cutter – A tool used to strip off the outer jacket of the cable and cut it to the
desired length.
5. Cable Tester (Optional) – To test if the cable is working properly after crimping.
We will perform followings steps to implement the cross-wired cable and straight through cable using
clamping tool:
1. Start by cutting the Ethernet cable to your desired length using the cable cutter. After that, use the
cable stripper to carefully strip about 1 inch (2.5 cm) of the outer jacket from both ends of the
cable, revealing the twisted wire pairs inside.
2. Inside the Ethernet cable, you will find four twisted pairs of wires (8 wires total). Untwist these
carefully to expose the individual wires. The color pairs should be:
Wire Number Pair Number Color
1 1 white/blue
2 1 blue
3 2 white/orange
4 2 orange
5 3 white/green
6 3 green
7 4 white/brown
8 4 brown
For Straight-Through Cable: To create a straight-through cable, the wiring at both ends of the cable
should follow the same sequence (T568B standard). Arrange the wires in the following order on both
ends:
Trim the wires evenly so they can fit neatly into the RJ45 connector.
For Cross-Wired Cable: To create a cross-wired cable, one end follows the T568B standard (same as
straight-through), and the other end follows the T568A standard. For T568A, arrange the wires in the
following order:
Trim the wires evenly at both ends.
3. Once the wires are arranged in the correct order, trim them to an even length. Hold the RJ45
connector with the clip side facing away and insert the wires into the connector, ensuring that they
maintain the correct order as you push them all the way to the end of the connector.
4. Insert the RJ45 connector into the clamping tool and squeeze firmly. This will crimp the connector
onto the cable, ensuring that the metal pins inside the connector pierce through the wires, creating
a secure connection.
5. you are making a straight-through cable, repeat the same color arrangement (T568B) on the other
end. If you are making a cross-wired cable, use the T568A arrangement for the second end.
6. Once both ends are crimped, use a cable tester to ensure the cable is functioning properly by testing
the connection between the two ends. The tester will confirm if the straight-through or cross-wired
configuration is correct.
Getting Wireshark
In order to run Wireshark, you’ll need to have access to a computer that supports both Wireshark and the
libpcap or WinPCap packet capture library. The libpcap software will be installed for you, if it is not
installed within your operating system, when you install Wireshark. See
http://www.wireshark.org/download.html for a list of supported operating systems and download sites.
Running Wireshark
Before you run Wireshark, here are two things to check in your network connection and browser
configuration:
Make sure you are not running a VPN (virtual private network) service. We’ll learn about VPNs
later in this course. But for now, all you need to know is that when you’re running a VPN service,
upper-layer protocol information (HTTP, TCP) that is sent by your computer may be encrypted.
This makes it impossible to use Wireshark to look at what’s going on inside these protocols!
Make sure your browser program is not, by default, using the HTTP/3 protocol or the QUIC
protocol. We’ll learn about HTTP/3 and QUIC in Chapter 2. But for now, all you need to know is
that when you’re running HTTP/3 or QUIC, upper-layer protocol information (HTTP, TCP) sent
by your computer will be encrypted. By 2024, most popular browsers have adopted HTTP/3 and
QUIC as defaults. A document that describes how to disable HTTP/3 AND QUIC as the defaults
for your browser is here: https://techysnoop.com/disable-quic-protocol-in-chrome-edge-firefox/ .
When you run the Wireshark program, you’ll get a startup screen that looks something like the screen
below. Different versions of Wireshark will have different startup screens – so don’t panic if yours doesn’t
look exactly like the screen below! The Wireshark documentation states “As Wireshark runs on many
different platforms with many different window managers, different styles applied and there are different
versions of the underlying GUI toolkit used, your screen might look different from the provided
screenshots. But as there are no real differences in functionality these screenshots should still be well
understandable.” Well said.
Figure 2: Initial Wireshark Screen
There’s not much that’s very interesting on this screen. But note that under the Capture section, there is
a list of so-called interfaces. The Mac computer we’re taking these screenshots from has just one interface
– “Wi-Fi en0,” (shaded in blue in Figure 2) which is the interface for Wi-Fi access. All packets to/from
this computer will pass through the Wi-Fi interface, so it’s here where we’ll want to capture packets. On
a Mac, double click on this interface (or on another computer locate the interface on startup page through
which you are getting Internet connectivity, e.g., mostly likely a WiFi or Ethernet interface, and select
that interface).
Let’s take Wireshark out for a spin! If you click on one of these interfaces to start packet capture (i.e., for
Wireshark to begin capturing all packets being sent to/from that interface), a screen like the one below
will be displayed, showing information about the packets being captured. Once you start packet capture,
you can stop it by using the Capture pull down menu and selecting Stop (or by clicking on the red square
button next to the Wireshark fin in Figure 2). 1
Figure 3: Wireshark window, during and after capture
This looks more interesting! The Wireshark interface has five major components:
The command menus are standard pulldown menus located at the top of the Wireshark window
(and on a Mac at the top of the screen as well; the screenshot in Figure 3 is from a Mac). Of
interest to us now are the File and Capture menus. The File menu allows you to save captured
packet data or open a file containing previously captured packet data and exit the Wireshark
application. The Capture menu allows you to begin packet capture.
The packet-listing window displays a one-line summary for each packet captured, including the
packet number (assigned by Wireshark; note that this is not a packet number contained in any
protocol’s header), the time at which the packet was captured, the packet’s source and destination
addresses, the protocol type, and protocol-specific information contained in the packet. The packet
listing can be sorted according to any of these categories by clicking on a column name. The
protocol type field lists the highest-level protocol that sent or received this packet, i.e., the protocol
that is the source or ultimate sink for this packet.
The packet-header details window provides details about the packet selected (highlighted) in the
packet-listing window. (To select a packet in the packet-listing window, place the cursor over the
packet’s one-line summary in the packet-listing window and click with the left mouse button.).
These details include information about the Ethernet frame (assuming the packet was sent/received
over an Ethernet interface) and IP datagram that contains this packet. The amount of Ethernet and
IP-layer detail displayed can be expanded or minimized by clicking on the plus/minus boxes or
right/downward-pointing triangles to the left of the Ethernet frame or IP datagram line in the packet
details window. If the packet has been carried over TCP or UDP, TCP or UDP details will also be
displayed, which can similarly be expanded or minimized. Finally, details about the highest-level
protocol that sent or received this packet are also provided.
The packet-contents window displays the entire contents of the captured frame, in both ASCII
and hexadecimal format.
Towards the top of the Wireshark graphical user interface, is the packet display filter field, into
which a protocol name or other information can be entered in order to filter the information
displayed in the packet-listing window (and hence the packet-header and packet-contents
windows). In the example below, we’ll use the packet-display filter field to have Wireshark hide
(not display) packets except those that correspond to HTTP messages.
1. Start up your favorite web browser, which will display your selected homepage.
2. Start up the Wireshark software. You will initially see a window similar to that shown in Figure
2. Wireshark has not yet begun capturing packets.
3. To begin packet capture, select the Capture pull down menu and select Interfaces. This will cause
the “Wireshark: Capture Interfaces” window to be displayed (on a PC) or you can choose Options
on a Mac. You should see a list of interfaces, as shown in Figures 4a (Windows) and 4b (Mac).
4. You’ll see a list of the interfaces on your computer as well as a count of the packets that have been
observed on that interface so far. On a Windows machine, click on Start for the interface on which
you want to begin packet capture (in the case in Figure 4a, the Gigabit network Connection). On
a Windows machine, select the interface and click Start on the bottom of the window). Packet
capture will now begin - Wireshark is now capturing all packets being sent/received from/by your
computer!
5. Once you begin packet capture, a window similar to that shown in Figure 3 will appear. This
window shows the packets being captured. By selecting Capture pulldown menu and selecting
Stop, or by click on the red Stop square, you can stop packet capture. But don’t stop packet
capture yet. Let’s capture some interesting packets first. To do so, we’ll need to generate some
network traffic. Let’s do so using a web browser, which will use the HTTP protocol that we will
study in detail in class to download content from a website.
7. After your browser has displayed the INTRO-wireshark-file1.html page (it is a simple one line of
congratulations), stop Wireshark packet capture by selecting stop in the Wireshark capture
window. The main Wireshark window should now look similar to Figure 3. You now have live
packet data that contains all protocol messages exchanged between your computer and other
network entities! The HTTP message exchanges with the gaia.cs.umass.edu web server should
appear somewhere in the listing of packets captured. But there will be many other types of packets
displayed as well (see, e.g., the many different protocol types shown in the Protocol column in
Figure 3). Even though the only action you took was to download a web page, there were evidently
many other protocols running on your computer that are unseen by the user. We’ll learn much
more about these protocols as we progress through the text! For now, you should just be aware
that there is often much more going on than “meet’s the eye”!
8. Type in “http” (without the quotes, and in lower case – all protocol names are in lower case in
Wireshark) into the display filter specification window at the top of the main Wireshark window.
Then select Apply (to the right of where you entered “http”) or just hit return. This will cause only
HTTP message to be displayed in the packet-listing window. Figure 5 below shows a screenshot
after the http filter has been applied to the packet capture window shown earlier in Figure 3. Note
also that in the Selected packet details window, we’ve chosen to show detailed content for the
Hypertext Transfer Protocol application message that was found within the TCP segment, that was
inside the IPv4 datagram that was inside the Ethernet II (WiFi) frame. Focusing on content at a
specific message, segment, datagram and frame level lets us focus on just what we want to look at
(in this case HTTP messages).
Figure 5: looking at the details of the HTTP message that contained a GET of
http://gaia.cs.umass.edu/wireshark-labs/INTRO-wireshark-file1.html
9. Find the HTTP GET message that was sent from your computer to the gaia.cs.umass.edu HTTP
server. (Look for an HTTP GET message in the “listing of captured packets” portion of the
Wireshark window (see Figures 3 and 5) that shows “GET” followed by the gaia.cs.umass.edu
URL that you entered. When you select the HTTP GET message, the Ethernet frame, IP datagram,
TCP segment, and HTTP message header information will be displayed in the packet-header
window2. By clicking on ‘+’ and ‘-' and right-pointing and down-pointing arrowheads to the left
side of the packet details window, minimize the amount of Frame, Ethernet, Internet Protocol, and
Transmission Control Protocol information displayed. Maximize the amount information
displayed about the HTTP protocol. Your Wireshark display should now look roughly as shown
in Figure 5. (Note, in particular, the minimized amount of protocol information for all protocols
except HTTP, and the maximized amount of protocol information for HTTP in the packet-header
window).
1. List 3 different protocols that appear in the protocol column in the unfiltered packet-listing window
in step 7 above.
2. How long did it take from when the HTTP GET message was sent until the HTTP OK reply was
received? (By default, the value of the Time column in the packet-listing window is the amount of
time, in seconds, since Wireshark tracing began. To display the Time field in time-of-day format,
select the Wireshark View pull down menu, then select Time Display Format, then select Time-of-
day.)
4. Print the two HTTP messages (GET and OK) referred to in question 2 above. To do so, select Print
from the Wireshark File command menu, and select the “Selected Packet Only” and “Print as
displayed” radial buttons, and then click OK.
HTTP Packet analysis in Wireshark.
The Basic HTTP GET/response interaction
Let’s begin our exploration of HTTP by downloading a very simple HTML file - one that is very short,
and contains no embedded objects. Do the following:
2. Start up the Wireshark packet sniffer, as described in the Introductory lab (but don’t yet begin
packet capture). Enter “http” (just the letters, not the quotation marks) in the display-filter-
specification window, so that only captured HTTP messages will be displayed later in the packet-
listing window. (We’re only interested in the HTTP protocol here, and don’t want to see the clutter
of all captured packets).
3. Wait a bit more than one minute (we’ll see why shortly), and then begin Wireshark packet capture.
Your Wireshark window should look similar to the window shown in Figure 1. If you are unable to run
Wireshark on a live network connection, you can download a packet trace that was created when the steps
above were followed.
The example in Figure 1 shows in the packet-listing window that two HTTP messages were captured:
The GET message (from your browser to the web server) and the response message from the server to
your browser. The packet-contents window shows details of the selected message (in this case the HTTP
OK message, which is highlighted in the packet-listing window). Recall that since the HTTP message
was carried inside a TCP segment, which was carried inside an IP datagram, which was carried within an
Ethernet frame, Wireshark displays the Frame, Ethernet, IP, and TCP packet information as well. We
want to minimize the amount of non-HTTP data displayed (we’re interested in HTTP here, and will be
investigating these other protocols is later labs), so make sure the boxes at the far left of the Frame,
Ethernet, IP and TCP information have a plus sign or a right-pointing triangle (which means there is
hidden, undisplayed information), and the HTTP line has a minus sign or a down-pointing triangle (which
means that all information about the HTTP message is displayed).
(Note: You should ignore any HTTP GET and response for favicon.ico. If you see a reference to this file,
it is your browser automatically asking the server if it (the server) has a small icon file that should be
displayed next to the displayed URL in your browser. We’ll ignore references to this pesky file in this
lab.).
By looking at the information in the HTTP GET and response messages, answer the following questions.
When answering the following questions, you should print out the GET and response messages (see the
introductory Wireshark lab for an explanation of how to do this) and indicate where in the message you’ve
found the information that answers the following questions. When you hand in your assignment, annotate
the output so that it’s clear where in the output you’re getting the information for your answer (e.g., for
our classes, we ask that students markup paper copies with a pen, or annotate electronic copies with text
in a colored font).
1. Is your browser running HTTP version 1.0 or 1.1? What version of HTTP is the server running?
2. What languages (if any) does your browser indicate that it can accept to the server?
4. What is the status code returned from the server to your browser?
5. When was the HTML file that you are retrieving last modified at the server?
7. By inspecting the raw data in the packet content window, do you see any headers within the data
that are not displayed in the packet-listing window? If so, name one.
The HTTP CONDITIONAL GET/response interaction
Most web browsers perform object caching and thus perform a conditional GET when retrieving an HTTP
object. Before performing the steps below, make sure your browser’s cache is empty. (To do this under
Firefox,
select Tools->Clear Recent History and
check the Cache box, or for Internet Explorer,
select Tools->Internet Options->Delete File;
these actions will remove cached files from your browser’s cache.) Now do the following:
Start up your web browser, and make sure your browser’s cache is cleared, as discussed above.
Quickly enter the same URL into your browser again (or simply select the refresh button on your
browser)
Stop Wireshark packet capture, and enter “http” in the display-filter-specification window, so that
only captured HTTP messages will be displayed later in the packet-listing window.
(Note: If you are unable to run Wireshark on a live network connection, you can use the http-
ethereal-trace-2 packet trace to answer the questions below; see footnote 1. This trace file was
gathered while performing the steps above on one of the author’s computers.)
8. Inspect the contents of the first HTTP GET request from your browser to the server. Do you see
an “IF-MODIFIED-SINCE” line in the HTTP GET?
9. Inspect the contents of the server response. Did the server explicitly return the contents of the file?
How can you tell?
10. Now inspect the contents of the second HTTP GET request from your browser to the server. Do
you see an “IF-MODIFIED-SINCE:” line in the HTTP GET? If so, what information follows the
“IF-MODIFIED-SINCE:” header?
11. What is the HTTP status code and phrase returned from the server in response to this second HTTP
GET? Did the server explicitly return the contents of the file? Explain.
Retrieving Long Documents
In our examples thus far, the documents retrieved have been simple and short HTML files. Let’s next see
what happens when we download a long HTML file. Do the following:
Start up your web browser, and make sure your browser’s cache is cleared, as discussed above.
Stop Wireshark packet capture, and enter “http” in the display-filter-specification window, so that
only captured HTTP messages will be displayed.
(Note: If you are unable to run Wireshark on a live network connection, you can use the http-
ethereal-trace-3 packet trace to answer the questions below; see footnote 1. This trace file was
gathered while performing the steps above on one of the author’s computers.)
In the packet-listing window, you should see your HTTP GET message, followed by a multiple-packet
TCP response to your HTTP GET request. This multiple-packet response deserves a bit of explanation.
Recall from Section 2.2 (see Figure 2.9 in the text) that the HTTP response message consists of a status
line, followed by header lines, followed by a blank line, followed by the entity body. In the case of our
HTTP GET, the entity body in the response is the entire requested HTML file. In our case here, the
HTML file is rather long, and at 4500 bytes is too large to fit in one TCP packet. The single HTTP
response message is thus broken into several pieces by TCP, with each piece being contained within a
separate TCP segment (see Figure 1.24 in the text). In recent versions of Wireshark, Wireshark indicates
each TCP segment as a separate packet, and the fact that the single HTTP response was fragmented across
multiple TCP packets is indicated by the “TCP segment of a reassembled PDU” in the Info column of the
Wireshark display. Earlier versions of Wireshark used the “Continuation” phrase to indicated that the
entire content of an HTTP message was broken across multiple TCP segments.. We stress here that there
is no “Continuation” message in HTTP!
12. How many HTTP GET request messages did your browser send? Which packet number in the
trace contains the GET message for the Bill or Rights?
13. Which packet number in the trace contains the status code and phrase associated with the response
to the HTTP GET request?
15. How many data-containing TCP segments were needed to carry the single HTTP response and the
text of the Bill of Rights?
HTML Documents with Embedded Objects
Now that we’ve seen how Wireshark displays the captured packet traffic for large HTML files, we can
look at what happens when your browser downloads a file with embedded objects, i.e., a file that includes
other objects (in the example below, image files) that are stored on another server(s).
Do the following:
Start up your web browser, and make sure your browser’s cache is cleared, as discussed above.
Stop Wireshark packet capture, and enter “http” in the display-filter-specification window, so that
only captured HTTP messages will be displayed.
(Note: If you are unable to run Wireshark on a live network connection, you can use the http-
ethereal-trace-4 packet trace to answer the questions below; see footnote 1. This trace file was
gathered while performing the steps above on one of the author’s computers.)
16. How many HTTP GET request messages did your browser send? To which Internet addresses
were these GET requests sent?
17. Can you tell whether your browser downloaded the two images serially, or whether they were
downloaded from the two web sites in parallel? Explain.