2018
2:53 hours
1. INTRODUCTION TO CLIENT/SERVER NETWORKING
The Course Overview
Layering in Networks
Addressing in Networks
How DNS Works?
Common Service Models
2. INTRODUCTION TO RUST AND ITS ECOSYSTEM
Getting Started with Rust
Introduction to the Borrow Checker
Generics and the Trait System
Error Handling
The Macro System
Functional Features in Rust
Concurrency Primitives
Testing
3. TCP AND UDP USING RUST
A Simple TCP Server and Client
A Simple UDP Server and Client
Miscellaneous Utilities in std::net
4. DATA SERIALIZATION, DESERIALIZATION, AND PARSING
Serialization and Deserialization Using Serde
Parsing Textual Data
Parsing Binary Data
5. APPLICATION LAYER PROTOCOLS
Remote Procedure Call (RPC)
SMTP
FTP and TFTP
6. TALKING HTTP IN THE INTERNET
Hyper
Rocket
Introduction to reqwest
7. ASYNCHRONOUS NETWORK PROGRAMMING USING TOKIO
Looking into the Future
Heading to Tokio
8. SECURITY
Securing the Web
Cryptography Using Ring