- Implement FTP using Socket to send and receive data
- Functions: PUT, GET, LIST
- Server:
./myftpserver
- Client:
./myftpclient <SERVER_IP> <LIST|GET|PUT> <FILE_TO_GET|FILE_TO_PUT>
- Enhanced FTP with erasure coding scheme for data recovery
- Monitor multiple servers and clients without blocking by select() and multiple thread
- Functions: PUT, GET, LIST
- Server:
./myftpserver serverconfig.txt
- Client:
./myftpclient clientconfig.txt <list|get|put>
- Build an NAT program to forward UDP traffic
- Provide multiple classes of service to difference classes of traffic by Token Buckets
- Environment:
- VM A: 2 network interfaces
- eth0: Virtual, internal network
- eth1: Department network
- VM B, VM C: 1 network interfaces
- eth0: VIrtual, internal network
- VM A: 2 network interfaces
- Monitor packets on the NFQUEUE
- Identify packets matching the criteria by looking up or create NAT entries
- Modify the packets, i.e. recalculate checksum
- Decide whether to accept or reject packets
./nat <IP_Addr> <Ethernet_LAN> <Subnet_MASK> <BUCKET_SIZE> <FILL_RATE>