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 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
6. Project 5 : Notification Chains:
- Introduction to NFC
- Understand with the help of Example
- Writing a Generic NOTIF Infra code
- Writing TCP/IP Stack NFC
- Implement Publisher Subscriber APIs
- See NFC in Action
7. Project 6 : Working with Timers:
- Implementing Ageism
- Implement Timer State Machine






