ICS 451: Data Networks
Description: Network analysis, architecture, digital signal analysis and design; circuit switching, packet switching, packet broadcasting; protocols and standards; local area networks; satellite networks; ALOHA channels; examples.
Objectives: In this course, students will:
* learn about computer networking, focusing on the fundamental design principles of computer networks and protocols.
* study networks of practical importance, including the Internet, TCP/IP, and wireless networks.
* learn to write in C computer programs to work with the network, specifically implementing clients, servers, and protocols.
Course Learning Outcomes: See objectives.
Program Learning Outcomes
- a. Students can apply knowledge of computing and mathematics appropriate to the discipline
- b. Students can analyze a problem, and identify and define the computing requirements appropriate to its solution
- c. Students can design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs
- e. Students have an understanding of professional, ethical, legal, security and social issues and responsibilities
- h. Students can recognize the need for and an ability to engage in continuing professional development
- i. Students can use current techniques, skills, and tools necessary for computing practice
- j. An ability to use and apply current technical concepts and practices in the core information technologies. [BA IT only]
Prerequisites: 212 and 311, or consent
Textbook(s): “Computer Networking : Principles, Protocols and Practice”, by Olivier Bonaventure, freely available at http://inl.info.ucl.ac.be/CNP3
Grading: assignments (45%), 2 exams and a final, each worth 15% of the grade (total 45%), 2 reviews of your colleagues’ assignments (total 10%).
Schedule
- week 1: course overview, sockets API, network application programming
- week 2: sockets API in C, Windows, C programming reminders, layered reference models, Internet and OSI reference models
- week 3: Application Layer, Domain Name System
- week 4: email, HTTP
- week 5: transport layer, Alternating Bit Protocol, sliding window, reliable transmission, connections
- week 6: exam review and exam
- week 7: TCP connections, TCB, Nagle Algorithm, UDP, congestion control
- week 8: network layer protocols, packet forwarding, virtual circuits, static routing, distance-vector routing
- week 9: link-state Routing, IP: addresses, netmasks, headers, fragmentation,
- week 10: IPv6 socket programming, ICMP including ping and traceroute, ARP
- week 11: summary of IP processing, DHCP, IPv6, Firewalls, NAT, IP routing: RIP, OSPF
- week 12: exam review and exam
- week 13: IP routing: domains, policy, BGP, data link layer, framing, error detection and correction
- week 14: Medium Access Control, ALOHA Net, CSMA, PPP, Ethernet
- week 15: Ethernet hubs and switches, Spanning Tree Protocol, Virtual LANs, 802.11 and ad-hoc networks, 802.11 security
- week 16: course review