What’s the Problem? Why Is It Important?
Transmission Control Protocol (TCP) and User Datagram Protocol (UDP) are the backbone of data transmission in modern computer networks. While TCP prioritizes reliability through connection-based data exchange, it does so at the cost of speed. On the other hand, UDP offers lightning-fast, connectionless transmission but sacrifices reliability. These protocols' performance is significantly influenced by network architecture, such as Client-Server (C/S) and Peer-to-Peer (P2P) systems. Each architecture handles data connections, congestion, and error correction differently, which can dramatically affect how TCP and UDP perform in real-world scenarios.
The challenge, however, lies in understanding how these protocols behave under various conditions—especially in the dynamic, ever-evolving environments that real-world networks present. That’s why this research is critical: to bridge the gap between theoretical knowledge and real-world applications.
We’ve made great strides in understanding how TCP and UDP function, particularly in traditional Client-Server environments. However, the real unknown lies in Peer-to-Peer (P2P) networks. While we have a strong academic foundation for connection-based architectures, our understanding of how these protocols operate in P2P systems is still underdeveloped.
This gap is what our project seeks to address. By studying the behavior of TCP and UDP across both C/S and P2P environments, we aim to uncover how these protocols perform in real-world networks, particularly when variables such as network congestion and packet loss come into play. Building on our previous work with the Reliable Datagram Protocol (RDP) in a prerequisite class, we aim to strengthen our knowledge and provide insights that can be applied across multiple network scenarios.
To tackle this challenge, we’re adopting a dual approach: combining network emulation with real-life experiments. This approach will enable us to observe how TCP and UDP behave across different types of networks in controlled and uncontrolled conditions. We’ll split our experiments into four distinct network scenarios:
Perfect Network: Minimal delay and packet drop chances, simulating an ideal environment.
Dense Network: High delay, low packet loss, and a larger number of connected systems.
Unstable Network: Low delay, high packet loss, reflecting real-world network instability.
Real Network: An actual, uncontrolled network to observe unpredictable, real-world behavior.
The network emulation will give us a controlled environment, allowing us to systematically observe protocol performance under various conditions. However, emulation has its limits, as it can’t capture the random, unexpected issues that happen in real-world networks. This is where our Real Network scenario comes into play, providing us with the unpredictability and complexity of real-life systems. Through both emulated and real-world testing, we aim to thoroughly understand the nuances of TCP and UDP performance.
Weeks 1 - 2 (Feb 7 - Feb 21)
Research related papers, decide on a network emulator, adapt project into a monitorable C/S facilitator.
Weeks 3 - 4 (Feb 21 - Mar 7)
Set up network emulation and scenarios, begin working on the monitorable P2P facilitator.
Weeks 5 - 6 (Mar 7 - Mar 21)
Complete the monitorable P2P facilitator, run network emulation and collect data.
Weeks 7 - 8 (Mar 21 - Apr 4)
Analyze and compare the collected data, prepare final presentation.
Week 9 (Apr 11)
Submit final report.
By the end of this project, we will have a clearer understanding of how TCP and UDP behave in various networking scenarios, paving the way for more informed decisions about protocol usage in real-world applications.