CS 2204-01 Communications and Networking Written Assignment 6
CS 2204-01 Communications and Networking Written Assignment 6
Octavio Caamano
Computer Science Department, University of the People
CS 2204-01 Communications and Networking
Prof. William Sexton
23/12/24
This paper will address the questions posed in the assignment, focusing on IPv4 fragmentation,
Remote Procedure Call (RPC) problems, timestamping in real-time applications, the purpose of
UDP, and QUIC's efficiency in secure web connections.
To transfer 2000 bytes of user data with a single UDP send using standard 1500 byte Ethernet
max payloads, we need to consider the following:
3. The maximum payload for IPv4 over Ethernet is 1500 - 20 (IPv4 header) = 1480 bytes.
Fragment distribution:
2. Second fragment: 520 bytes of data + 8 bytes UDP header = 528 bytes
The total data transferred will be 2008 bytes, including the UDP header (Kurose & Ross, 2021).
Despite its conceptual elegance, RPC faces several challenges. Here are three significant
problems:
1. Lack of Parallelism: In RPC, either the server or the client is active at a given time,
preventing simultaneous computations between them. This limitation reduces overall
system efficiency and performance (Tanenbaum & Van Steen, 2016).
2. Loss of State: When a server crashes and reboots between RPCs, it loses all client-related
state information. This loss can cause severe problems, especially for stateful operations
like file handling, where the server loses track of open files and current positions
(Tanenbaum & Van Steen, 2016).
3. Parameter Marshalling: For languages that are not type-safe, like C, parameter
marshalling can be problematic. The client stub may struggle to determine the number
and types of parameters, especially with union types or variadic functions, potentially
leading to errors or program failures (Stevens et al., 2003).
2. Jitter Compensation: By using timestamps, receivers can compensate for network jitter
(variations in packet arrival times), maintaining smooth playback (Perkins, 2003).
3. Packet Ordering: Timestamps help in correctly ordering packets that may arrive out of
sequence due to network conditions (Schulzrinne et al., 2003).
1. Simplicity: UDP provides a simple, lightweight protocol for applications that don't
require the overhead and complexity of TCP (Kurose & Ross, 2021).
3. Multicast and Broadcast: UDP supports multicast and broadcast transmissions, which
are not possible with raw IP or TCP (Kurose & Ross, 2021).
QUIC (Quick UDP Internet Connections) eliminates a couple of Round Trip Times (RTTs)
usually needed at the start of a secure web connection through the following mechanisms:
2. 0-RTT Connection Establishment: For repeat connections, QUIC allows sending data
in the first packet along with the handshake, eliminating an additional RTT for data
transfer initiation (Langley et al., 2017).