Udemy

Network Security - Implement L3 Routing Table & ACL in C/C++

FireWall, Access Control Lists in C/C++, Bit Level Programming, Network Development/Distributed System/Embedded etc
Free tutorial
Rating: 4.7 out of 5 (53 ratings)
5,309 students
1hr 48min of on-demand video
English
English [Auto]

Trie Data Structure Use in Designing Routing Table and Access Control List
Longest Prefix Match based Route Lookup
Bit Level Advanced Programming
Build Library for Object Filtering based on Attribute Match

Requirements

  • Must understand memory manipulations in C/C++ programming
  • Basic Knowledge of Networking - Routing Table and ACLs
  • Developer Oriented Course
  • Bit Level Programming

Description

***  22 Sept 2022 - This Course is under Development  ***


This Course aims at Explaining and Implementing the Data Structures Required to Implement IPV4 Routing Table and Access Control Lists. Both these features are ubiquitously used in Networking/Embedded/Distributed System/Cloud Computing etc, and hence we decided to throw a course on explaining the internal design and implementation.


We shall be going to build a Library called mtrie library, which will form the foundation for implementing IPV4 Routing Table and Access Control List framework.  Trie is a popular standard data structure and its variant is used to solve different types of industry problems.


We shall be building Cisco like Access Control List which is used for Security, Controlling the traffic flow Or restricting the access & permissions to the user to certain resources over the network. Below is Cisco Example. We shall be going to re-invent the wheel.

access-list allow_traffic permit UDP 122.1.1.1 255.255.255.255 40.1.1.1 255.255.255.255

access-list allow_traffic permit UDP 122.1.1.0 255.255.255.0 40.1.1.0 255.255.255.0

access-list allow_traffic permit UDP 122.1.0.0 255.255.0.0 40.0.0.0 255.255.0.0

access-list allow_traffic deny any 0.0.0.0 0.0.0.0


This Course is Data Structure and Algorithmic Intensive, and We shall be showing all demonstrations in C/C++. However, you are free to implement the explained concepts in the language of your choice.


Pre-requisite :

It's desirable you understand how Subnet Masks work, and a very basic Networking background is required. This Course is exclusively designed for Intermediate to advanced developers only. If you are still struggling with programming basics, pls excuse this course.  The complexity level of this course is intermediate, and not for beginners. You will need to do a lot of Bit-Level Programming in this course.


End Product :

The end product of this course is that you will have fully working Routing Table and Access Control List Libraries which you can further integrate into your other projects readily or decorate your resume with these milestones.



Table of Contents

1. What is Access Control List and how does it work?

2. What is the Longest prefix Match?

3. Trie Data Structure

4. Optimizing Trie to construct Routing Table Data Structure ( called mtrie )

  • Route Insertion Algorithm

  • Route Deletion Algorithm

  • Route Search Algorithm

  • Longest Prefix Match Algorithm

<< Delivered Till here as on 22 Sept 2022 >>


5. Building Routing Table CRUD APIs over Mtrie Data Structure   

6. Implementing Access Control List Over Mtrie Data Structure

  • Compiling ACL Rule into TCAM entry format

  • Installing ACL Rule

  • Uninstalling ACL Rule

  • ACL lookup based on Longest Prefix Match

7. Testing our Codes and Libraries

Who this course is for:

  • Students, Professional Software Developers
  • Network Development Engineers, Cloud Or Distributed Systems
  • Any enthusiast who want to learn Deep Concepts

Instructors

I build Networks !
  • 4.6 Instructor Rating
  • 6,730 Reviews
  • 49,754 Students
  • 26 Courses

I have been engaged with coding and software for a decade now. I am a Networking developer at MNC. My rich working experience is backed by graduation from IIT Bombay as an MTech specialist. I am restless for more in-depth knowledge, and always working out the ways to integrate what I know in practical ways. I am always happy to train and encourage people on Udemy – the next-gen education platform.


I will help you to strengthen the networking concepts and fundamentals in a very practical way. I also hones in System Software Development, Linux System Programming and Network Software Development. I love to create courses on unique non-standard topics, and projects. Check my catalogue, you will find couple of project based courses which you can add to your resume.


You’ll complete assignments and work on a project where you’ll use all the theory. I make sure you build a proper understanding and that you’ll get all the questions and doubts answered. Let me take the privilege to guide you and bring useful additions to your resume !

Digital Marketing Executive
  • 4.6 Instructor Rating
  • 6,730 Reviews
  • 49,754 Students
  • 26 Courses

Hi, Myself Shivani Nigam, PhD in Marketing. I expertise in researching the consumer behavior in the context of purchasing the products online. I take the responsibility of marketing the online content (Udemy courses) on this platform.

I also ensure the courses are delivered with perfect Audio/Video Quality by technical Instructors, and ensures that students queries and doubts are addressed by technical instructors with priority.

Facilities Manager
  • 4.6 Instructor Rating
  • 6,730 Reviews
  • 49,754 Students
  • 26 Courses

Hi, I am Ekta, a facility Manager for Csepracticals. I am responsible for the maintenance and upkeep of an organization’s infrastructure, ensuring that they meet legal requirements and health and safety standards.

I ensure that the facility is operating as it should on a daily basis by completing daily inspections and conducting proactive and reactive maintenance.

Top companies trust Udemy

Get your team access to Udemy's top 30,000+ courses