Skip to content

This repository contains five projects that were part of CS5700 curriculum.

Notifications You must be signed in to change notification settings

RossyLee/Computer-Networks

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Computer-Networks

This repository contains five projects that were part of CS5700 curriculum.

Project-1 : Simple Client This assignment is intended to familiarize ourselves with writing simple network code. Main task is to implement a client program which communicates with a server using sockets. The server will ask our client program to solve hundreds of simple mathematical expressions. If our program successfully solves all of the expressions, then the server will return a secret flag that is unique for each student. To gain extra credit, we need to modify our clients to support SSL connections

For detailed requirements of the project, please visit: http://david.choffnes.com/classes/cs4700sp15/project1.php

Project-2 : Web Crawler This assignment is intended to familiarize ourselves with the HTTP protocol. HTTP is (arguably) the most important application level protocol on the Internet today: the Web runs on HTTP, and increasingly other applications use HTTP as well (including Bittorrent, streaming video, Facebook and Twitter's social APIs, etc.). Main goal in this assignment is to implement a web crawler that gathers data from a fake social networking website that was set up.

High Level Requirement: Our goal is to collect 5 secret flags that have been hidden somewhere on the Fakebook website. The flags are unique for each student, and the pages that contain the flags will be different for each student. Since we have no idea what pages the secret flags will appear on, our only option is to write a web crawler that will traverse Fakebook and locate the flags.

For detailed requirements of the project, please visit: http://david.choffnes.com/classes/cs4700sp15/project2.php

Project-3 : Performance Analysis of TCP variants The objective of this project is to analyze the performance of different(Tahoe, Reno, NewReno,Vegas,SACK) TCP variants. We will use the NS-2 network simulator to perform experiments that will help us understand the behavior of the TCP variants under various load conditions and queuing algorithms.

For detailed requirements of the project, please visit: http://david.choffnes.com/classes/cs4700sp15/project3.php

Project-4 : Raw Sockets The goal of this assignment is to familiarize ourselves with the low-level operations of the Internet protocol stack. Task is to write a program called rawhttpget that takes one command line parameter (a URL), downloads the associated web page or file, and saves it to the current directory.

For detailed requirements of the project, please visit: http://david.choffnes.com/classes/cs4700sp15/project4.php

Project-5 : Roll your own CDN In this project, we will create the building blocks of a CDN. First, we will use DNS redirection to send clients to the replica server with the fastest response time. Second, you will write a simple Web server that returns content requested by clients. Third, you will implement a system that uses information about network performance, load on servers, and cached data at servers to determine the best replica server. Performance will be measured in terms of how long it takes to download a piece of content.

For detailed requirements of the project, please visit: http://david.choffnes.com/classes/cs4700sp15/project5.php

About

This repository contains five projects that were part of CS5700 curriculum.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 88.4%
  • Tcl 10.5%
  • Shell 1.1%