Universitatea Babeş-Bolyai Cluj-Napoca
Facultatea de Matematică şi Informatică
Ciclul de studii: Licenţă
Domeniul: Informatică
Programul de studii: Informatică - în limba engleză
Limba de predare: Engleză

SYLLABUS

I. General data
Code	Subject	
MI013	Computer Networks	

Semester	Hours: C+S+L	Category	Status	
7	2+0+2		compulsory	

II. Full status faculty members
Name and	Scientific	Didactic	Chair	Type of activity	
surname	title	title		C	S	L	
DARABANT Sergiu	Ph.D.	Lect.	Computer Systems	*			

Associated faculty members
Name and	Scientific	Institution	Type of	Type of activity	
surname	title		position	C	S	L	

III. Course objectives
This course is an introductory course on computer networks. Using the Internet as a vehicle, this course introduces the underlying concepts and principles of modern computer networks with emphasis on protocols, architectures, and implementation issues. The main goal of this course is to understand layering in computer networks, understand different protocol stacks (OSI and TCP/IP), understand functions and protocols within a layer, understand how layers fit together and finally understand how the Internet works.	

IV. Course contents
1. Computer Networks and the Internet 
- What Is the Internet? 
- Packet-Switched Networks 
- Protocol Layers and Their Service Models 
2. Application Layer 
- Principles of Application Layer Protocols 
- The Web and HTTP 
- File Transfer: FTP 
- Electronic Mail (SMTP, MIME) 
- DNS--The Internet's Directory Service 
- Socket Programming with TCP/UDP 
3. Transport Layer 
- Transport-Layer Services 
- Multiplexing and Demultiplexing 
- Connectionless Transport: UDP 
- Principles of Reliable Data Transfer 
- Connection-Oriented Transport: TCP 
- Principles of Congestion Control 
4. Network Layer and Routing 
- Network Service Models 
- Routing Principles 
- The Internet Protocol (IP) 
- Routing in the Internet 
- What's Inside a Router? 
- IPv6 
- Mobility and the Network Layer 
5. Link Layer and Local Area Networks 
- Data Link Layer Services 
- Error-Detection and -Correction Techniques 
- Multiple Access Protocols 
- LAN Addresses and ARP 
- Ethernet 
- Hubs, Bridges, and Switches 
- Wireless Links 
- PPP: The Point-to-Point Protocol 
6. Security in Computer Networks 
- What is network security? 
- Principles of cryptography 
- Attacks and Counter-measures 

V. Bibliography
1. Cookie Central."[http://www.cookiecentral.com]
2. BULĂCEANU, CLAUDIU: Reţele locale de calculatoare, Bucuresti: Editura Tehnică, 1995.
3. CAMPIONE, MARY - WALRATH, KATHY - HUML, ALISON: The Java(TM) Tutorial. Addison-Wesley, 2000. [http://java.sun.com/docs/books/tutorial/]
4. GIBBS, MARK: Reţele de calculatoare pentru începători. Bucureşti: Teora, 1996.
5. KUROSE, JAMES F. - ROSS, KEITH W.: Computer Networking: A Top-Down Approach Featuring the Internet. Addison-Wesley, (3nd ed.), 2003.
6. MAHMOUD, QUASAY H.: Sockets programming in Java: A tutorial. [http://www.javaworld.com/javaworld/jw-12-1996/jw-12-sockets.html]
7. PETERSON, LARRY - DAVIE, BRUCE: Computer Networks: A Systems Approach. Morgan Kaufman, (3rd ed.), 2003.
8. STALLINGS, WILLIAM: Data and Computer Communications. Prentice Hall, (6th ed.), 2000.
9. BRUCE SCHNEIDER : Applied Cryptography, John Wiley & Sons, 1996.
10.TANENBAUM, ANDREW S.: Reţele de calculatoare. Editia a 4-a, traducere. Tg. Mureş: Computer Press Agora, 2004.

VI. Thematic of didactic activities per weeks
Week 1
-	Definition and examples of computer networks
-	Network classifications.
-	Communication models
o	Packet switching communication.
o	Circuit switching communication.
-	Link types
o	Direct point to point links
o	Direct Bus-type communication links
-	Communication technologies: IEEE 801.x, Frame Relay, ATM, etc.
-	Communication infrastructure : presentation and goals.
-	The Networking API on Unix and Windows operating systems.
-	Data representation and network communications.
-	Short programming examples and tutorials for network programming.
Week 2
-	TCP/IP programming modes
o	Blocking model.
o	Non Blocking model.
o	Multiplexed I/O model.
o	Signal driven I/O model.
o	Asynchronous I/O model.
-	Network operation steps.
-	Didactical programming examples with advanced features: multiplexed communication, etc.
-	The select system call and its use.
Week 3
-	Short introductory presentation of the UDP and TCP protocols.
-	Definition of a communication protocol.
-	Examples of layered communication.
-	Protocol hierarchies.
-	Layers, protocols and interfaces.
-	The OSI reference model – short introduction.
-	Principles of the OSI model.
Week 4
-	The OSI reference model – continuation.
-	Short presentation of the role, interfaces and features of each of the 7 layers
-	TCP/IP Model vs the OSI reference model
-	Protocols of the TCP/IP model.
-	Network standardization.
-	IEEE standards.
-	ARPANET standards and RFC stages and lifetime.
Week 5
-	Theoretical basis of communication and signals
-	Short introduction in Fourrier signal decomposition.
-	Signal and energy loss.
-	Bandwidth definition for a communication medium and its link to signal frequency.
-	Bandwidth limited signals and examples
-	Bandwidth vs data transmission rate.
o	The Nyquist theorem (bandwidth/data rate link).
o	The Shannon theorem.(throughput on a noisy channel
-	Transmission medias
o	Magnetic medias
o	Twisted pair.
o	Coaxial cable
o	Fiber optics and equipments
o	Wireless transmission
o	Communication satellites
o	The PSTN system, ADSL and SDSL.
o	The mobile phone system and data communication
o	The Cable television media and technologies.
Week 6
-	The Application Layer and corresponding TCP/IP protocols
-	Short description of the client-server paradigm
-	Definition of the TCP/IP communication ends.
-	The concept of IP Address and ports – extended.
-	The DNS protocol and its role.
o	The structure of an internet name and IP address.
o	The DNS Namespace
o	Registering a domain name.
o	The whois mechanism.
o	DNS software and database structures.
o	DNS protocol – recursive and iterative resolvers.
o	Configuring a DNS server.
o	Root servers and TLDs.
o	DNS packet structures.
Week 7
-	The SMTP protocol.
o	The relation between SMTP and DNS.
o	How SMTP works.
o	The structure of an email address.
o	Structure and meaning of the SMTP exchange messages.
-	The POP3 protocol – detailed presentation.
-	The IMAP protocol – detailed presentation.
-	The HTTP protocol.
Week 8
-	The FTP protocol.
o	The architecture of a FTP subsystem. (server and client)
o	Control and data connections.
o	Active and passive connections - their roles.
o	FTP communication channels.
o	FTP protocol commands and examples.
-	The Data Link Layer protocol.
-	Data Framing and frame structure.
-	Flow control.
-	Data link protocols: PPP, HDLC, Ethernet 802.3(wifi)  and 802.11 (Ethernet)
-	MAC addresses and their structure and role vs TCP/IP addresses.
-	The ARP protocol and its role.
-	Link level network equipments: switches, bridges, hubs.
-	Spanning tree.
Week 9 
-	Error detection and correction techniques.
-	Error detection and its need in computer networks.
-	Detection vs correction techniques. (advantages/disadvantages)
-	Parity checks.
-	Checksumming methods.
-	Cyclic redundancy checks.
-	Medium access control
o	Channel partitioning methods : FDM and TDM
o	Multiple access protocols: ALOHA, CSMA
Week 10
-	The Internet Network Layer – the IP layer(the network layer)
-	IP addressing conventions.
-	IP datagram transport on local networks (without routers and with routers) 
-	The concept of routing.
-	IP Address classes. – class-full addressing.
-	Class-less addressing and routing – ip address/network masks.
-	The IP datagram structure.
-	Fragmentation and reassembly.
Week 11
-	Network Address Translation (NAT).
-	Examples and role of the NAT mechanisms.
-	Source and destination NAT.
-	Port translation.
-	The UDP protocol.
-	UDP description
-	Structure of the UDP datagram
-	Features of the UDP protocol.
-	The ICMP signaling protocol.
-	The structure of the ICMP packets
-	The role and services of ICMP
Week 12
-	The TCP protocol.
-	Features and services of the TCP protocol.
-	The structure of a TCP segment.
-	TCP connection setup and messages.
-	TCP connection tear-down.
-	TCP client and server states.
-	Flow control algorithms and method. Sliding Window.
Week 13
-	Routing in Internet.
-	Networks and routing.
-	Static vs dynamic routing.
-	Managing static routes on small sized network.
-	Distance vector and Link state routing algorithms.
o	RIP and OSPF
-	Mobile IP and mobility and the role of routing in mobility.
-	Mobility scenarios.
Week 14
-	Security in computer communications.
-	Protocol related security weaknesses.
-	Attack scenarios of various IP related protcols.
-	Firewalls and packet filtering.
-	TCP oriented security attacks.
-	Protection methods against protocol based attacks.
Final questions and summary.	

VII. Didactic methods used
Speech, Conversation, Didactical Demonstration, Discovery	

VIII. Assessment
- software projects and other lab activity for 1/3 of the final grade;
- written theoretical exam for 2/3 of the final grade

IX. Additional references

	Date,							Course responsible,
	13/04/2007							Lect. DARABANT Sergiu, Ph.D.