Data Communication
Overall Course Objectives
To establish an in depth understanding of the internet and LANs network principles and to learn methods for protocol analyses and establishment of communication between machines and applications. The course gives the foundation for further studies/courses related to computer networks.
See course description in Danish
Learning Objectives
- Define concepts like protocol, protocolstack, congestion and flow control, fragmentation, addressing forms and multiplexing /de-multiplexing
- Describe mainstream network components like routers, switches, acces point, firewalls and their use
- Describe services provided by the key protocols and explain the connection to protocol / protocol header as well as relate to adjacent protocol layer services
- Describe Wireless networks such as WiFi and Cellular
- Use FSM-diagrams and sequence diagrams to analyse a protocol
- Describe the most important types of encryption for data communication security
- Use tools like wireshark etc. for network traffic analysis
- Use fundamental socket-programming
- Discus and evaluate the use of a) addressing forms, b) forward error correction versus error detection, c) stability of routing algorithms, d) explicit and implicit congestion control, e) available standards for local area networks (wired as wireless), f) implications on higher protocol layers of the NAT protocol, g)IP4 versus IP6 and h) Push versus Pull technologies
Course Content
Overview: Computer networks and the Internet
Application Layer: Protocols for commonly used applications, such as WWW, email, DNS, etc. and the socket paradigm
Transport Layer: TCP and UDP, service attributes
Network Layer: IPv4, IPv6, ICMP, NAT, Routers and Routing Algorithms
Data Link Layer: Ethernet, Switches, error detection and correction
Wireless: WiFi, Cellular
Security: Encryption principles, firewalls
Sustainability (energy consumption)
Teaching Method
Lectures and exercises
Faculty
Remarks
Section: AI, Mathematics and Software
IT and Economics: 4. semester
Software Technology: 4. semester
Computer Engineering: 2. semester