- Computer Networks -
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9| 10 | 11 | 12 | 13 | 14 |
Week 1 (29 September - 05 October 2025)
- Overview (Ro)
- Course:
- Laboratory: Recap knowledge regarding Operating Systems
- Resources: Internet History Film; Introductive film (subtitle); GDB - debugger; Linux Command Line Cheat Sheet (Cheatography); Linux Commands Cheat Sheet (Red Hat); Linux Command Reference (FOSSwire); Bash scripting cheat sheet; Quick Introduction to C Programming; C File I/O through System Calls; C File I/O through Library Functions; Windows Subsystem for Linux; IDEs for C/C++ Programming on Linux; DistroWatch
- Remarks: see News section for technical or organizational aspects.
- Various info: Explore a Google Data Center (Street View); Explore a Google Data Center (YouTube); Microsoft Virtual Datacenter Tour; Digital Tour of an AWS Data Center; Inside the Heart of an IBM Cloud Data Center
Week 1'-2' (!!!See Discord)- Programare cursuri in urmatoarele doua saptamani
- !!!Course:
- Network Architecture
- 2E: 10-12- Online (link pe Discord)
- 2A: 12-14 - sala C1
- 2B: 14-16 - sala C2
- Organizational aspects:Joi, 02.10.2025
- Network Level (I)
- 2B: 08-10 - Online (link pe Discord)
- 2E: 10-12 - sala C210 + link pe Discord (hibrid)
- 2A: 14-16 - sala C2
- Organizational aspects: Luni, 06.10.2025
- Transport Level
- 8-10 - Online; Joi, 09.10.2025
- 10-12 - Online; Joi, 09.10.2025
- 8-10 - Online; Sambata 11.10.2025
- Organizational aspects:
Week 2
- Laboratory: Process Management & Inter-process communication via signals
Week 3
- Course:
- Course was recoverd in advance in Week 1-2'.
- Laboratory: use of pipes/fifos/socketpairs & duplicate file descriptors
- Example of communication between processes on the same machine using the mechanism provided by FIFO: sendDataFifo.c, recDataFifo.c
- Simulation of shell who | wc, using pipe and duplicate file descriptors using dup(): who_wc.c
- Communication among processes using socketpair(): socketpair.c
- Resources: Debugging Linux Programs; Intermediate GDB Tutorial; GDB Fork Debugging
- Homework 1 (mandatory): specifications (RO), specifications (EN)
Week 4
- Course:
- [Online] Network Programming (part I). Please follow the meeting schedule posted on Discord.
- Laboratory:
- First mandatory homework presentation and uploading. Follow the teacher's specifications and don't upload your homework without her/his approval.
- The use of some commands referring to network level (/sbin/ip, ping, /usr/sbin/traceroute) and transport level (netstat);
- Discussions on fragments from a computer network (don't forget about the links provided at the course): arp-frames.txt, icmp-frames.txt, tcp-frames.txt;
Week 5
- Course:
- Course was recoverd in advance in Week 1-2'.
- Laboratory: TCP/IP implementation (iterative server and a client).
- TCP iterative server, accompanied by a client.
The server receives a name from the client and turns back Hello name.
The client takes the name from the standard input, sends it to the server,
then expects the server's response:
servTcpIt.c; cliTcpIt.c; Makefile.
- TCP iterative server, accompanied by a client.
The server receives a name from the client and turns back Hello name.
The client takes the name from the standard input, sends it to the server,
then expects the server's response:
Week 6
- Course:
- Laboratory: TCP/IP concurrent server implementation.
Week 7
- Course:
- Network Programming (part III)
- Example:
- A concurrent server that creates a thread for each connected client: servTcpConcTh2.c; cliTCPNr.c
- A prethreaded server, which uses mutexes for protecting accept(): servTcpPreTh.c; cliTcpNr.c
- Laboratory: TCP/IP concurrent server implementation.
Week 8
Week 9
- Course:
- Domain Name System
- Laboratory: TCP/IP server and client implementations, with I/O multiplexing using select().
- Example: TCP server and a client application. The server receives a name from the client and replies with Hello name. The client reads the name from the standard input, sends it to the server, then waits for the reply. Sources: servTcpCSel.c; cliTcp.c; Makefile
- Homework 2 (mandatory): specifications (RO), specifications (EN)
Week 10
- Course:
- Application level
- Laboratory: UDP server and client implementations.
Week 11
- Course:
- P2P Paradigm
- RPC Paradigm
- Laboratory: Second mandatory homework presentation and uploading. Follow the teacher's specifications and don't upload your homework without her/his approval. Please pay attention to the file naming convention.
- Optional:
- Optional Course: OOB Communication (RO)
- Example: OOB (out-of-band) data transmission between TCP/IP servers and clients, using select()
- Example: a TCP server and a client. The clients sends messages to the server, among which, from time to time, some OOB data is sent. The server uses select() to receive standard data and OOB data.
clientTcpOobSelect.c; serverTcpOobSelect.c; - Example: a TCP server and a client. The clients sends messages to the server, among which, from time to time, some OOB data is sent. The server treats the SIGURG signal to identify the OOB data.
clientTcpOobSigurg.c; serverTcpOobSigurg.c; - Example: a TCP server and a client. The clients sends messages to the server, among which, from time to time, some OOB data is sent. The server uses the sockatmark() function to identify the OOB data.
clientTcpOobSockat.c; serverTcpOobSockat.c;
- Example: a TCP server and a client. The clients sends messages to the server, among which, from time to time, some OOB data is sent. The server uses select() to receive standard data and OOB data.
Week 12
- Course:
- Network Level (II)
- Laboratory:
- TCP/IP concurrent server implementation using threads. Example:
A concurrent server that creates a thread for each connected client: servTcpConcTh2.c; cliTCPNr.c
A prethreaded server, which uses mutexes for protecting accept(): servTcpPreTh.c; cliTcpNr.c - Project Development or Project Presentation (and uploading; follow the teacher's specifications and don't upload your project without her/his approval and please pay attention to the file naming convention). Very important: the project can be presented and evaluated only once.
- TCP/IP concurrent server implementation using threads. Example:
Week 13
- Course:
- Wireless Networks
- Laboratory: Application development using the following functions: gethostbyname() | getaddrinfo(); gethostbyaddr() | getnameinfo().
- Example: a program that uses gethostbyname(): exgethostbyname.c;
- RPC Example
- Project Development or Project Presentation (and uploading; follow the teacher's specifications and don't upload your project without her/his approval and please pay attention to the file naming convention). Very important: the project can be presented and evaluated only once.
Week 14
- Course:
- Computer Networks - security aspects
- Laboratory: Project Presentation and uploading. Follow the teacher's specifications and don't upload your project without her/his approval and please pay attention to the file naming convention.
The project is rated as ongoing evaluation and cannot be presented during the evaluation or re-evaluation session.