Advanced Networking (ANET)

Last update: 28 Sep 2022




Welcome class of 2022/2023!

Welcome to the homepage of Advanded Networking (ANET), edition 2022/2023. 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 2022/2023 edition of ANET. However, it might also be of interest to potential future students and perhaps to fellow teachers who’d like to reuse parts of our format and/or content at their institution (or who’d simply 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 Wed Sep 7, 2022 (see the schedule below or check https://rooster.utwente.nl/).

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)
Teaching assistant Niels Overkamp
Coordinator prof.dr. Cristian Hesselman (SIDN Labs and University of Twente)
E-mail
Academic year 2022-2023
Quartile 1A (Sep 5 thru Nov 11)
Language English

Important dates

Ranked top five of papers you’d like to blog about (1st, 2nd, etc.): Sun Sep 11, 2022

Individual and group test: at each lecture

Blog: one week after the lecture in which you presented the paper

Lab assignment: by the end of the last lab session (see ANET schedule)

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 therefore limited to 16.

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.

Course updates

We’ll keep you up to date through this website when it comes to ANET’s content and Canvas for announcements and uploading/archiving deliverables.

A separate public website is important to us because we’d like to share the course’s format with other universities and students so they can potentially learn from our work. Also, at SIDN Labs we’re proud of our contribution to courses like ANET and we’d like to use this site to underscore the importance of companies helping to educate the next generation of engineers and researchers. Finally, the UT is a public institution, which we believe means it should share its output with the Dutch society and beyond as much as possible.

Prerequisites

You need to have passed an introductory course in computer networks, such as the bachelor module Network Systems at the University of Twente.

Lectures

ANET offers nine interactive lectures, two guest lectures, and four lab sessions. We'll start with an introduction to ANET on Wed Sep 7 (see Schedule) to inform you of what will be expected from you and to answer any questions you may have.

The references (between square brackets “[..]”) point to the papers at the bottom of this page.

Regular lectures

Six of the eight interactive technical lectures focus on advanced networking concepts such as inter-domain routing [BGP] and multi-path TCP [MTCP1] [MTCP2], whereas the remaining two provide a more high-level perspective and concentrate on the design of the Internet and potential alternative architectures, such as SCION [SCION] and RINA [RINA]. Our motivation for including this last kind of topics is to enable to understand the Internet’s design goals from that past and offer broaden your view beyond the TCP/IP architecture.

Each lecture revolves around a specific theme, which together give you a broad overview of the core functions of inter-domain networking [Shosh]. We picked the topics “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 the work we do :-)

Each lecture covers three papers. An introductory paper to give you a basic understanding of a particular topic, followed by two advanced papers that explore the topic in more depth. We test your understanding of the introductory papers through a closed book multiple-choice test that you will need to make in class. You’ll first do the test individually, and then the same test in a group with 2-3 of your fellow students. The purpose of the group test is to enable you to learn from your peers by discussing the questions of the test with them.

We test your understanding of one of the course’s advanced papers by asking you to write a review about it in the form of a blog and present it in class. We’ll publish the best blog on the ANET website, of course only with the author’s explicit consent. We won’t publish the other blogs. Please check the Assessment section and the section deliverable #2 (blog) for more details.

The papers roughly cover well over a decade of networking research, with one paper from the Internet’s proverbial “stone age” (1995). This is by design because we aim to help you understand generic network architectures and principles (e.g., software defined networking), which have a longer lifetime than today’s latest and greatest topics.

You must attend all lectures because that’s when the tests will take place and because of ANET’s interactive nature (more on that in the section Detailed timetable for regular lectures).

Guest lectures and lab sessions

In addition to the regular lectures, we also offer two guest lectures (see section Guest Lectures), an extended P4 introduction, and two P4 lab sessions. The goal of the guest lectures is to give you a flavor of operational network infrastructure, both current and experimental.

Schedule

Table 1 shows the schedule of ANET, which we split into two tracks. A track with lectures on Wednesdays (transparent rows) and a track on Mondays for the guest lectures, the extended P4 lab introduction, and the P4 lab sessions (shaded rows). The guest lectures are open to everyone.

The timeslot for the lectures on Wednesdays is 10:45-12:30. The timeslots on Mondays are either 15:45-17:30 (guest lectues and lab intro) or 13:45-17:30 (lab sessions). The all-afternoon lab sessions enable you to allocate two large chuncks of time to the P4 excersises, which should be sufficient for most of you to complete them.

Details on the capacity and location of the lecture rooms is here: https://www.utwente.nl/en/cfm/study/lectures/overview/

We appologize for having to shuffle the order of the lectures a bit to meet your teachers’ agendas, which means that the schedule doesn’t follow the “going up the stack” approach that we outlined above (see Lectures). For the same reason, we also moved the regular lecture of Wed Oct 12 to Mon Oct 10.

Table 1. ANET schedule 2022/2023.
No. Date Loc. Topic
1 Mon Sep 5 - NO LECTURE
2 Wed Sep 7 HB 2C ANET introduction
Teacher: Cristian Hesselman
Slides: https://courses.sidnlabs.nl/anet-2022/slides/20220907-L1-ANET-Introduction-FINAL.pdf
Short intro P4 lab assignment
Teacher: Niels Overkamp
Slides: https://courses.sidnlabs.nl/anet-2022/slides/P4_Lab_Slides_2022.pdf
3 Mon Sep 12 - NO LECTURE
4 Wed Sep 14 - NO LECTURE
5 Mon Sep 19 - NO LECTURE
6 Wed Sep 21 RA 3231 (3rd hour), HB 2C (4th hour) Programmable Networks [SDN] [P4a] [P4b]
Teacher: Cristian Hesselman
Intro P4 lab assignment (extended)
Teacher: Niels Overkamp
Note: everyone needs to read [P4a] for their lab assignment, so we might volunteer someone to present it :-)
7 Mon Sep 26 - NO LECTURE
8 Wed Sep 28 RA 4231 (3rd hour), HB 2C (4th hour) DNS security and privacy [P-DNS] [DoH] [DNS-SP]
Te0acher: Roland van Rijswijk-Deij
9 Mon Oct 3 CR 2K P4 lab session #1 (13:45-17:30)
Teacher: Niels Overkamp
10 Wed Oct 5 CI T100 BGP security [BGP1] [BGP2] [BGP3]
Teacher: Roland van Rijswijk-Deij
11 Fri Oct 7 HB 2B Guest lecture #1
Prof. Cristel Pelsser (UCLouvain, Belgium) on routing research.
This lecture will be open to everyone.
12 Mon Oct 10 CR 3F Internet architectures I [SCION] [NDN] [ICING]
Teacher: Cristian Hesselman
13 Wed Oct 12 - NO LECTURE
14 Mon Oct 17 HT 900 Guest lecture #2
Experimenting with the SCION Internet architecture: SCIONlab and SCION-in-P4
Caspar Schutijser and Ralph Koning (SIDN Labs)
This lecture will be open to everyone.
15 Wed Oct 19 CI T100 Multi-path communication [MTCP1] [MTCP2] [MTCP3]
Teacher: Geert Heijenk
16 Mon Oct 24 CR 3F P4 lab session #2 (13:45-17:30)
Teacher: Niels Overkamp
17 Wed Oct 26 CI T100 QUIC [QUIC1] [QUIC2] [QUIC3]
Teacher: Pieter-Tjerk de Boer
18 Mon Oct 31 - NO LECTURE
19 Wed Nov 2 RA 2231 Internet architectures II [DARPA] [TROTS] [TUSSLE]
Teacher: Cristian Hesselman
20 Mon Nov 7 - NO LECTURE
21 Wed Nov 9 CR 2G Data Center Networking [DCN1] [DCN2] [B4]
Teacher: Geert Heijenk

 

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 per on-campus lecture.
Time What
10:45 Arrival, put your cell phone in your bag, pick up hardcopy of tests at teacher’s desk, sit down
10:45-10:55 Individual test of introductory paper
Teacher will pick up the tests when everyone is done
10:55-11:00 Organize into groups (teacher divides you across groups)
11:00-11:10 Group test of introductory paper (closed book)
Teacher will pick up the tests when everyone is done
11:10-11:30 Discussion of the paper
11:30-11:45 Break
11:45-12:00 Presentation #1 (10 minutes presentation, 5 minutes Q&A)
12:00-12:15 Presentation #2 (10 minutes presentation, 5 minutes Q&A)
12:15-12:30 Further discussion of the two papers
12:30 Adjourn

 

Deliverables

Your deliverables for ANET are:

We expect you to both actively participate in the discussions for the group tests, in the plenary discussion, and in the Q&A after each talk. Attendance of the lectures is therefore mandatory.

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.

Important dates

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 the section 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.

After the tests, we’ll take 20 minutes to discuss the paper the whole group to enable everyone to learn from each other.

We calculate your grade for a particular test as follows:

Grade = 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).

Deliverable #2: blog

Your second deliverable is a blog in which you review one of the advanced papers in your own words in at most 1.500 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.

The topics you discuss in the blog should capture the core of what the paper is about. Table 3 lists a few of the 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?

Make sure your blog is self-contained, which means that folks who haven’t read the paper should be able to understand it. Your target audience are readers with a background in computer networking, so you don’t need to explain basic networking concepts.

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 (self-plagiarism). During the first lecture, we will briefly discuss the differences between citing, quoting, and copying (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.

Who writes about which paper?

Table 4 shows who blogs about which paper. Please use send us your preferences (1st, 2nd, 3rd, 4th, 5th) through Canvas by Fri Sep 9, 2022.

Table 4. Bloggers and papers.
First name Blogs about
Bart [QUIC3]
Carla [TROTS]
Chiara [DCN2]
Daan [DoH]
Leo Nicolas [BGP2]
Nathan [NDN]
Siraj [P4a]
Thomas [MTCP2]

Publication of the best blog

We’ll publish the blog with the highest grade on the ANET site after the course, so other students you can learn from your work (and you can show it off to your friends :-)

Of course, we’ll only publish the blog with the author’s explicit consent.

Evaluation criteria

We will evaluate your blog based on the following criteria:

Grading process

The ANET teacher who gives a particular lecture will evaluate the blogs about the papers that are part 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.

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 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:

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 Internet infrastructure [RI].

We will discuss P4 in one of the first lectures and we’ll provide detailed information on the lab assignment through an online 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:

The P4 repository we’ll be using in ANET is here: https://gitlab.utwente.nl/anet/p4labs-2022

A few P4 tutorials that you might find useful are:

Submission of deliverables

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 deliverables, such as when you missed a test because you were ill or if you failed a deliverable. Please check with the course coordinator if you think this applies to you.

We offer resits as follows:

Guest lectures

We provide two guest lectures by industry experts to further broaden your horizon on inter-domain networking. The lectures will be open for everyone (ANET students, other students, and university staff).

Lecture #1: Prof. Cristel Pelsser (UCLouvain, Belgium) on routing research

TBA

Lecture #2: SCIONlab and SCION-in-P4

Our second guest lecture will be on experiments with an alternative inter-domain network architecture called SCION [SCION]. The talk will focus on SCION’s international test network (SCIONlab) and an implementation of SCION in P4 [P4a]. It includes a SCION hands-on for you to carry out.

Our speakers are Ralph Koning and Caspar Schutijser, both research engineers at SIDN Labs.

Canvas conferences

ANET lectures take place on campus, but We might use Canvas conferences for some of ANET guest lectures.

You can join the online ANET sessions by going to the ANET course page on Canvas, browse to Conferences, and join the session. We aim to open sessions at least 10 minutes prior to its start. Please join with your microphone muted. Do not join in listen-only mode.

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 coure, 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.sigcomm.org/sites/default/files/ccr/papers/2014/July/0000000-0000004.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 security and privacy

Introductory paper:

[P-DNS] J.M. Spring, C.L. Huth, “The Impact of Passive DNS Collection on End-user Privacy”, Proceedings of the SATIN 2012 Workshop, 2012, https://resources.sei.cmu.edu/asset_files/WhitePaper/2012_019_001_57023.pdf

Advanced papers:

[DoH] P. Hoffman and P. McManus, “DNS Queries over HTTPS (DoH)”, RFC 8484, October 2018, https://tools.ietf.org/html/rfc8484

[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] Arash Molavi Kakhki, Samuel Jero, David Choffnes, Cristina Nita-Rotaru, Alan Mislove, “Taking a Long Look at QUIC - An Approach for Rigorous Evaluation of Rapidly Evolving Transport Protocols”, Internet Measurement Conference (IMC2017), November 2017, https://dl.acm.org/doi/pdf/10.1145/3131365.3131368

[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

Advanced papers:

[NDN] Lixia Zhang, Alexander Afanasyev, Jeffrey Burke, Van Jacobson, kc claffy, Patrick Crowley, Christos Papadopoulos, Lan Wang, and Beichuan Zhang, “Named Data Networking”, ACM SIGCOMM Computer Communication Review (CCR), July 2014 https://www.sigcomm.org/sites/default/files/ccr/papers/2014/July/0000000-0000010.pdf

[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

Internet architectures, part II

Introductory paper:

[DARPA] D. Clark, “The Design Philosophy of the DARPA Internet Protocols”, ACM SIGCOMM Computer Communication Review, Volume 25, Issue 1, Jan. 1995, pp 102–111, http://ccr.sigcomm.org/archive/1995/jan95/ccr-9501-clark.pdf

Advanced papers:

[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

[HIST1] B.M. Leiner, V.G. Cerf, D.D. Clark, R.E. Kahn, L. Kleinrock, D.C. Lynch, J. Postel, L.G. Roberts, S. Wolff, “A brief history of the Internet”, ACM SIGCOMM Computer Communication Review, vol. 39, no. 5, October 2009, pp. 22-31, https://sites.cs.ucsb.edu/~almeroth/classes/F10.176A/papers/internet-history-09.pdf

[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

[Shosh] J. Shosh, “Inter-Network Naming, Addressing, and Routing”, Internet Experiment Note #19, January 1978, https://www.rfc-editor.org/ien/ien19.txt

[CYCLE] M. Ammar, “Ex uno pluria: The Service-Infrastructure Cycle, Ossification, and the Fragmentation of the Internet”, ACM SIGCOMM Computer Communication Review, Vol. 48, Issue 1, January 2018, https://ccronline.sigcomm.org/wp-content/uploads/2018/05/sigcomm-ccr-final155.pdf

[ISOC] ISOC, “The Internet Way of Networking – Defining the critical properties of the Internet”, Sep 2020, https://www.internetsociety.org/wp-content/uploads/2020/09/IWN-IIAT-Defining-the-critical-properties-of-the-Internet.pdf

[DESIGN] D. Clark, “Designing an Internet”, MIT Press, 2018, https://mitpress.mit.edu/books/designing-internet

[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

[Rumor] D. McPherson, “Routing Without Rumor: Securing the Internet’s Routing System”, Global Commission on the Stability of Cyberspace, Cyberstability Paper Series, December 2021, https://cyberstability.org/wp-content/uploads/2021/12/McPherson.pdf

[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

[EI] S. Shenker, “Creating an Extensible Internet”, APNIC blog, April 2022, https://blog.apnic.net/2022/04/14/creating-an-extensible-internet/ (this work is related to [TROTS])

[RINA] E. Grasa, “Next Generation Protocols (NGP); An example of a non-IP network protocol architecture based on RINA design principles”, ETSI GR NGP 009 V1.1.1, Feb 2019, https://www.etsi.org/deliver/etsi_gr/NGP/001_099/009/01.01.01_60/gr_NGP009v010101p.pdf

[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

Background

Learning Outcomes

After successful completion of the course Advanced Networking (ANET) you will be able to:

ANET also enhances your research skills, because you will need to independently review, analyze, summarize, and present research papers.

Contents

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 observed 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 students for their feedback, which helps us further improving ANET every year. We also thank Ralph Koning, Caspar Schutijser, and Christian Scholten for reviewing the draft version of this course description. Jelte Jansen kindly brushed up the layout of the site.