English | MP4 | AVC 3840×2160 | AAC 44KHz 2ch | 61 Lessons (23h 59m) | 11.84 GB
The internet—together with all of the applications it supports, like the web—has become one of the most important forces for technological progress of our era.
In this course we’ll cover the key protocols that enable the internet, the web, and other applications of computer networking. This should empower you not only to make the most of present networking technologies but also to help build the future.
At the core of this course are the sequences of problems for each topic. You should aim to solve each problem, using the worked solutions and supplementary explainers as needed. There are also some full seminars, which some find helpful to tie topics together. While no textbook is necessary for this course, we do recommend Computer Networking: A Top-Down Approach (“Kurose & Ross”) as a supplement, and reference relevant Kurose & Ross chapters below.
Table of Contents
1 Shout server
2 HTTP header server
3 Simple DNS client
4 The life of a packet (aka what happens when)
5 What is a socket
6 What do we mean by network layers (OSI model)
7 What is a system call (high level explanation)
8 Why packets typically have an MTU of (ie size of up to) 1500 bytes
9 Postels law
10 What does it mean to bind to a port
11 How do I know what socket system calls a library is making
12 The many differences between TCP and UDP
13 Latency vs throughput
14 A quick tour of netcat
15 What is the loopback interface (ie localhost)
16 HTTP proxy basic proxying
17 HTTP proxy persistent connections
18 HTTP proxy concurrency
19 HTTP proxy features
20 A brief overview of HTTP2
21 A brief history of how HTTP and browsers came to be
22 Proxies gateways and tunnels
23 Understanding HTTP headers and answering your own questions
24 Using the setsockopt system call
25 The motivation and implementation of HTTP persistent connections
26 DNS client message compression
27 DNS client reverse DNS
28 DNS client more record types
29 DNS client tracing resolution
30 Hostnames before DNS a single HOSTSTXT file
31 How do programs know which DNS server to use
32 The structure of a hostname
33 Understanding DNS zones and zone transfers
34 DNS classes 65535 alternatives to the internet
35 How recursive resolvers can be used in reflection attacks
36 What is the TTL in DNS and was it a good idea
37 Root TLD and other authoritative name server roles
38 Lossy download
39 Reliable transport
40 How does TCP compute its timeout interval
41 Whats the big idea behind QUIC
42 Did Van Jacobson save the internet (Anoverview of congestion control)
43 The basic difference between flow control and congestion control
44 The motivation behind TCP sliding window
45 Whats the purpose of the TCP handshake
46 How the initial sequence number (ISN) is chosen in TCP
47 How TCP provides reliable delivery
48 Flow control and buffering in TCP a demonstration
49 Traceroute
50 Traceroute autonomous systems
51 Traceroute ICMP probes
52 Traceroute customization
53 An overview of traceroute ping and mtr
54 Why the time to live in IPv4 is essentially a hop count
55 What exactly is a private IP address
56 Autonomous systems and the structure of the internet
57 Understanding CIDR subnets
58 The major differences between IPv4 and IPv6
59 How routers decide how to forward a packet
60 The basic idea behind NAT
61 The difference between fragmentation and segmentation
Resolve the captcha to access the links!