خب خب خب لایه فیزیکی (Physical Layer) در مدل OSI 🔌
لایه فیزیکی اولین و پایینترین لایه تو مدل OSI هست که کارش انتقال بیتهای خام (0 و 1) از یه دستگاه به دستگاه دیگه از طریق رسانههای فیزیکیه. این لایه کاملاً با سختافزار سروکار داره و اصلاً سراغ مفاهیمی مثل داده، پروتکلها یا بستههای اطلاعاتی نمیره؛ فقط حواسش به انتقال سیگنالهای الکتریکی، نوری یا رادیوییه.
وظایف لایه فیزیکی 🛠️
1⃣ انتقال بیتها
وظیفه اصلی این لایه اینه که بیتها (1 و 0) رو به سیگنالهایی که میشه از طریق رسانههای مختلف فرستاد، تبدیل کنه. مثلاً:
2⃣ تعریف مشخصات رسانههای انتقال
این لایه مشخص میکنه چه نوع رسانهای (مثل کابل کواکسیال، فیبر نوری، یا امواج رادیویی) باید استفاده بشه. مثلاً:
3⃣ اینکدینگ (Encoding) و مدولاسیون (Modulation)
اینکدینگ (Encoding):
بیتها رو به قالبی تبدیل میکنه که مناسب انتقال باشه. مثلاً تو کابلهای مسی از کدگذاری Manchester استفاده میشه.
مدولاسیون (Modulation):
سیگنال دیجیتال رو به سیگنال آنالوگ تبدیل میکنه تا بشه رو بعضی رسانهها امواج رادیویی فرستاد.
4⃣ نرخ انتقال داده (Data Rate):
این لایه نرخ انتقال داده (Data Rate) یا پهنای باند رو تعیین میکنه که بر حسب بیت بر ثانیه (bps) اندازهگیری میشه.
5⃣ سینکرونسازی (Synchronization)
لایه فیزیکی حواسش هست که فرستنده و گیرنده هماهنگ باشن تا دادهها درست تفسیر بشن.
6⃣ کنترل خطاهای فیزیکی
خطاهایی که ممکنه به خاطر نویز، تداخل الکترومغناطیسی یا مشکلات سختافزاری پیش بیاد، تو این لایه شناسایی و در صورت امکان رفع میشه.
رسانههای انتقال در لایه فیزیکی 🌐
1⃣ رسانههای سیمی (Wired Media)
کابل کواکسیال (Coaxial Cable):
این کابل تو تلویزیونهای کابلی و شبکههای قدیمی کاربرد داشته. سیگنالها به صورت الکتریکی منتقل میشن.
Twisted Pair Cable:
این کابل تو شبکههای تلفنی و اترنت (Ethernet) رایجه. سیمها برای کاهش تداخل، به هم تابیده شدهان.
فیبر نوری (Fiber Optic):
دادهها رو به صورت سیگنالهای نوری منتقل میکنه و سرعت و بردش از کابلهای مسی بیشتره.
2⃣ رسانههای بیسیم (Wireless Media)
امواج رادیویی (Radio Waves):
برای انتقال داده تو شبکههای Wi-Fi یا بلوتوث استفاده میشه.
امواج مایکروویو (Microwaves):
برای ارتباطات راه دور مثل بین برجهای مخابراتی استفاده میشه.
دستگاههای فعال در لایه فیزیکی 🖥️
هاب (Hub):
یه دستگاه ساده که دادهها رو از یه پورت میگیره و به همه پورتهای دیگه میفرسته.
تقویتکننده (Repeater):
سیگنالهای ضعیف شده رو تقویت میکنه تا مسافت بیشتری رو طی کنن.
مودم (Modem):
دادههای دیجیتال رو به سیگنالهای آنالوگ تبدیل میکنه و برعکس.
روتر (Router):
روتر تو لایه شبکه کار میکنه ولی سختافزاری با لایه فیزیکی سروکار داره.
سوئیچ (Switch):
بیشتر تو لایه دوم کار میکنه ولی با لایه فیزیکی برای انتقال دادهها تو رسانهها در تماسه.
نتیجهگیری ✍
لایه فیزیکی پایه و اساس کل شبکهست. وظیفه اصلیش اینه که بیتها رو به سیگنال تبدیل کنه و از طریق رسانههای مختلف بفرسته. اگه این لایه رو خوب درک کنی، راحتتر میتونی مشکلات سختافزاری یا انتقال داده رو پیدا و رفع کنی.
➖➖➖➖➖➖➖➖➖
لایه فیزیکی اولین و پایینترین لایه تو مدل OSI هست که کارش انتقال بیتهای خام (0 و 1) از یه دستگاه به دستگاه دیگه از طریق رسانههای فیزیکیه. این لایه کاملاً با سختافزار سروکار داره و اصلاً سراغ مفاهیمی مثل داده، پروتکلها یا بستههای اطلاعاتی نمیره؛ فقط حواسش به انتقال سیگنالهای الکتریکی، نوری یا رادیوییه.
وظایف لایه فیزیکی 🛠️
1⃣ انتقال بیتها
وظیفه اصلی این لایه اینه که بیتها (1 و 0) رو به سیگنالهایی که میشه از طریق رسانههای مختلف فرستاد، تبدیل کنه. مثلاً:
سیگنالهای الکتریکی تو کابلهای مسی.
سیگنالهای نوری تو فیبر نوری.
امواج رادیویی تو شبکههای وایرلس.
2⃣ تعریف مشخصات رسانههای انتقال
این لایه مشخص میکنه چه نوع رسانهای (مثل کابل کواکسیال، فیبر نوری، یا امواج رادیویی) باید استفاده بشه. مثلاً:
نوع و طول کابل.
چقدر سیگنال تو طول کابل ضعیف میشه.
مشخصات کانکتورها.
3⃣ اینکدینگ (Encoding) و مدولاسیون (Modulation)
لایه فیزیکی بیتها رو به سیگنالهای فیزیکی (مثل ولتاژ، نور یا امواج رادیویی) تبدیل میکنه:
اینکدینگ (Encoding):
بیتها رو به قالبی تبدیل میکنه که مناسب انتقال باشه. مثلاً تو کابلهای مسی از کدگذاری Manchester استفاده میشه.
مدولاسیون (Modulation):
سیگنال دیجیتال رو به سیگنال آنالوگ تبدیل میکنه تا بشه رو بعضی رسانهها امواج رادیویی فرستاد.
4⃣ نرخ انتقال داده (Data Rate):
این لایه نرخ انتقال داده (Data Rate) یا پهنای باند رو تعیین میکنه که بر حسب بیت بر ثانیه (bps) اندازهگیری میشه.
5⃣ سینکرونسازی (Synchronization)
لایه فیزیکی حواسش هست که فرستنده و گیرنده هماهنگ باشن تا دادهها درست تفسیر بشن.
6⃣ کنترل خطاهای فیزیکی
خطاهایی که ممکنه به خاطر نویز، تداخل الکترومغناطیسی یا مشکلات سختافزاری پیش بیاد، تو این لایه شناسایی و در صورت امکان رفع میشه.
رسانههای انتقال در لایه فیزیکی 🌐
1⃣ رسانههای سیمی (Wired Media)
کابل کواکسیال (Coaxial Cable):
این کابل تو تلویزیونهای کابلی و شبکههای قدیمی کاربرد داشته. سیگنالها به صورت الکتریکی منتقل میشن.
مثال: اتصال تلویزیون به آنتن.
Twisted Pair Cable:
این کابل تو شبکههای تلفنی و اترنت (Ethernet) رایجه. سیمها برای کاهش تداخل، به هم تابیده شدهان.
مثال: کابل LAN مثل Cat5 یا Cat6.
فیبر نوری (Fiber Optic):
دادهها رو به صورت سیگنالهای نوری منتقل میکنه و سرعت و بردش از کابلهای مسی بیشتره.
مثال: اینترنت فیبر نوری.
2⃣ رسانههای بیسیم (Wireless Media)
امواج رادیویی (Radio Waves):
برای انتقال داده تو شبکههای Wi-Fi یا بلوتوث استفاده میشه.
مثال: مودم وایرلس.
امواج مایکروویو (Microwaves):
برای ارتباطات راه دور مثل بین برجهای مخابراتی استفاده میشه.
مثال: سیستمهای تلفن همراه.
دستگاههای فعال در لایه فیزیکی 🖥️
هاب (Hub):
یه دستگاه ساده که دادهها رو از یه پورت میگیره و به همه پورتهای دیگه میفرسته.
تقویتکننده (Repeater):
سیگنالهای ضعیف شده رو تقویت میکنه تا مسافت بیشتری رو طی کنن.
مودم (Modem):
دادههای دیجیتال رو به سیگنالهای آنالوگ تبدیل میکنه و برعکس.
مثال: مودمهای DSL.
روتر (Router):
روتر تو لایه شبکه کار میکنه ولی سختافزاری با لایه فیزیکی سروکار داره.
سوئیچ (Switch):
بیشتر تو لایه دوم کار میکنه ولی با لایه فیزیکی برای انتقال دادهها تو رسانهها در تماسه.
نتیجهگیری ✍
لایه فیزیکی پایه و اساس کل شبکهست. وظیفه اصلیش اینه که بیتها رو به سیگنال تبدیل کنه و از طریق رسانههای مختلف بفرسته. اگه این لایه رو خوب درک کنی، راحتتر میتونی مشکلات سختافزاری یا انتقال داده رو پیدا و رفع کنی.
#⃣ #network
➖➖➖➖➖➖➖➖➖
🥷 CHANNEL | GROUP
🔥9👍4❤2
Grokking_Relational_Database_Design-asbook.ir (3).pdf
29.6 MB
یکی از بچه ها توی گروه پرسید که چه منبعی برای Database design رو پیشنهاد میدی
منم کتاب Grokking Relational Database Design
رو پیشنهاد میدم که میتونید فایلشو رو دانلود کنید فقط یه نکته ای که هست این فایل کلا ۵ فصلشو داره از ۸ تا فصل(که همینم غیر رایگان خیلی سخت پیدا شد)
و میتونید اون سه تای دیگرو از این رپوی گیت هاب بخونید
➖➖➖➖➖➖➖➖➖
منم کتاب Grokking Relational Database Design
رو پیشنهاد میدم که میتونید فایلشو رو دانلود کنید فقط یه نکته ای که هست این فایل کلا ۵ فصلشو داره از ۸ تا فصل(که همینم غیر رایگان خیلی سخت پیدا شد)
و میتونید اون سه تای دیگرو از این رپوی گیت هاب بخونید
#⃣ #book
➖➖➖➖➖➖➖➖➖
🥷 CHANNEL | GROUP
❤16👎1
Ninja Learn | نینجا لرن
Grokking_Relational_Database_Design-asbook.ir (3).pdf
واقعا کتاب خوبیه و کلی چیز از طراحی دیتابیس یاد میگیرید.
اگه دوست داشته باشید میتونم بعدا براساس همین کتاب یکسری پست درست کنم
اگه دوست داشته باشید میتونم بعدا براساس همین کتاب یکسری پست درست کنم
🔥20👍4
بحث memory leak پیش اومد که تو پایتون چجوری هندل میشه و ایا توی پایتون مموری لیک داریم؟ و...
یه مقاله پیدا کردم که اینو خیلی خوب توضیح داده هم درمورد stack memory گفته هم درمورد Heap memory (البته کامل نگفته درحد نیاز برای درک مطلب)
پیشنهاد میدم حتما بخونیدش.
🔗 برای دیدن مقاله کلیک کن
➖➖➖➖➖➖➖➖➖
یه مقاله پیدا کردم که اینو خیلی خوب توضیح داده هم درمورد stack memory گفته هم درمورد Heap memory (البته کامل نگفته درحد نیاز برای درک مطلب)
پیشنهاد میدم حتما بخونیدش.
🔗 برای دیدن مقاله کلیک کن
#⃣ #reference
➖➖➖➖➖➖➖➖➖
🥷 CHANNEL | GROUP
wearecommunity.io
Memory Leak in Python Applications
❤14👍3
❤15
خب خب خب لایه پیوند دادهها (Data Link Layer) در مدل OSI 🔌
لایه پیوند دادهها، دومین لایه از مدل OSI، جاییه که بعد از لایه فیزیکی قرار میگیره و بیشتر با مسائل مربوط به "انتقال دادههای خام" سروکار داره. وظیفه اصلی این لایه، اینه که دادههایی که از لایه شبکه (Network Layer) دریافت کرده، به شکل منظم و با اطمینان بیشتر به لایه فیزیکی بفرسته، یا دادههایی که از لایه فیزیکی میگیره، برای لایه شبکه آماده کنه.
پس این لایه یه جور واسطه است که ارتباط مستقیم دستگاهها تو یه شبکه رو مدیریت میکنه. حالا بیایم دقیقتر و جزئیتر بررسی کنیم که چی کار میکنه.
👷♂ وظایف اصلی لایه پیوند دادهها
فریمبندی (Framing):
اولین کاری که این لایه انجام میده، "فریمبندی" دادههاست. یعنی دادههای خامی که از لایه شبکه میگیره رو تو قالب واحدهایی به نام "فریم" میریزه.
فریم شامل چند بخشه:
Header (سربرگ):
اطلاعات کنترلی مثل آدرس مبدأ و مقصد.
Payload (بار داده):
همون دادهای که میخوایم منتقل کنیم.
Trailer (پایاننامه):
بخشی که اطلاعاتی برای تشخیص خطا داره.
یه مثال ساده:
فرض کن داری یه نامه مینویسی. سربرگ میشه "نام و آدرس فرستنده و گیرنده"، بدنه نامه میشه داده اصلی، و یه امضا یا کد تأیید آخر نامه هم مثل Trailer عمل میکنه.
🖨 آدرسدهی سختافزاری (Hardware Addressing):
این لایه از آدرسهای سختافزاری یا همون آدرس MAC استفاده میکنه. آدرس MAC، یه آدرس یکتاست که به هر کارت شبکه اختصاص داده شده.
وقتی میخوایم دادهای به یه دستگاه خاص بفرستیم، آدرس MAC گیرنده و فرستنده تو فریم نوشته میشه.
مثال:
فرض کن داری یه بسته پستی ارسال میکنی. آدرس MAC مثل شماره پلاک یا کدپستی دقیق گیرندهست. اگه اشتباه باشه، بسته به مقصد نمیرسه.
📱 کنترل دسترسی به رسانه (Media Access Control):
وقتی چند دستگاه به یه رسانه مشترک (مثل کابل یا وایفای) وصلن، باید یه نظم و ترتیب واسه ارسال دادهها وجود داشته باشه. اینجاست که پروتکلهای کنترل دسترسی مثل CSMA/CD یا CSMA/CA وارد کار میشن.
⚙ CSMA/CD (Carrier Sense Multiple Access with Collision Detection):
تو شبکههای سیمی مثل اترنت، این پروتکل تصادف دادهها رو تشخیص میده و میذاره دوباره ارسال بشن.
🔩 CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance):
تو شبکههای بیسیم مثل Wi-Fi، بهجای تشخیص تصادف، از وقوعش جلوگیری میکنه.
مثال:
تو یه جلسه، اگه همه با هم حرف بزنن، کسی چیزی نمیفهمه. این پروتکلها مثل یه مجری عمل میکنن که اجازه میده هر بار یه نفر صحبت کنه.
⚠️ تشخیص و تصحیح خطا (Error Detection and Correction):
وقتی دادهها از لایه فیزیکی عبور میکنن، ممکنه نویز یا خرابی رخ بده. این لایه با استفاده از الگوریتمهایی مثل CRC (Cyclic Redundancy Check) خطاها رو تشخیص میده.
اگه خطا قابل تصحیح باشه، اصلاحش میکنه.
اگه نه، از فرستنده میخواد دوباره داده رو ارسال کنه.
مثال:
فرض کن یه جمله ناقص برات میاد:
"سلام، حال شما چطور؟؟" این لایه مثل یه ابزار عمل میکنه که میگه جمله کامل نیست و دوباره درخواست میکنه که کاملش کنن.
🎼 کنترل جریان (Flow Control):
اگه سرعت ارسال دادههای فرستنده بیشتر از توانایی پردازش گیرنده باشه، این لایه سرعت رو تنظیم میکنه تا گیرنده غرق نشه.
مثال:
فرض کن داری تو چت پیام میدی ولی دوستت سرعت خوندنش پایینه. این لایه مثل اینه که بهت بگه:
"صبر کن، پیام قبلی هنوز خونده نشده!"
زیرلایههای لایه پیوند دادهها
لایه پیوند دادهها خودش به دو زیرلایه تقسیم میشه:
📰 کنترل دسترسی به رسانه فیزیکی (Media Access Control - MAC):
مدیریت ارسال داده به رسانه فیزیکی.
وظایف مربوط به آدرسدهی MAC و جلوگیری از تصادف دادهها.
🖇 کنترل اتصال منطقی (Logical Link Control - LLC):
وظایف مربوط به مدیریت ارتباط بین دستگاهها.
مثل هماهنگی فریمها و کنترل خطا.
دستگاههایی که تو این لایه کار میکنن
سوئیچ (Switch):
سوئیچ یه دستگاهه که آدرس MAC هر دستگاه تو شبکه رو یاد میگیره و وقتی یه فریم دریافت میکنه، اون رو فقط به مقصد درستش میفرسته.
پل (Bridge):
پل شبکه رو به بخشهای کوچیکتر تقسیم میکنه و فریمها رو بین این بخشها جابهجا میکنه.
انواع ارتباطات در لایه پیوند دادهها
تکپخشی (Unicast):
فریم فقط به یه دستگاه مشخص ارسال میشه.
چندپخشی (Multicast):
فریم به یه گروه خاص از دستگاهها ارسال میشه.
همگانی (Broadcast):
فریم به همه دستگاههای موجود تو شبکه ارسال میشه.
رسانههای انتقال در این لایه
سیمی: کابل کواکسیال، زوج بههم تابیده، فیبر نوری.
بیسیم: امواج رادیویی، مایکروویو.
اگه برات مفید بود با ریکشن و شیر از من حمایت کن 😊
➖➖➖➖➖➖➖➖➖
لایه پیوند دادهها، دومین لایه از مدل OSI، جاییه که بعد از لایه فیزیکی قرار میگیره و بیشتر با مسائل مربوط به "انتقال دادههای خام" سروکار داره. وظیفه اصلی این لایه، اینه که دادههایی که از لایه شبکه (Network Layer) دریافت کرده، به شکل منظم و با اطمینان بیشتر به لایه فیزیکی بفرسته، یا دادههایی که از لایه فیزیکی میگیره، برای لایه شبکه آماده کنه.
پس این لایه یه جور واسطه است که ارتباط مستقیم دستگاهها تو یه شبکه رو مدیریت میکنه. حالا بیایم دقیقتر و جزئیتر بررسی کنیم که چی کار میکنه.
👷♂ وظایف اصلی لایه پیوند دادهها
فریمبندی (Framing):
اولین کاری که این لایه انجام میده، "فریمبندی" دادههاست. یعنی دادههای خامی که از لایه شبکه میگیره رو تو قالب واحدهایی به نام "فریم" میریزه.
فریم شامل چند بخشه:
Header (سربرگ):
اطلاعات کنترلی مثل آدرس مبدأ و مقصد.
Payload (بار داده):
همون دادهای که میخوایم منتقل کنیم.
Trailer (پایاننامه):
بخشی که اطلاعاتی برای تشخیص خطا داره.
یه مثال ساده:
فرض کن داری یه نامه مینویسی. سربرگ میشه "نام و آدرس فرستنده و گیرنده"، بدنه نامه میشه داده اصلی، و یه امضا یا کد تأیید آخر نامه هم مثل Trailer عمل میکنه.
🖨 آدرسدهی سختافزاری (Hardware Addressing):
این لایه از آدرسهای سختافزاری یا همون آدرس MAC استفاده میکنه. آدرس MAC، یه آدرس یکتاست که به هر کارت شبکه اختصاص داده شده.
وقتی میخوایم دادهای به یه دستگاه خاص بفرستیم، آدرس MAC گیرنده و فرستنده تو فریم نوشته میشه.
مثال:
فرض کن داری یه بسته پستی ارسال میکنی. آدرس MAC مثل شماره پلاک یا کدپستی دقیق گیرندهست. اگه اشتباه باشه، بسته به مقصد نمیرسه.
📱 کنترل دسترسی به رسانه (Media Access Control):
وقتی چند دستگاه به یه رسانه مشترک (مثل کابل یا وایفای) وصلن، باید یه نظم و ترتیب واسه ارسال دادهها وجود داشته باشه. اینجاست که پروتکلهای کنترل دسترسی مثل CSMA/CD یا CSMA/CA وارد کار میشن.
⚙ CSMA/CD (Carrier Sense Multiple Access with Collision Detection):
تو شبکههای سیمی مثل اترنت، این پروتکل تصادف دادهها رو تشخیص میده و میذاره دوباره ارسال بشن.
🔩 CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance):
تو شبکههای بیسیم مثل Wi-Fi، بهجای تشخیص تصادف، از وقوعش جلوگیری میکنه.
مثال:
تو یه جلسه، اگه همه با هم حرف بزنن، کسی چیزی نمیفهمه. این پروتکلها مثل یه مجری عمل میکنن که اجازه میده هر بار یه نفر صحبت کنه.
⚠️ تشخیص و تصحیح خطا (Error Detection and Correction):
وقتی دادهها از لایه فیزیکی عبور میکنن، ممکنه نویز یا خرابی رخ بده. این لایه با استفاده از الگوریتمهایی مثل CRC (Cyclic Redundancy Check) خطاها رو تشخیص میده.
اگه خطا قابل تصحیح باشه، اصلاحش میکنه.
اگه نه، از فرستنده میخواد دوباره داده رو ارسال کنه.
مثال:
فرض کن یه جمله ناقص برات میاد:
"سلام، حال شما چطور؟؟" این لایه مثل یه ابزار عمل میکنه که میگه جمله کامل نیست و دوباره درخواست میکنه که کاملش کنن.
🎼 کنترل جریان (Flow Control):
اگه سرعت ارسال دادههای فرستنده بیشتر از توانایی پردازش گیرنده باشه، این لایه سرعت رو تنظیم میکنه تا گیرنده غرق نشه.
مثال:
فرض کن داری تو چت پیام میدی ولی دوستت سرعت خوندنش پایینه. این لایه مثل اینه که بهت بگه:
"صبر کن، پیام قبلی هنوز خونده نشده!"
زیرلایههای لایه پیوند دادهها
لایه پیوند دادهها خودش به دو زیرلایه تقسیم میشه:
📰 کنترل دسترسی به رسانه فیزیکی (Media Access Control - MAC):
مدیریت ارسال داده به رسانه فیزیکی.
وظایف مربوط به آدرسدهی MAC و جلوگیری از تصادف دادهها.
🖇 کنترل اتصال منطقی (Logical Link Control - LLC):
وظایف مربوط به مدیریت ارتباط بین دستگاهها.
مثل هماهنگی فریمها و کنترل خطا.
دستگاههایی که تو این لایه کار میکنن
سوئیچ (Switch):
سوئیچ یه دستگاهه که آدرس MAC هر دستگاه تو شبکه رو یاد میگیره و وقتی یه فریم دریافت میکنه، اون رو فقط به مقصد درستش میفرسته.
پل (Bridge):
پل شبکه رو به بخشهای کوچیکتر تقسیم میکنه و فریمها رو بین این بخشها جابهجا میکنه.
انواع ارتباطات در لایه پیوند دادهها
تکپخشی (Unicast):
فریم فقط به یه دستگاه مشخص ارسال میشه.
چندپخشی (Multicast):
فریم به یه گروه خاص از دستگاهها ارسال میشه.
همگانی (Broadcast):
فریم به همه دستگاههای موجود تو شبکه ارسال میشه.
رسانههای انتقال در این لایه
سیمی: کابل کواکسیال، زوج بههم تابیده، فیبر نوری.
بیسیم: امواج رادیویی، مایکروویو.
اگه برات مفید بود با ریکشن و شیر از من حمایت کن 😊
#⃣#network
➖➖➖➖➖➖➖➖➖
🥷 CHANNEL | GROUP
👍16❤1🔥1
Ninja Learn | نینجا لرن
خب خب خب لایه پیوند دادهها (Data Link Layer) در مدل OSI 🔌 لایه پیوند دادهها، دومین لایه از مدل OSI، جاییه که بعد از لایه فیزیکی قرار میگیره و بیشتر با مسائل مربوط به "انتقال دادههای خام" سروکار داره. وظیفه اصلی این لایه، اینه که دادههایی که از لایه شبکه…
دوستان حتما پستایی که درمورد شبکه میزارم رو بخونید.
واقعا اطلاعاتتون درمورد شبکه (به اندازه نیاز)
بالا میره و خیلی چیزارو راحت تر درک میکنید
واقعا اطلاعاتتون درمورد شبکه (به اندازه نیاز)
بالا میره و خیلی چیزارو راحت تر درک میکنید
👍6
پکیجی که بهتازگی باهاش آشنا شدم و تو یکی از پروژههام استفاده کردم، dnspython بود.
خلاصه بخوام بگم، این پکیج بهتون اجازه میده با DNS کار کنید.
من ازش برای این استفاده کردم که موقع ارسال درخواست (request) به یک دامین، رکورد DNS خاصی رو روی اون درخواست ست کنم. با استفاده از این پکیج میتونید بهراحتی کنترل کاملی روی DNS داشته باشید و درخواستها رو دقیقا همونجوری که میخواید تنظیم کنید و... بقیشو تو داکیومنت توضیح داده.
➖➖➖➖➖➖➖➖➖
خلاصه بخوام بگم، این پکیج بهتون اجازه میده با DNS کار کنید.
من ازش برای این استفاده کردم که موقع ارسال درخواست (request) به یک دامین، رکورد DNS خاصی رو روی اون درخواست ست کنم. با استفاده از این پکیج میتونید بهراحتی کنترل کاملی روی DNS داشته باشید و درخواستها رو دقیقا همونجوری که میخواید تنظیم کنید و... بقیشو تو داکیومنت توضیح داده.
https://dnspython.readthedocs.io/en/latest/resolver-class.html
#⃣#reference
➖➖➖➖➖➖➖➖➖
🥷 CHANNEL | GROUP
👍11❤1
Forwarded from Agora (Alireza Azadi)
This media is not supported in your browser
VIEW IN TELEGRAM
…Golang, you know what I mean? If you fart and it stinks, they're gonna smell it and they're gonna say something about that
🤣8
Ninja Learn | نینجا لرن
یکی از بهترین عکسایی که برای توضیح خلاصه این ۷ لایه میشه دید پست مدل OSI #⃣ #network ➖➖➖➖➖➖➖➖➖ 🥷 CHANNEL | GROUP
پست فردا درمورد لایه سومه (Network)
و مطمئنم که همتون خوشتون میاد از این لایه چیزای جذابی برای گفتن داره
و مطمئنم که همتون خوشتون میاد از این لایه چیزای جذابی برای گفتن داره
🔥9
Ninja Learn | نینجا لرن
تا حالا کلی مطالب خفن و کاربردی تو کانال NinjaLearn براتون آماده کردیم و الان صدها مطلب مختلف و جذاب داریم. از اونجایی که مطالب کانال خیلی متنوع و زیاد شده، تصمیم گرفتیم یه دستهبندی مرتب و منظم برای همهی پستها داشته باشیم تا شما عزیزان راحتتر بتونید محتوای…
دوستانیم که تازه تشریف اوردید کانال (خیلی خوش اومدید ❤️)
حتما این دسته بندی کانال رو مطالعه کنید که از مطالب قبلی کانال استفاده ببرید 😉
حتما این دسته بندی کانال رو مطالعه کنید که از مطالب قبلی کانال استفاده ببرید 😉
Telegram
Ninja Learn | نینجا لرن
تا حالا کلی مطالب خفن و کاربردی تو کانال NinjaLearn براتون آماده کردیم و الان صدها مطلب مختلف و جذاب داریم.
از اونجایی که مطالب کانال خیلی متنوع و زیاد شده، تصمیم گرفتیم یه دستهبندی مرتب و منظم برای همهی پستها داشته باشیم تا شما عزیزان راحتتر بتونید…
از اونجایی که مطالب کانال خیلی متنوع و زیاد شده، تصمیم گرفتیم یه دستهبندی مرتب و منظم برای همهی پستها داشته باشیم تا شما عزیزان راحتتر بتونید…
❤8
🌐 خب خب خب لایه شبکه (Network Layer) در مدل OSI
لایه شبکه، سومین لایه از مدل OSI، مسئول انتقال دادهها بین شبکههای مختلفه. این لایه کاری میکنه که دادهها از یه مبدأ به مقصد مشخص (تو هر گوشه دنیا) برسن، بدون این که مسیر و راهش گم بشه. این لایه مثل یه سیستم حملونقل بزرگ عمل میکنه که بستههای اطلاعاتی رو از یه نقطه به نقطه دیگه منتقل میکنه. بیاین جزئیاتش رو مرحلهبهمرحله بررسی کنیم. 🚀
📍 وظایف اصلی لایه شبکه
🧭 آدرسدهی منطقی (Logical Addressing):
هر دستگاه تو شبکه یه آدرس منحصربهفرد داره که بهش آدرس IP میگن. این آدرس مشخص میکنه دادهها باید دقیقاً به کجا برن.
مثال:
وقتی دادهها باید از یه شبکه به شبکه دیگه برن، این لایه تصمیم میگیره که از چه مسیری برن تا سریعتر و مطمئنتر به مقصد برسن.
نقش روترها:
دستگاههای روتر تو این مرحله خیلی مهمن. روترها با بررسی آدرسهای IP، بهترین مسیر رو برای انتقال داده پیدا میکنن.
مثال:
دادههایی که از لایه انتقال (Transport Layer) میان، به بخشهای کوچیکتری به اسم پکت (Packet) تقسیم میشن. هر پکت شامل اطلاعات زیره:
🔍 مثال:
اگه یه شبکه شلوغ بشه و دادهها نتونن به موقع منتقل بشن، این لایه کمک میکنه ترافیک مدیریت بشه.
مثال:
گاهی وقتا دادهها بزرگتر از ظرفیت انتقال یه شبکه هستن. این لایه دادهها رو به قطعات کوچیکتر تقسیم میکنه و وقتی به مقصد رسید، دوباره به هم وصلشون میکنه.
مثال:
IPv4 (Internet Protocol Version 4):
پرکاربردترین پروتکل برای آدرسدهی و مسیریابی.
از آدرسهای ۳۲ بیتی استفاده میکنه (مثلاً: 192.168.1.1).
IPv6 (Internet Protocol Version 6):
نسخه جدیدتر IPv4 که ظرفیت بیشتری برای آدرسدهی داره (۱۲۸ بیتی).
مشکل کمبود آدرسهای IPv4 رو حل کرده.
ICMP (Internet Control Message Protocol):
برای ارسال پیامهای کنترلی (مثل خطاها) و تست شبکه (مثل ابزار Ping).
ARP (Address Resolution Protocol):
تبدیل آدرس IP به آدرس فیزیکی (MAC Address).
🔄 انواع ارتباطات تو لایه شبکه
تکپخشی (Unicast):
ارسال پکت فقط به یه مقصد خاص.
مثال: ارسال ایمیل به مدحج.
چندپخشی (Multicast):
ارسال پکت به گروهی از دستگاهها.
مثال: استریم زنده یه بازی برای چند کاربر خاص.
همگانی (Broadcast):
ارسال پکت به همه دستگاههای یه شبکه.
مثال: اعلام عمومی پیام تو یه گروه چت.
🎯 جمع بندی
لایه شبکه یه پل حیاتی بین دستگاهها تو شبکههای مختلفه. این لایه مطمئن میشه که هر پکت به موقع و بدون اشتباه به مقصدش برسه. با وظایفی مثل مسیریابی، آدرسدهی، و کنترل ترافیک، این لایه ستون فقرات اینترنت و شبکههای مدرنه. بدون لایه شبکه، ارتباطات جهانی غیرممکن بودن 🌍
➖➖➖➖➖➖➖➖➖
لایه شبکه، سومین لایه از مدل OSI، مسئول انتقال دادهها بین شبکههای مختلفه. این لایه کاری میکنه که دادهها از یه مبدأ به مقصد مشخص (تو هر گوشه دنیا) برسن، بدون این که مسیر و راهش گم بشه. این لایه مثل یه سیستم حملونقل بزرگ عمل میکنه که بستههای اطلاعاتی رو از یه نقطه به نقطه دیگه منتقل میکنه. بیاین جزئیاتش رو مرحلهبهمرحله بررسی کنیم. 🚀
📍 وظایف اصلی لایه شبکه
🧭 آدرسدهی منطقی (Logical Addressing):
هر دستگاه تو شبکه یه آدرس منحصربهفرد داره که بهش آدرس IP میگن. این آدرس مشخص میکنه دادهها باید دقیقاً به کجا برن.
مثال:
فرض کن میخوای یه بسته پستی ارسال کنی. بدون داشتن آدرس خونه مقصد، عملاً ارسال بسته غیرممکنه. تو شبکه هم آدرس IP دقیقاً مثل آدرس خونه عمل میکنه.🛣️ مسیریابی (Routing):
وقتی دادهها باید از یه شبکه به شبکه دیگه برن، این لایه تصمیم میگیره که از چه مسیری برن تا سریعتر و مطمئنتر به مقصد برسن.
نقش روترها:
دستگاههای روتر تو این مرحله خیلی مهمن. روترها با بررسی آدرسهای IP، بهترین مسیر رو برای انتقال داده پیدا میکنن.
مثال:
فرض کن داری از تهران به اصفهان سفر میکنی. چند مسیر مختلف هست، ولی تو کوتاهترین و کمترافیکترین جاده رو انتخاب میکنی. لایه شبکه همین کارو برای دادهها انجام میده📦 بستهبندی دادهها (Packetization):
دادههایی که از لایه انتقال (Transport Layer) میان، به بخشهای کوچیکتری به اسم پکت (Packet) تقسیم میشن. هر پکت شامل اطلاعات زیره:
آدرس مبدأ: دستگاهی که داده رو ارسال کرده.
آدرس مقصد: جایی که داده باید بره.
داده اصلی: همون اطلاعاتی که باید منتقل بشه.
اطلاعات کنترلی: برای اطمینان از انتقال درست داده.
🔍 مثال:
فرض کن میخوای یه پیتزای بزرگ رو با دوستات بخوری، ولی ظرفت کوچیکه.🚦 کنترل تراکم (Congestion Control):
پیتزا رو به برشهای کوچیک تقسیم میکنی و هر برش رو جداگونه میفرستی.
اگه یه شبکه شلوغ بشه و دادهها نتونن به موقع منتقل بشن، این لایه کمک میکنه ترافیک مدیریت بشه.
مثال:
فرض کن تو صف یه سوپرمارکت شلوغی. فروشنده سعی میکنه با اضافه کردن صندوقدار بیشتر، صف رو کوتاهتر کنه. لایه شبکه هم همین طور ترافیک شبکه رو کنترل میکنه.🔧 تکهتکه کردن و دوبارهسازی (Fragmentation and Reassembly):
گاهی وقتا دادهها بزرگتر از ظرفیت انتقال یه شبکه هستن. این لایه دادهها رو به قطعات کوچیکتر تقسیم میکنه و وقتی به مقصد رسید، دوباره به هم وصلشون میکنه.
مثال:
فرض کن یه مبل بزرگ رو میخوای از در کوچیک خونه رد کنی. مبل رو باز میکنی، قطعاتش رو یکییکی رد میکنی و دوباره اونطرف سر هم میکنی.⚙️ پروتکلهای مهم لایه شبکه
IPv4 (Internet Protocol Version 4):
پرکاربردترین پروتکل برای آدرسدهی و مسیریابی.
از آدرسهای ۳۲ بیتی استفاده میکنه (مثلاً: 192.168.1.1).
IPv6 (Internet Protocol Version 6):
نسخه جدیدتر IPv4 که ظرفیت بیشتری برای آدرسدهی داره (۱۲۸ بیتی).
مشکل کمبود آدرسهای IPv4 رو حل کرده.
ICMP (Internet Control Message Protocol):
برای ارسال پیامهای کنترلی (مثل خطاها) و تست شبکه (مثل ابزار Ping).
ARP (Address Resolution Protocol):
تبدیل آدرس IP به آدرس فیزیکی (MAC Address).
🔄 انواع ارتباطات تو لایه شبکه
تکپخشی (Unicast):
ارسال پکت فقط به یه مقصد خاص.
مثال: ارسال ایمیل به مدحج.
چندپخشی (Multicast):
ارسال پکت به گروهی از دستگاهها.
مثال: استریم زنده یه بازی برای چند کاربر خاص.
همگانی (Broadcast):
ارسال پکت به همه دستگاههای یه شبکه.
مثال: اعلام عمومی پیام تو یه گروه چت.
🎯 جمع بندی
لایه شبکه یه پل حیاتی بین دستگاهها تو شبکههای مختلفه. این لایه مطمئن میشه که هر پکت به موقع و بدون اشتباه به مقصدش برسه. با وظایفی مثل مسیریابی، آدرسدهی، و کنترل ترافیک، این لایه ستون فقرات اینترنت و شبکههای مدرنه. بدون لایه شبکه، ارتباطات جهانی غیرممکن بودن 🌍
#⃣ #network
➖➖➖➖➖➖➖➖➖
🥷 CHANNEL | GROUP
👍13🔥2❤1
پست بعدی راجب لایه ۴ مدل OSI هست
لامسب انقدر که مبحث داره نمیدونم همشو بگم براتون یانه ( دوسه تا پست میشه فقط راجب لایه ۴)
لامسب انقدر که مبحث داره نمیدونم همشو بگم براتون یانه ( دوسه تا پست میشه فقط راجب لایه ۴)
❤16👍5
لایه ۴: لایه انتقال (Transport Layer) 🚛
لایه Transport یکی از مهمترین بخشهای مدل OSI هست که وظیفه مدیریت انتقال داده بین دستگاهها و اطمینان از ارتباط پایدار و مؤثر رو بر عهده داره. این لایه تضمین میکنه که دادهها به درستی به مقصد برسن، ترتیبشون حفظ بشه، و در صورت وجود خطا، اصلاح بشن.
وظایف اصلی لایه انتقال ✅
📦 تقسیمبندی دادهها (Segmentation):
وقتی اپلیکیشنی قصد ارسال داده داره، این دادهها به قطعات کوچکتری به نام سگمنت تقسیم میشن. هر سگمنت یک هدر مخصوص داره که شامل اطلاعاتی مثل شماره ترتیبی و آدرس پورت میشه.
🧩 بازسازی دادهها (Reassembly):
در مقصد، لایه انتقال سگمنتها رو با استفاده از شماره ترتیبی که در هدرشون ذخیره شده، به ترتیب کنار هم قرار میده و داده اصلی رو بازسازی میکنه.
⚠️ کنترل خطا (Error Control):
لایه انتقال با استفاده از تکنیکهایی مثل Checksum صحت دادهها رو بررسی میکنه. اگه خطایی در دادهها تشخیص داده بشه، درخواست ارسال مجدد سگمنت انجام میشه.
🚦 کنترل جریان (Flow Control):
وقتی فرستنده سریعتر از گیرنده داده ارسال میکنه، ممکنه گیرنده دچار مشکل بشه. لایه انتقال سرعت ارسال رو با استفاده از Sliding Window تنظیم میکنه.
🔗 مدیریت ارتباط (Connection Management):
لایه انتقال میتونه ارتباط رو به دو صورت Connection-Oriented (مانند TCP) یا Connectionless (مانند UDP) مدیریت کنه. در ارتباطات Connection-Oriented، قبل از ارسال دادهها یک ارتباط پایدار برقرار میشه.
پروتکلهای کلیدی در لایه انتقال
TCP (Transmission Control Protocol):
💡 TCP یک پروتکل Connection-Oriented و Reliable هست که برای ارتباطات حساس به دقت استفاده میشه.
ویژگیهای کلیدی:
ارتباط مبتنی بر اتصال:
SYN: درخواست اتصال از فرستنده.
SYN-ACK: پاسخ گیرنده.
ACK: تأیید فرستنده.
شمارهگذاری سگمنتها:
🔢 TCP به هر سگمنت یک شماره منحصربهفرد اختصاص میده تا دادهها در مقصد به درستی بازسازی بشن.
کنترل جریان:
با استفاده از Sliding Window، TCP حجم دادهای که میتونه ارسال بشه رو تنظیم میکنه.
کنترل خطا:
با استفاده از Checksum و Acknowledgment صحت دادهها بررسی و تضمین میشه.
UDP (User Datagram Protocol):
⚡ UDP یک پروتکل Connectionless و Unreliable هست که برای ارتباطات سریع طراحی شده.
ویژگیهای کلیدی:
بدون اتصال:
UDP دادهها رو بدون ایجاد ارتباط پایدار ارسال میکنه.
بدون تضمین تحویل:
❌ اگه دادهای گم بشه یا خراب بشه، UDP هیچ تضمینی برای ارسال مجدد نداره.
سرعت بالا:
چون کنترل جریان یا تصحیح خطا نداره، سرعت انتقال بالاتره.
🎛 پورتها و شمارهگذاری در لایه انتقال
پورتها اعدادی ۱۶بیتی هستن که ارتباط بین اپلیکیشنها و دستگاهها رو مدیریت میکنن.
پورتهای شناختهشده (Well-Known Ports):
📌 این پورتها اعداد بین ۰ تا ۱۰۲۳ هستن و به پروتکلهای معروف اختصاص داده شدن.
HTTP: پورت 80
HTTPS: پورت 443
FTP: پورت 21
پورتهای رجیسترشده (Registered Ports):
🔒 اعداد بین ۱۰۲۴ تا ۴۹۱۵۱ که برای اپلیکیشنهای خاص رزرو میشن.
پورتهای داینامیک (Dynamic Ports):
🔄 اعداد بین ۴۹۱۵۲ تا ۶۵۵۳۵ که برای ارتباطات موقت استفاده میشن.
جمعبندی ✍
لایه Transport نقش حیاتی در تضمین انتقال دادهها بین دستگاهها داره. انتخاب پروتکل مناسب به نیازهای اپلیکیشن شما بستگی داره:
TCP برای ارتباطات حساس به دقت.
UDP برای ارتباطات حساس به سرعت.
➖➖➖➖➖➖➖➖➖
لایه Transport یکی از مهمترین بخشهای مدل OSI هست که وظیفه مدیریت انتقال داده بین دستگاهها و اطمینان از ارتباط پایدار و مؤثر رو بر عهده داره. این لایه تضمین میکنه که دادهها به درستی به مقصد برسن، ترتیبشون حفظ بشه، و در صورت وجود خطا، اصلاح بشن.
وظایف اصلی لایه انتقال ✅
📦 تقسیمبندی دادهها (Segmentation):
وقتی اپلیکیشنی قصد ارسال داده داره، این دادهها به قطعات کوچکتری به نام سگمنت تقسیم میشن. هر سگمنت یک هدر مخصوص داره که شامل اطلاعاتی مثل شماره ترتیبی و آدرس پورت میشه.
🧩 بازسازی دادهها (Reassembly):
در مقصد، لایه انتقال سگمنتها رو با استفاده از شماره ترتیبی که در هدرشون ذخیره شده، به ترتیب کنار هم قرار میده و داده اصلی رو بازسازی میکنه.
⚠️ کنترل خطا (Error Control):
لایه انتقال با استفاده از تکنیکهایی مثل Checksum صحت دادهها رو بررسی میکنه. اگه خطایی در دادهها تشخیص داده بشه، درخواست ارسال مجدد سگمنت انجام میشه.
🚦 کنترل جریان (Flow Control):
وقتی فرستنده سریعتر از گیرنده داده ارسال میکنه، ممکنه گیرنده دچار مشکل بشه. لایه انتقال سرعت ارسال رو با استفاده از Sliding Window تنظیم میکنه.
🔗 مدیریت ارتباط (Connection Management):
لایه انتقال میتونه ارتباط رو به دو صورت Connection-Oriented (مانند TCP) یا Connectionless (مانند UDP) مدیریت کنه. در ارتباطات Connection-Oriented، قبل از ارسال دادهها یک ارتباط پایدار برقرار میشه.
پروتکلهای کلیدی در لایه انتقال
TCP (Transmission Control Protocol):
💡 TCP یک پروتکل Connection-Oriented و Reliable هست که برای ارتباطات حساس به دقت استفاده میشه.
ویژگیهای کلیدی:
ارتباط مبتنی بر اتصال:
فرآیند Three-Way Handshake شامل مراحل زیره:
SYN: درخواست اتصال از فرستنده.
SYN-ACK: پاسخ گیرنده.
ACK: تأیید فرستنده.
شمارهگذاری سگمنتها:
🔢 TCP به هر سگمنت یک شماره منحصربهفرد اختصاص میده تا دادهها در مقصد به درستی بازسازی بشن.
کنترل جریان:
با استفاده از Sliding Window، TCP حجم دادهای که میتونه ارسال بشه رو تنظیم میکنه.
کنترل خطا:
با استفاده از Checksum و Acknowledgment صحت دادهها بررسی و تضمین میشه.
UDP (User Datagram Protocol):
⚡ UDP یک پروتکل Connectionless و Unreliable هست که برای ارتباطات سریع طراحی شده.
ویژگیهای کلیدی:
بدون اتصال:
UDP دادهها رو بدون ایجاد ارتباط پایدار ارسال میکنه.
بدون تضمین تحویل:
❌ اگه دادهای گم بشه یا خراب بشه، UDP هیچ تضمینی برای ارسال مجدد نداره.
سرعت بالا:
چون کنترل جریان یا تصحیح خطا نداره، سرعت انتقال بالاتره.
🎛 پورتها و شمارهگذاری در لایه انتقال
پورتها اعدادی ۱۶بیتی هستن که ارتباط بین اپلیکیشنها و دستگاهها رو مدیریت میکنن.
پورتهای شناختهشده (Well-Known Ports):
📌 این پورتها اعداد بین ۰ تا ۱۰۲۳ هستن و به پروتکلهای معروف اختصاص داده شدن.
HTTP: پورت 80
HTTPS: پورت 443
FTP: پورت 21
پورتهای رجیسترشده (Registered Ports):
🔒 اعداد بین ۱۰۲۴ تا ۴۹۱۵۱ که برای اپلیکیشنهای خاص رزرو میشن.
پورتهای داینامیک (Dynamic Ports):
🔄 اعداد بین ۴۹۱۵۲ تا ۶۵۵۳۵ که برای ارتباطات موقت استفاده میشن.
جمعبندی ✍
لایه Transport نقش حیاتی در تضمین انتقال دادهها بین دستگاهها داره. انتخاب پروتکل مناسب به نیازهای اپلیکیشن شما بستگی داره:
TCP برای ارتباطات حساس به دقت.
UDP برای ارتباطات حساس به سرعت.
#⃣ #network
➖➖➖➖➖➖➖➖➖
🥷 CHANNEL | GROUP
👍10🔥3❤1👌1
۱۰۰۰ تایی شدیم 😃🥳
ممنون از همتون که تا به امروز همراه من بودید
امید وارم تونسته باشم بهتون چیزی یاد داده باشم (هرچند کم :) )
ممنون از همتون که تا به امروز همراه من بودید
امید وارم تونسته باشم بهتون چیزی یاد داده باشم (هرچند کم :) )
🔥30❤8
Ninja Learn | نینجا لرن
لایه ۴: لایه انتقال (Transport Layer) 🚛 لایه Transport یکی از مهمترین بخشهای مدل OSI هست که وظیفه مدیریت انتقال داده بین دستگاهها و اطمینان از ارتباط پایدار و مؤثر رو بر عهده داره. این لایه تضمین میکنه که دادهها به درستی به مقصد برسن، ترتیبشون حفظ بشه،…
بیشتر درمورد TCP بگم یا بریم لایه بعدی؟
برو بعدی 👍
بیشتر بگو 👌
برو بعدی 👍
بیشتر بگو 👌
👌36👍5🔥1
Forwarded from cyru55 unofficial channel (cyru55)
⭕️ Zasper
✅ Open Source
🌐 zasper.io
یک ویرایشگر کد جدید
با Go نوشته شده تا بتونه پردازش همزمان زیادی رو هندل کنه
از Terminal و Git پشتیبانی میکنه
حین اجرا حدود 27MB رم اشغال میکنه
یعنی حداقل منابع ممکن
چون سازنده این برنامه خودش از مار استفاده میکنه، اینو جوری نوشته که برای اجرای پایتون ایدهآل باشه
برای فراخوانی کدها بصورت REPL-style مناسبسازی شده
برای نصبش ظاهرا ۲ روش متفاوت وجود داره، که خودش توضیح داده دقیقا چیکار کنید
✅ Open Source
🌐 zasper.io
❤6