Part B – Network Protocol Development in C ( from Scratch )
Part B – Network Protocol Development in C ( from Scratch ), available at $59.99, has an average rating of 4.83, with 60 lectures, based on 6 reviews, and has 727 subscribers.
You will learn about Understand how Network Protocols are implemented on Network Devices Packet processing, Update protocol data structures through packets processing Debugging and troubleshoot code to resolve issues Implement new features incrementally Implement complex protocol state machines and Network Algorithms The AIM of this project is to cycle you through the experience of end-to-end implementation of a typical network protocol This course is ideal for individuals who are Core Developers aiming to work in Networking / Distributed Systems / System Programming side or Not for those seeking non-development roles ( This is pure Dev oriented Course ) or Not for those still struggling with basic data structures, basic C programming concepts or Working professionals, Job Seekers, domain changers to Networking Dev, Learners, starving for knowledge It is particularly useful for Core Developers aiming to work in Networking / Distributed Systems / System Programming side or Not for those seeking non-development roles ( This is pure Dev oriented Course ) or Not for those still struggling with basic data structures, basic C programming concepts or Working professionals, Job Seekers, domain changers to Networking Dev, Learners, starving for knowledge.
Enroll now: Part B – Network Protocol Development in C ( from Scratch )
Summary
Title: Part B – Network Protocol Development in C ( from Scratch )
Price: $59.99
Average Rating: 4.83
Number of Lectures: 60
Number of Published Lectures: 59
Number of Curriculum Items: 73
Number of Published Curriculum Objects: 72
Original Price: $19.99
Quality Status: approved
Status: Live
What You Will Learn
- Understand how Network Protocols are implemented on Network Devices
- Packet processing, Update protocol data structures through packets processing
- Debugging and troubleshoot code to resolve issues
- Implement new features incrementally
- Implement complex protocol state machines and Network Algorithms
- The AIM of this project is to cycle you through the experience of end-to-end implementation of a typical network protocol
Who Should Attend
- Core Developers aiming to work in Networking / Distributed Systems / System Programming side
- Not for those seeking non-development roles ( This is pure Dev oriented Course )
- Not for those still struggling with basic data structures, basic C programming concepts
- Working professionals, Job Seekers, domain changers to Networking Dev, Learners, starving for knowledge
Target Audiences
- Core Developers aiming to work in Networking / Distributed Systems / System Programming side
- Not for those seeking non-development roles ( This is pure Dev oriented Course )
- Not for those still struggling with basic data structures, basic C programming concepts
- Working professionals, Job Seekers, domain changers to Networking Dev, Learners, starving for knowledge
First of all Congratulations on completing the Part-A of this Course in which we develop the Adjacency Mgmt feature of the protocol. I hope you enjoyed and had a great learning. You must be Feeling confident in developing timer-based state machines now?
And here starts a new challenge when we enter into Phase 2 of the Project – Link State Database Mgmt.Every Router will use its Adjacency Objects sitting on an interface to build its local Link State Database. But the challenge is – every router has to share its own local copy of the link-state database ( LSDB ) with every other router in the topology running ISIS protocol so that every router has a coherent and common view of the IGP topology. This is what is the end goal of this phase of the project.
This full course series is divided into 3 parts – Part A, Part B, and Part C out of which Part A and B are Live, and Part C is under Development as of 21 Dec 2021.
Once again we shall cover all required theories and concepts before we hit the keyboard for implementation. The three main concepts we shall going to implement in this installment of the course are :
1. Concept of Packet Flooding
2. Building of Link State Database
3. Link State Database Synchronization
We shall continue to use Timers as phase 2 is also heavily dependent on timers to achieve its goals. In addition to timers, we shall also get to introduce to the world of Asynchronous programming through this project.
Continue to Challenge yourself by doing more of such projects and you will not even realize that you have already transformed yourself into a 10x Developer.
Project Goals
The AIM of this project is to cycle you through the experience of end-to-end implementation of a typical network protocol. In this case study, we have chosen a routing protocol as an example, but the high-level logistics involved to implement a typical network protocol are more or less the same. For example, a typical network protocol has to:
-
Configurable via CLIs
-
Show internal states and results through show CLIs
-
Respond to generic configuration changes ( such as link shut-down, IP Address on interface change, etc)
-
Compute results and install the results in Tables (Routing Information Base, MAC Tables, hardware Tables, etc )
-
Respond to Topological Changes (link failures, device failures, etc )
-
Time-out stale Data structures if any.
-
Periodically Generate Or Process Protocol packet
-
How to add a new feature to the existing working Protocol Codebase. (This is what you shall be doing all your life as a software engineer !!)
Since the project is quite big (I am expecting around 10k LOCs), you would also get the opportunity to learn how to :
-
Organize the code in header and src files
-
Modularize the codebase: How to keep the code of different features in different src files
-
Testing the new feature, and cross-check it doesn’t break existing features
-
Maintain Code Commits through Version control system ( Github in this case )
-
Bug Fixing, and exercising various debugging techniques (gdb, Valgrind, etc )
Needless to say, you Can’t exercise the above points unless you do a project of considerable size.
Course Curriculum
Chapter 1: Welcome to the Part 2 ( Sequel Course )
Lecture 1: Agenda – What is in this Course ?
Chapter 2: Phase 2 – Link State Packets
Lecture 1: Link State Packet Format
Lecture 2: TLV 22 Format
Lecture 3: API to encode TLV22
Lecture 4: TLV22 Encoding APIs Implementation
Lecture 5: Structure to represent LSP Pkt
Lecture 6: The Sequence Number
Chapter 3: Phase 2 – LSP Packet Generation
Lecture 1: LSP Packet Generation
Lecture 2: API to create LSP pkt
Lecture 3: Debugging and Verification
Lecture 4: isis_show_one_lsp_pkt_detail ( ) Implementation
Lecture 5: show CLI and Testing Procedure
Chapter 4: Phase 2 – Introducing Asynchronous Programming
Lecture 1: Introducing Asynchronous Programming
Lecture 2: Redundant Work – Problem example 1 and Solution
Lecture 3: Redundant Work – Problem example 2 and Solution
Lecture 4: Asynchronous Programming – APIs to Use
Chapter 5: Phase 2 – Revisiting LSP Generation – Asynchronous Method
Lecture 1: LSP Pkt Generation API Integration – Part1
Lecture 2: LSP Pkt Generation API Integration – Part2
Lecture 3: Demo and Testing
Lecture 4: Demonstration – Redundant Computations in Action
Lecture 5: Converting Synchronous Call to Asynchronous Call
Lecture 6: End Result : Witness Final Optimization
Chapter 6: Phase 2 – LSP Periodic Generation and Disbursement
Lecture 1: LSP Periodic Generation and Disbursement
Lecture 2: Implementation : Periodic LSP Packet Generation
Lecture 3: LSP Disbursement Design
Lecture 4: LSP Disbursement API Discussion
Lecture 5: LSP Disbursement API Implementation
Lecture 6: LSP Disbursement Demo
Lecture 7: LSP Reference Count Problem Explanation
Lecture 8: Reference Count Problem and Solution in General
Lecture 9: LSP Reference Count APIs Implementation
Lecture 10: LSP Reference Count API Integration
Chapter 7: Phase 2 – Link State Database Development and LSP flooding
Lecture 1: Getting Started with Link State Database ( LSDB )
Lecture 2: Link State Database APIs and Initialization
Lecture 3: Link-State Database API Implementation
Lecture 4: Updating LSDB with LSPs
Lecture 5: LSP Flooding Algorithm
Lecture 6: Self LSP packet installation Rules in LSDB
Lecture 7: Setting up isis_install_lsp( ) API calls
Lecture 8: isis_install_lsp( ) – Implementation for self lsp pkts
Lecture 9: Remote LSP packet installation Rules and Implementation in LSDB
Lecture 10: Testing and Bug fixing
Lecture 11: Case Study : How to fix Bugs in Big Protocols
Chapter 8: Phase 2 – Debugging Made Easier – Event Counters
Lecture 1: Protocol Debug Counters
Chapter 9: Phase 2 – Purging of LSP
Lecture 1: What is LSP Purging
Lecture 2: Design Discussion and APIs
Lecture 3: LSP Purge – Complete Implementation
Chapter 10: Phase 2 – Re-Conciliation
Lecture 1: What is Protocol Convergence ?
Lecture 2: Timer Driven Convergence
Lecture 3: Reconciliation Explained – Concept and APIs
Lecture 4: Reconciliation APIs Implementation
Lecture 5: Reconciliation APIs Integration
Lecture 6: Processing On-Demand TLV
Lecture 7: Final Demo of the Project
Lecture 8: Beginning of Phase 3
Chapter 11: Appendix-A – Tree Library Quick Tutorial
Lecture 1: AVL Tree Library Tuorial
Chapter 12: Appendix -B – Asynchronous Programming
Lecture 1: Goals
Lecture 2: Introducing Event Loop
Lecture 3: Other Courses I have – Bonus
Instructors
-
Abhishek CSEPracticals
I build Networks ! -
Shiwani Nigam
Digital Marketing Executive -
Ekta Ekta
Facilities Manager
Rating Distribution
- 1 stars: 0 votes
- 2 stars: 0 votes
- 3 stars: 0 votes
- 4 stars: 1 votes
- 5 stars: 5 votes
Frequently Asked Questions
How long do I have access to the course materials?
You can view and review the lecture materials indefinitely, like an on-demand channel.
Can I take my courses with me wherever I go?
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don’t have an internet connection, some instructors also let their students download course lectures. That’s up to the instructor though, so make sure you get on their good side!
You may also like
- Top 10 Language Learning Courses to Learn in November 2024
- Top 10 Video Editing Courses to Learn in November 2024
- Top 10 Music Production Courses to Learn in November 2024
- Top 10 Animation Courses to Learn in November 2024
- Top 10 Digital Illustration Courses to Learn in November 2024
- Top 10 Renewable Energy Courses to Learn in November 2024
- Top 10 Sustainable Living Courses to Learn in November 2024
- Top 10 Ethical AI Courses to Learn in November 2024
- Top 10 Cybersecurity Fundamentals Courses to Learn in November 2024
- Top 10 Smart Home Technology Courses to Learn in November 2024
- Top 10 Holistic Health Courses to Learn in November 2024
- Top 10 Nutrition And Diet Planning Courses to Learn in November 2024
- Top 10 Yoga Instruction Courses to Learn in November 2024
- Top 10 Stress Management Courses to Learn in November 2024
- Top 10 Mindfulness Meditation Courses to Learn in November 2024
- Top 10 Life Coaching Courses to Learn in November 2024
- Top 10 Career Development Courses to Learn in November 2024
- Top 10 Relationship Building Courses to Learn in November 2024
- Top 10 Parenting Skills Courses to Learn in November 2024
- Top 10 Home Improvement Courses to Learn in November 2024