Log In
0% completed
All Lessons
Free Lessons (6)
Getting Started
Course Learning Outcomes
Learning Instruments
Getting to Know the Internet
What is the Internet?
A Quick History of The Internet
Internet Standards Documents
Communication Over the Internet
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
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
Network Infrastructure: The OSI Model
Layered Architectures & Protocol Stacks
The Open Systems Interconnection (OSI) Model
The TCP/IP Model
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
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
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
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
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
Conclusion
Networks Career Paths
Final Thoughts
Course Assessment
Computer Networks Exam
Grokking Computer Networking for Software Engineers
/
...
/
Final Thoughts
Final Thoughts
Thanks for reading!
We'll cover the following...
Thank you
...
Access this course and
1400+
top-rated courses and projects.
Unlock Full Access
Preview Free Lessons
→
Preview Free Lessons