Advanced Networking

A Note from the Instructor

I have been messing around with networks for a few years now, both in the industry and in academia. When instructors are passionate about a topic, they will run extra miles to help you learn and succeed. In today's interconnected world, networks are everywhere. They support healthcare, the world’s finance, engineering, and data science. They even allowed artificial intelligence to scale. Networks are the backbone of the Internet (note the capital I), and other countless communication systems. Understanding how networks interact is essential for anyone working in the technology industry and I promise, it’s super cool! This course is designed to serve undergraduate and graduate students interested in doing research, jobs in various sectors increasingly require advanced networking expertise. Whether you aim to work as a computer or data scientist, in IT, in cybersecurity, in software development, or even if you are considering your own startup, a strong understanding of networking concepts will open doors to diverse and rewarding career opportunities. You will learn recent trends and classical advanced breakthroughs in the field of computer networking. See you in class!

General Information

Instructor: Flavio Esposito's homepage

Office: ISE 234D (post your questions on Slack first)

Office Hours: Wed and Thursday 12:15pm-1:15pm (or by appointment)

Meeting Times: Jan 16 - May 14, Tue-Thu 11:00 - 12:15, McDonnell Douglas Hall 2094

Course Website: https://cs.slu.edu/~esposito/teaching/5930/

Slack Channel: Join Slack Here

Enrollment Information

CSCI 5930: Special Topics: Advanced Networking (for graduate students)
CSCI 4930: Advanced Networking (for undergraduate students)

Course Overview

The study material of this course will be based on lecture notes made public by students, lecture notes, handouts provided in class, and recent or historical scientific publications on the topic. A few assignments, at least two tests, and a final class project will compose the final letter grade. Class projects will involve coding and a report to be presented at the end of the course and can potentially lead to a scientific publication or a technical report for an industry prototype on a networked system. By exploring cutting-edge network technologies, students will be prepared to contribute to both industry jobs and in the rapidly evolving networking landscape of academia.

Course Prerequisites and Expectations

  • Prerequisite: Computer Networks. At SLU, the course number is CSCI 3555 for undergraduate in computer science and CSCI 5550 for graduate students.

  • Fairly solid programming skills in a high-level language (such as C, C, Java, Python) are strongly recommended.

  • A rudimentary understanding of algorithms and their mathematical foundations is required.

  • A rudimentary understanding of computer networks and operating systems is required. Students are expected to read and understand code, write and debug reasonably large programs, run basic Linux commands, and learn new syntax and apply it without much difficulty.

  • Students are also expected to learn new tools/programs and run them to test and analyze network protocols.

Course Learning Objectives

After taking this course, students will be able to:

  1. Analyze and design network architectures and protocols.

  2. Evaluate and implement advanced network programming techniques.

  3. Evaluate and implement advanced network protocols.

  4. Investigate and troubleshoot complex network issues.

  5. Prototype network systems via simulators and emulators.

  6. Read and review critically recent and classical literature on advanced computer network topics.

List of Topics and Preliminary Lecture Outline

Most of these topics will be explored by everyone, but some will be explored in more depth only via class projects by a few students. The above learning objectives can be achieved in multiple ways. Students will be able to select their favorite optional topics in class.

Network Architectures and Network Protocols

Advanced routing protocols, Software Defined Networking (SDN), Network Functions Virtualization (NFV), Adaptive and scalable network architectures, Network topologies, Communication protocols, etc. Examples of topics covered include: Equal-Cost Multi-Path (ECMP), Open Shortest Path First (OSPF), Border Gateway Protocol (BGP), Multiprotocol Label Switching (MPLS), Virtual Private Networks (VPN), P4 data plane programmability.

Wireless Networks

Modern Wireless network technologies, such as Long-Term Evolution (LTE), 5G, Satellite networks, Mesh networks, Delay-Tolerant Networks etc.

Very large and very small Networks

Congestion control in datacenter networks, Edge and Cloud Computing, microservices, service mesh, Internet of Things (IoT) network architectures and protocols such as LoRA and WiFI HaLow.

Network for AI and AI for networks

We will explore the synergy between artificial intelligence and networking. The topics covered include machine learning fundamentals relevant to networking, AI-driven network automation for network mechanisms such as anomaly detection, predictive network analytics, and AI for network security. Additionally, the class will touch on topics related to reinforcement learning in networking, AI-driven network resource management, and the application of AI in network virtualization and 5G technologies. Ethical considerations in AI-driven networks will also be addressed, ensuring students develop a well-rounded understanding of this evolving and critical area in the field of computer networking.

Network Programmability

Network elements are nowadays made by software components, and hence they can be reprogrammed. With projects, some students will explore what it means to program a network control plane with software defined networking (openflow), and programming the data plane with P4 or data plane dev kit (dpdk). Students may also program other network mechanism different than routing and forward, e.g., scheduling in peer to peer. All students will be able to build their own event-driven simulator to test famous distributed consensus algorithms for cloud storage like RAFT and Paxos, or use existing popular simulators like NS3 to test or program with other lower-level protocols.

Algorithmic Aspects of Networking

With dedicated projects, students more passionate about algorithmic aspects of networking will learn how to represent complex network structures and behaviors using graphs, matrices, and equations, and will explore famous algorithms and advanced data structure such as Bloom Filters and Distributed Hash Tables. Other projects may require interested students to delve into performance evaluation, capacity planning, and optimization through network modeling.

Class Participation, Attendance, and Make-ups

Class participation (in class, online, or offline) is strongly encouraged and could get you bonus points. Attendance will be taken occasionally; during the final project presentation and during tests, attendance is required.

Grading Criteria and Late Submission Policy

  • Homework, Labs, and Small Quizzes: 20%

  • Project: 30%

  • Tests: 50%

Grade Scale and Details

Late Submission Policy: Assignments submitted late will have a score reduced of 20% per day for the first 2 days after the deadline. No submissions will be accepted after the second day. Special considerations for bereavement as per university policy.

Letter grades will be based on each student overall percentage of awarded points according to the following formula:

Student percentage above 93% will result in a grade of A or better.
Student percentage above 90% will result in a grade of A- or better.
Student percentage above 87% will result in a grade of B+ or better.
Student percentage above 83% will result in a grade of B or better.
Student percentage above 80% will result in a grade of B- or better.
Student percentage above 77% will result in a grade of C+ or better.
Student percentage above 73% will result in a grade of C or better.
Student percentage above 70% will result in a grade of C- or better.
Student percentage above 67% will result in a grade of D or better.
Student percentage below 67% will result in a grade of F.

Technology in Class

Phones: Allowed in vibration mode. Use for emergencies but not during exams or quizzes. Laptops are permitted for note-taking during lectures.

Student Success Center

In recognition that people learn in a variety of ways and that learning is influenced by multiple factors (e.g., prior experience, study skills, learning disability), resources to support student success are available on campus. The Student Success Center assists students with academic and career related services, and is located in the Busch Student Center (Suite, 331) and the School of Nursing (Suite, 114). Students can visit www.slu.edusuccess to learn more about: Course-level support (e.g., faculty member, departmental resources, etc.) by asking your course instructor. University-level support (e.g., tutoring services, university writing ser- vices, disability services, academic coaching, career services, andor facets of curriculum planning).

Disability Services Academic Accommodations

Students with a documented disability who wish to request academic accommodations must contact Disability Services to discuss accommodation requests and eligibility requirements. Once successfully registered, the student also must notify the course instructor that they wish to access accommodations in the course. Please contact Disability Services, located within the Student Success Center, at Disability_services@slu.edu or 314.977.3484 to schedule an appointment. Confidentiality will be observed in all inquiries. Once approved, information about the student’s eligibility for academic accommodations will be shared with course instructors via email from Disability Services and viewed within Banner via the instructor’s course roster.

Note: Students who do not have a documented disability but who think they may have one are encouraged to contact to Disability Services.

University Writing Services Support

We encourage you to take advantage of university writing services in the Student Success Center; getting feedback benefits writers at all skill levels. Trained writing consultants can help with writing projects, and oral presentations. University Writing Services offers one-on-one consultations that address everything from brainstorming and developing ideas to crafting strong sentences and documenting sources. For more information, call 314-977-3484 or visit http:bit.ly/1gAKC9H

Title IX

Saint Louis University and its faculty are committed to supporting our students and seeking an environment that is free of bias, discrimination, and harassment. If you have encountered any form of sexual misconduct (e.g. sexual assault, sexual harassment, stalk- ing, domestic or dating violence), we encourage you to report this to the University. If you speak with a faculty member about an incident of misconduct, that faculty member must notify SLU’s Title IX coordinator, Anna R. Kratky (DuBourg Hall, room 36; akratky@slu.edu; 314-977-3886) and share the basic facts of your experience with her. The Title IX coordinator will then be available to assist you in understanding all of your options and in connecting you with all possible resources on and off campus. If you wish to speak with a confidential source, you may contact the counselors at the University Counseling Center at 314-977-TALK. To view SLU’s sexual misconduct policy and for resources, please visit the following web addresses: https:www.slu.edugeneral-counselinstitutional-equity-diversityindex.php and www.slu.eduhere4you

Academic Integrity

Academic integrity is honesty, truthful and responsible conduct in all academic endeavors. The mission of Saint Louis University is “the pursuit of truth for the greater glory of God and for the service of humanity.” Accordingly, all acts of falsehood demean and compromise the corporate endeavors of teaching, research, health care, and community service via which SLU embodies its mission. The University strives to prepare students for lives of personal and professional integrity, and therefore regards all breaches of academic integrity as matters of serious concern.

The governing University-level Academic Integrity Policy can be accessed on the Provost’s Office website. A more detailed policy statement is given by the College of Arts & Science, also applying to this course.

In addition to those general statements, we wish to discuss our policy in the context of this course. When it comes to learning and understanding the general course material, you may certainly use other reference materials and you may have discussions with other students in this class or other people from outside of this class. This openness pertains to material from the text, practice problems, general syntax and use of any language or other computing tools. However, when it comes to work that is submitted for this course, you are not to use or to search for any direct or indirect assistance from unauthorized sources, including but not limited to:

  • other students in this class

  • past students, whether from this school or other schools

  • other acquaintances

  • other texts or books

  • online information other than that referenced by course materials, including LLM;

Acceptable sources of information include consultations with the instructor, teaching assistants, or members of organized tutoring centers on campus, as well as any materials explicitly authorized for a project description. Even in these cases, if you receive significant help you should make sure to document both the source of the help as well as the extent. On certain assignment, we may explicitly allow students to work in pairs. In this case, conversations between partners is both permissible and required. Furthermore, both students are expected to contribute significantly to the development of the submitted work. It is unethical to allow a partner to “sign on” to a submission if that partner did not significantly contribute to the work. Any violations of these policies will be dealt with seriously. Penalties will apply as well to a student who is aiding another student. Any such violations will result in a minimum penalty of a zero on the given assignment that cannot be dropped, and severe or repeated violations will result in an immediate failing grade in the course. Furthermore, all incidents will be reported in writing to the Department and/or the Dean, as per the College procedure.