Part B – Networking Projects – Implement TCP/IP Stack in C

C/C++ Linux Project, Network Socket Programming, Build TCP/IP Stack, Final Year Project, System Programming in C

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.

What you’ll learn

  • Working with Timers in Networking Domain.
  • How to imeplement Networking Oriented Algorithms.
  • Implement Industry level Problem statement.
  • Implement Callback Registration Model.
  • Implement New Networking Problem Statements and Protocols from Scratch.
  • Parsing and Cooking Network Packets.
  • Concept of TLVs – Extensively used in Networking.

Course Content

  • What is this Course all About ? –> 3 lectures • 16min.
  • Project 1 : Interface Management and Statistics –> 4 lectures • 21min.
  • Project 2 : Implementing Packet Generator –> 5 lectures • 31min.
  • Project 3.1 : L3 Route Calculation – Data Structures and Supporting APIs –> 13 lectures • 53min.
  • Project 3.2 : SPF Algorithm (Dijkstra) Implementation –> 12 lectures • 55min.
  • Project 3.3 : Routing Table Construction –> 6 lectures • 31min.
  • Project 4 : Developing Logging Infrastructure –> 10 lectures • 59min.
  • Appendix A.1 – Part1 – Dynamic Construction of Layer 3 Routing Table –> 6 lectures • 30min.
  • Appendix A.2 – Part2 – Dynamic Construction of Layer 3 Routing Table –> 12 lectures • 1hr 7min.

Part B - Networking Projects - Implement TCP/IP Stack in C

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.

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 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-B. 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 Contents

1. What is this Course all about?

2. Project 1 : Interface Management and Statistics

  • Enable/Disable an Interface
  • Gathering Interface Rx/Tx Statistics

3. Project 2 : Implementing the Packet Generator

  • Create and Feed Pkt stream into Topology

4. Project 3 : Implementing Routing Table Construction Algorithm

  • Designing Data Structure
  • Shortest Path First Algorithm in Detail
  • Implementation Strategy
  • Testing SPF Algorithm Implementation
  • Route Calculation

5. Project 4 : Logging Infra

  • Track Ingress and Egress pkts per device per interface
  • Track L3 Path taken by a pkt from src to dst

     

    ** Below Content Development is under Progress – Last Updated 03 Sept 2020 **

6. Project 5 : Notification Chains

7. Project 6 : Working with Timers

  • Implementing Ageism
  • Implement Timer State Machine

8. Project 7 : Implement a new Application Protocol

  • Implement NMP protocol as an example
  • NMP – Neighbor ship Management Protocol
Get Tutorial