REBUILD://NET المكدّس 0/8RTL · AR / أوامر · ? اختصارات live

المرحلة 04 — للمكدّس اسم

لاحظ

لا نبني طبقةً جديدة هنا. نُسمّي ما بنيناه. هذه مرحلة التركيب (Synthesis): النقاط المتفرّقة تجتمع فجأة، ويُكشَف الـ OSI وTCP/IP model — ليس كقائمةٍ تُحفَظ، بل كخريطةٍ لشيءٍ صنعتَه بيدك.

النبذة

في أربع مراحل، بنيتَ — مدفوعاً بالمشاكل — أربع طبقات: الفيزيائية، Data Link (MAC/frames)، Network (IP/routing)، Transport (TCP/UDP/ports). الآن لحظة «آها»: هذا بالضبط هو ما تحاول رسمة OSI الشهيرة أن تعلّمك إياه بالحفظ. الفرق أنك فهمته من الجذر، فلن تنساه أبداً.


ليش وُجد النموذج الطبقي أصلاً (السبب التنظيمي)

تذكّر فكرة المرحلة 00: يمكنك تغيير الحلّ في طبقةٍ دون مسّ الأخرى. هذا ليس صدفة — إنه هدفٌ تصميمي. حين بدأت شركاتٌ كثيرة (IBM, DEC, Honeywell...) تبني عتاداً وبرمجياتٍ للشبكات في السبعينيات، كلٌّ بنظامه المغلق، احتاجوا:

  1. مفرداتٍ مشتركة: أن تقول «هذه مشكلة طبقة 3» فيفهم الجميع.
  2. واجهاتٍ نظيفة (clean interfaces): أن تستبدل Ethernet بالواي-فاي دون أن تُعيد كتابة المتصفّح. كل طبقة تَعِد التي فوقها بخدمةٍ ثابتة، مهما تغيّر تنفيذها.

فأنشأت ISO في 1984 نموذج OSI (Open Systems Interconnection): إطارٌ مفاهيمي يصف وظائف الاتصال في سبع طبقات، بصرف النظر عن البنية الداخلية أو التقنية المستخدمة في كلٍّ منها.

إجابة هولبرتون

جواب هولبرتون (Task 0): ما الـ OSI؟ الخيار الذي ينصّ على أنه «نموذجٌ مفاهيميٌّ يصف وظائف الاتصال في نظام اتصالات دون اعتبارٍ لبنيتها الداخلية وتقنيتها». الآن تفهم لماذا هذه الصياغة بالذات صحيحة: «دون اعتبار للبنية الداخلية» = ثمرة الفصل بين الطبقات الذي عشتَه. الخيار الذي يقول «باعتبارٍ قويٍّ للبنية الداخلية» خاطئٌ لأنه يناقض جوهر الفكرة: التجريد يخفي البنية عمداً.


الطبقات السبع — وأين تضع كل لبنةٍ صنعتَها

اقرأ هذا من الأسفل للأعلى (كما بنيتَ تماماً):

#الطبقةما بنيتَه فيها (المرحلة)الوحدةالعنوانأداة تكشفها
7ApplicationHTTP, SSH, DNS (قادم)بياناتcurl, telnet
6PresentationASCII/تشفير/ضغط (مشكلة 00-د)
5Sessionإدارة الجلسات
4TransportTCP/UDP, ports (م.03)segment / datagramportss, netstat
3NetworkIP, routing, ICMP (م.02/05)packetIPip route, traceroute
2Data LinkMAC, frames, ARP (م.01)frameMACip link, ip neigh
1Physicalفولتية/ضوء/راديو (م.00/01)bitالكيبل نفسه
إجابة هولبرتون

جواب هولبرتون (Task 0): كيف يُنظَّم؟ «من الأدنى للأعلى». والآن تعرف معنى «أدنى/أعلى»: الأدنى أقربُ للفيزياء (إلكترونات)، والأعلى أقربُ للمعنى الإنساني (طلب HTTP-ك). الترتيب ليس اعتباطياً — هو سُلّم التجريد من المادة إلى المعنى.

لاحظ أنك في كل المراحل بنيتَ الطبقات 1–4 و7 بوضوح، لكنك لم تبنِ 5 و6 ككياناتٍ مستقلّة. هذا ليس نقصاً منك — إنه الحقيقة:

  • OSI نموذجٌ مرجعيٌّ مثالي (7 طبقات). صُمّم بلجانٍ ولم يُطبَّق حرفياً قط.
  • الإنترنت يعمل فعلاً بنموذج TCP/IP (4 طبقات): Link، Internet، Transport، Application. الطبقات 5/6/7 من OSI كلها تُحشَر في «Application» الواحدة. وظائف الـ Presentation (التشفير TLS، الترميز) والـ Session تعيش داخل التطبيقات أو المكتبات، لا كطبقةٍ شبكيةٍ مستقلّة.
لاحظ

هولبرتون نفسه يلمّح لهذا: «الـ OSI مفهوم، ليس ملموساً، ولا يؤدّي أي وظيفة في عملية الشبكات — إنه إطارٌ مفاهيمي». ترجمة الـ geek: احفظ الطبقات السبع للمقابلات والامتحانات، لكن حين تصحّح خطأً حقيقياً، فكّر بأربع طبقات. ومتى سمعت أحداً يقول «هذه مشكلة طبقة 8» فهو يمزح: الطبقة 8 = المستخدم/الإدارة/الميزانية 😏.


النموذج الذهني الموحِّد: التغليف (Encapsulation)

هذه أهم صورةٍ في المنهج كله. حين يرسل متصفّحك GET / HTTP/1.1، تنزل البيانات الطبقات واحدةً واحدة، وكل طبقةٍ تلفّ ما فوقها برأسها الخاص (مثل دُمى ماتريوشكا):

text
[ Ethernet Hdr | IP Hdr | TCP Hdr | GET / HTTP/1.1 | FCS ] └── L2 (MAC) ──┘└─L3(IP)┘└L4(port)┘└──────── L7 (التطبيق) ───────┘ يضيف TCP رأسه (منافذ، تسلسل) يضيف IP رأسه (عناوين IP المصدر/الوجهة) يضيف Ethernet رأسه (عناوين MAC) + FCS في النهاية

وتذكّر خبيئة المرحلة 02: عبر الرحلة، رأس IP الداخلي لا يتغيّر (نفس المصدر/ الوجهة من طرفٍ لطرف)، بينما رأس Ethernet الخارجي يُنزَع ويُعاد بناؤه عند كل راوتر (MAC القفزة التالية). الدُمية الخارجية تُستبدَل في كل محطّة؛ الدُمى الداخلية تبقى مغلّفةً حتى الوجهة. هذه الجملة تجمع المراحل 01+02+03 في فكرةٍ واحدة.


لغز الإتقان (الكابستون — يجمع كل ما سبق)

متصفّحك على 192.168.1.10 (شبكة /24، gateway 192.168.1.1) يرسل GET / HTTP/1.1 لخادمٍ على 93.184.216.34:443، عبر ثلاثة راوترات.

  1. ارسم التغليف الكامل للحزمة وهي تغادر جهازك: ما الذي في كل رأس؟ تحديداً:
  • رأس L4: ما منفذا المصدر والوجهة؟
  • رأس L3: ما IP المصدر والوجهة؟
  • رأس L2: ما Dest MAC؟ (انتبه — سؤالٌ مصيدة! ليس MAC الخادم.)
  1. الحزمة نفسها وهي تغادر الراوتر الثاني نحو الثالث: أي رؤوسٍ تغيّرت وأيها بقي؟
  2. عند وصولها الخادم، صف عملية الـ decapsulation: أي طبقةٍ تقرأ ماذا، وبأي ترتيب، وكيف تعرف كلٌّ منها لمن تسلّم الباقي؟ (تلميح: حقل Type في Ethernet، وحقل Protocol في IP، ومنفذ الوجهة في TCP — كلٌّ منها «مؤشّرٌ للطبقة الأعلى».)
  3. أجِب الآن سؤالَي هولبرتون عن OSI (ما هو؟ كيف يُنظَّم؟) — ليس بأن «تختار الرقم»، بل بأن تُحاجِج لماذا كل خيارٍ خاطئٍ خاطئ. إن استطعت ذلك، فقد تجاوزت التاسك بمسافة.

الخلاصة وموقعك على الشجرة

أكملتَ الجذع أ (المكدّس). لكن بقي شيءٌ غريب: كل ما بنيناه ينقل بيانات المستخدم. من ينقل الأخبار عن الشبكة نفسها؟ «حزمتك ضاعت»، «لا مسار لتلك الوجهة»، «هل أنت حيٌّ أصلاً؟». ومن أين أتى سحر traceroute؟ ولماذا يرسل حاسبٌ حزمةً... لنفسه؟

بذرة

الـ IP ينقل، لكنه لا يشتكي ولا يسأل. يحتاج الإنترنت جهازاً عصبياً يحمل رسائل التحكّم والأخطاء — بروتوكولاً يركب فوق IP لكنه ليس لبيانات التطبيقات. اسمه ICMP، ومنه يولد ping. وفي المرحلة 05 سنكتشف أيضاً سرّ العنوان الذي يكلّم به الجهازُ نفسَه (127.0.0.1)، والعنوان الشبح 0.0.0.0 — وهما مفتاحا مشروع هولبرتون الثاني كاملاً.

← التالي: 05-control-and-diagnostics.md