- Internet's structure and different components.
- Layered network models: overview of the Internet model.
- Communication models: "Client-server" and "peer-to-peer".
- Internet-based applications and their protocols: DNS, SMTP, HTTP etc.
- Design and implementation of applications according to the client/server model. Socket programming.
- Principles of transport protocols and the services they offer. Internet-based transport protocols: TCP and UDP.
- Flow regulation, congestion control and error handling. Stop-and-wait, Go-Back-N as well as window handling and congestion control in TCP.
- Interconnected networks: Internet Protocol (IP), datagram services, packet switching, routing protocols and routing algorithms.
- Local area networks: topologies, access control, Ethernet, wireless local area networks, switched local area networks, link protocols. Network in data centers. Detection of transmission errors.
IK1203 Networks and Communication 7.5 credits
The course is an introduction to networking, protocols and communication.
We study how large international networks are constructed from the individual computers, via local area, city and national networks. We use the Internet as or working example of such a network. The aim of the course is to give insights into both the theory and practice of the area.
The focus of the course is on the protocols and algorithms used, and we will follow how they are used and implemented into the TCP/IP-stack - the basis of the Internet.
Information per course offering
Choose semester and course offering to see current information and more about the course, such as course syllabus, study period, and application information.
Course syllabus as PDF
Please note: all information from the Course syllabus is available on this page in an accessible format.
Course syllabus IK1203 (Spring 2024–)Content and learning outcomes
Course contents
Intended learning outcomes
After passing the course, the student should be able to
- describe and explain basic terms and concepts used in networking and communication
- analyse communication scenarios and application requirements and explain which methods and algorithms that are appropriate to offer a desired communication service
- explain, model and analyse the behaviour of networks using different methods for error handling and flow control
- explain different methods for congestion control and how they react to different events and conditions in the network
- explain the functions of protocols of the different layers of the Internet model and how different layers interact with one another
- explain and compare basic algorithms and mechanisms for path selection and how they react to different events and conditions in the network
- use socket programming to implement simple applications according to the client/server model
- design, implement and analyse the behaviour of simple Internet-based applications and their protocols
- design and configure simpler networks with basic services such as DHCP and DNS
- explain different functions and concepts concerning equipment for communication and networks
- calculate or estimate performance in terms of delay, throughput and utilization in interconnected networks
in order to
- understand and utilise computer communication and computer networks in a reliable and efficient way in systems and applications
- lay the foundation for continued studies in the area
Literature and preparations
Specific prerequisites
Knowledge and skills in Java programming, 6 credits, corresponding to completed course ID1018/DD1337 alternatively a completed course in basic programming such as DD1310-DD1319/DD1321/DD1331/DD100N combined with a completed course in Java programming corresponding to DD1380.
Knowledge in Boolean algebra, 1,5 credits, corresponding to completed course IE1204/IE1205, alternatively ANN1 in IS1500.
Equipment
Literature
Computer Networking, Global Edition, 8e. James F. Kurose & Keith W. Ross. Pearson. ISBN-13: 9781292405469
Examination and completion
If the course is discontinued, students may request to be examined during the following two academic years.
Grading scale
Examination
- LABB - Laboratory work, 1.5 credits, grading scale: P, F
- PROJ - Project assignment, 1.5 credits, grading scale: P, F
- TENT - Digital examination, 4.5 credits, grading scale: A, B, C, D, E, FX, F
Based on recommendation from KTH’s coordinator for disabilities, the examiner will decide how to adapt an examination for students with documented disability.
The examiner may apply another examination format when re-examining individual students.
TENT is conducted as a continuous digital examination and is given in English. Written solutions may be submitted in Swedish or English.
Opportunity to complete the requirements via supplementary examination
Opportunity to raise an approved grade via renewed examination
Examiner
Ethical approach
- All members of a group are responsible for the group's work.
- In any assessment, every student shall honestly disclose any help received and sources used.
- In an oral assessment, every student shall be able to present and answer questions about the entire assignment and solution.
Further information
Course room in Canvas
Offered by
Main field of study
Education cycle
Add-on studies
- IK1550 Internetworking.
- IV1013 Introduction to Computer Security
Contact
Supplementary information
In this course, the EECS code of honor applies, see: http://www.kth.se/en/eecs/utbildning/hederskodex.
The content in this course overlaps partly with IK2218 Protocols and Principles of the Internet 6 credits.