Fundamentals of Network Engineering

Understanding the first principles of networking to build low latency and high throughput backends

4.64 (3281 reviews)
Udemy
platform
English
language
Network & Security
category
instructor
Fundamentals of Network Engineering
27,224
students
15.5 hours
content
Mar 2024
last update
$99.99
regular price

What you will learn

IP Protocol

TCP Protocol

UDP Protocol

Understand the circumstances where requests and responses are slowed down

Learn how DNS works

Learn how TLS works

Learn the building blocks of TCP/IP Protocol

Learn the OSI Model and where your application fits in it

Understand the performance impact of TCP/IP in Backend applications

Make better decisions on what protocol to select for the Backend

Build and Design better TCP/UDP Backends

Use Wireshark to inspect traffic

Use TCPDUMP to inspect traffic

Build TCP and UDP Servers with multiple languages (Javascript and C)

Networking with Docker

Description

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.


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

Content

Introduction

Welcome
Who is this course for?
Course Outline

Fundamentals of Networking

Client - Server Architecture
OSI Model
Host to Host communication

Internet Protocol (IP)

The IP Building Blocks
IP Packet
ICMP, PING, TraceRoute
ARP
Routing Example

User Datagram Protocol (UDP)

What Is UDP?
User Datagram Structure
UDP Pros & Cons
UDP Server with Javascript using NodeJS
UDP Server with C

Transmission Control Protocol (TCP)

What is TCP?
TCP Segment
Flow Control
Congestion Control
NAT
TCP Connection States
TCP Pros and Cons
TCP Server with Javascript using NodeJS
TCP Server with C

Networking Concepts that Affect Backend Performance

What is this section?
MSS vs MTU vs PMTUD
Nagle's Algorithm's Effect on Performance
Delayed Acknowledgment Effect on Performance
Cost of Connection Establishment
TCP Fast Open
Listening Server
TCP Head of line blocking

Wireshark Examples

Wiresharking UDP
Wiresharking TCP/HTTP
Course Summary

Reviews

Chris
June 24, 2023
Just getting through the OSI Model video and it's unnecessarily long in some parts - you can already assume I'm here because I think networking is important. I had to forward past the light arguments on layers being taken for granted. Otherwise the information is useful. It's clear the teacher did a ton of in-depth research and cares about the subject.
Joydeep
June 21, 2023
The detailed information about the packet flow and the in-depth analysis of the per layers in the OSI model was really helpful.
Rohan
June 6, 2023
Love how meticulously planned this course is. Hussein has a genuine concern for whether the people who are enrolled in the course genuinely understand it.
Zia
June 3, 2023
this is one of the intriguing course when started once its hard to get away like scrolling reels. lots of important stuff!!!
Shivam
May 27, 2023
One of the best instructor I have come across. You make everything so crystal clear. Thank you Hussain for everything. :)
Serhii
May 6, 2023
The course is good and brings many insights about networking and different protocols, but I believe there's still a lot to improve imo. The main issue for me was that there's a lack of diagrams explaining networking concepts and protocols, Hussein very often explains something without any presentation or slides which makes it a bit hard to understand
Shobhit
April 29, 2023
A must course for every backend developer.Kudos to instructor for making such a valuable course and explaining it in a fun way
Gorka
April 29, 2023
I really liked this course, very interesting concepts. Very energetic instructor that helps carry on a high technical course like this one.
Daniel
April 28, 2023
Sadly a big disappointment. This course had been in my wishlist for quite a while. Too much disorganization, very verbose, concepts are not clearly explained at all, the instructor talks as if he was over-acting. Very poor content sadly...
Mutha
April 24, 2023
Fantastic course. A must-watch for all backend as well as DevOps engineers if you have to deal with on-premise servers.
Mehmet
April 22, 2023
great course! there is no waste of time. everything is clear and shortened as much. the lecturer is very smart guy and tells everything very well like an experienced amazing teacher.
George
April 16, 2023
One of the best instructors that I have come across in a very long time. Very easy to understand. 10/10 recommended - from a guy with two CS degrees but still trying to learn as much as I can
Serhii
April 5, 2023
Inconsistent speech speed, so it's not comfortable to run on more than 1x speed. Poor script and looks like lector ignores it most of the time. I would rather read Mozilla official docs than listening to this course because many important details are not uncovered.
Carlos
April 1, 2023
Really liked the content. If I could provide any feedback for the author, it would be to start using a filter in his mic. I just couldn't focus on it with all the saliva and swallowing noises he makes all the time. It was really annoying
Saimur
March 6, 2023
Lack of details, Could Be more Detailed and by Detail I mean the background story, If the background was explained more it could be more comprehensive.

Coupons

DateDiscountStatus
4/28/202295% OFF
expired
8/1/202288% OFF
expired
8/4/202389% OFF
expired
1/2/202490% OFF
expired
1/13/202485% OFF
expired
3/26/202489% OFF
working

Charts

Price

Fundamentals of Network Engineering - Price chart

Rating

Fundamentals of Network Engineering - Ratings chart

Enrollment distribution

Fundamentals of Network Engineering - Distribution chart
4574556
udemy ID
3/1/2022
course created date
4/22/2022
course indexed date
Bot
course submited by