Welcome to the homepage of Advanded Networking (ANET), edition
2024/2025. ANET is a course for M.Sc. students at the University of
Twente that enables you to understand, discuss, and evaluate advanced
internetworking concepts, such as secure inter-domain routing,
multi-path communication, path control, and experimental Internet
architectures. ANET is a first quartile course (September through
November).
The main audience of this site are students who enrolled for
the 2024/2025 edition of ANET. However, it might also be of
interest to potential future students and perhaps to fellow teachers
around the globe who’d like to reuse parts of our format and/or content
at their institution (or who’d like to provide feedback :-)
Students: please read this page carefully, so you
know what we expect from you, and what you can expect from us. We’ll
provide a summary at the ANET introduction lecture on Fri Sep 6, 2024.
More details are in the draft schedule below and through
TimeEdit.
The section Additional Reading points to papers and reports on advanced
networking concepts that we won’t discuss in class, but that we think
are nontheless very interesting. Feel free to check them out and discuss
them with us if you want.
Overview
ECTS
5 (140 hours)
Code
201700077-1A
Prerequisites
Introductory course in computer networking, such as the bachelor
module Network Systems at the UT
Teachering team
dr.ir. Pieter-Tjerk de Boer (University of Twente) prof.dr.ir.
Geert Heijenk (University of Twente) prof.dr.ir. Roland van
Rijswijk-Deij (University of Twente and NLnet Labs) prof.dr. Cristian
Hesselman (SIDN Labs and University of Twente)
Ranked top five of papers you’d like to blog about (1st, 2nd, etc.):
Fri Sep 6, 2024
Individual and group test: at each lecture
Blog: due one week after the lecture in which you
presented the paper
Lab assignment: by the end of the last lab session
(see ANET schedule)
Notification of grades: two weeks after the last
lecture, so around Nov 22, through Canvas
Goal of this site
The goal of this webpage is to provide you with a one-stop shop for
everything you need to know about ANET. It focuses on more
static information, such as the course schedule, evaluation
criteria, and learning goals. Please check the UT’s teaching
services for more dynamic information, such as
TimeEdit for
information on lecture hours and lecture rooms and
Canvas for the
ANET message board. Canvas is also the official archive for uploading
your blog and P4 code, which are 2 of your deliverables for ANET (more
details below).
We use a separate public website because we’d like to share ANET’s
format with other universities and students so they can potentially
learn from it. Also, ANET is a collaboration with SIDN Labs, the
research team of the .nl operator. They are proud of contributing to
courses like ANET and would like to underscore the importance of
companies helping to educate the next generation of engineers and
researchers, such as in the area of advanced networking concepts.
Finally, the UT is a public institution, which we believe means it
should share its education design and material with the Dutch society
and beyond as much as possible.
Prerequisites
Before taking ANET, you must have successfully
passed an introductory course in computer networks, such as the bachelor
module Network Systems (202001026). It is your
responsibilty to assess if you have the required background
knowledge for the course. This is also why we highly recommend scanning
the ANET papers before you enroll.
Please contact the course coordinator or your Study Advisor if you
have any questions regarding prerequisites.
Enrollment
You can only sign up for ANET through
OSIRIS.
We do not accept registrations via email or other channels.
We urge you to scan ANET’s list of papers before you sign
up, so you know what to expect. Should you end up unsubscribing
from ANET, then please unregister through OSIRIS. In this case, we
appreciate it if you share your feedback as to why you unregistered with
the ANET coordinator (email above) so we can use it to further improve
the course.
ANET is a highly interactive course in which you
study research papers on advanced networking concepts, engage in
technical discussions with your peers (“group-based learning”), and
present a paper you studied in depth. The number of seats is
limited to 16 because we ask every student to present a
paper and we can only fit two presentations in one lecture.
We admit people on a first-come-first-served basis using the OSIRIS
timestamp of your registration. We’ll put you on a waiting list if more
than 16 students sign up and let you know if a seat becomes
available.
Topics covered
ANET is an overview course (see Background). This
means that ANET lectures will introduce you to a wide range of
inter-domain networking topics [Shosh], such as programmable networks,
routing security, and alternative Internet designs.
We picked the topics for ANET “going up the stack”:
from programmable networks (the hardware), to BGP security (routing and
addressing), DNS security and privacy (naming), transport-level
protocols (QUIC and multi-path communication), a specific networking
application (data centers), and Internet architectures (a broad view on
inter-domain neworking). The other reason for selecting these topics is
that your teachers are conducting research in these areas, which means
they can tell you everything about it (and of course we love to talk
about our work we do :-)
Teaching material: academic
papers
We use academic papers and an occasional
Request for Comments
(RFC) as our teaching material. We selected papers that help you
understand generic network architectures and principles
for a particular topic that are still relevant today, such as the design
goals of the Internet and the mechanisms that aim to secure the routing
system. As a result, the ANET papers are “milestone” papers that may be
quite old, with one paper going back to the Internet’s proverbial “stone
age” (1995).
The references (between square brackets “[..]”) point to the papers
at the bottom of this page.
Lectures
The goal of the lectures is to able you to learn from each other and
from your teachers and to test your understanding of the topic of the
lecture. ANET consists of a total of eight lectures,
each of which focuses on one specific topic and covers
three papers: an introductory paper and two advanced papers.
An introductory paper gives you a basic
understanding of the topic of the lecture, such as inter-domain routing
security. We test your understanding of an introductory paper through a
closed book, individual multiple-choice test that you
will need to make in class. You’ll make the same test again in a
group with 2-3 of your fellow students, enabling you to learn
from your peers by discussing the questions of the test with them. So,
in total you’ll need to make 8 individual tests and 8 group tests.
An advanced paper explores the topic of the lecture
in more depth. We test your understanding of one of
these advanced papers by asking you to write a review about it in the
form of a blog and present it in
class. Please check the Assessment section and the section
deliverable #2 (blog) for more on details on writing the blog.
NOTE WELL: You must attend
all lectures because that’s when the tests take
place. Also, ANET is an interactive course which depends on eveyone
actively participating in the discussions, for instance in the Q&A
after each talk.
P4 sessions
As part of ANET, you will get a first practical
experience with programmable networks using the P4 programming
language (see “Deliverable #4: P4 lab assignment” below). You will not
need to study P4 in-depth.
We provide three P4 sessions: an introduction to P4 and two half-day
P4 lab sessions. The lab sessions enable you to ask questions about the
P4 excersises and have them signed off by the Teachin Assistant. They
also enable you to allocate two large chuncks of time to the P4
excersises. However, we strongly advice you also work on the P4
work at home and not just at the lab sessions.
Guest lectures
In addition to the regular lectures, we also offer two guest
lectures. Their goal is to give you a flavor of
operational network infrastructure (current and
experimental) at companies and of ongoing research in one of the areas
we address in ANET (e.g., routing).
The guest lectures are open to everyone (ANET students, other
students, and university staff).
Guest lecture : Access
Networks
Title: Technologies to Improve and Increase the User
Experience in Access Networks
Abstract: Private Networks are becoming increasingly
complex. ISPs are expected to help end users quickly and adequately.
This is increasingly happening in a multi vendor environment. How do you
monitor the whole and how do you set things up for the user? Topics
covered include BBF TR-69, TR-369 and TR-181 as well as Wi-Fi management
and a future with AI
Lecturer: Eric van Uden, AVM ICT GmbH
Guest lecture : NREN networks
Title: The anatomy of an ISP/NREN network
Abstract: SURF is the national research and
education network of the Netherlands. This presentation will take you
through the entire “stack” of the SURF network. From 11.000km of ground
fiber up to service delivery through automation & orchestration. I
will discuss optical technologies used up to how the network services
are actually delivered to our member institutes.
Lecturer: Max Mudde, SURF
Schedule
Table 1 shows the schedule of ANET. The regular lectures (Rx) usually
take place on Fridays and the P4 lab sessions (Lx) on Mondays. The days
of the guest lectures (Gx) vary, depending on the availability of the
guest lecturer.
Note that lecture rooms may change, so make sure to regularly
check
TimeEdit.
Multi-path communication [MTCP1] [MTCP2] [MTCP3] Teacher: Geert
Heijenk
G1
Wed Sep 25 10:45-12:30
DR 102B
Guest lecture: Technologies to Improve and Increase the User Experience
in Access Networks Lecturer: Eric van Uden, AVM ICT GmbH This
lecture will be open to everyone
R4
Fri Sep 27 10:45-12:30
RA 4334
QUIC [QUIC1] [QUIC2] [QUIC3] Teacher: Pieter-Tjerk de Boer
L1
Mon Sep 30 08:45-12:30
HB 2E
P4 lab session #1 Teacher: Shyam Krishna Khadka
R5
Fri Oct 4 10:45-12:30
OH 110
Internet architectures I [SCION] [NDN] [FABRID]
Teacher: Cristian Hesselman
R6
Fri Oct 11 10:45-12:30
LA 2409
DNS security and privacy [P-DNS] [DoH] [DNS-SP] Teacher: Roland
van Rijswijk-Deij
G2
Wed Oct 16 10:45-12:30
DR 102B
Guest lecture #2: The anatomy of an ISP/NREN network Lecturer: Max
Mudde, SURF This lecture will be open to everyone
R7
Fri Oct 18 10:45-12:30
RA 4334
Internet architectures II [DARPA] [TROTS] [TUSSLE]
Teacher: Cristian Hesselman
L2
Mon Oct 21 13:45-17:30
HB 2C
P4 lab session #2 Teacher: Shyam Krishna Khadka
R8
Thu Oct 24 13:45-15:30
VR112
Data Center Networking [DCN1] [DCN2] [B4] Teacher:
Geert Heijenk
R9
Fri Nov 1 10:45-12:30
HB 2E
BGP security [BGP1] [BGP2] [BGP3] Teacher: Roland van Rijswijk-Deij
Detailed timetable for
regular lectures
Table 2 provides a detailed schedule for the regular lectures. We
apologize for the micromanagement, but this is important to make the
best of our time.
Table 2. Detailed timetable for ANET lectures.
Time
What
10:45
Arrival, put your cell phone in your bag, sit down. Your teacher will
hand out a hardcopy of the test.
10:45-10:50
Lecture introduction (teacher)
10:50-11:00
Individual test on introductory paper (closed book) Your teacher
will pick up the tests when everyone is done
11:00-11:05
Organize into groups (your teacher divides you across groups)
11:05-11:25
Group test on introductory paper (closed book), including one open
question Your teacher will pick up the tests when everyone is done
A total of 8 multiple-choice tests on introductory
papers for a particular topic (e.g., multi-path networking), to be
completed individually and in groups in class
A blog of at most 1.500 words in which you review one
of the advanced papers.
A presentation of 15 minutes about that paper at one of
the lectures, including 5 minutes of discussion
A P4 program that configures the packet handling
functions of a P4-programmable network switch, to be carried out
individually at one of the two lab sessions or at home.
Assessment
We asses to what extent you attained ANET’s learning outcomes (see
Background) based on academic papers and RFCs you will need to study and
a lab assignment you will need to carry out.
To pass ANET, your overall score will need to be 5.5
or higher, which we calculate as follows:
((average score of your 8 individual tests)*25% + (average score
of your 8 group tests)*25% + (score of your blog)*40% + (score of your
presentation)*10%) * (score of your lab assignment)
The scores of the tests, blog, and presentation are between 1 (worst)
and 10 (best). The score of the lab assignment is either 1 (pass) or 0
(fail).
There are more details on how we grade each of your deliverables
(group tests, blog, presentation, and lab assignment) in the sections
below.
Deliverable #1: eight
multiple choice tests
Each ANET lecture involves a multiple-choice test to
assess your understanding of the introductory paper on the topic that we
discuss in a particular lecture (see Schedule). The test is
closed book and you will need to make it in
class, first individually and then the same
test in a group with 2-3 of your fellow students.
The goal of the group-based test is to enable you to learn from your
peers and further increase your understanding of the paper. The
group-based test also has one open question in which we
ask you to formulate the main takeway of the paper in one sentence of at
most 25 words.
We calculate your grade for a particular test as follows:
Grade of individual part of the test = maximum of
((S-G)/(Q-G))*9+1 and 1
Where S is the number of answers you got right, Q is the number of
questions in the test, and G is the “guessing factor”. The latter is the
number of answers you could have guessed correctly if you hadn’t read
the paper, which is usually Q/4 (most tests have 4 answers you can
choose from).
The open question of the group-based tests will get you one point,
which means that we grade those tests as follows:
Grade of group-based part of the test = maximum of
((S-G)/(Q-G))*8+O+1 and 1
Where O is 1 if you got the open question right and 0 if you
didn’t.
Deliverable #2: blog
Your second deliverable is a blog in which you
review one of the advanced papers in your own
words. The goal of your blog is to enable readers to assess if
they’d like to read the full paper based on your review.
Instructions for your blog
You can use at most 1.500 words.
Make sure your blog is self-contained, which means
that folks who haven’t read the paper should be able to understand it
without having to consult other documents. Your target audience are
readers with a background in computer networking, so
you don’t need to explain basic networking concepts.
Your blog must begin with a section in which you explain the paper’s
three main takeways in at most 150 words. The “Key
Insights” box on page 1 of paper [SCION] has an example that might
provide inspiration.
At the end of your blog, briefly reflect on the
process you followed to write the blog in at most 100 words. For
example, how did you go about studying the paper and understanding its
contents, and how did you write the blog. Please also indicate how you
incorporated the feedback you received at your presentation. The
reflection does not add to the word count of your blog.
Examples of
topics you can discuss in your blog
The topics you discuss in the blog should capture the core of what
the paper is about. Table 3 lists a few examples of
topics you can discuss in your blog.
Table 3. Example topics to blog about.
Design paper (e.g., [SCION])
Measurement paper (e.g., [DNS-SP])
What is the problem that the authors aim to solve?
What is the problem that the authors aim to solve?
What requirements do the authors articulate for their work?
What methodology and experimental setup do the authors use?
What does the high-level design and operation of their proposed system
look like?
What are their key findings and conclusions?
How does the design address the requirements?
How do they propose others use their measurement study?
What are the pros and cons of the authors’ work and why?
What are the pros and cons of the authors’ work and why?
What would you do differently?
What would you do differently?
Would you recommend the paper to interested readers?
Would you recommend the paper to interested readers?
Use of ChatGPT and other
tools
You may use ChaptGPT, Grammarly or other tools to help you
improve the language of your blog. The original content
MUST however be written by you.
You must include this statement in your blog if you used ChatGPT or
other tools:
“AUTHOR DECLARATION: During the preparation of this work, I used
[NAME TOOL/SERVICE] ONLY to improve the language of my blog. I confirm
that I alone wrote the original text in full and that I then reviewed
and edited the content using [NAME TOOL/SERVICE]. I take full
responsibility for the content of the work.”
If you did not use such tools, then include a statement that no AI
was used:
“AUTHOR DECLARATION: I did not use any artificial intelligence
tools to write my blog.”
Your blog MUST include either of these two statements or otherwise we
will not take it into consideration.
As per the same policy, we will consider suspicion of unpermitted or
unreported use of AI as potential acadmic misconduct. We will report
such cases to the Examination Board and they may result in you having to
take
an oral exam on your blog, amongst others.
Tips on how to write a blog
We recommend you check out a few of these sites on how to write a blog:
Another source of inspiration may be prof. Aiko Pras’ guide
on how to write a scientific paper. That’s different from a blog, but
the video might help you structuring your blog anyway.
Referencing, citing, and
quoting
If you want to literally include text from the paper (or other
sources) in your blog, then you need to reference and
quote it. This includes sources where you are an author. During
the first lecture, we will briefly discuss the differences between
citing, quoting, and copying (see slide of 19 of this
presentation).
If you want, you can use references in your blog rather than
hyperlinks to refer to external sources. We’ll exclude them from the
wordcount, and we also won’t count the blog’s title and figure and table
headings.
You can reuse graphs from the paper if you want, but make sure
clearly indicate that they’re from the paper and not your own.
Note that Canvas will automatically check your blog for plagiarism
when you submit it. As per the university’s policy, no forms of
plagiarism are tolerated.
Please contact us if you have questions regarding citing and
quoting.
Evaluation criteria
We will evaluate your blog based on the following
criteria:
Understanding: how well did you understand the paper, for instance in
terms of the problem it aims to solve and the paper’s key points?
Analysis: to what extent did you provide a critical analysis of the
paper, for instance in terms of the strengths/weaknesses of the work,
limitations of the proposed solution/approach, and potential
improvements?
Clarity: structure, language, and readability of the blog.
Grading process
The ANET teacher who gives a particular lecture will evaluate the
blogs about the papers of that lecture. In addition, one of the other
teachers will review your blog for a cross-check. They both use the
evaluation criteria listed above to grade your blog.
We’ll be evaluating all of your blogs in one go at the end of the
course. This means that you’ll get your grade around two weeks after the
last presentation. That’s because that person has 1 week to submit their
blog and we’ll need a few days to evaluate your work.
The reason for reviewing and evaluating all blogs in one go is that
this approach will allow for a fairer assessment because we have the
overview of all blogs, plus that it’s more efficient on our part.
Deliverable #3: presentation
You’ll need to present the paper that you wrote a blog about to your
peers in at most 15 minutes, consisting of 10 minutes
of speaking time and 5 minutes of questions and discussion.
Your presentation must start with your three main
takeaways of the paper.
Your lecturers will score your presentation based on clarity,
structure, and how well you responded to questions. Your fellow
students will do the same through a feedback form that we’ll hand out at
the beginning of each lecture. Your lecturers will use this feedback to
round off scores. You must return the feedback forms before leaving the
room.
Here’s a few How To’s for giving a talk:
Ian Parberry: How to Present a Paper in Theoretical Computer Science - A
Speaker's Guide for Students.
Simon L. Peyton Jones, John Hughes, John Launchbury: How to give a good
research talk.
Deliverable #4: P4 lab
assignment
The lab assignment involves you programming the packet handling
functions of a (simulated) open programmable router using the
domain-specific language P4 [P4a], which we believe is an important
enabler for an open programmable Internet infrastructure [RI].
The goal of the P4 assignment is to for you to get a first
practical experience with programmable networks. Its goal is
not to give you an in-depth understanding of programmable networks,
which would require a separate course.
We will discuss P4 in one of the first lectures and we’ll provide
detailed information on the lab assignment through an introductory
lecture (see Schedule). The Teaching Assistant is available for
questions.
You will need to carry out the P4 assignment
individually at one of the two lab sessions or at home.
When you’re done, you need to show your results to the Teaching
Assistant in one of two lab sessions (see Schedule).
The teaching assistant will sign off your P4 assignments
if:
Your P4 code runs and shows the expected behavior, and
You’re able to explain the Teaching Assistant what’s going on and why,
and
You added comments to your P4 code explaining why you programmed the
router the way you did
We strongly advice that you also work on the P4 lab
assignment at home and not only at the lab sessions
(see Schedule). That’s because it might take some of you more than the
two lab sessions to finish the work. Also keep in mind that the Teaching
Assistant needs to help multiple students at the lab sessions, so the
person might not always be immediately available for you.
A few P4 tutorials that you might find useful are:
Please submit your blog, presentation, and P4 code through Canvas
(unzipped) so we can confirm that you yourself carried out the work
(SimCheck).
You do not need to submit the multiple-choice tests through Canvas
because we’ll get them from you in class.
Resits
In some cases, you can take a resit for ANET’s in-class test or blog,
such as when you missed a lecture because you were ill. Please check
with the course coordinator if you think this applies to you.
We offer resits as follows:
Multiple-choice test: we’ll enable you to take an oral exam instead,
with the examiners being the teacher of the lecture and one other member
of the teaching team.
Blog/presentation: we’ll enable you to write a new blog about another
paper and present it to a few members of the teaching team.
Survey
At the end of the course, the university’s Quality Assurance
department will send each of you an online survey to ask how you
experienced ANET and how you think we could further improve it. We
kindly request a few minutes of your time to fill it out so we can
learn from your feedback and further improve ANET next
year. Your fellow students who will take ANET next year will thank you
for it!
At the beginning of the course, we’ll inform you what changes we made
based on the feedback we received from last year’s students. (We’ll
inform them those changes as well, so they know what we did with their
feedback.)
ANET papers and RFCs
We use a total of 24 papers and Request for Comments
(RFCs) for ANET. Please check the Lectures section on why we
picked these papers and how they interrelate.
Programmable Networks
Introductory paper:
[SDN] B. Nunes Astuto, M. Mendonca, X. Nam Nguyen, K. Obraczka, T.
Turletti, “A Survey of Software-Defined Networking: Past, Present, and
Future of Programmable Networks”, IEEE Communications Surveys &
Tutorials, Vol. 16, Issue 3, Third Quarter 2014, https://www.comp.nus.edu.sg/~chanmc/cs6204/week1-survey.pdf
Advanced papers:
[P4a] P. Bossharty, D. Daly, G. Gibby, M. Izzardy, N. McKeownz, J.
Rexford, C. Schlesinger, D. Talaycoy, A. Vahdat, G. Varghesex, and D.
Walker, “P4: Programming Protocol-Independent Packet Processors”, ACM
SIGCOMM Computer Communication Review, Volume 44, Issue 3, July 2014,
pp. 87-95, https://www.cs.princeton.edu/~jrex/papers/P4-ccr14.pdf
[P4b] S. Knossen, J. Hill, P. Grosso, “Hop Recording and Forwarding
State Logging: Two Implementations for Path Tracking in P4”, 2019
IEEE/ACM Innovating the Network for Data-Intensive Science (INDIS),
November 2019, https://ieeexplore.ieee.org/document/8940312
BGP Security
Introductory paper:
[BGP1] S. Goldberg, “Why is it taking so long to secure internet
routing?”, Communications of the ACM, Vol. 57, Issue 10, October 2014,
pp 56–63, https://doi.org/10.1145/2659899
Advanced papers:
[BGP2] T. Chung, E. Aben, T. Bruijnzeels, B. Chandrasekaran, D.
Choffnes, D. Levin, B. M. Maggs, A. Mislove, R. van Rijswijk-Deij, J. P
Rula, N. Sullivan, “RPKI is Coming of Age: A Longitudinal Study of RPKI
Deployment and Invalid Route Origins”, Proceedings of the Internet
Measurement Conference, October 2019, pp. 406–419, https://doi.org/10.1145/3355369.3355596
[BGP3] J. Kristoff, R. Bush, C. Kanich, G. Michaelson, A. Phokeer, T. C.
Schmidt, M. Wählisch, “On Measuring RPKI Relying Parties”, Proceedings
of the ACM Internet Measurement Conference, October 2020, pp. 484–491,
https://doi.org/10.1145/3419394.3423622
[DNS-SP] L. Zhu, Z. Hu, J. Heidemann, D. Wessels, A. Mankin, N. Somaiya,
“Connection-oriented DNS to Improve Privacy and Security”, Proceedings
of the 2015 IEEE Symposium on Security and Privacy, 2015, https://nymity.ch/tor-dns/bibliography/pdf/Zhu2015a.pdf
Multi-path communication
Introductory paper:
[MTCP1] C. Paasch, O. Bonaventure, “Multipath TCP”, Communications of
the ACM, Vol. 57, No. 4, April 2014, pp 51–57, https://doi.org/10.1145/2578901
Advanced papers:
[MTCP2] D. Wischik, C. Raiciu, A. Greenhalgh, M. Handley, “Design,
implementation and evaluation of congestion control for multipath TCP”,
Proceedings of the 8th USENIX conference on Networked systems design and
implementation, 2011, https://www.usenix.org/legacy/event/nsdi11/tech/full_papers/Wischik.pdf
[MTCP3] Z. Morley Mao, S. Sen, “An in-depth understanding of multipath
TCP on mobile devices: measurement and system design”, Proceedings of
the 22nd Annual International Conference on Mobile Computing and
Networking (MobiCom ’16), New York City, New York, Oct 2016, https://dl.acm.org/citation.cfm?id=2973769
QUIC
Introductory paper:
[QUIC1] A. Langley, A. Riddoch, A. Wilk, A. Vicente, C. Krasic, D.
Zhang, F. Yang, F. Kouranov, I. Swett, J. Iyengar, J. Bailey, J.
Dorfman, J. Roskind, J. Kulik, P. Westin, R. Tenneti, R. Shade, R.
Hamilton, V. Vasiliev, W.-T. Chang, Z. Shi, “The QUIC Transport
Protocol: Design and Internet-Scale Deployment”, SIGCOMM 2017, August
2017, https://dl.acm.org/doi/pdf/10.1145/3098822.3098842
Advanced papers:
[QUIC2] Ike Kunze, Constantin Sander, and Klaus Wehrle, “Does It Spin?
On the Adoption and Use of QUIC’s Spin Bit”, Internet Measurement
Conference (IMC), 2023, https://dl.acm.org/doi/abs/10.1145/3618257.3624844
[QUIC3] T. Viernickel, A. Froemmgen, A. Rizk, B. Koldehofe, R.
Steinmetz, “Multipath QUIC: A Deployable Multipath Transport Protocol”,
2018 IEEE International Conference on Communications (ICC), May 2018, https://ieeexplore.ieee.org/abstract/document/8422951
Data Center Networking
Introductory paper:
[DCN1] T. Wang, Z. Su, Y. Xia and M. Hamdi, “Rethinking the Data Center
Networking: Architecture, Network Protocols, and Resource Sharing”, IEEE
Access, vol. 2, pp. 1481-1496, December 2014, https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=6990724,
up to (not including) Section V.A
Advanced papers:
[DCN2] Leon Poutievski, Omid Mashayekhi, Joon Ong, Arjun Singh, Mukarram
Tariq, Rui Wang, Jianan Zhang, Virginia Beauregard, Patrick Conner,
Steve Gribble, Rishi Kapoor, Stephen Kratzer, Nanfang Li, Hong Liu,
Karthik Nagaraj, Jason Ornstein, Samir Sawhney, Ryohei Urata, Lorenzo
Vicisano, Kevin Yasumura, Shidong Zhang, Junlan Zhou, and Amin Vahdat,
“Jupiter evolving: transforming google’s datacenter network via optical
circuit switches and software-defined networking”, ACM SIGCOMM 2022,
August 2022, https://dl.acm.org/doi/abs/10.1145/3544216.3544265
[B4] Sushant Jain, Alok Kumar, Subhasree Mandal, Joon Ong, Leon
Poutievski, Arjun Singh, Subbaiah Venkata, Jim Wanderer, Junlan Zhou,
Min Zhu, Jonathan Zolla, Urs Hölzle, Stephen Stuart and Amin Vahda, “B4:
Experience with a Globally-Deployed Software Defined WAN”, SIGCOMM 2013,
August 2013, https://dl.acm.org/doi/pdf/10.1145/2486001.2486019
Internet architectures, part
I
Introductory paper:
[SCION] D. Barrera, L. Chuat, A. Perrig, R. M. Reischuk, and P.
Szalachowski, “The SCION Internet Architecture”, Communications of the
ACM, Vol. 60, No. 6, June 2017, https://scion-architecture.net/pdf/2017-SCION-CACM.pdf
[TROTS] J. McCauley, Y. Harchol, A. Panda, B. Raghavan, and S. Shenker,
“Enabling a permanent revolution in internet architecture”, Conference
of the ACM Special Interest Group on Data Communication, August 2019,
pp. 1-14, https://dl.acm.org/doi/pdf/10.1145/3341302.3342075
[TUSSLE] D.D. Clark, J. Wroclawski, K.R. Sollins, and R. Braden, “Tussle
in cyberspace: defining tomorrow’s Internet”, IEEE/ACM Transactions on
Networking, Vol. 13, Issue 3, June 2005, https://ieeexplore.ieee.org/document/1458757
Additional reading
[ESSENTIAL] J. McCauley, S. Shenker, and G, Varghese, “Extracting the
Essential Simplicity of the Internet”, Communications of the ACM,
February 2023, Vol. 66, No. 2, https://dl.acm.org/doi/10.1145/3547137
[ICING] Jad Naous, Michael Walfish, Antonio Nicolosi, David Mazières,
Michael Miller, and Arun Seehra, “Verifying and enforcing network paths
with icing”, COnference on emerging Networking EXperiments and
Technologies (CoNEXT ’11), December 2011, https://doi.org/10.1145/2079296.2079326
[HIST2] A. McKenzie, “INWG and the conception of the Internet: An
eyewitness account,” Annals of the History of Computing, IEEE, vol. 33,
no. 1, pp. 66–71, 2011, https://ieeexplore.ieee.org/document/5723076
[REFL] K. Neggers, “Reflections on the History and Future of the
Internet (from a technical perspective)”, Advanced Networking Guest
Lecture, University of Twente, Sep 2019, https://courses.sidnlabs.nl/anet-2019/slides/lecture1b.pdf
[Lehr] W. Lehr, D. Clark, S. Bauer, A. Berger, P. Richter, “Whither the
public Internet?”, Journal of Information Policy 9, Aug 2019, https://www.prichter.com/whither-tprc46.pdf
[DEEP] N. Foster, N. McKeown, J. Rexford, G. Parulkar, L. Peterson, and
O. Sunay, “Using deep programmability to put network owners in control”,
ACM SIGCOMM Computer Communications Review, vol. 50, no. 4, pp. 82–88,
Oct. 2020, https://dl.acm.org/doi/10.1145/3431832.3431842
[XDP] T. Hoiland-Jorgensen, J. Dangaard Brouer, D. Borkmann, J.
Fastabend, T. Herbert, D. Ahern, and D. Miller, “The eXpress Data Path:
Fast Programmable Packet Processing in the Operating System Kernel”,
CoNEXT’18, December 4–7, 2018, Heraklion, Greece, https://dl.acm.org/doi/pdf/10.1145/3281411.3281443
[MFIRST] Dipankar Raychaudhuri, Kiran Nagaraja, Arun Venkataramani,
“MobilityFirst: A Robust and Trustworthy Mobility-Centric Architecture
for the Future Internet”, ACM SIGMOBILE Mobile Computing and
Communications Review, July 2012, http://mobilityfirst.winlab.rutgers.edu/documents/mfbase.pdf
[KNOWLEDGE] D. Clark, C. Partridge, J. Ramming, and J. Wroclawski, “A
Knowledge Plane for the Internet”, SIGCOMM’03, Karlsruhe, Germany,
August 2003, https://dl.acm.org/doi/10.1145/863955.863957
Background
Learning Outcomes
After successful completion of the course Advanced Networking (ANET) you
will be able to:
Analyze, compare, and discuss various advanced inter-networking
concepts, such as secure inter-domain routing and multi-path data
delivery.
Understand and discuss important challenges and proposed experimental
solutions, including non-IP-based internetworking systems.
Apply a domain-specific language such as P4 to implement basic data
plane functionality of an open programmable router, which is important
for future open programmable Internet infrastructures [RI].
We emphasize that ANET is an overview course, which means that you’ll
be “scratching the surface” of a range of topics. This also goes for the
P4 assignment, which will give you a first practical experience
with programmable networks but not in-dept.
ANET also enhances your research skills, because you will need to
independently review, analyze, summarize, and present research
papers.
Contents
Advanced concepts of IP-based internetworking
Experimental non-IP inter-networking systems such as SCION and NDN
How both handle functions such as security, mobility, multi-path
delivery
Open programmable networks as an enabler to deploy new network functions
Research challenges and new communication paradigms
Internet operations and experimental deployments (guest lectures)
Motivation
The problem that the Internet originally aimed to solve in the 1970s
was how to enable university researchers to share expensive computer
hardware via a network, which later evolved into how to make computer
networking ubiquitously available for everyone [CYCLE]. The relatively
simple design of the Internet’s core protocols (TCP/IP, BGP, and the
DNS) solved both problems beyond imagination, with the Internet now
being critical for almost every aspect of our everyday life and for our
society.
However, the success of the Internet also introduces new problems,
because it doesn’t always meet modern requirements such as society’s
need for increased security, resilience, and digital autonomy [RI] and
applications needing new network functions, such as control over and
verification of network paths [SCION] and low-latency data transfer
[CYCLE] (e.g., real-time trading or controlling swarms of autonomous
objects such as robots and cars). Researchers and engineers have
therefore developed and deployed various extensions of the Internet’s
core architecture, such as a network inspection plane [RI], routing
security [BGP1] [BGP2] and multi-path communications [MTCP1] [MTCP2].
Others are proposing and experimenting with completely new types of
inter-domain networks, for instance to support programmable and reusable
protocol functions [TROTS] [RINA1] [RINA2] or different communications
paradigms (e.g., content-centric instead of host-centric communications
[NDN]).
We offer ANET because we expect that some of these Internet
extensions and new types of internet infrastructures will have an impact
on deployed network infrastructure in the next few
years, for instance because of the widely felt decline in digital
autonomy in many societies and regions around the globe [RI]. An example
is the BGP security extensions [BGP1] [BGP2], which network operators
increasingly deploy (cf. certification-stats.ripe.net) to protect the
Internet against routing hijacks. Another example are open programmable
switches (e.g., Barefoot switches), which are already commercially
available and enable engineers to define their own packet processing
functions (e.g., for SCION or NDN traffic) in addition to IP on the same
hardware.
Objective
The objective of ANET is to enable you to understand and
evaluate advanced internetworking concepts, such as secure
inter-domain routing, multi-path communication, and path control, both
in the existing Internet as well as in alternative Internet designs
(e.g., NDN, RINA, and SCION). This will give you a wider
understanding of internetworking beyond IP-based
communications.
From the university’s perspective, ANET helps preparing the next
generation of researchers and engineers for future Internet
developments, which is important to enable the Netherlands and Europe to
stay in control of their Internet infrastructure.
Organization
ANET is a collaboration between the University of Twente and SIDN
Labs (www.sidnlabs.nl), the research arm of the operator of the .nl
top-level domain, SIDN. SIDN Labs’ goal is to increase the operational
security and resilience of our society’s Internet infrastructure, for
.nl and the Netherlands in particular.
Privacy
We’ll put the paper presentation schedule on the ANET site using only
your first name and not your last name. Please contact us if you have
any objections.
Acknowledgements
We thank our past students for their feedback, which helps us further
improving ANET every year.