Computer Networks
Computer Science
Department
(Last changed: 07/10/2023
10:10)
Important Notice: Mathematics Computer Science (Matematica-Informatica)
students that have chosen this class (MLE5002 or MLR5002) should replace it in
their study contracts with MLR5158. The covered topics are not exactly the same
and MLE5002 and MLR5002 require having previously covered Operating Systems
(pre-requisite) in order to follow this class.
Microsoft
Teams code : e7uwzre
Lecturer:
Adrian Sergiu
DARABANT
dadi(at) cs.ubbcluj.ro (students use this address to write me) for
administrative things.
Labs (when needed) are sent on the dadi@scs address.
Labs:
Radu DRAGOS
Ioan-Gabriel MIRCEA
Diana BORZA
Marinescu Alexandru
Note: Course lectures will be held on Microsoft Teams – Computer
Networks. Join with code: gr6wwrx
CONSULTATII: 09.06.2013 – 09:30 campus
Error! Hyperlink reference not valid.
(NEW)
Error!
Hyperlink reference not valid. lecture has been already recovered
last week when we had a 4h lecture !
Grades
Course Contents:
- Introductory
networking concepts. Internet. The TCP/IP stack model. Socket programming
TCP, UDP (socket I/O modes)
- The
Open System Interconnection (OSI) model. The Network layer: the IP
protocol. IP Addressing (Public and private). How to setup static routing
(Linux/Windows). Helper protocols: ICMP, ARP, RARP, DHCP. Network address
translation (NAT).
- The
Transport Layer: TCP and UDP structure, architecture and features. TCP
3-way handshake, TCP Sliding Window,
TCP Flow Control, Congestion control in Internet.
- The
Data Link Layer : framing, the Ethernet protocol.
- Error
detection and correction in data transmissions.
- The
physical layer : transmission medias, shared channel access methods, the concept of bandwidth and
throughput. Data flow control.
- Routing
algorithms and policies for IP networks.
- Internet
protocol security issues. Examples of protocols based attacks and their
countermeasures: IP, TCP and UDP based (Flood,Syn, DoS, Distributed DoS)
Information:
Course lectures and laboratories are held weekly.
You will be presented number of lab problems and are advised to solve as many
as possible (seeking support from the lab teacher when needed). The first 6 labs are covering the network
programming
Requirements
- Individual
laboratory activity is not directly graded but each student should solve
as many problems as possible from the given set.. During the semester each
student is required to pass two lab
tests: one from the programming section (around lab 6-7)and one from the
network simulation section (lab 13 or 14). The minimum allowed grade is
5.00.
Examination and grading
- Lab activity - the minimum average grade for the lab
activity is 5.00.
- Practical examination the minimum
grade is 5.00 for each examination.
- Moodle test: The minimum grade for
the written exam si 5.00.
Students failing to obtain the minimum grades at any of
these activities will fail this course.
The final mark will be a weighted average of the above 3
grades 50% for the labs and 50% for the test.
References:.
(ask materials during courses or labs)
- A.S.
Tanenbaum – Computer Networks 4th ed., Prentice Hall, 2003
- J. Kurose, K. Ross, Computer
Networking: A Top Down Approach, Addison-Wesley, Editions 2,3,4
2002-2007.(most materials for the theoretical exam)
- Douglas
E. Comer, Internetworking with TCP/IP
- Vol
1- Principles, Protocols, and Architecture
- Vol
3- Client-Server Programming and Applications
- G.R.Wright,
R. Stevens, TCP/IP Illustrated – vol 1,2, Addison Wesley.
- Matt
Naugle, Illustrated TCP/IP – A Graphic Guide to protocol suite, John
Willey & Sons, 1999.
- W.
Richard Stevens, Bill Fenner, Andrew M. Rudoff, UNIX® Network
Programming Volume 1, Third Edition: The Sockets Networking API
Textbooks and Resources(Packet Tracer. V7
needs a Cisco account) (open it in
Windows Explorer with \\ in front of the address)
Online Lectures –
follow this link (lecture presentations will be uploaded here)
Other Resources –links to different useful
things
General
Sockets Theory and References
Laboratories:
Lab 0
(introduction)
Create a VMWare Player
(workstation)/Virtual Box virtual machine with the operating system version
that you do not currently have (i.e. users on Windows create a Linux Virtual
Machine, Users on Linux create a Windows virtual machine). Configure the virtual
machine with proper networking (bridged) and development environments that
allow you to develop with: python, php, C/C++. (for the above explanation MacOS
is equivalent with a Linux system)
Requirements: Setup Networking as Bridged and
Install Extensions/Tools in the Virtual Machine. We will use this virtual
machine throughout
Deliverables: prepared
and running virtual machine.
Lab
1
Lab
2
Lab
3
Lab
4
Lab
5
Lab 6 – stp-vlans
Lab
7
Lab7 (complex
implementation)
Frame
Relay configuration on Cloud-PT and WRT300
router example configuration (Packet Tracer 7 only)
Traceroute
Example with PT Solution (Try to
figure out the solution by yourself)
(html comments)