Mini Map
Search
⌘ K
Log In
Grokking Computer Networking for Software Engineers
0%
1.
Getting Started
Course Learning Outcomes
Learning Instruments
2.
Getting to Know the Internet
What is the Internet?
A Quick History of The Internet
Internet Standards Documents
Communication Over the Internet
3.
Access Networks
The Edge of The Internet: End Systems
What Are Access Networks?
Types of Access Networks: DSL
Types of Access Networks: Cable, FTTH, Dial-Up, and Satellite
4.
Types of Computer Networks
Types by Physical Medium: Guided Physical Media
Types by Physical Medium: Unguided Physical Media
Types by Geographical Distance
Types by Topology
5.
Network Infrastructure: The OSI Model
Layered Architectures & Protocol Stacks
The Open Systems Interconnection (OSI) Model
The TCP/IP Model
6.
The Application Layer
What Is the Application Layer?
Network Application Architectures
P2P vs. Client-Server
How Processes Communicate
HTTP: The Basics
HTTP: Request Messages
Exercise: Looking at a Real HTTP Request
HTTP: Response Messages
Exercise: Looking at a Real HTTP Response
Cookies
Exercise: View and Manage Your Cookies
Email: SMTP
Exercise: Checking a Domain’s Mail Server with nslookup
Email: POP & IMAP
Email: Message Format
DNS: Introduction
Exercise: Finding Name Servers
DNS: Records and Messages
Exercise: Looking At DNS Response Messages and Resource Records
BitTorrent
7.
The Transport Layer
What Is the Transport Layer?
Multiplexing and Demultiplexing
Multiplexing & Demultiplexing in UDP
Introduction to Congestion Control
More on Principles of Congestion Control
Principles of Reliable Data Transfer
Reliable Data Transfer: Sliding Window
Reliable Data Transfer: Go-back-n
The User Datagram Protocol
UDP Checksum Calculation & Why UDP?
Exercise: Capturing UDP Packets
The Transmission Control Protocol
Key Features of the Transmission Control Protocol
TCP Segment Header
TCP Header Flags
TCP Headers: Window Size, Checksum & More
TCP Connection Establishment: Three-way Handshake
Other TCP Connection Establishment Methods
When Connection Establishment Fails: Syn Floods & Retransmission
TCP Connection Release
Efficient data transmission with TCP
TCP Window Scaling
Exercise: Measuring RTT with Ping
TCP Congestion Control: AIMD
TCP Congestion Control: Slow Start
8.
An Introduction to Socket Programming with Python
The Basics
Setting up a UDP Socket
Writing a UDP Server
Writing a UDP Client Program
Running The UDP Server & Client Together
Improvements to UDP Programs: Avoiding Arbitrary Servers
Project: Write a UDP Chat App!
Solution: Write a UDP Chat App!
A TCP Client-Server Program
9.
Network Layer
What Is the Network Layer?
Organization of the Network layer
The Control Plane: Static & Dynamic Routing
The Control Plane: Distance Vector - Routing Information Protocol
Programming Challenge: Routing Information Protocol
Solution Review: Routing Information Protocol
The Control Plane: Link State Routing
The Control Plane: Route Calculation - Dijkstra's
Programming Challenge: Implementing Dijkstra's
Solution Review: Implementing Dijkstra's
The Internet Protocol: Introduction to IPV4
The Internet Protocol: IPV4 Address Allocation
The Internet Protocol: IPV4 Packets
The Internet Protocol: IPV4 Packet Fragmentation & Reassembly
The Internet Control Message Protocol (ICMP)
Exercise: Sending ICMP Messages With Ping & Traceroute
Address Resolution Protocol (ARP)
Dynamic Host Configuration Protocol (DHCP)
IPv4 in Practice: The Life of a Packet
Why IPv6?
IPv6 Features
Middleboxes: Firewalls
Middleboxes: NATs
Introduction to Routing in IP: Intradomain & Interdomain
Intradomain Routing: OSPF
Interdomain Routing: Border Gateway Protocol
Border Gateway Protocol: Determining the Best Routes
10.
Link Layer
What is The Data Link Layer?
Principles of The Data Link Layer: The Framing Problem
Principles of The Data Link Layer: Error Detection
Medium Access Control: Static Allocation
Medium Access Control: Stochastic Methods - ALOHA
Medium Access Control: Stochastic Methods - CSMA
Medium Access Control: Stochastic Methods - CSMA/CD
Medium Access Control: Stochastic Methods - Optimizing CSMA/CD
Introduction to Ethernet
Ethernet Frame Format
Physical Layers for Ethernet
Ethernet Switches
Programming Challenge: Spanning Tree Protocol
Solution Review: Spanning Tree Protocol
Virtual LANs
11.
Conclusion
Networks Career Paths
Final Thoughts
Assessment
Computer Networks Exam
Home
Courses
Grokking Computer Networking for Software Engineers
Final Thoughts
Thanks for reading!
We'll cover the following...
Thank you for taking this course! We hope that
...