5.1 مقدمة في الشبكات
اقتباسات هذا الفصل:
- "لاحظ أن أكبر قيمة لوقت إعادة الإرسال RTT هي 120 ثانية،
أظن أن علينا أن نستعمل شيئاً مختلفاً عن TCP للحديث مع جامعة المريخ."
-- تعليق في ملف 'tcp.c' من نواة لينكس
محتويات هذا الفصل:
5.1.1 المصطلحات
الشبكات موضوع متشابك وخطير نحاول هنا أن نقدم ما نجد أن به الفائدة
المباشرة ونقترح بشدة العودة إلى الوثائق الأخرى مثل manual pages و info pages
ووثائق HOWTO المشار إليها في كل بند.
لينكس نظام صمم من أجل الشبكات بكل ما يعنيه ذلك.
دعم بطاقات الشبكة ودعم البروتوكولات المختلفة
وحتى جدار النار جزء من نواة لينكس بل أن خادم الويب Web المسمى tux عبارة عن module للنواة!
بشكل أساسي يعتمد لينكس على شبكات TCP/IP ويوفر دعم لبروتوكولات أخرى
مثل IPX و AppleTalk.
تمكنك معظم التوزيعات من إعداد الشبكة بطريقة رسومية
ولكن معرفة ذلك من سطر الأوامر يوفر لك المزيد من الإمكانيات.
كما أنه يعطيك الخبرة الكافية للتعامل مع البرامج الرسومية؛
تذكر أن لديك أداة سهلة الإستعمال
وأن ما أكتبه هنا ليس إلا لمعرفة المصطلحات الأساسية انظر
ملحق الأدوات الخاصة بكل توزيعة
عندما نتحدث عن شبكات فإننا في الغالب نتحدث عن
علاقات خادم ومخدوم بين برمجيّتين Software تتخاطبان عبر قناة socket بحيث يقدم الخادم server خدمة
معينة service إلى المخدوم client. هذه الخدمة قد تكون الوصول للملفات
والتشارك في الطابعة أو قاعدة بيانات أو حتى مجرد بوابة توصل المخدوم للإنترنت.
ولكن في نظام لينكس (ويونكس بشكل عام) يمكن لبعض البرامج أن تتخاطب عبر وسائل أخرى فهناك
وسائل مثل file socket و FIFO pipe ومناطق الذاكرة المشتركة
كما يمكن أن تتخاطب برامج على نفس الجهاز عبر قنواة sockets دون وجود شبكة.
يتخيل الناس أن هناك طوراً في نظام التشغيل ليكون خادماً
أو أن هناك خيار في برنامج التركيب يجعل النظام خادم
أو هناك برنامج تشغله يجعل النظام خادم!! هذا خطأ والصواب أن الخادم
يقدم خدمة service (على شكل مراقب daemon) يستمع بانتظار طلبات المخدومين
فأنت تشغل وتعد كل خدمة لوحدها.
كما يتخيل الناس الخادم جهاز عملاق مكلف عليه جميع أنواع الخدمات
وفي المقابل الأجهزة المخدومة أجهزة شخصية هذه الفكرة خطأ وتتسبب في ما يسمى
Single Point of Failur نقطة فشل وحيدة؛ فالنظرة الحديثة
تقوم على فصل أكبر قدر من الخدمات على خادمات مختلفة فكلما كان الخادم
يقدم خدمات أقل كان أكثر أمناً وموثوقية.
كما يتوهم الكثير من الناس(خصوصاً من الخبرات المقنعة) أن الخادم
هو صفة للعتاد Hardware ضمن تصميمه ولا يمكن لجهاز مخدوم أن يتحول لخادم
أبداً (تجد إعلانات في الصحف "مطلوب جهاز خادم") ، وهذا كله خطأ
مثلاً خادم الأسماء DNS لا نتوقع منه أن يحتوي على أي قطع عتادية خاصة
تجعل منه خادماً (لا يوجد بطاقة اسمها DNS card)،
لهذا قلنا أن العلاقة بين الخادم والمخدوم هي علاقة بين برمجيّتين Software.
ملخص هذا الكلام أن جهازاً ما يمكن أن يكون خادماً لخدمة معينة ومخدوماً يستفيد من خدمة أخرى في نفس الوقت.
كل نقطة(أي عضو وبالعامية جهاز) في الشبكة يسمى مضيف host
أو عقدة node ونسمي مجموعة من العقد مجالاً Domain
لتشكل شبكة أو شبكة فرعية. الشبكة المحلية LAN توصل بسرعة عالية
10-100 ميغا-بت بالثانية وقد تصل إلى الغيغا! لكنها
لمسافات لا تزيد عن 100 متر. أما WAN مثل الإنترنت فهي ذات مسافات شاسعة
وبسرعات أكثر محدودية لا تزيد عن عشرات/مئات الكيلو-بت في الثانية.
عند عمل شبكة فإننا بحاجة إلى بطاقة تسمى واجهة الشبكة NIC أي
Network Interface Card
مثل بطاقات الإيثرنت (الجهاز الخاص ببطاقة الإيثرنت الأولى هو
/dev/eth0 ومعرّف هذه الواجهة هو eth0)
أو البطاقات اللاسلكية Wi-Fi (الواجهة المقابلة للأولى wifi0 وهي مجرد اسم آخر ل eth0)
أو المودم (الجهاز الأول COM1 هو /dev/ttyS0 والواجهة هي ppp0)
أو بطاقة Token Ring (الأولى هي tr0)
ولكن حتى دون وجود واحدة فإن هناك
واجهة الحلقة المفرغة loopback local interface ويرمز لها lo
وهي تربط الجهاز مع .. حسناً، مع نفسه!
5.1.2 عناوين الشبكات
كل واجهة(بطاقة) نعطيها رقم/عنوان. هناك أكثر من عائلة للعناوين
يدعمها لينكس مثل Novel IPX ولكن نظام لينكس يفضل
عائلة عناوين الإنترنت ARPA inet وهي نفسها IPv4 أو IP ودعمها موجود
من الإصدارات الأولى وهو من أكثر الأجزاء في لينكس صلابة.
هذا العنوان عبارة عن رقم 32-بت للتسهيل نمثله على شكل أربع أرقام
عشرية كل منها 0-255 يفصل بينها نقطة.
تلميح
البعض لا يرتاح لكون عناوين IPv4 ذات 32-بت أي أنها لن تكفي للمستقبل
لهذا هناك طريقة جديدة تتخطى محدوديات القديمة
تسمى IPv6 والتطور فيها ليس في الحجم فقط بل أنها تحتوي على
مزايا أكثر لتزيد السرعة والموثوقية. ولكن ليس كل الإصدارات تدعمها.
النواة 2.6 توفر دعم غير مسبوق لها
العنوان 127.0.0.1
مخصص لتشير به كل عقدة لنفسها lo وفي الجيل الجديد للعناوين
IPv6 فإنه يكون "0:0:0:0:0:0:0:1" أو "::1" للاختصار
لهذا يفضل أن نستعمل الاسماء أي localhost.
إذا كانت بطاقة NIC تربطك بالإنترنت مباشرة
فإنها تأخذ أي عنوان غير محجوز أما إذا كانت تربطك مع الشبكة الداخلية
LAN فإنها تأخذ أي عنوان من العناوين المحجوزة للشبكات الداخلية،
وهي عناوين غير مرئية عبر الإنترنت.
تبدأ من اليسار ب10 ثم أي 3 أرقام
أو تبدأ ب 172 ثم رقم 16-31 ثم أي رقمين
أو تبدأ ب 192 ثم 168 ثم أي رقمين وتسمى على الترتيب الصنف A و B و C.
كما في الجدول :
| الصنف | المدى | المدى المحجوز للشبكات الداخلية | Default netmask | netmask as number |
| Class A | 0.0.0.0-127.255.255.255 | 10.0.0.0-10.255.255.255 | 255.0.0.0 | 8 |
| Class B | 128.0.0.0-191.255.255.255 | 172.16.0.0-172.31.255.255 | 255.255.0.0 | 16 |
| Class C | 192.0.0.0-223.255.255.255 | 192.168.0.0-192.168.255.255 | 255.255.255.0 | 24 |
كل عقدة Host تأخذ عنوان تكون الأرقام الأخيرة فيه 1-254 حيث
حيث أن 0 مخصص كعنوان للشبكة وأن 255 مخصص للبث العام broadcast.
قلنا الأخيرة يعني آخر كم رقم ؟ أي كيف نفصل عنوان الشبكة عن عنوان العقدة؟
هنا يأتي دور Netmask فهو عنوان نضع أصفاراً مكان عنوان العقدة host
بحيث أن تطبيق علاقة AND مع العنوان تعطي عنوان الشبكة مثلاً في شبكة صنف B
كان عنوان أحد الأجهزة 172.18.1.2
و Netmask كان 255.255.0.0
هذا يعني أن هذا الجهاز عضو في شبكة عنوانها 172.18.0.0
ويمكن تمثيل Netmask برقم واحد للتبسيط هو عدد بتات عنوان الشبكة
(البتات غير الصفرية في Netmask address)
في المثال السابق 16 أي 2 بايت من 4 للشبكة،
وعند كتابة عنوان الشبكة اصطلح أن نكتبه على صورة
172.18.0.0/255.255.0.0
أو 172.18.0.0/16
وبصورة غير رسمية 172.18.X.Y.
نلاحظ أن الصنف A به شبكة وحيدة وكل العناوين هي لعقد Hosts
أما B فهو يحتوي 16 شبكة أما C فهي تحتوي 256 شبكة.
مثال آخر العنوان
192.168.88.0/24
يعني 192.168.88.X.
يتم تخصيص العنوان عند تركيب لينكس أو فيما بعد من خلال برنامج إعداد الشبكات
الخاص بتوزيعتك ليتم الحصول عليه تلقائياً
وذلك بترك مهمة إعطاء العنوان لخادم DHCP حيث تقوم أحد نصوص الإقلاع
بتشغيل DHCP client الذي يبث broadcast طلب عنوان فيرد عليه بكافة إعدادات الشبكة اللازمة التي يجب أن يستعملها
عنوان العقدة و Netmask والبوابة Gateway وعنوان خادم الأسماء،
يتم الإتصال عبر البث إلى العنوانين 0.0.0.0 و 255.255.255.255
عبر منفذ 67 على الخادم و 68 على المخدوم،
إذا لم يوجد هكذا خادم في مكان يصل إليه البث (أي أن تكون في شبكة لا تحتوي هكذا خادم)
فإن عليك استخدام أسلوب آخر وهو
أن يثبت العنوان على رقم محدد ويسمى هذا static IP
وفي هذه الحالة عليك تحديد عنوان كل عقدة رقماً (واسماً إن رغبت) بشكل يدوي
إضافة إلى الإعدادات الأخرى وهي Netmask والبوابة وعنوان خادم الأسماء،.
وفي الحالتين من يعطي العنوان هو أحد نصوص الإقلاع من بين ملفات /etc/init.d/
ويتم إعداده بطريقة تعتمد على التوزيعة.
5.1.3 أسماء الأجهزة في الشبكات
وبدلاً من كتابة العناوين بالأرقام يفضل البعض إعطاء أسماء للعقد
مثل localhost الاسم الذي تشير به العقدة لنفسها الذي يعادل العنوان
127.0.0.1
كما يمكن أن نحدد في أي شبكة بوضع (.) نقطة لتفصل الحدود
ونبدأ بالأصغر مثل localhost.localdomain
أو لنتحدث عن شبكة حقيقية www.linuxbox.net
قد تشير إلى عقدة خادم ويب www داخل شبكة linuxbox داخل شبكة net
كما نتحدث عن ملف /net/linuxbox/www
ولكن بصورة مقلوبة. كما يوجد اسم مطلق(كامل) للملفات فإن الاسم الكامل للعقدة
أي عنوان الجهاز (.) عنوان الشبكة ... إلخ يسمى FQDN
أي Fully Qualified Domain Name. يمكن لكل عقدة أن تحتفظ بقائمة
في هذه العناوين وما يقابلها من أسماء في ملف قائمة العقد /etc/hosts
كما يلي:
# This is a simple '/etc/hosts'
# Address Names
127.0.0.1 localhost localhost.localdomain
192.168.10.1 linuxbox
192.168.0.1 proxy gateway
192.168.0.3 ns
كما يمكن أن نضع أكثر من اسم alias لنفس العنوان كما في العنوان الثالث.
ولأنه ليس عملياً أن نقوم بوضع كل عناوين الإنترنت في هذا الملف
ولا حتى الشبكة الداخلية إذ أن إضافة عقدة أو تعديل اسم
بحاجة لكتابته في هذا الملف على كل عقدة!
هنا يأتي دور خادمات الأسماء Name Server التي تسمى غالباً DNS أي Domain Name Server
فإن مخدوماته تسأله عن العنوان الذي يقابل اسم معين فيرد
وفقط عليك أن تبقيه محدثاً وستضمن أن يصل ذلك لكل المخدومين.
الملف /etc/resolv.conf يحتوي عنوان هذا الخادم
#/etc/resolv.conf
domain foo.mynet.com
search foo.mynet.com mynet.com
name server 192.168.0.3
وملف إعداد العقد /etc/hosts.conf
يحتوي على السطر
أي أن ملف قائمة العقد hosts له الأولوية على خادم DNS المسمى BIND.
ملف آخر أكثر عمومية يتحكم في الأولويات هو /etc/nsswitch.conf
#/etc/nsswitch.conf:
#...
hosts: files dns
#...
5.1.4 البرتوكولات والمنافذ
عند إرسال بيانات عبر الشبكة فإنها ترسل في هيئة
محدد تسمى طرد/رزمة/صرة pocket يحدد هيئتها البرتوكول المستخدم
حيث يحدد البرتوكول طريقة تخزين عنواني المصدر والهدف
ومعلومات أخرى مثل فحص parity check أو حتى CRC لكشف التشويش الطبيعي.
البرتوكولات الرئيسية المستخدمة هي ICMP و TCP و UDP.
البروتوكول الأول يستخدم في عمليات التشخيص والإعداد
ولا يستعمل لإنشاء إتصال أما الآخران فيأخذان
إضافة لعنوان المرسل إليه رقم منفذ، كل خدمة أو بروتوكول فرعي
يعمل على منفذ مستقل مثلاً منفذ ويب هو 80 الذي يعمل ببروتوكول http
الذي هو فرع عن TCP.
في بروتوكولات TCP و UDP يتم الربط عبر 3 مراحل
هي new أي طلب اتصال جديد، ثم related وهي كل الحوارات
التي تحدث قبل قبول/رفض الإتصال وأخيراً إنشاء إتصال established .
جرت العادة تمثيل العنوان على شكل URL يأخذ الصيغة
protocol://[user[:password]@]host.somenet.edu[:port][/resource]
حيث user و password و port و resource اختيارية
مثل smb://ahmad:dontlook@172.22.0.5/ و
http://proxy.mynet.com:8080/
وهذا في بروتوكولات http و ftp و smb وغيرها الكثير.
الملف /etc/protocols يحتوي قائمة بالبروتوكولات
أما الملف /etc/services
فيحتوي قائمة بالمنافذ وما يقابلها من خدمة ولكن
لم يعد مستخدماً (لأنه تابع ل inetd الذي أبدل ب xinetd الذي له صيغة أخرى)
إلا أنه موجود كما يمكنك العودة إلى ملحق المنافذ
5.1.5 توبولوجيا الشبكات
التبولوجيا topology فرع من الرياضيات يتحدث عن مجموعة عناصرها مجموعات!
والعمليات عليها، ربما هذا هو أصل الاسم.
كل توبولوجيا تعتمد بروتوكول وتعتمد عائلة عناوين وواجهات(بطاقات) شبكات NIC
معينة. فالشبكات في لينكس تعتمد على TCP/IP وتوفر دعم للأنواع الأخرى.
أسهل طريقة للتفكير في ربط عقدتين (جهازين) هي Point to Point
وتسمى أيضاً pear to pear أي ند للند ، واختصاراً ppp
بأن تكون العقدة موصولة عبر سلك بالعقدة الأخرى
يشكلان معاً شبكة! على الطرف الآخر لكل عقدة host
يوجد عقدة واحدة أي أن عبر هذه الواجهة
لا يوجد سوى طرفان دون فروع أو أي وصلات تفريع.
لهذا لا نستعمل عناوين.
قد يكون أحد (أو كلا) الجهازين مرتبط بشبكة أخرى
عبر بطاقة أخرى هذا أمر لا يدخل في الحسبان.
كما يحدث عندما ترتبط مع مزود خدمة الإنترنت عبر مودم فمن جهة جهازك ومن جهة أخرى المزود
يتم تجميع اتصالات tcp/ip المعنونة في سيال stream وفي الطرف الآخر من
الوصلة يتم تفكيكه لإعادته إلى رزم معونة.
يمكن ربط جهازين بهذه الطريقة عبر الواجهة التسلسلية بوجود مودم أو دون وجوده
أو حتى عبر الوصلة المتوازية (وصلة الطابعة) ولكن هذا
أمر غير شائع بسبب قلة سرعة هذه الواجهة مقارنة ببطاقة الإيثرنت.
ربط جهازين عبر بطاقتي إيثرنت مباشرة لا يعتبر من ناحية منطقية من هذا النواع
لأننا نعطي لكل عقدة عنوان IP ونستعمل برتوتوكول TCP
وإن كان شكله الفيزيائي يشبه هذا النوع.
|

|
الشبكة الحلقية token ring هي شبكة تمرر فيها الرزم
من عقدة إلى العقدة التي تليها فكل جهاز موصول بالذي قبله وبعده عبر بطاقة خاصة
تشبه حرف T يدخل السلك عبر البطاقة ليدخل الجهاز من جهة وليخرج إلى البطاقة في الجهاز التالي
انظر www.linuxtr.net
فإذا لم تكن البيانات موجهة له مررها للذي يليه حتى تصل هدفها
فيقوم الجهاز الذي وصلته بإرسال إشعار (وصل استلام) للجهاز المرسل ليتوقف عن الإرسال
بنفس الطريقة وهكذا. تسمى عملية إرسال pockets من جهاز لتمر
في كل الأجهزة بالبث العام broadcasting.
لم تعد هذه البطاقات شائعة لأن تعطل جهاز في الحلقة
يفصل الحلقة بالكامل. ولكن من ناحية افتراضية
يمكننا أن نسمي الشبكة التي ترسل بطريقة البث العام broadcasting حلقة
وذلك بأن تكون كل الأجهزة موصولة ببطاقات إيثرنت عادية مع مفرّع بث broadcasting hup
حيث يشكل المفرّع الحلقة.
أو حتى بوصل أسلاك 10base2 إلى وصلات T
مع وضع مقاومة على كل من الطرفين (لإمتصاص الإشارة كي لا تنعكس) ،.
هذه الأمثلة تشبه الحلقة من حيث الشكل وتعاني من مشاكلها وهنا
يجب أن ننبه إلى أن البث يقلل من عرض الحزمة bandwidth أي سرعة النقل،
كما أنها تسمح لأحد الأطراف بالتجسس بواسطة برامج sniffer.
|

|
أما الشبكة النجمية يكون هناك نقطة مركزية تتصل بها
كل النقاط كما النجمة ، يمكن أن يكون المركز
جهاز مقسم توزيع switched hup (أو switch للإختصار)
أو جهاز حاسوب به عدة بطاقات ايثرنت.
جهاز المقسم switch يقرأ العنوان ويرسلها إليه.
هنا الإتصال بين أ و ب يتم ترسل من الجهاز أ إلى الجهاز المركزي/المقسم
ثم إلى الجهاز ب أما الجهاز جـ فلا يصله شيء لأنها ليست موجهة له.
|

|
يجب أن أشير إلى أن شكل الشبكة وطريقة توزيع الأسلاك لا يعكسان بالضرورة
ما يجري فعلاً. فمجموعة الأجهزة الموصولة إلى broadcasting hup
قد تبدو شبكة نجمية(فيزيائياً) ولكنها شبكة أقرب إلى الحلقية(منطقياً) لأن
رزم البيانات تبث للجميع! ولكن تعطل أحد أعضاء الحلقة
لن يعطل الحلقة على عكس الحلقة التي تحدثنا عنها سابقاً
فإذا تعطل أحد الأجهزة فيها لن تصل الرزم لباقي الأجهزة.
كما أن هذه المعلومات المذكورة هنا
معلومات مبسطة جداً. إذ يمكن تصميم شبكة تتكون فيها العناصر الثلاث المذكورة.

لاحظ أن الأجهزة في الغرفة B1 تتصل معاً عبر مفرع broadcasting hup في المقابل
تتصل أجهزة A1 معاً عبر switched hup
تتصل الغرف معاً في مبنى A الجهاز 'linux router'،
أحد الأجهزة متصلة بالإنترنت
عبر مودم بطريقة ppp مع مزود خدمة الإنترنت ISP
وليس وصلة ethernet التي تربطه مع الشبكة الداخلية،
وهو معد ليكون بوابة gateway يؤمن إتصال جميع العقد في A بالإنترنت،
كما يمكن أن يعمل كجدار ناري.
في المقابل يعمل router العتادي (كالذي تنتجه cisco) للقيام بوصل الغرف معاً في المبنى B لاتخاذ القرار
"هل تذهب هذه للشبكة في الغرفة كذا عبر السلك كذا أم إلى الإنترنت ؟"
يمكن الاستعاضة عنه بجهاز حاسوب ونظام لينكس
موصول عبر أكثر من وصلة eth0 و eth1 ... و ppp0 ... إلخ كما في A.
في الرسم التوضيحي تم إهمال بعض التفاصيل للتبسيط مثل المودمات و مزود الخدمة.
العقد في غرفة A1 تأخذ العناوين 192.168.10.X
وفي غرفة A2 تكون العناوين 192.168.20.X
ويمكن للعقد في B أن تأخذ نفس العناوين دون حدوث إرباك لأن هذه العناوين
لا تكون مرئية عبر الإنترنت (إلا إذا كنا نستعمل VPN) .
لنفترض أن العقدة التي تحمل الرقم واحد في B1 تحمل العنوان 172.17.0.1
يريد الإتصال بعقدة في غرفة B2 بعنوان 172.18.0.1
فإن الإرسال سيصل إلى جميع العقد المتصلة مع المفرع Hub
ومنها جهاز router الذي يرسلها في السلك الذي يوصل إلى مفرع Hub الغرفة B2،
أما إذا اتصل مع عنوان الإنترنت الخاص ب ppp0 في A
فإن البث يمر أولاً عبر Hub إلى router الذي يميّز أن العنوان عنوان
خارجي فيرسله إلى الخادم الوكيل proxy عبر وصلة الإنترنت ثم إلى مزود الخدمة ISP
ثم إلى العقدة 192.168.0.1 في A.
هناك شبكات يتم ربطها دون أسلاك وذلك عبر بطاقات إيثرنت خاصة تسمى WaveLan
انظر www.wavelan.com من ناحية البرامج لا تختلف هذه البطاقات عن
بطاقة الإيثرنت العادية. ولكن لنفرض أن هناك غرفتان متجاورتان واحدة تأخذ العناوين
192.168.1.X والأخرى 192.168.2.X
وكان جهاز به بطاقة من هذا النوع يتنقل بينهما فإن عنوانه سيتغيّر
وما يترتب على ذلك من قطع الإتصال. حل هذه المشكلة يتم عبر
تكنولوجيا تسمى Mobile IP. حيث يعطى عنوان وهمي لا يتغيّر بتغيّر مكانه.
5.1.6 جداول التوجيه
عندما تخرج رزمة pocket من جهاز مربوط عبر سلك وحيد بشبكة داخلية
متجهةً إلى أي عنوان فإنه يعرف طريقه عبره، ولكن لو كان هناك أكثر من واجهة
للشبكة (وهذا ما هو عليه الحال دائماً بوجود lo) فإن على الجهاز
تحديد الواجهة التي يسلكها pocket تبعاً للعنوان
مثلاً نقول العنوان المحلي 127.0.0.1 يتجه عبر
lo والعناوين المحجوزة للشبكة الداخلية مثل 10.0.0.0/8
تتجه عبر بطاقة الإيثرنت إلى أسلاك الشبكة الداخلية وأما باقي العناوين
فتتجه عبر المودم إلى الإنترنت عبر أسلاك الهاتف؛ هذا
ما يسمى بالتوجيه route وهي عملية إتخاذ القرار
بتمرير pocket عبر واجهة شبكة تبعاً للعنوان الذي تتجه إليه.
router جهاز مرتفع الثمن يشبه switch فله عدة مقابس
نربط من خلاله عدة عقد أو شبكات ولكن يمكن برمجته عن بعد
من خلال بروتوكول خاص مثل RIP لتحديد جداول التوجيه بطريقة ديناميكية.
يدعم لينكس تركيب عدد كبير من بطاقات الشبكة دفعة واحدة
ويوفر لينكس جداول توجيه ثابتة ضمن النواة يمكن تعديلها عبر الجهاز نفسه،
كما ويوجد عدة خادمات تدعم الجداول الديناميكية مثل routed و gated عبر عدة بروتوكولات.
|