CS 342: Networks Lab: Assignment - 2
CS 342: Networks Lab: Assignment - 2
CS 342: Networks Lab: Assignment - 2
Submitted by Harsh Yadav Roll. No. 180123015 Dept. Mathematics and Computing
Question 1:
The different protocols used at different layers by the desktop application of OneDrive are as follows:
• Transport Layer: TCP, UDP
• Network Layer: IPv4
• Application Layer: DNS
• Physical Layer: Ethernet II
• Transport Layer Security: TLSv1.2
• DNS: Functionalities that used this protocol are: uploading/downloading, creating folder, deleting a file, view
online and signin/signout.
Initially, some DNS queries were observed. The DNS Queries were to identify the host names of the destination
sites, in this case, queries were for skydrive.wns.windows.com (OneDrive) during signin/signout whereas for
other functionalities the queries were for iitgoffice-my.sharepoint.com. A DNS makes it easier to identify a host
by a domain name. A domain name uses words rather than numbers to identify Internet hosts. For reaching the
iitgoffice-my.sharepoint.com the destination IP address was 192.168.43.1. A DNS server translates these
addresses. Our app asks the TCP/IP protocol to ask the DNS server for the IP address of iitgoffice-
my.sharepoint.com. When the app receives the address, it connects to the Web site which was given by the DNS.
• TCP: Functionalities that used this protocol are: uploading/downloading, creating folder, deleting a file, view
online and signin/signout.
All the functionalities mentioned above needs a connection establishment and TCP’s 3-way handshake ensures
a proper connection with destination and that the data is sent to the correct host. It is clear that from the result
produced by Wireshark, TCP is highly preferred over UDP during connection establishment by OneDrive desktop
app. TCP is a connection-oriented protocol which is used for reliable delivery of data to the destination. In case
of TCP, Data arrives in order, duplicate packets are eliminated, lost/corrupted packets are resent and higher
priority is given to accuracy (not to speed). Its responsibility includes end-to-end message transfer independent
of the underlying network and structure of user data, along with error control, segmentation, flow control and
helps to minimize traffic congestion control.
• TLSv1.2: Functionalities that used this protocol are: uploading/downloading, creating folder, deleting a file,
view online and signin/signout.
Transport layers (TCP and UDP) are by default not secure. A user can launch an attack and see what kind of data
is being transferred between two hosts. Sensitive and personal information cannot be transferred over this type
of insecure network. Transport Layer Security (TLS) adds an extra layer of security on top of transport layer by
using some cryptographic mechanisms. The TLS protocol aims to provide privacy and data integrity between two
entities communicating on the network. The main purpose of this security is that even if someone tries to cache
your packet, he will not be able to see the actual content inside the packet. Only an intended recipient can check
the contents of the packet.
• ARP: Functionalities that used this protocol are: view online and signin/signout.
Address Resolution Protocol (ARP) is a procedure for mapping a dynamic Internet Protocol address (IP address)
to a permanent physical machine address in a local area network (LAN). The physical machine address is also
known as a Media Access Control or MAC address. ARP broadcasts a request packet to all the machines on the
LAN and asks if any of the machines know they are using that particular IP address. When a machine
recognizes the IP address as its own, it sends a reply so ARP can update the cache for future reference and
proceed with the communication.
• UDP: Very Less numbers of packets with UDP protocol were observed in some of the functionalities. All such
features like secure and reliable connection are not available in UDP and therefore used by the application
rarely for less important data. Functionality with a considerable number of packets with UDP protocol
was view online. User Datagram Protocol (UDP) is more efficient in terms of both latency and bandwidth.
Question 3:
Whenever we load a website or something, host to IP lookup is triggered using DNS protocol (UDP). We may also have
some ARP packets due to our ethernet/wifi connection’s broadcast messages. In the transport layer TCP helps in
establishing a correct communication through three-way handshake which ensured that both client and server are
ready. Yes, there are TLS Handshaking message sequences and 3-Way TCP Handshaking message sequences in the
applications as explained below:
• TLS Handshaking Message Sequence: TLS is an encryption protocol designed to secure Internet
communications. A TLS handshake is the process that kicks off a communication session that uses TLS encryption.
During a TLS handshake, the two communicating sides exchange messages to acknowledge each other, verify
each other, establish the encryption algorithms they will use, and agree on session keys to secure the
attributes of a session. During the course of a TLS handshake, the client and server together will do the following:
o Specify which version of TLS (TLS 1.0, 1.2, 1.3, etc.) they will use
o Decide on which ciphertexts/messages they will use
o Authenticate the identity of the server via the server’s public key
o Generate session keys in order to use symmetric encryption after the handshake is complete.
TLS handshakes are a series of datagrams, or messages, exchanged by a client and a server. Most frequent
cipher text/messages used are ‘Client Hello’, ‘Server Hello’, ‘Certificate, Server Key Exchange, Server Hello
Done’, ‘Client Key Exchange, Change Cipher Spec, Encrypted Handshake Message’ which can be seen from
below screenshot.
• 3-Way TCP Handshake Message sequence: Before a client attempts to connect with a server, the server must
first bind to and listen at a port to open it up for connections: this is called a passive open. Once the passive
open is established, a client may initiate an active open.
▪ The two screenshots given below are from uploading functionality trace:
▪ The two screenshots given below are from create folder functionality trace:
b) Signin: After getting some DNS queries (for skydrive.wns.windows.com (OneDrive)) this functionality also
used the 3-way TCP hand-shaking mechanism to establish a reliable connection and further a TLSv1.2
handshaking mechanism for making the connection more secured. At last an arp request message (who is
A.A.A.A tell B.B.B.B where the two are IP addresses) is broadcast on the local area network with an
Ethernet protocol type 0x806. The packet is discarded by all the machines except the target machine
which responds with an arp response message (A.A.A.A is hh:hh:hh:hh:hh:hh where hh:hh:hh:hh:hh:hh is
the Ethernet source address).
Question 4:
Statistics for uploading functionality on OneDrive Desktop App using wireshark is given below:
Date/Time Throughput RTT (in ms) Avg. Packet No. of No. of UDP No. of TCP No. of
(In pps) Size (in B) Packets Lost Packets Packets Response
per request
29-09-20/ 3.7 270 486 0 11 56 1
00:46 hrs
29-09-20/ 17.8 56 656 0 35 647 0.92
17:06 hrs
29-09-20/ 21.4 46 925 0 2 434 1
19:45 hrs
Question 5:
I used Jio-Fiber wifi for the whole lab assignment and discovered that for many functionalities of OneDrive including
the uploading function (which was used to analyse the statistics in Q4) sent/received packets from multiple hosts or
servers. Below is the screenshot of trace for uploading function at 17:06 hrs 29-09-20:
Note: List of IP address of multiple hosts can be seen from the above screenshot
Multiple hosts exist maybe because of the following reasons:
o Load Balancing - Distributing network traffic across a server and to reduce network congestion
o Geographic location - Ideal scenario is for a server to be as close as possible to the customer or end user
o Maintenance backup
o Price and as a caution for unwanted fault in the network lines of few servers.