این دوره در مورد تقویت مفاهیم و مبانی شبکه با تکالیف در کنار تئوری است. از طریق این دوره شما قادر خواهید بود:
1. عملکرد پشته TCP/IP (مدل OSI) را درک کنید. عملکرد هر لایه در پشته TCP/IP را با جزئیات خوب درک کنید.
2. مفاهیم مسیریابی L2 - آدرس های مک و ARP را توضیح دهید
3. مفاهیم مسیریابی L3 - آدرس های IP و پروتکل IP
را توضیح دهید4. روش ساخت دینامیک جدول مسیریابی L3
را درک کنید5. روش های مختلف برای طراحی یک برنامه سرور TCP/UDP لینوکس در C
را بدانید6. برنامه نویسی Socket را در C
درک کنید7. درک عملکرد دستگاه های شبکه - سوئیچ L2 و روتر L3
8. درک سفر بسته از طریق لایه های پشته TCP/IP
9. وب سرورهای HTTP را از ابتدا طراحی و پیاده سازی کنید
10. بسته های شبکه را از ابتدا بخوانید و بسازید
11. درک مفهوم TLVs
12. مفهوم کپسوله کردن بسته
13. درک سیستم نام دامنه (DNS)
14. شبکه های مجازی مجازی (VLAN) و مسیریابی در VLAN
15. پخش دامنه و دامنه برخورد
ما درک می کنیم - شبکه سازی به دلیل ماهیت خود به سمت موضوعی نظری مطالعه تمایل دارد. برای برانگیختن علاقه دانش آموزان، هر موضوع این دوره را از طریق یک تکلیف یا پروژه به تفصیل شرح می دهیم.
این دوره کامل است. ما طرح را توضیح می دهیم، جریان کد را مورد بحث قرار می دهیم و سپس مخاطب را راهنمایی می کنیم که چگونه طرح مفهومی خاص را با جزئیات به صورت گام به گام پیاده سازی کند. برای انجام این دوره تنها به یک سیستم عامل لینوکس در حال اجرا بر روی سیستم شما نیاز دارید.
چه کسی باید این دوره را انجام دهد؟
این دوره برای دانشجویان علوم کامپیوتر UG، جویندگان کار و توسعه دهندگان حرفه ای در نظر گرفته شده است. این دوره آموزشی برای کسانی است که می خواهند به عنوان توسعه دهنده به MNC ها بپیوندند. موضوعات مطرح شده در این دوره از جنبه های مصاحبه از اهمیت بالایی برخوردار است و دانشجویانی که در رشته علوم کامپیوتر فارغ التحصیل می شوند و به دنبال فرصتی در MNC ها به عنوان یک توسعه دهنده هستند باید مفاهیم شبکه را در نوک انگشتان خود داشته باشند. بهتر است شبکه را در دوره فوق لیسانس انجام داده باشید، نه اجباری. جویندگان کار تلاش می کنند برای موقعیت توسعه دهندگان شبکه در MNC های مبتنی بر محصول توسعه نرم افزار سیستم از جمله شبکه سازی یک منطقه همیشه سبز است. اینترنت هرگز محکوم به فنا نخواهد شد.
پیش نیاز
هیچ پیش نیازی برای این دوره وجود ندارد، با این حال، اگر کمی از زبان C بدانید، مزیت خواهد بود. ما این دوره را با فرض اینکه دانش آموز یک مبتدی کامل در شبکه است طراحی کردیم و با حرکت به تدریج سطح دوره را بالا می بریم. از پایه تا مفاهیم پیشرفته شبکه.
همچنین، لطفا فقط ننشینید و کدهای من را تماشا کنید. کدهای خود را بنویسید، حتی اگر همان کد من باشد!
ما دلایل قوی برای انتخاب زبان C برای این دوره داریم:
1. کل کار توسعه شبکه اصلی در C در صنعت انجام می شود. بنابراین، این دلیل به تنهایی به اندازه کافی خوب است که اگر قصد دارید به عنوان یک توسعه دهنده پروتکل شبکه به صنعت بپیوندید، باید توسعه شبکه را در C یاد بگیرید.
2. تجهیزات شبکه نیاز به تعامل با سخت افزار زیرین - تراشه های ASIC دارند. برای تعامل و برنامهنویسی سختافزار، چه زبانی بهتر از C میتواند باشد.
3. C یک زبان سطح متوسط است - نه به اندازه اسمبلی و نه به اندازه جاوا/پایتون. در زبان C، وظیفه برنامه نویس نوشتن هر خط کد برای انجام کار است، برخلاف جاوا/پایتون که بقیه کتابخانه های غنی را برای انجام بیشتر کارها برای شما فراهم می کند. استفاده از زبان های سطح بالا برای یادگیری برنامه نویسی شبکه، جزئیات سطح پایین شبکه را پنهان می کند - این همان چیزی است که در پشت صحنه اتفاق می افتد. اگر در برنامه نویسی شبکه مبتدی هستید، باید چیزهایی را از ابتدا یاد بگیرید و فقط C این فرصت را برای شما فراهم می کند. بنابراین، شما باید تمام تکالیف خود را در C.
انجام دهید4. شبکه سازی همه چیز در مورد پختن بسته ها و ارسال آن ها از طریق سیم است. C به شما این امکان را می دهد که بسته ها را دقیقاً به همان روشی بپزید که دوست دارید روی سیم ظاهر شوند. برنامه نویسی سطح بیت زیادی.
5. اگر در شبکه سازی مبتدی هستید، لطفاً از یادگیری برنامه نویسی شبکه به زبان های سطح بالا مانند جاوا یا پایتون خودداری کنید. این کار در حوزه شبکه انجام نمی شود.
کتابخانه شخص ثالثی وجود ندارد
هر منطقی که پیاده سازی می کنید، باید آن را از ابتدا پیاده سازی کنید. این دوره پیشنهاد نمی کند که از هیچ کتابخانه شخص ثالثی برای انجام کارها کمک بگیرید. استفاده از کتابخانه های خارجی به طور کامل هدف دوره را از بین می برد. با این حال، توصیه میشود از کتابخانههای شخص ثالث برای ساختارهای داده رایج مانند فهرستهای پیوندی/درخت/صفها و غیره استفاده کنید که باعث صرفهجویی در زمان زیادی برای اجرای این ساختارهای داده میشود.
چه چیز دیگری همراه با دوره؟
اگر قصد دارید یک توسعه دهنده شوید، علاوه بر قوی بودن در ساختار داده و الگوریتم ها، باید مفاهیم مرتبط با سایر ابزارهای لینوکس را نیز شفاف کنید. شبکه سازی همه چیز در مورد برنامه نویسی سیستم است، و شما علاقه مند به یادگیری مفاهیم دیگر لینوکس با اهمیت اصلی مانند ارتباطات بین فرآیند، تماس های رویه از راه دور و غیره خواهید بود. لطفاً به دوره های دیگر من در این زمینه نگاهی بیندازید. این دوره ها شما را به عنوان یک توسعه دهنده رقابتی تر در حوزه برنامه نویسی سیستم شبکه خلاصه می کند.
ببینید دانش آموزان در مورد این دوره چه می گویند
فقط به این نظرات دارای رتبه برتر نگاهی بیندازید (برای تأیید این نظرات، بخش بررسی را مرور کنید)
***** چه دوره فوق العاده ای!!! من واقعا از زحماتی که آبیشک در این دوره انجام داده است قدردانی می کنم. عرق و دلش را گذاشته است. روشی که او چیزها را توضیح می دهد، شما را درگیر این دوره می کند. او مستقیماً بدون اینکه دور بوته بکوبد به نقطه می رسد. هیچ نویسنده ای از هیچ کتاب شبکه ای نمی تواند چیزهایی را که آبیشک انجام می دهد توضیح دهد. کاری که آبیشک انجام می دهد این است که دارد گوشت موضوع را توضیح می دهد. برای درک این موضوع باید 10 کتاب خواند. یا شاید بیشتر در قلب من احساسی وجود داشت که شبکه را به وضوح نمی شناسد. این دوره با توجه به محتوا، وضوح و سبک تدریس با ارائه مناسب انتظارات من را برآورده می کند. این دوره درک شما را بهبود می بخشد و ترس از ندانستن را از بین می برد... نه تنها این، اعتماد به نفس خوبی در مورد دانش شما در زمینه شبکه ایجاد می کند... از اینکه چنین دوره ای را ارائه کردید متشکریم. باز هم متشکرم.
***** در زمان مناسب به دوره مناسب بیایید. به نظر می رسد این دوره تمام زمینه های مهم شبکه را پوشش می دهد. نویسنده موضوعات را با جزئیات خوب و با سرعت خوب توضیح می دهد. به نظر می رسد این دوره برای شکست دادن مصاحبه های فنی طراحی شده است.
***** دوره عالی، مدرس بسیار دقیق است و راهنمایی سریع ارائه می دهد و هر گونه شک و تردید را به سرعت با در دسترس بودن بالا برطرف می کند. من واقعا از این دوره لذت بردم. یادگیری شبکه برای من موضوع سختی بوده است، اما این دوره آن را بسیار آسان کرده است. من اکنون مفاهیم خود را کاملاً روشن کرده ام! با تشکر آبیشک، و Udemy.
***** من به عنوان مهندس Firmware/Embedded کار می کنم، و دوره های این بچه ها نعمت لعنتی است. در صنعت واقعی، همانطور که قبلاً اشاره کرد، تمام برنامه نویسی های شبکه یا برنامه نویسی سیستم لینوکس باید با C پیاده سازی شوند، زیرا C یک زبان عالی برای دسترسی به فضاهای حافظه و سفارشی کردن ارتباط سریال با سایر تراشه ها است. در زمینه های صنعتی واقعی، هیچ کس به شما آموزش نمی دهد. شما تنها کسی هستید که باید خودتان آن را بفهمید زیرا همه آرزو می کنند که در محل کار برتر نباشید. فقط یک نفر می تواند مدیر یا سرپرست باشد. در دوره های این پسر شرکت کنید. ناگفته نماند که کیفیت تضمین شده است. اگر بتوانم در این سایت هک کنم، سخنرانی های او را خراب می کنم. من نمی خواهم دیگران از سخنرانی های او بهره ببرند. بهتر است او یک سخنرانی برای "ساخت سیستم عامل از ابتدا" داشته باشد :)
اخطار: این دوره دارای زیرنویسهای خودکار تولید شده توسط سیستم است که ممکن است کامل نباشند. لطفاً زیرنویسها را طبق راحتی خود غیرفعال کنید.
برنامه درسی
0. تنظیم محیط توسعه لینوکس در دستگاه شما
برای کسانی که با نصب/محیط لینوکس آشنایی ندارند
1. مدل OSI در مقابل پشته TCP/IP
محفظهسازی دادهها و کپسولزدایی دادهها
سرصفحه آبشاری
ورود و خروج بسته از طریق پشته TCP/IP
تصویر بزرگ
2. محیط راه اندازی چند گره در دستگاه شما
خوشه ماشین های مجازی چند گره را بر روی دستگاه خود راه اندازی کنید
شبکه های فرعی محلی و راه دور
معناشناسی مسیر لایه 3
مسیرهای لایه 3 را در گره ها پیکربندی کنید
معنای جدول مسیریابی L3 را درک کنید
3. زیرشبکه و آدرس IP
درک زیرشبکه ها
بین زیرشبکه های محلی و راه دور تفاوت قائل شوید
طرح/سیاست تخصیص آدرس IP
تحویل داده
آدرس های MAC و استفاده از آنها را بشناسید
محاسبه شناسه شبکه، آدرس پخش و اصلی بودن یک زیرشبکه
روابط بین روترهای L3 و زیرشبکه ها را درک کنید
پیوندهای نقطه به نقطه را درک کنید
لایه MAC و قوانین IP مربوط به رد/پذیرش بسته
آدرس های پخش
4. مفاهیم شبکه سازی لایه 2
روتر L3 به عنوان دروازه ای برای زیرشبکه
فیلدهای شناسه پروتکل در هر لایه
قالب سرصفحه اترنت
چگونه اترنت hdr مسیریابی L2 را ممکن می کند
ARP (پروتکل وضوح آدرس)
جمعیت جدول ARP و استفاده
عملکرد گام به گام پروتکل ARP
تکالیف در ARP
Switch Layer2 - نحوه عملکرد آن
جدول آدرس MAC
شرح گام به گام عملکرد سوئیچ L2
مشکل کوبیدن لایه
5. مفاهیم شبکه سازی لایه 3
رابطه بین مسیریابی Layer2 و Layer3
وابستگی دو لایه به یکدیگر را توضیح داد
پیکربندی جدول مسیریابی لایه 3
معناشناسی مسیر لایه 3
بررسی مسیر لایه 3
مفهوم تطابق طولانیترین پیشوند
سرصفحه IP - فیلدهایی که باید بدانید
عملیات لایه شبکه
شرح گام به گام مسیریابی مسیریابی L3
رابط Loopback - هدف و پیکربندی رابط Loopback
تمرین بر روی نصب مسیر لایه 3، مسیریابی و ارسال ترافیک
BloadCast and Collision Domain
6. ساخت دینامیک جدول مسیریابی L3
فاز 1 - مدیریت پایگاه داده همسایگی
فاز 2 - ایجاد پایگاه داده وضعیت پیوند
فاز 3 - الگوریتم اول کوتاهترین مسیر
محاسبه جدول مسیریابی نهایی
7. شبکه های مجازی مجازی (VLAN)
شبکههای محلی و چرایی آنها امروز قدیمی شدهاند
VLAN - هدف
802.1Q VLAN hdr
قوانین برچسب گذاری Vlan
کلیدهای Vlan Aware L2
مسیریابی L2 مبتنی بر Vlan
سایر مزایای Vlan
8. روتر به Vlan Forwarding
تلفیق رابط های SVI
SVI - VLAN Binding
روتر به Vlan Forwarding - گام به گام
9. مسیریابی Inter Vlan
فرآیند دو مرحله ای
از Src host Machine به مسیریاب Gateway L3
از روتر Gateway L3 به دستگاه میزبان Dst
تمرین و مثالهای بیشتر
10. ابزارهای عیب یابی شبکه
پینگ چگونه کار می کند - شرح پروتکل ICMP
عیبیابی برنامههای کاربردی شبکه - ping، wireshark، tcpdump
گرفتن بسته ها و بررسی محتویات آن با استفاده از tcpdump
11. لایه انتقال
اهداف لایه
تضاد لایه 2، لایه 3 و لایه 4 با هم
TCP و UDP - ویژگیهای دو پروتکل
TCP در مقابل UDP
درک جزئیات TCP
مفهوم انباشتگی سرصفحه ها
مفهوم شماره پورت
رابط تماس سیستم لینوکس
12. مفاهیم برنامه نویسی سوکت
طراحی برنامه نویسی سوکت
تماس سیستم
را انتخاب کنیدقبول تماس سیستم
مفهوم Multiplexing
دستگاه حالت سرور
13. لایه برنامه
روش های مختلف برای پیاده سازی سوکت ها
در لایه بالای انتقال
در بالای لایه شبکه
در لایه پیوند بالای داده
طراحی وب سرور HTTP از ابتدا
اجرای وب سرور HTTP
سوکت های برنامه سفارشی
14. سیستم نام دامنه
DNS چیست؟
معماری و طراحی DNS
FQDN
میزبانی وب سایت
تحلیل کننده DNS
انواع پرس و جو DNS
پرسش تکراری
پرسمان DNS بازگشتی
پرسمان DNS معکوس
خلاصه
15. کپسولهسازی/تونلسازی IP-in-IP
درپوش IP-in-IP چیست؟
چرا به کپسولاسیون IP-in-IP نیاز داریم؟
بسته کپسوله شده چگونه در شبکه مسیریابی می شود؟
دو سناریو با استفاده از IP-in-IP Encapsulation
16. مفهوم TLVs
TLV چیست
چرا به TLV نیاز داریم
نوشتن رمزگشا TLV
مزایای TLV در ارتباطات شبکه
STREAMS - ساختار داده
سریالسازی TLV با استفاده از STREAMS
**آزمایی حسابرسی**
2 آگوست 2020 - اضافه شدن بخش ساخت پویا جدول مسیریابی L3
14 ژوئن 2019 - بخش اضافه شده در TCP
06 اکتبر 2018 - اضافه شدن بخش 6 در VLAN
07 سپتامبر 2018 - اضافه شدن بخش 11، سیستم نام دامنه
13 ژوئیه 2018 - اضافه شدن بخش 12، کپسولسازی/تونلسازی IP-in-IP
17 ژوئن 2018 - اضافه شدن بخش 10، لایه برنامه و اجرای طراحی وب سرور HTTP
10 ژوئن 2018 - اضافه شدن بخش 15، مفهوم TLVs
نمایش نظرات