أساسيات الشبكات: طرق توصيل الأجهزة في الشبكة (network topologies) - الجزء الثاني
مقدّمة:
في المقالة السابقة تحدّثنا عن أولي طُرُق توصيل الأجهزة في الشبكة و هيّ الـ bus topology. في هذه المقالة سنستأنف حديثنا عن طُرُق توصيل الأجهزة في الشبكة.
2- الـ Star Topology:
كلمة star كترجمة معناها نجمة، بمعني أن هناك جهاز في المنتصف و حوله أجهزة الكمبيوتر موصّلة عليه بهذا الشكل:

الجهاز الذي يقع في المنتصف من الممكن أن يكون إمّا Hub أو Switch:
1- الـ Hub:
الـ hub هو جهاز يأخذ شكل متوازي المستطيلات و لهُ فتحات تسمّي ports (في اللغة الدارجة) أو interfaces (في لغة Cisco).
طريقة عمل الـ hub: نفترض وجود Hub موصّل عليه أربعة أجهزة كمبيوتر هما A و B و C و D و كان الجهاز A يريد إرسال data للجهاز C، ما سيحدث هو أنّه سيتم خروج الـ data من الـ interface المتّصل بالجهاز A و يقوم بعمل flood علي كل الـ interfaces ما عدا الـ interface الذي جاءت منه الـ data كما هو واضح في هذا الشكل:

فعندما تصل الـ data للكل إذاً هذا معناه أنّ طريقة عمل الـ star topology في حالة الـ hub مثل طريقة عمل الـ bus topology، إذاً الـ Physical Topology سيكون Star Topology و الـ Logical Topology سيكون Bus Topology.
لكي نتأكّد من أنّه فعلاً يستحق أن يكون bus topology سنري مثالاً آخر: نفترض نفس الـ hub بنفس أجهزة الكمبيوتر الأربعة و كان الجهازين A و B يريدان إرسال data للجهاز C في نفس الوقت، ما سيحدث في هذه الحالة هو أنّه سيحدث collision أو تصادُم في الـ interface المتّصل بالجهاز C (طبعاً هذا لا يحدث في الحقيقة لأن الـ data ستصل لكل الأجهزة و لكن نريد التركيز علي الجهاز C فقط) بسبب أن الـ hub سيرسل الـ data من الجهازين A و B إلي الجهاز C مباشرةً بهذا الشكل:

و بالطبع عندما يحدث collision إذن لا بد من أن تعمل تكنولوجيا الـ CSMA/CD علي حلّها … و هكذا نفس الشرح الذي قد شرحناه في المقالة السابقة.
2- الـ Switch:
الـ MAC Address:
قبل أن نشرح الـ star topology في حالة الـ switch نريد أن نفهم كيف يعمل الـ switch.
الـ switch مبني علي عنوان يُسمّي بالـ MAC Address، و أن جهاز الكمبيوتر مبني علي عنوانين هما الـ Logical Address (الـ IP و سنتحدّث عنه في مقالات قادمة) و الـ Physical Address (الـ MAC Address).
في Cisco يُسمّي الـ MAC address باسم الـ BIA (أو الـ Burnt-In Address) لإنّه رقم محروق أو محفور علي كارت الشبكة.
نستطيع الحصول علي الـ MAC address بإحدي هذين الطريقتين:
إمّا من الـ GUI الخاص بالـ Windows بهذا الشكل:

و إمّا من الـ Command Prompt الخاص بالـ Windows بهذا الشكل:

من قيمة الـ MAC address التي تم استخراجها من الـ Windows نلاحظ الآتي:
1- الـ MAC address يُكتَب بنظام الـ hexadecimal (النظام السداسي عشر) بمعني أن أكبر رقم موجود في الـ MAC address هو 15 أو F، و إذا لم تفهموا ما هو نظام الـ hexadecimal فهذه صورة توضّح أنظمة العد:

2- الرقم الواحد في الـ MAC address يتم تمثيله في 4bits (أربعة أرقام بالنظام الثنائي binary)، و هذا يعني أن الـ MAC address بالكامل يتم تمثيله في 48bits.
3- الـ MAC address هوّ رقم unique (فريد من نوعه) علي مستوي العالم، بمعني أنّه لا يوجد كارتين شبكة علي مستوي العالم لهما نفس قيمة الـ MAC address، و يتم ضمان حدوث ذلك عن طريق تقسيم الـ MAC address إلي نصفين: نصف يُسمّي بالـ OUI (أو Organizational Unique Identifier) و النصف الآخر يُسمّي بالـ vendor assigned، و كل نصف حجمه 24bits بهذا الشكل:

بحيث يكون في كل مصنع ينتج عدداً من كروت الشبكة سيقوم بتثبيت جزء الـ OUI و سيقوم بتوليد vendor assigned واحد لكل كارت شبكة بحيث لا يمكن أن يتكرر نفس الـ MAC address علي كارتين شبكة علي الأقل. و هذا معناه أنّ من حق المصنع الواحد أن ينتج عدد 2 أس 24 من كروت الشبكة (14,777,216 كارت شبكة) طبقاً للقاعدة التي تقول أنّه “إذا كان هناك عدد bits معيّن و نريد حساب عدد احتمالاته إذاً عدد هذه الاحتمالات يساوي 2 أس عدد الـ bits”، و هذه صورة تُذكّرنا بهذه القاعدة:

و إذا كان هناك مصنع كبير جداً قد استنفذ كل الاحتمالات الممكنة لكروت الشبكة سيشتري المصنع OUI جديد. أمّا إذا كان هناك مصنع بدرجة أدني (مصنع تحت بير السلّم باللهجة المصريّة) يقومون بصنع كروت شبكة لهم نفس الـMAC address بغرض التسلية و قمنا نحن بشراء كارتين أو ثلاث كروت شبكة و قمنا باستخدامهم في نفس الـ LAN، إذن في هذه الحالة يمكننا أن نغيّر الـ MAC address بشكل يدوي عن طريق إمّا software (تطبيق) يتم تثبيته علي الـ Windows و إمّا في الـ Windows نفسه عن طريق هذه الخطوات الموضّحة في هذه الصورة:

لأن إذا تكرر الـ MAC address علي كارتين شبكة في نفس الـ LAN جهازين الكمبيوتر الخاصّين بهم لن يدخلوا في شبكة الـ LAN رغم أنّهم سيدخلون علي شبكة الإنترنت.
إنّ وضع MAC address جديد لكارت الشبكة بشكل يدوي سيجعل الـ processor هو الذي سيضع قيمة الـ MAC address علي الـ data المنقلة بدلاً من كارت الشبكة.
عودة للـ star topology في حالة الـ switch:
نفترض وجود switch موصّل عليه أربعة أجهزة كمبيوتر هما A و B و C و D و كان الجهاز A يريد إرسال data للجهاز C و كل interface في الـ switch له اسم (لا يهمنا من أين جاء ذلك الاسم لأن هذا تخصص مهندسي الشبكات)، ما سيحدث هو أنّه سيتم تقطيع الـ data لملايين من الأجزاء و كل جزء سنسمّيه frame و بعد ذلك سيتم خروج أوّل frame من الـ interface المتّصل بالجهاز A و يقوم بعمل flood لهذه الـ frame علي كل الـ interfaces ما عدا الـ interface الذي جاءت منه الـ data كما هو واضح في هذا الشكل:

إلي هنا لا يوجد فارقاً بين الـ switch و الـ hub، لكن بعد ذلك سيظهر الفرق و هو أن الـ switch بمساعدة أوّل frame سيقوم ببناء جدول داخل الـ RAM اسمه MAC address table يبني فيها علاقة بين اسم الـ interface و بين الـ MAC الخاص به، ذلك معناه أنّ الـ data عندما تأتي من الجهاز A سيقوم الـ switch بوضع قيمة الـ MAC الخاص بالجهاز A و معه قيمة الـ interface الذي يربط الجهاز A بالـ switch و هو f0/1 فسيصبح شكل الـ MAC address table بهذه الصورة:

بعد ذلك ستصل الـ data للأجهزة B و C و D فسيقومان الجهازان B و D بعمل drop للـ data و عندما تصل الـ data للجهاز C سيبدأ في الردّ علي الجهاز A و هذا معناه أنّ الجهاز C هو الـ source فسيضع الـ switch قيمة الـ MAC الخاصّة بالجهاز C داخل الجدول و معه الـ interface الذي يربط الجهاز C بالـ switch و هو f0/3 فسيصبح شكل الـ MAC address table بهذه الصورة:

كُل هذا يستغلّ الـ switch أوّل frame لكي يبني الـ MAC address table، أمّا باقي الـ frames فستكون محمّلة بالـ source MAC و بالـ destination MAC و بغيرها من المعلومات فعندما تصل هذه الـ frames للـ switch سيبحث الـ switch علي الـ destination MAC الذي سيذهب إليه الـ data و هو C فسيذهب الـ switch علي الـ MAC address table لكي يستعلم عن اسم الـ interface المتّصل بالجهاز C فسيجده f0/3 فسيرسل الـ switch باقي الـ frames علي f0/3، ذلك معناه أن الـ switch يرسل الـ data من الجهاز المُرسل إلي الجهاز المُستقبل (from point to point).
لماذا انتظرنا أن يكون الجهاز C هو الـsource؟ أو بمعني آخر لماذا يُبني الـ MAC address table بالـ source و ليس بالـ destination؟ لسببين:
1- لأن إذا كان الـ MAC address table يُبني بالـ destination إذن الـ switch لن يعرف الـ interface المتّصل بالجهاز C.
2- إذا كان الجهاز A يريد إرسال data للجهاز F الغير موجود في الشبكة، فإذا وضع الـ switch قيمة للجهاز F في الـ table إذن الـ table الخاص بالـ switch به قيمة غير موجودة علي أرض الواقع، فدائماً الـ switch يبني الـ table الخاص به بالـ source و ليس بالـ destination.
الـ Broadcast Domain و الـ Collision Domain:
ما معني كلمة broadcast؟ هناك ثلاثة أنواع من الـ Address Grouping و هما الـ unicast و الـ multicast و الـ broadcast:
1- unicast معناها إرسال data من جهاز واحد إلي جهاز واحد، و هذا اختصاص مهندسي الاتّصالات.
2- unicast معناها إرسال data من جهاز واحد إلي مجموعة محدّدة من الأجهزة، و هي تكنولوجيا مزدهرة جداً لأنّها تُستخدم في تكنولوجيّات كثيرة مثل الـ Video Conference و القنوات التليفزيونيّة المشفّرة و في servers مثل الـ WDS (أو Windows Deployment Server) الذي يُستخدم في تنصيب الـ Windows لعدّة أجهزة كمبيوتر في نفس الوقت … و غيرها.
3- broadcast (انتشار) معناها إرسال data من جهاز واحد إلي كل الأجهزة في الشبكة.
عدد الـ broadcast domains في حالة الـ hub و في حالة الـ switch بكم؟ في حالة الـ hub إذا الجهاز A أرسل broadcast سيصل للأجهزة B و C و D إذن كل الأجهزة واقعة في broadcast domain واحد، و في حالة الـ switch إذا الجهاز A أرسل broadcast سيصل أيضاً للأجهزة B و C و D إذن كل الأجهزة أيضاً واقعة في broadcast domain واحد.
عدد الـ collision domains في حالة الـ hub و في حالة الـ switch بكم؟ في حالة الـ hub ممكن أن يقوم الجهاز A بعمل collision مع الأجهزة B و C و D و ممكن أن يقوم الجهاز B بعمل collision مع الأجهزة A و C و D … و هكذا بالنسبة للجهاز C و للجهاز D إذن كل الأجهزة واقعة في collision domain واحد، لكن في حالة الـ switch غير ممكن أن يقوم أي جهاز بعمل collision مع الآخر لأنّه إذا قام الجهازان A و B بإرسال data للجهاز C سيقوم الـ switch باقتتطاع جزء من الـ RAM الخاص به و يقوم بعمل buffer أو مخزن لها و يأخذ هذا الـ buffer الـ data من الجهازين A و B و يُرسلها للجهاز C. إذن عدد الـ collision domains في الـ switch يُساوي عدد الـ interfaces.
خاتمة:
أعذرني إذا كانت المقالة طويلاً لأنّي حاولت بقدر الإمكان أن أختصر تلك المواضيع أو سأكون سعيداً إذا أمتعتك تلك المقالة رغم طولها. في المقالة القادمة سنأخذ أمثلة علي الـ broadcast domain و الـ collision domain و سنستكمل باقي طُرُق توصيل الجهاز في الشبكة و سنتكلّم في فقرة صغيرة عن الفرق بين الـ LAN و الـ WAN.