/CS-118

Computer Science 118 - Computer Networking

Primary LanguageC

CS111

UCLA's CS118 - Computer Networking

Professor: Songwu Lu

Quarter: Spring 2019

Computer Networking provides an introduction to fundamental concepts in the design and implementation of computer communication networks, their protocols, and applications. Topics to be covered include: layered network architecture, physical layer and data link protocols, network and transport protocols, unicast and multicast routing protocols, and applications. Examples will be drawn from the Internet TCP/IP protocol suite.

Skills Demonstrated

Computer Networks and Network Protocols, including:

  1. An overview of networking concepts
  2. Network Application Protocols such as web (http) and email (smtp)
  3. Domain Name System (DNS) and the DNS will be the focus of a course project.
  4. The transport layer and its challenges such as reliable delivery, congestion control and network layer challenges
  5. Routing.
  6. Link & Physical Layer Challenges for Wirred and Wireless networks.
  7. Network security

Projects

Description of the following work:

Projcect 1:

This project mocks the HTTP protocl by creating HTTP requests and transferring files using HTTP by binding to a open socket. This process includes the creation of HTTP requests, setting up components of the request (ex. content length, content type, content, connection, buffer). Afterwards, upon the successful receipt of the file, the client sends a respone.

Projcect 2:

This project mocks the TCP protocol. Components include: Congestion Control, Packet Loss Detection, Message Formating, Fast Retransmit/Recover, Server/Client connection establishment, SYN/FIN/ACK transmission, and Timeout Handling.