Part B - Networking Projects - Implement Tcp/Ip Stack In C
Last updated 1/2022
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 2.63 GB | Duration: 7h 54m
Last updated 1/2022
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 2.63 GB | Duration: 7h 54m
C/C++ Linux Project, Network Socket Programming, Build TCP/IP Stack, Final Year Project, System Programming in C
What you'll learn
Working with Timers in Networking Domain
How to implement Networking Oriented Algorithms
Implement Callback Registration Model
Parsing and Cooking Network Packets
Notification Chains
Developing more realistic virtual Networking Device environment
Requirements
Part A of this Course is a pre-requisite
Good in Coding in C or any one main stream language
Must know how to work with git - atleast basics
Good with Pointers and Memory management Skills in C
Description
Welcome to the Part-B of the TCP/IP Stack Development Course Series. This is a sequel course to Part-A in which we implemented a pseudo TCP/IP Stack working in Virtualized topology.In this Course, We shall be implementing more advanced and additional features to our Pseudo TCP/IP Stack and would try to impart a more realistic flavor to it.We will resume from where we left in Part-A. If you have signed up for this course, I presume you have completed Part-A of the course and we are ready for another roller coaster ride into our project. This course is Advanced as compared to Part-A. In this course we will learn some more aspects of TCP/IP stack and in general, how Networking software is developed. You will not only doing Networking Based Programming but also, you will continue doing a typical Linux based System Programming development as Networking is strongly tied to System Programming.Student Level: Intermediate to Advanced to Working Professionals, Beginners in Coding pls excuse this course.Table of Contents1. What is this Course all about?2. Project 1 : Interface Management and Statistics Enable/Disable an Interface Gathering Interface Rx/Tx Statistics3. Project 2 : Implementing the Packet GeneratorCreate and Feed Pkt stream into Topology4. Project 3 : Implementing Routing Table Construction AlgorithmDesigning Data Structure Shortest Path First Algorithm in Detail Implementation Strategy Testing SPF Algorithm ImplementationRoute Calculation5. Project 4 : Logging InfraTrack Ingress and Egress pkts per device per interfaceTrack L3 Path taken by a pkt from src to dst6. Project 5 : Notification ChainsIntroduction to NFCUnderstand with the help of ExampleWriting a Generic NOTIF Infra codeWriting TCP/IP Stack NFCImplement Publisher Subscriber APIsSee NFC in Action 7. Project 6 : Working with TimersImplementing AgeismImplement Timer State Machine
Overview
Section 1: What is this Course all About ?
Lecture 1 Agenda
Lecture 2 End Product of this Course
Lecture 3 Join Telegram Group
Lecture 4 Code Access for partB
Section 2: Project 1 : Interface Management and Statistics
Lecture 5 Introduction
Lecture 6 Enable Disable an Interface - Problem Statement
Lecture 7 Code changes for Intf Enable/Disable
Lecture 8 Gathering Interface statistics
Section 3: Project 2 : Implementing Packet Generator
Lecture 9 Problem Statement
Lecture 10 Packet Exchange Infra - Revision from Part A
Lecture 11 Packet Generator Design
Lecture 12 Packet Generator Implementation - Code Walk
Lecture 13 Demonstration
Section 4: Project 3.1 : L3 Route Calculation - Data Structures and Supporting APIs
Lecture 14 Problem Statement
Lecture 15 Pre-Requisites
Lecture 16 Demonstration
Lecture 17 CLI Requirements
Lecture 18 Spf Algo - GroundWork to be done
Lecture 19 Desiging Data Structures
Lecture 20 Data Structure Snapshot
Lecture 21 Data Structure Definitions
Lecture 22 Helper APIs for Spf Algo Implementation
Lecture 23 Helper APIs - 1,2 of 10
Lecture 24 Helper APIs - 3-8 of 10
Lecture 25 Helper APIs - 9-10 of 10
Lecture 26 Priority Queue Operations
Section 5: Project 3.2 : SPF Algorithm (Dijkstra) Implementation
Lecture 27 SPF Algo - Implementation Plan
Lecture 28 Spf Algo : Intialization Part 1
Lecture 29 Nexthop Calculation
Lecture 30 Spf Algo : Intialization Part 2
Lecture 31 Spf Algo : Intialization Part 3
Lecture 32 Spf Algo : Execution Phase
Lecture 33 Spf Algo : Execution Phase : Part 4
Lecture 34 Spf Algo : Execution Phase : Part 5
Lecture 35 Spf Algo : Nbr Node Exploration Rules
Lecture 36 Spf Algo : Execution Phase : Part 6 (Final Step) - Flowchart
Lecture 37 Spf Algo : Execution Phase : Part 6 (Final Step) - Implementation
Lecture 38 Testing SPF Algo on Various Topologies
Section 6: Project 3.3 : Routing Table Construction
Lecture 39 Understanding ECMP Requirements
Lecture 40 ECMP : Data Structure Enhancements
Lecture 41 ECMP : Data Forwarding using ECMP route
Lecture 42 Spf Algo : Phase 3 (Final) : Route Calculation
Lecture 43 Spf Algo : Final Demo
Lecture 44 Auto Populating Routing Tables on TCP/IP Stack Lib Start-Up
Section 7: Project 4 : Developing Logging Infrastructure
Lecture 45 Problem Statement
Lecture 46 Working Demo - Packet Capture and Debugging
Lecture 47 Goals
Lecture 48 Header Parsing APIs
Lecture 49 Lets Code up Header Formatting APIs
Lecture 50 Writing Custom tcp_dump()
Lecture 51 Emitting logging data to output sources
Lecture 52 Integrating Logging APIs with TCP/IP Stack lib
Lecture 53 Logging Buffers
Lecture 54 Logging Output Sources - Log files & stdout
Section 8: Project 5 : Notification Chains
Lecture 55 Introduction to Notification Chains
Lecture 56 A generic Example of NFC
Lecture 57 Role of NFC in our TCP/IP Stack Project
Lecture 58 NFC Data Structures
Lecture 59 NFC Functions Implementation
Lecture 60 TCP IP Stack Specific NFC
Lecture 61 Interface Config Relay NFC - 3 Steps
Lecture 62 Step 1/3 - Subscriber Registration - API discussion
Lecture 63 Step 1/3 - Subscriber Registration - API Implementation
Lecture 64 Step 2/3 - Generating Notifications - API
Lecture 65 Step 2/3 - Generating Notifications - Implementation
Lecture 66 Step 3/3 - Processing Notification by Subscriber
Lecture 67 Notification Chains - Final Demo
Section 9: Project 6 : Integrating Timer Library
Lecture 68 Why Timers are important in Networking ?
Lecture 69 Road-Map of this Section
Lecture 70 Steps to integrate Timer Library
Lecture 71 Dynamic ARP Tables
Lecture 72 How to use Timer Library
Lecture 73 Solution Steps
Lecture 74 New APIs to manage ARP Entry Timers
Lecture 75 Main Project Final Code Changes
Section 10: Appendix A.1 - Part1 - Dynamic Construction of Layer 3 Routing Table
Lecture 76 Introduction
Lecture 77 Goals and Problem Statement
Lecture 78 Routing Table Entry Format
Lecture 79 ECMP - Equal Cost Multiple Path
Lecture 80 L3 Device Collaboration
Lecture 81 Generic Steps to Build Routing Table
Section 11: Appendix A.2 - Part2 - Dynamic Construction of Layer 3 Routing Table
Lecture 82 Phases of This Section
Lecture 83 Phase 1 - 4 Steps
Lecture 84 Phase 1 - Step 1 and 2
Lecture 85 Phase 1 - Steps 3 and 4
Lecture 86 Phase 2 - Spf Algorithm
Lecture 87 Phase 2 - Spf Algo Example 1
Lecture 88 Phase 2 - Spf Algo Rules
Lecture 89 Phase 2 - Spf Algo Example 2
Lecture 90 Phase 3 - Final Routing Table Computation
Lecture 91 Loop Free Guarantee
Lecture 92 SPF Convergence
Lecture 93 Summary
Section 12: Appendix B - Using Timer Library
Lecture 94 Course Goals
Lecture 95 Timer Relevance
Lecture 96 Terminologies
Lecture 97 Application and Library Interaction
Lecture 98 Timer Callback function
Lecture 99 Demonstration
Lecture 100 API Discussion
Section 13: Bonus - Time to get some Candies
Lecture 101 Bonus - Get some Candies !
Those who have finished Part A (Prequel Course),Who want to learn System and Network Programming