Skip to main content
CF

Computer Networking

23h 58m 29s
English
Paid

The Internet - along with all the applications it supports, such as the web - has become one of the most significant driving forces of technological progress in our time.

In this course, we will examine the key protocols that enable the operation of the internet, the web, and other applications in the field of computer networks. This will give you the opportunity not only to utilize modern networking technologies to their fullest potential but also to contribute to their development in the future.

Additional

https://github.com/mharrisb1/csprimer/tree/main

About the Author: Oz Nova (CS Primer)

Oz Nova (CS Primer) thumbnail

Oz Nova is the founder of CS Primer (csprimer.com) and a co-founder of Bradfield School of Computer Science — an unusually rigorous CS-fundamentals education brand aimed at self-taught engineers filling in the formal computer-science foundations they didn't get from a four-year degree. The CS Primer course catalog goes deeper into the fundamentals than essentially any other paid online platform.

The course catalog covers compilers and language design, computer networks (from sockets through application protocols), distributed systems, computer architecture, operating systems, databases at the storage-engine level, and the algorithms / data-structures material taught at the level of a serious CS undergraduate course rather than an interview-prep cheat sheet.

The CourseFlix listing under this source carries 7 CS Primer courses spanning that range. Material is paid; CS Primer runs on per-course or membership pricing on the original platform. Courses are aimed at working software engineers ready to fill the foundational CS gaps that compound across a career.

Watch Online 61 lessons

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 61 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: 001 Shout server
All Course Lessons (61)
#Lesson TitleDurationAccess
1
001 Shout server Demo
14:15
2
002 HTTP header server
27:07
3
003 Simple DNS client
50:43
4
004 The life of a packet (aka what happens when)
01:00:24
5
005 What is a socket
12:33
6
006 What do we mean by network layers (OSI model)
13:57
7
007 What is a system call (high level explanation)
01:44
8
008 Why packets typically have an MTU of (ie size of up to) 1500 bytes
04:15
9
009 Postels law
01:20
10
010 What does it mean to bind to a port
03:54
11
011 How do I know what socket system calls a library is making
04:50
12
012 The many differences between TCP and UDP
04:41
13
013 Latency vs throughput
08:14
14
014 A quick tour of netcat
02:44
15
015 What is the loopback interface (ie localhost)
01:36
16
016 HTTP proxy basic proxying
50:55
17
017 HTTP proxy persistent connections
01:33:25
18
018 HTTP proxy concurrency
01:19:54
19
019 HTTP proxy features
01:15:22
20
020 A brief overview of HTTP2
23:02
21
021 A brief history of how HTTP and browsers came to be
12:07
22
022 Proxies gateways and tunnels
09:06
23
023 Understanding HTTP headers and answering your own questions
22:16
24
024 Using the setsockopt system call
07:51
25
025 The motivation and implementation of HTTP persistent connections
08:49
26
026 DNS client message compression
38:34
27
027 DNS client reverse DNS
18:09
28
028 DNS client more record types
01:09:19
29
029 DNS client tracing resolution
01:07:38
30
030 Hostnames before DNS a single HOSTSTXT file
09:29
31
031 How do programs know which DNS server to use
05:15
32
032 The structure of a hostname
04:15
33
033 Understanding DNS zones and zone transfers
06:29
34
034 DNS classes 65535 alternatives to the internet
03:34
35
035 How recursive resolvers can be used in reflection attacks
09:12
36
036 What is the TTL in DNS and was it a good idea
09:49
37
037 Root TLD and other authoritative name server roles
18:44
38
038 Lossy download
39:25
39
039 Reliable transport
01:27:03
40
040 How does TCP compute its timeout interval
19:40
41
041 Whats the big idea behind QUIC
15:17
42
042 Did Van Jacobson save the internet (Anoverview of congestion control)
17:33
43
043 The basic difference between flow control and congestion control
05:46
44
044 The motivation behind TCP sliding window
09:53
45
045 Whats the purpose of the TCP handshake
08:57
46
046 How the initial sequence number (ISN) is chosen in TCP
09:40
47
047 How TCP provides reliable delivery
31:09
48
048 Flow control and buffering in TCP a demonstration
29:01
49
049 Traceroute
01:03:49
50
050 Traceroute autonomous systems
45:40
51
051 Traceroute ICMP probes
30:55
52
052 Traceroute customization
01:09:07
53
053 An overview of traceroute ping and mtr
18:46
54
054 Why the time to live in IPv4 is essentially a hop count
05:46
55
055 What exactly is a private IP address
05:14
56
056 Autonomous systems and the structure of the internet
10:52
57
057 Understanding CIDR subnets
14:16
58
058 The major differences between IPv4 and IPv6
11:33
59
059 How routers decide how to forward a packet
11:47
60
060 The basic idea behind NAT
13:33
61
061 The difference between fragmentation and segmentation
08:16
Unlock unlimited learning

Get instant access to all 60 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Related courses

Frequently asked questions

What prerequisites are needed for this course?
A foundational understanding of computer science principles and basic programming skills are recommended for this course. Familiarity with concepts such as system calls, network layers, and protocols will be beneficial as the course covers topics like socket programming, the OSI model, and HTTP protocols in detail.
What projects or practical exercises will I complete?
Throughout the course, you will engage in practical exercises such as implementing a shout server, creating a simple DNS client, and working with HTTP headers. These projects are designed to give you hands-on experience with network protocols and help you understand the operation of the internet and computer networks better.
Who is the target audience for this course?
This course is aimed at individuals interested in understanding the internet's underlying protocols and structure. It's suitable for computer science students, IT professionals, and anyone looking to deepen their knowledge of computer networking to utilize or develop modern networking technologies.
How does this course compare to other networking courses?
Unlike some introductory courses, this course delves into the specifics of network protocols, such as TCP, UDP, and QUIC. It provides a detailed examination of HTTP, DNS, and the OSI model, making it suitable for learners who wish to explore both theoretical and practical aspects of computer networking.
What tools and platforms will be covered?
The course covers various tools and concepts essential for networking, including netcat for network connections, traceroute for network path analysis, and techniques for working with DNS and HTTP proxies. These tools are crucial for anyone looking to understand network operations and troubleshooting.
What topics are not covered in this course?
The course does not cover advanced topics like wireless networking, security protocols, or network management software. Its primary focus is on the foundational aspects of networking protocols and their implementation, providing a strong base for further study in these advanced areas.
What is the expected time commitment for this course?
The course consists of 61 lessons, and it is recommended that learners allocate sufficient time to both the lectures and practical exercises. While the exact runtime is not specified, students should plan to dedicate several hours per week to complete the course comprehensively.