Skip to content

Socket programming in c. Transferring large files over TCP, implementing Realiable UDP and simulating Packet Loss. As an assignment in Computer Networking @ Ariel University

Notifications You must be signed in to change notification settings

SamuraiPolix/Computer-Networking-Ex3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Socket Programming Project in C

- Implementing a simple Reliable UDP (RUDP)

  • Designing packets (header and data)
  • Splitting large data into chunks
  • Adding reliability with a handshake to start connection, ACK packets, and checksum
  • Optimizing performance with high packet loss by adjusting timeout delays and max retries to resend packet
  • Simple API

- Transferring large files over TCP or RUDP

- Simulating packet loss in order to:

  • Compare TCP Reno and TCP Cubic
  • Compare TCP and RUDP

Example runs:

Part A - Tranferring a large file over TCP:

Choosing between TCP Reno and TCP Cubic

part.1.mp4
Untitled.Project.mp4

Part B - Tranferring a large file over our implemented RUDP:

*Will upload later

Part C - Research

*Will upload later


Tested on Ubuntu 22.04.3 LTS. Verified memory leak-free by Valgrind.

Memory leak-free

About

Socket programming in c. Transferring large files over TCP, implementing Realiable UDP and simulating Packet Loss. As an assignment in Computer Networking @ Ariel University

Topics

Resources

Stars

Watchers

Forks

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy