آموزش قسمت A - پروژه های شبکه - پیاده سازی پشته TCP/IP در C

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

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: پروژه لینوکس C/C++، برنامه نویسی سوکت شبکه، ساخت پشته TCP/IP، پروژه سال آخر، پیاده سازی L2 و L3 در C پیاده سازی لایه 2/3 پشته TCP/IP توسط خودتان از ابتدا نوشتن دستورات CLI سفارشی برای پیکربندی توپولوژی شبکه ساخت شبکه توپولوژی از ابتدا الگوریتم‌های مسیریابی و سوئیچینگ را پیاده‌سازی می‌کند - روش عملی تایمرها، GLthreads، ادغام کتابخانه، Makefile، تکنیک‌های مدولارسازی پروژه مدیریت و توسعه یک کد منبع بزرگ از ابتدا با استفاده از git، یک سیستم کنترل نسخه. در هر مصاحبه دیگری در Networking Domain، از شما خواسته می شود که مفاهیم پایه مسیریابی را توضیح دهید، بنابراین این دوره را از دست ندهید! پیش نیازها: دانش مسیریابی پایه L2 و L3 بسیار ضروری است. خوب در کدنویسی به زبان C یا هر زبان جریان اصلی باید نحوه کار با git را بداند - حداقل اصول اولیه خوب با اشاره گرها و مهارت های مدیریت حافظه در C

سطح دانشجویی: متوسط ​​تا پیشرفته تا افراد حرفه ای، مبتدیان در برنامه نویسی لطفاً این دوره را ببخشید.

با پروفسور خود صحبت کنید: از این پروژه به عنوان پروژه سال پایانی خود استفاده کنید

توجه: اگر در حال خرید این دوره هستید، لطفاً دوره دیگر من را در مورد - "Integrate CLI interface to you C/C+++ Project" نخرید. این همه ویدیوهایی است که قبلاً در این دوره گنجانده شده است.



این یک دوره 100% مبتنی بر کدنویسی در زبان C است که در آن ما یک پشته TCP/IP را از ابتدا با لایه پیوند داده، لایه شبکه و لایه برنامه در عملیات توسعه خواهیم داد. این یک پروژه بزرگ است که به 6 پروژه کوچک تقسیم شده است. توسعه دوره خواهری (قسمت ب) در حال انجام است.

این دوره شما را برای نقش توسعه دهنده شبکه اصلی در صنعت آماده می کند. اگر با مبانی مسیریابی L2 از جمله مسیریابی ARP، L3 آشنا هستید، احتمالاً از قبل دانش لازم برای این دوره پروژه محور را دارید. اگر نه، باید در دوره من ثبت نام کنید - "مفاهیم شبکه و برنامه نویسی از ابتدا" و حداقل شماره بخش : 3 تا 5 را انجام دهید. برای اجرای VLAN بخش 6،7 و 8 مورد نیاز است. ما اکنون این نظریه را در C پیاده سازی خواهیم کرد. اگر زبان مورد علاقه دیگری دارید، با خیال راحت این دوره را در آن انجام دهید، من مشکلی ندارم، اما من منطق را توضیح خواهم داد و دموها را فقط در C نشان خواهم داد.


در این دوره، ما یک نسخه نمایشی پشته TCP/IP را از طریق 6 پروژه شبکه پیاده سازی خواهیم کرد. همه پروژه‌های زیر باید به همان ترتیبی که فهرست شده است انجام شوند.

پروژه 1: ساخت یک شبیه سازی توپولوژی MultiNode از روترها و سوئیچ ها

پروژه 2 : پیاده سازی لایه DataLink (مسیریابی L2)، از جمله ARP

پروژه 3: اجرای سوئیچینگ L2 (یادگیری و ارسال مبتنی بر Mac)

پروژه 4 : یادگیری و ارسال مک مبتنی بر Vlan

را پیاده سازی کنید

پروژه 5: اجرای لایه شبکه (مسیریابی L3)

پروژه 6 : مطالعه موردی : پیاده سازی IP-Tunnelling (اختیاری)


در این پروژه های کوچک، ما باید بسته Journey Upwards و Downwards را از طریق لایه های پشته TCP/IP (= مدل OSI) پیاده سازی کنیم. ما پشته TCP/IP را پیاده سازی خواهیم کرد!! حداقل برنامه نویسی سوکت در این دوره وجود دارد. لازم نیست هر پروژه شبکه ای مبتنی بر برنامه نویسی سوکت باشد.


در طول مسیر، راه حل چالش های جدیدی را که در حین حل مشکل با آن مواجه می شویم، بحث و اجرا خواهیم کرد. بر اساس نحوه پذیرش این دوره توسط دانش آموزان، من پروژه های بیشتری را بر اساس بازخورد دانش آموزان به این دوره اضافه می کنم.


پس از انجام این پروژه ها، می توانید:

1. بگویید چرا به لایه پیوند داده و لایه شبکه

نیاز دارید

2. نحوه طراحی یک پروتکل برنامه جدید در پشته TCP/IP (درست مانند ICMP، HTTP و غیره که همه روی پشته TCP/IP کار می کنند)

3. با برنامه نویسی شبکه در سطح صنعت دست خود را کثیف کنید.

4. آشپزی، تجزیه و خواندن بافرهای بسته را بیاموزید

5. درک معماری End-To-End و طراحی برنامه های کاربردی شبکه و پشته TCP/IP

6. Conquer Interviews برای نقش مهندس توسعه دهنده شبکه

7. GitHub خود را تزئین کنید و یک پروژه قوی به کلاه خود اضافه کنید، LOC های مورد انتظار این دوره باید از 10k بیشتر شود!


این پروژه شکاف بین دانش نظری و نسخه اجرایی آن را پر خواهد کرد. چگونه به نظر می رسد که با دست خود کدی برای حل ARP، ارسال بسته و غیره نوشته اید. رزومه و GitHub خود را با این پروژه تزئین کنید.


این دوره به دو بخش تقسیم می شود:


قسمت A - در این بخش از دوره، ما زیرساخت توپولوژی شبکه را ایجاد می کنیم که از روترها، سوئیچ ها و پیوندهایی که آنها را به هم وصل می کنند، تشکیل می دهیم. گره ها همچنین می توانند بسته ها را با همسایگان خود مبادله کنند. اساساً ما می خواهیم در این قسمت از دوره یک توپولوژی شبکه کاملاً قابل برنامه ریزی و قابل تنظیم را شبیه سازی کنیم. این پروژه 1 است.

قسمت B - ساخت توپولوژی شبکه قابل تنظیم در بخش A دوره آموزشی باید برای اجرای پنج پروژه باقیمانده [2-6] همانطور که در بالا ذکر شد استفاده شود.


ما باید تمام زیرساخت های مورد نیاز را برای تقلید از توپولوژی شبکه راه اندازی کنیم - و این خود یک پروژه کوچک است. ما باید گره‌ها، پیوندهای اتصال گره‌ها، پیکربندی پارامترهای شبکه روی گره‌ها، ارسال و دریافت جریان‌های ترافیک را ایجاد کنیم - همه در یک پروژه. این Megaproject است، اگر به اضافه کردن ویژگی‌های پشته TCP/IP به آن ادامه دهیم، LOC مورد انتظار ممکن است به ده‌ها هزار نفر برسد. آسمان حد است.


بهترین چیز در مورد این پروژه این است - شما در طول سفر چیزهای دیگری خواهید آموخت، از جمله راه اندازی تایمرها، ساخت توپولوژی شبکه، Glthreads - A Glue way of Linked Lists, Building Project با استفاده از Makefile و من حتی در مورد آن صحبت نمی کنم یادگیری مهارت های طراحی نرم افزار مطالب اضافی در بخش پیوست دوره اضافه شده است. ما پروژه را در پوشه‌های جداگانه مدولار می‌کنیم، هر پوشه حاوی کدی است که یک عملکرد لایه OSI خاص را پیاده‌سازی می‌کند، و بله، ما همه آن را از ابتدا انجام خواهیم داد.


هشدار:

1. مبتدیان مطلق، که با ساختارهای داده و اشاره گرهای اولیه دست و پنجه نرم می کنند، لطفاً این دوره را بهانه کنید. شما برای این پروژه آماده نیستید. لطفاً، ابتدا وقت خود را صرف یادگیری اصول اولیه کنید.

2. ماشین مورد استفاده: اوبونتو 19.04، کامپایلر GCC. بنابراین اگر از کامپایلر یا ماشین دیگری استفاده می کنید، ممکن است کدهای من روی دستگاه شما کامپایل نشوند.


فهرست مطالب :

********

بخش الف

********

[ پروژه 1]

بخش 1. KYC (دوره خود را بشناسید)

بخش 2. توسعه توپولوژی نمودار عمومی

  • ساختارهای داده نمودار

  • APIهای مرتبط با نمودار

  • ایجاد اولین نمودار استاتیک ما

بخش 3. ساخت توپولوژی گراف شبکه

  • افزودن جزئیات توپولوژی شبکه به نمودار

  • APIها برای پیکربندی توپولوژی شبکه

  • بدون اولین توپولوژی شبکه Hello World

    آماده شوید

بخش 4. یکپارچه سازی خط فرمان

  • واسط CLI را با پروژه ادغام کنید

  • برای نمایش جزئیات توپولوژی شبکه، دستورات سفارشی بنویسید

بخش 5. راه اندازی ارتباط

  • ارسال یک بسته به گره Nbr در رابط خروجی

  • گوش دادن و نظارت بر چندین سوکت

  • دریافت بسته در یک رابط


********

بخش B

********

بخش 6. دستور کار قسمت B


[ پروژه 2]

بخش 7. شروع به توسعه پشته TCP/IP

  • حالت های رابط

  • قالب سرصفحه اترنت

  • تکالیف در دستکاری هدر اترنت

  • معیارهای پردازش بسته

  • مدیریت بافر بسته

بخش 8. اجرای لایه 2 (لایه داده لینک) - ARP

  • با پیاده سازی ARP شروع کنید

  • فرمت و نمونه پیام ARP

  • ایجاد جداول ARP

  • APIهای CRUD در جداول ARP

  • CLI برای کار با ARP

  • چرخه ARP و APIهای ARP

  • تهیه و ارسال پیام درخواست پخش ARP

  • در حال پردازش پیام درخواست پخش ARP

  • ارسال پیام پاسخ ARP

  • API برای شروع سفر ورودی قاب

  • در حال پردازش پیام پاسخ ARP و ایجاد یک ورودی ARP در جدول ARP

  • ARP در عمل


[ پروژه 3]

بخش 9. اجرای لایه 2 (لایه داده لینک) - سوئیچینگ L2

  • APIهایی برای پیکربندی گره به عنوان سوئیچ L2

  • راه اندازی توپولوژی جدید با سوئیچ های L2 و ماشین های میزبان

  • پیاده‌سازی الگوریتم‌های یادگیری و بازارسال MAC

  • مدیریت جدول MAC سوئیچ های L2

  • آزمایش رفتار سوئیچینگ L2 با استفاده از ARP


[ پروژه 4]

بخش 10. لایه 2 - پیاده سازی بازارسال مبتنی بر Vlan

  • اهداف و پیش نیازها

  • قالب 802.1Q Vlan hdr

  • ساختارهای داده سربرگ اترنت با برچسب Vlan

  • API برای تعیین فریم‌های برچسب‌گذاری شده در مقابل بدون برچسب

  • برچسب شده <-- تبدیل فریم بدون برچسب

  • MAC Forwarding مبتنی بر Vlan - نقشه راه بیشتر

  • جدول شرایط ورود قاب

  • تکمیل ورود فریم

  • جدول شرایط خروج قاب

  • تکمیل قاب خروجی

  • بازارسال مبتنی بر Vlan

    را آزمایش کنید


[ پروژه 5]

بخش 11. راه اندازی زیرساخت مسیریابی لایه 3 (لایه شبکه)

  • اهداف و پیش نیازها

  • تنظیم جدول مسیریابی L3

  • APIهای CRUD برای Mgmt جدول مسیریابی

  • نصب مسیر L3

  • تعریف قالب IP HDr

  • افزودن Ping CLI

  • تعامل لایه شبکه و برنامه

  • مفاهیم مسیریابی L3 بازبینی شد

    • باز ارسال پرونده

    • مورد تحویل مستقیم میزبان

    • مورد تحویل محلی

    • مورد خود پینگ

  • فلوچارتهای مسیریابی L3

بخش 12. اجرای نمودارهای جریان مسیریابی لایه 3

  • انتقال داده محموله از L2 به L3

  • اجرای نمودار جریان لایه 3 - گام به گام

  • اجرای نمودار جریان عملیات لایه 3

  • اجرای نمودار جریان عملیات لایه 2

  • آزمایش نسخه بتا پروژه ما

بخش 13. وضوح ARP بر اساس تقاضا

  • بیانیه مشکل

  • استراتژی راه حل

  • بهبود ساختار داده

  • ایجاد ورود سالم ARP

  • در حال پردازش فهرست معلق ARP

  • نمایش نهایی پروژه کامل ما


[پروژه 6]

بخش 14. اجرای کپسولاسیون IP-IN-IP (تونل سازی)

  • پیاده سازی IP-IN-IP Encapsulation (تونل سازی)


تمدید آینده پروژه. دانش‌آموزان قرار است این موضوع را خودشان به پیش ببرند.

بخش 15. مسیریابی بین دو Vlan (مسیریابی بین Vlan)



سرفصل ها و درس ها

این دوره در مورد چیست ؟ What is this Course About ?

  • دستور جلسه Agenda

  • دوره دنباله دار Sequel Course

  • با تشکر دادن Thanks Giving

  • پیش نیازها Pre-requisites

  • برنامه های افزودنی پروژه های آینده Future Project Extensions

  • اهداف پروژه Project Goals

  • عضویت در گروه تلگرام Join Telegram Group

ساخت گراف عمومی Generic Graph Construction

  • شروع با نمودارهای عمومی Starting With Generic Graphs

  • محصول نهایی این دوره را احساس کنید Feel the End Product of this Course

  • مدل سازی نمودار Graph Modelling

  • Very Imp: برای این پروژه Git Repo خود را ایجاد کنید Very Imp : Create your own Git Repo for this Project

  • ساختارهای داده گراف و دسترسی به مخزن Graph Data Structures and Repository Access

  • تکلیف اجباری: نوشتن APIهای گراف عمومی Mandatory Assignment : Writing Generic Graph APIs

  • ساخت نمودار Graph Construction

  • API های گراف Graph APIs

  • Makefile - تدوین پروژه Makefile - Project Compilation

  • تکلیف اجباری: نوشتن APIهای نمودار عمومی - قسمت 2 Mandatory Assignment : Writing Generic Graph APIs - Part 2

ساخت توپولوژی شبکه Construction of Networking Topology

  • افزودن ویژگی های شبکه به نمودار Adding Networking Properties to Graph

  • API برای افزودن ویژگی های شبکه APIs to Add Networking Properties

  • تکلیف اجباری: استفاده از API برای افزودن ویژگی های شبکه Mandatory Assignment : Using APIs to Add Networking Properties

  • Code Walk برای ساختن شبکه گراف Code Walk to construct Network Graph

  • تکلیف اجباری: نوشتن برخی از API های شبکه Mandatory Assignment : Writing Some Networking APIs

ادغام خط فرمان Command Line Integration

  • معرفی کتابخانه LibCli Introducing LibCli Library

  • مراحل ادغام کتابخانه LibCLI با پروژه ما Steps To Integrate LibCLI library with our Project

  • در حال پیاده سازی اولین CLI ما Implementing our first CLI

  • تکلیف اجباری - اضافه کردن CLI Mandatory Assignment - Adding CLI

راه اندازی ارتباط Communication Setup

  • اهداف این بخش Goals of this Section

  • بحث طراحی - نمای منطقی و فیزیکی Design Discussion - Logical and Physical View

  • بحث طراحی - نمای فیزیکی با جزئیات Design Discussion - Physical View in Detail

  • 8 مرحله پیاده سازی 8 steps of Implementation

  • پیاده سازی مرحله 1 و 2 - ایجاد سوکت ها Implementing Step 1 and 2 - Sockets Creation

  • پیاده سازی مرحله 3 - شروع یک موضوع نظارت سوکت Implementing Step 3 - Starting a Socket Monitoring Thread

  • پیاده سازی مرحله 4 - انتقال بسته Implementing Step 4 - Packet Transmission

  • مراحل پیاده سازی 5 - 8 Implementation Steps 5 - 8

  • آزمایش نسخه ی نمایشی Test Demo

  • خلاصه Summary

  • تکلیف کدگذاری اجباری Mandatory Coding Assignment

  • تکلیف: سوالات مرتبط با طراحی Assignment : Design Related Questions

قسمت ب - دستور کار Part B - Agenda

  • قسمت ب - دستور کار Part B - Agenda

شروع با توسعه پشته TCP/IP Getting Started with TCP/IP Stack Development

  • شروع پیاده سازی ARP Getting Started with ARP Implementation

  • حالت های رابط Interface Modes

  • فرمت هدر اترنت Ethernet Header Format

  • تخصیص در سربرگ اترنت Assignment on Ethernet Header

  • معیارهای پردازش بسته Packet Processing Criteria

  • مدیریت بافر بسته Packet Buffer Management

  • تغییر سمت راست بافرهای بسته Right Shift of Packet Buffers

  • یک کلمه هشدار! A word of Warning !

  • تکلیف - رفع اشکال Assignment - Bug Fix

لایه 2 - پیاده سازی ARP Layer 2 - Implementing ARP

  • فرمت پیام ARP ARP Message Format

  • نمونه فرمت پیام ARP ARP Message Format Example

  • تخصیص - تبدیل آدرس IP Assignment - IP Address Conversions

  • ایجاد جداول ARP Creating ARP Tables

  • جدول ARP - نمونه های اولیه CRUD APIs ARP Table - CRUD APIs Prototypes

  • جدول ARP - پیاده سازی CRUD APIs ARP Table - CRUD APIs Implementation

  • API برای راه اندازی وضوح ARP API to trigger ARP Resolution

  • ARP CLI برای افزودن ARP CLIs to Add

  • چرخه ARP ARP Cycle

  • تکلیف اجباری - نوشتن یک API Mandatory Assugnment - Writing an API

  • ARP API - ارسال درخواست ARP ARP APIs - Sending ARP Request

  • ARP های ARP - پردازش درخواست ARP ARP APIs - Processing ARP Request

  • ARP API - ارسال پاسخ ARP ARP APIs - Sending ARP Reply

  • ARP API - پردازش پاسخ ARP ARP APIs - Processing ARP Reply

  • تئوری - شروع سفر ورودی فریم در پشته TCP/IP Theory - Starting a Frame's Ingress Journey in TCP/IP Stack

  • پیاده سازی - شروع سفر ورودی فریم در پشته TCP/IP Implementation - Starting a Frame's Ingress Journey in TCP/IP Stack

  • نسخه ی نمایشی - ARP در عمل Demo - ARP In Action

  • خلاصه Summary

لایه 2 - اجرای سوئیچینگ L2 Layer 2 - Implementation of L2 Switching

  • اهداف این بخش Goals of this Section

  • پیش نیازها Pre-Requisites

  • سوئیچ L2 در مقابل روتر L3 L2 Switch Vs L3 router

  • دسترسی به کد برای این بخش Code Access For this Section

  • حالت های رابط Interface Modes

  • توپولوژی مبتنی بر سوئیچ L2 L2 Switch Based Topology

  • راه اندازی جداول مک Mac Tables Setup

  • یادگیری و ارسال مک - ویرایش سریع Mac Learning and Forwarding - Quick Revision

  • نقطه ورود برای سوئیچینگ L2 Entry Point for L2 Switching

  • تکلیف اجباری - Frame Flooding توسط L2 Switch Mandatory Assignment - Frame Flooding by L2 Switch

  • پیاده سازی الگوریتم سوئیچینگ L2 Implementing L2 Switching Algorithm

لایه 2 - پیاده سازی Vlan Based Forwarding Layer 2 - Implementing Vlan Based Forwarding

  • اهداف و پیش نیازها Goals and Pre-requisites

  • تکلیف اجباری - تابع پاکت بسته را اجرا کنید Mandatory Assignment - Implement Packet Dump function

  • فرمت 802.1Q Vlan hdr 802.1Q Vlan hdr format

  • ساختار داده سربرگ اترنت با برچسب Vlan Vlan Tagged Ethernet Header Data Structure

  • اجباری انتساب - API برای تعیین اینکه آیا فریم داده شده برچسب گذاری شده است یا خیر؟ Mandatory Assignment - API to determine whether given frame is tagged or not ?

  • API برای تعیین فریم اترنت Tagged و Untagged API to determine Tagged Vs Untagged Ethernet frame

  • تکلیف اجباری - بر اساس Vlan Tagging و Untagging Mandatory Assignment - Based on Vlan Tagging and Untagging

  • برچسب شده <--> تبدیل فریم بدون برچسب Tagged <--> Untagged Frame Conversion

  • برچسب شده <--> مراحل تبدیل فریم بدون برچسب Tagged <--> Untagged Frame Conversion Steps

  • APIهایی برای پیکربندی عضویت های Vlan APIs to Configure Vlan Memberships

  • توپولوژی سوئیچینگ L2 L2 Switching Topology

  • MAC Forwarding مبتنی بر Vlan - نقشه راه بیشتر Vlan Based MAC Forwarding - Further Roadmap

  • جدول شرایط ورود قاب Frame Ingress Condition Table

  • تکلیف اجباری - نوشتن APIهای تست عضویت Vlan Mandatory Assignment - Writing Vlan Membership Test APIs

  • Frame Ingress - Quick Code Walk Frame Ingress - Quick Code Walk

  • تکمیل ورود فریم Frame Ingress Completion

  • شروع با فریم Egress Starting with Frame Egress

  • جدول شرایط خروج قاب Frame Egress Condition Table

  • جدول شرایط خروج قاب - پیاده روی سریع با کد Frame Egress Condition Table - A Quick Code Walk

  • تکلیف اجباری - API به L2 قاب را پر می کند Mandatory Assignment - API to L2 flood the frame

  • تکمیل فریم خروج Egress Frame Completion

  • تکلیف اجباری - آزمایش اجرای Vlan ما Mandatory Assignment - Testing our Vlan Implementation

  • رفع اشکال - پورت ACCESS باید در Vlan کار کند Bug Fix - ACCESS port must operate in a Vlan

  • مشکل حلقه های لایه 2 Problem of Layer 2 Loops

  • تکلیف اجباری بر اساس Vlan Forwarding Mandatory Assignment on Vlan Based Forwarding

لایه 3 - راه اندازی زیرساخت مسیریابی L3 Layer 3 - Setting up L3 Routing Infrastructure

  • اهداف و پیش نیازها Goals and Pre-requisites

  • مراحل این بخش Phases of This Section

  • دسترسی به کد برای این بخش Code Access For this Section

  • رفع: سازماندهی مجدد کد کمی Fix : Slight Code Reorganization

  • فاز 1: راه اندازی جدول مسیریابی L3 - ساختارهای داده Phase 1 : L3 Routing Table Setup - Data Structures

  • فاز 1: APIهای CRUD برای جدول مسیریابی Phase 1 : CRUD APIs for Routing Table

  • فاز 2: نصب مسیر L3 - CLI و API Phase 2 : L3 Route Installation - CLIs and APIs

  • فاز 2: پیکربندی مسیر L3 Phase 2 : L3 Route Configuration

  • فاز 3: تعریف سربرگ IP Phase 3 : Defining IP Header

  • تکلیف اجباری - نوشتن ماکروها برای دستکاری IP hdr Mandatory Assignment - Writing Macros to manipulate IP hdr

  • فاز 4: توپولوژی مورد استفاده و فرض ARP Phase 4 : Topology Used and ARP Assumption

  • فاز 5: معرفی برنامه پینگ Phase 5 : Introducing Ping Application

  • فاز 5: CLI ها را پینگ کنید Phase 5 : Ping CLIs

  • فاز 5: طرح بندی بسته پینگ Phase 5 : Ping packet Layout

  • فاز 5: سفر بسته پینگ از Src به Dst Phase 5 : Ping Packet Journey from Src to Dst

  • فاز 6: برنامه <--> تعامل لایه شبکه Phase 6 : Application <--> Network Layer Interaction

  • فاز 6: لایه شبکه <--> تعامل لایه پیوند داده Phase 6 : Network Layer <--> Data Link Layer Interaction

  • فاز 6: قرار دادن امضاهای API در کد پروژه Phase 6 : Placing API Signatures in Project Code

  • فاز 7: مسیریابی لایه 3 - تجدید نظر در 4 مورد Phase 7 : Layer 3 Routing - Revision of 4 Cases

  • فاز 7: بازبینی مسیریابی L3: مورد 1: ارسال Phase 7 : L3 Routing Revision : Case 1 : Forwarding

  • فاز 7: بازبینی مسیریابی L3: مورد 2: تحویل مستقیم میزبان Phase 7 : L3 Routing Revision : Case 2 : Direct Host Delivery

  • فاز 7: بازبینی مسیریابی L3: مورد 3: تحویل محلی Phase 7 : L3 Routing Revision : Case 3 : Local Delivery

  • فاز 7: بازبینی مسیریابی L3: مورد 4: پینگ خودکار Phase 7 : L3 Routing Revision : Case 4 : Self-Ping

  • فاز 8: فلوچارت های مسیریابی لایه 3 Phase 8 : Layer 3 Routing Flowcharts

فشار نهایی - پیاده سازی فلوچارت های مسیریابی لایه 2 و 3 Final Push - Implementing Layer 2 & 3 Routing flowcharts

  • دسترسی به کد برای این بخش Code Access For this Section

  • انتقال داده محموله از L2 به L3 Payload Data Transfer from L2 to L3

  • تکلیف اجباری - چند API بنویسید تا در ویدیوهای سخنرانی بعدی استفاده شود Mandatory Assignment - Write some APIs to be used in the next lecture Videos

  • پیاده سازی فلوچارت 1 عملیات لایه 3 Layer 3 Operation Flowchart 1 Implementation

  • پیاده سازی فلوچارت 2 عملیات لایه 3 Layer 3 Operation Flowchart 2 Implementation

  • مسیریابی لایه 2 - بحث الگوریتم/فلوچارت Layer 2 Routing - Algorithm/Flowchart Discussion

  • قسمت 1 - مسیریابی لایه 2 - پیاده سازی الگوریتم/فلوچارت Part 1 - Layer 2 Routing - Algorithm/Flowchart Implementation

  • قسمت 2 - مسیریابی لایه 2 - پیاده سازی الگوریتم/فلوچارت Part 2 - Layer 2 Routing - Algorithm/Flowchart Implementation

  • نسخه ی نمایشی - آزمایش نسخه بتا پروژه ما Demo - Testing Beta Version of our Project

  • تکلیف اجباری - در مسیریابی L3 Mandatory Assignment - On L3 Routing

  • رفع اشکال - rt_table_add_route( ) Bug Fix - rt_table_add_route( )

وضوح ARP بر اساس تقاضا On-Demand ARP Resolution

  • بیان مسأله Problem Statement

  • استراتژی راه حل Solution Strategy

  • تکلیف اجباری - عملکرد پردازش ورودی در انتظار ARP را اجرا کنید Mandatory Assignment - Implement the ARP pending entry processing function

  • بهبود ساختارهای داده Data Structures Enhancements

  • ایجاد ورود سالم ARP ARP Sane Entry Creation

  • ARP در حال پردازش لیست معلق ARP Pending List Processing

  • نسخه ی نمایشی پروژه نهایی Final Project Demo

پروژه - پیاده سازی IP-In-IP encapsulation Project - Implement IP-In-IP encapsulation

  • کپسوله سازی IP-IN-IP - اجرا در 3 مرحله IP-IN-IP Encapsulation - Implement in 3 Steps

  • مرحله 1/3 - مورد نیاز CLI Step 1/3 - CLI Requirement

  • مرحله 2/3 - مدیریت پشتیبان Step 2/3 - Backend Handler

  • مرحله 3/3 - تغییرات پشته TCP/IP Step 3/3 - TCP/IP Stack Changes

توسعه پروژه و کار خانگی برای شما! Project Extension and Home Work for you !

  • مسیریابی Inter-Vlan Inter-Vlan Routing

  • جدول مسیریابی استاندارد صنعت را پیاده سازی کنید Implement Industry standard Routing Table

پیوست A: Makefile - آموزش سریع Appendix A : Makefile - Quick Tutorial

  • Makefile - آموزش سریع Makefile - Quick Tutorial

  • Makefile Analogy - Dependency Tree Makefile Analogy - Dependency Tree

  • تکلیف Makefile - part1 Makefile Assignment - part1

  • تکلیف Makefile - part2 Makefile Assignment - part2

  • فایل نهایی نهایی Final Makefile

ضمیمه B: GLThreads - یک راه چسب برای لیست پیوندی Appendix B : GLThreads - a Glue way of Linked List

  • معرفی Introduction

  • تعریف Glthreads Glthreads Definition

  • تفاوت - DLL سنتی در مقابل چسب مبتنی بر چسب Difference - Traditional Vs Glue Based DLL

  • آفست فیلد ساختار Structure Field Offset

  • درج GLNode GLNode Insertion

  • تکرار GLThread GLThread Iteration

  • حذف GLNode GLNode Removal

  • Code Walk - نسخه ی نمایشی Code Walk - Demo

  • مشکلات فهرست سنتی Traditional List Problems

  • مزایای GLThread GLThread Benefits

پیوست ج: ایجاد و پیوند کتابخانه ها Appendix C : Creation and Linking of Libraries

  • از سرگیری با کتابخانه فهرست پیوندی دوگانه Resuming with Doubly Linked List Library

  • کتابخانه های ایستا و پویا - ایجاد سریع Static and Dynamic Libraries - Quick Creation

  • پیوند با کتابخانه استاتیک Linking with Static Library

  • پیوند با کتابخانه پویا Linking with Dynamic Library

  • خلاصه Summary

پیوست D: مدیریت فایل سربرگ Appendix D : The Header File Management

  • درج تکراری فایل هدر - مشکل Duplicate Inclusion of Header File - The Problem

  • گنجاندن تکراری فایل هدر - راه حل Duplicate Inclusion of Header File - Solution

  • وابستگی بازگشتی - بیان مسئله Recursive Dependency - The Problem Statement

  • راه حل وابستگی بازگشتی Solution to Recursive Dependency

پیوست E: بخش 1 - رابط CLI را با پروژه های C/C++ خود یکپارچه کنید Appendix E : Section 1 - Integrate CLI interface to your C/C++ Projects

  • مقدمه - این دوره در مورد چیست؟ Introduction - What is this Course all about ?

  • انواع دستورات Command Types

  • درخت فرمان Command Tree

  • انواع پارام Param Types

  • محدودیت پارام برگ Leaf Param Constraint

  • قابلیت های کتابخانه Library Capabilities

پیوست E: بخش 2 - رابط CLI را با پروژه های C/C++ خود یکپارچه کنید Appendix E : Section 2 - Integrate CLI interface to your C/C++ Projects

  • ساخت کتابخانه LibCli Building A LibCli Library

  • از جمله فایل‌های هدر و قلاب‌های وارداتی Including Header Files and Importing Hooks

  • نمایش مثال اضافه کردن فرمان Show Command Addition Example

  • نمایش نسخه ی نمایشی فرمان Show Command Demo

  • درک DataFlow از CLI به Backend Understanding DataFlow from CLI to Backend

  • پیاده سازی کنترل کننده فرمان Backend Backend Command Handler Implementation

  • مثال اضافه کردن فرمان پیکربندی Config Command Addition Example

پیوست F: زیرشبکه های محلی و راه دور Appendix F : Local and Remote Subnets

  • زیرشبکه های محلی و راه دور Local and Remote Subnets

پیوست G: تئوری کپسولاسیون IP-in-IP Appendix G : IP-in-IP Encapsulation Theory

  • معرفی Introduction

  • چگونه IP-in-IP Encapsulation کار می کند How IP-in-IP Encapsulation works

پاداش - دوره های دیگر من را به صورت رایگان دریافت کنید. Bonus - Get my other courses for free.

  • پاداش - دوره های دیگر من را به صورت رایگان دریافت کنید. Bonus - Get my other courses for free.

نمایش نظرات

آموزش قسمت A - پروژه های شبکه - پیاده سازی پشته TCP/IP در C
جزییات دوره
14.5 hours
163
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
2,848
4.3 از 5
ندارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Abhishek CSEPracticals Abhishek CSEPracticals

من شبکه می سازم!

Shiwani Nigam Shiwani Nigam

مجری بازاریابی دیجیتال

Ekta Ekta Ekta Ekta

مدیر تاسیسات