---
layout: post
title: Lecture: Networking and TCP
tags: Lecture
description: Slides from a lecture on various networking topics, including how TCP actually works
---

In the same vein as my [previous post](/2016/04/25/stack-smashing.html), I'd
like to share another lecture I wrote for the honors section of the
[systems programming course](https://cs.illinois.edu/courses/profile/CS241)
I am a TA for. It is essentially a taste of some deeper networking concepts
than we get to cover in the regular section. This includes a fairly substantial
discussion of how TCP works beneath the scenes, a topic I continue to be
fascinated by.

One of the benefits of writing a lecture is that it forces you to work through
your own conceptual understanding of a topic and patch holes that you won't
necessarily realize exist in the first place. I can definitely say this applied
here. I especially enjoy when students ask clarifying questions about some of
the finer details (for this lecture, I had one about specifics of reliable
transmission) as we can see what limitations the material has and where it can
be improved.

[You can also view the slides directly](/static/content/tcp.pdf).

<object data="/static/content/tcp.pdf#zoom=150" type="application/pdf" width="100%" height="600px">
   <p><a href="/static/content/tcp.pdf">View PDF</a></p>
</object>
