Assignment-7
Assignment-7
Introduction
In this lab, we’ll investigate the celebrated IP protocol, focusing on the IPv4 and IPv6 datagram.
This lab has three parts.
Part 0: Paste a screenshot of your system IP address, using ipconfig (on Windows) or
ifconfig (on Mac and Linux), and fill out this Google form to submit the details of your
system. The same system must be used to attempt all exercises of this lab.
In this part, we’ll analyze packets in a trace of IPv4 datagrams sent and received by the
Ping. Use the following to capture and analyze an IPv4 trace in Wireshark, open a terminal
and follow these steps:
On Linux/macOS:
ping google.com -c 5
On Windows:
ping -n 5 google.com
Answer the following questions.
1. What is the source and destination IP address for the above ping request you
observe in your trace?
3. State the number of fields in the IPv4 header along with its size.
1 Version 4 bits
6 Flags 3 bits
Select the first UDP segment sent by your computer via the Ping command.
4. List the type of queries used for the above request. Expand the Internet Protocol
part of the packet in the packet details window. What is the version of the IP
address used for the above request?
Before sending the ICMP Echo Request (Ping), your system performs a DNS query to
resolve google.com to an IP address.
The value in the time-to-live (TTL) field in this IPv4 datagram’s header is=64
6. What is the value in the upper layer protocol field in this IPv4 datagram’s header?
The value in the upper layer protocol field in this IPv4 datagram’s header is UDP(17). This
indicates that IPv4 is being used as a service by the transport layer’s User Datagram
Protocol.The upper-layer protocol field in the IPv4 header is the "Protocol" field (8 bits).
7. How many bytes are in the payload of the IP datagram? Explain how you
determined the number of payload bytes.
All of the flag bits are zero. Hence, the ‘more fragments’ field is zero (Further verifiable on expanding the
flags, in Figure (4)). Thus, this IP datagram has not been fragmented.
Next, let’s look at the ICMP packets being sent from your computer and returned to your
computer. The display filter that you can use to show just these packets is “icmp”.
9. Mention the number of requests and replies you observe from your computer to the
requested domain name.
Since the command ping google.com -c 5 sends 5 requests, you should see:
1. Identification Field (Each packet has a unique value for tracking)
2. TTL (Time-to-Live) (Decreases with each hop)
3. Header Checksum (Recomputed for each packet)
4. ICMP Sequence Number (Increments with each ping request)
5. ICMP Timestamp (Varies based on when the packet is sent)
Part 2: Fragmentation
Use the following command in the terminal and capture the trace in Wireshark to answer
the following questions.
wget "https://files.testfile.org/PDF/50MB-TESTFILE.ORG.pdf"
Answer the following:
1. What are the IP addresses of the client and the above-requested domain?
● Client IP → 10.240.118.97
● Server IP → 104.21.80.1
2. Which transport layer protocol is being used to establish the connection between the
client and the requested domain?
Since wget is used to download files over HTTP or HTTPS, it relies on the TCP (Transmission
Control Protocol) at the transport layer.
The transport layer protocol used is: TCP (Transmission Control Protocol)
3. What is the IP version?
In summary, the last ACK number is critical for determining that the entire file was successfully
received and acknowledged by the client, signaling the end of the connection and ensuring all
data was transmitted correctly.
Part 3: IPv6
In this final section, we’ll take a quick look at the IPv6 datagram using Wireshark. The
Internet is still primarily at IPv4 network, and your computer or your ISP may not be
configured for IPv6, let’s look at a trace of already captured packets that contain some
IPv6 packets. To generate this trace, our web browser opened the youtube.com
homepage. YouTube (and Google) provide fairly widespread support for IPv6.
This is a DNS request (contained in an IPv6 datagram) to an IPv6 DNS server for the IPv6
address of youtube.com. The DNS AAAA request type is used to resolve names to IPv6 IP
addresses.
Answer the following questions:
1. What is the IPv6 source and destination address of the computer making the DNS
AAAA request for the above-requested web browser?
The Flow Label is a 20-bit field in the IPv6 header used to mark packets that belong to
the same flow. A "flow" refers to a sequence of packets sent from a particular source to a
particular destination.
3. How much payload data are carried for these IPv6 datagrams? What does this
signify?
● The Payload Data signifies the amount of data carried by the IPv6 packet excluding the
IPv6 header.
● The payload might contain DNS queries, HTTP data, or other application-level data,
depending on the context of the trace.
4. What is the upper layer protocol to which this datagram’s payload will be delivered
at the destination?
For DNS, the Next Header will be UDP (17), as DNS typically runs over UDP.
For DNS requests and responses, the upper layer protocol is typically UDP (as DNS
commonly uses UDP for queries).
Lastly, find the IPv6 DNS response to the IPv6 DNS AAAA requests made in this trace.
This DNS response contains IPv6 addresses for youtube.com.
5. How many IPv6 addresses are returned in response to the AAAA requests?