CS 2204 Written Assignment UNIT 6 Final
CS 2204 Written Assignment UNIT 6 Final
In order to find how many IPv4 fragments will be needed to transfer 2000 bytes of user data,
we will need to factor the space needed for the IP header. The space needed for IP header is
20 bytes and the UDP header is 8 bytes. This makes a total of 28 bytes that need to be
factored. After factoring this, we can end up with 1472 bytes this will now allow us to find
the fragments needed for 2000 bytes which is 2. Remaining (2000 – 1500 + 28) = 528 bytes
will be used in the second fragment.
Question 2: Despite its conceptual elegance, RPC (Remote Procedure Call) has a few
problems. Discuss any 3 of those in brief.
There is no exception handling available in RPC, if any procedure will fail or crash, there is
nothing we can do to fix it. The program will need to re-run in RPC based protocol.
There is no multicasting available in RPC, if a host wants to multicast the packets, it cannot
be done in RPC. Since, RPC only allows a communication between two-parties not the whole
network.
Parallelism problems:
Since, RPC only allows one host to be active at a time, be it a server or clients. The
parallelism is not possible.
Time stamping is used for synchronization as well as discarding old invalid packets. As the
receiver processes the frames sent, any packets which had an older time stamp would
obviously mean those packets were delayed in transmission. Imagine if this were a voice
application, if a few bits of audio go missing, you would not want those to suddenly reappear
in the middle of the stream, it would become in audible and create problems. Thus, the
timestamps can be used to drop packets that no longer have relevance.
The time stamp records the occurrence of the event. In real-time applications the time stamp
protocols runs on 32 bit time stamp. The time stamp keeps track of all the packets sent and
there orders. If any incorrect ordered packets are sent, the time-stamp rearrange them to
match the correct order.
Question 4: Why does UDP exist? Would it not have been enough to just let user processes
send raw IP packets?
UDP provides many functionalities that are not present in its counterpart TCP protocol such
as congestion control & flow control. In terms of IP packets, UDP enables grouping of IP
packets. If UDP wasn’t exist, the IP’s would have been more prone to attacks. Also, if the
packets will be sent without UDP there could be many other problems such as loss of
packets, congestions etc.
Question 5: Explain how QUIC eliminates a couple of RTTs usually needed at the start of
a secure web connection.
QUIC also works as an application layer, but it works usually over UDP. It also integrates
ideas from TCP, TLS and DTLS that in exchange provide minimal latency in connection.
Furthermore, QUIC encrypts the applications data and most of the protocol headers.
Client can always connect to previously connected servers without the requirement of three-
way handshake as it was required in TLP. The QUIC improves on TCP and TLP as it reduces
the head of line blocs and vastly improved information ACK (acknowledgement). It
eliminates the transmission ambiguity issues as well making it a more useful option at the
start of a secure web connection.