Fundamentals of Networking Engineering

13h 40m 46s
English
Paid
November 5, 2024

We are entering an era in software engineering where we rely on libraries and frameworks to do most of our work. While this is useful and save tremendous dev hours, it creates leaky abstractions that manifest in form of performance degradation, unexpected errors, 100% CPU , network and disk usage, hangs, latency and many other. It becomes difficult to articulate what goes wrong on the backend and how to fix it when engineers don't understand the basic building block of what they are interacting with.

More

Network communication is one of the most critical pieces in backend engineering. And the TCP/IP Internet suite is the basic fundemntal building block of communications that link the frontend to the backend. Any protocol we use eventually gets encapsulated into either a TCP segment or UDP datagram. That packet is wrapped in an IP packet which is placed into a frame and then sent across the network. These layers are important to understand for backend engineers in order to optimize the stack, minimize latency, and increase throughput. What matters  is the true understanding of these pieces and not just memorizing definitions and packet headers to pass an exam. If an engineer truly understood what is happening when their backend API receives an HTTP POST request for example, they will be astonished at how much is happening behind the scenes. They would completely change the way they approach backend API designs, they will try to select the best protocol for the job, and they will tune that protocol to its maximum potential. They will start asking questions about frameworks and libraries that nobody else does. It is those questions that will make them fully utilize those framework to their maximum potential.

This course is primarily designed for backend engineers who built applications, services or APIs and want to take their skillset to the next level. If you are a frontend engineer who are interested in the backend and have attempted to build backend apps before this course is also for you. If you are a network engineer who already know the basic fundamentals and want to start building backend applications effectively this course might help you bridge the gap

This course is not designed for those who want to pass network certification tests (CCNA, CCNP, CCIE etc..)

Watch Online Fundamentals of Networking Engineering

Join premium to watch
Go to premium
# Title Duration
1 Welcome 02:45
2 Who is this course for? 03:19
3 Course Outline 10:05
4 Client - Server Architecture 07:08
5 OSI Model 47:30
6 Host to Host communication 14:57
7 The IP Building Blocks 18:17
8 IP Packet 30:12
9 ICMP, PING, TraceRoute 17:40
10 ARP 12:03
11 Capturing IP, ARP and ICMP Packets with TCPDUMP 13:12
12 Routing Example 12:29
13 Private IP addresses (Alaska Airlines WIFI example) 10:09
14 What Is UDP? 12:38
15 User Datagram Structure 05:45
16 UDP Pros & Cons 11:39
17 UDP Server with Javascript using NodeJS 08:36
18 UDP Server with C 07:57
19 Capturing UDP traffic with TCPDUMP 09:57
20 What is TCP? 29:38
21 TCP Segment 08:49
22 Flow Control 13:43
23 Congestion Control 15:04
24 Slow Start vs Congestion Avoidance 10:15
25 NAT 22:06
26 TCP Connection States 06:23
27 TCP Pros and Cons 11:53
28 TCP Server with Javascript using NodeJS 06:43
29 TCP Server with C 08:18
30 Capturing TCP Segments with TCPDUMP 23:49
31 Networking Protocols Introduction 03:18
32 DNS 39:29
33 TLS 27:00
34 What is this section? 01:26
35 MSS vs MTU vs PMTUD 16:27
36 Nagle's Algorithm's Effect on Performance 12:09
37 Delayed Acknowledgment Effect on Performance 05:39
38 Cost of Connection Establishment 11:53
39 TCP Fast Open 05:44
40 Listening Server 30:21
41 TCP Head of line blocking 04:02
42 The importance of Proxy and Reverse Proxies 20:06
43 Load Balancing at Layer 4 vs Layer 7 27:52
44 Network Access Control to Database Servers 17:21
45 Networking with Docker 48:59
46 Wiresharking UDP 06:59
47 Wiresharking TCP/HTTP 16:43
48 Wiresharing HTTP/2 (Decrypting TLS) 16:50
49 Wiresharking MongoDB 22:44
50 Wiresharking Server Sent Events 06:17
51 Should Layer 4 Proxies buffer segments? 10:25
52 How does the Kernel manage TCP connections? 04:56
53 Course Summary 00:59
54 What is SNI? (Server Name Indication TLS Extension) 50:08

Similar courses to Fundamentals of Networking Engineering

Apache Kafka Series - Kafka Streams for Data Processing

Apache Kafka Series - Kafka Streams for Data Processing

Duration 4 hours 50 minutes 7 seconds
Apache Flink

Apache Flink

Duration 8 hours 31 minutes 38 seconds
High Performance SQLite

High Performance SQLite

Duration 15 hours 27 minutes 55 seconds
Clean Code: Writing Code for Humans

Clean Code: Writing Code for Humans

Duration 3 hours 10 minutes 36 seconds
Building Full-Stack Apps with AI

Building Full-Stack Apps with AI

Duration 8 hours 3 minutes 16 seconds
Effective Database Design

Effective Database Design

Duration 1 hour 3 minutes 56 seconds
Build an app with ASPNET Core and Angular from scratch

Build an app with ASPNET Core and Angular from scratch

Duration 29 hours 51 minutes 36 seconds
Fundamentals of Backend Engineering

Fundamentals of Backend Engineering

Duration 16 hours 53 minutes 4 seconds