<?xml version="1.0"?>
<rss version="2.0"><channel><title>DevOps: &#x627;&#x644;&#x634;&#x628;&#x643;&#x627;&#x62A;</title><link>https://academy.hsoub.com/devops/networking/?d=4</link><description>DevOps: &#x627;&#x644;&#x634;&#x628;&#x643;&#x627;&#x62A;</description><language>ar</language><item><title>&#x623;&#x646;&#x648;&#x627;&#x639; &#x634;&#x628;&#x643;&#x627;&#x62A; &#x627;&#x644;&#x62D;&#x627;&#x633;&#x628;</title><link>https://academy.hsoub.com/devops/networking/%D8%A3%D9%86%D9%88%D8%A7%D8%B9-%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D8%AD%D8%A7%D8%B3%D8%A8/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2023_07/--.png.64bcb6aaa102b06af24d3977aad4faee.png" /></p>
<p>
	يُطلق مصطلح الشبكة الحاسوبية على مجموعة من الأجهزة الإلكترونية -غالبًا حواسيب بصورة أو أخرى- المتصلة ببعضها سلكيًا أو لاسلكيًا، ويتحكم في قواعد الاتصال بين تلك الأجهزة بروتوكولات (قواعد) لنقل البيانات وتخزينها والوصول إليها، وقد تكون صغيرة للغاية مثل حاسوب منزلي متصل بطابعة مثلًا، أو قد تكون كبيرة للغاية ومترامية الأطراف مثل شبكة الإنترنت.
</p>

<p>
	ونتيجة لهذا المقياس الرهيب الذي قد تصل إليه شبكات الحاسوب فإن لها أنواعًا كثيرة، لكل منها غرض أو استخدام مختلف، وخصائص كذلك ومزايا وعيوب، وقد <a href="https://academy.hsoub.com/devops/networking/%D9%85%D8%B9%D9%85%D8%A7%D8%B1%D9%8A%D8%A9-%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A9-%D8%A7%D9%84%D8%AD%D8%A7%D8%B3%D9%88%D8%A8%D9%8A%D8%A9-%D9%88%D8%B4%D8%A8%D9%83%D8%A9-%D8%A7%D9%84%D8%A5%D9%86%D8%AA%D8%B1%D9%86%D8%AA-network-architecture-r484/" rel="">تطورت عدة معماريات للشبكات توجه تصميمها وتنفيذها</a>، وهي عبارة عن مخططات أنشئت بسبب طبيعة الشبكات المعقدة التي تتغير فيها التقنيات التي تُبنى عليها من ناحية، و<a href="https://academy.hsoub.com/devops/networking/%D8%A7%D9%84%D9%85%D8%AA%D8%B7%D9%84%D8%A8%D8%A7%D8%AA-%D8%A7%D9%84%D9%84%D8%A7%D8%B2%D9%85%D8%A9-%D9%84%D8%A8%D9%86%D8%A7%D8%A1-%D8%B4%D8%A8%D9%83%D8%A9-%D8%AD%D8%A7%D8%B3%D9%88%D8%A8%D9%8A%D8%A9-r483/" rel="">المتطلبات التي تحتاج إليها البرمجيات</a> التي تستخدم الشبكات نفسها.
</p>

<h2>
	أنواع شبكات الحاسوب
</h2>

<p>
	ونستعرض فيما يلي أشهر أنواع شبكات الحاسوب وهي:
</p>

<ol>
	<li>
		الشبكة الشخصية PAN
	</li>
	<li>
		الشبكة المحلية LAN
	</li>
	<li>
		شبكات الشركات CAN
	</li>
	<li>
		الشبكات الإقليمية MAN
	</li>
	<li>
		الشبكة واسعة النطاق WAN
	</li>
</ol>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="130190" href="https://academy.hsoub.com/uploads/monthly_2023_07/2130634483_.png.01d58a31d01aabf71e560801f04814fe.png" rel=""><img alt="أنواع شبكات الحاسوب" class="ipsImage ipsImage_thumbnailed" data-fileid="130190" data-ratio="62.50" data-unique="4c2wub516" style="width: 800px; height: auto;" width="800" src="https://academy.hsoub.com/uploads/monthly_2023_07/.thumb.png.1bffe40b19041db06f0457b5aeaeab94.png"> </a>
</p>

<h3>
	الشبكة الشخصية PAN
</h3>

<p>
	الشبكات الشخصية Personal Area Network وتختصر إلى PAN هي أصغر أنواع شبكات الحاسب حجمًا وأقلها تعقيدًا، وكما يوحي اسمها فهي تدور حول شخص واحد في الغالب حيث تربط أجهزته ببعضها أو بشبكة خارجية، سواء كانت تلك الأجهزة كلها حواسيب عامة الأغراض -مثل الحواسيب المكتبية desktop أو المحمولة laptop- أو أجهزة تقنية أخرى تتصل بتلك الشبكة، مثل الطابعة أو الأجهزة المنزلية الذكية أو أجهزة <a href="https://academy.hsoub.com/programming/os-embedded-systems/%D9%85%D9%82%D8%AF%D9%85%D8%A9-%D9%81%D9%8A-%D8%A5%D9%86%D8%AA%D8%B1%D9%86%D8%AA-%D8%A7%D9%84%D8%A3%D8%B4%D9%8A%D8%A7%D8%A1-iot-r1514/" rel="">إنترنت الأشياء IoT</a> أو الهاتف. من أهم مزايا الشبكات الشخصية ما يلي:
</p>

<ul>
	<li>
		تتميز <a href="https://academy.hsoub.com/devops/networking/%D8%AF%D9%84%D9%8A%D9%84-%D8%AA%D8%A3%D9%85%D9%8A%D9%86-%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A8%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85-%D9%82%D9%88%D8%A7%D8%A6%D9%85-%D8%A7%D9%84%D8%AA%D8%AD%D9%83%D9%85-%D8%A8%D8%A7%D9%84%D9%88%D8%B5%D9%88%D9%84-acl-r620/" rel="">بالأمان ومستوى الحماية الجيد نسبيًا</a> نظرًا لأنها محدودة في عدد الأجهزة المتصلة، ويكون مالك تلك الأجهزة هو نفس الشخص في الغالب.
	</li>
	<li>
		نطاق عمل هذه الشبكة يكون صغيرًا جدًا في الحيز الجغرافي حيث لا يتجاوز أمتارًا معدودة.
	</li>
</ul>

<p>
	أما عيوب الشبكات الشخصية فهي:
</p>

<ul>
	<li>
		تفتقر الشبكات الشخصية إلى إمكانية الانتشار على نطاق متوسط إلى واسع، فإذا كان المنزل كبيرًا أو يتكون من عدة مباني متجاورة أو عدة طوابق مثلًا فقد لا تكون كافية وسيحتاج المستخدم إلى إنشاء شبكة محلية صغيرة أو إضافة أجهزة تقوية وأسلاك وربما هوائيات أيضًا لنقل الإشارة لاسلكيًا.
	</li>
	<li>
		قد تتداخل إشارات الشبكة مع إشارات شبكات أخرى تعمل على نفس التردد أو النطاق.
	</li>
</ul>

<div class="banner-container ipsBox ipsPadding">
	<div class="inner-banner-container">
		<p class="banner-heading">
			دورة علوم الحاسوب
		</p>

		<p class="banner-subtitle">
			دورة تدريبية متكاملة تضعك على بوابة الاحتراف في تعلم أساسيات البرمجة وعلوم الحاسوب
		</p>

		<div>
			<a class="ipsButton ipsButton_large ipsButton_primary ipsButton_important" href="https://academy.hsoub.com/learn/computer-science/" rel="">اشترك الآن</a>
		</div>
	</div>

	<div class="banner-img">
		<img alt="دورة علوم الحاسوب" src="https://academy.hsoub.com/learn/assets/images/courses/computer-science.png">
	</div>
</div>

<h3>
	الشبكة المحلية LAN
</h3>

<p>
	الشبكات المحلية Local Area Network وتختصر إلى LAN هي ثاني أنواع شبكات الحاسوب من حيث الحجم، وتمتد على مساحات صغيرة نسبيًا، مثل مبنى واحد أو طابق في ذلك المبني، وقد يكون منزلًا أيضًا، و<a href="https://academy.hsoub.com/devops/networking/%D9%85%D8%B4%D9%83%D9%84%D8%A9-%D8%AA%D8%AE%D8%B5%D9%8A%D8%B5-%D8%A7%D9%84%D9%85%D9%88%D8%A7%D8%B1%D8%AF-%D9%84%D9%84%D8%AA%D8%AD%D9%83%D9%85-%D9%81%D9%8A-%D8%A7%D9%84%D8%A7%D8%B2%D8%AF%D8%AD%D8%A7%D9%85-%D9%81%D9%8A-%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D8%AD%D8%A7%D8%B3%D9%88%D8%A8%D9%8A%D8%A9-r526/" rel="">تُشارك الموارد الموجودة في ذلك المبنى مع الحواسيب والأجهزة المتصلة بتلك الشبكة</a>، والغالب على تلك الموارد أن تكون طابعات أو ملفات مخزنة في أرشيف أو أقراص صلبة.
</p>

<p>
	من أهم مزايا الشبكات المحلية ما يلي:
</p>

<ul>
	<li>
		شبكة خاصة لا يستطيع أحد من خارجها أن يصل إليها.
	</li>
	<li>
		تقليل تكلفة الموارد المخصصة لكل حاسوب أو جهاز في تلك الشبكة، بما أننا نستطيع الوصول إلى أي من الموارد الموجودة في أي حاسوب في الشبكة -طالما يمتلك الحاسوب صلاحيات الوصول إلى تلك الموارد-، مثل البرمجيات غالية الثمن التي يمكن استخدامها عبر الشبكة دون الحاجة إلى شراء نسخة لكل حاسوب، أو الاتصال بالإنترنت مثلًا، إذ يمكن استخدام اتصال واحد لكل الحواسيب الموجودة في الشبكة.
	</li>
</ul>

<p>
	أما عيوب الشبكات المحلية فهي:
</p>

<ul>
	<li>
		التكلفة الابتدائية لإنشاء الشبكات المحلية تكون عالية، وإن كانت ستوفر لاحقًا في تكاليف التشغيل نفسها.
	</li>
	<li>
		تحتاج إلى إدارة ومتابعة مستمرة لإصلاح مشاكل العتاد والبرمجيات التي قد تطرأ.
	</li>
	<li>
		يستطيع مدير الشبكة أن يصل إلى جميع الملفات الموجودة على حواسيب الشبكة، فإن كانت تحمي الشبكة من الاتصالات الخارجية، إلا أن المتصلين بالشبكة أنفسهم ليس لديهم خصوصية كبيرة على الملفات الموجودة في حواسيبهم.
	</li>
</ul>



<h3>
	شبكات المؤسسات CAN
</h3>

<p>
	ثالث أنواع شبكات الحاسوب هي شبكات الشركات Corporate Area Network وتُسمى أحيانًا بشبكات الحرم Campus Networks لأنها تُستخدم عادة في الحُرُم الجامعية، وهذا يعني أنها تمتد على نطاق مباني الجامعة كلها بمكتباتها ومبانيها الأكاديمية والإدارية وغيرها، وكذلك في شأن الشركات إذ تُستخدم لتوصيل مباني الشركة ببعضها، فهي أكبر من الشبكات المحلية إذن في نطاقها الجغرافي، لكنها أصغر من الشبكات الواسعة WAN والإقليمية MAN.
</p>

<p>
	من أهم مزايا شبكات الشركات:
</p>

<ul>
	<li>
		تمتد على نطاق بين 1-5 كم.
	</li>
	<li>
		سرعة نقل البيانات، إذ تستخدم مزيجًا من <a href="https://academy.hsoub.com/devops/networking/%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D8%AD%D8%A7%D8%B3%D9%88%D8%A8%D9%8A%D8%A9-%D9%85%D8%AA%D8%B9%D8%AF%D8%AF%D8%A9-%D8%A7%D9%84%D9%88%D8%B5%D9%88%D9%84-multi-access-networks-r491/" rel="">كابلات الإيثرنت السلكية</a> وكابلات الألياف الضوئية فائقة السرعة.
	</li>
	<li>
		مستويات الحماية العالية، نظرًا لطبيعة البيانات الحساسة الخاصة بالشركات والجامعات، <a href="https://academy.hsoub.com/entrepreneurship/business/%D8%AD%D9%85%D8%A7%D9%8A%D8%A9-%D8%A7%D9%84%D8%AD%D9%88%D8%A7%D8%B3%D9%8A%D8%A8-%D9%88%D8%A7%D9%84%D9%85%D8%B9%D9%84%D9%88%D9%85%D8%A7%D8%AA-%D8%AE%D9%84%D8%A7%D9%84-%D8%A7%D9%84%D8%B9%D9%85%D9%84-r892/" rel="">فتوضع إجراءات حماية مشددة على العتاد الخاص بالشبكة</a>، عن طريق الجدر النارية Firewalls وخوادم الوكلاء Proxy Servers، إضافة إلى <a href="https://academy.hsoub.com/devops/networking/%D9%85%D9%81%D9%87%D9%88%D9%85-%D8%A5%D8%AF%D8%A7%D8%B1%D8%A9-%D8%A7%D9%84%D9%88%D8%B5%D9%88%D9%84-%D9%88%D9%83%D9%8A%D9%81%D9%8A%D8%A9-%D8%A5%D8%AF%D8%A7%D8%B1%D8%A9-%D9%88%D9%85%D8%B1%D8%A7%D9%82%D8%A8%D8%A9-%D8%B4%D8%A8%D9%83%D8%A9-%D9%85%D8%A4%D8%B3%D8%B3%D8%AA%D9%83-r619/" rel="">مستويات الصلاحيات المخصصة لكل موظف أو فرد داخل الشبكة</a>، وإجراءات الحماية الأخرى للعتاد من أقفال وحراسة وغيرها.
	</li>
</ul>

<p>
	أما عيوب شبكات الشركات فهي:
</p>

<ul>
	<li>
		عدد العُقد -الحواسيب أو الأجهزة اﻷخرى- المسموح به في الشبكة محدود، كما أن مدى الشبكة محدود بمسافة أيضًا.
	</li>
	<li>
		التكلفة العالية للصيانة والإدارة موازنة بالشبكات المحلية LAN والشبكات الواسعة WAN مثلًا.
	</li>
</ul>



<div class="banner-container ipsBox ipsPadding">
	<div class="inner-banner-container">
		<p class="banner-heading">
			هل ترغب في إدارة شبكتك وحمايتها وتحديثها باستمرار؟
		</p>

		<p class="banner-subtitle">
			وظّف مهندس شبكات خبير من مستقل
		</p>

		<div>
			<a class="ipsButton ipsButton_large ipsButton_primary ipsButton_important" href="https://mostaql.com/freelancers/skill/network-administration" rel="external">أضف مشروعك الآن</a>
		</div>
	</div>
</div>



<h3>
	الشبكات الإقليمية MAN
</h3>

<p>
	تمتد الشبكات الإقليمية Metropolitan Area Network أو شبكات المدن على نطاق أكبر حيث تصل المساحات التي تغطيها إلى خمسين أو مئة كيلومتر مثلًا، وهذه الشبكات تمثل أحد أنواع شبكات الحاسب المعقدة، فقد تتألف من عدة شبكات محلية LAN عبر توصيلهم معًا بكابلات الألياف الضوئية.
</p>

<p>
	من أهم مزايا الشبكات الإقليمية:
</p>

<ul>
	<li>
		سرعات نقل البيانات العالية موازنة بالشبكات المحلية، حيث تكون بين 34-159 ميجابت/ث، أما الشبكات المحلية فتكون من 1-100 ميجابت/ث فقط.
	</li>
	<li>
		تستخدم خاصية المسار المزدوج dual bus لنقل البيانات في كلا اتجاهي وسيلة النقل (الكابل مثلًا) في نفس الوقت.
	</li>
	<li>
		الدعم التقني المتقدم بما أنها تتبع شركات في الغالب أو جهات حكومية.
	</li>
</ul>

<p>
	أما عيوب الشبكات الإقليمية فهي:
</p>

<ul>
	<li>
		التكلفة العالية للإنشاء والتشغيل، حيث تتطلب بنية تحتية باهظة التكلفة، وكذلك فرق صيانة وإدارة متخصصة.
	</li>
	<li>
		صعوبة تأمينها من <a href="https://academy.hsoub.com/devops/networking/%D8%A7%D9%84%D9%87%D8%AC%D9%85%D8%A7%D8%AA-%D8%A7%D9%84%D8%A3%D9%85%D9%86%D9%8A%D8%A9-security-attacks-%D9%81%D9%8A-%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D8%AD%D8%A7%D8%B3%D9%88%D8%A8%D9%8A%D8%A9-r540/" rel="">الهجمات الأمنية التي ينفذها المخترقون</a> بسبب انتشارها الجغرافي الواسع.
	</li>
</ul>

<h3>
	الشبكة واسعة النطاق WAN
</h3>

<p>
	تمتد الشبكات واسعة النطاق Wide Area Network وتختصر إلى WAN على نطاق أوسع من الشبكات السابقة، فيمكن إنشاؤها بين عدة مباني إلى أحجام أكبر تصل إلى العالم كله، <a href="https://academy.hsoub.com/devops/networking/%D8%A2%D9%84%D9%8A%D8%A9-%D8%B9%D9%85%D9%84-%D8%B4%D8%A8%D9%83%D8%A9-%D8%A7%D9%84%D8%A5%D9%86%D8%AA%D8%B1%D9%86%D8%AA-r571/" rel="">فشبكة الإنترنت</a> التي تصل بين مليارات الحواسيب والأجهزة التقنية في القارات المختلفة وفي أعالي البحار وفي الفضاء أيضًا -كما في حالة محطة الفضاء الدولية- ما هي إلا مثال على الشبكات واسعة النطاق WAN، وعلى ذلك يكون هذا النوع من الشبكات هو أكثر أنواع شبكات الحاسوب مرونة في زيادة حجمه.
</p>

<p>
	لكن الأمثلة الأشهر لها هي استخدامها في الشركات أو المؤسسات الكبيرة، وقد تتكون الشبكات واسعة النطاق من مجرد عدة شبكات محلية متصلة معًا.
</p>

<p>
	من أهم مزايا الشبكات واسعة النطاق ما يلي:
</p>

<ul>
	<li>
		إمكانية تغطية مساحات جغرافية كبيرة، مما يعني إمكانية ربط فروع الشركة ببعضها وإن كانت بعيدة.
	</li>
	<li>
		تشمل الشبكات واسعة النطاق نفس المزايا التي للشبكات المحلية، من مشاركة الموارد وتقليل التكلفة وغيرها.
	</li>
</ul>

<p>
	أما عيوب الشبكات واسعة النطاق فما يلي:
</p>

<ul>
	<li>
		تكلفة الإنشاء الابتدائية تكون عالية للغاية بما أنها قد تشمل تثبيت بنية تحتية على نطاق جغرافي كبير.
	</li>
	<li>
		صعوبة صيانتها للأيدي غير المدربة، فيجب توظيف متخصصين في الشبكات.
	</li>
	<li>
		طول المدة اللازمة لإصلاح الأعطال بما أن الفني المسؤول عليه أن يفحص كثيرًا من الأجزاء التي قد تكون فيها المشكلة، وقد يكون ذلك في عدة مباني مختلفة وعبر عدة وسائل لنقل البيانات.
	</li>
</ul>



<div class="banner-container ipsBox ipsPadding">
	<div class="inner-banner-container">
		<p class="banner-heading">
			امتلك شبكة حاسوب اعتمادية وآمنة لأعمالك
		</p>

		<p class="banner-subtitle">
			احصل على حلول شبكات متقدمة وسريعة بالاستعانة بأفضل خدمات الشبكات على خمسات
		</p>

		<div>
			<a class="ipsButton ipsButton_large ipsButton_primary ipsButton_important" href="https://khamsat.com/programming/computer-networks" rel="external">اطلب خدمتك الآن</a>
		</div>
	</div>
</div>



<h2>
	أنواع الشبكات الأخرى
</h2>

<p>
	توجد بعض الأنواع الأكثر تخصصًا في شبكات الحاسوب تخدم أغراضًا بعينها أو تكون لها طبيعة خاصة، وإن كانت جزءًا من واحدة أو أكثر من الشبكات السابقة، وأهم تلك الأنواع ما يلي:
</p>

<h3>
	الشبكات المحلية اللاسلكية WLAN
</h3>

<p>
	تتيح <a href="https://academy.hsoub.com/devops/networking/%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D9%84%D8%A7%D8%B3%D9%84%D9%83%D9%8A%D8%A9-wireless-networks-%D9%88%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D9%88%D8%B5%D9%88%D9%84-access-networks-r492/" rel="">شبكات WLAN</a> إمكانية الاتصال اللاسلكي لجهاز أو أكثر بشبكة محدودة النطاق، كما في حالة <a href="https://academy.hsoub.com/devops/networking/%D8%A7%D9%84%D8%AA%D9%88%D8%AC%D9%8A%D9%87-routing-%D8%A8%D9%8A%D9%86-%D8%A7%D9%84%D8%A3%D8%AC%D9%87%D8%B2%D8%A9-%D8%A7%D9%84%D9%85%D8%AA%D9%86%D9%82%D9%84%D8%A9-%D9%81%D9%8A-%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D8%AD%D8%A7%D8%B3%D9%88%D8%A8%D9%8A%D8%A9-r507/" rel="">الراوتر اللاسلكي (الموجِّه)</a> أو نقطة الاتصال Access Point أو المكرر Repeater الذين قد تستخدمهم في المنزل أو العمل، فيستطيع المستخدمون التحرك بأجهزتهم في نطاق تغطية الشبكة دون الحاجة إلى الاتصال السلكي.
</p>

<h3>
	شبكات التخزين SAN
</h3>

<p>
	تتكون شبكات التخزين Storage-Area Networks وتختصر إلى SAN من وحدات تخزينية قد تكون مجرد أقراص صلبة صغيرة أو قد تكون خوادم كاملة مخصصة لتخزين، ويمكن تصور كيفية عمل هذه الشبكة على أنها مجموعة من أقراص التخزين، يمكن الوصول إليها عبر شبكة من الخوادم. وتتميز هذه الشبكة بسرعة الوصول إلى بياناتها بسبب أن وحدات التخزين تظهر كأقراص صلبة في الحواسيب المتصلة بتلك الشبكة.
</p>

<h3>
	الشبكات الخاصة بالمؤسسات EPN
</h3>

<p>
	قد تبني الشركات أو المؤسسات شبكات خاصة بها Enterprise Private Networks لا يمكن الوصول إليها من خارجها، وذلك في حالة الشركات التي تريد توصيل عدة مواقع تتبعها توصيلًا آمنًا لضمان سلامة بياناتها الحساسة.
</p>

<h3>
	الشبكات الافتراضية الخاصة <abbr title="Virtual Private Network | الشبكة الخاصة الافتراضية"><abbr title="Virtual Private Network | الشبكة الخاصة الافتراضية">VPN</abbr></abbr>
</h3>

<p>
	الشبكات الافتراضية الخاصة Virtual Private Networks تكون خاصة أيضًا -من الخصوصية- لكنها تستخدم شبكة عامة للاتصال بالمواقع البعيدة أو توصيل عدة مستخدمين معًا، وتستخدم اتصالات افتراضية أو وهمية virtual توجَّه داخل الإنترنت من شبكة المؤسسة إلى <a href="https://academy.hsoub.com/devops/security/vpn/%D8%A7%D9%84%D8%B6%D8%A8%D8%B7-%D8%A7%D9%84%D9%85%D8%AA%D9%82%D8%AF%D9%85-%D9%84%D9%80-openvpn-%D8%B9%D9%84%D9%89-%D8%A3%D9%88%D8%A8%D9%86%D8%AA%D9%88-r223/" rel="">طرف ثالث يقدم خدمات <abbr title="Virtual Private Network | الشبكة الخاصة الافتراضية"><abbr title="Virtual Private Network | الشبكة الخاصة الافتراضية">VPN</abbr></abbr></a>، ومنها إلى الموقع البعيد الخاص بالشركة.
</p>

<p>
	قد يكون استخدام تلك الشبكات مدفوعًا أو مجانيًا وفقًا لمقدم الخدمة، وتختلف عن النوع السابق للشبكات الخاصة في أنها يمكن الوصول منها إلى الإنترنت، على عكس شبكات المؤسسات التي تكون مقصورة على موارد الشبكة فقط بما أنها تستخدم خطوطًا خاصة بها لنقل البيانات.
</p>

<h2>
	خاتمة
</h2>

<p>
	تعرفنا في هذه المقالة على أشهر أنواع شبكات الحاسب المنتشرة، واستخدامات كل منها ومزايا بعضها، وعرفنا أنها تُصنف وفقًا لحجمها والغرض الذي تُستخدم له، ولا شك أنه توجد أنواع أخرى من الشبكات مثل الشبكات المنزلية Home Area Networks (HAN)‎ وغيرها ولكن حرصنا أن يكون المقال تعريفًا بسيطًا بأشهر أنواع شبكات الحاسوب ببساطة ودون تعقيد أو تطويل، ويمكنك أن تنتقل بعد هذا المقال إلى مواضيع أوسع عن شبكات الحاسوب.
</p>

<p>
	وتوفر أكاديمية حسوب <a href="https://academy.hsoub.com/learn/computer-science/" rel="">مساقًا كاملًا لتعلم علوم الحاسوب الأساسية</a>، وفهم أساسيات أنظمة التشغيل المختلفة التي تعمل بها الحواسيب والأجهزة الإلكترونية والخوادم، وكذلك المفاهيم الأساسية في الشبكات، وطبيعة عمل الخوادم من حيث استقبال الطلبات فيها والرد عليها، ومفاهيم الحماية والأمان في تلك الشبكات وفي الويب خاصة.
</p>

<h2>
	اقرأ أيضًا
</h2>

<ul>
	<li>
		<a href="https://academy.hsoub.com/devops/networking/%D8%A7%D9%84%D9%85%D8%AA%D8%B7%D9%84%D8%A8%D8%A7%D8%AA-%D8%A7%D9%84%D9%84%D8%A7%D8%B2%D9%85%D8%A9-%D9%84%D8%A8%D9%86%D8%A7%D8%A1-%D8%B4%D8%A8%D9%83%D8%A9-%D8%AD%D8%A7%D8%B3%D9%88%D8%A8%D9%8A%D8%A9-r483/" rel="">المتطلبات اللازمة لبناء شبكة حاسوبية</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/devops/networking/%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D9%8A%D8%A7%D8%AA-%D8%A7%D9%84%D9%85%D8%B3%D8%AA%D8%AE%D8%AF%D9%85%D8%A9-%D9%81%D9%8A-%D8%A8%D9%86%D8%A7%D8%A1-%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D8%AD%D8%A7%D8%B3%D9%88%D8%A8%D9%8A%D8%A9-r485/" rel="">البرمجيات المستخدمة في بناء الشبكات الحاسوبية</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/devops/networking/%D8%A3%D9%85%D8%AB%D9%84%D8%A9-%D8%B9%D9%86-%D8%A3%D9%86%D8%B8%D9%85%D8%A9-%D8%A3%D9%85%D9%86-%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D8%AD%D8%A7%D8%B3%D9%88%D8%A8%D9%8A%D8%A9-r542/" rel="">أمثلة عن أنظمة أمن الشبكات الحاسوبية</a>
	</li>
</ul>
]]></description><guid isPermaLink="false">781</guid><pubDate>Thu, 06 Jul 2023 13:00:00 +0000</pubDate></item><item><title>&#x634;&#x628;&#x643;&#x627;&#x62A; &#x627;&#x644;&#x62D;&#x627;&#x633;&#x628;: &#x645;&#x627; &#x647;&#x64A; &#x648;&#x645;&#x627; &#x623;&#x646;&#x648;&#x627;&#x639;&#x647;&#x627;</title><link>https://academy.hsoub.com/devops/networking/%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D8%AD%D8%A7%D8%B3%D8%A8/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2023_06/--------.png.56a096d8aef6a06e9ec32145bbd5b418.png" /></p>
<p>
	شبكة الحاسب ببساطة هي مجموعة من أجهزة الحاسب التي تتصل ببعضها وتستخدم موارد مشتركة بينها، وتكون تلك الموارد المشتركة إما بيانات أو أجهزة حقيقية مثل الطابعات وأجهزة العرض والتسجيل أو الماكينات والآلات التي تحمل رقاقات حاسوبية بداخلها متصلة بنفس الشبكة.
</p>

<p>
	وصحيح أن مصطلح شبكة الحاسب على إطلاقه يشير إلى الشبكة العالمية التي نعرفها بالإنترنت، إلا أن مفهوم الشبكات أوسع من ذلك بكثير، كما سنرى في الفقرات التالية.
</p>

<h2>
	تعريف شبكة الحاسب
</h2>

<p>
	شبكة الحاسب computer network مؤلفة من كلمتين، الأولى شبكة ومعناها لا يخفى على أي قارئ عربي وهي بحسب قاموس صخر المعاصر ربط بين شيئين أو عدة أشياء أو يطلق على كل متداخل متشابك وتحصر كلمة الحاسب الثانية بربط الحواسيب مع بعضها بعضًا.
</p>

<p>
	ظهرت أول صورة من صور الحواسيب المتصلة ببعضها في أواخر الخمسينات من القرن الماضي في صورة شبكة من الحواسيب التي استُخدمت في أحد أنظمة الرادار في الجيش الأمريكي، وقد استُخدمت خطوط الهاتف العادية في نقل البيانات بواسطة جهاز مودم تجاري من شركة AT&amp;T.
</p>

<p>
	تبع هذه المحاولة في تنظيم الاتصال بين الحواسيب البعيدة عن بعضها عدة محاولات أخرى في الشركات الكبرى والجامعات، وكان أغلب تلك المحاولات يحاول تنظيم الموارد المتاحة للشركة أو المؤسسة وتسهيل تطوير البيانات واتخاذ القرار من خلال تنظيم حركة تدفق البيانات بين تلك الحواسيب البعيدة.
</p>

<div class="banner-container ipsBox ipsPadding">
	<div class="inner-banner-container">
		<p class="banner-heading">
			دورة علوم الحاسوب
		</p>

		<p class="banner-subtitle">
			دورة تدريبية متكاملة تضعك على بوابة الاحتراف في تعلم أساسيات البرمجة وعلوم الحاسوب
		</p>

		<div>
			<a class="ipsButton ipsButton_large ipsButton_primary ipsButton_important" href="https://academy.hsoub.com/learn/computer-science/" rel="">اشترك الآن</a>
		</div>
	</div>

	<div class="banner-img">
		<img alt="دورة علوم الحاسوب" src="https://academy.hsoub.com/learn/assets/images/courses/computer-science.png">
	</div>
</div>

<h2>
	فوائد شبكات الحاسب
</h2>

<p>
	لعل فوائد الشبكات بدأت تتضح مما لنا نحن كمستخدمين عاديين أو كشركات، وبدت أهمية شبكات الحاسب في نقل البيانات والمعلومات بين الدول والمؤسسات والأفراد، وكذلك في التحكم في الأجهزة والآلات عن بعد لتسهيل مراقبتها، وفيما يلي أهم تلك الفوائد:
</p>

<ul>
	<li>
		<a href="https://academy.hsoub.com/entrepreneurship/planning/%D8%A3%D9%81%D8%B6%D9%84-%D8%A7%D9%84%D9%86%D8%B5%D8%A7%D8%A6%D8%AD-%D9%84%D8%A5%D8%AF%D8%A7%D8%B1%D8%A9-%D9%81%D8%B1%D9%82-%D8%A7%D9%84%D8%B9%D9%85%D9%84-%D8%A7%D9%84%D9%85%D9%88%D8%B2%D8%B9%D8%A9-r984/" rel="">مشاركة الملفات</a>: كما في حالة الشركات والمؤسسات، بل وفرق العمل التي تعمل عن بعد.
	</li>
	<li>
		مشاركة الموارد: كما في حالة مشاركة الطابعات، والحواسيب القوية لإجراء عمليات محاكاة أو إخراج للتصاميم الهندسية أو الإبداعية، أو العمل على برامج عمل سحابية مثل مستندات جوجل أو برامج تصميم مشترك سحابية.
	</li>
	<li>
		التواصل: حيث يستطيع المستخدمون للشبكة أن يرسلوا الرسائل والبيانات والوسائط فورًا ويستقبلون بيانات وردودًا مشابهة من غيرهم من المستخدمين في نفس الوقت.
	</li>
	<li>
		تقليل التكلفة: كما رأينا في حالة الموارد المشتركة مثل الطابعات أو الحواسيب الكبيرة أو توفير أجهزة وهمية للموظفين للعمل عليها أو خوادم وهمية لاستضافة المواقع.
	</li>
	<li>
		زيادة كفاءة المعدات وسلامة البيانات: بما أن العتاد المستخدم للشبكات يكون في الغالب ذا جودة عالية ويقوم عليه فريق صيانة متخصص، فتقل احتمالات تعطل العتاد أو خسارة البيانات نتيجة النسخ الاحتياطية المنظمة التي تُنفذ للبيانات، على عكس الحواسيب الشخصية للمستخدمين.
	</li>
</ul>

<h2>
	عيوب شبكات الحاسوب
</h2>

<p>
	رغم المنافع التي تطغى على بيئة الشبكات إلا أنها تأتي بعيوب قد يكون بعضها خطيرة وقد يكون بعضها الآخر مجرد أعباء إدارية، وفيما يلي بعض تلك العيوب لشبكات الحاسب:
</p>

<ul>
	<li>
		تحتاج شبكات الحاسب إلى الاستثمار في بنى تحتية باهظة التكلفة عند بداية إنشائها، وكلما زاد حجم الشبكة زادت التكاليف كثيرًا.
	</li>
	<li>
		تحتاج شبكات الحاسب إلى مراقبة على مدار الساعة لتجنب تعطل أجزائها أو فشل عمليات توصيل الطاقة إليها أو تبريد مراكز البيانات، أو اختراقها داخليًا من العاملين فيها أو خارجيًا من مخربين أو مخترقين عن بعد.
	</li>
	<li>
		سهولة انتقال الفيروسات والبرامج الضارة لكل الأجهزة المتصلة بالشبكة إن أصيب أحدها.
	</li>
	<li>
		المخاطر الأمنية التي قد تحصل نتيجة هجمات قد تأتي داخليًا من أحد الأجهزة المتصلة بالشبكة أو خارجيًا عبر اختراق الشبكة والأجهزة المتصلة بها.
	</li>
</ul>

<h2>
	مكونات شبكات الحاسب الرئيسية
</h2>

<p>
	صحيح أننا ذكرنا أن الشبكات الحاسوبية عبارة عن حواسيب متصلة ببعضها، لكن الأمر فيه تفصيل أكثر من هذا، فليست كل تلك الحواسيب عامة الأغراض وتشبه الحاسوب الذي لدى المستخدم العادي، بل يكون بعضها مخصصًا لوظيفة أو أكثر داخل تلك الشبكة بحيث يخدم بقية مكونات الشبكة دون أن يُستخدم هو نفسه لأي غرض آخر، بل قد يُحظر الوصول إليه أحيانًا إلا لفئات محدودة من الأشخاص لعدة أسباب أهمها الحفاظ على <a href="https://academy.hsoub.com/devops/networking/%D8%A3%D9%85%D8%AB%D9%84%D8%A9-%D8%B9%D9%86-%D8%A3%D9%86%D8%B8%D9%85%D8%A9-%D8%A3%D9%85%D9%86-%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D8%AD%D8%A7%D8%B3%D9%88%D8%A8%D9%8A%D8%A9-r542/" rel="">أمان الشبكة</a>، وهكذا فإن <a href="https://academy.hsoub.com/devops/networking/%D8%A7%D9%84%D9%85%D8%AA%D8%B7%D9%84%D8%A8%D8%A7%D8%AA-%D8%A7%D9%84%D9%84%D8%A7%D8%B2%D9%85%D8%A9-%D9%84%D8%A8%D9%86%D8%A7%D8%A1-%D8%B4%D8%A8%D9%83%D8%A9-%D8%AD%D8%A7%D8%B3%D9%88%D8%A8%D9%8A%D8%A9-r483/" rel="">المتطلبات اللازمة لإنشاء شبكة حاسوبية</a> قد تكون أكثر تعقيدًا من مجرد توصيل بعض الأجهزة ببعضها.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="129063" href="https://academy.hsoub.com/uploads/monthly_2023_06/430436144_.png.f7ecab0b00808b2d62e0e17107d36254.png" rel=""><img alt="مكونات شبكات الحاسب" class="ipsImage ipsImage_thumbnailed" data-fileid="129063" data-ratio="62.50" data-unique="g61ab381l" style="width: 800px; height: auto;" width="900" src="https://academy.hsoub.com/uploads/monthly_2023_06/.thumb.png.c48b6f296755aa2fe686fcbcf3688020.png"> </a>
</p>

<h3>
	الخوادم Servers: أساس شبكات الحاسب
</h3>

<p>
	لعل أجهزة <a href="https://academy.hsoub.com/devops/servers/%D9%85%D8%AF%D8%AE%D9%84-%D8%A5%D9%84%D9%89-%D8%AE%D8%A7%D8%AF%D9%85-%D8%A7%D9%84%D9%88%D9%8A%D8%A8-r574/" rel="">الخوادم servers</a> هي القلب النابض لشبكات الحاسوب، وهي حواسيب توضع فيها الموارد التي يراد الوصول إليها عن بعد من بقية مكونات الشبكة، وهي حواسيب أقوى من الحواسيب العادية بعشرات المرات من حيث قوة المعالجة وعدد المعالجات ومساحات التخزين والذواكر العشوائية، وتوجد في العادة في غرف مخصصة آمنة تسمى مراكز بيانات data centers.
</p>

<p>
	فحين تدخل إلى موقع تتصفحه مثلًا (والموقع هو جزء من شبكة الإنترنت العالمية) وليكن يوتيوب، فإنك تكتب عنوان الموقع في المتصفح، فيذهب بك إلى يوتيوب لتتصفح مقطعًا تريد مشاهدته، فهذا المقطع مخزن على خوادم شركة يوتيوب، وكذلك موقع يوتيوب نفسه مخزّن على خوادم سريعة بالغة القوة لتتحمل آلاف المقاطع التي تُرفع إليه وملايين المستخدمين الذين يتصفحونه في نفس الوقت.
</p>

<p>
	وتوجد أنواع عديدة من الخوادم يختص كل منها بمهمة أو عدة مهام، وأشهر تلك الأنواع ما يلي:
</p>

<ul>
	<li>
		خوادم أسماء النطاقات Domain Name Servers
	</li>
	<li>
		خوادم التطبيقات Application Servers
	</li>
	<li>
		خوادم الويب Web Servers
	</li>
	<li>
		خوادم الملفات File Servers
	</li>
	<li>
		خوادم البريد Mail Servers
	</li>
</ul>

<h4>
	خوادم أسماء النطاقات Domain Name Servers
</h4>

<p>
	وهي الخوادم التي تحتوي على عناوين المواقع التي تتصفحها، فإذا استخدمنا مثال يوتيوب السابق، فإنك تكتب Youtube.com مثلًا ثم تضغط زر الإدخال Enter ليرسل المتصفح الطلب إلى الشبكة، فيمر على <a href="https://academy.hsoub.com/devops/networking/%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D9%86%D9%8A%D8%A9-%D8%A7%D9%84%D8%AA%D8%AD%D8%AA%D9%8A%D8%A9-%D9%81%D9%8A-%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D8%AD%D8%A7%D8%B3%D9%88%D8%A8%D9%8A%D8%A9-r552/" rel="">خادم DNS</a> الذي يمثل دفتر جهات الاتصال للشبكة وهي هنا شبكة الإنترنت، فيرسل بدوره الطلب إلى العنوان المقابل لهذا النطاق أو الموقع -youtube.com-، ويكون في الغالب مجموعة من الأرقام مثل 192.0.2.44.
</p>

<h4>
	خوادم التطبيقات Application Servers
</h4>

<p>
	تُحفظ بعض التطبيقات البرمجية على خوادم بعيدة ليتصل بها المستخدمون من حواسيبهم أينما كانوا، وتسمى الخوادم التي تُحفظ عليها باسم خوادم التطبيقات Application Servers، وتُستخدم مثل تلك التطبيقات في الغالب داخل الشركات التي تريد للموظفين أن يستفيدوا من تلك التطبيقات المركزية دون الحاجة إلى تثبيت التطبيق على حاسوب كل موظف، وهذا مفيد في تجميع بيانات العمل للموظفين في فريق واحد مثلًا ومشاركتها والتعديل عليها مباشرة دون الانتظار لرفع تلك البيانات من حاسوب كل موظف.
</p>

<p>
	كذلك تُستخدم في حالة الشركات التي تقدم خدمات بعيدة لمستخدميها بحيث يتصل المستخدم بالتطبيق الموجود بخوادم الشركة من أي جهاز متصل بالإنترنت دون أن يكون التطبيق مثبتًا على حاسوبه الشخصي، ومثل تلك التطبيقات تسمى تطبيقات ويب web apps لأنها تعمل في بيئة الويب في الغالب ويصل المستخدم إليها عن طريق المتصفح.
</p>

<h4>
	خوادم الويب Web Servers
</h4>

<p>
	<a href="https://academy.hsoub.com/programming/general/%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D9%85%D9%88%D8%A7%D9%82%D8%B9-%D8%A7%D9%84%D9%88%D9%8A%D8%A8/" rel="">خوادم الويب</a> هي أشهر أنواع الخوادم التي تُستخدم في الوصول إلى الإنترنت، وهي المسؤولة عن نقل البيانات المخزنة في مواقع الإنترنت إلى حاسوبك أو جهازك الذي تتصفح منه، عن طريق <a href="https://academy.hsoub.com/programming/general/%D9%85%D8%AF%D8%AE%D9%84-%D8%A5%D9%84%D9%89-http-%D8%B4%D8%B1%D8%AD-%D8%A7%D9%84%D8%AA%D8%AE%D8%A7%D8%B7%D8%A8-%D8%A8%D9%8A%D9%86-%D8%A7%D9%84%D8%B9%D9%85%D9%8A%D9%84-%D9%88%D8%A7%D9%84%D8%AE%D8%A7%D8%AF%D9%85-r74/" rel="">بروتوكولات نقل بيانات مثل HTTP</a>.
</p>

<h4>
	خوادم الملفات File Servers
</h4>

<p>
	تُستخدم خوادم الملفات في تخزين البيانات والملفات والبرامج داخل المؤسسات مثلًا للسماح بنقل تلك الملفات ومشاركتها بسرعة وأمان بين العاملين في تلك المؤسسة.
</p>

<h4>
	خوادم البريد Mail Servers
</h4>

<p>
	يخزن خادم البريد الرسائل البريدية الخاصة بالمستخدمين الذين يستخدمون خدمات بريدية مثل Gmail مثلًا، كي يتمكنوا من الوصول إليها دون الحاجة إلى استخدام برمجيات خاصة على أجهزتهم، حيث تكون تلك البرمجيات في <a href="https://academy.hsoub.com/devops/networking/%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D8%AD%D8%A7%D8%B3%D9%88%D8%A8%D9%8A%D8%A9-%D8%A7%D9%84%D8%A8%D8%B1%D9%8A%D8%AF-%D8%A7%D9%84%D8%A5%D9%84%D9%83%D8%AA%D8%B1%D9%88%D9%86%D9%8A-r547/" rel="">خوادم البريد</a> نفسها.
</p>

<p>
	توجد أنواع أخرى من الخوادم غير التي ذكرناها أعلاه، لكن هذه هي الأشهر والتي قد يتعامل المستخدم معها بشكل أو بآخر أثناء حياته اليومية داخل العمل وخارجه.
</p>

<h3>
	المبدِّل Switches
</h3>

<p>
	المبدِّل switch هو جهاز يربط أجزاء الشبكة ببعضها بواسطة أسلاك إيثرنت Ethernet أو فايبر في الغالب، فتتصل به الحواسيب الموجودة داخل مبنى مثلًا بالشبكة الموجودة داخل ذلك المبنى، ويكون هو المسؤول عن تنظيم التواصل بين تلك الحواسيب، ولمزيد من التفاصيل حول المبدل ووصله بالشبكة، يمكنك الرجوع إلى مقال <a href="https://academy.hsoub.com/devops/networking/%D8%B4%D8%A8%D9%83%D8%A9-%D8%A7%D9%84%D8%A5%D9%8A%D8%AB%D8%B1%D9%86%D8%AA-%D8%A7%D9%84%D9%85%D8%A8%D8%AF%D9%84%D8%A9-switched-ethernet-r496/" rel="">شبكة الإيثرنت المبدلة Switched Ethernet</a>.
</p>

<h3>
	الموجِّه Router
</h3>

<p>
	لعل هذا الجهاز الصغير هو أكثر مكونات الشبكات التي يتعامل معها المستخدم وإن كان تعاملًا غير مباشر، يليه جهاز نقطة الاتصال Access Point.
</p>

<p>
	<a href="https://academy.hsoub.com/devops/networking/%D8%A7%D9%84%D8%AA%D9%88%D8%AC%D9%8A%D9%87-routing-%D8%A8%D9%8A%D9%86-%D8%A7%D9%84%D8%A3%D8%AC%D9%87%D8%B2%D8%A9-%D8%A7%D9%84%D9%85%D8%AA%D9%86%D9%82%D9%84%D8%A9-%D9%81%D9%8A-%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D8%AD%D8%A7%D8%B3%D9%88%D8%A8%D9%8A%D8%A9-r507/" rel="">يُستخدم الموجِّه أو الراوتر في الاتصال بشبكات متعددة</a>، كما يُستخدم لمشاركة اتصال إنترنت واحد مع عدة حواسيب وأجهزة أخرى لتقليل تكلفة اتصال كل منها على حدة بالشبكة، سواء عن طريق أسلاك أو هوائيًا، ولا يكاد يخلو منزل في يومنا هذا من وجود راوتر فيه للاتصال بشبكة الإنترنت عبر مزود خدمة الإنترنت.
</p>

<h3>
	نقطة الاتصال Access Point
</h3>

<p>
	تُستخدم نقاط الاتصال، وهي أجهزة شبيهة بأجهزة الراوتر- لتوصيل الحواسيب والهواتف والأجهزة الأخرى بالشبكة اتصالًا لاسلكيًا، عن طريق الاتصال سلكيًا بالراوتر ثم بث إشارة الشبكة لاسلكيًا عن طريق هوائي صغير متصل بها.
</p>

<p>
	يمكن لتلك الأجهزة وكذلك أجهزة الراوتر أن تهيأ لتُستخدم كمكررات لإشارات الشبكات repeaters، بحيث تلتقط إشارة الشبكة لاسلكيًا وتنقيها من التشويش ثم تعيد توليدها وبثها مرة أخرى بقوة أكبر، وذلك من أجل توسيع نطاق البث للشبكة.
</p>

<h3>
	العملاء/الأجهزة العميلة Clients
</h3>

<p>
	الأجهزة العميلة أو الوكيلة في بيئة الشبكات هي الحواسيب والأجهزة الأخرى التي تتصل بالشبكة ومواردها المختلفة من خوادم وغيرها، وتلك الأجهزة العميلة تمثل مستخدمي الشبكات، حيث تستطيع إرسال واستقبال الطلبات من الخوادم.
</p>


<div class="banner-container ipsBox ipsPadding">
	<div class="inner-banner-container">
		<p class="banner-heading">
			هل ترغب في بناء شبكة موثوقة وآمنة لشركتك؟
		</p>

		<p class="banner-subtitle">
			احصل على شبكة عالية الأداء مع مهندس شبكات خبير من مستقل
		</p>

		<div>
			<a class="ipsButton ipsButton_large ipsButton_primary ipsButton_important" href="https://mostaql.com/freelancers/network-engineer" rel="external">أضف مشروعك الآن</a>
		</div>
	</div>
</div>




<h2>
	مكونات أخرى لشبكات الحاسب
</h2>

<p>
	إضافة إلى ما سبق، توجد مكونات وأجهزة أخرى تمثل أجزاء لا غنى عنها للشبكة، وقد لا تكون بالضرورة أجهزة مادية، لكن المستخدم العادي قد لا يحتك بها مباشرة أو ليس له وصول إليها، وبعض تلك المكونات ما يلي:
</p>

<h3>
	بروتوكولات شبكات الحاسب
</h3>

<p>
	البروتوكول Protocol هو مجموعة من القواعد التي تحكم التواصل بين جهتين في الشبكة، وتكون بعض تلك البروتوكولات قياسية مثل بروتوكولات <a href="https://academy.hsoub.com/devops/networking/%D8%B4%D8%A8%D9%83%D8%A9-%D8%A7%D9%84%D8%A5%D9%86%D8%AA%D8%B1%D9%86%D8%AA-%D8%A8%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85-%D8%A8%D8%B1%D9%88%D8%AA%D9%88%D9%83%D9%88%D9%84-ip-r497/" rel="">IP</a> و <a href="https://academy.hsoub.com/devops/networking/%D8%A8%D8%B1%D8%AA%D9%88%D9%83%D9%88%D9%84%D8%A7%D8%AA-%D8%AA%D8%AF%D9%81%D9%82-%D8%A7%D9%84%D8%A8%D8%A7%D9%8A%D8%AA%D8%A7%D8%AA-%D8%A7%D9%84%D9%85%D9%88%D8%AB%D9%88%D9%82%D8%A9-%D9%81%D9%8A-%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D8%AD%D8%A7%D8%B3%D9%88%D8%A8%D9%8A%D8%A9-%D8%A8%D8%B1%D9%88%D8%AA%D9%88%D9%83%D9%88%D9%84-tcp-%D9%85%D8%AB%D8%A7%D9%84%D8%A7-r515/" rel="">TCP</a> و FTP وغيرها.
</p>

<h3>
	عنوان الوصول للجهاز Mac Address
</h3>

<p>
	يمثل عنوان الماك -عنوان التحكم في الوصول إلى الوسائط Media Access Control Address- معرِّفًا وعنوانًا فريدًا لكل جهاز يتصل بالشبكة.
</p>

<h3>
	المنفذ Port
</h3>

<p>
	المنافذ هي قنوات منطقية يرسل المستخدمون البيانات من خلالها إلى التطبيقات أو يستقبلون بيانات منها، ويُعرَّف كل تطبيق من تلك التطبيقات باستخدام رقم المنفذ الذي يعمل من خلاله.
</p>

<h3>
	وسائل نقل البيانات في شبكة الحاسب
</h3>

<p>
	إذا كانت بيانات التطبيقات والمواقع والشركات تُخزَّن على خوادم وحواسيب بعيدة، وكان المستخدمون يصلون إلى تلك الخوادم من خلال حواسيبهم وهواتفهم وغيرها من الأجهزة، فكيف تُنقل تلك البيانات؟
</p>

<p>
	تُرسل البيانات بطريقتين أساسيتين، إما نقلًا سلكيًا أو غير سلكي، والنقل السلكي يكون دومًا أسرع وأفضل، لكنه <a href="https://academy.hsoub.com/devops/networking/%D8%A2%D9%84%D9%8A%D8%A9-%D8%B9%D9%85%D9%84-%D8%B4%D8%A8%D9%83%D8%A9-%D8%A7%D9%84%D8%A5%D9%86%D8%AA%D8%B1%D9%86%D8%AA-r571/" rel="">يحتاج إلى بنى تحتية أكثر كلفة</a>، ويتم النقل فيه عبر كابلات من الألياف الزجاجية Fiber glass، خاصة في حالة الكابلات العابرة للمحيطات التي تربط بين القارات المختلفة، وكذلك باستخدام كابلات نحاسية مؤمنة ضد التشويش على الإشارات، تكون في صورة كابلات الإيثرنت التي نعرفها ذات الثمانية أطراف، أو الكابلات المحورية Coaxial، أو أسلاك الهاتف العادية كما كان يحدث قديمًا في اتصال Dialup.
</p>

<p>
	أما الاتصالات اللاسلكية فتكون باستخدام هوائيات Antennas لبث الاتصال بالشبكة المراد الاتصال بها، وتختلف المسافة التي يمكن الاتصال بالشبكة من خلالها وكذلك عدد المستخدمين الذين يمكنهم الاتصال بتلك الشبكة على نوع الهوائي المستخدم وسعة الشبكة نفسها.
</p>

<h3>
	الجدار الناري Firewall
</h3>

<p>
	<a href="https://academy.hsoub.com/devops/security/firewalls/%D9%85%D8%A7-%D9%87%D9%88-%D8%A7%D9%84%D8%AC%D8%AF%D8%A7%D8%B1-%D8%A7%D9%84%D9%86%D8%A7%D8%B1%D9%8A-%D9%88%D9%83%D9%8A%D9%81-%D9%8A%D8%B9%D9%85%D9%84%D8%9F-r114/" rel="">الجدار الناري</a> قد يكون جهازًا ماديًا أو برنامجيًا يُستخدم في التحكم في الشبكة وأمانها وقواعد الوصول إليها، وتوضع كحماية للحاسوب وما يتصل به من الشبكات الآمنة -مثل شبكات المنازل والشركات- من الاتصالات الخارجية غير المأمونة مثل الإنترنت، وتهيأ لحظر الطلبات من المصادر غير المعرَّفة للشبكة الآمنة، فهو مثل الباب الذي يفصل المنزل الداخلي الخاص عن المحيط الخارجي العام.
</p>

<p>
	زادت أهمية الجدر النارية كثيرًا بعد تطور الإنترنت ووصوله إلى يد كل مستخدم من خلال الهواتف الذكية وأجهزة إنترنت الأشياء، حيث <a href="https://academy.hsoub.com/entrepreneurship/business/%D8%AD%D9%85%D8%A7%D9%8A%D8%A9-%D8%A7%D9%84%D8%AD%D9%88%D8%A7%D8%B3%D9%8A%D8%A8-%D9%88%D8%A7%D9%84%D9%85%D8%B9%D9%84%D9%88%D9%85%D8%A7%D8%AA-%D8%AE%D9%84%D8%A7%D9%84-%D8%A7%D9%84%D8%B9%D9%85%D9%84-r892/" rel="">زادت خطورة الهجمات السيبرانية</a> التي قد تستهدف أولئك المستخدمين بحيث يمكن التلاعب بأجهزتهم وسرقة بياناتهم وإغلاق تلك الأجهزة لطلب فدية، كما يحدث كل مدة في حالة فيروسات الفدية التي تصيب أجهزة المستشفيات والمؤسسات المهمة والشركات الكبرى.
</p>

<p>
	أو حتى على مستوى الشبكات الموجودة في المنازل العادية حيث انتشرت أنظمة البيوت الذكية التي يُمكن التحكم فيها عن بعد، فيستطيع المخرب تنفيذ هجمة على المنزل بتغيير درجات الحرارة أو قطع الكهرباء أو الاتصالات أو التلاعب بالأجهزة المنزلية المتصلة بالشبكة.
</p>

<h2>
	أنواع شبكات الحاسوب
</h2>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="129064" href="https://academy.hsoub.com/uploads/monthly_2023_06/203938187_.png.abf1f0a4abf5541795d06912e99b89f8.png" rel=""><img alt="أنواع شبكات الحاسب" class="ipsImage ipsImage_thumbnailed" data-fileid="129064" data-ratio="62.50" data-unique="ywnuj5ejt" style="width: 800px; height: auto;" width="900" src="https://academy.hsoub.com/uploads/monthly_2023_06/.thumb.png.b686261c5e6f608dfd52c30b25d32067.png"> </a>
</p>

<p>
	توجد عدة أنواع من الشبكات تُصنف وفقًا للحيز الجغرافي الذي تخدمه وعدد الحواسيب المتصلة فيها، وفيما يلي بعض أشهر أنواع هذه الشبكات:
</p>

<ol>
	<li>
		الشبكة الشخصية PAN‎
	</li>
	<li>
		الشبكة المحلية LAN
	</li>
	<li>
		الشبكات واسعة النطاق WAN
	</li>
	<li>
		الشبكات الإقليمية MAN
	</li>
</ol>

<h3>
	1. الشبكة الشخصية PAN‎
</h3>

<p>
	الشبكات الشخصية Personal Area Network وتختصر إلى PAN هي الشبكات التي تتكون من أجهزة تتبع شخصًا واحدًا، مثل الحاسب الخاص به وهاتفه وأجهزته اللاسلكية المتصلة عبر البلوتوث، ويكون نطاقها محدودًا بالتبعية، وقد تتصل بالإنترنت لاسلكيًا.
</p>

<h3>
	2. الشبكة المحلية LAN
</h3>

<p>
	الشبكات المحلية Local Area Network وتختصر إلى LAN تتكون الشبكات المحلية من مجموعة من الحواسيب والأجهزة الأخرى التي تتصل بشبكة واحدة على نطاق مبنى أو عدة مباني متجاورة تمثل مؤسسة واحدة مثل شركة أو مستشفى أو منزل أو غيره، وتكون الشبكة مقصورة على الأجهزة التي داخل تلك المباني، أي لا يمكن الوصول إليها من خارج الأجهزة المتصلة بها أو من خارج نطاق تلك الشبكة.
</p>

<p>
	تُستخدم تلك الشبكات في أغراض نقل الملفات واستخدام الأجهزة عن بعد مثل الطابعات والماسحات الضوئية وغيرها، ولعل أبسط صورها هو حاسوب متصل بطابعة مثلًا. لا يزيد عدد الأجهزة المتصلة في الشبكات المحلية عن 5000 جهاز.
</p>

<h3>
	3. الشبكات واسعة النطاق WAN
</h3>

<p>
	الشبكات واسعة النطاق Wide Area Network وتختصر إلى WAN تمثل عدة شبكات محلية متصلة معًا، لكنها تمتد على نطاق جغرافي أكبر، كما في حالة الشركات الكبرى.
</p>

<p>
	تُعد شبكة الإنترنت أحد أمثلة الشبكات واسعة النطاق WAN العامة، أي التي يصل إليها كل أحد، على عكس الشبكات الواسعة التي تكون مقصورة على المؤسسات والشركات.
</p>

<h3>
	4. الشبكات الإقليمية MAN
</h3>

<p>
	تنتشر الشبكات الإقليمية Metropolitan Area Network وتختصر إلى MAN على نطاق أوسع من سابقتها، حيث تمتد خلال المدن الكبيرة، وتمتد على نطاق يصل إلى خمسين كيلومترًا مثلًا، وقد تشمل شبكات LAN أو WAN، إضافة إلى شبكات أخرى متصلة عبر <a href="https://academy.hsoub.com/certificates/cisco/ccna/%D8%A7%D8%B3%D8%AA%D9%83%D8%B4%D8%A7%D9%81-%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D9%84%D8%A7%D8%B3%D9%84%D9%83%D9%8A%D8%A9-r18/" rel="">تقنيات الاتصال اللاسلكية الهوائية</a>، مثل شبكات الهواتف الخليوية المتصلة عبر تقنيات الجيل الثاني والثالث.
</p>

<p>
	تتصل الشبكات الإقليمية في الغالب عبر كابلات ألياف زجاجية بسبب حاجتها إلى نقل البيانات بسرعات عالية.
</p>



<div class="banner-container ipsBox ipsPadding">
	<div class="inner-banner-container">
		<p class="banner-heading">
			امتلك شبكة حاسوب اعتمادية وآمنة لأعمالك
		</p>

		<p class="banner-subtitle">
			احصل على حلول شبكات متقدمة وسريعة بالاستعانة بأفضل خدمات الشبكات على خمسات
		</p>

		<div>
			<a class="ipsButton ipsButton_large ipsButton_primary ipsButton_important" href="https://khamsat.com/programming/computer-networks" rel="external">اطلب خدمتك الآن</a>
		</div>
	</div>
</div>



<h2>
	خاتمة
</h2>

<p>
	تُبنى التقنيات الحديثة الآن من حواسيب وشركات وبنى تحتية أحيانًا وأنظمة حكومية باستخدام شبكات الحاسب كقواعد أساسية لها، فصارت جزءًا لا يتجزأ من حياتنا اليومية سواء استخدمناها استخدامًا مباشرًا أم استفدنا من أحد تطبيقاتها.
</p>

<p>
	ولا يسع أحدنا اﻵن أن يجهل أبسط مبادئ علوم الحاسب التي بُنيت عليها تلك الشبكات من أجل فهم طبيعة عملها والاستفادة المثلى منها سواء في بيئة العمل أو المنزل، وكذلك تجنب مخاطرها وإغلاق ثغراتها التي قد يدخل المخربون منها.
</p>

<h2>
	اقرأ أيضًا
</h2>

<ul>
	<li>
		<a href="https://academy.hsoub.com/devops/networking/%d8%a3%d9%85%d8%ab%d9%84%d8%a9-%d8%b9%d9%86-%d8%a3%d9%86%d8%b8%d9%85%d8%a9-%d8%a3%d9%85%d9%86-%d8%a7%d9%84%d8%b4%d8%a8%d9%83%d8%a7%d8%aa-%d8%a7%d9%84%d8%ad%d8%a7%d8%b3%d9%88%d8%a8%d9%8a%d8%a9-r542/" rel="">أمثلة عن أنظمة أمن الشبكات الحاسوبية</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/apps/operating-systems/%D9%85%D8%AF%D8%AE%D9%84-%D8%A5%D9%84%D9%89-%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D8%AD%D9%88%D8%A7%D8%B3%D9%8A%D8%A8-%D9%85%D8%B5%D8%B7%D9%84%D8%AD%D8%A7%D8%AA-%D9%88%D9%81%D9%87%D9%85-%D8%B7%D8%A8%D9%82%D8%A7%D8%AA-%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A9-r886/" rel="">مدخل إلى شبكات الحواسيب: مصطلحات وفهم طبقات الشبكة</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/devops/networking/%D8%A7%D9%84%D9%85%D8%AA%D8%B7%D9%84%D8%A8%D8%A7%D8%AA-%D8%A7%D9%84%D9%84%D8%A7%D8%B2%D9%85%D8%A9-%D9%84%D8%A8%D9%86%D8%A7%D8%A1-%D8%B4%D8%A8%D9%83%D8%A9-%D8%AD%D8%A7%D8%B3%D9%88%D8%A8%D9%8A%D8%A9-r483/" rel="">المتطلبات اللازمة لبناء شبكة حاسوبية</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/devops/networking/%d8%a3%d9%86%d9%88%d8%a7%d8%b9-%d8%b4%d8%a8%d9%83%d8%a7%d8%aa-%d8%a7%d9%84%d8%ad%d8%a7%d8%b3%d8%a8/" rel="">أنواع شبكات الحاسب</a>
	</li>
</ul>
]]></description><guid isPermaLink="false">779</guid><pubDate>Wed, 21 Jun 2023 13:00:00 +0000</pubDate></item><item><title>&#x645;&#x627; &#x647;&#x648; &#x627;&#x644;&#x645;&#x648;&#x62C;&#x647; Router&#x61F;</title><link>https://academy.hsoub.com/devops/networking/%D9%85%D8%A7-%D9%87%D9%88-%D8%A7%D9%84%D9%85%D9%88%D8%AC%D9%87-router%D8%9F-r786/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2023_08/router.png.f1fe31a9c892aed12ee1a0e018cd98ad.png" /></p>
<p>
	نتحدث في هذا الفيديو عن جهاز الموجه أو الراوتر Router الذي هو واحد من مكونات الشبكة، حيث سنتعرف عليه وعلى وظائفه وأنواعه وطريقة عمله.
</p>

<p>
	<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="603" id="ips_uid_8104_5" src="https://academy.hsoub.com/applications/core/interface/index.html" title="ما هو الموجه Router" width="1072" data-embed-src="https://www.youtube.com/embed/XbV5xLuPDk4"></iframe>
</p>

<p>
	إذا أردت التعرف أكثر على مجال الشبكات، فننصحك بالانضمام إلى <a href="https://academy.hsoub.com/learn/computer-science/" rel="">دورة علوم الحاسوب</a>، ولا تنسَ الاستعانة خلال رحلة تعلمك وعملك بتوثيقات <a href="https://wiki.hsoub.com/%D8%A7%D9%84%D8%B5%D9%81%D8%AD%D8%A9_%D8%A7%D9%84%D8%B1%D8%A6%D9%8A%D8%B3%D9%8A%D8%A9" rel="external">موسوعة حسوب</a> المجانية. وإذا أردت متابعة المعلومات البرمجية العلمية مكتوبة فيمكنك الاطلاع على <a href="https://academy.hsoub.com/programming/" rel="">قسم البرمجة في أكاديمية حسوب</a>، كما يمكنك متابعة جديد الفيديوهات التقنية المتاحة على <a href="https://www.youtube.com/@HsoubAcademy" rel="external nofollow">يوتيوب أكاديمية حسوب</a> مجانًا.
</p>
]]></description><guid isPermaLink="false">786</guid><pubDate>Thu, 18 May 2023 15:00:00 +0000</pubDate></item><item><title>&#x645;&#x627; &#x647;&#x648; &#x627;&#x644;&#x645;&#x628;&#x62F;&#x644; Switch &#x641;&#x64A; &#x627;&#x644;&#x634;&#x628;&#x643;&#x627;&#x62A;&#x61F;</title><link>https://academy.hsoub.com/devops/networking/%D9%85%D8%A7-%D9%87%D9%88-%D8%A7%D9%84%D9%85%D8%A8%D8%AF%D9%84-switch-%D9%81%D9%8A-%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A7%D8%AA%D8%9F-r789/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2023_08/Switch.png.cfd6eb14a9a8732732612d675d44e1ae.png" /></p>
<p>
	نستكمل في هذا الفيديو الحديث عن الشبكات، وذلك بالتطرق إلى أحد أهم الأجهزة في النظام الشبكي بالكامل وهو المبدل Switch. وكما هو معروف، تضم الشبكات بعض الأجهزة كعناصر أساسية من عناصرها، ولعل من أهم وأشهر هذه الأجهزة هو المبدل نظرًا لما يقوم به من وظائف متعددة لا غنى عنها في أي شبكة.
</p>

<p>
	ولكن ما هو المبدل؟ وماهي وظيفته؟ وماهي أنواعه؟ سنتعرف على كل ذلك بالتفصيل في الفيديو الآتي:
</p>

<p>
	<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="603" id="ips_uid_7128_5" src="https://academy.hsoub.com/applications/core/interface/index.html" title="ما هو المبدل Switch في الشبكات" width="1072" data-embed-src="https://www.youtube.com/embed/adP8NPQJWKI"></iframe>
</p>

<p>
	إذا أردت التعرف أكثر على مجال الشبكات، فننصحك بالانضمام إلى <a href="https://academy.hsoub.com/learn/computer-science/" rel="">دورة علوم الحاسوب</a>، ولا تنسَ الاستعانة خلال رحلة تعلمك وعملك بتوثيقات <a href="https://wiki.hsoub.com/%D8%A7%D9%84%D8%B5%D9%81%D8%AD%D8%A9_%D8%A7%D9%84%D8%B1%D8%A6%D9%8A%D8%B3%D9%8A%D8%A9" rel="external">موسوعة حسوب</a> المجانية. وإذا أردت متابعة المعلومات البرمجية العلمية مكتوبة فيمكنك الاطلاع على <a href="https://academy.hsoub.com/programming/" rel="">قسم البرمجة في أكاديمية حسوب</a>، كما يمكنك متابعة جديد الفيديوهات التقنية المتاحة على <a href="https://www.youtube.com/@HsoubAcademy" rel="external nofollow">يوتيوب أكاديمية حسوب</a> مجانًا.
</p>
]]></description><guid isPermaLink="false">789</guid><pubDate>Sun, 30 Apr 2023 15:00:00 +0000</pubDate></item><item><title>&#x62A;&#x639;&#x631;&#x641; &#x639;&#x644;&#x649; &#x645;&#x643;&#x648;&#x646;&#x627;&#x62A; &#x627;&#x644;&#x634;&#x628;&#x643;&#x629;</title><link>https://academy.hsoub.com/devops/networking/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D9%85%D9%83%D9%88%D9%86%D8%A7%D8%AA-%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A9-r790/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2023_08/699838623_.png.e6f30472f624dc7940c0b8a4dfadf483.png" /></p>
<p>
	الشبكة هي عبارة عن مجموعة من الأجهزة المتصلة مع بعضها على اختلاف أنواعها باستخدام تجهيزات وبرمجيات خاصة وظيفتها أن تتيح لهذه الأجهزة التواصل وتبادل المعلومات بشكل سريع وفعال. ويمكن عدّ الشبكة أيضًا على أنها النظام الذي يحكم هذه الأجهزة لتتمكن من مشاركة الموارد فيما بينها.
</p>

<p>
	وعلى اختلاف أنواع الشبكات فإنها غالبًا ما تتكون من نفس العناصر الأساسية والتي من الضروري تواجدها في أي نظام شبكي. لكن ما هي عناصر ومكونات الشبكة؟
</p>

<p>
	لمعرفة مكونات الشبكة، تابعوا معنا الفيديو الآتي:
</p>

<p>
	<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="603" src="https://academy.hsoub.com/applications/core/interface/index.html" title="تعرف على مكونات الشبكة" width="1072" data-embed-src="https://www.youtube.com/embed/NDYgZ9LfC3Y"></iframe>
</p>

<p>
	إذا أردت التعرف أكثر على مجال الشبكات، فننصحك بالانضمام إلى <a href="https://academy.hsoub.com/learn/computer-science/" rel="">دورة علوم الحاسوب</a>، ولا تنسَ الاستعانة خلال رحلة تعلمك وعملك بتوثيقات <a href="https://wiki.hsoub.com/%D8%A7%D9%84%D8%B5%D9%81%D8%AD%D8%A9_%D8%A7%D9%84%D8%B1%D8%A6%D9%8A%D8%B3%D9%8A%D8%A9" rel="external">موسوعة حسوب</a> المجانية. وإذا أردت متابعة المعلومات البرمجية العلمية مكتوبة فيمكنك الاطلاع على <a href="https://academy.hsoub.com/programming/" rel="">قسم البرمجة في أكاديمية حسوب</a>، كما يمكنك متابعة جديد الفيديوهات التقنية المتاحة على <a href="https://www.youtube.com/@HsoubAcademy" rel="external nofollow">يوتيوب أكاديمية حسوب</a> مجانًا.
</p>
]]></description><guid isPermaLink="false">790</guid><pubDate>Sun, 16 Apr 2023 15:00:00 +0000</pubDate></item><item><title>&#x645;&#x642;&#x62F;&#x645;&#x629; &#x641;&#x64A; &#x628;&#x631;&#x648;&#x62A;&#x648;&#x643;&#x648;&#x644; ICMP</title><link>https://academy.hsoub.com/devops/networking/%D9%85%D9%82%D8%AF%D9%85%D8%A9-%D9%81%D9%8A-%D8%A8%D8%B1%D9%88%D8%AA%D9%88%D9%83%D9%88%D9%84-icmp-r622/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2022_05/628e01e2cb4b0_--ICMP_.png.85ad881182c342e8412257634d7faac1.png" /></p>

<p>
	يقع بروتوكول رسالة التحكُّم عبر الإنترنت Internet Control Message Protocol -أو اختصارًا ICMP ضمن طبقة الشبكة في نموذج OSI، أو كما يصطلح البعض فوق طبقة الإنترنت مباشرةً، وهو جزءٌ لا يتجزأ من مكدس بروتوكول الإنترنت، أو كما يشار إليها بالمصطلح TCP/IP.
</p>

<p>
	عُيِّن الرقم 1 لبروتوكول ICMP تبعًا لمنظمة <a href="http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xml" rel="external nofollow">IANA</a>، وقد صُمِّم ليعمل مثل آلية توليد تقارير عن الأخطاء وخدمة استعلام، ويلعب دورًا مهمًا في خدمة مخطط البيانات مضيف- مضيف في الاتصال الشبكي، وهو الجزء من خدمة IP الذي يلعب دور نظام تغذية راجعة ضمن <a href="https://academy.hsoub.com/devops/networking/%D8%B4%D8%A8%D9%83%D8%A9-%D8%A7%D9%84%D8%A5%D9%86%D8%AA%D8%B1%D9%86%D8%AA-%D8%A8%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85-%D8%A8%D8%B1%D9%88%D8%AA%D9%88%D9%83%D9%88%D9%84-ip-r497/" rel="">شبكة اتصال IP</a>، ويضمن إعلام المضيف المرسل، مثل الموجّه أو بوابة النفاذ بالرزم التي لم تصل.
</p>

<p>
	يمكن لأي جهاز شبكة IP إرسال رزم بيانات من نوع ICMP، بما في ذلك بطاقات واجهة الشبكة والعديد من الأجهزة الشائع استخدامها.
</p>

<h2>
	برتوكول ICMP
</h2>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="99773" href="https://academy.hsoub.com/uploads/monthly_2022_05/what_is_icmp.png.e4aaf4f7a0c78aa1eda5144c5640029b.png" rel=""><img alt="what_is_icmp.png" class="ipsImage ipsImage_thumbnailed" data-fileid="99773" data-unique="t2tem6w8s" src="https://academy.hsoub.com/uploads/monthly_2022_05/what_is_icmp.png.e4aaf4f7a0c78aa1eda5144c5640029b.png" style="width: 500px; height: auto;"></a>
</p>

<p>
	يمكن توضيح دور بروتوكول ICMP في الاتصالات الشبكية بمثالٍ عن فريقٍ مسؤول عن تجميع السيارات باستخدام القطع المُرسلة من المصنع، إذ تُرسَل القطع واحدةً تلو الأخرى، ويُفترض أن تُستلم القطع من قِبل فريق التجميع؛ ولكن أحيانًا لا تصل بعض القطع في وقتها المحدد، أو يحدث تأخيرٌ ما من طرف جهة التوصيل وتكون طريقة توصيل القطع للفريق أسرع، وسيحتاج الفريق في هذه الحالة لطريقةٍ ما يخبر بها المصنع لإعادة إرسال القطع الناقصة، أو إرسال القطع عبر طريق أو جهة توصيل أسرع.
</p>

<p>
	يلعب بروتوكول ICMP دور المرسال لتلك المعلومات من المستقبِل إلى المرسل، أما في الواقع البروتوكول أعقد من ذلك، والمثال السابق هو مثالٌ بسيطٌ للتوضيح فقط؛ إذ لا يقتصر دور البروتوكول على إرسال تقرير عن الرزم غير المرسلة أو المضيف المتعذر الوصول إليه، بل يرسل أيضًا رسائل إعادة التوجيه، رسائل صدى echo والرد عليها، ورسائل أخرى سنتطرق إليها لاحقًا.
</p>

<p>
	يستخدِم الأمر المشهور <a href="https://academy.hsoub.com/devops/servers/%D8%AF%D9%84%D9%8A%D9%84%D9%83-%D9%84%D9%81%D9%87%D9%85-%D8%A3%D9%85%D8%B1-ping-%D9%88%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85%D9%87-r238/" rel="">PING</a> رسائل الصدى والرد عليها للسماح للمستخدم بإرسال رسالة صدى إلى مضيفٍ مستقبِل وهو بدوره يرسل رسالة رد في حال استقباله للرسالة الأولى. توفر رسائل ICMP للنظام طريقةً لإعلام المضيف المصدر في حال عدم تلقي المضيف البعيد الرزم المرسلة، ولكن لا يرفع بروتوكول ICMP من اعتمادية بروتوكول IP، فهو فعليًا لا يستقبل أو يرسل أي بيانات، بل هو موجودٌ فقط بمثابة نظام تغذيةٍ راجعة، أو موردٍ للتعريف بمشاكل الرزم الضائعة، أو طرق التوجيه غير السليمة.
</p>

<p>
	تُعد رسالة تعذر الوصول للوجهة Destination Unreachable إحدى أشهر رسائل بيانات ICMP وأكثرها فائدة، وهناك عدة أسباب لتوليد رسائل تعذر الوصول للوجهة، منها تعذُّر الوصول للشبكة أو للمضيف أو للمنفذ أو للبروتوكول؛ إذ يعيد الموجّه رسائل تعذر الوصول للوجهة تلك إلى المضيف وهو بدوره يعيدها إلى التطبيق الذي ولّد الرزمة الأساسية، وتُعلم رسائل الخطأ التطبيق بإعادة المحاولة مجددًا، أو يمكن للتطبيق المضيف توليد رسالة خطأ وعرضها للمستخدم لإعلامه بمشاكل في اتصال الشبكة.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="99772" href="https://academy.hsoub.com/uploads/monthly_2022_05/icmp.png.e73313da2fcfe43f253ddce8a1d211dd.png" rel=""><img alt="icmp.png" class="ipsImage ipsImage_thumbnailed" data-fileid="99772" data-unique="v99w17b17" src="https://academy.hsoub.com/uploads/monthly_2022_05/icmp.png.e73313da2fcfe43f253ddce8a1d211dd.png" style="width: 400px; height: auto;"></a>
</p>

<p>
	مع أن رسائل تعذر الوصول للوجهة هي الأشهر ويألفها الجميع من خلال استخدامهم للأداة PING، لكن يحتوي بروتوكول ICMP أيضًا العديد من الرسائل الأخرى، منها رسالة إعادة التوجيه التي تستخدمها بوابة النفاذ لإعلام المضيف بتغيير حركة مرور البيانات إلى موجّه آخر. هناك أيضًا رسالة تجاوز الوقت التي يستخدمها الموجّه لإخبار المضيف بأن الرزمة قد تجاوزت مدة عمرها الزمني Time to Live -أو اختصارًا TTL- ولذلك تجاهَلها، وقد تكون مؤشرًا على وجود حلقة تغذية راجعة على الطريق المؤدي للوجهة.
</p>

<p>
	تُرسل رسائل إخماد المصدر Source Quench من الموجّه إلى المضيف لإعلامه بأن سعة التخزين المؤقت قد امتلأت ويجب عمل إيقافٍ مؤقت للإرسال للسماح للموجّه باللحاق بسرعة الإرسال. كما يوجد أنواعٌ أخرى من الرسائل، مثل رسالة مشكلة في المعامل parameter ورسالة وجواب طلب قناع العنوان وطلب العلامة الزمنية، وغيرها. لا يرسل بروتوكول ICMP رسائل عن رسائل بروتوكول ICMP نفسه، لأن ذلك سيولّد حلقة تغذية راجعة، إذ ستولّد كل رسالة عائدة من بروتوكول ICMP رسالة ICMP أخرى للطرف المقابل، والتي ستولِّد بدورها رسالةً ثالثة وهكذا، مما سيولد الكثير من رزم ICMP التي ستغرق الشبكة.
</p>

<p>
	لنفس السبب السابق لن يرد بروتوكول ICMP على عناوين البث broadcast أو عناوين الإرسال المتعدد multicast؛ فعلى عكس البروتوكولات الأخرى، مثل بروتوكول IP و UDP، لا يؤدي بروتوكول ICMP غرض تبادل البيانات بين المضيفين. إذًا، لا يتفاعل المستخدمون النهائيون مع هذا البروتوكول عدا عن بعض أدوات التحليل، مثل أداة ping و traceroute والتي تُستخدم لاكتشاف مشاكل الشبكة والاتصال بالإنترنت.
</p>

<p>
	يمكن اختراق بروتوكول ICMP للهجوم على الأجهزة بما يعرف بالهجوم المميت "Ping of Death"، وهو هجوم سيبراني مشهور يسبِّب مشاكل المنع من الخدمة ضمن الشبكات، تُرسل فيه رزمة IP مصممة لإغراق ذاكرة التخزين المؤقت للجهاز الهدف بغرض إفشال عمل نظامه؛ ويوجد أيضًا هجومٌ آخر يتكون من كميةٍ كبيرةٍ من رسائل ping تمنع حركة مرور البيانات من الوصول للجهاز المستهدف، إذ يمكن منع تلك الاختراقات بسهولة نسبيًا وذلك عبر تضمين فحوصات لقطع IP خلال عملية إعادة التجميع.
</p>

<p>
	رسائل ICMP هي مخططات بيانات مغلّفة ضمن رزم IP، وتُستعمل من قبل كلٍ من بروتوكولي (IPv4 (ICMPv4 و (IPv6 (ICMPv6، إذ تبدأ تلك الرزم بترويسة IP متبوعة بترويسة ICMP ثم حقلي النوع والرمز ثم رمز التحقق checksum، وبعدها البيانات، وتعتمد البيانات على حقلي النوع والرمز اللذان يعرِّفان نوع رسالة ICMP المُرسلة.
</p>

<p>
	يُعد بروتوكول ICMP أحد أهم مكونات رزمة بروتوكول الإنترنت ويؤدي دورًا مهمًا في الاتصالات الشبكية IP؛ فهو يضمن علم المضيف المرسل في حال عدم استقبال المضيف البعيد لتلك الرزم المُرسلة، مما يوفر معلومات هامة حول مشاكل الشبكة، ويساعد على رفع كفاءة إرسال البيانات على الشبكة من قبل الأطراف جميعًا؛ كما يستخدمه مدراء وفنيو الشبكات أداةً لاكتشاف للمشاكل تساعدهم في تحديد نقاط الفشل ضمن الشبكة، فهذه الأداة لا غنى عنها في التدفق الثابت واللا منتهي من المليارات من رزم IP المرسلة حول العالم في كل ثانية من كل يوم.
</p>

<h2>
	أسئلة شائعة حول ICMP
</h2>

<h3>
	لماذا لا تحتوي الرزمة من النوع ICMP على أرقام منافذ للمصدر والوجهة؟
</h3>

<p>
	يُعد بروتوكول رسالة التحكم بالإنترنت ICMP جزءًا من مكدس بروتوكولات TCP/IP، إذ ينتمي إلى طبقة الإنترنت، بينما توجد أرقام المنافذ ضمن طبقة النقل فقط وهي طبقة فوق طبقة <a href="https://academy.hsoub.com/devops/networking/%D8%A2%D9%84%D9%8A%D8%A9-%D8%B9%D9%85%D9%84-%D8%B4%D8%A8%D9%83%D8%A9-%D8%A7%D9%84%D8%A5%D9%86%D8%AA%D8%B1%D9%86%D8%AA-r571/" rel="">الإنترنت</a>.
</p>

<h3>
	ما هو بروتوكول ICMP؟
</h3>

<p>
	بروتوكول ICMP هو اختصارٌ لبروتوكول رسالة التحكُّم بالإنترنت Internet Control Message Protocol، صُمم ليوفر وظائف إدارية للإرسال عبر الإنترنت، ومن الأمثلة على استخداماته هي رسائل فحوصات الحالة ورسائل الأخطاء المتبادلة بين جهازين على طرفي الاتصال.
</p>

<h3>
	ما هي الطبقة التي ينتمي إليها ICMP؟
</h3>

<p>
	يُعد ICMP جزءًا من مكدس بروتوكولات TCP/IP، ويقع ضمن طبقة الإنترنت وهي الطبقة الثانية في ترتيب الطبقات، ويُشار لبروتوكول ICMP على أنه بروتوكول من الطبقة الثالثة، لأن هذا العدد يدل على طبقة الشبكة في مكدس بروتوكول الاتصال بين الأنظمة المفتوحة OSI، إذ أن طبقة الشبكة في نموذج OSI هي الطبقة الثالثة وتعادل طبقة الإنترنت في مكدس TCP/IP.
</p>

<p>
	ترجمة -وبتصرف- للمقال "<a href="https://www.pcwdld.com/what-is-icmp-and-port" rel="external nofollow">What is ICMP? The Protocol, Port Number and PING!</a>" لصاحبه Jeff Parker.
</p>

<h2>
	اقرأ أيضًا
</h2>

<ul>
<li>
		<a href="https://academy.hsoub.com/certificates/cisco/ccna/%D8%B7%D8%A8%D9%82%D8%A9-%D8%A7%D9%84%D9%86%D9%82%D9%84-%D9%81%D9%8A-%D8%A8%D8%B1%D9%88%D8%AA%D9%88%D9%83%D9%88%D9%84-tcpip-r6/" rel="">طبقة النقل في بروتوكول TCP/IP</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/certificates/comptia/%D9%85%D8%AF%D8%AE%D9%84-%D8%A5%D9%84%D9%89-%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D8%AD%D9%88%D8%A7%D8%B3%D9%8A%D8%A8-%D9%85%D8%B5%D8%B7%D9%84%D8%AD%D8%A7%D8%AA-%D9%88%D9%81%D9%87%D9%85-%D8%B7%D8%A8%D9%82%D8%A7%D8%AA-%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A9-r65/" rel="">مدخل إلى شبكات الحواسيب: مصطلحات وفهم طبقات الشبكة</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/devops/servers/%D8%AF%D9%84%D9%8A%D9%84%D9%83-%D9%84%D9%81%D9%87%D9%85-%D8%A3%D9%85%D8%B1-ping-%D9%88%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85%D9%87-r238/" rel="">دليلك لفهم أمر ping واستخدامه</a>
	</li>
</ul>
]]></description><guid isPermaLink="false">622</guid><pubDate>Sat, 25 Jun 2022 16:05:02 +0000</pubDate></item><item><title>&#x645;&#x627; &#x647;&#x648; &#x628;&#x631;&#x648;&#x62A;&#x648;&#x643;&#x648;&#x644; &#x625;&#x62F;&#x627;&#x631;&#x629; &#x627;&#x644;&#x634;&#x628;&#x643;&#x629; &#x627;&#x644;&#x628;&#x633;&#x64A;&#x637; SNMP&#x61F;</title><link>https://academy.hsoub.com/devops/networking/%D9%85%D8%A7-%D9%87%D9%88-%D8%A8%D8%B1%D9%88%D8%AA%D9%88%D9%83%D9%88%D9%84-%D8%A5%D8%AF%D8%A7%D8%B1%D8%A9-%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A9-%D8%A7%D9%84%D8%A8%D8%B3%D9%8A%D8%B7-snmp%D8%9F-r621/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2022_05/628dfdf382049_-------SNMP.png.7ecbe179541dec66d56de49bb08648bb.png" /></p>

<p>
	بروتوكول إدارة الشبكة البسيط Simple Network Management Protocol -أو اختصارًا SNMP- هو بروتوكول اتصال يسمح لنا بمراقبة تجهيزات الشبكة التي نديرها، مثل الموجّهات والمبدلات والخوادم والطابعات وأجهزة أخرى عاملة ببروتوكول IP جميعًا ضمن نظام أو برمجية إدارة واحدة؛ وإذا كان جهاز الشبكة يدعم بروتوكول SNMP، يمكننا تفعيله وإعداده لجمع المعلومات ومراقبة عدة تجهيزات شبكية من نقطةٍ واحدة.
</p>

<p>
	من مهام بروتوكول SNMP:
</p>

<ul>
<li>
		مراقبة حركة مرور البيانات الواردة والصادرة عبر الجهاز.
	</li>
	<li>
		الاكتشاف المبكر للأخطاء ضمن التجهيزات الشبكية، وإرسال التنبيهات أو الإشعارات.
	</li>
	<li>
		تحليل البيانات المُجمّعة من الأجهزة خلال فترات زمنية طويلة للتعرف على أماكن اختناقات عنق الزجاجة Bottlenecks ومشاكل الأداء.
	</li>
	<li>
		الضبط البعيد للأجهزة المتوافقة معه.
	</li>
	<li>
		الوصول والتحكم بالأجهزة المتصلة عبر بروتوكول SNMP عن بُعد.
	</li>
</ul>
<h2>
	مفاهيم أساسية حول بروتوكول SNMP
</h2>

<p>
	هناك عدة مكونات أساسية لعمل بروتوكول SNMP بصورةٍ سليمة، منها:
</p>

<ul>
<li>
		مدير SNMP (نظام إدارة الشبكة Network Management System).
	</li>
	<li>
		عملاء SNMP.
	</li>
	<li>
		منفذ SNMP.
	</li>
	<li>
		الأجهزة المدارة، مثل <a href="https://academy.hsoub.com/devops/servers/%D9%85%D8%AF%D8%AE%D9%84-%D8%A5%D9%84%D9%89-%D8%AE%D8%A7%D8%AF%D9%85-%D8%A7%D9%84%D9%88%D9%8A%D8%A8-r574/" rel="">الخوادم</a> والمبدلات والموجّهات وغيرها.
	</li>
	<li>
		قاعدة إدارة المعلومات Management Information Base -أو اختصارًا MIB-، وتعرف أيضًا باسم قاعدة بيانات إدارة المعلومات Management Information Database.
	</li>
	<li>
		معرّف الكائن OID.
	</li>
	<li>
		مصائد Traps.
	</li>
	<li>
		الإصدارات.
	</li>
</ul>
<h3>
	مدير نظام إدارة الشبكة NMS
</h3>

<p>
	مكون المدير هو جزءٌ من برمجية مُثبتةٍ على جهاز، ويُسمى عند تركيبه على الشبكة نظام <a href="https://academy.hsoub.com/devops/linux/%D8%B7%D8%B1%D9%8A%D9%82%D8%A9-%D8%B6%D8%A8%D8%B7-%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A9-%D9%81%D9%8A-%D9%86%D8%B8%D8%A7%D9%85-%D8%A7%D9%84%D8%AA%D8%B4%D8%BA%D9%8A%D9%84-%D9%84%D9%8A%D9%86%D9%83%D8%B3-r563/" rel="">إدارة الشبكة Network Management System</a>، إذ يستطلع دوريًا وبحسب مدةٍ مخصصة الأجهزة الموجودة على الشبكة للحصول على معلومات، ويحتوي على الاعتماديات اللازمة للوصول إلى المعلومات المُخزنة على الأجهزة الأخرى، ويُصرّف تلك المعلومات إلى صيغةٍ قابلةٍ للقراءة ليتمكن مهندس الشبكات أو المسؤول عنها من مراقبة، أو تشخيص المشاكل، أو أماكن اختناق عنق الزجاجة.
</p>

<p>
	تختلف أدوات أنظمة إدارة الشبكة في تعقيدها، إذ يسمح بعضها بإعداد رسائل نصية قصيرة SMS أو رسائل بريد إلكتروني لتُرسل تنبيهاتٍ في حال حدوث خلل وظيفي للأجهزة ضمن الشبكة؛ بينما يكتفي بعضها الآخر باستبيان الأجهزة فقط عن معلومات أساسية بسيطة.
</p>

<h3>
	العملاء Agents
</h3>

<p>
	عميل بروتوكول SNMP هو برمجيةٌ ضمن جهاز الشبكة، مثل الموجّه والمبدل والخادم وأجهزة wifi وغيرها، تنجز بعد تفعيلها وإعدادها أغلب العمل نيابةً عن المدير وذلك بتصريف وتخزين كل البيانات المُستخرجة من الجهاز المثبتة ضمنه ضمن قاعدة بيانات إدارة المعلومات MIB، إذ نُظمت هيكلة قاعدة البيانات للسماح لبرمجية المدير بالاستعلام عن المعلومات وحتى إرسال معلومات إلى المدير في حال حدوث أي خطأ.
</p>

<h3>
	ما هو المنفذ المستخدم من قبل SNMP؟
</h3>

<p>
	تستقصي برمجية المدير المذكورة في القسم السابق المعلومات من العملاء خلال فترات زمنية ثابتة عبر <strong>المنفذ 161 من نوع UDP</strong>، إذ تسمح المصائد Traps ضمن بروتوكول SNMP -والتي سنشرح عنها في فقرة لاحقة- للعميل بإرسال معلومات عن النظام والجهاز إلى المدير عبر المنفذ 162 من نوع UDP؛ وهو بروتوكولٌ شائع الاستخدام من قِبل بروتوكول SNMP، ولكن يمكن أيضًا استخدام بروتوكول TCP.
</p>

<h3>
	التجهيزات الشبكية قيد الإدارة
</h3>

<p>
	تتضمن التجهيزات الشبكية قيد الإدارة الموجّهات والمبدلات وأجهزة wifi والخوادم بنظام ويندوز وغيره، والحواسيب المكتبية والشخصية والطابعات وأجهزة UPS وغيرها المزيد، إذ تحتوي على برمجية العميل ضمنها وهي بحاجة لتفعيلها أو إعدادها لتكون جاهزةً للاستبيان من قِبل NMS.
</p>

<h3>
	قاعدة إدارة المعلومات MIB
</h3>

<p>
	يمكن اختصار ملفات MIB على أنها الأسئلة التي يمكن لمدير SNMP سؤالها للعميل، إذ يُجمّع العميل تلك البيانات ويخزنها محليًا كما هي معرفةٌ ضمن MIB. ويجب أن يكون مدير SNMP على درايةٍ بتلك المعايير والأسئلة الخاصة بكل نوعٍ من العملاء، إذ يحافظ العملاء كما ذكرنا سابقًا على قاعدة البيانات الخاصة بهم منظمةً وفقًا لمعاملات الأجهزة وإعداداتها وبيانات أخرى.
</p>

<p>
	يجري نظام إدارة الشبكة NMS الاستبيان أو الطلب من عميل جهاز ما، ويشارك العميل بدوره المعلومات المُرتبة ضمن قاعدة البيانات التي أنشأها مع NMS، ويترجم تلك المعلومات لتنبيهات وتقارير ومخططات وغيرها.
</p>

<p>
	تُسمى قاعدة البيانات المُشاركة من قبل العميل <strong>قاعدة إدارة المعلومات Management Information Base</strong> -أو اختصارًا <strong>MIB</strong>، إذ تحتوي ملفات MIB على فئةٍ من القيم التحليلية وقيم التحكم المعرّفة من قِبل جهاز الشبكة. توسِّع عادةً شركات التجهيزات الشبكية المختلفة القيم المعيارية بقيم خاصة بأجهزتها باستخدام ملفات MIB خاصة بها.
</p>

<p>
	لتبسيط مفهوم MIB فكِّر بها على النحو التالي: ملفات MIB هي الأسئلة التي يمكن لمدير SNMP سؤالها للعميل، إذ يجمِّع العميل تلك الأسئلة فقط ويخزِّنها محليًا ويخدِّمها لنظام NMS عندما تُطلب. توضِّح الصورة التالية مثالًا بسيطًا عن طريقة عمل MIB، إذ يسأل NMS جهاز الشبكة سؤالًا، مثلًا "ما جواب السؤال رقم 2؟"، ثم يرسل عميل جهاز الشبكة بعدها ردًا عن جواب السؤال رقم 2.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="99766" href="https://academy.hsoub.com/uploads/monthly_2022_05/SNMP-Diagram.jpg.1b6b7d63f8993a5c4b2b1bd06102a93a.jpg" rel=""><img alt="SNMP-Diagram.jpg" class="ipsImage ipsImage_thumbnailed" data-fileid="99766" data-unique="v65bj6mat" src="https://academy.hsoub.com/uploads/monthly_2022_05/SNMP-Diagram.jpg.1b6b7d63f8993a5c4b2b1bd06102a93a.jpg" style="width: 500px; height: auto;"></a>
</p>

<p>
	لنحاول فهم العملية أكثر من خلال مثال آخر، فعندما نريد مثلًا معرفة وقت التشغيل الكلي لجهازٍ ما، سيرسل NMS طلبًا للعميل يطلب فيه قيمة وقت التشغيل الكلي للنظام، ثم يرسل الطلب برقمٍ يمثِّل ملف MIB والكائن المطلوبين، مع رقمٍ آخر يُدعى النسخة Instance.
</p>

<pre class="ipsCode">
OID = 1.3.6.1.2.1.1.3.0
</pre>

<p>
	يوضح الجدول التالي تحليل رقم معرف الكائن OID:
</p>
<style type="text/css">
table {
    width: 100%;
}

thead {
    vertical-align: middle;
    text-align: center;
} 

td, th {
    border: 1px solid #dddddd;
    text-align: right;
    padding: 8px;
    text-align: inherit;

}
tr:nth-child(even) {
    background-color: #dddddd;
}</style>
<table>
<thead><tr>
<th>
				<strong>قاعدة إدارة المعلومات MIB</strong>
			</th>
			<th>
				<strong>الكائن المطلوب</strong>
			</th>
			<th>
				<strong>النسخة</strong>
			</th>
		</tr></thead>
<tbody>
<tr>
<td>
				1.3.6.1.2.1.1
			</td>
			<td>
				3
			</td>
			<td>
				0
			</td>
		</tr>
<tr>
<td>
				قاعدة إدارة المعلومات MIB
			</td>
			<td>
				الكائن SysUptime
			</td>
			<td>
				النسخة
			</td>
		</tr>
</tbody>
</table>
<p>
	يطلق على أول قسمين من الرقم المرسل للعميل (MIB والكائن المطلوب وهو في هذا المثال توقيت عمل النظام الكلي) اسم معرّف الكائن Object Identifier -أو اختصارًا OID-، وكما ذكرنا سابقًا ملفات MIB هي قيم معيارية يعلمها نظام إدارة الشبكة مسبقًا ويمكنه طلبها أو الاستبيان من جهاز الشبكة ليرسل له تلك المعلومات.
</p>

<h3>
	معرف الكائن OID
</h3>

<p>
	معرّف الكائن OID هو ببساطة رقمٌ مكونٌ من MIB والكائن المطلوب والنسخة، وكل معرّفٍ منها مميزٌ وفريدٌ ضمن الجهاز، وسيوفِّر عند الاستعلام عنه معلومات عن OID المطلوب.
</p>

<p>
	هناك نوعان من معرف الكائن OID:
</p>

<ul>
<li>
		<strong>قيمة مفردة Scalar:</strong> هي قيمة مفردة من نسخة الكائن، مثل اسم الشركة المصنعة للجهاز؛ إذ لا يمكن أن يكون للجهاز نفسه أكثر من اسم شركة مصنعة، لذا قيمة OID من النوع Scalar.
	</li>
	<li>
		<strong>قيم متعددة Tabular:</strong> يمكن أن تتكون من عدة نتائج للمعرف الخاص بها OID، فمثلًا سينتج عن معالج بأربع أنوية أربع قيمٍ مختلفة <a href="https://academy.hsoub.com/certificates/comptia/%D9%88%D8%AD%D8%AF%D8%A9-%D8%A7%D9%84%D9%85%D8%B9%D8%A7%D9%84%D8%AC%D8%A9-%D8%A7%D9%84%D9%85%D8%B1%D9%83%D8%B2%D9%8A%D8%A9-r58/" rel="">لوحدة المعالجة المركزية CPU</a>.
	</li>
</ul>
<h3>
	المصائد Traps
</h3>

<p>
	تُستخدم المصائد Traps عندما يحتاج الجهاز لتحذير نظام إدارة الشبكة عن حدثٍ ما دون الحاجة لانتظار ورود استبيان، إذ تضمن Traps حصول NMS على معلومات يجب تسجيلها عن حدوث حدثٍ ما ضمن الجهاز دون الحاجة لانتظار استبيانها من قِبل NMS.
</p>

<p>
	تحتوي التجهيزات الشبكية قيد الإدارة على ملفات MIB معرّفةٍ بشروطٍ مُسبقة ضمنها، ومن المهم جدًا وجود تلك الملفات مصرّفةً compiled ضمن نظام إدارة الشبكة كي يستطيع استقبال المصائد Traps المُرسلة من قِبل الأجهزة.
</p>

<p>
	MIB هي أرقام تعرِّفُ بعض الخصائص أو القيم عن الجهاز، لكن في حال لم يحتوي نظام إدارة الشبكة على بعض ملفات MIB تلك التي ترسلها المصائد Traps، فلن تكون هناك طريقة لتفسير MID أو تسجيل الحدث.
</p>

<h2>
	الإصدارات v1 و v2c و v3
</h2>

<p>
	أُصدرت النسخة رقم 1 من البروتوكول في عام 1988، وأُطلقت منذ ذلك الحين عدة إصدارات منه على مر الأعوام، والإصدار الحالي هو الإصدار رقم 3، ولكن تدعم معظم أنظمة إدارة الشبكة جميع إصدارات البروتوكول.
</p>

<h3>
	الإصدار 1 من بروتوكول SNMP
</h3>

<p>
	كان الإصدار رقم 1 هو الإصدار الأول المُعرّف من البروتوكول في RFC رقم 1155 و 1157، وهو أبسط الإصدارات الثلاث من البروتوكول وأقلها أمانًا بسبب استخدامها الاستيثاق باستخدام النص غير المشفر.
</p>

<h3>
	الإصدار 2 أو 2c من بروتوكول SNMP
</h3>

<p>
	أُطلق الإصدار رقم 2 من البروتوكول عام 1993 بتحسينات كبيرة عن النسخة السابقة، مثل تعيينات النقل وبنية عناصر MIB وأهم تلك التعديلات استيثاق أفضل وتحديثات أمنية، ومع ذلك ورث الإصداران 1 و 2/2c ثغراتٍ أمنية كما ذكرنا سابقًا، إذ تُرسل سلاسل المجتمع Community Strings المكافئة لكلمات المرور على هيئة نصٍ غير مشفر، مما يسمح لأي أحد يتنصت على الشبكة من الوصول إلى تلك السلاسل النصية وبالتالي إحداث ثغرةٍ ضمن تجهيزات الشبكة، أو حتى تغيير إعدادات تلك التجهيزات بواسطة SNMP.
</p>

<h3>
	الإصدار 3 من بروتوكول SNMP
</h3>

<p>
	ظهر الإصدار الثالث من البروتوكول لأول مرة عام 1998، وتحسّنت النواحي الأمنية ضمن حزمة البروتوكول عبر تضمين ما يسمى الأمن المبني حول المستخدم "user-based security"، إذ سمحت تلك الميزة الأمنية بضبط الاستيثاق بالاعتماد على متطلبات المستخدم.
</p>

<p>
	مستويات الاستيثاق الثلاث هي على الشكل التالي:
</p>

<ul>
<li>
		NoAuthNoPriv: والتي يكون المستخدمون لهذه الوضعية أو المستوى غير متحققٍ من هويتهم، وليس لديهم أي خصوصية عند إرسال أو استقبال الرسائل.
	</li>
	<li>
		AuthNoPriv: يتطلب هذا المستوى الاستيثاق من المستخدم، ولكن لن تُشفَّر الرسائل المرسلة أو المستقبلة.
	</li>
	<li>
		AuthPriv: المستوى الأخير والأكثر أمانًا، إذ يكون الاستيثاق مطلوب وتُشفَّر الرسائل المرسلة و المستقبلة.
	</li>
</ul>
<p>
	يُعد الإصدار الثالث من البروتوكول الأكثر أمانًا من بين الإصدارات، ولكن تفرض طبقة الأمان تلك على مستخدميها خطوات ضبط أكثر وتعقيدًا أكبر للإعداد؛ ولكن تفوق الفوائد صعوبات إعدادها بصورةٍ سليمة عند التعامل مع التجهيزات الشبكية عالية المستوى والتي تحتوي على معلومات حساسة.
</p>

<h2>
	مخطط بياني عن SNMP
</h2>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="99776" href="https://academy.hsoub.com/uploads/monthly_2022_05/snmp_infographic.png.c8fd8fe0d576a8ae0484c477e1ec799e.png" rel=""><img alt="snmp_infographic.png" class="ipsImage ipsImage_thumbnailed" data-fileid="99776" data-unique="czn6ye3na" src="https://academy.hsoub.com/uploads/monthly_2022_05/snmp_infographic.png.c8fd8fe0d576a8ae0484c477e1ec799e.png"></a>
</p>

<p>
	الآن بعد أن تعلمت ما هو بروتوكول SNMP وما فائدته، يمكنك تحميل برنامج لإدارة الشبكة وإعداد عدة تجهيزات معًا والبدء بجمع بيانات SNMP وتحليلاته كي تفهم أكثر إمكانيات البروتوكول ومدى مرونته.
</p>

<p>
	ترجمة -وبتصرف- للمقال "<a href="https://www.pcwdld.com/what-is-snmp-and-tutorial" rel="external nofollow">What is SNMP? Basic Tutorial on NMS, MIBs, OIDs, Traps &amp; Agents</a>" لصاحبه Jeff Parker.
</p>

<h2>
	اقرأ أيضًا
</h2>

<ul>
<li>
		<a href="https://academy.hsoub.com/certificates/cisco/ccna/%D8%B7%D8%A8%D9%82%D8%A9-%D8%A7%D9%84%D9%86%D9%82%D9%84-%D9%81%D9%8A-%D8%A8%D8%B1%D9%88%D8%AA%D9%88%D9%83%D9%88%D9%84-tcpip-r6/" rel="">طبقة النقل في بروتوكول TCP/IP</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/devops/networking/%D9%85%D8%B9%D9%85%D8%A7%D8%B1%D9%8A%D8%A9-%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A9-%D8%A7%D9%84%D8%AD%D8%A7%D8%B3%D9%88%D8%A8%D9%8A%D8%A9-%D9%88%D8%B4%D8%A8%D9%83%D8%A9-%D8%A7%D9%84%D8%A5%D9%86%D8%AA%D8%B1%D9%86%D8%AA-network-architecture-r484/" rel="">معمارية الشبكة الحاسوبية وشبكة الإنترنت</a>
	</li>
</ul>
]]></description><guid isPermaLink="false">621</guid><pubDate>Wed, 25 May 2022 11:15:50 +0000</pubDate></item><item><title>&#x62F;&#x644;&#x64A;&#x644; &#x62A;&#x623;&#x645;&#x64A;&#x646; &#x627;&#x644;&#x634;&#x628;&#x643;&#x627;&#x62A; &#x628;&#x627;&#x633;&#x62A;&#x62E;&#x62F;&#x627;&#x645; &#x642;&#x648;&#x627;&#x626;&#x645; &#x627;&#x644;&#x62A;&#x62D;&#x643;&#x645; &#x628;&#x627;&#x644;&#x648;&#x635;&#x648;&#x644; ACL</title><link>https://academy.hsoub.com/devops/networking/%D8%AF%D9%84%D9%8A%D9%84-%D8%AA%D8%A3%D9%85%D9%8A%D9%86-%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A8%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85-%D9%82%D9%88%D8%A7%D8%A6%D9%85-%D8%A7%D9%84%D8%AA%D8%AD%D9%83%D9%85-%D8%A8%D8%A7%D9%84%D9%88%D8%B5%D9%88%D9%84-acl-r620/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2022_05/628df7a31e026_-------ACL.png.55049166d5916cc92a912d05573fa314.png" /></p>

<p>
	عندما تخرج من منزلك، ستقفل الباب خلفك عادةً، وبطبيعة الحال سيتمكن الأشخاص الذين يملكون مفاتيح الباب فقط من الدخول إلى منزلك، إذ أنك تفعل ذلك لأسبابٍ أمنية. بنفس الطريقة قد نريد التحكُّم بماذا ومن يملك إمكانية الوصول لمختلف أجزاء شبكتنا، وإحدى طرق تطبيق ذلك هي باستخدام <a href="https://academy.hsoub.com/certificates/cisco/ccna/%D8%A3%D9%86%D9%88%D8%A7%D8%B9-%D9%84%D9%88%D8%A7%D8%A6%D8%AD-%D8%A7%D9%84%D8%AA%D8%AD%D9%83%D9%85-%D9%81%D9%8A-%D8%A7%D9%84%D9%88%D8%B5%D9%88%D9%84-acl-r79/" rel="">قوائم التحكم بالوصول Access Control Lists</a> -أو اختصارًا ACLs.
</p>

<p>
	سنتعمّق في هذا المقال في تطبيق تلك القوائم للتحكم بالوصول للشبكة، إذ سنتناول بنية ACL وكيفية تنفيذها وإمكانية إعداد وتطبيق تلك القوائم؛ كما سنتناول دراسة حالة عمليًا، إذ سنُعِّد قوائم ACL على جهاز بنظام التشغيل الشبكي سيسكو، بحيث يمكنك تطبيق المعرفة المكتسبة من دراسة هذه الحالة على مختلف أجهزة الشركات.
</p>

<blockquote class="ipsQuote" data-ipsquote="">
	<div class="ipsQuote_citation">
		اقتباس
	</div>

	<div class="ipsQuote_contents ipsClearfix">
		<p>
			<strong>ملاحظة</strong>: لا تكون قوائم ACL مفيدةً فقط لتحديد إمكانية الوصول، بل يمكن تطبيقها أيضًا على عدّة نواحٍ أخرى، مثل إعدادات ترجمة عنوان الشبكة Network Address Translation -أو اختصارًا NAT-، ومطابقة الوجهات الممكن قبولها أو التسويق لها ضمن بروتوكولات التوجيه الديناميكي والتوجيه المبني على السياسات وغيرها؛ كما أنها أيضًا ليست حكرًا على الشبكات، بل تُستخدم كذلك ضمن أنظمةٍ أخرى مثل أنظمة الملفات للتحكم بالوصول إلى الملفات والكائنات.
		</p>
	</div>
</blockquote>

<h2>
	قوائم التحكم بالوصول
</h2>

<h3>
	ما هي قائمة التحكم بالوصول؟
</h3>

<p>
	<a href="https://academy.hsoub.com/certificates/cisco/ccna/%D9%85%D9%82%D8%AF%D9%85%D8%A9-%D8%A5%D9%84%D9%89-%D9%84%D9%88%D8%A7%D8%A6%D8%AD-%D8%A7%D9%84%D8%AA%D8%AD%D9%83%D9%85-%D9%81%D9%8A-%D8%A7%D9%84%D9%88%D8%B5%D9%88%D9%84-access-control-lists-r76/" rel="">قائمة التحكم بالوصول ACL</a> هي قائمةٌ تتحكم بإمكانية الوصول كما يدل اسمها، وعند استخدامها للتحكم بالوصول للشبكة، تحدد تلك القائمة المضيفين المسموح لهم أو غير المسموح لهم بالوصول إلى الأجهزة أو الوجهات الأخرى، إذ يُطبَّق ذلك عادةً على كل رزمة من الرزم الممررة عبر الشبكة، مما يعني أن كل رزمة سيجري التحقُّق منها مع ACL لتحديد منعها أو السماح لها بالمرور.
</p>

<blockquote class="ipsQuote" data-ipsquote="">
	<div class="ipsQuote_citation">
		اقتباس
	</div>

	<div class="ipsQuote_contents ipsClearfix">
		<p>
			<strong>ملاحظة</strong>: يمكن استخدام قوائم ACL للتحقق من العديد من الحقول ضمن الرزمة، ومنها حقول في الطبقة الثانية مثل عناوين MAC، والطبقة الثالثة مثل عناوين IPv4، والطبقة الرابعة مثل رقم منفذ TCP، وغيرها. سيقتصر الشرح في هذا المقال على الطبقة الثالثة وما فوق. تُعد معظم قوائم ACL أيضًا عديمة الحالة "stateless"، وهذا يعني أن كل رزمة متدفقة ستُدقّق على حدى على عكس التصفية المعتمدة على الحالة التي تأخذ حالة الاتصال بالحسبان.
		</p>
	</div>
</blockquote>

<h3>
	هيكلية قوائم ACL
</h3>

<p>
	كما ذكرنا مسبقًا ACL هي قائمة، وهذا يعني أنها <strong>قائمةٌ تحوي أشياء</strong>. نصطلح تقنيًا بأن ACL هي قائمةٌ بمدخلات التحكم بالوصول Access Control Entries -أو اختصارًا ACEs، إذ يحتوي كل مدخل على شرطٍ يطابق رزمةً معينة.
</p>

<p>
	بناءً على هذا الوصف، يمكن تقسيم ACL إلى جزئين أساسيين:
</p>

<ul>
<li>
		معرّف ACL الذي يكون عادةً اسمًا أو رقمًا، وكما سنرى لاحقًا يمكن تعريف قوائم ACL من خلال نوعها.
	</li>
	<li>
		عددٌ من مدخلات التحكُّم بالوصول تُعرَّف عادةً بواسطة سلسلةٍ من الأرقام.
	</li>
</ul>
<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="99739" href="https://academy.hsoub.com/uploads/monthly_2022_05/access-control-entry.png.62a7ecfdf522ea597b49b243ffa84a0c.png" rel=""><img alt="access-control-entry.png" class="ipsImage ipsImage_thumbnailed" data-fileid="99739" data-unique="lny500gwy" src="https://academy.hsoub.com/uploads/monthly_2022_05/access-control-entry.png.62a7ecfdf522ea597b49b243ffa84a0c.png" style="width: 300px; height: auto;"></a>
</p>

<h4>
	مدخلات التحكم بالوصول ACEs
</h4>

<p>
	تشكل ACEs القسم الأكبر من ACL، إذ تحتوي كل قائمة تحكم ACL على واحدٍ أو أكثر من تلك المدخلات التي يسمح بها جهازٌ معين، وبغض النظر عن النوع المحدد لقائمة ACL، يمكننا تحديد مكونات ACE على النحو التالي:
</p>

<ul>
<li>
		<strong>معرّف</strong>: والذي يكون عادةً رقم السطر، فمثلًا سيمتلك أول ACE ضمن قائمة ACL مُعدَّةٍ على موجّه يعمل بنظام سيسكو رقم السطر 10 افتراضيًا، وسيمتلك ACE التالي رقم السطر 20، وهكذا.
	</li>
	<li>
		<strong>حدث</strong>: والذي سيُنفَّذ على الرزم التي تتطابق مع المدخل، وتكون عادةً قيمة الحدث، إما الرفض "deny"، أو السماح "permit".
	</li>
	<li>
		يجب في بعض الحالات <strong>مطابقة البروتوكول و معلومات المنفذ في رزمة</strong>، إذ يمكن مثلًا أن يتطابق مدخل ACE مع كل حركة مرور من نوع IP، بينما يمكن لمدخلٍ آخر أن يتطابق مع حركة مرور من نوع <a href="https://academy.hsoub.com/programming/general/%D9%85%D8%AF%D8%AE%D9%84-%D8%A5%D9%84%D9%89-http-%D8%B4%D8%B1%D8%AD-%D8%A7%D9%84%D8%AA%D8%AE%D8%A7%D8%B7%D8%A8-%D8%A8%D9%8A%D9%86-%D8%A7%D9%84%D8%B9%D9%85%D9%8A%D9%84-%D9%88%D8%A7%D9%84%D8%AE%D8%A7%D8%AF%D9%85-r74/" rel="">HTTP</a> فقط.
	</li>
	<li>
		<strong>المصدر</strong> الواجب مطابقته، ويكون عادةً عنوان IP لمصدر الرزمة، الذي يمكن أن يكون عنوانًا مفردًا، أو مجالًا من العناوين، أو مجال شبكة فرعي، ومن الممكن أن يطابق أي عنوان.
	</li>
	<li>
		<strong>الوجهة</strong> الواجب مطابقتها، وتكون عادةً عنوان IP لوجهة الرزمة، الذي يمكن أن يكون عنوانًا مفردًا، أو مجالًا من العناوين، أو مجال شبكة فرعي، ومن الممكن أن يطابق أي عنوان.
	</li>
</ul>
<p>
	يجب الأخذ بالحسبان اعتماد مكوني المصدر والوجهة على جهة الرزمة المرسلة. ألقٍ نظرةً على المخطط البياني التالي:
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="99747" href="https://academy.hsoub.com/uploads/monthly_2022_05/lab-setup.png.c6387a0d1edcbd82736d4446380e53b1.png" rel=""><img alt="lab-setup.png" class="ipsImage ipsImage_thumbnailed" data-fileid="99747" data-unique="59q1exzjh" src="https://academy.hsoub.com/uploads/monthly_2022_05/lab-setup.png.c6387a0d1edcbd82736d4446380e53b1.png"></a>
</p>

<p>
	يمكننا ملاحظة سيناريوهين مختلفين من منظور الموجّه R1:
</p>

<ol>
<li>
		إذا كان PC1 هو من أنشأ الاتصال إلى PC2 (مثلًا طلب ping من PC1 إلى PC2)، فسيكون مصدر حركة المرور هو العنوان 192.168.1.100 وعنوان الوجهة هو 192.168.2.200.
	</li>
	<li>
		إذا كان PC2 هو من أنشأ الاتصال إلى PC1 (مثلًا طلب ping من PC2 إلى PC2)، فسيكون مصدر حركة المرور هو العنوان 192.168.2.200 وعنوان الوجهة هو 192.168.1.100.
	</li>
</ol>
<h3>
	معالجة ACL
</h3>

<p>
	عندما نتحقق من رزمة ما مع قائمة ACL، تُطبَّق قواعد المعالجة التالية:
</p>

<ul>
<li>
		التحقق من مدخلات ACEs ضمن ACL بالترتيب من الأعلى إلى الأسفل، مما يعني أن التحقق من مدخل ACE رقم 10 سيحدث قبل مدخل ACE رقم 20.
	</li>
	<li>
		إذا لم تتطابق الرزمة مع المدخل ACE، يحدث التحقق منها مع المدخل التالي ضمن قائمة ACL.
	</li>
	<li>
		إذا طابقت الرزمة مدخل ACE، يُوقف التحقق مع كامل قائمة ACL، ويُطبَّق الحدث المحدد ضمن هذا المدخل على الرزمة.
	</li>
	<li>
		إذا لم تطابق الرزمة أيًا من المدخلات ضمن قائمة ACL، فسترمي أو ترفض معظم تضمينات قوائم ACL الرزمة بسبب وجود مدخل <strong>رفض ضمني</strong> في نهاية كل قائمة ACL.
	</li>
</ul>
<p>
	لنأخذ المثال التالي لفهم قواعد المعالجة تلك، فلنتخيل أن لدينا قائمة ACL فيها المدخلات التالية:
</p>

<pre class="ipsCode prettyprint lang-javascript prettyprinted" id="ips_uid_1438_9" style="">
<span class="pun">-</span><span class="pln"> </span><span class="typ">Seq</span><span class="pln"> </span><span class="pun">#</span><span class="lit">1</span><span class="pun">:</span><span class="pln"> </span><span class="typ">Permit</span><span class="pln"> ICMP from </span><span class="lit">192.168</span><span class="pun">.</span><span class="lit">1.100</span><span class="pln"> to </span><span class="lit">192.168</span><span class="pun">.</span><span class="lit">2.200</span><span class="pln">
</span><span class="pun">-</span><span class="pln"> </span><span class="typ">Seq</span><span class="pln"> </span><span class="pun">#</span><span class="lit">2</span><span class="pun">:</span><span class="pln"> </span><span class="typ">Deny</span><span class="pln"> ICMP from any source to any destination
</span><span class="pun">-</span><span class="pln"> </span><span class="typ">Seq</span><span class="pln"> </span><span class="pun">#</span><span class="lit">3</span><span class="pun">:</span><span class="pln"> </span><span class="typ">Permit</span><span class="pln"> HTTP traffic from </span><span class="lit">192.168</span><span class="pun">.</span><span class="lit">1.100</span><span class="pln"> to any destination
</span><span class="pun">-</span><span class="pln"> </span><span class="typ">Seq</span><span class="pln"> </span><span class="pun">#</span><span class="lit">4</span><span class="pun">:</span><span class="pln"> </span><span class="typ">Permit</span><span class="pln"> HTTPS traffic from </span><span class="lit">192.168</span><span class="pun">.</span><span class="lit">1.0</span><span class="pun">/</span><span class="lit">24</span><span class="pln"> to any destination</span></pre>

<ul>
<li>
		<strong>السؤال الأول:</strong> ماذا سيحدث لرزمة ping متوجهة من 192.168.1.100 إلى 192.168.2.200؟

		<ul>
<li>
				<strong>الجواب الأول:</strong> بما أن طلب ping مبنيٌ على بروتوكول ICMP سيُسمح للرزمة المتوجهة من 192.168.1.100 إلى 192.168.2.200 لأنها تطابق مدخل ACE رقم 1.
			</li>
		</ul>
</li>
	<li>
		<strong>السؤال الثاني:</strong> ماذا سيحدث لرزمة ping متوجهة من 192.168.1.50 إلى 192.168.2.200؟
		<ul>
<li>
				<strong>الجواب الثاني</strong>: سيجري التحقُّق من الرزمة مع قائمة ACL بدءًا من المدخل رقم 1، وبما أنها لا تطابق هذا المدخل، سيجري التحقُّق مع المدخل التالي (المدخل رقم 2). يرفض هذا المُدخل الثاني رسائل ICMP من أي مصدرٍ لأي وجهة، وبما أن الرزمة الحالية هي طلب ping (أي ICMP) والمصدر يطابق "any" والوجهة أيضًا تطابق "any"، لذلك ستُرفض الرزمة.
			</li>
		</ul>
</li>
	<li>
		<strong>السؤال الثالث:</strong> ماذا سيحدث لرزمة HTTPS متوجهةٍ من 192.168.1.50 إلى 41.1.1.1؟
		<ul>
<li>
				<strong>الجواب الثالث:</strong> لن تطابق تلك الرزمة أول ثلاثة مُدخلات، لكنها ستطابق المُدخل الرابع لأنها رزمة HTTPS عنوان المصدر لها ضمن مجال العناوين الفرعي 192.168.1.0/24، والوجهة تطابق "any"، لذلك سيُسمح لتلك الرزمة.
			</li>
		</ul>
</li>
	<li>
		<strong>السؤال الرابع:</strong> ماذا سيحدث لرزمة <a href="https://academy.hsoub.com/programming/general/%d9%85%d8%af%d8%ae%d9%84-%d8%a5%d9%84%d9%89-http-r73/" rel="">HTTP</a> متوجهة من 192.168.1.50 إلى 41.1.1.1؟
		<ul>
<li>
				<strong>الجواب الرابع:</strong> لن تطابق تلك الرزمة أي مدخلٍ من المدخلات الأربعة ضمن قائمة ACL (فقط العنوان 192.168.1.100 مسموحٌ له بإرسال طلبات HTTP)؛ لذلك ستُرفض تلك الرزمة على افتراض تطبيق قاعدة "الرفض الضمني" على هذه القائمة.
			</li>
		</ul>
</li>
</ul>
<h3>
	تطبيق قوائم ACL
</h3>

<p>
	إعداد قوائم ACL دون تطبيقها لا قيمة له، فكما لو أنك ركَّبت قفلًا لباب منزلك ولم تقفله عند ذهابك؛ فعند استخدام قوائم ACL للتحكم أو تصفية الوصول للشبكة، تُطبَّق تلك القوائم على واجهات الجهاز، مثل الموجّهات والمبدلات متعددة الطبقات وجدران الحماية وغيرها، ويمكن عمومًا تطبيق ACL باتجاهين على الواجهة:
</p>

<ul>
<li>
		<strong>جهة الورود:</strong> تنطبق على الرزم القادمة إلى الواجهة.
	</li>
	<li>
		<strong>جهة الخروج:</strong> تنطبق على الرزم الخارجة من الواجهة.
	</li>
</ul>
<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="99741" href="https://academy.hsoub.com/uploads/monthly_2022_05/acl-structure.png.590c63d97048e0651c8a39a058f01d21.png" rel=""><img alt="acl-structure.png" class="ipsImage ipsImage_thumbnailed" data-fileid="99741" data-unique="127ritadk" src="https://academy.hsoub.com/uploads/monthly_2022_05/acl-structure.png.590c63d97048e0651c8a39a058f01d21.png"></a>
</p>

<p>
	قد يكون من الصعب فهم كيفية تحديد الجهة التي تطبِّق عليها قوائم ACL، لذا سنأخذ المثال الموضّح في الصورة التالية، إذ يتصل PC1 مع الواجهة Fa0/0 الخاصة بالموجّه R1، ويتصل PC2 مع الواجهة Fa0/1 الخاصة بالموجّه R1.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="99747" href="https://academy.hsoub.com/uploads/monthly_2022_05/lab-setup.png.c6387a0d1edcbd82736d4446380e53b1.png" rel=""><img alt="lab-setup.png" class="ipsImage ipsImage_thumbnailed" data-fileid="99747" data-unique="59q1exzjh" src="https://academy.hsoub.com/uploads/monthly_2022_05/lab-setup.png.c6387a0d1edcbd82736d4446380e53b1.png"></a>
</p>

<p>
	لنفرض أننا نريد تطبيق قائمة ACL على R1، بحيث يُسمح فقط لحركة مرور البيانات لطلبات ping من نوع ICMP من PC1 إلى PC2، أين يجب تطبيق تلك القائمة؟
</p>

<ul>
<li>
		أولاً يمكننا تطبيق القائمة ACL على <strong>الواجهة Fa0/0 في اتجاه الورود</strong>، وذلك لأن حركة مرور طلبات ping من PC1 إلى PC2 تأتي إلى R1 من الواجهة Fa0/0 الخاصة به.
	</li>
	<li>
		يمكننا أيضًا تطبيق القائمة ACL على <strong>الواجهة Fa0/1 في اتجاه الخروج</strong>، وذلك لأن حركة مرور طلبات ping من PC1 إلى PC2 تخرج من R1 عبر الواجهة Fa0/1 الخاصة به.
	</li>
</ul>
<p>
	هناك طريقةٌ تفيد في فهم اتجاه تطبيق قوائم ACL، وهي أن تتخيل نفسك بدل الموجّه مد ذراعيك جانبًا وتخيل أن حركة مرور البيانات تأتي من أصابعك إلى جسمك وهي اتجاه الورود، بينما حركة مرور البيانات من جسمك إلى أصابعك هي اتجاه الخروج.
</p>

<h2>
	دراسة حالة: قوائم ACL على أجهزة بنظام سيسكو
</h2>

<p>
	هناك نوعان من قوائم ACL على الأقل على الأجهزة العاملة بنظام سيسكو:
</p>

<ul>
<li>
		<strong>قوائم ACL عادية</strong> والتي تُطابق مع عنوان المصدر فقط.
	</li>
	<li>
		<strong>قوائم ACL مُوسّعة</strong> والتي يمكن مطابقتها مع تركيبةٍ من البروتوكولات وعناوين المصدر والوجهة ومنافذ المصدر والوجهة والخيارات وغيرها.
	</li>
</ul>
<p>
	<strong>ملاحظة</strong>: تمتلك سيسكو أنواعًا أخرى من قوائم ACL، مثل القوائم المبنية على الوقت والقوائم الانعكاسية والديناميكية وغيرها، ولن نناقش تلك الأنواع في هذا المقال.
</p>

<p>
	يمكن تسمية قوائم ACL على الأجهزة العاملة بنظام سيسكو بغض النظر عن نوعها (مثلًا "TEST_ACL")، أو ترقيمها (مثلًا 100)، كما يجب الانتباه عند ترقيم قوائم ACL، إذ أن هناك مجالات أرقام لقوائم ACL العادية والمُوسّعة.
</p>

<p>
	نستخدم عند تعيين عناوين المصدر والوجهة على ACL ضمن ضبط نظام تشغيل سيسكو ما يدعى <strong>بالقناع</strong> أو يسمى أيضًا <strong>القناع المعكوس</strong> أو <strong>قناع محارف التبديل Wildcard</strong>؛ وهو قناع الشبكة الفرعية نفسه لكنه مقلوب، أي تصبح الواحدات "1" أصفارًا "0" وبالعكس، فمثلًا قناع محارف التبديل لقناع الشبكة الفرعية 255.255.255.0 هو 0.0.0.255.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="99760" href="https://academy.hsoub.com/uploads/monthly_2022_05/submet-mask.png.b2e6b098fe87fafdf61850948272bf21.png" rel=""><img alt="submet-mask.png" class="ipsImage ipsImage_thumbnailed" data-fileid="99760" data-unique="phkkcwt0x" src="https://academy.hsoub.com/uploads/monthly_2022_05/submet-mask.thumb.png.2b808a188f907dd6057ffc4b5a1a8dcd.png" style="width: 700px; height: auto;"></a>
</p>

<p>
	ضمن قناع محارف التبديل: الصفر "0" يعني "يجب أن يطابق must match"، بينما الواحد "1" يعني "لا تهتم don’t care"؛ فعلى سبيل المثال، ستطابق الشبكة 10.1.1.0 مع قناع محارف التبديل 0.0.0.3 حركة مرور البيانات من مجال عناوين IP من 10.1.1.1 حتى 10.1.1.3.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="99763" href="https://academy.hsoub.com/uploads/monthly_2022_05/wildcard-mask.png.f6c2aa4c2f43290c98836a88eafd3e08.png" rel=""><img alt="wildcard-mask.png" class="ipsImage ipsImage_thumbnailed" data-fileid="99763" data-unique="k9l4xzwsh" src="https://academy.hsoub.com/uploads/monthly_2022_05/wildcard-mask.thumb.png.8a4391876f351c179932513ed47d2d98.png" style="width: 700px; height: auto;"></a>
</p>

<blockquote class="ipsQuote" data-ipsquote="">
	<div class="ipsQuote_citation">
		اقتباس
	</div>

	<div class="ipsQuote_contents ipsClearfix">
		<p>
			<strong>ملاحظة</strong>: سيطابق أيضًا 10.1.1.0، ولكن بما أنه عنوان شبكة فهو لا يُعد عنوان مصدرٍ صحيحٍ للرزمة.
		</p>
	</div>
</blockquote>

<p>
	سنستخدم الشبكة التالية لتطبيق دراسة الحالة:
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="99748" href="https://academy.hsoub.com/uploads/monthly_2022_05/lab-setup2.png.46364b603ab23ea22fd8e151db6a5cbe.png" rel=""><img alt="lab-setup2.png" class="ipsImage ipsImage_thumbnailed" data-fileid="99748" data-unique="ri5p4kd8a" src="https://academy.hsoub.com/uploads/monthly_2022_05/lab-setup2.png.46364b603ab23ea22fd8e151db6a5cbe.png" style="width: 500px; height: auto;"></a>
</p>

<p>
	يمكنك بناء تلك الشبكة باستخدام برامج، مثل <a href="https://www.gns3.com/" rel="external nofollow">GNS3</a> أو <a href="https://www.netacad.com/courses/packet-tracer" rel="external nofollow">Packe Tracer</a>. أُعِدت عناوين IP على كل الواجهات ونُفّذ بروتوكول EIGRP على الشبكة ليصبح هناك تواصلٌ بين كافة الأجهزة:
</p>

<p>
	الموجّه R1:
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="99757" href="https://academy.hsoub.com/uploads/monthly_2022_05/show-ip-interface.png.fe63dede1565f0435f34c4c82862c1ab.png" rel=""><img alt="show-ip-interface.png" class="ipsImage ipsImage_thumbnailed" data-fileid="99757" data-unique="agz3m43oe" src="https://academy.hsoub.com/uploads/monthly_2022_05/show-ip-interface.png.fe63dede1565f0435f34c4c82862c1ab.png" style="width: 500px; height: auto;"></a>
</p>

<p>
	الموجّه R2:
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="99752" href="https://academy.hsoub.com/uploads/monthly_2022_05/r2-show-ip.png.3bebb9902e185b5d37e2db92112b9847.png" rel=""><img alt="r2-show-ip.png" class="ipsImage ipsImage_thumbnailed" data-fileid="99752" data-unique="7lgvowipe" src="https://academy.hsoub.com/uploads/monthly_2022_05/r2-show-ip.png.3bebb9902e185b5d37e2db92112b9847.png" style="width: 500px; height: auto;"></a>
</p>

<p>
	الموجّه R3:
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="99753" href="https://academy.hsoub.com/uploads/monthly_2022_05/r3-show-int.png.ec8827d41637371976bcf6d3067b659b.png" rel=""><img alt="r3-show-int.png" class="ipsImage ipsImage_thumbnailed" data-fileid="99753" data-unique="tr1e6junu" src="https://academy.hsoub.com/uploads/monthly_2022_05/r3-show-int.png.ec8827d41637371976bcf6d3067b659b.png" style="width: 500px; height: auto;"></a>
</p>

<p>
	لاختبار الاتصال: سنرسل طلب ping إلى R3 من واجهات loopback إلى R2:
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="99751" href="https://academy.hsoub.com/uploads/monthly_2022_05/r2-ping.png.71619145469e55f01db5f6984f335028.png" rel=""><img alt="r2-ping.png" class="ipsImage ipsImage_thumbnailed" data-fileid="99751" data-unique="yul0gun14" src="https://academy.hsoub.com/uploads/monthly_2022_05/r2-ping.png.71619145469e55f01db5f6984f335028.png"></a>
</p>

<h4>
	إنشاء قوائم ACL على نظام تشغيل سيسكو
</h4>

<p>
	لنُعدّ الآن قائمة ACL على R1، بحيث تحقق الشروط التالية:
</p>

<ul>
<li>
		السماح لكل حركة مرور للبيانات من نوع ICMP من 192.168.10.0/24 إلى أي وجهة.
	</li>
	<li>
		ينبغي رفض كل حركة مرور البيانات الأخرى من النوع ICMP.
	</li>
	<li>
		ينبغي السماح لكل حركة مرور البيانات في مجال عناوين IP من 192.168.20.0/24 إلى192.168.30.0/24.
	</li>
	<li>
		ينبغي أن تستطيع الأجهزة على الشبكة 192.168.10.0/24 الاتصال مع المضيف 192.168.30.1 باستخدام <abbr title="Secure Shell | القشرة (أو الصَدَفة) الآمنة">SSH</abbr>، وينبغي منع اتصالات Telnet.
	</li>
	<li>
		ينبغي رفض كل حركة مرور البيانات الأخرى.
	</li>
</ul>
<p>
	لإعداد قائمة ACL على جهاز <a href="https://academy.hsoub.com/files/24-%D8%A3%D9%86%D8%B8%D9%85%D8%A9-%D8%A7%D9%84%D8%AA%D8%B4%D8%BA%D9%8A%D9%84-%D9%84%D9%84%D9%85%D8%A8%D8%B1%D9%85%D8%AC%D9%8A%D9%86/" rel="">بنظام تشغيل</a> سيسكو نتبع الخطوات التالية:
</p>

<ul>
<li>
		تُعرَّف قائمة ACL بواسطة اسم أو رقم، وتكون القوائم المُعرّفة باسم أسهل في الإعداد. وتكون صيغة أمر إعداد قائمة ACL المُعرفة باسم على النحو التالي:
	</li>
</ul>
<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_1438_26" style="">
<span class="pln">ip access</span><span class="pun">-</span><span class="pln">list </span><span class="pun">[</span><span class="pln">extended</span><span class="pun">|</span><span class="pln">standard</span><span class="pun">]</span><span class="pln"> </span><span class="pun">&lt;</span><span class="pln">ACL name</span><span class="pun">&gt;</span></pre>

<ul>
<li>
		إعداد مدخلات ACE ضمن ACL باستخدام الصيغة التالية:
	</li>
</ul>
<pre class="ipsCode prettyprint lang-php prettyprinted" id="ips_uid_1438_24" style="">
<span class="pun">[</span><span class="pln">permit</span><span class="pun">|</span><span class="pln">deny</span><span class="pun">]</span><span class="pln"> </span><span class="str">&lt;protocol&gt;</span><span class="pln"> </span><span class="pun">&lt;</span><span class="pln">source network</span><span class="pun">&gt;</span><span class="pln"> </span><span class="pun">&lt;</span><span class="pln">source wildcard mask</span><span class="pun">&gt;</span><span class="pln"> </span><span class="pun">&lt;</span><span class="pln">destination network</span><span class="pun">&gt;</span><span class="pln"> </span><span class="pun">&lt;</span><span class="pln">destination wildcard mask</span><span class="pun">&gt;</span><span class="pln"> </span><span class="str">&lt;options&gt;</span></pre>

<ul>
<li>
		ندخل إلى الواجهة المطلوب إعدادها ونطبق قائمة ACL باستخدام الأمر التالي:
	</li>
</ul>
<pre class="ipsCode prettyprint lang-php prettyprinted" id="ips_uid_1438_28" style="">
<span class="pln">ip access</span><span class="pun">-</span><span class="kwd">group</span><span class="pln"> </span><span class="pun">&lt;</span><span class="pln">ACL name</span><span class="pun">&gt;</span><span class="pln"> </span><span class="pun">[</span><span class="kwd">in</span><span class="pun">|</span><span class="kwd">out</span><span class="pun">]</span></pre>

<p>
	فيكون الضبط اللازم لتحقيق ذلك على R1 على النحو التالي:
</p>

<pre class="ipsCode prettyprint lang-php prettyprinted" id="ips_uid_1438_30" style="">
<span class="pln">ip access</span><span class="pun">-</span><span class="pln">list extended EXAMPLE_ACL

permit icmp </span><span class="lit">192.168</span><span class="pun">.</span><span class="lit">10.0</span><span class="pln"> </span><span class="lit">0.0</span><span class="pun">.</span><span class="lit">0.255</span><span class="pln"> any

deny   icmp any any

permit ip </span><span class="lit">192.168</span><span class="pun">.</span><span class="lit">20.0</span><span class="pln"> </span><span class="lit">0.0</span><span class="pun">.</span><span class="lit">0.255</span><span class="pln"> </span><span class="lit">192.168</span><span class="pun">.</span><span class="lit">30.0</span><span class="pln"> </span><span class="lit">0.0</span><span class="pun">.</span><span class="lit">0.255</span><span class="pln">

permit tcp </span><span class="lit">192.168</span><span class="pun">.</span><span class="lit">10.0</span><span class="pln"> </span><span class="lit">0.0</span><span class="pun">.</span><span class="lit">0.255</span><span class="pln"> host </span><span class="lit">192.168</span><span class="pun">.</span><span class="lit">30.1</span><span class="pln"> eq </span><span class="lit">22</span><span class="pln">

</span><span class="pun">!</span><span class="pln">

</span><span class="kwd">interface</span><span class="pln"> </span><span class="typ">FastEthernet0</span><span class="pun">/</span><span class="lit">0</span><span class="pln">

ip access</span><span class="pun">-</span><span class="kwd">group</span><span class="pln"> EXAMPLE_ACL </span><span class="kwd">in</span><span class="pln">

</span><span class="pun">!</span></pre>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="99740" href="https://academy.hsoub.com/uploads/monthly_2022_05/acl-config.png.e54cc3db8aeacffea055acbd98723566.png" rel=""><img alt="acl-config.png" class="ipsImage ipsImage_thumbnailed" data-fileid="99740" data-unique="tqj1oewau" src="https://academy.hsoub.com/uploads/monthly_2022_05/acl-config.png.e54cc3db8aeacffea055acbd98723566.png" style="width: 500px; height: auto;"></a>
</p>

<p>
	لا بُدّ من ملاحظة الأمور التالية في الضبط السابق:
</p>

<ul>
<li>
		أُعدّت قائمة ACL بالاسم "EXAMPLE_ACL"، وهذه القائمة من النوع الموسع لأننا سنحتاج لمطابقة عدة حقول.
	</li>
	<li>
		يمكن استخدام الكلمة المفتاحية "any" لمطابقة أي عنوان.
	</li>
	<li>
		يمكن استخدام الكلمة المفتاحية "host" لمطابقة عنوانٍ معين.
	</li>
	<li>
		يمكننا تحديد المنفذ الذي سيجري مطابقته باستخدام الكلمات المفتاحية، مثل "eq" والتي تعني يساوي، و "gt" والتي تعني أكبر من وغيرها.
	</li>
	<li>
		لم نرفض صراحةً كل حركة مرور البيانات الباقية، إذ سترفض قاعدة "الرفض الضمني" في نهاية كل قائمة ACL في سيسكو أي حركة مرور بيانات لم تتطابق مع تلك القائمة.
	</li>
	<li>
		طبقنا قائمة ACL على جهة الورود للواجهة Fa0/0، ويمكننا أيضًا تطبيقها على جهة الخروج للواجهة Fa0/1.
	</li>
</ul>
<h3>
	التحقق من قوائم ACL
</h3>

<p>
	يمكننا رؤية ضبط وإحصائيات ACL باستخدام الأمر التالي:
</p>

<pre class="ipsCode prettyprint lang-php prettyprinted" id="ips_uid_1438_33" style="">
<span class="pln">show ip access</span><span class="pun">-</span><span class="pln">lists </span><span class="kwd">or</span><span class="pln"> show access</span><span class="pun">-</span><span class="pln">lists</span></pre>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="99756" href="https://academy.hsoub.com/uploads/monthly_2022_05/show-ip-access-list.png.d4e92b831633c2d5d2345aaefc34a9eb.png" rel=""><img alt="show-ip-access-list.png" class="ipsImage ipsImage_thumbnailed" data-fileid="99756" data-unique="tu8njptsh" src="https://academy.hsoub.com/uploads/monthly_2022_05/show-ip-access-list.png.d4e92b831633c2d5d2345aaefc34a9eb.png" style="width: 500px; height: auto;"></a>
</p>

<p>
	لاحظ طريقة الترقيم، إذ تبدأ بالرقم 10 ويُضاف كل مدخلٍ جديد أسفل المدخل السابق. يمكننا استخدام الأمر <code>show ip interface</code> لعرض قوائم ACL المطبقة على الواجهة:
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="99744" href="https://academy.hsoub.com/uploads/monthly_2022_05/inbond-acp-example.png.c7f4a2afbe20da2436eaed3a5e057b73.png" rel=""><img alt="inbond-acp-example.png" class="ipsImage ipsImage_thumbnailed" data-fileid="99744" data-unique="i7oiw7uqf" src="https://academy.hsoub.com/uploads/monthly_2022_05/inbond-acp-example.png.c7f4a2afbe20da2436eaed3a5e057b73.png" style="width: 350px; height: auto;"></a>
</p>

<blockquote class="ipsQuote" data-ipsquote="">
	<div class="ipsQuote_citation">
		اقتباس
	</div>

	<div class="ipsQuote_contents ipsClearfix">
		<p>
			<strong>ملاحظة</strong>: يمكن تطبيق قائمتي ACL بالحد الأقصى على الواجهة، واحدةٌ لكل جهة.
		</p>
	</div>
</blockquote>

<h3>
	تعديل قوائم ACL
</h3>

<p>
	تطبيق تلك القائمة أحدث لنا مشكلةً بين R1 و R2:
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="99743" href="https://academy.hsoub.com/uploads/monthly_2022_05/eigrp.png.5af997eff26618adc352a5991101d6a2.png" rel=""><img alt="eigrp.png" class="ipsImage ipsImage_thumbnailed" data-fileid="99743" data-unique="tsjos02ty" src="https://academy.hsoub.com/uploads/monthly_2022_05/eigrp.png.5af997eff26618adc352a5991101d6a2.png" style="width: 550px; height: auto;"></a>
</p>

<p>
	أُنهيت علاقة بروتوكول EIGRP لأن قاعدة "الرفض الضمني" تمنع رزم EIGRP في نهاية قائمة ACL، لذا يمكن حل تلك المشكلة عبر التصريح عن السماح لرزم EIGRP ضمن قائمتنا.
</p>

<p>
	<strong>تحذير</strong>: يجب الحذر عند تعديل قائمة ACL لأن مدخلات ACE ستضاف لأسفل القائمة (قبل قاعدة الرفض الضمني)، لكن يمكننا باستخدام قوائم ACL المعرّفة بأسماء تحديد رقم سطر إضافة المدخل الجديد.
</p>

<p>
	لا يهم في حالتنا هذه مكان إضافة المدخل للسماح بحركة مرور البيانات EIGRP لعدم وجود أي مدخلٍ آخر يؤثر عليها قبل قاعدة الرفض الضمني، مع ذلك سنضيف المدخل "permit eigrp any any" على السطر رقم 5 ضمن القائمة فقط لنرى كيف يمكن إضافة المدخل ضمن أي سطر:
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="99745" href="https://academy.hsoub.com/uploads/monthly_2022_05/ip-access-list-extended.png.bb5a0cbd0570c5e08da0c284af2ffd1a.png" rel=""><img alt="ip-access-list-extended.png" class="ipsImage ipsImage_thumbnailed" data-fileid="99745" data-unique="d1lp8r5i7" src="https://academy.hsoub.com/uploads/monthly_2022_05/ip-access-list-extended.png.bb5a0cbd0570c5e08da0c284af2ffd1a.png" style="width: 550px; height: auto;"></a>
</p>

<p>
	بعد ذلك تكون قد أُعيدت علاقة EIGRP.
</p>

<h3>
	اختبار قوائم ACL
</h3>

<p>
	يمكننا الآن البدء باختبار قائمة ACL السابقة، ولذلك تذكر أنه لا بُدّ من اختبار ما يجب أن يعمل وما لا يعمل أيضًا.
</p>

<p>
	<strong>الاختبار 1: ينبغي السماح لطلب ping من 192.168.10.1 إلى 192.168.30.1 بسبب المدخل في السطر رقم 10 ضمن ACL.</strong>
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="99750" href="https://academy.hsoub.com/uploads/monthly_2022_05/r2-ping-success.png.6ce24c5241687b3af9842e6cec528e28.png" rel=""><img alt="r2-ping-success.png" class="ipsImage ipsImage_thumbnailed" data-fileid="99750" data-unique="0kl451q89" src="https://academy.hsoub.com/uploads/monthly_2022_05/r2-ping-success.png.6ce24c5241687b3af9842e6cec528e28.png" style="width: 500px; height: auto;"></a>
</p>

<p>
	يمكننا التحقق من العدادات ضمن ACL لنتأكد أن حركة مرور البيانات تلك تطابقت مع قائمة ACL:
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="99756" href="https://academy.hsoub.com/uploads/monthly_2022_05/show-ip-access-list.png.d4e92b831633c2d5d2345aaefc34a9eb.png" rel=""><img alt="show-ip-access-list.png" class="ipsImage ipsImage_thumbnailed" data-fileid="99756" data-unique="tu8njptsh" src="https://academy.hsoub.com/uploads/monthly_2022_05/show-ip-access-list.png.d4e92b831633c2d5d2345aaefc34a9eb.png" style="width: 500px; height: auto;"></a>
</p>

<p>
	<strong>الاختبار 2: ينبغي أن يفشل طلب ping من 192.168.20.1 إلى 192.168.30.1 بسبب المدخل في السطر رقم 20 ضمن ACL.</strong>
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="99751" href="https://academy.hsoub.com/uploads/monthly_2022_05/r2-ping.png.71619145469e55f01db5f6984f335028.png" rel=""><img alt="r2-ping.png" class="ipsImage ipsImage_thumbnailed" data-fileid="99751" data-unique="yul0gun14" src="https://academy.hsoub.com/uploads/monthly_2022_05/r2-ping.png.71619145469e55f01db5f6984f335028.png" style="width: 500px; height: auto;"></a>
</p>

<p>
	<strong>الاختبار 3: ينبغي السماح لطلب Telnet و <abbr title="Secure Shell | القشرة (أو الصَدَفة) الآمنة">SSH</abbr> من 192.168.20.1 إلى 192.168.30.1 بسبب المدخل في السطر رقم 30 ضمن ACL</strong>.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="99762" href="https://academy.hsoub.com/uploads/monthly_2022_05/user-access-validation.png.50b978a2ecbfb221a7aa860f723a529d.png" rel=""><img alt="user-access-validation.png" class="ipsImage ipsImage_thumbnailed" data-fileid="99762" data-unique="wnjkdtofk" src="https://academy.hsoub.com/uploads/monthly_2022_05/user-access-validation.png.50b978a2ecbfb221a7aa860f723a529d.png" style="width: 350px; height: auto;"></a>
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="99759" href="https://academy.hsoub.com/uploads/monthly_2022_05/ssh-source1.png.475e63aebb1dcf6521dc21a8baa182d3.png" rel=""><img alt="ssh-source1.png" class="ipsImage ipsImage_thumbnailed" data-fileid="99759" data-unique="oe8uu78ut" src="https://academy.hsoub.com/uploads/monthly_2022_05/ssh-source1.png.475e63aebb1dcf6521dc21a8baa182d3.png" style="width: 350px; height: auto;"></a>
</p>

<p>
	<strong>الاختبار 4: ينبغي السماح لطلب <abbr title="Secure Shell | القشرة (أو الصَدَفة) الآمنة">SSH</abbr> من 192.168.10.1 إلى 192.168.30.1 بسبب المدخل في السطر رقم 40 ضمن ACL.</strong>
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="99758" href="https://academy.hsoub.com/uploads/monthly_2022_05/ssh-source.png.ae8832211b24e1f30e64b23a0fcb5c2c.png" rel=""><img alt="ssh-source.png" class="ipsImage ipsImage_thumbnailed" data-fileid="99758" data-unique="k76by44hs" src="https://academy.hsoub.com/uploads/monthly_2022_05/ssh-source.png.ae8832211b24e1f30e64b23a0fcb5c2c.png" style="width: 350px; height: auto;"></a>
</p>

<p>
	<strong>الاختبار 5: يبنغي أن يفشل طلب Telnet من 192.168.10.1 إلى 192.168.30.1 بسبب قاعدة الرفض الضمني.</strong>
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="99761" href="https://academy.hsoub.com/uploads/monthly_2022_05/telnet-acl.png.0e144f899f0e30be281851145536bf2e.png" rel=""><img alt="telnet-acl.png" class="ipsImage ipsImage_thumbnailed" data-fileid="99761" data-unique="33ruzslk0" src="https://academy.hsoub.com/uploads/monthly_2022_05/telnet-acl.png.0e144f899f0e30be281851145536bf2e.png" style="width: 350px; height: auto;"></a>
</p>

<p>
	يمكننا التحقق من الإحصائيات على ACL للتأكد أن حركة مرور البيانات قد وصلت بالفعل إلى ACL:
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="99756" href="https://academy.hsoub.com/uploads/monthly_2022_05/show-ip-access-list.png.d4e92b831633c2d5d2345aaefc34a9eb.png" rel=""><img alt="show-ip-access-list.png" class="ipsImage ipsImage_thumbnailed" data-fileid="99756" data-unique="tu8njptsh" src="https://academy.hsoub.com/uploads/monthly_2022_05/show-ip-access-list.png.d4e92b831633c2d5d2345aaefc34a9eb.png" style="width: 450px; height: auto;"></a>
</p>

<h2>
	ملاحظات مفيدة حول قوائم ACL
</h2>

<p>
	تفيدك الملاحظات التالية خلال تضمين قائمة ACL:
</p>

<ul>
<li>
		بما أن المطابقة مع ACL ستتوقف عند أول مدخل يتطابق، فحاول وضع أكثر المدخلات تحديدًا في أعلى قائمة ACL وأكثر المدخلات عموميةً في الأسفل.
	</li>
</ul>
<p>
	فمثلًا إذا وضعنا المدخل التالي:
</p>

<pre class="ipsCode prettyprint lang-py prettyprinted" id="ips_uid_1438_54" style="">
<span class="pln">deny icmp any any</span></pre>

<p>
	قبل المدخل:
</p>

<pre class="ipsCode prettyprint lang-javascript prettyprinted" id="ips_uid_1438_56" style="">
<span class="pln">permit icmp host </span><span class="lit">1.1</span><span class="pun">.</span><span class="lit">1.1</span><span class="pln"> any</span></pre>

<p>
	ستُرفض حركة مرور البيانات من نوع ICMP من المضيف 1.1.1.1.
</p>

<ul>
<li>
		يجري البحث ضمن قوائم ACL من الأعلى للأسفل، لذلك ينبغي وضع قواعد حركة مرور البيانات ذات فرصة المطابقة الأعلى في أعلى قائمة ACL، إذ سيقلل ذلك من وقت البحث وبالتالي استهلاك الموارد.
	</li>
	<li>
		يمكنك استخدام التعليقات لزيادة قابلية قراءة قوائم ACL، أي حتى تتمكن من فهم ماذا يفعل أحد المدخلات ولماذا أُضيف.
	</li>
	<li>
		حاول تطبيق قوائم ACL بأقرب ما يمكن إلى مصدر حركة مرور البيانات، فلا فائدة من عبور حركة مرور البيانات خلال الشبكة لتُرفض في النهاية، وقد لا تتمكن من تطبيق تلك الملاحظة على قوائم ACL العادية.
	</li>
	<li>
		يمكنك تطبيق قوائم ACL في جهة الورود بدلًا من جهة الخروج، ويُفضَّل ذلك إذ ستُعالج الرزم في الحالة الأولى، مثل البحث ضمن جدول التوجيه قبل التحقُّق منها على قائمة ACL في جهة الخروج، فلا داعي لهدر موارد المعالجة إذا كانت ستُرفض حركة مرور البيانات لاحقًا عدا عن بعض الحالات التي يكون ذلك فيها ضروريًا.
	</li>
</ul>
<h2>
	في الختام
</h2>

<p>
	شرحنا ضمن هذا المقال قوائم التحكم بالوصول بالتفصيل وركزنا على كيفية استخدامها لتصفية الرزم ضمن الشبكة، ورأينا أيضًا كيف أن قوائم ACL مؤلفة من مدخلات التحكم بالوصول ACEs والتي بدورها تسمح أو تمنع حركة مرور البيانات بناءً على شرطٍ معين.
</p>

<p>
	ناقشنا كيفية معالجة القواعد ضمن قوائم ACL، حيث تحدث من الأعلى للأسفل وتتوقف عند أول تطابق. كما شرحنا كيف يمكن لقوائم ACL أن تُطبَّق على الواجهات إما بجهة الورود أو جهة الخروج. وأخيرًا، درسنا حالة تضمين قوائم ACL على أجهزة بنظام سيسكو وناقشنا بعض الملاحظات المفيدة.
</p>

<p>
	ترجمة -وبتصرف- للمقال "<a href="https://www.pcwdld.com/guide-to-access-control-lists" rel="external nofollow">Access Control Lists – Your Guide to Securing Networks with ACL [ Tutorial &amp; Commands ]</a>" لصاحبه Marc Wilson.
</p>

<h2>
	اقرأ أيضًا
</h2>

<ul>
<li>
		<a href="https://academy.hsoub.com/certificates/cisco/ccna/%D9%85%D9%82%D8%AF%D9%85%D8%A9-%D8%A5%D9%84%D9%89-%D9%84%D9%88%D8%A7%D8%A6%D8%AD-%D8%A7%D9%84%D8%AA%D8%AD%D9%83%D9%85-%D9%81%D9%8A-%D8%A7%D9%84%D9%88%D8%B5%D9%88%D9%84-access-control-lists-r76/" rel="">مقدمة إلى لوائح التحكم في الوصول</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/certificates/cisco/ccna/%D8%A3%D9%82%D9%86%D8%B9%D8%A9-%D9%85%D8%AD%D8%B1%D9%81-%D8%A7%D9%84%D8%A8%D8%AF%D9%84-%D9%88%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85%D9%87%D8%A7-%D9%81%D9%8A-%D9%84%D9%88%D8%A7%D8%A6%D8%AD-%D8%A7%D9%84%D8%AA%D8%AD%D9%83%D9%85-%D9%81%D9%8A-%D8%A7%D9%84%D9%88%D8%B5%D9%88%D9%84-acl-r77/" rel="">أقنعة محرف البدل واستخدامها في لوائح التحكم في الوصول ACL</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/certificates/cisco/ccna/%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D9%81%D8%B1%D8%B9%D9%8A%D8%A9-%D9%88%D8%A7%D9%84%D8%A7%D8%AE%D8%AA%D8%B5%D8%A7%D8%B1%D8%A7%D8%AA-%D9%81%D9%8A-%D9%84%D9%88%D8%A7%D8%A6%D8%AD-%D8%A7%D9%84%D8%AA%D8%AD%D9%83%D9%85-%D9%81%D9%8A-%D8%A7%D9%84%D9%88%D8%B5%D9%88%D9%84-acl-r78/" rel="">الشبكات الفرعية والاختصارات في لوائح التحكم في الوصول ACL</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/devops/linux/%D8%A7%D9%84%D8%AA%D8%AD%D9%83%D9%85-%D8%A8%D8%A7%D9%84%D9%88%D8%B5%D9%88%D9%84-%D8%A5%D9%84%D9%89-%D8%A7%D9%84%D8%A3%D9%82%D8%B1%D8%A7%D8%B5-%D8%A7%D9%84%D8%AE%D8%A7%D8%B1%D8%AC%D9%8A%D8%A9-%D9%81%D9%8A-%D9%84%D9%8A%D9%86%D9%83%D8%B3-r557/" rel="">التحكم بالوصول إلى الأقراص الخارجية في لينكس</a>
	</li>
</ul>
]]></description><guid isPermaLink="false">620</guid><pubDate>Wed, 25 May 2022 09:55:36 +0000</pubDate></item><item><title>&#x645;&#x641;&#x647;&#x648;&#x645; &#x625;&#x62F;&#x627;&#x631;&#x629; &#x627;&#x644;&#x648;&#x635;&#x648;&#x644; &#x648;&#x643;&#x64A;&#x641;&#x64A;&#x629; &#x625;&#x62F;&#x627;&#x631;&#x629; &#x648;&#x645;&#x631;&#x627;&#x642;&#x628;&#x629; &#x634;&#x628;&#x643;&#x629; &#x645;&#x624;&#x633;&#x633;&#x62A;&#x643;</title><link>https://academy.hsoub.com/devops/networking/%D9%85%D9%81%D9%87%D9%88%D9%85-%D8%A5%D8%AF%D8%A7%D8%B1%D8%A9-%D8%A7%D9%84%D9%88%D8%B5%D9%88%D9%84-%D9%88%D9%83%D9%8A%D9%81%D9%8A%D8%A9-%D8%A5%D8%AF%D8%A7%D8%B1%D8%A9-%D9%88%D9%85%D8%B1%D8%A7%D9%82%D8%A8%D8%A9-%D8%B4%D8%A8%D9%83%D8%A9-%D9%85%D8%A4%D8%B3%D8%B3%D8%AA%D9%83-r619/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2022_05/628df1eb12dcc_---Access-Management-----.png.0c7deae341df243045a74f69f217ed3d.png" /></p>

<p>
	تُعد إدارة الوصول Access Management عملية أمان في تقنية المعلومات، بحيث تمنع المستخدمين من الوصول للشبكة وسرقة البيانات؛ وتُعد إدارة صلاحيات الوصول من أهم النواحي عند تأمين البيانات، إذ تتضمن تلك العملية إنشاء وتوفير وإدارة مختلف المستخدمين والمجموعات والأدوار والسياسات.
</p>

<p>
	"ينجز تطبيق إدارة الوصول للهوية Identity Access Management -أو اختصارًا IAM- ذلك تمامًا"، إذ <strong>يحفظ معلومات المستخدم وأدواره والمجموعة التي ينتمي إليها والسياسات الواجب تطبيقها</strong>، ويعالج طلبات المستخدم للوصول عن طريق التحقُّق من ملفات تعريفه وأدواره.
</p>

<p>
	النظامان المتحكِّمان بإدارة أذونات المستخدم وتسهيلها، هما خدمة Active Directory -أو اختصارًا AD-، والبرتوكول الخفيف للوصول إلى الدليل Lightweight Directory Access Protocol -أو اختصارًا LDAP؛ فعلى الرغم من أن الهدف منهما هو نفسه إلا أنهما يختلفان بالوظيفة.
</p>

<p>
	تُعد <a href="https://academy.hsoub.com/devops/networking/%D8%AE%D8%AF%D9%85%D8%A9-active-directory-%D8%AF%D9%84%D9%8A%D9%84-%D8%A7%D9%84%D9%85%D8%B5%D8%B7%D9%84%D8%AD%D8%A7%D8%AA-%D9%88%D8%A7%D9%84%D8%AA%D8%B9%D8%A7%D8%B1%D9%8A%D9%81-%D9%88%D8%A7%D9%84%D8%A3%D8%B3%D8%A7%D8%B3%D9%8A%D8%A7%D8%AA-r616/" rel="">Active Directory</a> خدمةً، وهي قاعدة بيانات هرمية للدليل تحتوي على جميع معلومات المستخدمين على الشبكة، وهي متوافقةٌ مع نظام تشغيل ويندوز فقط؛ وعلى العكس من ذلك يوفّر بروتوكول LDAP الفهرسة وخدمات الدليل، ويُستخدم للتواصل مع خدمة AD.
</p>

<p>
	سنناقش ضمن هذا الدليل الشامل <strong>لإدارة الوصول</strong> النقاط التالية:
</p>

<ol>
<li>
		ما هي خدمة Active Directory؟
	</li>
	<li>
		التحقق من الاعتماديات باستخدام خدمة Active Directory.
	</li>
	<li>
		ما هي عملية الوصول الخفيفة إلى الدليل؟
	</li>
	<li>
		بنية بروتوكول LDAP ووظيفته.
	</li>
	<li>
		طرق أخرى للتحكم بالوصول.
	</li>
	<li>
		نظام الهوية وإدارة الوصول.
	</li>
	<li>
		أدوات إدارة وصول موصى بها.
	</li>
</ol>
<h2>
	ما هي خدمة Active Directory؟
</h2>

<p>
	كما ذكرنا سابقًا Active Directory هي خدمة دليل هرمية طُوِّرت من قِبل مايكروسوفت خصيصًا للشبكات العاملة بنطاق ويندوز، إذ تحتوي جميع معلومات المستخدمين وملفات تعريفهم ضمن الشبكة.
</p>

<p>
	بدأت AD بمثابة خدمة إدارة نطاق مركزية لخادم ويندوز 2008، واشتهرت حتى أصبحت المفتاح الأساس لمعظم الخدمات المبنية على الدليل، إذ فوِّض كل ما يتعلق بالهوية إليها.
</p>

<p>
	تخزن الخدمة أية معلوماتٍ متعلقةٍ بكائنات الشبكة وتجعلها متاحةً وسهلة العثور عليها، إذ يشير الكائن عادةً للموارد المشتركة، مثل المجلدات والطابعات والخوادم والحسابات وغيرها.
</p>

<p>
	تستخدم خدمة AD مخزن بيانات هيكلي أساسًا للتنظيم الهيكلي لكافة معلومات الدليل؛ ويُعرف مخزن البيانات هذا بالدليل، وهو يحتوي على جميع المعلومات عن كائنات الدليل.
</p>

<h3>
	الأمان الذي توفره خدمة AD
</h3>

<p>
	يمكن للمسؤولين التحكم بكل بيانات الدليل وتنظيمها من الشبكة من خلال تسجيل دخولٍ واحد للشبكة، وتؤمّن خدمة AD النطاق من خلال استيثاق تسجيل الدخول والتحكم بالوصول إلى الكائنات الموجودة ضمن الدليل.
</p>

<p>
	خدمات النطاق Active Directory Domain Services -أو اختصارًا AD DS-، هي المسؤولة عن توفير طريقةٍ لتخزين معلومات الدليل وإتاحتها للجميع سواءً كانوا مستخدمين أم مسؤولين، ويمكن القول بأن AD DS يخزن جميع المعلومات عن حسابات المستخدم ويسمح للمستخدمين المسموح لهم فقط بالوصول لتلك المعلومات.
</p>

<p>
	يُطلق على خادم AD DS عادةً اسم متحكم النطاق Domain Controller -أو اختصارًا DC-، فهو مسؤول عن الاستيثاق والتحقق من تصاريح كل المستخدمين على الشبكة وتعيين وتطبيق السياسات، ومسؤول أيضًا عن تثبيت وتحديث البرمجيات لكامل شبكة نطاق ويندوز.
</p>

<h3>
	بنية خدمة AD
</h3>

<p>
	يمكن تجميع أي كائن يُنشأ ضمن خدمة AD في نطاقات، ولزيادة الأمان تُخزَّن كل الكائنات التي تنتمي للنطاق ضمن قاعدة بيانات واحدةٍ منفصلة، إذ يمكن تمثيل أحد هذه النطاقات أو جميعها بشجرة. تمثّل الصورة التالية مثالًا عن شجرة نطاق خدمة AD ونطاقاتٍ فرعيةٍ لها، إذ أن النطاق acme.com.tw هو النطاق الأساسي ويتبع له عدة أفرع أو نطاقات فرعية.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="99730" href="https://academy.hsoub.com/uploads/monthly_2022_05/ad-structure.png.6a3e6588f44c945799a1038028c0f886.png" rel=""><img alt="ad-structure.png" class="ipsImage ipsImage_thumbnailed" data-fileid="99730" data-unique="k8pk83e9b" src="https://academy.hsoub.com/uploads/monthly_2022_05/ad-structure.png.6a3e6588f44c945799a1038028c0f886.png" style="width: 600px; height: auto;"></a>
</p>

<p>
	ندعو مجموعةً من تلك الأشجار بالغابة، إذ تتشابه كل الأشجار معًا ضمن الغابة في الكاتالوج مثلًا، ومخطط الدليل والبنية وإعدادات الدليل، ومن محاسن الغابة أن الكاتالوج العام لمتحكم النطاق DC يمكن نسخه وصيانته بسهولة.
</p>

<h3>
	التشابه مع نظام اسم النطاق DNS
</h3>

<p>
	تتشابه البنية الهرمية السابقة كثيرًا مع بنية <a href="https://academy.hsoub.com/devops/servers/%d9%85%d9%82%d8%af%d9%91%d9%85%d8%a9-%d8%a5%d9%84%d9%89-%d9%85%d9%8f%d8%b5%d8%b7%d9%8e%d9%84%d8%ad%d8%a7%d8%aa-%d9%88%d8%b9%d9%86%d8%a7%d8%b5%d8%b1-%d9%88%d9%85%d9%81%d8%a7%d9%87%d9%8a%d9%85-%d9%86%d8%b8%d8%a7%d9%85-%d8%a3%d8%b3%d9%85%d8%a7%d8%a1-%d8%a7%d9%84%d9%86%d8%b7%d8%a7%d9%82%d8%a7%d8%aa-r5/" rel="">نظام اسم النطاق Domain Name System -أو اختصارًا DNS-</a>؛ وهو نظام تسمية هرمي يُستخدم للشبكات والخدمات والموارد الأخرى، إذ يُترجم أسماء النطاق إلى عنوان IP وبالعكس، ويُعد مكونًا أساسيًا من خدمة AD.
</p>

<p>
	لا يقتصر استعلام DNS على تحويل اسم المضيف إلى <a href="https://academy.hsoub.com/certificates/cisco/ccna/%d8%a8%d9%86%d8%a7%d8%a1-%d9%85%d8%ae%d8%b7%d8%b7-%d9%84%d8%b9%d9%86%d8%a7%d9%88%d9%8a%d9%86-ip-%d8%b9%d8%a8%d8%b1-%d8%a7%d9%84%d8%b4%d8%a8%d9%83%d8%a7%d8%aa-%d8%a7%d9%84%d9%81%d8%b1%d8%b9%d9%8a%d8%a9-%d8%b9%d9%86%d8%af-%d8%a8%d9%86%d8%a7%d8%a1-%d8%a7%d9%84%d8%b4%d8%a8%d9%83%d8%a7%d8%aa-r23/" rel="">عنوان IP،</a> بل يمكنه أيضًا العثور على سجلات معينة تعرّف الأدوار والوظائف لخدمة AD؛ فعندما يريد المستخدم مثلًا تسجيل الدخول إلى جهاز ضمن النطاق، فسيحاول العميل أولًا العثور على متحكّم النطاق باستخدام سجلات SRV.
</p>

<h2>
	التحقق من الاعتماديات باستخدام Active Directory
</h2>

<p>
	عندما يتلقى عميل ويندوز اعتماديات المستخدم أو الخدمة لأول مرة، فإنه يحمي تلك المعلومات لإيصالها لجهة الاستيثاق، والتي هي غالبًا متحكّم النطاق.
</p>

<p>
	تربط اعتماديات المستخدم بين هوية المستخدم وإثبات الموثوقية، ويمكن لتلك الاعتماديات أن تكون كلمة المرور أو شهادة أو حتى رقم تعريف شخصي PIN تُجمع من مدخلات واجهة تسجيل الدخول للمستخدم أو عبر <a href="https://academy.hsoub.com/programming/general/%D9%85%D8%AF%D8%AE%D9%84-%D8%A5%D9%84%D9%89-%D8%A7%D9%84%D9%88%D8%A7%D8%AC%D9%87%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D9%8A%D8%A9-api-r1314/" rel="">الواجهة البرمجية <abbr title="Application Programming Interface | واجهة برمجية">API</abbr></a> ثم تُرسل لخادم الاستيثاق.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="99727" href="https://academy.hsoub.com/uploads/monthly_2022_05/ad-credentials.png.140cae43a826aa1c91d4f1f9b74cfbe5.png" rel=""><img alt="ad-credentials.png" class="ipsImage ipsImage_thumbnailed" data-fileid="99727" data-unique="b3q19kxeh" src="https://academy.hsoub.com/uploads/monthly_2022_05/ad-credentials.png.140cae43a826aa1c91d4f1f9b74cfbe5.png"></a>
</p>

<p>
	يحدث التحقق الاعتماديات أولًا خلال عملية تسجيل الدخول في ويندوز عن طريق موازنتها مع قاعدة بيانات <a href="https://en.wikipedia.org/wiki/Security_Account_Manager" rel="external nofollow">مدير أمن الحسابات</a> الموجودة على الحاسب المحلي. يوجد مدير أمن الحسابات Security Accounts Manager -أو اختصارًا SAM- ضمن كل أنظمة تشغيل ويندوز ويخزن معلومات المستخدم المحلي والمجموعات.
</p>

<p>
	ولكن عند انضمام الحاسوب إلى نطاق، تُرسل الاعتماديات إلى AD ويحدث التحقُّق منها من خلال موازنتها مع الكاتالوج العام ضمن متحكم النطاق المحلي. ترسِل عملية استيثاق اعتماديات المستخدم اسم المستخدم وكلمة المرور إلى وجهة الاستيثاق، إذ تتضمن الرسالة تفاصيل حول الحاسوب الذي يطلب المستخدم الوصول إليه.
</p>

<p>
	من الممكن رفض الوصول حتى عند إدخال المستخدم اسم مستخدم وكلمة مرور صحيحتين، وذلك بسبب عدم امتلاك الجهاز الذي يحاول المستخدم الوصول إليه الصلاحيات اللازمة للوصول للشبكة، أو عندما يحاول المستخدم إدخال كلمة مرور غير صحيحة عدّة مرات، لتُبلَّغ كل متحكمات النطاق ضمن الغابة بذلك وتُقفل بوجه ذلك المستخدم.
</p>

<h2>
	ما هي عملية الوصول الخفيفة إلى الدليل LDAP؟
</h2>

<p>
	<a href="https://ar.wikipedia.org/wiki/%D8%A8%D8%B1%D9%88%D8%AA%D9%88%D9%83%D9%88%D9%84_%D8%A7%D9%84%D9%86%D9%81%D8%A7%D8%B0_%D8%A5%D9%84%D9%89_%D8%A7%D9%84%D8%AF%D9%84%D9%8A%D9%84_%D8%A7%D9%84%D8%A8%D8%B3%D9%8A%D8%B7" rel="external nofollow">عملية الوصول الخفيفة إلى الدليل LDAP</a> هي بروتوكول معياري مفتوح يمكن استخدامه مع العديد من أنظمة الدليل الموزّعة، مثل Apache DS و OpenDS وريدهات DS وغيرها، وهو موجود قبل خدمة AD بكثير.
</p>

<p>
	كما هو واضحٌ من اسمها LDAP فهي طريقة خفيفة تُستخدم للوصول وإدارة خدمات الدليل عبر <a href="https://academy.hsoub.com/devops/servers/%d8%aa%d8%b9%d8%b1%d9%81-%d8%b9%d9%84%d9%89-%d8%a8%d8%b1%d9%88%d8%aa%d9%88%d9%83%d9%88%d9%84-tcpip-%d9%88%d8%a8%d8%b9%d8%b6-%d9%85%d9%86-%d8%ae%d8%af%d9%85%d8%a7%d8%aa%d9%87-r169/" rel="">TCP/IP</a>، إذ يمكن باستخدام هذا البروتوكول مشاركة معلومات عن المستخدمين والمجموعات والشبكات بين <a href="https://academy.hsoub.com/devops/servers/%D9%85%D8%AF%D8%AE%D9%84-%D8%A5%D9%84%D9%89-%D8%AE%D8%A7%D8%AF%D9%85-%D8%A7%D9%84%D9%88%D9%8A%D8%A8-r574/" rel="">الخوادم</a> عبر <a href="https://academy.hsoub.com/devops/networking/%D8%A2%D9%84%D9%8A%D8%A9-%D8%B9%D9%85%D9%84-%D8%B4%D8%A8%D9%83%D8%A9-%D8%A7%D9%84%D8%A5%D9%86%D8%AA%D8%B1%D9%86%D8%AA-r571/" rel="">الإنترنت</a>، كما يوفِّر مكانًا مركزيًا لتخزين الاعتماديات والمساعدة في عملية الترخيص. تستخدم العديد التطبيقات والخدمات هذا البروتوكول للمساعدة في عملية التحقق من المستخدم.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="99734" href="https://academy.hsoub.com/uploads/monthly_2022_05/ldap.png.7fb0ebfa5e8b2f43b8a3f8a8a1f0230d.png" rel=""><img alt="ldap.png" class="ipsImage ipsImage_thumbnailed" data-fileid="99734" data-unique="j6r422r0g" src="https://academy.hsoub.com/uploads/monthly_2022_05/ldap.png.7fb0ebfa5e8b2f43b8a3f8a8a1f0230d.png"></a>
</p>

<p>
	يوفر خادم LDAP عمليات البحث عن الاسم والتحقق من الاعتماديات، ويخزن أيضًا كائنات ملفات ومجلدات <a href="https://academy.hsoub.com/certificates/cisco/ccna/%D9%85%D9%82%D8%AF%D9%85%D8%A9-%D8%A5%D9%84%D9%89-%D9%84%D9%88%D8%A7%D8%A6%D8%AD-%D8%A7%D9%84%D8%AA%D8%AD%D9%83%D9%85-%D9%81%D9%8A-%D8%A7%D9%84%D9%88%D8%B5%D9%88%D9%84-access-control-lists-r76/" rel="">قوائم التحكم بالوصول Access Control List -أو اختصارًا ALCs</a>.
</p>

<h2>
	نظام X.500 أساس لبروتوكول LDAP
</h2>

<p>
	اِعتمد بروتوكول LDAP على نظام الاستيثاق السابق X.500، لأنه يحدد عدة معايير حول طريقة عمل آليات خدمة الدليل.
</p>

<p>
	تضمن الإصدار LDAPv2 عدة ميزات تغطي معظم سلسلة معايير X.500، ولكن أتى بعده الإصدار الأحدث LDAPv3 وكان أبسط وأخف وغطى قسمًا أكبر من مزايا X.500، خاصةً فيما يتعلق بتحسين مزايا الحماية الأمنية لاتصالات LDAP، إذ أتى بنظام استيثاق وطبقة أمان إطار عمل أبسط للاستيثاق.
</p>

<h3>
	التحسينات الأمنية في الإصدار LDAPv3
</h3>

<p>
	كان الهدف الأساسي من LDAP هو <strong>تقديم معلومات الاستيثاق</strong>، ولكن كان للإصدارات الأحدث من البروتوكول تطبيقات أكثر بكثير، وكانت التحسينات الأمنية من أهم التحديثات في الإصدار LDAPv3.
</p>

<p>
	عند محاولة المستخدم الاستيثاق، يبدأ العميل جلسة LDAP عبر اتصاله بخادم LDAP، وقد يطلب العميل عمليات، مثل <strong>اتصال آمن عبر بروتوكول أمان طبقة النقل Transport Layer Security -أو اختصارًا LDAPv3 -<abbr title="Transport Layer Security | بروتوكول أمن طبقة النقل">TLS</abbr></strong> (وهو استيثاق عبر إصدارٍ معينٍ من بروتوكول LDAP)، أو البحث والحصول على سجل لدليل معين، إذ يوفر ذلك مرونةً أكثر وحمايةً إضافية؛ كما يمكن أيضًا حماية اتصال LDAP عبر نفق طبقة حماية المقابس Secure Socket Layer -أو اختصارًا <abbr title="Secure Socket Layer | طبقة المنافذ الآمنة">SSL</abbr>-، إذ اسُتخدمت تلك الطريقة مع الإصدار السابق LDAPv2، لكنها لم تُعتمد معيارًا ضمن التوصيفات الرسمية حتى إصدار LDAPv3.
</p>

<h2>
	بنية بروتوكول LDAP ووظيفته
</h2>

<p>
	يملك دليل LDAP بنية شجرة هرمية، بحيث تملك كل السجلات والكائنات ضمنه مكانًا محددًا، ويمكن للكائن أن يكون مستخدمًا أو موردًا، مثل حاسوب مشترك أو طابعة. تُطلق على تلك الهرمية المُعرَّف ضمنها الكائنات اسم شجرة معلومات الدليل Directory Information Tree -أو اختصارًا DIT-، والتي تتضمن أسماءً مميزة Distinguished Names -أو اختصارًا DNs- لسجلات خدمة الدليل.
</p>

<p>
	يمكن تنظيم جميع أنواع قوائم المعلومات ضمن DITs، والتي تُخزَّن ضمن قاعدة بيانات LDAP، كما أن الأذونات على قاعدة بيانات LDAP بحد ذاتها مخزنةٌ ومرتبةٌ ضمن شجرة DIT، وسيحتاج المستخدم للمرور بعملية الاستيثاق قبل محاولته الوصول للمعلومات ضمن قاعدة بيانات LDAP.
</p>

<p>
	يمكن توضيح وظيفة LDAP من خلال موازنتها مع طريقة عمل DNS، كما حدث مع خدمة AD.
</p>

<h2>
	يستخدم DNS إجراء LDAP
</h2>

<p>
	تُدار عملية الوصول لنظام DNS عبر عملية LDAP. في الواقع، يُعد DNS سريعًا لعدم احتواءه على نسخةٍ كاملةٍ من قاعدة البيانات، فهو يتحقق من قاعدة البيانات المحلية أولًا، وفي حال عدم عثوره على السجل، سيستعلم من خادم أب وهكذا حتى يعثر على إجابة.
</p>

<p>
	على نحوٍ مشابه لما يحصل في DNS، يستطيع LDAP -عند وجود استعلامٍ ما- أن يمرره إلى مكان وجود البيانات المطلوبة؛ وعندما يحتاج مستخدمٌ ما الوصول لمورد LDAP بعيد، يرسل الخادم المحلي أولًا طلب إذنٍ بالوصول لقاعدة البيانات المحلية؛ ففي حالة استعلام DNS مثلًا، إذا أراد المستخدم العثور على yahoo.com، سيطلب ذلك بدايةً من خادم DNS المحلي، وإذا كان لا يملك الجواب سيطلب ذلك من خادم DNS الجذر الذي يملك الإجابة ويعلم طريقة الوصول إليه.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="99728" href="https://academy.hsoub.com/uploads/monthly_2022_05/ad-dns-query-1024x401.png.a197bcd56fd7bc7812c5e451d5b7b5be.png" rel=""><img alt="ad-dns-query-1024x401.png" class="ipsImage ipsImage_thumbnailed" data-fileid="99728" data-unique="zwd7n9xvq" src="https://academy.hsoub.com/uploads/monthly_2022_05/ad-dns-query-1024x401.thumb.png.2b1b8c6e843a7bc541557cb9ad051bec.png" style="width: 650px; height: auto;"></a>
</p>

<h2>
	طرق أخرى للتحكم بالوصول
</h2>

<p>
	تُعد <a href="https://academy.hsoub.com/certificates/cisco/ccna/%D8%A3%D9%86%D9%88%D8%A7%D8%B9-%D9%84%D9%88%D8%A7%D8%A6%D8%AD-%D8%A7%D9%84%D8%AA%D8%AD%D9%83%D9%85-%D9%81%D9%8A-%D8%A7%D9%84%D9%88%D8%B5%D9%88%D9%84-acl-r79/" rel="">قوائم التحكم بالوصول Access Control Lists</a> -أو اختصارًا ACL- من أكثر طرق التحكُّم بالوصول شيوعًا وبساطةً ضمن الأنظمة والشبكات، وهي قائمةٌ من الأذونات على ملفٍ أو مجلدٍ تُمنح لمستخدمين معينين أو مجموعات.
</p>

<p>
	<strong>بالرغم من أنها لا تُعد من خدمات الدليل، لكن يمكن استخدامها أنظمةً لإدارة الوصول للمجلدات والملفات</strong>؛ فهي قويةٌ جدًا على سبيل المثال في إدارة الأذونات ضمن نظام الملفات مثل NFS، إذ تتمكن من إدارة الوصول لأنها تستطيع توفير أذونات القراءة والكتابة والتنفيذ لمجموعةٍ معينة من المستخدمين، ويمكنك أن تملك العديد من القوائم لمنح أو رفض الإذن.
</p>

<p>
	ليست قوائم ACL طرق استيثاق، إلا أنها توفر حمايةً ممتازةً لموارد الشركة.
</p>

<h2>
	نظام الهوية وإدارة الوصول
</h2>

<p>
	تُنفّذ عادةً أتمتة وصيانة خدمات الدليل والبروتوكولات، مثل AD و LDAP من قِبل التطبيقات الأخرى، وستحتاج لاستخدام نظام إدارة الوصول للهوية IAM للإعداد والضبط الأولي لتلك الخدمات.
</p>

<p>
	الهدف الأساسي من تلك الأنظمة هو جمع كافة المعلومات المتاحة ضمن خدمات الوصول للدليل في مكانٍ واحد، إذ <strong>يُعد IAM إطار عمل يبسِّط عملية الإدارة والوصول للهويات المختلفة</strong>، ويحتوي على جميع السياسات والتقنيات التي تسهِّل عملية إدارة الهويات.
</p>

<p>
	قد يأتي نظام IAM كاملًا مع تحكُّمٍ بالوصول باستخدام الأدوار، مما يسمح بإدارة وتنظيم الوصول للشبكات والأنظمة بناءً على الأدوار الممنوحة للمستخدمين؛ إذ يمكن تعريف الدور بناءً على سلطة ومسؤولية المستخدم وكفاءته الوظيفية، فإذا كان للمستخدم مثلًا دور المدقق، فيمكن منحه الصلاحية لقراءة كل الملفات، ويمكن في حالةٍ أخرى منح المهندس صلاحية الوصول لقراءة وكتابة وعرض بعض الأنواع من الملفات فقط.
</p>

<p>
	بعض المزايا الأخرى التي قد يتضمنها نظام IAM:
</p>

<ul>
<li>
		آليات جمع وتوثيق معلومات تسجيل الدخول للمستخدم.
	</li>
	<li>
		إمكانية إدارة قاعدة بيانات هوية المستخدم.
	</li>
	<li>
		إدارة التخصيص والإزالة لامتيازات الوصول.
	</li>
	<li>
		إمكانية تبسيط عملية تسجيل المستخدمين الجدد وإعداد الحسابات.
	</li>
	<li>
		القدرة على مراقبة وتعديل صلاحيات الوصول.
	</li>
	<li>
		المساعدة في تطبيق الأنظمة التي تتطلب تقارير دورية عن الوصول للبيانات.
	</li>
</ul>
<h2>
	برمجيات إدارة وصول
</h2>

<p>
	كما ذكرنا سابقًا، IAM هو إطار عمل لإدارة الهويات الرقمية والوصول، إذ يمكّنك من مراقبة الأخطار والتحكُّم بها من مكانٍ مركزي. تنتمي بعض الأدوات التي سنذكرها لأنظمةٍ كاملة ومعقدة لإدارة الشبكة؛ إذ تُضمِّن تلك الأنظمة إدارة الوصول ضمن حزمة منتجاتها. قد تكون تلك الأنواع من الأدوات مكلفةً، لكنها تناسب شبكات المؤسسات؛ وهناك أيضًأ أدوات مفتوحة المصدر ومجانية، وهي ببساطة مفسرات بسيطةٌ للدليل، وتساعد في إدارة إذن النظام على مستوًى بسيط، وهي مناسبةٌ للاستخدام الفردي والشبكات الصغيرة، ولكن قد تجد صعوبةً في إعدادها.
</p>

<p>
	تتضمن القائمة التالية أدوات إدارة الوصول المناسبة لكل أنواع <a href="https://academy.hsoub.com/tags/%D8%A3%D8%B3%D8%A7%D8%B3%D9%8A%D8%A7%D8%AA%20%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A7%D8%AA/" rel="">الشبكات</a>:
</p>

<h3>
	1. SolarWinds Access Rights Manager
</h3>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="99737" href="https://academy.hsoub.com/uploads/monthly_2022_05/SolarWinds-ARM-Graph.jpg.31593fdc06ce3a1528e799775e988496.jpg" rel=""><img alt="SolarWinds-ARM-Graph.jpg" class="ipsImage ipsImage_thumbnailed" data-fileid="99737" data-unique="pkz9xno4a" src="https://academy.hsoub.com/uploads/monthly_2022_05/SolarWinds-ARM-Graph.thumb.jpg.04670adfff6828b1093be084756024d2.jpg" style="width: 750px; height: auto;"></a>
</p>

<p>
	تطوِّر SolarWinds برمجيات تساعد في إدارة الشبكات والأنظمة والبنية التحتية لتكنولوجيا المعلومات IT، وقد استحوذت هذه البرمجيات على مزود إدارة صلاحيات الوصول 8MAN لإضافة وظائف التدقيق لزبائنهم من المؤسسات، وعدَّلت اسمه ليصبح مدير صلاحيات الوصول Access Rights Manager -أو اختصارًا ARM، ومع أن لدى SolarWinds العديد من أدوات مراقبة الوصول للدليل لكن تبقى أداة ARM أكثرها شمولية.
</p>

<p>
	يساعد ARM المدراء على إعداد التحقق من المستخدمين وأذونات الوصول وحماية الشبكات من الاستخدام غير المصرح به وحذف البيانات، وتدعم البرمجية الشبكات المبنية على خدمة AD فقط، لذا فهي تعمل على خادم ويندوز فقط.
</p>

<p>
	الهدف الأساسي من هذا المنتج هو تسهيل عملية تسجيل المستخدم وإزالته والتتبع؛ إذ يستطيع ARM المساعدة في حماية الأنظمة والبيانات من الاستخدام غير المصرح به والحذف من خلال التحكم وتحديد الوصول إلى المكونات الهامة، مثل خوادم الملفات وخدمة Active Directory وخادم Microsoft Exchange؛ كما يمكن بواسطة ARM توليد تقارير مخصصة توضح من لديه إذنٌ بالوصول إلى ماذا ومتى حدث الوصول لتلك البيانات، وكذلك إضافة وإزالة مستخدمين بسرعةٍ وسهولة باستخدام قوالب أدوارٍ محددة.
</p>

<p>
	بعض المزايا الأساسية:
</p>

<ul>
<li>
		مراقبة وتتبع Active Directory.
	</li>
	<li>
		تدقيق مشاركة ملفات ويندوز.
	</li>
	<li>
		إدارة وصول SharePoint والمراقبة.
	</li>
	<li>
		إضافة وإزالة المستخدمين باستخدام القوالب.
	</li>
	<li>
		مراقبة خادم Microsoft Exchange.
	</li>
</ul>
<h3>
	2. ManageEngine AD360
</h3>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="99736" href="https://academy.hsoub.com/uploads/monthly_2022_05/managengine-ad360-1024x693.png.b249d8ccf2764ad89c84dabfa2205c4b.png" rel=""><img alt="managengine-ad360-1024x693.png" class="ipsImage ipsImage_thumbnailed" data-fileid="99736" data-unique="p34u5xnqa" src="https://academy.hsoub.com/uploads/monthly_2022_05/managengine-ad360-1024x693.thumb.png.032c208fa69105cf7ab2ff39a25034d4.png" style="width: 700px; height: auto;"></a>
</p>

<p>
	تطوِّر ManageEngine برامجًا لإدارة تكنولوجيا المعلومات IT للمؤسسات بهدف توفير الأمان وإدارة الخدمات والعمليات وخدمة Active Directory، ويُعد AD360 المُقدَّم من ManageEngine حلًا متكاملًا لإدارة خدمة AD و Exchange بسهولة؛ فهذا البرنامج هو حل IAM شاملٌ ومصمَّمٌ لإدارة هوية المستخدم والتحكم بالوصول للموارد وتطبيق قواعد الأمان وتحقيقها في بيئات ويندوز، كما يتميز بواجهة مستخدم سهلة الاستخدام تسمح بتنفيذ مزايا إدارة وصول متقدمة، ومن أهم المزايا التي يقدِّمها AD360 لويندوز AD وخوادم Exchange وحتى Office 360 هي:
</p>

<ul>
<li>
		أتمتة تزويد وإيقاف الوصول لحسابات المستخدمين.
	</li>
	<li>
		إدارة الخدمة الذاتية لكلمات المرور.
	</li>
	<li>
		مراقبة التغييرات على Active Directory.
	</li>
	<li>
		تدقيق آمن لخدمة AD و Office 360 وخوادم الملفات.
	</li>
	<li>
		ضمان تطبيق السياسات، مثل HIPAA و SOX وغيرها.
	</li>
</ul>
<h3>
	3. Apache Directory
</h3>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="99731" href="https://academy.hsoub.com/uploads/monthly_2022_05/apacheds-1024x686.png.52dda70a658e377f4432e8b69139f4b1.png" rel=""><img alt="apacheds-1024x686.png" class="ipsImage ipsImage_thumbnailed" data-fileid="99731" data-unique="io4kuwiu5" src="https://academy.hsoub.com/uploads/monthly_2022_05/apacheds-1024x686.thumb.png.cf8b50ea368a44d9832da8244a61fe8e.png" style="width: 700px; height: auto;"></a>
</p>

<p>
	طوَّرت <a href="https://www.apache.org/" rel="external nofollow">مؤسسة برمجيات أباتشي</a> مشروع <a href="http://directory.apache.org" rel="external nofollow">Apache Directory</a> المفتوح المصدر، وهو تطبيقٌ مملوكٌ من قِبل أباتشي نفسها لخادم الدليل LDAP، إذ كُتِب البرنامج باستخدام جافا، وهو متاحٌ تحت <a href="https://www.apache.org/licenses/" rel="external nofollow">رخصة برمجيات أباتشي</a>.
</p>

<p>
	دليل أباتشي ApacheDS 2.0 هو خادم دليل LDAP مُوسّعٌ ومُضمّنٌ ومتوافقٌ كليًا مع LDAPv3، ويدعم البرنامج بروتوكولات شبكة أخرى، مثل كيربيروس Kerberos وبروتوكول توقيت الشبكة Network Time Protocol -أو اختصارًا NTP-.
</p>

<p>
	طُوِّرت عدة مشاريع فرعية مختصة بخدمات الدليل ضمن مشروع دليل أباتشي الرئيسي، وهذا ما جعل البرنامج متوافقٌ كثيرًا مع الخدمات الأخرى، ومن بين تلك المشاريع الفرعية Apache Directory Studio و eSCIMo و Fortress و Kerby و LDAP <abbr title="Application Programming Interface | واجهة برمجية">API</abbr> و Mavibot.
</p>

<p>
	يُعد أباتشي DS برنامجًا متعدد المنصات، ويمكن تثبيته على نظام ماك <a href="https://academy.hsoub.com/devops/linux/%D9%85%D8%A7-%D9%87%D9%88-%D9%86%D8%B8%D8%A7%D9%85-%D8%A7%D9%84%D8%AA%D8%B4%D8%BA%D9%8A%D9%84-%D9%84%D9%8A%D9%86%D9%83%D8%B3%D8%9F-r451/" rel="">ولينكس</a> وويندوز، ويملك العديد من <strong>المزايا التي تجعله من أهم خوادم LDAP</strong> ومنها:
</p>

<ul>
<li>
		يدعم إضافة المكونات والأنظمة الفرعية.
	</li>
	<li>
		يمكنه تضمين دلائل افتراضية وخوادم بروكسي وبوابات نفاذ إلى أدلة X.500.
	</li>
	<li>
		يدعم التقسيم المبني على BTree.
	</li>
</ul>
<p>
	طورت أباتشي <a href="https://directory.apache.org/studio/downloads.html" rel="external nofollow">Apache Directory Studio</a>، وهو منصة دليل مجانية بُنيت خصيصًا لبرنامج ApacheDS لتسهيل إدارة الوصول، وتوضح الصورة المبينة أعلاه البرنامج أثناء عمله.
</p>

<h3>
	4. FreeIPA
</h3>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="99732" href="https://academy.hsoub.com/uploads/monthly_2022_05/freeipa-1024x565.png.c1eda19d8f4f4ecd2c3d8dc9bcf58d89.png" rel=""><img alt="freeipa-1024x565.png" class="ipsImage ipsImage_thumbnailed" data-fileid="99732" data-unique="9gdbzgyrk" src="https://academy.hsoub.com/uploads/monthly_2022_05/freeipa-1024x565.thumb.png.5bb95e113def940e061c58c24ca2c463.png" style="width: 700px; height: auto;"></a>
</p>

<p>
	<a href="https://www.freeipa.org/page/Main_Page" rel="external nofollow">FreeIPA</a> هو حلٌ مفتوح المصدر لإدارة الهوية لأنظمة لينكس، ويساعد في إدارة الهوية Identity والسياسات Policy والتدقيق Audits -أو اختصارًاIPA- مجانًا، إذ صُمِّم FreeIPA بالتركيز على توفير أتمتة مهام إدارة النشر والضبط.
</p>

<p>
	FreeIPA هو منصة IAM لتسهيل عمل مسؤولي أنظمة لينكس؛ وبالرغم من أنه قد طُوِّر لنظام لينكس، لكن يمكن تثبيته على RHEL ونظام ماك ويونكس؛ كما أنه يسمح لك بإدارة المستخدمين والمجموعات والمضيفين والخدمات وغيرها الكثير من مكان مركزيٍ بفضل واجهاته القابلة للتوسُّع وواجهة الويب الخاصة به و RPC وواجهة سطر الأوامر والواجهة البرمجية JSONRPC.
</p>

<p>
	يمكنك حماية الهويات بمساعدة FreeIPA من خلال تعريف استيثاق كيربيروس Kerberos وسياسات التصريح لكل الأنظمة والأجهزة لديك. من مزايا البرنامج إمكانية العمل مع أنظمة IAM أخرى بنفس الوقت، مثل مايكروسوفت AD، وأفضل ما في الأمر أنه يشبه Active Directory، إذ لا يوجد ذلك عادةً ضمن أنظمة لينكس.
</p>

<p>
	من المزايا الأخرى التي يتضمنها FreeIPA:
</p>

<ul>
<li>
		تفعيل الاستيثاق لمرةٍ واحدة لأنظمتك.
	</li>
	<li>
		تعيين استيثاق كيربيروس Kerberos وسياسات التصريح.
	</li>
	<li>
		إدارة الخدمات، مثل SUDO و SELinux و DNS و NTP و autofs.
	</li>
</ul>
<h3>
	5. مدير حساب LDAP
</h3>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="99733" href="https://academy.hsoub.com/uploads/monthly_2022_05/LDAP-Account-Manager.png.f40d3ae18a08b954afd343314377f1d9.png" rel=""><img alt="LDAP-Account-Manager.png" class="ipsImage ipsImage_thumbnailed" data-fileid="99733" data-unique="3kzu4opwz" src="https://academy.hsoub.com/uploads/monthly_2022_05/LDAP-Account-Manager.png.f40d3ae18a08b954afd343314377f1d9.png" style="width: 600px; height: auto;"></a>
</p>

<p>
	الفكرة الأساسية من <a href="https://www.ldap-account-manager.org/lamcms/" rel="external nofollow">مدير حساب LDAP -أو اختصارًا LAM-</a> هي تبسيط التعقيدات التقنية لبروتوكول LDAP، إذ يسمح بإدارة المستخدمين والمجموعات الموجودة ضمن دليل LDAP بسهولة عبر تطبيق الويب الخاص به.
</p>

<p>
	البرنامج هو IAM مبنيٌ على الحساب، وهذا يتيح للمسؤول أخذ نظرةٍ مجردةٍ على كامل الدليل، كما يوفِّر البرنامج عارضًا ومحرّرًا لقاعدة بيانات LDAP، ويمكن تثبيته على ديبيان وفيدورا وسوزي لينكس.
</p>

<p>
	التطبيق الأصلي من LDAP Account Manager مجاني ومفتوح المصدر، ويوجد نسخةٌ مدفوعةٌ وموسَّعة منه تحت الرخصة التجارية، وتُدعى النسخة المدفوعة منه <a href="https://www.ldap-account-manager.org/lamcms/lamPro" rel="external nofollow">LDAP Account Manager Pro</a> وتتضمن مزايا إضافية. على الرغم من عدم امتلاك النسخة المدفوعة مزايا كاملة كما البرامج الأخرى التي ذكرناها، لكن يبقى سعرها أرخص بكثير ويمكن أن تكون خيارًا مناسبًا لشبكة مؤسسة.
</p>

<p>
	بعض مزايا LDAP Account Manager Pro المدفوع:
</p>

<ul>
<li>
		التسجيل الذاتي للخدمة وخيار إعادة تعيين كلمة المرور.
	</li>
	<li>
		خيار استيثاق متعدد العوامل.
	</li>
	<li>
		مزامنة كلمة المرور مع Samba.
	</li>
	<li>
		دعم لطرق تسجيل دخول متعددة، مثل uid والبريد الإلكتروني.
	</li>
	<li>
		الربط مع ملفات <a href="https://wiki.hsoub.com/CSS" rel="external">CSS</a> خارجية.
	</li>
</ul>
<h2>
	ملخص
</h2>

<p>
	يُعد التحكُّم بالوصول والإدارة من أهم مكونات تأمين شبكات المنظمات، إذ أن المشكلة الرئيسية التي يحاول برنامج IAM حلّها هي التحكُّم بالمستخدمين ذوي امتيازات الوصول الكبيرة بهدف حماية الشبكة من أي هجوم داخلي، فالحل يكون باستخدام منصة يمكنها التحكُّم بالوصول إلى Active Directory أو LDAP و خوادم الملفات و Exchange، ويضمن بذلك حماية كل البيانات والأنظمة من الاستخدام غير المصرح به ومن إساءة الاستخدام والتعديل والحذف.
</p>

<p>
	اختيار IAM المناسب مهمةٌ صعبة، إذ أن هناك ثلاثة عوامل مسيطرة قد تؤثر على قرار اختيار المنتج، أولها هو نظام التشغيل العامل على شبكتك، ثم حجم تلك الشبكة، ثم الميزانية المتاحة.
</p>

<ul>
<li>
		<p>
			<strong>نظام التشغيل:</strong> مع أن LDAP يدعم ويندوز، لكن إذا كنت تعمل على خادم ويندوز ضمن شبكتك يُفضّل العمل على Active Directory، لأنك ستتمكن من الاستفادة من شبكة ويندوز والتحكم بالوصول والتعامل مباشرةً مع خوادم Exchange و Office 365؛ ولكن إذا كنت تعمل على أنظمة لينكس، فستحتاج لاستخدام برمجيات IAM مبنيةٍ على LDAP.
		</p>
	</li>
	<li>
		<p>
			<strong>حجم الشبكة:</strong> إذا كان حجم الشبكة لديك كبيرًا، ستكون مزايا، مثل الاستيثاق عبر تسجيل الدخول لمرةٍ واحدة وإعادة تعيين كلمة المرور ذاتيًا مهمةً جدًا للمسؤولين لتسريع أدائهم، لكن قد لا تناسب تلك المزايا الشبكات الصغيرة.
		</p>
	</li>
	<li>
		<p>
			<strong>الميزانية:</strong> لا يملك الجميع ميزانيةً كافيةً لشراء أفضل المنتجات المُتاحة في السوق، لكن تأتي كل المنتجات التي ذكرناها في هذا المقال مع فترة تجربةٍ مجانية أو تكون مجانية 100%، حتى تتمكن من اختبارها قبل نشرها واستخدامها ضمن شبكتك.
		</p>
	</li>
</ul>
<p>
	أول ما يمكنك فعله هو تحديد احتياجات نظام التشغيل، ثم حجم الشبكة، ثم الميزانية، ويمكنك بعدها تجربة بعض تلك المنتجات وتحديد المنتج الذي يلبي متطلباتك على النحو الأمثل.
</p>

<p>
	نأمل أن تساعدك هذه المقالة في فهم <strong>إدارة الوصول</strong> ودورها المهم ضمن البنية التحتية للشبكة لديك ولعملك بصفة مسؤول IT أو مهندس.
</p>

<p>
	ترجمة -وبتصرف- للمقال "<a href="https://www.pcwdld.com/access-management" rel="external nofollow">Access Management – What is It and How to Manage/Monitor</a>" لصاحبه Marc Wilson.
</p>

<h2>
	اقرأ أيضًا
</h2>

<ul>
<li>
		<a href="https://academy.hsoub.com/certificates/cisco/ccna/%D8%A3%D9%86%D9%88%D8%A7%D8%B9-%D9%84%D9%88%D8%A7%D8%A6%D8%AD-%D8%A7%D9%84%D8%AA%D8%AD%D9%83%D9%85-%D9%81%D9%8A-%D8%A7%D9%84%D9%88%D8%B5%D9%88%D9%84-acl-r79/" rel="">أنواع لوائح التحكم في الوصول ACL</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/certificates/redhat/rhcsa/%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85-%D9%82%D9%88%D8%A7%D8%A6%D9%85-%D8%A7%D9%84%D8%AA%D8%AD%D9%83%D9%85-%D9%81%D9%8A-%D8%A7%D9%84%D9%88%D8%B5%D9%88%D9%84-acl-%D9%88%D8%AA%D8%B1%D9%83%D9%8A%D8%A8-%D8%A3%D9%86%D8%B8%D9%85%D8%A9-%D8%A7%D9%84%D9%85%D9%84%D9%81%D8%A7%D8%AA-%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D9%8A%D8%A9-%D8%B9%D9%84%D9%89-red-hat-enterprise-linux-r46/" rel="">استخدام قوائم التحكم في الوصول ACL وتركيب أنظمة الملفات الشبكية على Red Hat Enterprise Linux</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/certificates/cisco/ccna/%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D9%81%D8%B1%D8%B9%D9%8A%D8%A9-%D9%88%D8%A7%D9%84%D8%A7%D8%AE%D8%AA%D8%B5%D8%A7%D8%B1%D8%A7%D8%AA-%D9%81%D9%8A-%D9%84%D9%88%D8%A7%D8%A6%D8%AD-%D8%A7%D9%84%D8%AA%D8%AD%D9%83%D9%85-%D9%81%D9%8A-%D8%A7%D9%84%D9%88%D8%B5%D9%88%D9%84-acl-r78/" rel="">الشبكات الفرعية والاختصارات في لوائح التحكم في الوصول ACL</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/devops/linux/%D8%A7%D9%84%D8%AA%D8%AD%D9%83%D9%85-%D8%A8%D8%A7%D9%84%D9%88%D8%B5%D9%88%D9%84-%D8%A5%D9%84%D9%89-%D8%A7%D9%84%D8%A3%D9%82%D8%B1%D8%A7%D8%B5-%D8%A7%D9%84%D8%AE%D8%A7%D8%B1%D8%AC%D9%8A%D8%A9-%D9%81%D9%8A-%D9%84%D9%8A%D9%86%D9%83%D8%B3-r557/" rel="">التحكم بالوصول إلى الأقراص الخارجية في لينكس</a>
	</li>
</ul>
]]></description><guid isPermaLink="false">619</guid><pubDate>Wed, 25 May 2022 09:29:40 +0000</pubDate></item><item><title>&#x62D;&#x644; &#x645;&#x634;&#x643;&#x644;&#x629; &#x627;&#x646;&#x62A;&#x647;&#x627;&#x621; &#x635;&#x644;&#x627;&#x62D;&#x64A;&#x629; &#x643;&#x644;&#x645;&#x629; &#x627;&#x644;&#x645;&#x631;&#x648;&#x631; &#x644;&#x645;&#x633;&#x62A;&#x62E;&#x62F;&#x645;&#x64A; &#x62E;&#x62F;&#x645;&#x629; Active Directory</title><link>https://academy.hsoub.com/devops/networking/%D8%AD%D9%84-%D9%85%D8%B4%D9%83%D9%84%D8%A9-%D8%A7%D9%86%D8%AA%D9%87%D8%A7%D8%A1-%D8%B5%D9%84%D8%A7%D8%AD%D9%8A%D8%A9-%D9%83%D9%84%D9%85%D8%A9-%D8%A7%D9%84%D9%85%D8%B1%D9%88%D8%B1-%D9%84%D9%85%D8%B3%D8%AA%D8%AE%D8%AF%D9%85%D9%8A-%D8%AE%D8%AF%D9%85%D8%A9-active-directory-r618/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2022_05/628debea813d6_--------Active-Directory.png.ff270b1868253253a974e5ed6364694c.png" /></p>

<p>
	يُعد تاريخ انتهاء صلاحية كلمة المرور الخاصة بمستخدمي نطاق <a href="https://academy.hsoub.com/devops/networking/%D8%AE%D8%AF%D9%85%D8%A9-active-directory-%D8%AF%D9%84%D9%8A%D9%84-%D8%A7%D9%84%D9%85%D8%B5%D8%B7%D9%84%D8%AD%D8%A7%D8%AA-%D9%88%D8%A7%D9%84%D8%AA%D8%B9%D8%A7%D8%B1%D9%8A%D9%81-%D9%88%D8%A7%D9%84%D8%A3%D8%B3%D8%A7%D8%B3%D9%8A%D8%A7%D8%AA-r616/" rel="">خدمة Active Directory</a> أكثر المشاكل شيوعًا، إذ يتعامل المستخدمون مع العديد من كلمات المرور، مما يؤدي إلى نسيان إعادة تعيين كلمات مرور جديدة قبل انتهاء صلاحيتها.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="99718" href="https://academy.hsoub.com/uploads/monthly_2022_05/Registration-300x200.jpg.5b6660d977e59d7377da9d3241221e7d.jpg" rel=""><img alt="Registration-300x200.jpg" class="ipsImage ipsImage_thumbnailed" data-fileid="99718" data-unique="7kmavskxh" src="https://academy.hsoub.com/uploads/monthly_2022_05/Registration-300x200.jpg.5b6660d977e59d7377da9d3241221e7d.jpg"></a>
</p>

<p>
	فما الذي يحدث عندما تنتهي صلاحية كلمة مرور في خدمة Active Directory؟
</p>

<p>
	لن يُقفل الحساب، ولكن على صاحبه تغيير كلمة المرور كي يتمكن من الوصول لموارد النطاق مجددًا، ويمكن للمستخدمين أو في غالب الأحيان مسؤول إدارة النطاق في خدمة Active Directory التعامل مع هذه الإزعاجات من خلال الحصول على معلومات حول تاريخ انتهاء صلاحية حساب المستخدم ومعلومات هامةٍ أخرى.
</p>

<p>
	سنستعرض طريقتين مختلفتين، تتمثل أولاهما في <strong>معرفة تاريخ انتهاء صلاحية كلمة مرور لحساب مستخدم ضمن Active Directory</strong>، ثم سنلقي نظرةً على <strong>كيفية الحصول على قائمة كاملة بذلك لجميع المستخدمين</strong>.
</p>

<h2>
	استخدام الأمر Net User للتحقق من تاريخ انتهاء صلاحية كلمة المرور
</h2>

<p>
	من الطرق البسيطة لمعرفة متى تنتهي صلاحية كلمة مرور مستخدم Active Directory هي استخدام الأمر Net User، وهو جزءٌ من أوامر "net commands"، التي تسمح بإضافة أو إزالة أو تعديل حساب مستخدم ضمن جهاز الحاسوب.
</p>

<p>
	لتنفيذ الأمر "net user"، لا بُدّ من فتح واجهة الطرفية "cmd" على ويندوز على النحو الآتي.
</p>

<p>
	أولًا، اذهب لحقل البحث ضمن قائمة ابدأ واكتب "cmd"، أو يمكنك الضغط على شعار ويندوز مع المفتاح "R" لفتح أداة Run، ثم اكتب "cmd".
</p>

<p>
	ثانيًا، ضمن نافذة طرفية الأوامر، نفِّذ الأمر "<code>net user</code>" مع إضافة المعاملات التالية:
</p>

<pre class="ipsCode prettyprint lang-javascript prettyprinted" id="ips_uid_5193_18" style="">
<span class="pln">net user </span><span class="pun">[</span><span class="pln">username</span><span class="pun">]</span><span class="pln"> </span><span class="pun">[/</span><span class="pln">DOMAIN</span><span class="pun">]</span></pre>

<p>
	إذ أن:
</p>

<ul>
<li>
		<code>[username]</code>: يحدد اسم حساب المستخدم.
	</li>
	<li>
		<code>[DOMAIN/]</code>: يعرض معلومات عن حساب اسم المستخدم ضمن متحكم نطاق معين.
	</li>
	<li>
		لمعرفة المزيد حول استخدامات الأمر يمكنك تنفيذ الأمر <code>?/ net user</code> كما هو موضح في الصورة التالية.
	</li>
</ul>
<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="99716" href="https://academy.hsoub.com/uploads/monthly_2022_05/net-user-command.png.4f6dc7608c09a207bd446bab087133a8.png" rel=""><img alt="net-user-command.png" class="ipsImage ipsImage_thumbnailed" data-fileid="99716" data-unique="r1aanctpy" src="https://academy.hsoub.com/uploads/monthly_2022_05/net-user-command.png.4f6dc7608c09a207bd446bab087133a8.png"></a>
</p>

<p>
	توضح الصورة التالية مثالًا عن خرج الأمر السابق؛ فمثلًا عند تنفيذ الأمر ”<code>net user test01 /TEST.local</code>” يمكننا عرض معلومات عن كلمة المرور للمستخدم test01 ضمن نطاق المحلي TEST.local.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="99717" href="https://academy.hsoub.com/uploads/monthly_2022_05/net-user-test01domain.png.c1b5482c4711017df7ac16b95be5b1e1.png" rel=""><img alt="net-user-test01domain.png" class="ipsImage ipsImage_thumbnailed" data-fileid="99717" data-unique="3pm5efptt" src="https://academy.hsoub.com/uploads/monthly_2022_05/net-user-test01domain.png.c1b5482c4711017df7ac16b95be5b1e1.png"></a>
</p>

<p>
	نلاحظ ضمن المعلومات الظاهرة تاريخ انتهاء صلاحية كلمة المرور، ويمكن ملاحظة معلومات مفيدة أخرى، مثل توقيت آخر تعيينٍ لكلمة المرور، ومتى يمكن تغييرها، وهل يمكن للمستخدمين تغيير كلمات المرور، وغيرها من المعلومات.
</p>

<h2>
	قائمة بتواريخ انتهاء صلاحية كلمات المرور لجميع مستخدمي Active Directory
</h2>

<p>
	يفيد الأمر "net user" فقط في حالة استخراج معلوماتٍ عن مستخدمٍ ما؛ ولكن في حال أردنا استخراج معلوماتٍ عن حسابات وكلمات المرور لجميع المستخدمين ضمن Active Directory، سنحتاج لتنفيذ سطر من شيفرة PowerShell.
</p>

<p>
	توجد <a href="https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-adts/a3aff238-5f0e-4eec-8598-0a59c30ecd56" rel="external nofollow">سمةٌ مبنيةٌ</a> ضمن Active Directory تُسمى "<code>msDS-UserPasswordExpiryTimeComputed</code>"، وهي تمكننا من الحصول على الحسابات ضمن Active Directory وتوقيت انتهاء الصلاحية لكلمات المرور الخاصة بهم.
</p>

<p>
	قبل تنفيذ الشيفرة، لا بُدّ من التأكُّد بأن <a href="https://docs.microsoft.com/en-us/archive/blogs/ashleymcglone/install-the-active-directory-powershell-module-on-windows-10/" rel="external nofollow">وحدة Active Directory لسطر أوامر PowerShell</a> مثبتةٌ وقيد التنفيذ، إذ تمكِّننا تلك الوحدة من إظهار معلومات قيِّمة مخزنةٍ ضمن كائنات Active Directory، تتضمن إعدادات كلمة المرور وتاريخ انتهاء صلاحية وتوقيت آخر تعديل وغيرها.
</p>

<p>
	أولًا، نزِّل وثبِّت وحمِّل أدوات إدارة الخادم البعيد Remote Server Administration Tools -أو اختصارًا RSAT-، وفي حال لم يكن مثبتًا، يمكنك <a href="https://blogs.technet.microsoft.com/ashleymcglone/2016/02/26/install-the-active-directory-powershell-module-on-windows-10/" rel="external nofollow">اتباع دليل Microsoft التقني</a>.
</p>

<p>
	ثانيًا، تأكد من عمل ميزة PowerShell، ثم ضغط على مفتاح شعار ويندوز مع المفتاح "R" لفتح نافذة أداة Run، ثم اكتب "Windows PowerShell".
</p>

<p>
	ثالثًا، يمكنك استخدام السمة "<code>msDS-UserPasswordExpiryTimeComputed</code>" للحصول على تاريخ انتهاء صلاحية كلمة المرور لمستخدم ما على النحو التالي:
</p>

<pre class="ipsCode prettyprint lang-javascript prettyprinted" id="ips_uid_5193_8" style="">
<span class="typ">Get</span><span class="pun">-</span><span class="typ">ADUser</span><span class="pln"> </span><span class="pun">-</span><span class="typ">Identity</span><span class="pln"> </span><span class="typ">UserName</span><span class="pln"> </span><span class="pun">-</span><span class="typ">Properties</span><span class="pln"> msDS</span><span class="pun">-</span><span class="typ">UserPasswordExpiryTimeComputed</span><span class="pun">).</span><span class="str">'msDS-UserPasswordExpiryTimeComputed'</span></pre>

<p>
	رابعًا، لا يمكن قراءة نتيجة خرج من الأمر السابق، لذلك ستحتاج لإضافة السطر التالي من أجل تحويلها لصيغةٍ قابلةٍ للقراءة:
</p>

<pre class="ipsCode prettyprint lang-css prettyprinted" id="ips_uid_5193_10" style="">
<span class="pun">{[</span><span class="pln">datetime</span><span class="pun">]::</span><span class="typ">FromFileTime</span><span class="pun">(</span><span class="pln">$_</span><span class="pun">.”</span><span class="pln">msDS</span><span class="pun">-</span><span class="typ">UserPasswordExpiryTimeComputed</span><span class="pun">”)}</span></pre>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="99715" href="https://academy.hsoub.com/uploads/monthly_2022_05/list-user-password-expiration-powershell.jpg.e176f997accce10beab1d206ed72fcc9.jpg" rel=""><img alt="list-user-password-expiration-powershell.jpg" class="ipsImage ipsImage_thumbnailed" data-fileid="99715" data-unique="3tnvf215g" src="https://academy.hsoub.com/uploads/monthly_2022_05/list-user-password-expiration-powershell.thumb.jpg.1cff7bef42294d38ad7abe8bcf98d50e.jpg"></a>
</p>

<ul>
<li>
		يمكن تنفيذ نفس السمة <code>msDS-UserPasswordExpiryTimeComputed</code> مع إضافة تصفية filter صحيحة للحصول على قائمة بحسابات وكلمات مرور وتواريخ انتهاء صلاحية مستخدمي Active Directory على النحو التالي:
	</li>
</ul>
<pre class="ipsCode prettyprint lang-javascript prettyprinted" id="ips_uid_5193_12" style="">
<span class="typ">Get</span><span class="pun">-</span><span class="typ">ADUser</span><span class="pln"> </span><span class="pun">-</span><span class="pln">filter </span><span class="pun">{</span><span class="typ">Enabled</span><span class="pln"> </span><span class="pun">-</span><span class="pln">eq $True </span><span class="pun">-</span><span class="pln">and </span><span class="typ">PasswordNeverExpires</span><span class="pln"> </span><span class="pun">-</span><span class="pln">eq $False</span><span class="pun">}</span><span class="pln"> </span><span class="pun">–</span><span class="typ">Properties</span><span class="pln"> </span><span class="str">"DisplayName"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"msDS-UserPasswordExpiryTimeComputed"</span><span class="pln"> </span><span class="pun">|</span><span class="pln">
</span><span class="typ">Select</span><span class="pun">-</span><span class="typ">Object</span><span class="pln"> </span><span class="pun">-</span><span class="typ">Property</span><span class="pln"> </span><span class="str">"Displayname"</span><span class="pun">,@{</span><span class="typ">Name</span><span class="pun">=</span><span class="str">"ExpiryDate"</span><span class="pun">;</span><span class="typ">Expression</span><span class="pun">={[</span><span class="pln">datetime</span><span class="pun">]::</span><span class="typ">FromFileTime</span><span class="pun">(</span><span class="pln">$_</span><span class="pun">.</span><span class="str">"msDS-UserPasswordExpiryTimeComputed"</span><span class="pun">)}}</span></pre>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="99713" href="https://academy.hsoub.com/uploads/monthly_2022_05/expiry-date-ad-user.jpg.f34d9beef69477bf6a8b1e9bbba9ee22.jpg" rel=""><img alt="expiry-date-ad-user.jpg" class="ipsImage ipsImage_thumbnailed" data-fileid="99713" data-unique="cc1x5svq1" src="https://academy.hsoub.com/uploads/monthly_2022_05/expiry-date-ad-user.jpg.f34d9beef69477bf6a8b1e9bbba9ee22.jpg"></a>
</p>

<h2>
	وسائل وأدوات
</h2>

<p>
	بعد الحصول على تواريخ انتهاء صلاحية لحسابات المستخدمين، يمكنك الاستعانة بزوجٍ من الأدوات المجانية التي تساعد في إدارة حسابات المستخدمين وأجهزة الحواسيب ضمن Active Directory.
</p>

<h3>
	إدارة المستخدمين وإبقاء نطاق Active Directory نظيفا
</h3>

<p>
	تأتي الأداة المجانية حزمة إدارة SolarWinds لخدمة Active Directory بثلاث أدوات تساعد في إدارة حسابات المستخدمين وأجهزة الحاسوب ضمن Active Directory، إذ يمكن باستخدام هذه الحزمة إيجاد وحذف حسابات المستخدمين وأجهزة الحواسيب غير الفعالة.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="99719" href="https://academy.hsoub.com/uploads/monthly_2022_05/SolarWinds-Active-Directory-Admin-Tools-Bundle.jpg.c6f3eb8e8f035584e06c599f2aea6d66.jpg" rel=""><img alt="SolarWinds-Active-Directory-Admin-Tools-Bundle.jpg" class="ipsImage ipsImage_thumbnailed" data-fileid="99719" data-unique="spnahlnf8" src="https://academy.hsoub.com/uploads/monthly_2022_05/SolarWinds-Active-Directory-Admin-Tools-Bundle.jpg.c6f3eb8e8f035584e06c599f2aea6d66.jpg"></a>
</p>

<p>
	تتألف الحزمة من الأدوات التالية:
</p>

<ul>
<li>
		<strong>أداة إزالة حسابات المستخدمين غير الفعالة</strong>: وهي أداةٌ للبحث عن الحسابات التي لم تُستخدم، أو يُسجَّل الدخول إليها، أو تلك الحسابات غير الفعالة منذ وقت طويل؛ كما تمكِّننا من تصدير قائمة بتلك الحسابات وإزالة جميع الحسابات غير الفعالة.
	</li>
	<li>
		<strong>أداة إزالة أجهزة الحواسيب</strong>: وهي أداةٌ للبحث عن الأجهزة غير الفعالة، كما تمكِّننا من تصدير قائمةٍ بها وإزالتها.
	</li>
	<li>
		<strong>أداة استيراد المستخدمين</strong>: وهي أداةٌ لإنشاء حساباتٍ للمستخدمين ضمن Active Directory عبر استيرادها من ملف CSV أو XLS، كما تمكِّننا أيضًا من إنشاء حسابات ضمن Active Directory وصندوق بريد Exchange معًا في ذات الوقت.
	</li>
</ul>
<h3>
	أتمتة إشعارات انتهاء صلاحية كلمة المرور للمستخدمين ضمن Active Directory
</h3>

<p>
	يوجد أداةٌ أخرى تُسمى مدقق Lepide Auditor تساعد في أتمتة إدارة كلمات المرور للحسابات عبر الحصول على معلومات عنها مباشرة من Active Directory، كما تولِّد تقريرًا وترسله للمستخدم لإبلاغه بأن صلاحية كلمة المرور الخاصة به على وشك الإنتهاء، إذ تأتي هذه الأداة مع ميزة تذكير مستخدمي Active Directory عند قرب انتهاء صلاحية كلمة المرور الخاصة بهم.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="99714" href="https://academy.hsoub.com/uploads/monthly_2022_05/Lepide-Auditor-1024x520.jpg.b5154464ec644030db2bb80adf8f3543.jpg" rel=""><img alt="Lepide-Auditor-1024x520.jpg" class="ipsImage ipsImage_thumbnailed" data-fileid="99714" data-unique="pru78qeto" src="https://academy.hsoub.com/uploads/monthly_2022_05/Lepide-Auditor-1024x520.thumb.jpg.ba45f66db77ec86fc61996cc75468281.jpg" style="width: 700px; height: auto;"></a>
</p>

<h2>
	الخاتمة
</h2>

<p>
	يوجد أسلوبان بسيطان للحصول على تاريخ انتهاء صلاحية كلمات المرور ضمن خدمة Active Directory؛ إذ يعتمد الأسلوب الأول على استخدام الأمر Net User، والثاني على سمة PowerShell:
</p>

<ul>
<li>
		يُستخدم الأسلوب المعتمد على الأمر Net User للحصول على تاريخ انتهاء صلاحية كلمة المرور لمستخدم ما، ومن أجل استخدام هذا الأسلوب، يجب الوصول إلى حساب مستخدم Active Directory، أو يمكن للمستخدم نفسه تنفيذ ذلك الأمر على جهازه.
	</li>
	<li>
		أمر PowerShell أقوى وأسهل في الاستخدام، فيكفي فقط تثبيت وحدة PowerShell لخدمة Active Directory ويمكنك بعدها نسخ ولصق سطر شيفرة واحد للحصول على قائمةٍ كاملةٍ بالمستخدمين وتاريخ انتهاء صلاحية كلمات المرور لهم.
	</li>
</ul>
<p>
	يوجد أدواتٌ أخرى تساعدنا على إبقاء Active Directory نظيفًا وتؤتمت عملية إنشاء حسابات المستخدمين، مثل أداة حزمة إدارة SolarWinds لخدمة Active Directory.
</p>

<p>
	يوجد أدواتٌ أخرى مدفوعة، مثل برمجية مدقق لبيد Lepide Auditor، التي تساعد على أتمتة إشعارات انتهاء صلاحية كلمة المرور.
</p>

<h2>
	أسئلة شائعة حول انتهاء صلاحية كلمة المرور
</h2>

<h3>
	هل يمكن لخدمة Active Directory إرسال بريد إلكتروني عند انتهاء صلاحية كلمة المرور؟
</h3>

<p>
	يمكن إعداد خدمة Active Directory لإشعار المستخدمين عند قرب انتهاء صلاحية كلمات المرور الخاصة بهم، لكن سيظهر هذا الإشعار ضمن النظام وفقط عند دخول المستخدم إلى شبكة الشركة، ومن الممكن استخدام نص برمجي ضمن PowerShell للتحقُّق من كلمات المرور التي هي على وشك الانتهاء وتوليد بريدٍ إلكتروني لكل مستخدم، ولكن لا يوجد إجرائيةٌ مؤتمتةٌ لهذا الأمر ضمن خدمة Active Directory.
</p>

<h3>
	كيف يمكننا توليد انتهاء صلاحية كلمة مرور مستخدم خدمة Active Directory في سطر أوامر PowerShell؟
</h3>

<p>
	يمكن الحصول على قائمة بحسابات المستخدمين وتواريخ انتهاء الصلاحية عبر تنفيذ النص البرمجي التالي ضمن PowerShell:
</p>

<pre class="ipsCode prettyprint lang-javascript prettyprinted" id="ips_uid_5193_15" style="">
<span class="typ">Get</span><span class="pun">-</span><span class="typ">ADUser</span><span class="pln"> </span><span class="pun">-</span><span class="pln">filter </span><span class="pun">{</span><span class="typ">Enabled</span><span class="pln"> </span><span class="pun">-</span><span class="pln">eq $True </span><span class="pun">-</span><span class="pln">and </span><span class="typ">PasswordNeverExpires</span><span class="pln"> </span><span class="pun">-</span><span class="pln">eq $False</span><span class="pun">}</span><span class="pln"> </span><span class="pun">–</span><span class="typ">Properties</span><span class="pln"> </span><span class="str">"DisplayName"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"msDS-UserPasswordExpiryTimeComputed"</span><span class="pln"> </span><span class="pun">|</span><span class="pln">
</span><span class="typ">Select</span><span class="pun">-</span><span class="typ">Object</span><span class="pln"> </span><span class="pun">-</span><span class="typ">Property</span><span class="pln"> </span><span class="str">"Displayname"</span><span class="pun">,@{</span><span class="typ">Name</span><span class="pun">=</span><span class="str">"ExpiryDate"</span><span class="pun">;</span><span class="typ">Expression</span><span class="pun">={[</span><span class="pln">datetime</span><span class="pun">]::</span><span class="typ">FromFileTime</span><span class="pun">(</span><span class="pln">$_</span><span class="pun">.</span><span class="str">"msDS-UserPasswordExpiryTimeComputed"</span><span class="pun">)}}</span></pre>

<h3>
	هل من الممكن رؤية كلمة المرور المستخدم ضمن Active Directory؟
</h3>

<p>
	لا يمكن حتى للمسؤول رؤية كلمة المرور لحساب المستخدم، ولكن يمكنه إعادة تعيينها؛ وهذا يمكِّن المسؤول المحتال من استعادة التحكم بحسابٍ ما.
</p>

<p>
	ترجمة -وبتصرف- للمقال "<a href="https://www.pcwdld.com/password-expiration-date-ad-user" rel="external nofollow">Find Password Expiration Date for Active Directory Users [ PowerShell &amp; Free Tools]‎</a>" لصاحبه Marc Wilson.
</p>

<h2>
	اقرأ أيضًا
</h2>

<ul>
<li>
		<a href="https://academy.hsoub.com/devops/networking/%D8%AE%D8%AF%D9%85%D8%A9-active-directory-%D8%AF%D9%84%D9%8A%D9%84-%D8%A7%D9%84%D9%85%D8%B5%D8%B7%D9%84%D8%AD%D8%A7%D8%AA-%D9%88%D8%A7%D9%84%D8%AA%D8%B9%D8%A7%D8%B1%D9%8A%D9%81-%D9%88%D8%A7%D9%84%D8%A3%D8%B3%D8%A7%D8%B3%D9%8A%D8%A7%D8%AA-r616/" rel="">خدمة Active Directory: دليل المصطلحات والتعاريف والأساسيات </a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/apps/general/%D8%AF%D9%84%D9%8A%D9%84-%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85-%D8%AA%D8%B7%D8%A8%D9%8A%D9%82-%D8%A5%D8%AF%D8%A7%D8%B1%D8%A9-%D9%83%D9%84%D9%85%D8%A7%D8%AA-%D8%A7%D9%84%D9%85%D8%B1%D9%88%D8%B1-keepassxc-r466/" rel="">دليل استخدام تطبيق إدارة كلمات المرور KeePassXC</a>
	</li>
</ul>
]]></description><guid isPermaLink="false">618</guid><pubDate>Wed, 25 May 2022 09:03:32 +0000</pubDate></item><item><title>&#x645;&#x627; &#x647;&#x648; &#x628;&#x631;&#x648;&#x62A;&#x648;&#x643;&#x648;&#x644; &#x627;&#x644;&#x646;&#x633;&#x62E; &#x627;&#x644;&#x622;&#x645;&#x646; SCP&#x61F;</title><link>https://academy.hsoub.com/devops/networking/%D9%85%D8%A7-%D9%87%D9%88-%D8%A8%D8%B1%D9%88%D8%AA%D9%88%D9%83%D9%88%D9%84-%D8%A7%D9%84%D9%86%D8%B3%D8%AE-%D8%A7%D9%84%D8%A2%D9%85%D9%86-scp%D8%9F-r617/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2022_05/628fb74f679da_----SCP_.png.a8b9e9468c8dedfd25f0d8b2374c3424.png" /></p>

<p>
	سنستعرض في هذا المقال شرحًا معمقًا لبروتوكول النسخ الآمن وكيفية استخدامه وصيغة الأمر الخاص به وبعض الأمثلة على ذلك، إذ يُستخدم الأمر SCP باختصار على أنه طريقةٌ آمنة وسهلة لنقل الملفات بين أجهزة الحاسوب عبر <a href="https://academy.hsoub.com/devops/security/ssh/%D8%A3%D9%86%D9%81%D8%A7%D9%82-ssh%D8%8C-%D9%85%D8%A7%D9%87%D9%8A%D8%AA%D9%87%D8%A7-%D9%88%D9%83%D9%8A%D9%81%D9%8A%D8%A9-%D8%A5%D8%B9%D8%AF%D8%A7%D8%AF%D9%87%D8%A7-r76/" rel="">خدمة الصدفة الآمنة Secure Shell -أو اختصارًا <abbr title="Secure Shell | القشرة (أو الصَدَفة) الآمنة">SSH</abbr></a>.
</p>

<h2>
	ما هو بروتوكول النسخ الآمن SCP؟
</h2>

<p>
	<a href="https://academy.hsoub.com/devops/linux/%D9%83%D9%8A%D9%81-%D8%AA%D8%B3%D8%AA%D8%AE%D8%AF%D9%85-%D8%A7%D9%84%D8%A3%D9%85%D8%B1-scp-%D9%84%D8%AA%D8%A3%D9%85%D9%8A%D9%86-%D9%86%D8%B3%D8%AE-%D8%A7%D9%84%D9%85%D9%84%D9%81%D8%A7%D8%AA-%D8%A8%D9%8A%D9%86-%D8%A7%D9%84%D8%AE%D9%88%D8%A7%D8%AF%D9%8A%D9%85-r321" rel="">برتوكول SCP</a> هي اختصار لبروتوكول النسخ الآمن Secure Copy Protocol، الذي يساعدنا في نقل الملفات بين مضيفٍ محلي ومضيف بعيد، ويتشابه بعض الشيء مع بروتوكول نقل الملفات File Transfer Protocol -أو اختصارًا FTP- لكن يضيف عليه الأمان والاستيثاق.
</p>

<p>
	يعمل SCP على المنفذ رقم 22، ويصطلح البعض بأنه دمجٌ بين BSD RCP وبروتوكول <abbr title="Secure Shell | القشرة (أو الصَدَفة) الآمنة">SSH</abbr>؛ إذ يُستخدم بروتوكول RCP لنقل الملفات؛ ويوفِّر وبروتوكول <abbr title="Secure Shell | القشرة (أو الصَدَفة) الآمنة">SSH</abbr> الاستيثاق والتشفير، لهذا يُعد <a href="https://academy.hsoub.com/devops/linux/%D9%83%D9%8A%D9%81-%D8%AA%D8%B3%D8%AA%D8%AE%D8%AF%D9%85-%D8%A7%D9%84%D8%A3%D9%85%D8%B1-scp-%D9%84%D8%AA%D8%A3%D9%85%D9%8A%D9%86-%D9%86%D8%B3%D8%AE-%D8%A7%D9%84%D9%85%D9%84%D9%81%D8%A7%D8%AA-%D8%A8%D9%8A%D9%86-%D8%A7%D9%84%D8%AE%D9%88%D8%A7%D8%AF%D9%8A%D9%85-r321/" rel="">SCP</a> مزيجًا بين هذين البروتوكولين.
</p>

<p>
	تكون البيانات المُرسلة عبر بروتوكول SCP موثوقة، لذا يمكن استخدامه لإعاقة التنصت على الحزم عبر الشبكة Packet Sniffing، والذي يُمكّن المتنصت من استخراج معلومات قيّمة من حزم البيانات.
</p>

<p>
	يستفيد بروتوكول SCP من <abbr title="Secure Shell | القشرة (أو الصَدَفة) الآمنة">SSH</abbr>، الذي يسمح بالتضمين والحفاظ على الأذونات والعلامات الزمنية للملفات المرفوعة.
</p>

<h2>
	كيفية استخدام بروتوكول SCP
</h2>

<p>
	يمكن للعميل SCP رفع الملفات إلى <a href="https://academy.hsoub.com/devops/security/ssh/%D8%A7%D9%84%D8%B9%D9%85%D9%84-%D9%85%D8%B9-%D8%AE%D9%88%D8%A7%D8%AF%D9%8A%D9%85-ssh-%D8%A7%D9%84%D8%B9%D9%85%D9%84%D8%A7%D8%A1-%D9%88%D8%A7%D9%84%D9%85%D9%81%D8%A7%D8%AA%D9%8A%D8%AD-r55/" rel="">خادم <abbr title="Secure Shell | القشرة (أو الصَدَفة) الآمنة">SSH</abbr></a> أو طلب تنزيل الملفات والمجلدات منه، إذ يرسل الخادم بدوره كل الملفات والمجلدات الفرعية المُتاحة للتنزيل.
</p>

<p>
	يجب الانتباه إلى أن الخادم يتحكم بعملية تنزيل الملف، لذا يمكن أن يكون هناك مخاطر أمنية في حال اتصل العميل بخادمٍ مشبوه.
</p>

<p>
	أمر SCP هو أمرٌ أصليٌ متواجدٌ ضمن معظم <a href="https://academy.hsoub.com/files/24-%D8%A3%D9%86%D8%B8%D9%85%D8%A9-%D8%A7%D9%84%D8%AA%D8%B4%D8%BA%D9%8A%D9%84-%D9%84%D9%84%D9%85%D8%A8%D8%B1%D9%85%D8%AC%D9%8A%D9%86/" rel="">أنظمة التشغيل</a>، مثل ماك وويندوز <a href="https://academy.hsoub.com/devops/linux/%D9%85%D8%A7-%D9%87%D9%88-%D9%86%D8%B8%D8%A7%D9%85-%D8%A7%D9%84%D8%AA%D8%B4%D8%BA%D9%8A%D9%84-%D9%84%D9%8A%D9%86%D9%83%D8%B3%D8%9F-r451/" rel="">ولينكس</a>، إذ يمكنك كتابة "scp" ضمن الطرفية للوصول إليه، وستجد الأمر أيضًا ضمن التطبيقات الشائعة لنقل الملفات عبر الشبكة، مثل تطبيق PuTTy.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="98959" href="https://academy.hsoub.com/uploads/monthly_2022_05/putty.png.ad5af76a14999cab9cd3ff71ff0c0077.png" rel=""><img alt="putty.png" class="ipsImage ipsImage_thumbnailed" data-fileid="98959" data-unique="bia81l63h" src="https://academy.hsoub.com/uploads/monthly_2022_05/putty.png.ad5af76a14999cab9cd3ff71ff0c0077.png" style="width: 500px; height: auto;"></a>
</p>

<h2>
	أمر النسخ CP و SCP لنفهم الفرق بينهما
</h2>

<p>
	إذا استخدمت سابقًا الأمر "cp" على جهاز بنظام لينكس، فلن تجد صعوبةً في فهم SCP؛ إذ يتطلب كلا الأمرين وجود مكان مصدر ووجهة ضمن نظام الملفات لإتمام عملية النسخ؛ ويتمثّل الفرق الأساسي بينهما في أن SCP يتطلب أن يكون أحد أو كلا المكانين على نظامٍ بعيد.
</p>

<p>
	مثلًا عند تطبيق <a href="https://academy.hsoub.com/devops/linux/%D8%A3%D8%B3%D8%A7%D8%B3%D9%8A%D8%A7%D8%AA-%D8%A5%D8%AF%D8%A7%D8%B1%D8%A9-%D8%A7%D9%84%D9%85%D9%84%D9%81%D9%91%D8%A7%D8%AA-%D9%88%D8%A7%D9%84%D8%AA%D9%86%D9%82%D9%91%D9%84-%D9%81%D9%8A-%D9%84%D9%8A%D9%86%D9%83%D8%B3-r24/" rel="">الأمر cp</a> في المثال التالي:
</p>

<pre class="ipsCode prettyprint lang-javascript prettyprinted" id="ips_uid_1038_12" style="">
<span class="pln">cp </span><span class="pun">/</span><span class="pln">main</span><span class="pun">/</span><span class="pln">john</span><span class="pun">/</span><span class="pln">pictures</span><span class="pun">/</span><span class="pln">picture</span><span class="pun">*.</span><span class="pln">png </span><span class="pun">/</span><span class="pln">main</span><span class="pun">/</span><span class="pln">john</span><span class="pun">/</span><span class="pln">archive</span></pre>

<p>
	سيهيء الأمر السابق عملية النسخ، إذ ستُنسَخ كافة الملفات، التي يبدأ اسمها بكلمة "picture" وينتهي باللاحقة "png." ضمن المجلد "pictures" الواقع ضمن المجلد الرئيسي للمستخدم john، إلى المجلد "archive" الواقع ضمن المجلد "main".
</p>

<p>
	يمكن تنفيذ نفس العملية باستخدام الأمر SCP على النحو التالي:
</p>

<pre class="ipsCode prettyprint lang-javascript prettyprinted" id="ips_uid_1038_14" style="">
<span class="pln">scp </span><span class="pun">/</span><span class="pln">main</span><span class="pun">/</span><span class="pln">john</span><span class="pun">/</span><span class="pln">pictures</span><span class="pun">/</span><span class="pln">picture</span><span class="pun">*.</span><span class="pln">png john@myhost</span><span class="pun">.</span><span class="pln">com</span><span class="pun">:</span><span class="str">/main/</span><span class="pln">john</span><span class="pun">/</span><span class="pln">archive</span></pre>

<p>
	كما هو موضحٌ في المثال، عند استخدام الأمر SCP مع اسم تسجيل الدخول john؛ ستُرفع نفس الملفات إلى الخادم myhost.com وتحديدًا إلى المجلد البعيد ضمنه بالمسار "main/john/archive/"؛ وسيسمح SCP ببدء عملية الرفع فقط عندما يقدِّم المستخدم john كلمة المرور الخاصة به لذلك الخادم.
</p>

<p>
	يمكننا أيضًا تحديد مكانٍ بعيد على أنه مصدرٌ للملفات؛ إذ يمكننا مثلًا تنزيل تلك الملفات الموجودة على الخادم "myhost.com" والتي يبدأ اسمها بكلمة "picture" وينتهي باللاحقة "png."، إلى المسار المحلي "main/john/downloads/"، على النحو التالي:
</p>

<pre class="ipsCode prettyprint lang-javascript prettyprinted" id="ips_uid_1038_16" style="">
<span class="pln">scp john@myhost</span><span class="pun">.</span><span class="pln">com</span><span class="pun">:</span><span class="str">/main/</span><span class="pln">john</span><span class="pun">/</span><span class="pln">archive</span><span class="pun">/</span><span class="pln">picture</span><span class="pun">*.</span><span class="pln">png </span><span class="pun">/</span><span class="pln">main</span><span class="pun">/</span><span class="pln">john</span><span class="pun">/</span><span class="pln">downloads</span></pre>

<h2>
	استخدام SCP على مكانٍ بعيد
</h2>

<p>
	يمكن أيضًا تحديد مضيف بعيد على أنه مصدرٌ ووجهةٌ بآنٍ معًا، إذ يمكن باستخدام الأمر التالي مثلًا نقل الملف من مجلدٍ موجودٍ على myhost.com إلى مجلدٍ آخر موجودٍ ضمن نفس الخادم.
</p>

<pre class="ipsCode prettyprint lang-javascript prettyprinted" id="ips_uid_1038_20" style="">
<span class="pln">scp someuser@myhost</span><span class="pun">.</span><span class="pln">com</span><span class="pun">:</span><span class="str">/main/</span><span class="pln">someuser</span><span class="pun">/</span><span class="pln">dira</span><span class="pun">/</span><span class="pln">file</span><span class="pun">.</span><span class="pln">txt someuser@myhost</span><span class="pun">.</span><span class="pln">com</span><span class="pun">:</span><span class="str">/main/</span><span class="pln">someuser</span><span class="pun">/</span><span class="pln">dirb</span></pre>

<p>
	يمكن استخدام SCP في حالةٍ أخرى لنقل الملفات من مضيفٍ إلى مضيفٍ آخر مختلف باستخدام الأمر التالي:
</p>

<pre class="ipsCode prettyprint lang-javascript prettyprinted" id="ips_uid_1038_18" style="">
<span class="pln">scp user@host1</span><span class="pun">.</span><span class="pln">com</span><span class="pun">:</span><span class="str">/onedir/</span><span class="pln">file</span><span class="pun">.</span><span class="pln">txt user@host2</span><span class="pun">.</span><span class="pln">com</span><span class="pun">:/</span><span class="pln">otherdir</span></pre>

<p>
	تذكر أن الملفات المنقولة عبر SCP محميةٌ ومشفرةٌ مثل <abbr title="Secure Shell | القشرة (أو الصَدَفة) الآمنة">SSH</abbr> و SFTP.
</p>

<h2>
	صيغة الأمر SCP
</h2>

<p>
	قبل شرح طريقة عمل الأمر SCP لنتعرف على صيغة الأمر الأساسية، وهي:
</p>

<pre class="ipsCode prettyprint lang-javascript prettyprinted" id="ips_uid_1038_23" style="">
<span class="pln">scp </span><span class="pun">[-</span><span class="lit">12346BCpqrv</span><span class="pun">]</span><span class="pln"> </span><span class="pun">[-</span><span class="pln">c cipher</span><span class="pun">]</span><span class="pln"> </span><span class="pun">[-</span><span class="pln">F ssh_config</span><span class="pun">]</span><span class="pln"> </span><span class="pun">[-</span><span class="pln">i identity_file</span><span class="pun">]</span><span class="pln">
      </span><span class="pun">[-</span><span class="pln">l limit</span><span class="pun">]</span><span class="pln"> </span><span class="pun">[-</span><span class="pln">o ssh_option</span><span class="pun">]</span><span class="pln"> </span><span class="pun">[-</span><span class="pln">P port</span><span class="pun">]</span><span class="pln"> </span><span class="pun">[-</span><span class="pln">S program</span><span class="pun">]</span><span class="pln">
      </span><span class="pun">[[</span><span class="pln">user@</span><span class="pun">]</span><span class="pln">SRC_host</span><span class="pun">:]</span><span class="pln">file1 </span><span class="pun">...</span><span class="pln"> </span><span class="pun">[[</span><span class="pln">user@</span><span class="pun">]</span><span class="pln">DEST_host</span><span class="pun">:]</span><span class="pln">file2</span></pre>

<p>
	معرفتك للأمر SCP وطريقة عمله هي البداية فقط، إذ أن هناك كثيرٌ من الخيارات المختلفة للأمر SCP يمكننا الاختيار منها، وسنتعمق في هذا القسم في فهم طريقة عمله.
</p>

<p>
	لقطات الشاشة التالية هي للأمر SCP من طرفيةٍ على نظامي ويندوز وماك، إذ يختلف خرج الأمر بحسب نظام التشغيل.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="98961" href="https://academy.hsoub.com/uploads/monthly_2022_05/scp-windows-command.png.c4c5dde056991ca747c60f5fbc13ad4a.png" rel=""><img alt="scp-windows-command.png" class="ipsImage ipsImage_thumbnailed" data-fileid="98961" data-unique="3x0ccfux8" src="https://academy.hsoub.com/uploads/monthly_2022_05/scp-windows-command.png.c4c5dde056991ca747c60f5fbc13ad4a.png" style="width: 600px; height: auto;"></a>
</p>

<p>
	خرج الأمر ويندوز على ويندوز
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="98960" href="https://academy.hsoub.com/uploads/monthly_2022_05/scp-command-options.png.3875652edd39e6e4999101c53b99cb7c.png" rel=""><img alt="scp-command-options.png" class="ipsImage ipsImage_thumbnailed" data-fileid="98960" data-unique="evlfrwbwv" src="https://academy.hsoub.com/uploads/monthly_2022_05/scp-command-options.thumb.png.8f000bba1abd819393bee74e06c8487b.png" style="width: 600px; height: auto;"></a>
</p>

<p>
	خرج الأمر على نظام ماك
</p>

<ul>
<li>
		<p>
			<strong>[12346BCpqrv-]</strong>
		</p>

		<ul>
<li>
				<strong>1</strong>: وهو إصدار قديم للبروتوكول، يخبر البرنامج باستخدام بروتوكول SCP بالإصدار رقم 1.
			</li>
			<li>
				<strong>2</strong>: كما في الخيار السابق، وهو بروتوكول قديم يخبر الأمر SCP باستخدام البروتوكول بالإصدار رقم 2.
			</li>
			<li>
				<strong>3</strong>: ينقل البيانات بين مضيفين بعيدين عبر المضيف المحلي؛ إذ ستُنقل البيانات بين المضيفين البعيدين مباشرةً وبدون هذا الخيار. يمكن استخدام هذا الخيار أيضًا لإلغاء تفعيل شريط التقدُّم.
			</li>
			<li>
				<strong>4</strong>: يخبر هذا الخيار SCP باستخدام العناوين من نوع IPv4 فقط.
			</li>
			<li>
				<strong>6</strong>: يخبر هذا الخيار SCP باستخدام العناوين من نوع <a href="https://academy.hsoub.com/certificates/cisco/ccna/%D8%A3%D9%86%D9%88%D8%A7%D8%B9-%D8%A7%D9%84%D8%B9%D9%86%D8%A7%D9%88%D9%8A%D9%86-%D9%81%D9%8A-%D8%A7%D9%84%D8%A5%D8%B5%D8%AF%D8%A7%D8%B1-%D8%A7%D9%84%D8%B3%D8%A7%D8%AF%D8%B3-%D9%85%D9%86-%D8%A8%D8%B1%D9%88%D8%AA%D9%88%D9%83%D9%88%D9%84-ip-r82/" rel="">IPv6</a> فقط.
			</li>
			<li>
				<strong>B</strong>: يخبر هذا الخيار SCP بعدم الاستيثاق من الجلسة من خلال سؤال المستخدم عن كلمة المرور، ويتطلب ذلك ضمنيًا أن تكون طريقة الاستيثاق المحددة غير تفاعلية.
			</li>
			<li>
				<strong>C</strong>: يفعِّل هذا الخيار ضغط الاتصال المشفر وذلك عبر تضمين الراية "C-" ضمن <abbr title="Secure Shell | القشرة (أو الصَدَفة) الآمنة">SSH</abbr>.
			</li>
		</ul>
</li>
	<li>
		<strong>[c cipher-]</strong>: يحدد هذا الخيار طريقة تشفير البيانات المنقولة، إذ تُمرّر تلك الطريقة إلى جلسة <abbr title="Secure Shell | القشرة (أو الصَدَفة) الآمنة">SSH</abbr> مباشرةً.
	</li>
	<li>
		<strong>[F ssh_config-]</strong>: يمكن باستخدام هذا الخيار تحديد ملف ضبط <abbr title="Secure Shell | القشرة (أو الصَدَفة) الآمنة">SSH</abbr> خاص لكل مستخدم، ويُرسل إلى <abbr title="Secure Shell | القشرة (أو الصَدَفة) الآمنة">SSH</abbr> مباشرةً.
	</li>
	<li>
		<strong>[i dentity_file-]</strong>: يسمح هذا الخيار بتحديد المعرّف (المفتاح) للاستيثاق RSA، ويُمرَّر إلى <abbr title="Secure Shell | القشرة (أو الصَدَفة) الآمنة">SSH</abbr> مباشرةً.
	</li>
	<li>
		<strong>[I limit-]</strong>: يحدد هذا الخيار السقف الأعلى لعرض الحزمة المستخدم بالوحدة كيلوبت بالثانية Kbps.
	</li>
	<li>
		<strong>[o sshoption-]</strong>: يمكن تطبيق هذا الخيار لتمرير الخيارات إلى <abbr title="Secure Shell | القشرة (أو الصَدَفة) الآمنة">SSH</abbr> باستخدام نفس صيغة sshconfig. ويُفضَّل تمرير الخيارات التي لا يوجد لها خيارٌ مماثلٌ ضمن خيارات الأمر SCP. بعض الخيارات المتاحة:
		<ul>
<li>
				<strong>AddressFamily:</strong> يمكن لهذا الخيار إعداد متطلبات العنوان IP، بحيث يمكن أن تكون عائلة العناوين إما IPv4، أو IPv6.
			</li>
			<li>
				<strong>Batch-mode:</strong> يمكننا استخدام هذا الخيار لتعطيل كل الاستعلامات عن مُدخلاتٍ من المستخدم، أي ستصبح طرق الاستيثاق التفاعلية مع المستخدم غير مدعومة عند تطبيق هذا الخيار. المعاملات المسموحة لهذا الخيار هي "yes" أو "no"، والقيمة الافتراضية هي "no".
			</li>
			<li>
				<strong>BindAddress:</strong> يمكننا من خلال هذا الخيار استخدام العنوان المحدد على الجهاز المحلي مثل عنوان مصدر، إذ يفيد هذا الخيار فقط في حال كان النظام يملك عدة عناوين. يفضل إبقاء هذا العنوان معطلًا في حال تفعيل "UsePrivilegedPort".
			</li>
			<li>
				<strong>CheckHostIP:</strong> عند تعيين قيمته إلى "yes" (وهي القيمة الافتراضية)، سيتحقق <abbr title="Secure Shell | القشرة (أو الصَدَفة) الآمنة">SSH</abbr> من وجود عنوان IP للمضيف ضمن ملف known_hosts، وبهذا يتمكن <abbr title="Secure Shell | القشرة (أو الصَدَفة) الآمنة">SSH</abbr> من التحقق فيما إذا جرى أي تعديلٍ لمفتاح المضيف في حالة وجود انتحالٍ لخادم DNS، ولن يحدث هذا التحقق في حال كانت القيمة "no".
			</li>
			<li>
				<strong>Ciphers:</strong> يحدد هذا الخيار عدة خوارزميات تشفير مفصولٌ بينها بفاصلة، ومدعومةٌ من قبل العميل، وتُستخدم طريقة التشفير الأعلى بحسب ترتيب تفضيل العميل والمدعومة من قبل الخادم للجلسة الحالية. طرق التشفير المدعومة هي: "aes128-ctr" و "aes128-cbc" و "aes192-ctr" و "aes192-cbc" و "aes256-ctr" و "aes256-cbc" و "blowfish-cbc" و "arcfour" و "arcfour128" و "arcfour256" و "cast128-cbc" و "3des-cbc"؛ ويمكنك تعيين القيمة أيضًا إلى "none"، ولكن لن تُشفَّر البيانات بهذا الخيار، لذا لا يُفضَّل استخدام تلك القيمة لأنها لن تقدم حمايةً موثوقة.
			</li>
			<li>
				<strong>من خيارات <abbr title="Secure Shell | القشرة (أو الصَدَفة) الآمنة">SSH</abbr> المتاحة أيضًا:</strong> Compression و CompressionLevel و ConnectionAttempts و ConnectTimeout و IdentityFile و IdentitiesOnly و KexAlgorithms وغيرها الكثير.
			</li>
		</ul>
</li>
	<li>
		<strong>P port-</strong> يحدّد هذا الخيار رقم المنفذ المُراد الاتصال به على المضيف البعيد. يجب التفريق بين هذا الخيار بحرف P كبير وخيار بحرف p صغير مختلف آخر.
	</li>
	<li>
		<strong>p-</strong> يسمح هذا الخيار بالحفاظ على خصائص الملف الأصلي، مثل أوقات الوصول، وأوقات التعديلات، والأوضاع modes.
	</li>
	<li>
		<strong>q-</strong> يمكن استخدام هذا الخيار لإلغاء تفعيل شريط التقدم.
	</li>
	<li>
		<strong>r-</strong> يمكن استخدام الخيار لنسخ كل المجلدات الفرعية.
	</li>
	<li>
		<strong>S program-</strong> يحدد هذا الخيار البرنامج المُستخدم للاتصال المشفر، ومن الضروري أن يكون البرنامج المُحدّد قادرًا على فهم خيارات <abbr title="Secure Shell | القشرة (أو الصَدَفة) الآمنة">SSH</abbr>.
	</li>
	<li>
		<strong>v-</strong> يفعِّل هذا الخيار وضع الإسهاب verbose، الذي يجبر الأوامر SCP و <abbr title="Secure Shell | القشرة (أو الصَدَفة) الآمنة">SSH</abbr> على إظهار رسائل التصحيح عن تقدم العملية، إذ تفيد تلك الرسائل خلال عملية تحديد مشاكل الاتصال، أو مشاكل الإعدادات الخاطئة.
	</li>
</ul>
<h2>
	أمثلة عن الأمر SCP
</h2>

<p>
	سنذكر بعض الأمثلة عن استخدامات أمر SCP لمزيدٍ من التوضيح والفهم. تذكر بأن صيغة عنوان الملف تكون دائما كما يلي:
</p>

<pre class="ipsCode prettyprint lang-javascript prettyprinted" id="ips_uid_1038_28" style="">
<span class="pun">[</span><span class="pln">user@host</span><span class="pun">]</span><span class="pln">host</span><span class="pun">[:</span><span class="pln">port</span><span class="pun">][</span><span class="str">/path/</span><span class="pln">file</span><span class="pun">]</span></pre>

<p>
	ينسخ الأمر التالي مثلًا الملف file.txt إلى المضيف البعيد "example.computeruser.com"، بحيث يكون اسم المستخدم الذي المُستخدم لتسجيل الدخول هو "user" على النحو التالي:
</p>

<pre class="ipsCode prettyprint lang-javascript prettyprinted" id="ips_uid_1038_30" style="">
<span class="pln">scp file</span><span class="pun">.</span><span class="pln">txt user@example</span><span class="pun">.</span><span class="pln">computeruser</span><span class="pun">.</span><span class="pln">com</span><span class="pun">:</span><span class="pln">file</span><span class="pun">.</span><span class="pln">txt</span></pre>

<p>
	بينما ينسخ الأمر التالي كل الملفات ضمن المجلد "main/hope/" على المضيف البعيد "remotehost.com" إلى مسار العمل المحلي.
</p>

<pre class="ipsCode prettyprint lang-javascript prettyprinted" id="ips_uid_1038_32" style="">
<span class="pln">scp username@remotehost</span><span class="pun">.</span><span class="pln">com</span><span class="pun">:</span><span class="str">/main/</span><span class="pln">hope</span><span class="com">/*</span></pre>

<p>
	سينسخُ الأمر التالي كل الملفات على المجلد البعيد "main/john/documents/" على الخادم "host.com" إلى المجلد المحلي "/main/john/downloads/documents/"، وسيشمل النقل كل المجلدات الفرعية مع ملفاتها.
</p>

<pre class="ipsCode prettyprint lang-javascript prettyprinted" id="ips_uid_1038_34" style="">
<span class="pln">scp </span><span class="pun">-</span><span class="pln">r john@host</span><span class="pun">.</span><span class="pln">com</span><span class="pun">:</span><span class="str">/main/</span><span class="pln">john</span><span class="pun">/</span><span class="pln">documents </span><span class="pun">/</span><span class="pln">main</span><span class="pun">/</span><span class="pln">john</span><span class="pun">/</span><span class="pln">downloads</span><span class="pun">/</span><span class="pln">documents</span></pre>

<p>
	سينسخ الأمر التالي الملف البعيد "main/john/archive.zip/" على المضيف البعيد "host.com" إلى مسار العمل المحلي، وستُهيأ العملية للمستخدم "john"، ويُحدَّد الحد الأعلى للنقل إلى 200 كيلوبت بالثانية.
</p>

<pre class="ipsCode prettyprint lang-javascript prettyprinted" id="ips_uid_1038_36" style="">
<span class="pln">scp </span><span class="pun">-</span><span class="pln">l </span><span class="lit">200</span><span class="pln"> john@host</span><span class="pun">.</span><span class="pln">com</span><span class="pun">:</span><span class="str">/main/</span><span class="pln">john</span><span class="pun">/</span><span class="pln">archive</span><span class="pun">.</span><span class="pln">zip</span></pre>

<p>
	بينما ينسخ الأمر التالي الملف البعيد "files/file.zip/" على المضيف البعيد "1sthost.com" إلى المجلد البعيد أيضًا "archives/" على الخادم "2ndhost.com"، إذ سيُطلب إدخال كلمات المرور لكلٍ من الحسابات "john@1sthost.com" و "robert@2ndhost.com" على التوالي، وستُنقل الملفات مباشرةً بين المضيفين البعيدين.
</p>

<pre class="ipsCode">
scp john@1sthost.com:/files/file.zip robert@2ndhost.com:/archives
</pre>

<p>
	يشبه الأمر الأخير الأمر السابق، ولكن عوضًا عن نقل الملفات مباشرةً بين المضيفين البعيدين، ستُنقل الملفات عبر المضيف المحلي بينهما.
</p>

<pre class="ipsCode prettyprint lang-javascript prettyprinted" id="ips_uid_1038_38" style="">
<span class="pln">scp </span><span class="pun">-</span><span class="lit">3</span><span class="pln"> john@1sthost</span><span class="pun">.</span><span class="pln">com</span><span class="pun">:</span><span class="str">/files/</span><span class="pln">file</span><span class="pun">.</span><span class="pln">zip robert@2ndhost</span><span class="pun">.</span><span class="pln">com</span><span class="pun">:/</span><span class="pln">archives</span></pre>

<h2>
	خلاصة
</h2>

<p>
	يُعدّ الأمر SCP بسيطًا لكنه قوي، إذ يوفّر نقلًا آمنًا للملفات بين المضيف المحلي والبعيد، وهو يشبه <a href="https://academy.hsoub.com/devops/linux/%d9%83%d9%8a%d9%81-%d8%aa%d8%b3%d8%aa%d8%ae%d8%af%d9%90%d9%85-sftp-%d9%84%d9%86%d9%82%d9%84-%d8%a7%d9%84%d9%85%d9%84%d9%81%d9%91%d8%a7%d8%aa-%d8%a8%d8%a3%d9%85%d8%a7%d9%86-%d8%a5%d9%84%d9%89-%d8%ae%d8%a7%d8%af%d9%88%d9%85-%d8%a8%d8%b9%d9%8a%d8%af-r30/" rel="">SFTP</a> لأنه يعمل ضمن طبقة الجلسة ويستخدم المنفذ رقم 22.
</p>

<p>
	الأمر SCP مبنيٌ على <abbr title="Secure Shell | القشرة (أو الصَدَفة) الآمنة">SSH</abbr> وهو آمنٌ للغاية؛ فعلى عكس SFTP لا يمكن للأمر SCP عرض قائمة بالملفات الموجودة على الخادم البعيد أو حذفها؛ وعلى الرغم من عدم امتلاكه لتلك الميزة، لكنه يتميز بسرعة نقلٍ أعلى بكثير من SFTP.
</p>

<p>
	يفيد هذا الأمر المستخدمين الذين يتعاملون مع <a href="https://academy.hsoub.com/devops/security/ssh/%D8%AF%D9%84%D9%8A%D9%84-%D8%A8%D8%B5%D8%B1%D9%8A-%D9%84%D9%83%D9%8A%D9%81%D9%8A%D8%A9-%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85-%D8%A3%D9%86%D9%81%D8%A7%D9%82-ssh-r508/" rel="">بروتوكول <abbr title="Secure Shell | القشرة (أو الصَدَفة) الآمنة">SSH</abbr></a> كثيرًا، ويوفر سرعة في النقل دون الحاجة للاهتمام بإدارة الخادم البعيد.
</p>

<p>
	ترجمة -وبتصرف- للمقال "<a href="https://www.pcwdld.com/what-is-scp" rel="external nofollow">SCP – What is Secure Copy Protocol – Definition &amp; Example</a>" لصاحبه Marc Wilson.
</p>

<h2>
	اقرأ أيضًا
</h2>

<ul>
<li>
		<a href="https://academy.hsoub.com/devops/linux/%D9%83%D9%8A%D9%81-%D8%AA%D8%B3%D8%AA%D8%AE%D8%AF%D9%85-%D8%A7%D9%84%D8%A3%D9%85%D8%B1-scp-%D9%84%D8%AA%D8%A3%D9%85%D9%8A%D9%86-%D9%86%D8%B3%D8%AE-%D8%A7%D9%84%D9%85%D9%84%D9%81%D8%A7%D8%AA-%D8%A8%D9%8A%D9%86-%D8%A7%D9%84%D8%AE%D9%88%D8%A7%D8%AF%D9%8A%D9%85-r321/" rel="">كيف تستخدم الأمر scp لتأمين نسخ الملفات بين الخواديم</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/devops/security/ssh/%D8%B6%D8%A8%D8%B7-%D8%A5%D8%B9%D8%AF%D8%A7%D8%AF%D8%A7%D8%AA-%D8%AE%D8%AF%D9%85%D8%A9-ssh-%D8%B9%D9%84%D9%89-%D8%AE%D8%A7%D8%AF%D9%88%D9%85-%D9%84%D9%8A%D9%86%D9%83%D8%B3-r93/" rel="">ضبط إعدادات خدمة <abbr title="Secure Shell | القشرة (أو الصَدَفة) الآمنة">SSH</abbr> على خادوم لينكس</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/devops/servers/%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85-filezilla-%D9%84%D8%AA%D8%A8%D8%A7%D8%AF%D9%84-%D8%A7%D9%84%D9%85%D9%84%D9%81%D8%A7%D8%AA-%D8%A7%D9%84%D8%A2%D9%85%D9%86-%D9%85%D8%B9-%D8%A7%D9%84%D8%AE%D8%A7%D8%AF%D9%85-r604/" rel="">استخدام FileZilla لتبادل الملفات الآمن مع الخادم</a>
	</li>
</ul>
]]></description><guid isPermaLink="false">617</guid><pubDate>Thu, 26 May 2022 17:23:12 +0000</pubDate></item><item><title>&#x62E;&#x62F;&#x645;&#x629; Active Directory: &#x62F;&#x644;&#x64A;&#x644; &#x627;&#x644;&#x645;&#x635;&#x637;&#x644;&#x62D;&#x627;&#x62A; &#x648;&#x627;&#x644;&#x62A;&#x639;&#x627;&#x631;&#x64A;&#x641; &#x648;&#x627;&#x644;&#x623;&#x633;&#x627;&#x633;&#x64A;&#x627;&#x62A;</title><link>https://academy.hsoub.com/devops/networking/%D8%AE%D8%AF%D9%85%D8%A9-active-directory-%D8%AF%D9%84%D9%8A%D9%84-%D8%A7%D9%84%D9%85%D8%B5%D8%B7%D9%84%D8%AD%D8%A7%D8%AA-%D9%88%D8%A7%D9%84%D8%AA%D8%B9%D8%A7%D8%B1%D9%8A%D9%81-%D9%88%D8%A7%D9%84%D8%A3%D8%B3%D8%A7%D8%B3%D9%8A%D8%A7%D8%AA-r616/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2022_05/628fb6a36f6b4_--Active-Directory----.png.cc97341829af25156894c4137da84895.png" /></p>
<p>
	قبل وجود خدمة Active Directory كان عليك إذا احتجت الوصول لملفٍ مُشاركٍ على الشبكة أن تعرف اسم أو عنوان IP للخادم الذي يحتويه ومسار الملف واسمه؛ وقد يفي هذا الحل بالغرض ضمن الشبكات الصغيرة، لكنه لا يبقى حلًا عمليًا يمكن توسيعه مع نمو حجم الشبكة.
</p>

<p>
	تساعد اليوم خدمة AD في حل هذه المشكلة من خلال تعيين كل أسماء موارد الشبكة، مثل الملفات والمجلدات والطابعات والخوادم المُشاركة وغيرها إلى عناوينها، وتلعب اليوم خدمة الدليل مثل خدمة Active Directory دورًا مهمًا في الشبكات الكبيرة، مثل شبكات المنظمات أو الشركات، إذ تدعم خدمة AD جميع العمليات والتطبيقات الهامة تقريبًا، مثل إضافة وإزالة الموارد وتخطيط السعة والأمان وخدمات الشبكة وإدارة الموارد وغيرها.
</p>

<p>
	سنستعرض في هذا المقال قائمةً بالمصطلحات والمفاهيم الأساسية في عالم خدمة Active Directory، إذ ستساعدك هذه القائمة إذا كنت مبتدئًا في فهم المفاهيم الأساسية في هذا المجال.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="jpg" data-fileid="98939" href="https://academy.hsoub.com/uploads/monthly_2022_05/Active-Directory.jpg.a23a5b12dfb0300ca74cc034d8fe2e19.jpg" rel=""><img alt="Active-Directory.jpg" class="ipsImage ipsImage_thumbnailed" data-fileid="98939" data-unique="uzgbaxdty" style="width: 500px; height: auto;" src="https://academy.hsoub.com/uploads/monthly_2022_05/Active-Directory.jpg.a23a5b12dfb0300ca74cc034d8fe2e19.jpg"></a>
</p>

<h2>
	أساسيات خدمة Active Directory
</h2>

<h3>
	خدمة الدليل Directory
</h3>

<p>
	<strong>خدمة الدليل</strong> هي مخزنٌ للمعلومات، مبنيٌ بهيكلٍ هرمي، يتيح إمكانية التخزين والبحث وإدارة الموارد بصورةٍ سريعة ضمن الشبكة، ويُعد كل موردٍ ضمن الشبكة كائنًا.
</p>

<p>
	من المهم الانتباه أن خدمة الدليل أكثر من مجرد قاعدةٍ للبيانات، فهي "خدمةٌ" كما يدل اسمها؛ بينما قاعدة البيانات هي مخزن معلومات فيزيائي يمكن الوصول إليه وتخزينه ضمن نظام جهاز الحاسوب؛ وتستخدم خدمة الدليل قاعدة البيانات للطلب والحصول على معلوماتٍ عن الكائن.
</p>

<h3>
	خدمة Active Directory
</h3>

<p>
	خدمة Active Directory -أو اختصارًا AD-، ويُطلق عليها أحيانًا <a href="https://ar.wikipedia.org/wiki/%D8%A3%D9%83%D8%AA%D9%8A%D9%81_%D8%AF%D9%8A%D8%B1%D9%8A%D9%83%D8%AA%D9%88%D8%B1%D9%8A" rel="external nofollow">الدليل النشط</a> هي خدمة دليل لشبكات نطاق ويندوز، حيث تأتي ضمن أي خادم ويندوز مثبَّت عليه دور خدمات نطاق الدليل النشط Active Directory Domain Services -أو اختصارًا AD DS.
</p>

<p>
	يُستخدم AD بالأساس لتخزين وإعطاء الأذونات وإدارة معلومات عن المستخدمين ومواردهم، ويمكن له تخزين تلك المعلومات مثل كائنات، إذ يُعد الكائن موردًا ضمن الشبكة، مثل حسابات المستخدم وكلمات المرور وأجهزة الحاسوب والتطبيقات والطابعات، إضافةَ إلى مشاركات الملفات أو المجلدات ومجموعات الأمان وأذوناتها.
</p>

<p>
	أما متحكم نطاق ويندوز Domain Controller -أو اختصارًا DC-، فهو خادمٌ يلعب دور خدمات نطاق الدليل النشط AD DS ويمثِّل البرمجية أو العتاد الذي يوفِّر مجموعة خدمات AD، إذ أن الوظيفة الأساسية لمتحكم النطاق هي الاستيثاق والتحقُّق من كل المستخدمين ومواردهم ضمن نطاق شبكة ويندوز.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="jpg" data-fileid="98945" href="https://academy.hsoub.com/uploads/monthly_2022_05/Directory-Service-1024x303.jpg.81efd9a493b7e85aa00ed2297bd0ef05.jpg" rel=""><img alt="Directory-Service-1024x303.jpg" class="ipsImage ipsImage_thumbnailed" data-fileid="98945" data-unique="s5w4wz3ci" style="width: 500px; height: auto;" src="https://academy.hsoub.com/uploads/monthly_2022_05/Directory-Service-1024x303.thumb.jpg.1ca9b73f1c0113800302e9f6eaa36c4b.jpg"></a>
</p>

<p>
	يُعد تسجيل دخول المستخدم إلى جهاز حاسوب يمثِّل جزءًا من نطاق ويندوز أفضل مثال حول AD، إذ يتحقق AD عندها من الاعتماديات المُدخلة مع تلك المُخزنة ضمن قاعدة البيانات، وفي حال صحة اسم المستخدم وكلمة المرور يتمكَّن المستخدم من تسجيل دخوله إلى ذلك الجهاز.
</p>

<div class="banner-container ipsBox ipsPadding">
	<div class="inner-banner-container">
		<p class="banner-heading">
			دورة علوم الحاسوب
		</p>

		<p class="banner-subtitle">
			دورة تدريبية متكاملة تضعك على بوابة الاحتراف في تعلم أساسيات البرمجة وعلوم الحاسوب
		</p>

		<div>
			<a class="ipsButton ipsButton_large ipsButton_primary ipsButton_important" href="https://academy.hsoub.com/learn/computer-science/" rel="">اشترك الآن</a>
		</div>
	</div>

	<div class="banner-img">
		<img alt="دورة علوم الحاسوب" src="https://academy.hsoub.com/learn/assets/images/courses/computer-science.png">
	</div>
</div>

<h3>
	البروتوكول الخفيف للوصول إلى الدليل LDAP
</h3>

<p>
	<strong>البروتوكول الخفيف للوصول إلى الدليل Lightweight Directory Access Protocol -أو اختصارًا LDAP-</strong>، هو بروتوكول مفتوح ومتعدد المصنعين، ويُستخدم للوصول إلى خدمات الدليل واستيثاقها، كما يوفِّر صيغةً للتطبيقات والأنظمة للتفاعل مع خدمات الدليل، أي يوفرطريقةً للتواصل مع خدمة الدليل.
</p>

<p>
	يستخدم Active Directory بروتوكول LDAP بالإصدارين 2 و 3 مثل بروتوكولاتٍ للوصول، إذ يوفِّر LDAP الاستيثاق من خلال نموذج خادم / عميل، ويعمل فوق حزمة بروتوكولات الانترنت TCP/IP، ويدعم استيثاق Kerberos وطبقة الاستيثاق والحماية البسيطة Simple Authentication Security Layer -أو اختصارًا SASL-.
</p>

<h3>
	خدمات ويب Active Directory
</h3>

<p>
	قُدّمت خدمات ويب خدمة Active Directory، أو Active Directory Web Services، -أو اختصارًا ADWS- لأول مرةٍ مع نسخة ويندوز 2008 R2، فهي تسمح بالإدارة من بعيد لأي نطاقات Active Directory محلية وخدمات الدليل الخفيفة ضمن Active Directory، أو Active Directory Lightweight Directory Services، -أو اختصارًا ADLDS-، ونُسخٌ لأداة تثبيت قاعدة بيانات Active Directory.
</p>

<p>
	يستخدم ADWS بروتوكول WS على المنفذ رقم 9389 وهو غير مرتبط بمنافذ <a href="https://academy.hsoub.com/programming/general/%d9%85%d8%af%d8%ae%d9%84-%d8%a5%d9%84%d9%89-http-r73/" rel="">بروتوكول HTTP</a>، مثل المنفذ 80، أو 443.
</p>

<h3>
	وكيل نظام الدليل DSA
</h3>

<p>
	تتألف نسخة Active Directory من قاعدة بياناتها وبرنامج يدعى <strong>وكيل نظام الدليل Directory System Agent، -أو اختصارًا DSA-</strong>، إذ يتألف هذا البرنامج من مجموعةٍ من الخدمات والعمليات التي تتيح الوصول لمخزن البيانات الذي يطلبه بروتوكول LDAP، وهو المسؤول عن إتاحة الوصول لقسم من الدليل الذي يطلبه وكيل مستخدم الدليل.
</p>

<h3>
	بنية خدمة Active Directory
</h3>

<p>
	تنظِّم خدمة Active Directory كل موارد الشبكة ضمن بنيةٍ منطقية، إذ يكون النموذج المنطقي هذا مستقلٌ عن البنية الفيزيائية للشبكة؛ وبمعنى آخر: لا يهتم AD بهيكلية topology الشبكة أو عدد متحكّمات النطاق فهو يشكّل الموارد ببنيةٍ منطقية، وبدلًا من العثور على المورد بواسطة مكانه الفيزيائي، يسمح AD للمستخدمين بالعثور عليه عن طريق الاسم.
</p>

<p>
	يسمح Active Directory بتنظيم عناصر الشبكة، مثل المستخدمين وأجهزة الحاسوب ضمن البنية الهرمية المنطقية له، إذ توجد في أعلى الهرم الغابة، وتأتي بعدها الأشجار التي تشمل نطاقًا واحدًا أو أكثر، ويوجد ضمن النطاق الوحدات التنظيمية Organizational Units -أو اختصارًا OU-.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="jpg" data-fileid="98935" href="https://academy.hsoub.com/uploads/monthly_2022_05/Active-Directory-Structure-1024x764.jpg.9b31606ad2e3b77fc70ca67eca7e08d5.jpg" rel=""><img alt="Active-Directory-Structure-1024x764.jpg" class="ipsImage ipsImage_thumbnailed" data-fileid="98935" data-unique="ookzcddys" style="width: 400px; height: auto;" src="https://academy.hsoub.com/uploads/monthly_2022_05/Active-Directory-Structure-1024x764.thumb.jpg.59a9e182ac17231d649800875d423d9c.jpg"></a>
</p>

<h3>
	كائنات Active Directory
</h3>

<p>
	تتشكل بنية Active Directory من خلال مجموعات معلومات تسمَّى أيضًا <strong>الكائنات</strong>، إذ يمثِّل كل كائنٍ منها عنصرًا مميزًا ضمن الشبكة، مثل مستخدمٍ أو جهاز حاسوب، ويُوصف عن طريق مجموعةٍ من الخصائص؛ فيمكن مثلًا تحديد كائن المستخدم بواسطة الاسم والمعرّف والعنوان ورقم الهاتف وغيرها من الخصائص.
</p>

<p>
	يمكن تقسيم تلك الكائنات ضمن فئتين:
</p>

<ol>
	<li>
		<strong>موارد</strong>، إذ يمكن أن تكون الكائنات ضمن هذه الفئة طابعات، أو أجهزة حاسوب، أو أجهزة مشتركة.
	</li>
	<li>
		<strong>مبادئ أمان</strong>، إذ يمكن أن تكون الكائنات ضمن هذه الفئة مستخدمين، أو كلمات مرور، أو مجموعات، أو غيرها، أو أي كائنٍ يحتاج استيثاقًا أو يمكن إعطاؤه أذونات.
	</li>
</ol>

<p>
	يحجز AD <strong>معرّف أمان Security Identifier -أو اختصارًا SID-</strong> فريد لكل كائنٍ من كائنات مبادئ الأمان، إذ يُستخدم SID للسماح أو منع وصول الكائن للموارد ضمن النطاق.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="jpg" data-fileid="98933" href="https://academy.hsoub.com/uploads/monthly_2022_05/active-directory-objects.jpg.d905799462e0b27b004772e983ff9f94.jpg" rel=""><img alt="active-directory-objects.jpg" class="ipsImage ipsImage_thumbnailed" data-fileid="98933" data-unique="5oeqeriii" style="width: 700px; height: auto;" src="https://academy.hsoub.com/uploads/monthly_2022_05/active-directory-objects.thumb.jpg.9cceaff60f5c55a5ab8524af268bab47.jpg"></a>
</p>

<p>
	الكائنات المدعومة افتراضيا في خدمة Active Directory هي:
</p>

<ul>
	<li>
		<strong>المستخدمون Users:</strong> وهم الكائنات المُسندة للأفراد الذين هم بحاجة للوصول لموارد النطاق، إذ يمتلك حساب المستخدم اسم مستخدم وكلمة مرور.
	</li>
	<li>
		<strong>أجهزة الحاسوب Computers:</strong> والتي تُمثِّل منصة عمل أو خادم ضمن النطاق.
	</li>
	<li>
		<strong>جهات الاتصال Contacts:</strong> تحوي معلومات عن جهات اتصال خارجية، ولا يمتلك هذا الكائن SID لذا فهو لا ينتمي للنطاق.
	</li>
	<li>
		<strong>المجموعات Groups:</strong> تمثِّل هذه الكائنات مجموعةً من حسابات المستخدمين أو أجهزة الحاسوب أو جهات الاتصال، ويوجد منها نوعان، هما مجموعات الأمان ومجموعات التوزيع، إذ تسهِّل المجموعات إدارة عدة كائنات معًا ضمن وحدةٍ مفردة.
	</li>
	<li>
		<strong>المجلد المُشارك Shared folder:</strong> يُعيَّن هذا الكائن لمشاركة الخادم ويُستخدم لمشاركة الملفات على كامل الشبكة.
	</li>
	<li>
		<strong>الطابعات Printer:</strong> يمثِّل هذا الكائن طابعةً مشتركةً ضمن النطاق.
	</li>
	<li>
		<strong>الوحدات التنظيمية OU:</strong> يمثِّل هذا النوع من الكائنات حاويةً يمكن أن تتضمن كائناتٍ أخرى، مثل المستخدمين وأجهزة الحاسوب والمجموعات من نفس النطاق؛ وتُستخدم OU لتخزين الكائنات المتشابهة معًا لتسهيل إدارتها؛ كما تُستخدم أيضًا لتطبيق إعدادات سياسات المجموعة والأذونات على كامل الحاوية.
	</li>
</ul>

<h3>
	الفرق بين الوحدات التنظيمية والمجموعات
</h3>

<p>
	من الضروري التأكيد على الفروقات بين مجموعات الكائنات والوحدات التنظيمية OU، إذ صُمِّمت المجموعات للسماح أو لمنع الوصول للموارد؛ أما الهدف الأساسي من OU فهو التحكم بالكائن من خلال سياسة المجموعة Group Policy -أو اختصارًا GPO-، أو الأذونات؛ لكن هناك فرقٌ آخر وهو استخدام المجموعات معرّفات SID، بينما OU لا تستخدمها، إذ لا يمكن وضعها ضمن المجموعة.
</p>

<h3>
	خصائص تسمية المستخدم
</h3>

<p>
	يمكن تحسين الأمان ضمن خدمة Active Directory من خلال مجموعة من خصائص التسمية للمستخدم التي تساعد في تعريف كائنات المستخدم، مثل اسم تسجيل الدخول، أو المعرّف ID. نوضح فيما يلي بعضًا من <strong>خصائص التسمية الهامة ضمن خدمة AD</strong>:
</p>

<ul>
	<li>
		<strong>UserPrincipalName -أو اختصارًا UPN-:</strong> وهو اسم تسجيل الدخول الأساسي للمستخدم، إذ يُستخدم عادةً عنوان البريد الإلكتروني للمستخدم قيمةً له.
	</li>
	<li>
		<strong>ObjectGUID:</strong> وهو معرّفٌ مميزٌ للمستخدم، إذ لا يتغير اسم الخاصية ObjectGUID ضمن خدمة AD ويبقى مميزًا حتى لو أُزيل المستخدم.
	</li>
	<li>
		<strong>SAMAccountName:</strong> وهو اسم تسجيل دخول يدعم الإصدارات السابقة لعملاء وخوادم ويندوز.
	</li>
	<li>
		<strong>ObjectSID:</strong> وهو معرّف الأمان للمستخدم SID، إذ تُستخدم هذه الخاصية لتعريف المستخدم وعضويته في المجموعة خلال التعاملات الأمنية مع الخادم.
	</li>
	<li>
		<strong>SIDHistory:</strong> تمثِّل الخاصية معرّفات الأمان SIDs السابقة للمستخدم.
	</li>
</ul>

<h3>
	النطاقات
</h3>

<p>
	تمثل النطاقات الوحدات البنيوية الأساسية ضمن خدمة Active Directory، وهي مجموعةٌ من الكائنات تشكِّلها قاعدة البيانات باستخدام معلومات المعرف ID للكائن، ويمكن لنطاق خدمة AD أن يحتوي على عِدّة نطاقات فرعية تُسمى أيضًا <strong>نطاقات الأبناء</strong>.
</p>

<p>
	يستخدم النطاق نموذج الاتصال خادم - عميل، إذ يوفِّر هذا النموذج الأمان بحيث يمكن تعيين الأذونات من النطاق (<a href="https://academy.hsoub.com/devops/servers/%D9%85%D8%AF%D8%AE%D9%84-%D8%A5%D9%84%D9%89-%D8%AE%D8%A7%D8%AF%D9%85-%D8%A7%D9%84%D9%88%D9%8A%D8%A8-r574/" rel="">الخادم</a>) إلى مختلف المستخدمين والمجموعات (العملاء)، ويستخدم متحكم النطاق خدمات الأمان التي توفِّر الاستيثاق والتحقُّق لموردٍ معين.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="98928" href="https://academy.hsoub.com/uploads/monthly_2022_05/Active-Directory-Domain-Services-Configuration-Wizard.png.7591dd20ccc9040953e1b6068ef2ee52.png" rel=""><img alt="Active-Directory-Domain-Services-Configuration-Wizard.png" class="ipsImage ipsImage_thumbnailed" data-fileid="98928" data-unique="5x4grdg86" style="width: 600px; height: auto;" src="https://academy.hsoub.com/uploads/monthly_2022_05/Active-Directory-Domain-Services-Configuration-Wizard.png.7591dd20ccc9040953e1b6068ef2ee52.png"></a>
</p>

<p>
	صفات شائعة لنطاق AD:
</p>

<ul>
	<li>
		تكوِّن مجموعةٌ من النطاقات شجرة.
	</li>
	<li>
		يمكن إعداد سياسة المجموعة لكامل النطاق، لكنها تُطبَّق عادةً على وحدة تنظيمية OU.
	</li>
	<li>
		يمكن تعريف نطاق AD من خلال اسم خادم، أو <a href="https://academy.hsoub.com/devops/servers/%d9%85%d9%82%d8%af%d9%91%d9%85%d8%a9-%d8%a5%d9%84%d9%89-%d9%85%d9%8f%d8%b5%d8%b7%d9%8e%d9%84%d8%ad%d8%a7%d8%aa-%d9%88%d8%b9%d9%86%d8%a7%d8%b5%d8%b1-%d9%88%d9%85%d9%81%d8%a7%d9%87%d9%8a%d9%85-%d9%86%d8%b8%d8%a7%d9%85-%d8%a3%d8%b3%d9%85%d8%a7%d8%a1-%d8%a7%d9%84%d9%86%d8%b7%d8%a7%d9%82%d8%a7%d8%aa-r5/" rel="">اسم النطاق DNS</a>، أو النطاق الفرعي له، وعند إعداد AD لأول مرة ستحتاج لإنشاء اسم للنطاق الجذر.
	</li>
</ul>

<p>
	وعلى سبيل المثال، يمكن أن يكون اسم نطاق خدمة Active Directory هو "ad-internal.company.com"، إذ أن الاسم "ad-internal" هو الاسم المُستخدم لنطاق AD الداخلي خاصتك، و "company.com" هو اسم مواردك الخارجية.
</p>

<h3>
	اسم النطاق الكامل FQDN
</h3>

<p>
	يمكن استخدام اسم النطاق الكامل Fully Qualified Domain Name -أو اختصارًا FQDN لتسمية كائنٍ ضمن النطاق؛ وهو اسمٌ مميزٌ لمضيفٍ أو جهاز حاسوب ضمن النطاق، ويتألف من اسم المضيف واسم النطاق. وعلى سبيل المثال، يكون اسم النطاق الكامل لجهاز حاسوب ضمن النطاق "sales-internal.company.com" بالاسم "WORKSTATION-040" هو "WORKSTATION-040.sales-internal.company.com".
</p>

<h3>
	الأشجار
</h3>

<p>
	شجرة AD هي مجموعةٌ من النطاقات ضمن شبكة Active Directory تشترك فيما بينها ببنية تسمية DNS مشتركة، وتُنشِئ الشجرة حدودًا منطقيةً بين عدّة نطاقات، إذ تُستخدم كلمة شجرة لأن لكل نطاقٍ أبٌ واحدٌ فقط، وهذا ما يشكّل بنيةً لها شكل وهرمية الشجرة، وتشكِّل مجموعةً من تلك الأشجار غابة.
</p>

<h3>
	الغابات
</h3>

<p>
	غابة AD هي مجموعةٌ من شجرةٍ أو أكثر من أشجار AD، وهي أعلى حاوية ضمن البنية الهرمية وتُنشئ فصلًا منطقيًا بين الأشجار، إذ تتألف من شجرةٍ واحدة بنطاقٍ واحد، أو عدة أشجار بنطاقات متعددة، وعند إنشاء أول نطاق ضمن AD يُولّد له غابةً افتراضيًا.
</p>

<p>
	تتشارك الأشجار ضمن الغابة بالمخطط schema نفسه، مما يعني أن كل محتويات الكائنات ستكون نفسها ضمن كل النطاقات في الغابة.
</p>

<p>
	ومن صفات الغابة الأخرى هي ثقة النطاقات ضمنها ببعضها افتراضيًا.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="jpg" data-fileid="98948" href="https://academy.hsoub.com/uploads/monthly_2022_05/Domain-Forest-1024x472.jpg.399b282569baacafb846a8c702a64634.jpg" rel=""><img alt="Domain-Forest-1024x472.jpg" class="ipsImage ipsImage_thumbnailed" data-fileid="98948" data-unique="hax7pkye9" style="width: 500px; height: auto;" src="https://academy.hsoub.com/uploads/monthly_2022_05/Domain-Forest-1024x472.thumb.jpg.4119806603efd8dceaf43418a9c493bd.jpg"></a>
</p>

<h3>
	المجموعات
</h3>

<p>
	المجموعة في Active Directory هي مجموعةٌ من الكائنات، مثل المستخدمين وأجهزة الحاسوب وجهات الاتصال؛ إذ تتيح المجموعات إدارةً أسهل وأمانًا أفضل، فبدلًا من إدارة كل كائنٍ على حدى يمكن للمدير التحكم بكل الكائنات معًا؛ وتُستخدم المجموعات كثيرًا لتعيين الأذونات للكائنات ضمن النطاق.
</p>

<p>
	يوجد نوعان من المجموعات في AD، هما:
</p>

<ul>
	<li>
		<strong>مجموعة الأمان:</strong> تُستخدم لمنح أو منع الوصول لمواردٍ معينة ضمن النطاق.
	</li>
	<li>
		<strong>مجموعات التوزيع:</strong> تُستخدم لتوزيع البريد الإلكتروني والرسائل لكامل المجموعة، ولم تُصمم هذه المجموعة لمنح صلاحية الوصول للموارد.
	</li>
</ul>



<div class="banner-container ipsBox ipsPadding">
	<div class="inner-banner-container">
		<p class="banner-heading">
			هل ترغب في إدارة شبكتك وحمايتها وتحديثها باستمرار؟
		</p>

		<p class="banner-subtitle">
			وظّف مهندس شبكات خبير من مستقل
		</p>

		<div>
			<a class="ipsButton ipsButton_large ipsButton_primary ipsButton_important" href="https://mostaql.com/freelancers/skill/network-administration" rel="external">أضف مشروعك الآن</a>
		</div>
	</div>
</div>



<h3>
	نطاقات المجموعة
</h3>

<p>
	يمكن تصنيف كلٍ من مجموعات الأمان والتوزيع ضمن ثلاث نطاقات scopes مجموعة، وهي: المجموعات العالمية Universal Groups، أو العامة Global، أو مجموعات النطاق المحلي Domain Local Groups؛ إذ يعرِّف نطاق المجموعة المكان الذي يمكن استخدام المجموعة فيه ضمن الشبكة؛ كما أنه المستوى الذي تصل إليه المجموعة ضمن النطاق أو الشجرة أو الغابة؛ ويمكنه أيضًا تعيين أعضاء المجموعة.
</p>

<ul>
	<li>
		<strong>المجموعات العامة:</strong> تحوي كائنات، مثل المستخدم وحسابات جهاز الحاسوب ضمن النطاق المحلي، ويمكن استخدام هذه المجموعات لمنح الوصول للكائنات المحلية إلى النطاق، أو الشجرة، أو الغابة.
	</li>
	<li>
		<strong>مجموعات النطاق المحلي:</strong> يمكن أن تحتوي على كائنات من أي نطاق، ويمكن لأعضاء المجموعة الوصول للموارد ضمن النطاق المحلي.
	</li>
	<li>
		<strong>المجموعات العالمية:</strong> تحتوي على كائنات أعضاء ضمن المجموعة من مجموعات نطاق أخرى، أو أي نطاق ضمن الشجرة، أو الغابة، ويمكن لأعضاء هذه المجموعة الوصول لأي موردٍ ضمن النطاق.
	</li>
</ul>

<h3>
	مخطط Active Directory
</h3>

<p>
	يصِف مخطط AD القواعد عن نوع صنف الكائن مع بعض الخصائص الممكن تخزينها في AD، إذ يشبه المخطط نسقًا layout يحدِّد المحتوى والبنية لأصناف الكائنات.
</p>

<p>
	كل كائن يُنشَأ ضمن خدمة Active Directory هو نسخةٌ من صنف الكائن، فمثلًا "كائن المستخدم User Object" هو نسخةٌ من "صنف المستخدم User Class". وعند إنشاء مستخدمٍ جديد، سيكون الكائن ضمن الصنف "User"، وسيحتاج لخصائصٍ بعضها إجباري والآخر اختياري وذلك بحسب المخطط.
</p>

<p>
	يتألف المخطط من عدة عناصر:
</p>

<ul>
	<li>
		أصناف كائن المخطط.
	</li>
	<li>
		خصائص المخطط.
	</li>
	<li>
		صيغ.
	</li>
	<li>
		أذونات التحكم بالوصول.
	</li>
</ul>

<h3>
	المستويات الوظيفية
</h3>

<p>
	المستويات الوظيفية ضمن Active Directory هي متحكماتٌ تحدِّد مزايا خدمات النطاق ضمن Active Directory الممكن استخدامها ضمن النطاق أو الغابة، كما تحدد أيضًا إصدار نظام خادم ويندوز الممكن تشغيله على متحكمات النطاق. يفضَّل عند نشر AD DS تحديد المستويات الوظيفية للنطاق والغابة إلى أعلى قيمة للسماح بآخر وأفضل المزايا المُتاحة ضمن Active Directory.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="98929" href="https://academy.hsoub.com/uploads/monthly_2022_05/Active-Directory-Domain-Services-Installation-Wizard.png.7adbb53fb468cbb6751819b8673ac629.png" rel=""><img alt="Active-Directory-Domain-Services-Installation-Wizard.png" class="ipsImage ipsImage_thumbnailed" data-fileid="98929" data-unique="fkgbe5e0g" src="https://academy.hsoub.com/uploads/monthly_2022_05/Active-Directory-Domain-Services-Installation-Wizard.png.7adbb53fb468cbb6751819b8673ac629.png"></a>
</p>

<h3>
	أدوار العملية الرئيسية الوحيدة المرنة FSMO
</h3>

<p>
	تسمح أدوار العملية الرئيسية الوحيدة المرنة Flexible Single Master Operation -أو اختصارًا FSMO- لمتحكمات النطاق Domain Controllers -أو اختصارًا DCs-، بالاستيثاق من المستخدمين وإعطائهم الأذونات دون مقاطعة؛ أي أن مسؤوليات DC للاستيثاق والتصريح منفصلةٌ إلى أدوارٍ مختلفة وموزعةٌ على عدَّة متحكمات DC، إذ يوفِّر الفصل في الأدوار هذا وجود عدة متحكمات في الخدمة في حال تعطُّل إحداها.
</p>

<p>
	يوجد خمسة أدوار مختلفة للعملية الرئيسية الوحيدة المرنة FSMO:
</p>

<ol>
	<li>
		<strong>المخطط الرئيس Schema Master:</strong> وهو دورٌ على مستوى المؤسسة، إذ يوجد مخططٌ رئيسٌ واحدٌ فقط ضمن كل الغابة يمكنه معالجة التغييرات على المخطط.
	</li>
	<li>
		<strong>رئيس تسمية النطاق Domain Naming Master:</strong> وهو دورٌ على مستوى المؤسسة أيضًا، إذ يوجد رئيس تسمية نطاق واحدٍ فقط مسؤولٌ عن إدارة أسماء النطاق.
	</li>
	<li>
		<strong>مُقلِّد متحكم النطاق الرئيسي Primary Domain Controller Emulator -أو اختصارًا PDC-:</strong> وهو دورٌ على مستوى النطاق، ويعالج طلبات الاستيثاق وتغييرات كلمات المرور وكائنات سياسة المجموعة، كما يتيح التوقيت الحالي. يكون متحكم النطاق DC، والذي يملك دور مُقلِّد PDC هو المتحكم صاحب أعلى سلطة ضمن النطاق.
	</li>
	<li>
		<strong>المعرّف النسبي الرئيس Relative Identifier Master:</strong> وهو دورٌ على مستوى النطاق، ومسؤولٌ عن الحفاظ على كتل SID وتعيينها لمتحكمات النطاق ضمن النطاق.
	</li>
	<li>
		<strong>رئيس البنية التحتية Infrastructure Master:</strong> وهو دورٌ على مستوى النطاق يترجم معرّفات GUID و SID و DN بين النطاقات، ويُشار إلى هذا الدور من قِبل كائناتٍ أخرى ضمن النطاقات الأخرى.
	</li>
</ol>

<h3>
	سلة مهملات خدمة Active Directory
</h3>

<p>
	وهي ميزةٌ إضافية أتت مع خادم ويندوز 2012 R2، إذ تسمح باستعادة الكائنات المحذوفة مع خصائصها؛ فإذا حذفت مثلًا حسابات المستخدمين ضمن النطاق عن طريق الخطأ، فستسمح سلة المهملات باستعادتها مع عضويتها ضمن المجموعات وأذونات الوصول الخاصة بهم وغيرها من الخصائص.
</p>

<h3>
	متحكم النطاق للقراءة فقط RODC
</h3>

<p>
	متحكم النطاق للقراءة فقط Read-Only Domain Controller -أو اختصارًا RODC- هو خادمٌ يخزن نسخةً للقراءة فقط من قاعدة بيانات نطاق AD، والغرض الأساسي من RODC هو زيادة الأمان الفيزيائي ضمن المكاتب الفرعية عبر الوظائف التالية:
</p>

<ul>
	<li>
		خصائص القراءة فقط.
	</li>
	<li>
		حماية خادم DNS.
	</li>
	<li>
		إدارة كلمات المرور والحماية.
	</li>
	<li>
		التفويض لدور المسؤول.
	</li>
</ul>

<h3>
	مجلد SYSVOL
</h3>

<p>
	مجلد SYSVOL هو مجلدٌ مشتركٌ ضمن كل متحكم نطاق DC يمكنه تخزين معلومات من Active Directory ونسخها إلى متحكمات النطاق، إذ يوفِّر SYSVOL المكان الذي يمكن لمتحكمات النطاق نسخ البيانات إليه بين بعضها.
</p>

<h3>
	خدمات Active Directory
</h3>

<p>
	توفر خدمة Active Directory عدَّة خدمات جاهزة لإدارة الهويات والأذونات والوصول لموارد الشبكة، والخدمات AD المُتاحة على خادم ويندوز 2008 وخادم ويندوز 2008 R2، هي:
</p>

<ul>
	<li>
		خدمات الشهادة Active Directory Certificate Services -أو اختصارًا AD CS-.
	</li>
	<li>
		خدمات النطاق Active Directory Domain Services -أو اختصارًا AD DS-.
	</li>
	<li>
		خدمات الاتحاد Active Directory Federation Services -أو AD FS.
	</li>
	<li>
		خدمات الدليل الخفيفة Active Directory Lightweight Directory Services -أو اختصارًا AD LDS.
	</li>
	<li>
		خدمات إدارة الأذونات Active Directory Rights Management Services -أو اختصارًا AD RMS.
	</li>
</ul>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="jpg" data-fileid="98925" href="https://academy.hsoub.com/uploads/monthly_2022_05/Active-Directory-Central-Management-1024x505.jpg.a9e3628270da0fca5d42af994b552ca1.jpg" rel=""><img alt="Active-Directory-Central-Management-1024x505.jpg" class="ipsImage ipsImage_thumbnailed" data-fileid="98925" data-unique="liq6nw9ox" style="width: 500px; height: auto;" src="https://academy.hsoub.com/uploads/monthly_2022_05/Active-Directory-Central-Management-1024x505.thumb.jpg.7d2d088834299d15348e0cb8dc5de15e.jpg"></a>
</p>

<h3>
	خدمات نطاق Active Directory
</h3>

<p>
	تلعب خدمات نطاق AD DS الدور الأكثر شهرةً لخادم ضمن Active Directory، وهي خدمة الدليل التي توفِّر التقنية اللازمة لتخزين بيانات الدليل وإتاحة تلك البيانات، كما توفّر إدارةً لها لكل المستخدمين النهائيين.
</p>

<h3>
	خدمات الاتحاد ضمن Active Directory
</h3>

<p>
	تُعد خدمات الاتحاد AD FS حلًا لخدمات لإدارة الهوية؛ فهي تتيح ميزة التحكم بالوصول لتطبيقات الويب ومواقع الويب وموارد متعددة ضمن الشبكة من خلال تسجيل الدخول لمرةٍ واحدة Single-Sign-On -أو اختصارًا SSO-؛ وتوفّر المرونة عند محاولة الوصول لعدة موارد، إذ يحتاج المستخدم النهائي فقط لتذكُّر اعتماديات ما واستخدامها نفسها ضمن جميع الموارد. عندما يسجل المستخدم دخوله إلى جهاز ما، يمكن استخدام إدّعاء الاستيثاق من قِبل تطبيقات طرف ثالث نيابةً عن AD، إذ يرسل AD FS إدّعاء الاستيثاق هذا بدلًا من الاعتماديات.
</p>

<h3>
	خدمات إدارة الأذونات ضمن Active Directory
</h3>

<p>
	تُعد خدمات إدارة الأذونات AD RMS حلًا للتحكُّم بالوصول للبيانات وحماية المستندات، مثل رسائل البريد الإلكتروني ومستندات برامج أوفيس وصفحات الويب باستخدام <a href="https://academy.hsoub.com/apps/general/%D8%A7%D9%84%D8%AA%D8%B4%D9%81%D9%8A%D8%B1-%D9%88%D8%A7%D8%B3%D8%AA%D8%B9%D9%85%D8%A7%D9%84%D8%A7%D8%AA%D9%87-%D9%81%D9%8A-%D8%A7%D9%84%D8%B9%D8%A7%D9%84%D9%85-%D8%A7%D9%84%D8%B1%D9%82%D9%85%D9%8A-r380/" rel="">التشفير</a>، كما يمكنها تطبيق سياسات الوصول للبيانات، إذ تسمح AD RMS بمنع أو إتاحة الوصول لمستخدمين معينين وإمكانية التعديل أو القراءة فقط وتحديد بعض العمليات وغيرها.
</p>

<p>
	تشفِّر البرمجية أيضًا وتفك تشفير كل المحتوى الرقمي.
</p>

<h3>
	خدمات الشهادة Active Directory
</h3>

<p>
	تلعب خدمات شهادة AD CS دور خادمٍ يتيح للمدراء توليد وإدارة البنية التحتية للمفتاح العام Public Key Infrastructure -أو اختصارًا PKI، بما فيها الشهادات الرقمية والتواقيع. تساعدك هذه الأداة في تعيين الأدوار والسياسات لإنشاء وإدارة وتوزيع واستخدام وتخزين واسترجاع الشهادات والمفاتيح العامة؛ كما يمكنك أيضًا أتمتة عملية إنشاء وإزالة الشهادات؛ ويمكن بهذه الخدمات استخدام البيانات الحالية للهوية الموجودة ضمن Active Directory لتسجيل الشهادات الجديدة؛ إضافةً إلى تعيين سياسات المجموعة لإجبار تطبيق شهاداتٍ معينة على موارد معينة.
</p>

<h3>
	خدمات الدليل الخفيفة ضمن Active Directory
</h3>

<p>
	خدمات الدليل الخفيفة AD LDS هي خدمة دليل LDAP للتطبيقات، وهي خدمةٌ مستقلةٌ عن قيود النطاق في خدمات النطاق AD DS، بمعنى أنها ليست مُقيدةٌ ضمن Active Directory أو أيٍّ من نطاقاته أو غاباته، ويمكن تشغيلها على خادمٍ مستقل، كما أن الوصول إلى مخزن بياناتها وخدماتها مُتاح.
</p>

<h3>
	خادم اسم النطاق ضمن خدمة Active Directory
</h3>

<p>
	ترتبط وظائف Active Directory بخادم اسم النطاق Domain Name Server -أو اختصارًا DNS-. ولتشغيل أول متحكم نطاق، يجب تثبيت AD ودور DNS؛ إذ ستحتاج DNS لترجمة أسماء المضيفين إلى عناوين IP ضمن النطاق. يستخدم كل عملاء AD خادم DNS للعثور على متحكمات النطاق وتستخدمه متحكمات النطاق للتحدُّث فيما بينها.
</p>

<p>
	يُستخدم مجال أسماء DNS عبر الإنترنت، في حين يُستخدم مجال أسماء Active Directory ضمن الشبكة الخاصة.
</p>

<h3>
	مناطق DNS
</h3>

<p>
	منطقة DNS هي قسمٌ من مجال أسماء DNS، إذ يٌقسم مجال الأسماء لتسهيل الإدارة وتوفير نسخٍ متعددة. تتألف مناطق DNS من سجلات الموارد -وهي كتل من عناوين IP- ومعلومات الاسم المُستخدمة لحل استعلامات DNS. بعض أنواع الموارد الشائعة هي A و AAA و CNAME و MX و NS وغيرها.
</p>

<p>
	يوجد عدة أنواع من المناطق في AD أشهرها منطقة DNS المُضمَّنة في Active Directory، والأنواع الأخرى هي الأولية والثانوية والبديلة ومناطق البحث الأمامي ومناطق البحث العكسي وتبديلات المنطقة.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="jpg" data-fileid="98937" href="https://academy.hsoub.com/uploads/monthly_2022_05/Active-Directory-Zones-1024x598.jpg.30f8abbfe3aa12a20d2aebb1b5a3722d.jpg" rel=""><img alt="Active-Directory-Zones-1024x598.jpg" class="ipsImage ipsImage_thumbnailed" data-fileid="98937" data-unique="dt4dmwqi0" style="width: 500px; height: auto;" src="https://academy.hsoub.com/uploads/monthly_2022_05/Active-Directory-Zones-1024x598.thumb.jpg.537ecd5c8f30f09d632dc6ce80cad3b0.jpg"></a>
</p>

<h3>
	خادم اسم النطاق الديناميكي
</h3>

<p>
	يعيِّن خادم اسم النطاق DNS أسماء المضيفين إلى عناوين IP الخاصة بهم، بينما يعيِّن DNS الديناميكي -أو اختصارًا DDNS- الأسماء إلى عناوين IP معينة من قِبل خدمات مثل بروتوكول ضبط المضيف الديناميكي DHCP. يُحدِّث DDNS خادم DNS آليًا بالمعلومات الجديدة عند تغيُّر عنونة IP، ويستخدم ويُحدث العملاء في متحكم نطاق AD سجلات مواردهم ديناميكيًا؛ فإذا انتقل مثلًا عميلٌ من شبكة محلية LAN إلى أخرى، فسيتغير عنوان IP الخاص به، وسيضبط عندئذٍ DDNS الإعدادات ضمن DNS.
</p>

<h3>
	سجلات الخدمة ضمن Active Directory
</h3>

<p>
	يعرِّف سجل الخدمة Service -أو اختصارًا SRV- موقع الخوادم التي تستضيف خدماتٍ معينة؛ فعندما يحتاج عميل ضمن Active Directory تحديد مكان متحكم النطاق لخدمةٍ ما، فسيستعلم سجلات SRV ضمن DNS؛ وعند إنشاء متحكم النطاق، تُسجّل سجلات SRV الخاصة به ضمن خادم DNS.
</p>

<h3>
	وكلاء خادم اسم النطاق الديناميكي
</h3>

<p>
	يُعد وكلاء خادم اسم النطاق الديناميكي DNS خوادمًا تمرر استعلامات DNS للعناوين التي لا تنتمي للمنطقة أو التي لا يمكن حلّها محليًا، إذ تساعد هذه الأنواع من الخوادم في إرسال الاستعلامات الخاصة بتصفح الإنترنت أو العناوين العامة إلى DNS خارج الشبكة؛ فبدون وكيل DNS، سيضطر خادم DNS في كل مرةٍ للاستعلام من DNS الجذر عند وجود عنوانٍ غير معروف.
</p>

<h3>
	خدمة مسح السجلات القديمة في خادم اسم النطاق الديناميكي DNS
</h3>

<p>
	تتراكم سجلات الموارد القديمة المُضافتة من خلال DDNS أو يدويًا مع مرور الوقت، لذلك تحل خدمة مسح السجلات القديمة في DNS هذه المشكلة فتمسح تلقائيًا سجلات الموارد القديمة من قاعدة بيانات DNS.
</p>

<div class="banner-container ipsBox ipsPadding">
	<div class="inner-banner-container">
		<p class="banner-heading">
			امتلك شبكة حاسوب اعتمادية وآمنة لأعمالك
		</p>

		<p class="banner-subtitle">
			احصل على حلول شبكات متقدمة وسريعة بالاستعانة بأفضل خدمات الشبكات على خمسات
		</p>

		<div>
			<a class="ipsButton ipsButton_large ipsButton_primary ipsButton_important" href="https://khamsat.com/programming/computer-networks" rel="external">اطلب خدمتك الآن</a>
		</div>
	</div>
</div>

<h3>
	تلميحات الجذر
</h3>

<p>
	تلميحات الجذر Root Hints هي ملفات DNS مُخزنةٍ ضمن خادمٍ لتوفير قائمةٍ بسجلات الموارد الممكن استخدامها لحل أسماء المضيفين التي لا يمكن لخادم DNS المحلي حلُّها، إذ يحتوي ملف تلميحات الجذر أسماء وعناوين IP لخوادم DNS المسؤولة عن المنطقة الجذر؛ والفارق بينها وبين وكلاء DNS التي تساعد أيضًا في حل أسماء المضيفين الخارجية هو احتواء تلميحات الجذر قائمةٍ بخوادم الأسماء المسؤولة، بينما يحتوي وكلاء DNS فقط على قائمةٍ بخوادم DNS التي يمكنها حل الاستعلام.
</p>

<h3>
	بروتوكول ضبط المضيف الديناميكي DHCP
</h3>

<p>
	بروتوكول ضبط المضيف الديناميكي Dynamic Host Configuration Protocol -أو اختصارًا -DHCP-، هو بروتوكول إدارة شبكة، ويُستخدم لحجز العنوان ديناميكيًا، إذ يعتمد على خادم DHCP للإضافة والإزالة التلقائية لعناوين IP والبوابة الافتراضية Default Gateway ومعلوماتٌ أخرى عن عملاء بروتوكول ضبط المضيف الديناميكي DHCP. تعتمد خدمة Active Directory على خادم بروتوكول ضبط المضيف الديناميكي DHCP للإجابة على طلبات العملاء، فعند استخدام العميل بروتوكول DHCP للاتصال بالشبكة يرسل فورًا طلب استكشاف DHCP للعثور على الخادم، الذي يرسل بدوره عرض DHCP مع عنوان IP المتاح.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="98926" href="https://academy.hsoub.com/uploads/monthly_2022_05/Active-Directory-Client-Server.png.6e615e6383619acf6233e48a09453cd6.png" rel=""><img alt="Active-Directory-Client-Server.png" class="ipsImage ipsImage_thumbnailed" data-fileid="98926" data-unique="kvs7l6qej" style="width: 250px; height: auto;" src="https://academy.hsoub.com/uploads/monthly_2022_05/Active-Directory-Client-Server.thumb.png.2c57e9d0600f1ff1b71c3928ffd02781.png"></a>
</p>

<h3>
	نطاق بروتوكول ضبط المضيف الديناميكي DHCP
</h3>

<p>
	هو مجالٌ من عناوين IP، مُتاحٌ للتوزيع على أجهزة الحاسوب، أو عملاء DHCP ضمن شبكةٍ فرعيةٍ محددة، <strong>ويتألف من الأجزاء التالية:</strong>
</p>

<ul>
	<li>
		<strong>مجال عناوين IP:</strong> يُعرَّف مجال نطاق <a href="https://academy.hsoub.com/devops/servers/%d9%85%d8%af%d8%ae%d9%84-%d8%a5%d9%84%d9%89-%d8%a8%d8%b1%d9%88%d8%aa%d9%88%d9%83%d9%88%d9%84-%d8%b6%d8%a8%d8%b7-%d8%a7%d9%84%d9%85%d8%b6%d9%8a%d9%81-%d8%af%d9%8a%d9%86%d8%a7%d9%85%d9%8a%d9%83%d9%8a%d8%a7-dhcp-r170/" rel="">بروتوكول ضبط المضيف الديناميكي DHCP</a> بعنوان IP بداية وعنوان IP نهاية وقناع الشبكة الفرعية.
	</li>
	<li>
		<strong>عناوين IP المُستثناة IP address exclusion:</strong> يمكن -ضمن نطاق DHCP- استثناء من هم ليسوا عملاء DHCP، فمثلًا يجب استثناء جهاز حاسوب يمتلك عنوان IP ثابت ضمن النطاق لتجنُّب التعارض مع عنوانٍ آخر.
	</li>
	<li>
		<strong>مدة التأجير Lease Duration:</strong> يعرِّف هذا الجزء مدة التأجير لفئةٍ من العناوين، وهي المدة الممكن خلالها إعطاء عنوان IP لعميلٍ قبل إرجاعه إلى مجمع pool عناوين IP.
	</li>
	<li>
		<strong>إعدادات أخرى:</strong> يمكن ضمن النطاق أيضًا تعريف البوابة الافتراضية و DNS وإعدادات WINS.
	</li>
</ul>

<h3>
	مجامع عناوين IP
</h3>

<p>
	يحدد نطاق DHCP مع الاستثناءات مجمع عناوين IP، ويبدأ خادم DHCP مع نطاقه المُنشأ بتعيين عناوين IP من المجمع؛ فعندما يغادر عميل DHCP الشبكة يُرجَع عنوان IP إلى المجمع؛ وعند استنفاد المجمع، يجب توسيع مجال عناوين IP ضمنه.
</p>

<h3>
	حجوزات بروتوكول ضبط المضيف الديناميكي DHCP
</h3>

<p>
	يمكن إعداد خادم DHCP لحجز عناوين دائمة لعملاء محددين ضمن مجمع عناوين IP، بحيث يضمن أن عميلًا محددًا بواسطة عنوان MAC هو فقط من سيستخدمه. تساعد هذه الحجوزات في تجنُّب تعارضات عناوين IP، وتُستخدم عادةً للطابعات والخوادم وأجهزة العمل الهامة وغيرها.
</p>

<h3>
	تصفية بروتوكول ضبط المضيف الديناميكي DHCP
</h3>

<p>
	تُعد تصفية DHCP وظيفةً للخادم، وتُستخدم للتحكم بالوصول، إذ يمكن باستخدام هذه الميزة التصريح عن السماح أو الرفض لطلبات DHCP لعملاء محددين بواسطة عناوين MAC لهم، وتمنع بالتالي تصفية DHCP العملاء المجهولين من حجز عناوين IP ديناميكية من قِبل خادم DHCP.
</p>

<h3>
	تجاوز الفشل في DHCP
</h3>

<p>
	تجاوز الفشل في DHCP هي ميزةٌ ضمن خادم ويندوز 2012 تضمن تحمُّل الأخطاء وتوزيع الحمل لطلبات DHCP؛ فمثلًا عند حدوث عطلٍ لخادمٍ ضمن مجموعةٍ من خوادم DHCP تدير مجمع عناوين IP مشترك، تُؤخذ حمولة الطلبات من قِبل الخوادم الأخرى، وتتشارك جميع الخوادم حمولة طلبات عميل DHCP في توزيع الحمل مع السماح أيضًا بتحمُّل الأخطاء.
</p>

<h3>
	استنساخ Active Directory
</h3>

<p>
	تساعد عملية الاستنساخ ضمن Active Directory في ضمان تجانس المعلومات بين متحكمات النطاق، فإذا حدث تغيير ضمن متحكم نطاقٍ ما، تساعد طرق عملية استنساخ AD متحكمات النطاق الأخرى بمزامنة هذا التغيير فورًا.
</p>

<h3>
	الشبكات الفرعية
</h3>

<p>
	الشبكة الفرعية هي تقسيمٌ منطقي لشبكةٍ موصولة عادةً بواسطة موجّه router أو مُبدّل switch. تملك كل شبكة فرعية ضمن الشبكة مخطط عنونة <a href="https://academy.hsoub.com/devops/servers/%d8%aa%d8%b9%d8%b1%d9%81-%d8%b9%d9%84%d9%89-%d8%a8%d8%b1%d9%88%d8%aa%d9%88%d9%83%d9%88%d9%84-tcpip-%d9%88%d8%a8%d8%b9%d8%b6-%d9%85%d9%86-%d8%ae%d8%af%d9%85%d8%a7%d8%aa%d9%87-r169/" rel="">TCP/IP</a> مختلف، وتُستخدم الشبكة الفرعية في Active Directory من قِبل العملاء ومتحكمات النطاق لأغراض عملية تسجيل الدخول والاستنساخ، فهي تساعد متحكمات النطاق في تحديد أفضل طريقٍ بينها خلال عملية الاستنساخ.
</p>

<h3>
	مواقع Active Directory
</h3>

<p>
	المواقع هي كائناتٌ ضمن Active Directory تمثِّل شبكة TCP/IP فرعية أو أكثر، وهناك متحكمات نطاق معينة مع كائنات اتصال ضمن كل موقع AD، وتساعد هذه المواقع في إعداد الاستنساخ آخذةً بالحسبان إمكانية الوصول للموارد الفيزيائية للشبكة.
</p>

<h3>
	كائن الاتصال
</h3>

<p>
	وهو كائن AD يعمل بمثابة اتصال استنساخ بين متحكمات النطاق المصدر والوجهة ضمن الموقع، فيحدد كائن الاتصال متحكمات النطاق التي ستستنسخ من بعضها بعضًا، ويحدد جدولتها ونوع نقل الاستنساخ لها.
</p>

<h3>
	مدقق تناسق المعرفة
</h3>

<p>
	مدقق تناسق المعرفة Knowledge Consistency Checker -أو اختصارًا KCC- هو أداة خدمة دليل مساعدة تضمن التناسق ضمن قاعدة بيانات الدليل، إذ تعمل على كل متحكمات النطاق وتُنشئ بنية استنساخ لكل الغابة، ويمكن لعملية KCC توليد بنًى مفردةً في حال كان الاستنساخ ضمن موقع أو بين المواقع.
</p>

<h3>
	رابط الموقع
</h3>

<p>
	روابط الموقع ضمن Active Directory هي مساراتٌ منطقية تُنشأ لوصل المواقع وتُستخدم خلال عملية الاستنساخ، إذ يسمح رابط موقع KCC بإنشاء اتصالات بين متحكمات النطاق، ويمكن لرابط موقعٍ واحدٍ أن يمثِّل مجموعةً من المواقع التي بإمكانها التحدث فيما بينها باستخدام نفس نوع الشبكة.
</p>

<h3>
	جسر رابط الموقع
</h3>

<p>
	جسر رابط الموقع ضمن Active Directory هو كائن يمثل اتصالًا منطقيًا بين روابط الموقع، ويوفِّر مسار انتقال بين رابطي موقع أو أكثر غير متصلين، كما يسمح لمتحكمات النطاق غير الموصولة معًا بالاستنساخ بين بعضها.
</p>

<h3>
	الكتالوج العام
</h3>

<p>
	يمثّل الكتالوج العام Global Catalog -أو اختصارًا GC- خدمة مخزن بيانات لمتحكم النطاق DC، ويُدعى خادم DC الذي يعمل بدور GC بخادم الكتالوج العام، الذي يخزن نسخًا كاملةً من الكائنات ضمن دليل النطاق، ويمكنه أيضًا حفظ نسخةٍ جزئيةٍ من كل الكائنات ضمن الغابة، ويمكن للمستخدمين والتطبيقات بواسطة هذه النسخة الجزئية البحث سريعًا والعثور على الكائنات ضمن أي نطاق، إذ يوفر GC كتالوج يمكِّن المستخدمين من البحث عن الكائنات في البيئة متعددة النطاقات.
</p>

<h3>
	التخزين المؤقت العالمي لعضوية المجموعة
</h3>

<p>
	يُخزّن التخزين المؤقت العالمي لعضوية المجموعة Universal Group Membership Caching -أو اختصارًا UGMC- بيانات العضوية للمجموعات العالمية ضمن مخزنٍ مؤقت؛ ويفيد UGMC في حال عدم توفُّر GC، أو في حال استخدام المجموعات العالمية، مما يساعد في تخفيف استخدام حيز النطاق التراسلي للشبكة ويحسّن توقيت عملية تسجيل الدخول للمستخدم؛ كما يساعد UGMC في تخفيف حركة مرور بيانات الاستنساخ إلى أدنى حد.
</p>

<h3>
	حركة مرور بيانات استنساخ Active Directory
</h3>

<p>
	يمكن لحركة مرور بيانات الاستنساخ ضمن Active Directory استهلاك قسمٍ كبير من حيز النطاق التراسلي؛ إذ يُنشئ مدقق تناسق المعرفة KCC عدة بُنى استنساخ اعتمادًا على ما إذا كان الاستنساخ يحدث ضمن الموقع نفسه أو بين المواقع المتعددة. يساعد إعداد لكتالوج العام GC ضمن كل موقع على تخفيف حركة مرور بيانات الاستنساخ، ويوجد نوعان من حركة مرور البيانات تلك:
</p>

<ul>
	<li>
		<strong>استنساخ ضمن الموقع نفسه Intra-site Replication:</strong> عندما تكون متحكمات النطاق جزءًا من نفس الموقع، سيكون استنساخ قاعدة بيانات AD أسرع بكثير.
	</li>
	<li>
		<strong>استنساخ بين مواقع متعددة Inter-site Replication:</strong> وهي عندما تنتمي متحكمات النطاق إلى عدة مواقع مختلفة، ويساعد تحسين هذا النوع من الاستنساخ في تخفيف حركة مرور البيانات بين المواقع.
	</li>
</ul>

<h2>
	الأمان في Active Directory
</h2>

<h3>
	بروتوكول كيربيروس Kerberos
</h3>

<p>
	كيربيروس هو بروتوكول استيثاق يوفر أمانًا لتطبيقات الاتصالات من نوع خادم / عميل باستخدام التشفير، ويستخدم Active Directory بروتوكول Kerberos لتوفير آليات استيثاق بين الخادم والعميل، حيث يجري عملية استيثاق على المستخدمين ويتيح الوصول إلى النطاق.
</p>

<p>
	يوجد ثلاثة مكونات رئيسية في نظام كيربيروس، وهي:
</p>

<ul>
	<li>
		<strong>مركز توزيع المفاتيح Key Distribution Center -أو اختصارًا KDC:</strong> إذ تُعد خدمة KDC أساس خادم كيربيروس وهي التي تصدر جميع التذاكر، إذ تعمل الخدمة على كل متحكمات النطاق Active Directory؛ وعندما يصادق عميل AD خدمة KDC، فإنها تصدر تذكرةُ منح تذكرة TGT.
	</li>
	<li>
		<strong>تذكرةُ منح تذكرة Ticket Granting Ticket -أو اختصارًا TGT:</strong> وهو ملف استيثاق يحتوي على عنوان IP للمستخدم وفترة الصلاحية ومفتاح جلسة TGT. تُشفَّر TGT خلال عملية استيثاق كيربيروس.
	</li>
	<li>
		<strong>خدمة منح التذكرة Ticket Granting Service 0-أو اختصارًا TGS-:</strong> تتيح هذه الخدمة تذاكر TGT للأنظمة وتذاكر أخرى.
	</li>
</ul>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="98931" href="https://academy.hsoub.com/uploads/monthly_2022_05/Active-Directory-KDC-1024x858.png.4eb36cc07e2dbdb277c49b18553e5454.png" rel=""><img alt="Active-Directory-KDC-1024x858.png" class="ipsImage ipsImage_thumbnailed" data-fileid="98931" data-unique="waa3t8yua" style="width: 450px; height: auto;" src="https://academy.hsoub.com/uploads/monthly_2022_05/Active-Directory-KDC-1024x858.thumb.png.e046b1cddcca7b6162ed66a6da96be81.png"></a>
</p>

<h3>
	أسماء مسؤول الخدمة
</h3>

<p>
	اسم مسؤول الخدمة Service Principal Name -أو اختصارًا SPN- هو معرِّفٌ مميز يُستخدم ضمن عملية استيثاق كيربيروس، إذ يصل نسخة خدمة متحكم الشبكة بحساب تسجيل الدخول، ويمكن استخدامه للاستيثاق خدمات تطبيق عميل عندما عدم استخدام حساب الخدمة أو حساب المستخدم.
</p>

<h3>
	مدير الشبكة المحلية
</h3>

<p>
	مدير الشبكة المحلية الحديث NT LAN Manager -أو NTLM- هو بروتوكول استيثاق آخر يستخدم آلية التحدي/الاستجابة، واستُخدم كثيرًا قبل كيربيروس. على الرغم من أن مدير الشبكة المحلية لا يزال مدعومًا ضمن AD لكن خدمة كيربيروس لا تزال الخيار المفضَّل للاستيثاق.
</p>

<h3>
	أذونات نظام الملف NTFS
</h3>

<p>
	تُستخدم أذونات نظام الملف NT File System -أو اختصارًا NTFS- من أجل منح أو منع الوصول إلى الملفات والمجلدات على أنظمة مايكروسوفت ويندوز NT، ويمكن تطبيق أذونات NTFS على المستخدمين المحليين، أو المستخدمين ضمن الشبكة، إذ تُمنح أو تُمنع هذه الأذونات عن المستخدم خلال مرحلة تسجيل الدخول.
</p>

<p>
	أذونات نظام الملف NTFS هي:
</p>

<ul>
	<li>
		التحكم الكامل.
	</li>
	<li>
		التعديل.
	</li>
	<li>
		القراءة والتنفيذ.
	</li>
	<li>
		القراءة.
	</li>
	<li>
		الكتابة.
	</li>
</ul>

<h3>
	أذونات المشاركة
</h3>

<p>
	تملك أذونات المشاركة نفس وظيفة أذونات NTFS وهي منع الوصول غير المُصرّح به؛ لكن الفرق الأساسي هو أن أذونات المشاركة تدير فقط الوصول إلى الملفات والمجلدات ضمن الموارد المشتركة، ويمكن استخدام هذه الأنواع من الأذونات مع FAT و FAT32 و NTFS.
</p>

<p>
	أنواع أذونات المشاركة هي:
</p>

<ul>
	<li>
		القراءة.
	</li>
	<li>
		التعديل.
	</li>
	<li>
		التحكم الكامل.
	</li>
</ul>

<h3>
	قوائم ويندوز للتحكم بالوصول
</h3>

<p>
	تُعد قوائم مايكروسوفت ويندوز للتحكم بالوصول Access Control Lists -أو اختصارًا ACLs- العنصر الأساس ضمن نموذج الأمان، إذ أنها توفر عدة أذونات تساعد في التحكُّم بالوصول إلى موارد الشبكة، ويمكن ربط كل كائن ضمن أنظمة ويندوز بقائمة ACL. يوجد نوعان من قوائم التحكم بالوصول ACL في ويندوز، هما القائمة التقديرية Discretionary Access Control List -أو اختصارًا DACL- وقائمة نظام System Access Control List -أو اختصارًا SACL.
</p>

<p>
	تتشكل قوائم التحكم بالوصول ACL من سجلات التحكم بالوصول Access Control Entries -أو اختصارًا ACEs، وهي تعليمات للسماح أو منع الوصول لمجموعةٍ أو فردٍ إلى الموارد. يكمن الفرق الأساسي بين DACL و SACL في سجلات التحكم بالوصول ACE الخاصة بكلٍّ منهما.
</p>

<ul>
	<li>
		<p>
			<strong>قوائم التحكم بالوصول التقديرية DACL:</strong> هي عدة أذونات يمكن ربطها مع كائنٍ ضمن Active Directory، إذ تحدد المستخدمين والمجموعات التي يمكنها الوصول إلى تلك الكائنات، وتحدّد أيضًا نوع الأفعال الممكن إجراؤها على الكائن.
		</p>
	</li>
	<li>
		<p>
			<strong>قوائم التحكم بالوصول للنظام SACL:</strong> تساعد هذه القائمة في عملية تدقيق المستخدمين والمجموعات التي تحاول الوصول لكائن AD، سواءٌ فشلت تلك المحاولة أو نجحت.
		</p>
	</li>
</ul>

<h3>
	سياسات كلمة المرور الدقيقة
</h3>

<p>
	السياسات الدقيقة لكلمة المرور Fine-Grained Password Policy -أو اختصارًا FGPP- هي كائنٌ ضمن Active Directory يُستخدم لنشر كلمات المرور وسياسات قفل الحسابات لمستخدمي النطاق، ويمكن للمدراء باستخدام هذه السياسات تطبيق سياسات كلمة المرور على نطاق AD، مثل نوع المحارف المستخدمة، أو الحد الأدنى لطول كلمة المرور، أو عمر كلمة المرور.
</p>

<h3>
	سياسة المجموعة
</h3>

<p>
	سياسة المجموعة Group policy -أو اختصارًا GP- هي أداةٌ لمايكروسوفت ويندوز تسمح بالإدارة المركزية لمستخدم أو حسابات أجهزة الحاسوب وضبط نظام التشغيل وإعدادات المستخدم والتطبيقات، إذ تُستخدم ضمن بيئة Active Directory ويمكن استخدامها لتعيين سياسات كلمة المرور وقفل الشاشة وتحديد الوصول إلى أقسامٍ من النظام وفرض الصفحة الرئيسية، وحتى تنفيذ نصوص برمجية محددة وغيرها الكثير.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="98950" href="https://academy.hsoub.com/uploads/monthly_2022_05/Group-Policy-Management-1024x664.png.f3b9925ebd968969edc762549fd32bf0.png" rel=""><img alt="Group-Policy-Management-1024x664.png" class="ipsImage ipsImage_thumbnailed" data-fileid="98950" data-unique="mm4e68e3m" style="width: 650px; height: auto;" src="https://academy.hsoub.com/uploads/monthly_2022_05/Group-Policy-Management-1024x664.thumb.png.9e158cc34562d3a26d9093b190cd997f.png"></a>
</p>

<h3>
	معالجة سياسة المجموعة
</h3>

<p>
	معالجة سياسة المجموعة هي عملية إرسال واستقبال السياسات، عندما تطبّق سياسات GPO -أي كائن سياسة المجموعة Group Policy Object- على أي كائن لمستخدم أو جهاز حاسوب ضمن Active Directory سترسل GP كل الإعدادات تلقائيًا لذلك الكائن، عندها سيستقبل العميل تلك الإعدادات ويضعها ضمن جهاز الحاسوب.
</p>

<p>
	يمكن تقسيم GPO إلى قسمين، هما إعدادات المستخدم وإعدادات جهاز الحاسوب:
</p>

<ul>
	<li>
		<strong>إعدادات المستخدم:</strong> وهي GPO التي تطبِّق إعدادات على كائنات المستخدم.
	</li>
	<li>
		<strong>إعدادات جهاز الحاسوب:</strong> وهي GPO التي تطبِّق إعدادات على كائنات جهاز الحاسوب.
	</li>
</ul>

<p>
	تتبع معالجة سياسة المجموعة تسلسلًا هرميًا بأربعة مستويات:
</p>

<ul>
	<li>
		السياسة المحلية.
	</li>
	<li>
		سياسات على مستوى الموقع.
	</li>
	<li>
		سياسات على مستوى النطاق.
	</li>
	<li>
		سياسات على مستوى الوحدة التنظيمية OU.
	</li>
</ul>

<h3>
	وراثة كائن سياسة المجموعة GPO
</h3>

<p>
	يمكن تعيين كائن سياسة المجموعة GPO محليًا، أو على المواقع أو النطاقات، أو على الوحدة التنظيمية OU، إذ تُورَّث GPO المرتبطة بكائنات افتراضيًا إلى الكائنات الأبناء لها. تسمح وراثة GPO للمسؤولين بإعداد حزمة سياسات شائعةٍ على مستوى الموقع، أو النطاق، أو الوحدة التنظيمية OU ضمن التسلسل الهرمي ذي المستويات الأربعة.
</p>

<p>
	يمكن كسر وراثة GPO تلك بواسطة خيار حظر الوراثة، إذ يساعد هذا الخيار المسؤولين على تغيير تصرف الوراثة ضمن النطاق أو OU.
</p>

<h3>
	كائن سياسة المجموعة GPO القسري
</h3>

<p>
	كائن سياسة المجموعة القسري GPO القسري أو غير الممكن تبديله، هو إعداد قسري على GPO يُمنَع إلغاؤه من قِبل GPO الأخرى، إذ يساعد هذا الإعداد في تجنُّب التضارب بين كائنات GPO مع الكائنات السابقة لها ضمن هرمية الطبقات الأربعة.
</p>

<h3>
	محصلة مجموعة من السياسات RsoP
</h3>

<p>
	محصلّة مجموعة من السياسات Resultant Set of Policy -أو اختصارًا RsoP- هي أداةٌ من مايكروسوفت ويندوز تبسِّط إدارة GPO وتوفِّر التخطيط للسعة، إذ تشبه RsoP تقريرًا يتضمن كل سياسات المجموعة ضمن Active Directory والمطبّقة على كل المستخدمين وأجهزة الحاسوب، كما يُظهر هذا التقرير كيف تؤثر كائنات GPO على الشبكة.
</p>

<h3>
	تفضيلات سياسة المجموعة
</h3>

<p>
	وهي حزمةٌ من إضافات سياسة المجموعة لتوسيع وظيفة كائنات GPO، إذ تؤمِّن هذه الإضافات تفضيلات إعدادات كائنات AD، مثل أجهزة الحاسوب والخوادم والطابعات ضمن النطاق ككل؛ ويمكن للمسؤولين باستخدام هذه الإعدادات ضبط وإدارة عددٍ موسّعٍ من أنظمة التشغيل وإعدادات التطبيقات، مثل تثبيت الطابعات وجدولة المهام وإعداد السجل وتحديد إعدادات الطاقة وضبط أذونات الملفات والمجلدات وغيرها.
</p>

<h3>
	قوالب سياسة المجموعة الإدارية
</h3>

<p>
	قوالب سياسة المجموعة الإدارية هي مزايا لسياسة المجموعة، وتُستخدم للإدارة المركزية للمستخدمين والأجهزة، فهي ملفاتٌ بلاحقة "ADM." أو "ADMX." تُستخدم من قِبل سياسات المجموعة لوصف مفاتيح السجل التي هي بحاجة للتحديث، ويمكن عند استخدام القوالب الإدارية تعديل أقسام الجهاز والمستخدِم ضمن السجل على أجهزة الحاسوب.
</p>

<h3>
	طرفيات إدارة Active Directory
</h3>

<p>
	يمكن استخدام طرفيات consoles إدارة Active Directory لعمليات التشغيل والصيانة اليومية، إذ تمتلك مايكروسوفت بعض تلك الطرفيات، في حين يكون بعضها الآخر حلول طرف ثالث تتيح إمكانيات إدارةٍ مختلفة، مثل الأتمتة والتقارير والتضمين مع خدماتٍ أخرى وغيرها.
</p>

<h3>
	مكونات MMC
</h3>

<p>
	تُستخدم طرفية إدارة مايكروسوفت Microsoft Management Console -أو اختصارًا MMC- لإنشاء طرفياتٍ مفتوحة يمكنها المساعدة في إدارة كل المكونات التقنية IT ضمن شبكة مايكروسوفت ويندوز، حيث تستضيف MMC المكونات Snap-ins التي هي أدوات إدارية يمكن استخدامها عبر واجهةٍ واحدة.
</p>

<p>
	يمكن تضمين كل أدوات مايكروسوفت الإدارية تقريبًا بمثابة مكونات MMC أي MMC Snap-ins؛ لكن MMC تدعم أيضًا بعض مكونات خارجية third-party snap-ins باستخدام واجهة برمجة التطبيقات MMC <abbr title="Application Programming Interface | واجهة برمجية"><abbr title="Application Programming Interface | واجهة برمجية">API</abbr></abbr>.
</p>

<h3>
	مستخدمو وأجهزة حاسوب خدمة Active Directory
</h3>

<p>
	تُعد ADUC وهي اختصارٌ لمستخدمي وأجهزة حاسوب خدمة الدليل النشط Active Directory Users and Computers أشهر إضافة لإدارة AD، إذ تُستخدم لعمليات الإدارة اليومية للنطاق بما فيها الكائنات والوحدات التنظيمية OUs وخصائصها. تُثبَّت طرفية ADUC (أي dsa.msc) افتراضيًا خلال عملية تثبيت AD DS.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="98943" href="https://academy.hsoub.com/uploads/monthly_2022_05/ADUC.png.25661f78fa5b14bdf0f6d8130dcf47e9.png" rel=""><img alt="ADUC.png" class="ipsImage ipsImage_thumbnailed" data-fileid="98943" data-unique="gy73dwog3" style="width: 650px; height: auto;" src="https://academy.hsoub.com/uploads/monthly_2022_05/ADUC.thumb.png.b2321aef19cc879a64c541239a49ec6b.png"></a>
</p>

<h3>
	مركز إدارة Active Directory
</h3>

<p>
	قُدمت طرفية مركز إدارة Active Directory Administrative Center -أو اختصارًا ADAC- مع خادم ويندوز 2012، ويمكن استخدام هذه الطرفية لنشر وإدارة حسابات المستخدم وأجهزة الحاسوب والمجموعات و OUs وغيرها، وتتضمن ADAC مزايا إدارة مُحسَّنة على ADUC، مثل سلة مهملات Active Directory والسياسة الدقيقة لكلمة المرور ومستعرض تاريخ ويندوز PowerShell.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="jpg" data-fileid="98940" href="https://academy.hsoub.com/uploads/monthly_2022_05/ADAC-1024x635.jpg.8b1c4a7ef5b7e8c76a11b1539b6cca62.jpg" rel=""><img alt="ADAC-1024x635.jpg" class="ipsImage ipsImage_thumbnailed" data-fileid="98940" data-unique="vi8hm9jrj" style="width: 650px; height: auto;" src="https://academy.hsoub.com/uploads/monthly_2022_05/ADAC-1024x635.thumb.jpg.d3af1e8026ee763260ef9382847e6d6f.jpg"></a>
</p>

<h3>
	نطاقات Active Directory والثقة
</h3>

<p>
	نطاقات Active Directory والثقة هي طرفيةٌ إدارية تسمح بإدارة علاقات الثقة بين النطاقات والغابات، إذ تساعد في رفع المستويات الوظيفية للنطاق والغابة وإدارة لواحق UPN.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="98930" href="https://academy.hsoub.com/uploads/monthly_2022_05/Active-Directory-Domains-and-Trusts.png.5a4edcbe35de655a5bbd6da2f41679c8.png" rel=""><img alt="Active-Directory-Domains-and-Trusts.png" class="ipsImage ipsImage_thumbnailed" data-fileid="98930" data-unique="tzp6xwnbf" style="width: 500px; height: auto;" src="https://academy.hsoub.com/uploads/monthly_2022_05/Active-Directory-Domains-and-Trusts.png.5a4edcbe35de655a5bbd6da2f41679c8.png"></a>
</p>

<h3>
	مواقع وخدمات Active Directory
</h3>

<p>
	تٌعد مواقع وخدمات Active Directory Sites and Services -أو اختصارًا ADSS- طرفية إضافة MMC snap-in، وتُستخدم بصورةٍ أساسية لإدارة استنساخ الموقع ومكونات أخرى، مثل كائنات البنية والشبكات الفرعية وكائنات الاتصال والكاتالوج العام والتخزين المؤقت العالمي للمجموعة.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="jpg" data-fileid="98942" href="https://academy.hsoub.com/uploads/monthly_2022_05/ADSS.jpg.4b5548bf457016064ae904357943635b.jpg" rel=""><img alt="ADSS.jpg" class="ipsImage ipsImage_thumbnailed" data-fileid="98942" data-unique="2ldsmjx3n" style="width: 550px; height: auto;" src="https://academy.hsoub.com/uploads/monthly_2022_05/ADSS.jpg.4b5548bf457016064ae904357943635b.jpg"></a>
</p>

<h3>
	محرر واجهات خدمة Active Directory
</h3>

<p>
	محرر واجهات Active Directory Service Interfaces Editor -أو اختصارًا ADSI Edit- هو محررٌ متقدم لكائن Active Directory، بحيث يسمح بعرض وتعديل وإزالة كائنات AD وخصائصها ضمن الغابة. يُقارن عادةً ADSI Edit مع محرر سجل ويندوز بسبب مستوى التحرير الدقيق ضمنه، إذ صُمِّمت هذه الأداة للوصول إلى البيانات غير المتاحة عادةً ضمن طرفيات مثل ADUC.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="jpg" data-fileid="98941" href="https://academy.hsoub.com/uploads/monthly_2022_05/ADSI.jpg.eb16911889d119967a377dc26d501864.jpg" rel=""><img alt="ADSI.jpg" class="ipsImage ipsImage_thumbnailed" data-fileid="98941" data-unique="bmwqf1zxx" style="width: 700px; height: auto;" src="https://academy.hsoub.com/uploads/monthly_2022_05/ADSI.jpg.eb16911889d119967a377dc26d501864.jpg"></a>
</p>

<h3>
	المستخدمون المحليون والمجموعات المحلية
</h3>

<p>
	المستخدمون المحليون والمجموعات المحلية هي طرفية إضافة MMC snap-in تحت إدارة جهاز الحاسوب تسمح لمسؤولي AD بإدارة وتأمين أجهزة الحاسوب المحلية، إذ تمنح إمكانية التحكُّم بالوصول للبيانات عبر عددٍ من الأذونات والحقوق للحساب المحلي، أو حساب المجموعة على جهاز الحاسوب.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="98952" href="https://academy.hsoub.com/uploads/monthly_2022_05/Local-Users-and-Groups.png.dfef3fa803113a08084fa39ba88340f1.png" rel=""><img alt="Local-Users-and-Groups.png" class="ipsImage ipsImage_thumbnailed" data-fileid="98952" data-unique="m9qpwze1x" style="width: 550px; height: auto;" src="https://academy.hsoub.com/uploads/monthly_2022_05/Local-Users-and-Groups.png.dfef3fa803113a08084fa39ba88340f1.png"></a>
</p>

<h3>
	طرفية إضافة لبروتوكول ضبط المضيف الديناميكي DHCP
</h3>

<p>
	وهي طرفية إضافة MMC snap-in (الملف الممثّل لها هو dhcpmgmt.msc)، تُستخدم لإدارة DHCP، وإعداد مجال عناوين IP ومدة التأجير وخادم DNS و WINS وغيرها.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="jpg" data-fileid="98944" href="https://academy.hsoub.com/uploads/monthly_2022_05/DHCP.jpg.eec8548df4a4ce2881895bbf63a11702.jpg" rel=""><img alt="DHCP.jpg" class="ipsImage ipsImage_thumbnailed" data-fileid="98944" data-unique="u5qyf0jvi" style="width: 650px; height: auto;" src="https://academy.hsoub.com/uploads/monthly_2022_05/DHCP.jpg.eec8548df4a4ce2881895bbf63a11702.jpg"></a>
</p>

<h3>
	طرفية إضافة خادم اسم النطاق الديناميكي DNS
</h3>

<p>
	تسمح طرفية إضافة MMC (الملف المُمثِّل لها هو dnsmgmt.msc) بإدارة إعدادات DNS، إذ يمكن إنشاء وتصفُّح وإدارة مناطق DNS وسجلات المورد.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="98947" href="https://academy.hsoub.com/uploads/monthly_2022_05/DNS.png.a4bc5aa836eb472ffacce4489d36a4b6.png" rel=""><img alt="DNS.png" class="ipsImage ipsImage_thumbnailed" data-fileid="98947" data-unique="egvta99sc" style="width: 650px; height: auto;" src="https://academy.hsoub.com/uploads/monthly_2022_05/DNS.png.a4bc5aa836eb472ffacce4489d36a4b6.png"></a>
</p>

<h3>
	طرفية إدارة سياسة المجموعة
</h3>

<p>
	طرفية إدارة سياسة المجموعة Group Policy Management Console -أو اختصارًا GPMC-، هي أداة MMC (الملف gpmc.msc) تسمح للمسؤولين بإدارة كائنات سياسة المجموعة GPOs من طرفية واحدة، ويمكن للمسؤولين باستخدام GPMC نشر و إدارة وعرض وتحديد المشاكل لأي تضمين لسياسة المجموعة GP.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="98951" href="https://academy.hsoub.com/uploads/monthly_2022_05/Group-Policy-Management-Console.png.112b3da0759a29e520022347e2c243be.png" rel=""><img alt="Group-Policy-Management-Console.png" class="ipsImage ipsImage_thumbnailed" data-fileid="98951" data-unique="thfeq71b0" src="https://academy.hsoub.com/uploads/monthly_2022_05/Group-Policy-Management-Console.png.112b3da0759a29e520022347e2c243be.png"></a>
</p>

<p>
	لتعلُّم المزيد عن خدمة Active Directory، فأهم مصدر يمكنك الرجوع إليه هو <a href="https://docs.microsoft.com/en-us/windows-server/identity/ad-ds/get-started/virtual-dc/active-directory-domain-services-overview" rel="external nofollow">قاعدة المعرفة عن خدمة Active Directory من مايكروسوفت</a>، إذ أنها المصدر الرسمي لتعلم كل شيء عن Active Directory.
</p>

<h3>
	برمجيات طرف ثالث لمراقبة وحل مشكلات أداء AD
</h3>

<p>
	تسمح برمجيات الطرف الثالث بتوسيع وظيفة AD باستخدام أدواتٍ، مثل SolarWinds <a href="https://www.solarwinds.com/server-application-monitor/use-cases/hardware-monitor" rel="external nofollow">لمراقبة التطبيق والخادم Server &amp; Application Monitor أو اختصارًا SAM</a>، إذ يمكنك مراقبة وحل مشاكل أداء AD وتتُّبع كل التطبيقات والخوادم وأنظمة التشغيل ضمن بنية IT التحتية؛ كما يساعد SAM في مراقبة حالة كل متحكم نطاق DC وحالة عملية استنساخ AD والعثور على المشكلات بين المواقع ومتحكمات DC.
</p>

<p>
	بعض مزايا SAM المدمجة:
</p>

<ul>
	<li>
		عرض تفاصيل الموقع.
	</li>
	<li>
		عرض أحداث تسجيل الدخول إلى ويندوز.
	</li>
	<li>
		تتبع عملية الاستنساخ.
	</li>
	<li>
		مراقبة DCs.
	</li>
	<li>
		تصفح أدوار FSMO.
	</li>
</ul>

<p>
	يوفر SAM بعض المزايا غير الموجودة ضمن AD، مثل لوحة معلومات سهلة الاستخدام والتقارير والتحذيرات وبعض مزايا الأتمتة. وتوضح الصورة التالية كيف يبدو SAM أثناء عملية مراقبة AD.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="98923" href="https://academy.hsoub.com/uploads/monthly_2022_05/Active-Directory-Application-Summary-1024x640.png.fe6edff46a929cdf6a4d901ce3d6f7b9.png" rel=""><img alt="Active-Directory-Application-Summary-1024x640.png" class="ipsImage ipsImage_thumbnailed" data-fileid="98923" data-unique="doprka5i5" style="width: 650px; height: auto;" src="https://academy.hsoub.com/uploads/monthly_2022_05/Active-Directory-Application-Summary-1024x640.thumb.png.4e86caaf842680b70cf00278d7f527cd.png"></a>
</p>

<p>
	تتيح SolarWinds برنامجًا مجانيًا يُدعى حزمة المسؤول المجانية لخدمة AD أي Admin Bundle for Active Directory، وهي برمجيةٌ خفيفةٌ تساعد في العثور على المستخدمين وأجهزة الحاسوب غير الفعالة وحذفها وإضافة المستخدمين دفعةً واحدةً ضمن AD.
</p>

<p>
	ترجمة -وبتصرف- للمقال "<a href="https://www.pcwdld.com/active-directory-guide" rel="external nofollow">Active Directory: Guide to Terminology, Definitions &amp; Fundamentals!</a>" لصاحبه Jeff Parker.
</p>

<h2>
	اقرأ أيضًا
</h2>

<ul>
	<li>
		<p>
			<a href="https://academy.hsoub.com/devops/servers/%D8%A7%D9%84%D8%A7%D8%B3%D8%AA%D9%8A%D8%AB%D8%A7%D9%82-%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D9%8A-%E2%80%93-%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85-sssd-%D9%85%D8%B9-active-directory-%D8%B9%D9%84%D9%89-%D8%A3%D9%88%D8%A8%D9%86%D8%AA%D9%88-r183/" rel="">الاستيثاق الشبكي – استخدام SSSD مع Active Directory على أوبنتو</a>
		</p>
	</li>
</ul>
]]></description><guid isPermaLink="false">616</guid><pubDate>Wed, 25 May 2022 15:05:00 +0000</pubDate></item><item><title>&#x62A;&#x648;&#x627;&#x635;&#x644; &#x627;&#x644;&#x628;&#x631;&#x627;&#x645;&#x62C; &#x648;&#x627;&#x644;&#x639;&#x645;&#x644;&#x64A;&#x627;&#x62A; &#x627;&#x644;&#x628;&#x631;&#x645;&#x62C;&#x64A;&#x629; &#x639;&#x628;&#x631; &#x627;&#x644;&#x634;&#x628;&#x643;&#x629;</title><link>https://academy.hsoub.com/devops/networking/%D8%AA%D9%88%D8%A7%D8%B5%D9%84-%D8%A7%D9%84%D8%A8%D8%B1%D8%A7%D9%85%D8%AC-%D9%88%D8%A7%D9%84%D8%B9%D9%85%D9%84%D9%8A%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D9%8A%D8%A9-%D8%B9%D8%A8%D8%B1-%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A9-r603/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2022_04/62481f6c48b95_-----.png.e108061c2e10eacf9e413bf313e17534.png" /></p>
<p>
	نظرنا حتى الآن في سلسلة <a href="https://academy.hsoub.com/tags/%D8%AA%D8%B9%D9%84%D9%85%20%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9/" rel="">تعلم البرمجة</a> في نظام التشغيل وقدرته على إدارة العمليات، وفي كيفية جعل السكربتات تنفذ برامج موجودةً من قبل، وكذلك استنساخ البرامج والتواصل بين تلك النسخ باستخدام الأنابيب pipes، وسندرس في هذا المقال الاتصال بالعمليات التي تعمل على حاسوب آخر عبر شبكة ما، أو بعمليات قد تكون جاريةً على نفس الحاسوب، حيث ستكون الشبكة هنا شبكةً منطقيةً logical network، وهذا النوع هو المثال الأول الذي سننظر فيه. وعلى ذلك سنشرح في هذا المقال ما يلي:
</p>

<ul>
	<li>
		مقدمةً بسيطةً عن الشبكات.
	</li>
	<li>
		أساسيات المقابس sockets.
	</li>
	<li>
		إنشاء عملية الخادم server process.
	</li>
	<li>
		إنشاء عملية العميل client process.
	</li>
	<li>
		التواصل من خلال المقابس.
	</li>
</ul>

<h2>
	مقدمة في الشبكات
</h2>

<p>
	يعمل خادم الويب web server على حاسوب في مكان ما في الشبكة، ونستطيع الوصول إليه من حاسوبنا إذا كان لدينا <a href="https://academy.hsoub.com/programming/general/%D8%A3%D8%B3%D8%A7%D8%B3%D9%8A%D8%A7%D8%AA-%D8%B9%D9%86%D9%88%D8%A7%D9%86-url-%D9%88%D8%A3%D9%86%D9%88%D8%A7%D8%B9%D9%87-r1435/" rel="">عنوان الويب Uniform Resource Locator واختصارًا URL</a>، والذي هو نوع من عناوين الشبكات يحوي معلومات حول العنوان في الشبكة، واللغة التي يتحدث بها -أو البروتوكول protocol-، وكذلك مكانه على خادم الملفات التي نريد جلبها، وسنفترض أن للقارئ خلفيةً أساسيةً عن الإنترنت، ويعرف أن للحواسيب المتصلة بها عناوين.
</p>

<p>
	لكن كيف تتصل تلك الحواسيب ببعضها؟ طبعًا لا يتسع المقام هنا لشرح مفصل حول الشبكات، لذا يُرجع في هذا إلى أكاديمية حسوب التي فيها <a href="https://academy.hsoub.com/tags/%D8%A3%D8%B3%D8%A7%D8%B3%D9%8A%D8%A7%D8%AA%20%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A7%D8%AA/" rel="">شرح ماتع في أساسيات الشبكات</a> يمكن النظر فيه، وكذلك <a href="http://www.comptechdoc.org/independent/networking/guide/" rel="external nofollow">في هذا المصدر بالإنجليزية</a>، وخلاصة ما نريد قوله في الشبكات هو أنه عند حاجة حاسوبين على شبكة ما للاتصال ببعضهما فإنها يتصلان من خلال إرسال حزمة بيانات من حاسوب لآخر، وتشبه تلك الحزمة إلى حد كبير مظروفًا يُرسل في طرد عبر البريد مع ورقة بداخله، حيث تمثل تلك الورقة البيانات، ويمثل المظروف ترويسة الطرد packet header التي تحوي عناوين المرسل والمستقبل، ويحدد جهاز التوجيه router أو المحول switch موقع الحاسوب المستقبِل على الشبكة، ثم يوجه الحزمة إلى جهاز توجيه أو راوتر في تلك المنطقة، وتصل الحزمة في النهاية إلى نفس الجزء من الشبكة الذي يحوي الحاسوب الهدف، ويتعرف الحاسوب الهدف على عنوانه ويفتح الطرد أو الحزمة، ثم يرسل حزمة تأكيد مرةً أخرى إلى المرسل ليخبره أن الرسالة قد وصلت.
</p>

<p>
	وللحزم قيمة عظمى لا تتعداها، فيما يتعلق بحجم البيانات التي ترسلها، خلافًا للخدمات البريدية التقليدية، ويمكن تشبيه ذلك بخدمة لإرسال خطاب يتكون من ورقة واحدة فقط، أما الرسائل الطويلة فنحتاج إلى إرسالها في عدة خطابات يحوي كل منها ورقةً واحدةً فقط، ويجب على الطرف المستقبل أن يجمع تلك الأجزاء بالترتيب، حيث يضاف رقم متسلسل إلى الورقة -مثل ترقيم الصفحات-، وذلك لتُرسَل رسالة خطأ من المستقبل إلى المرسل إذا لم تصل صفحة ما أو لم تظهر في الوقت المحدد لها، وعلى الرغم من انتفاء الحاجة إلى ذلك غالبًا، لأن الحاسوب يتكفل به وكذلك نظام التشغيل وبرمجيات الشبكات، لكن هذه الأمور تستحق أن نعلمها على أي حال، نظرًا لتعذر الاعتماد على موثوقية نقل البيانات أو استمراريته عند استخدام شبكة ما، إذ تقع الأخطاء العرضية بلا شك، ويجب أن نكون مستعدين لفقدان البيانات أو تلفها.
</p>

<h2>
	الاتصال بالشبكة
</h2>

<p>
	لنترك الكلام المجرد ولندرس التفاصيل العملية لكيفية كتابة تطبيق متصل بالشبكة، حيث نحتاج إلى إنشاء برنامج يعمل مثل <a href="https://academy.hsoub.com/devops/servers/%D9%85%D8%AF%D8%AE%D9%84-%D8%A5%D9%84%D9%89-%D8%AE%D8%A7%D8%AF%D9%85-%D8%A7%D9%84%D9%88%D9%8A%D8%A8-r574/" rel="">خادم server</a> ويكون على حاسوب ما، وبرنامج للعميل client على حاسوب أو عدة حواسيب أخرى متصلة بالشبكة التي يتصل بها الخادم، كما نحتاج إلى آلية تتيح التواصل بين البرنامجين وتعمل في كامل الشبكة، وقد رأينا أن لكل حاسوب عنوانًا، يتكون من <a href="https://academy.hsoub.com/certificates/cisco/ccna/%d8%a8%d9%86%d8%a7%d8%a1-%d9%85%d8%ae%d8%b7%d8%b7-%d9%84%d8%b9%d9%86%d8%a7%d9%88%d9%8a%d9%86-ip-%d8%b9%d8%a8%d8%b1-%d8%a7%d9%84%d8%b4%d8%a8%d9%83%d8%a7%d8%aa-%d8%a7%d9%84%d9%81%d8%b1%d8%b9%d9%8a%d8%a9-%d8%b9%d9%86%d8%af-%d8%a8%d9%86%d8%a7%d8%a1-%d8%a7%d9%84%d8%b4%d8%a8%d9%83%d8%a7%d8%aa-r23/" rel="">عنوان IP</a> الذي يحوي أربعة أرقام تفصل بينها نقاط، لا شك أننا رأيناها من قبل في عناوين الويب، ويضيف التطبيق المتصل بالشبكة عنصرًا آخر إلى ذلك العنوان، يُعرف باسم المنفذ port.
</p>

<h3>
	المنافذ والبروتوكولات
</h3>

<p>
	يُحدَّد المنفذ بنقطتين رأسيتين <code>:</code> متبوعتين برقم المنفذ، ويضاف ذلك إلى عنوان IP العادي، فنصل مثلًا إلى المنفذ 80 في العنوان <code>127.0.0.1</code> بالشكل <code>127.0.0.1:80</code>، وتُحفظ بعض أرقام المنافذ لأغراض خاصة تكون في الغالب لبروتوكولات تطبيقات الإنترنت المختلفة، والبروتوكول -أو الميثاق- هو مجموعة من القواعد وتعريفات الرسائل التي تحدد كيفية عمل الخدمة، فالمنفذ 80 هو المنفذ القياسي المستخدم في خوادم الويب لطلبات http، أما المنفذ 25 فيُستخدم لبريد SMTP، وبناء عليه يتصرف الحاسوب مثل خادم لبعض الخدمات في نفس الوقت، بعرض تلك الخدمات من خلال منافذها المختلفة، ويمكن توضيح هذا بسهولة بإضافة رقم المنفذ 80 إلى عنوان خادم الويب مثل http://www.google.com:80، حيث ينبغي أن تفتح الصفحة بلا مشاكل لأن المتصفح يتصل بالمنفذ 80 افتراضيًا إن لم يتوفر منفذ آخر، لهذا يكثر استخدام المنفذ 8080 مثل منفذ اختبار للإصدارات الجديدة من مواقع الويب قبل إطلاقها.
</p>

<p>
	ورغم قلة عدد تلك المنافذ المحجوزة إلا أننا نستطيع استخدام أرقام المنافذ التي بين 1000 و60000 للتطبيقات المخصصة bespoke applications دون تعارض، لكن يفضل جعل رقم المنفذ قابلًا للإعداد من خلال متغير لبيئة النظام مثلًا، أو ملف إعدادات config file، أو بواسطة معامل سطر أوامر، نظرًا لوجود احتمال -ولو ضئيل- أن يختار برنامج آخر نفس المنفذ على الحاسوب، ولن نشرح ذلك هنا لكن يجب الانتباه إلى أنه وارد في التطبيقات الحقيقية، حين لا يكون لدينا تحكم كامل بحاسوب الخادم، لذا يجب اتخاذ مثل تلك الاحتياطات.
</p>

<p>
	بعد أن عرفنا الآلية، فإن السؤال التالي هو: كيف نصل الشيفرة بأحد تلك المنافذ؟
</p>

<h2>
	المقابس Sockets
</h2>

<p>
	المقابس هي أبسط آلية اتصال يمكن استخدامها بين الشبكات، وفيها يُقدَّم المقبس للشبكة على أنه منفذ في عنوان IP، وتُنشأ المقابس في بايثون وتُستخدم من خلال استيراد وحدة <code>socket</code>، ويجب أن نكتب خادمًا لينشئ المقبس، ويربطه مع منفذ، لنتمكن بعدها من استخدامه، ونراقب ذلك المقبس منتظرين الطلبات الواردة إليه، ثم نكتب عميلًا ليتصل بالمقبس على ذلك المنفذ، ثم يتصل العميل بالمنفذ ويقبل الخادم ذلك الاتصال، ثم ينشئ الخادم منفذًا مؤقتًا جديدًا يُستخدم لعملية التواصل -أي عمليات الإرسال والاستقبال send/recv الفعلية- مع الخادم أثناء عملية النقل، مما يحرر المنفذ لمزيد من طلبات الاتصال.
</p>

<p>
	يمكن توضيح ما سبق في الصورة التالية:
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="95236" href="https://academy.hsoub.com/uploads/monthly_2022_04/socket.png.b16516064cf9f4c5ec1a6b6337f12daf.png" rel="" data-fileext="png"><img alt="socket.png" class="ipsImage ipsImage_thumbnailed" data-fileid="95236" data-unique="09spun6mv" style="width: 550px; height: auto;" src="https://academy.hsoub.com/uploads/monthly_2022_04/socket.png.b16516064cf9f4c5ec1a6b6337f12daf.png"></a>
</p>

<p>
	تظهر هنا مشكلة اختبار مثل تلك التطبيقات، إذ لا نستطيع أن نعرف إن كان الخادم يعمل أم لا بدون العميل، كذلك فإن العميل لا يستطيع فعل شيء دون الخادم، لذا ينبغي أن يكون لدينا كل من العميل والخادم.
</p>

<p>
	غير أنه يمكن إنشاء أي عدد من العملاء الآخرين بمجرد كتابة الخادم، شرط أن يتصلوا بمقبسه من خلال بروتوكول الرسائل المناسب، ونرى أمثلة ذلك في متصفحات الويب المختلفة التي تستطيع جميعها أن تتصل بأي خادم http، ويمكن بطريقة مماثلة كتابة العديد من الخوادم المختلفة بمجرد نشر البروتوكول، وينبغي هنا ألا توجد مشكلة في عمل أي عميل وأي خادم معًا، وهذا السلوك هو أحد أسباب انتشار تلك التطبيقات، فهو يشكل بيئةً مفتوحةً وقابلةً للتوسع، تكون فيها إحدى نهايات أي زوج من أزواج العميل/الخادم قابلةً للتحسين دون تعطيل النهاية الأخرى.
</p>

<h2>
	إنشاء الخادم
</h2>

<p>
	سننشئ خادمًا بسيطًا يستجيب للطلبات بأن يعيد رسالة ترحيب وعدد الطلبات التي عالجها من قبل.
</p>

<pre class="ipsCode prettyprint lang-javascript prettyprinted" id="ips_uid_518_10" style=""><span class="kwd">import</span><span class="pln"> socket

</span><span class="pun">#</span><span class="pln"> </span><span class="typ">STREAMing</span><span class="pln"> </span><span class="pun">و</span><span class="pln"> </span><span class="typ">InterNET</span><span class="pln"> </span><span class="pun">أنشئ</span><span class="pln"> </span><span class="pun">مقبس</span><span class="pln"> 
</span><span class="pun">#</span><span class="pln"> TCP</span><span class="pun">/</span><span class="pln">IP </span><span class="pun">المعروف</span><span class="pln"> </span><span class="pun">باسم</span><span class="pln">
serversocket </span><span class="pun">=</span><span class="pln"> socket</span><span class="pun">.</span><span class="pln">socket</span><span class="pun">(</span><span class="pln">socket</span><span class="pun">.</span><span class="pln">AF_INET</span><span class="pun">,</span><span class="pln"> socket</span><span class="pun">.</span><span class="pln">SOCK_STREAM</span><span class="pun">)</span><span class="pln">

</span><span class="pun">#</span><span class="pln"> </span><span class="pun">والمنفذ</span><span class="pln"> </span><span class="lit">2007</span><span class="pln"> localhost </span><span class="pun">استخدم</span><span class="pln">
serversocket</span><span class="pun">.</span><span class="pln">bind</span><span class="pun">((</span><span class="str">'localhost'</span><span class="pun">,</span><span class="pln"> </span><span class="lit">2007</span><span class="pun">))</span><span class="pln">

</span><span class="pun">#</span><span class="pln"> </span><span class="pun">استعد</span><span class="pln"> </span><span class="pun">لاستقبال</span><span class="pln"> </span><span class="pun">الطلبات</span><span class="pln">
serversocket</span><span class="pun">.</span><span class="pln">listen</span><span class="pun">(</span><span class="lit">5</span><span class="pun">)</span><span class="pln">

connections </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pln">
</span><span class="kwd">while</span><span class="pln"> </span><span class="typ">True</span><span class="pun">:</span><span class="pln">
  </span><span class="pun">#</span><span class="pln"> </span><span class="pun">عالج</span><span class="pln"> </span><span class="pun">الاتصالات</span><span class="pln"> </span><span class="pun">من</span><span class="pln"> </span><span class="pun">العملاء</span><span class="pln">
  </span><span class="pun">(</span><span class="pln">clientSocket</span><span class="pun">,</span><span class="pln"> address</span><span class="pun">)</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> serversocket</span><span class="pun">.</span><span class="pln">accept</span><span class="pun">()</span><span class="pln">
  connections </span><span class="pun">+=</span><span class="pln"> </span><span class="lit">1</span><span class="pln">
  print</span><span class="pun">(</span><span class="pln"> </span><span class="str">"Connection %d using port %d"</span><span class="pln"> </span><span class="pun">%</span><span class="pln"> </span><span class="pun">(</span><span class="pln">connections</span><span class="pun">,</span><span class="pln"> address</span><span class="pun">[</span><span class="lit">1</span><span class="pun">])</span><span class="pln"> </span><span class="pun">)</span><span class="pln">

  </span><span class="pun">#</span><span class="pln"> clientSocket </span><span class="pun">افعل</span><span class="pln"> </span><span class="pun">شيئًا</span><span class="pln"> </span><span class="pun">باستخدام</span><span class="pln">
  </span><span class="kwd">while</span><span class="pln"> </span><span class="typ">True</span><span class="pun">:</span><span class="pln">
     req </span><span class="pun">=</span><span class="pln"> clientSocket</span><span class="pun">.</span><span class="pln">recv</span><span class="pun">(</span><span class="lit">100</span><span class="pun">)</span><span class="pln">
     </span><span class="kwd">if</span><span class="pln"> not req</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">break</span><span class="pln"> </span><span class="pun">#</span><span class="pln"> client closed connection
     message </span><span class="pun">=</span><span class="pln"> </span><span class="str">'Thankyou!, processed connection number %d'</span><span class="pln"> </span><span class="pun">%</span><span class="pln"> connections
     clientSocket</span><span class="pun">.</span><span class="pln">send</span><span class="pun">(</span><span class="pln">message</span><span class="pun">)</span><span class="pln">
  clientSocket</span><span class="pun">.</span><span class="pln">close</span><span class="pun">()</span></pre>

<p>
	نلاحظ هنا عدة أمور:
</p>

<ul>
	<li>
		يشير هذا المزيج من <code>AF_INET</code> و<code>SOCK_STREAM</code> إلى أننا سنستخدم <a href="https://academy.hsoub.com/devops/servers/%d8%aa%d8%b9%d8%b1%d9%81-%d8%b9%d9%84%d9%89-%d8%a8%d8%b1%d9%88%d8%aa%d9%88%d9%83%d9%88%d9%84-tcpip-%d9%88%d8%a8%d8%b9%d8%b6-%d9%85%d9%86-%d8%ae%d8%af%d9%85%d8%a7%d8%aa%d9%87-r169/" rel="">بروتوكول TCP/IP</a>، وكل بروتوكولات عناوين IP الأخرى متاحة من خلال استخدام تجميعات ثوابت أخرى، لكن TCP/IP هو الأشهر منها وهو ما سنستخدمه.
	</li>
	<li>
		مررنا القيمة <code>5</code> إلى <code>listen()‎</code>، وهي تمثل العدد الأقصى للاتصالات التي يمكن أن تنتظر في طابور المنفذ، لأننا نُعالج الطلب قبل أن تتجمع طلبات كثيرة في قائمة الانتظار تلك، ونشتق عمليةً مستقلةً لتنفيذ المعالجة الحقيقية إذا أردنا تحسين كفاءتها -انظر الملاحظة الخامسة أدناه-، مما يسمح للخادم أن يسحب الرسائل من قائمة الانتظار في أسرع وقت ممكن، ولا نحتاج زيادة عدد الاتصالات المسموح لها بالانتظار عن 5 اتصالات إلا في حالة الخوادم شديدة الزحام.
	</li>
	<li>
		ينشئ العملاء اتصالًا جديدًا لكل عملية تبادل بيانات، ولا تكون لدينا بيانات متاحة إذا انتهت عملية التبادل، وحينئذ ننهي حلقة <code>while</code> الداخلية ونعود إلى انتظار اتصال جديد.
	</li>
	<li>
		عالجنا طلب العميل في شيفرة الخادم، ولا بأس بهذا لأنها معالجة طفيفة، لكنها قد تستغرق وقتًا كبيرًا إذا كانت في أحد التطبيقات التجارية الكبيرة، عندها نشتق عمليةً أخرى في تلك الحالة لمعالجة تلك العملية خاصةً -ربما باستخدام وحدة <code>subprocess</code> التي ذكرناها في<a href="https://academy.hsoub.com/programming/python/%D8%A7%D9%84%D8%AA%D9%88%D8%A7%D8%B5%D9%84-%D9%85%D8%B9-%D9%86%D8%B8%D8%A7%D9%85-%D8%A7%D9%84%D8%AA%D8%B4%D8%BA%D9%8A%D9%84-%D8%B9%D8%A8%D8%B1-%D8%A8%D8%A7%D9%8A%D8%AB%D9%88%D9%86-r1520/" rel=""> مقال نظم التشغيل</a>-، ونترك الخادم يعود لسحب الطلبات من قائمة انتظاره.
	</li>
	<li>
		لا توجد طريقةً لإنهاء عملية الخادم، فهي تعمل بلا نهاية إلا إذا حدث خطأ، فإذا أردنا إنهاءها فسنستخدم أداةً من نظام التشغيل نفسه، من خلال برنامج TaskManager في ويندوز مثلًا، أو <code>kill</code> في يونكس.
	</li>
</ul>

<p>
	ينبغي أن يكون الخادم جاهزًا للعمل الآن وينتظر طلبات العملاء، لكن ليس لدينا عميل ليرسل تلك الطلبات، لذا سننشئه الآن.
</p>

<h2>
	إنشاء العميل
</h2>

<p>
	إنشاء العميل client هي عملية سهلة بقدر سهولة إنشاء الخادم، إذ يرسل طلبات متكررةً إلى الخادم بفواصل زمنية قدرها ثانية واحدة، ويطبع استجابة الخادم:
</p>

<pre class="ipsCode prettyprint lang-javascript prettyprinted" id="ips_uid_518_13" style=""><span class="kwd">import</span><span class="pln"> socket</span><span class="pun">,</span><span class="pln">time

</span><span class="pun">#</span><span class="pln"> </span><span class="pun">أنشئ</span><span class="pln"> </span><span class="pun">المقبس</span><span class="pln">
serverAddress </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="str">'localhost'</span><span class="pun">,</span><span class="lit">2007</span><span class="pun">)</span><span class="pln">

 </span><span class="pun">#</span><span class="pln"> </span><span class="pun">أرسل</span><span class="pln"> </span><span class="pun">بعض</span><span class="pln"> </span><span class="pun">الطلبات</span><span class="pln">
</span><span class="kwd">for</span><span class="pln"> n in range</span><span class="pun">(</span><span class="lit">5</span><span class="pun">):</span><span class="pln">
   sock </span><span class="pun">=</span><span class="pln"> socket</span><span class="pun">.</span><span class="pln">socket</span><span class="pun">(</span><span class="pln">socket</span><span class="pun">.</span><span class="pln">AF_INET</span><span class="pun">,</span><span class="pln"> socket</span><span class="pun">.</span><span class="pln">SOCK_STREAM</span><span class="pun">)</span><span class="pln">
   sock</span><span class="pun">.</span><span class="pln">connect</span><span class="pun">(</span><span class="pln">serverAddress</span><span class="pun">)</span><span class="pln">
   </span><span class="kwd">try</span><span class="pun">:</span><span class="pln">
      sock</span><span class="pun">.</span><span class="pln">send</span><span class="pun">(</span><span class="str">'dummy request\n'</span><span class="pun">)</span><span class="pln">
      data </span><span class="pun">=</span><span class="pln"> sock</span><span class="pun">.</span><span class="pln">recv</span><span class="pun">(</span><span class="lit">100</span><span class="pun">)</span><span class="pln">
      </span><span class="kwd">if</span><span class="pln"> not data</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">break</span><span class="pln"> </span><span class="pun">#</span><span class="pln"> </span><span class="pun">لا</span><span class="pln"> </span><span class="pun">توجد</span><span class="pln"> </span><span class="pun">بيانات</span><span class="pln"> </span><span class="pun">من</span><span class="pln"> </span><span class="pun">الخادم</span><span class="pln">
      print</span><span class="pun">(</span><span class="pln"> data </span><span class="pun">)</span><span class="pln">
      time</span><span class="pun">.</span><span class="pln">sleep</span><span class="pun">(</span><span class="lit">1</span><span class="pun">)</span><span class="pln">
   finally</span><span class="pun">:</span><span class="pln">   
      </span><span class="pun">#</span><span class="pln"> </span><span class="pun">نرتب</span><span class="pln"> </span><span class="pun">الآن</span><span class="pln"> </span><span class="pun">ما</span><span class="pln"> </span><span class="pun">سبق</span><span class="pln">
      sock</span><span class="pun">.</span><span class="pln">close</span><span class="pun">()</span></pre>

<p>
	لدينا بعض الملاحظات هنا:
</p>

<ul>
	<li>
		نستخدم <code>connect</code> للوصول إلى المقبس، ثم نستخدم نفس واجهة <code>send/recv</code> التي يستخدمها الخادم، لكن يكون التسلسل معكوسًا لأن العميل هو الذي يبدأ عملية تبادل البيانات.
	</li>
	<li>
		كان من الممكن إرسال أو استقبال بيانات أكثر في عملية واحدة، لكننا اخترنا هذه الطريقة ببساطة لإبراز أرقام الاتصال المختلفة القادمة من الخادم، فالعميل هو الذي يقرر متى ينهي عملية التبادل وليس الخادم، إلا إذا حدث خطأ ما.
	</li>
	<li>
		لاحظ استخدام <code>try/finally</code> لضمان إغلاق المقبس حتى في حالة رفع استثناء exception، وهذا مفيد لتقليل المراجعة والتصحيح لاحقًا، لأن بعض <a href="https://academy.hsoub.com/files/24-%D8%A3%D9%86%D8%B8%D9%85%D8%A9-%D8%A7%D9%84%D8%AA%D8%B4%D8%BA%D9%8A%D9%84-%D9%84%D9%84%D9%85%D8%A8%D8%B1%D9%85%D8%AC%D9%8A%D9%86/" rel="">أنظمة التشغيل</a> تترك المقابس مفتوحةً لفترة طويلة، مما يعني أنها ستستهلك موارد النظام.
	</li>
</ul>

<h2>
	تشغيل البرامج
</h2>

<p>
	نريد أن نتأكد أن الخادم يعمل أولًا قبل أن نستطيع تشغيل البرامج، ثم نبدأ برنامج عميل واحد أو أكثر ليتصل به، ولا نستطيع تشغيل هذه البرامج عبر الشبكة لأننا جعلنا الخادم على الحاسوب المحلي فقط <code>localhost</code>، لذا نحتاج إلى بدء عدد من جلسات الطرفية على حاسوبنا.
</p>

<p>
	توضح الصورة التالية الخادم وهو يعمل على يمين الصورة، واثنين من العملاء على يسارها:
</p>

<p style="text-align: center;">
	<img alt="sockdemo.jpg" class="ipsImage ipsImage_thumbnailed" data-fileid="95235" data-unique="fs2ec7n4z" style="width: 700px; height: auto;" src="https://academy.hsoub.com/uploads/monthly_2022_04/sockdemo.jpg.2dc365b435f5555b798ccd44f51edd46.jpg">
</p>

<p>
	لاحظ أن خرج كلا العميلين يُظهر تسلسل الرسائل التي استلمت من الخادم، وتُظهر رسائل الخادم الاتصالات وأرقام المنافذ المؤقتة المسندة إلى الخادم.
</p>

<h2>
	دليل جهات الاتصال الشبكي
</h2>

<p>
	بنينا في <a href="https://academy.hsoub.com/programming/general/%D8%A7%D9%84%D8%AA%D9%88%D8%A7%D8%B5%D9%84-%D8%A8%D9%8A%D9%86-%D8%A7%D9%84%D8%B9%D9%85%D9%84%D9%8A%D8%A7%D8%AA-%D9%81%D9%8A-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-r1521/" rel="">المقال السابق: التواصل بين العمليات</a> نسخةً تعمل على خادم من دليل جهات الاتصال الذي نطوره، وسميناها address_srv.py، وسنستخدمها في هذا المقال لبناء نسخة مبنية على المقابس، وسيكون الاختلاف الواضح بين نسخة IPC السابقة وبين هذه النسخة هو إمكانية وجود أكثر من عميل واحد يستطيع الوصول إلى دليل جهات الاتصال، وسيكون العملاء على حواسيب مختلفة قطعًا.
</p>

<p>
	وكانت الدوال التي المتاحة في <code>address_srv</code> هي:
</p>

<ul>
	<li>
		<code>‎readBook(filename)‎</code>
	</li>
	<li>
		<code>‎saveBook(book,filename)‎</code>
	</li>
	<li>
		<code>‎addEntry(book, name, data)‎</code>
	</li>
	<li>
		<code>‎removeEntry(book, name)‎</code>
	</li>
	<li>
		<code>‎findEntry(book, name)‎</code>
	</li>
</ul>

<h3>
	برنامج الخادم
</h3>

<p>
	لا زلنا بحاجة إلى كتابة برنامج خادم يعالج الطلبات الواردة من العملاء ويستدعي الدالة المناسبة، رغم أننا حولنا البرنامج إلى دوال مخدمات server style functions في المرة السابقة، وتسمى مثل تلك الآلية ببعث الرسائل dispatching messages، وستكون الشيفرة شبيهةً للغاية بالأمثلة البسيطة السابقة.
</p>

<p>
	سيكون البرنامج الرئيسي كما يلي:
</p>

<pre class="ipsCode prettyprint lang-javascript prettyprinted" id="ips_uid_518_17" style=""><span class="kwd">import</span><span class="pln"> socket</span><span class="pun">,</span><span class="pln"> address_srv

addresses </span><span class="pun">=</span><span class="pln"> address_srv</span><span class="pun">.</span><span class="pln">readBook</span><span class="pun">()</span><span class="pln">

</span><span class="pun">#</span><span class="pln"> </span><span class="pun">أعد</span><span class="pln"> </span><span class="pun">المقبس</span><span class="pln">
serversocket </span><span class="pun">=</span><span class="pln"> socket</span><span class="pun">.</span><span class="pln">socket</span><span class="pun">(</span><span class="pln">socket</span><span class="pun">.</span><span class="pln">AF_INET</span><span class="pun">,</span><span class="pln"> socket</span><span class="pun">.</span><span class="pln">SOCK_STREAM</span><span class="pun">)</span><span class="pln">
serversocket</span><span class="pun">.</span><span class="pln">bind</span><span class="pun">((</span><span class="str">'localhost'</span><span class="pun">,</span><span class="pln"> </span><span class="lit">2007</span><span class="pun">))</span><span class="pln">
serversocket</span><span class="pun">.</span><span class="pln">listen</span><span class="pun">(</span><span class="lit">5</span><span class="pun">)</span><span class="pln">

print</span><span class="pun">(</span><span class="pln"> </span><span class="str">'Server started and listening on port 2007...'</span><span class="pln"> </span><span class="pun">)</span><span class="pln">

</span><span class="pun">#</span><span class="pln"> </span><span class="pun">عالج</span><span class="pln"> </span><span class="pun">الاتصالات</span><span class="pln"> </span><span class="pun">من</span><span class="pln"> </span><span class="pun">العملاء</span><span class="pln">
</span><span class="kwd">while</span><span class="pln"> </span><span class="typ">True</span><span class="pun">:</span><span class="pln">
   </span><span class="pun">(</span><span class="pln">clientSocket</span><span class="pun">,</span><span class="pln"> address</span><span class="pun">)</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> serversocket</span><span class="pun">.</span><span class="pln">accept</span><span class="pun">()</span><span class="pln">

   </span><span class="pun">#</span><span class="pln"> </span><span class="pun">عالج</span><span class="pln"> </span><span class="pun">أوامر</span><span class="pln"> </span><span class="pun">دليل</span><span class="pln"> </span><span class="pun">جهات</span><span class="pln"> </span><span class="pun">الاتصال</span><span class="pln">
   </span><span class="kwd">while</span><span class="pln"> </span><span class="typ">True</span><span class="pun">:</span><span class="pln">
       s </span><span class="pun">=</span><span class="pln"> clientSocket</span><span class="pun">.</span><span class="pln">recv</span><span class="pun">(</span><span class="lit">1024</span><span class="pun">)</span><span class="pln">
       </span><span class="kwd">try</span><span class="pun">:</span><span class="pln"> cmd</span><span class="pun">,</span><span class="pln">data </span><span class="pun">=</span><span class="pln"> s</span><span class="pun">.</span><span class="pln">split</span><span class="pun">(</span><span class="str">':'</span><span class="pun">)</span><span class="pln">
       except </span><span class="typ">ValueError</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">break</span><span class="pln">
       print</span><span class="pun">(</span><span class="pln"> </span><span class="str">'received request: '</span><span class="pun">,</span><span class="pln"> cmd </span><span class="pun">)</span><span class="pln">
       </span><span class="kwd">if</span><span class="pln"> cmd </span><span class="pun">==</span><span class="pln"> </span><span class="str">"add"</span><span class="pun">:</span><span class="pln">
          details </span><span class="pun">=</span><span class="pln"> data</span><span class="pun">.</span><span class="pln">split</span><span class="pun">(</span><span class="str">','</span><span class="pun">)</span><span class="pln">
          name </span><span class="pun">=</span><span class="pln"> details</span><span class="pun">[</span><span class="lit">0</span><span class="pun">]</span><span class="pln">
          entry </span><span class="pun">=</span><span class="pln"> </span><span class="str">','</span><span class="pun">.</span><span class="pln">join</span><span class="pun">(</span><span class="pln">details</span><span class="pun">[</span><span class="lit">1</span><span class="pun">:])</span><span class="pln">
          s </span><span class="pun">=</span><span class="pln"> address_srv</span><span class="pun">.</span><span class="pln">addEntry</span><span class="pun">(</span><span class="pln">addresses</span><span class="pun">,</span><span class="pln"> name</span><span class="pun">,</span><span class="pln"> entry</span><span class="pun">)</span><span class="pln">
          address_srv</span><span class="pun">.</span><span class="pln">saveBook</span><span class="pun">(</span><span class="pln">addresses</span><span class="pun">)</span><span class="pln">
       elif cmd </span><span class="pun">==</span><span class="pln"> </span><span class="str">"rem"</span><span class="pun">:</span><span class="pln">
          s </span><span class="pun">=</span><span class="pln"> address_srv</span><span class="pun">.</span><span class="pln">removeEntry</span><span class="pun">(</span><span class="pln">addresses</span><span class="pun">,</span><span class="pln"> data</span><span class="pun">)</span><span class="pln">
          address_srv</span><span class="pun">.</span><span class="pln">saveBook</span><span class="pun">(</span><span class="pln">addresses</span><span class="pun">)</span><span class="pln">
       elif cmd </span><span class="pun">==</span><span class="pln"> </span><span class="str">"fnd"</span><span class="pun">:</span><span class="pln">
          s </span><span class="pun">=</span><span class="pln"> address_srv</span><span class="pun">.</span><span class="pln">findEntry</span><span class="pun">(</span><span class="pln">addresses</span><span class="pun">,</span><span class="pln"> data</span><span class="pun">)</span><span class="pln">
       </span><span class="kwd">else</span><span class="pun">:</span><span class="pln"> s </span><span class="pun">=</span><span class="pln"> </span><span class="str">"ERROR: Unrecognised command: "</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> cmd
       clientSocket</span><span class="pun">.</span><span class="pln">send</span><span class="pun">(</span><span class="pln">s</span><span class="pun">)</span><span class="pln">
   clientSocket</span><span class="pun">.</span><span class="pln">close</span><span class="pun">()</span></pre>

<p>
	نلاحظ هنا أن شيفرة المعالجة الرئيسية للمقبس هي نفسها الشيفرة السابقة، بينما وضعنا معالجة بيانات الطلب في بنية <code>try/except</code> لالتقاط البيانات غير المكتملة من العميل، أما غير ذلك فإن هذه النسخة تكاد تطابق نسخة IPC في المقال السابق.
</p>

<h3>
	برنامج العميل
</h3>

<p>
	صار لدينا الآن خادم يعمل في الخلفية، ونريد كتابة برنامج عميل يتحدث إليه، وسيكون مشابهًا لنسخة IPC أيضًا، لكنه سيوجد في سكربت خاصة به، وسنتمكن من تشغيل أكثر من نسخة في نفس الوقت:
</p>

<pre class="ipsCode prettyprint lang-javascript prettyprinted" id="ips_uid_518_19" style=""><span class="kwd">import</span><span class="pln"> socket

serverAddress </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="str">'localhost'</span><span class="pun">,</span><span class="pln"> </span><span class="lit">2007</span><span class="pun">)</span><span class="pln">
menu </span><span class="pun">=</span><span class="pln"> </span><span class="str">'''</span><span class="pln">
    </span><span class="lit">1</span><span class="pun">)</span><span class="pln"> </span><span class="typ">Add</span><span class="pln"> </span><span class="typ">Entry</span><span class="pln">
    </span><span class="lit">2</span><span class="pun">)</span><span class="pln"> </span><span class="typ">Delete</span><span class="pln"> </span><span class="typ">Entry</span><span class="pln">
    </span><span class="lit">3</span><span class="pun">)</span><span class="pln"> </span><span class="typ">Find</span><span class="pln"> </span><span class="typ">Entry</span><span class="pln">

    </span><span class="lit">4</span><span class="pun">)</span><span class="pln"> </span><span class="typ">Quit</span><span class="pln">
</span><span class="str">'''</span><span class="pln">

</span><span class="pun">#</span><span class="pln"> </span><span class="pun">اتصل</span><span class="pln"> </span><span class="pun">بالخادم</span><span class="pln">
sock </span><span class="pun">=</span><span class="pln"> socket</span><span class="pun">.</span><span class="pln">socket</span><span class="pun">(</span><span class="pln">socket</span><span class="pun">.</span><span class="pln">AF_INET</span><span class="pun">,</span><span class="pln"> socket</span><span class="pun">.</span><span class="pln">SOCK_STREAM</span><span class="pun">)</span><span class="pln">
sock</span><span class="pun">.</span><span class="pln">connect</span><span class="pun">(</span><span class="pln">serverAddress</span><span class="pun">)</span><span class="pln"> 

</span><span class="kwd">while</span><span class="pln"> </span><span class="typ">True</span><span class="pun">:</span><span class="pln">
    print</span><span class="pun">(</span><span class="pln"> menu </span><span class="pun">)</span><span class="pln">
    </span><span class="kwd">try</span><span class="pun">:</span><span class="pln"> choice </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">int</span><span class="pun">(</span><span class="pln">input</span><span class="pun">(</span><span class="str">'Choose an option[1-4] '</span><span class="pun">))</span><span class="pln">
    except</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">continue</span><span class="pln">
    </span><span class="kwd">if</span><span class="pln"> choice </span><span class="pun">==</span><span class="pln"> </span><span class="lit">1</span><span class="pun">:</span><span class="pln">
        name </span><span class="pun">=</span><span class="pln"> input</span><span class="pun">(</span><span class="str">'Enter the name: '</span><span class="pun">)</span><span class="pln">
        num </span><span class="pun">=</span><span class="pln"> input</span><span class="pun">(</span><span class="str">'Enter the House number: '</span><span class="pun">)</span><span class="pln">
        street</span><span class="pun">=</span><span class="pln"> input</span><span class="pun">(</span><span class="str">'Enter the Street name: '</span><span class="pun">)</span><span class="pln">
        town </span><span class="pun">=</span><span class="pln"> input</span><span class="pun">(</span><span class="str">'Enter the Town: '</span><span class="pun">)</span><span class="pln">
        phone </span><span class="pun">=</span><span class="pln"> input</span><span class="pun">(</span><span class="str">'Enter the Phone number: '</span><span class="pun">)</span><span class="pln">
        data </span><span class="pun">=</span><span class="pln"> </span><span class="str">"%s,%s %s, %s, %s"</span><span class="pln"> </span><span class="pun">%</span><span class="pln"> </span><span class="pun">(</span><span class="pln">name</span><span class="pun">,</span><span class="pln">num</span><span class="pun">,</span><span class="pln">street</span><span class="pun">,</span><span class="pln">town</span><span class="pun">,</span><span class="pln">phone</span><span class="pun">)</span><span class="pln">
        cmd </span><span class="pun">=</span><span class="pln"> </span><span class="str">"add:%s"</span><span class="pln"> </span><span class="pun">%</span><span class="pln"> data
    elif choice </span><span class="pun">==</span><span class="pln"> </span><span class="lit">2</span><span class="pun">:</span><span class="pln"> 
        name </span><span class="pun">=</span><span class="pln"> input</span><span class="pun">(</span><span class="str">'Enter the name: '</span><span class="pun">)</span><span class="pln">
        cmd </span><span class="pun">=</span><span class="pln"> </span><span class="str">'rem:%s'</span><span class="pln"> </span><span class="pun">%</span><span class="pln"> name
    elif choice </span><span class="pun">==</span><span class="pln"> </span><span class="lit">3</span><span class="pun">:</span><span class="pln"> 
        name </span><span class="pun">=</span><span class="pln"> input</span><span class="pun">(</span><span class="str">'Enter the name: '</span><span class="pun">)</span><span class="pln">
        cmd </span><span class="pun">=</span><span class="pln"> </span><span class="str">'fnd:%s'</span><span class="pln"> </span><span class="pun">%</span><span class="pln"> name
    elif choice </span><span class="pun">==</span><span class="pln"> </span><span class="lit">4</span><span class="pun">:</span><span class="pln"> 
        </span><span class="kwd">break</span><span class="pln">
    </span><span class="kwd">else</span><span class="pun">:</span><span class="pln">
        print</span><span class="pun">(</span><span class="pln"> </span><span class="str">"Invalid choice, must be between 1 and 4."</span><span class="pln"> </span><span class="pun">)</span><span class="pln">
        </span><span class="kwd">continue</span><span class="pln">

    </span><span class="pun">#</span><span class="pln"> </span><span class="pun">تحدث</span><span class="pln"> </span><span class="pun">إلى</span><span class="pln"> </span><span class="pun">الخادم</span><span class="pln">
    </span><span class="kwd">try</span><span class="pun">:</span><span class="pln">
        sock</span><span class="pun">.</span><span class="pln">send</span><span class="pun">(</span><span class="pln">cmd</span><span class="pun">)</span><span class="pln">
        data </span><span class="pun">=</span><span class="pln"> sock</span><span class="pun">.</span><span class="pln">recv</span><span class="pun">(</span><span class="lit">250</span><span class="pun">)</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> not data</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">break</span><span class="pln">  </span><span class="pun">#</span><span class="pln"> no data from server
        print</span><span class="pun">(</span><span class="pln"> data </span><span class="pun">)</span><span class="pln">
    finally</span><span class="pun">:</span><span class="pln">
        sock</span><span class="pun">.</span><span class="pln">close</span><span class="pun">()</span></pre>

<p>
	نلاحظ هنا أن عملية معالجة القائمة هي نفسها في المثال السابق، وأن أوامر الاتصالات مجموعة في بضعة أسطر في الأسفل، وهذا أيضًا مشابه لمثال العميل الذي تقدم شرحه.
</p>

<h2>
	الانتقال إلى الشبكة
</h2>

<p>
	كانت مقابسنا إلى الآن على حاسوب محلي، ونريد أن ننقلها إلى شبكة حقيقية ويكون لدينا عمليات عميل/خادم حقيقية أيضًا، ويسهل تنفيذ ذلك بتغيير العناوين المستخدمة في استدعاء <code>bind()‎</code> في الخادم واستدعاء <code>connect()‎</code> في العميل، واستبدال عنوان IP -سواءً النسخة الرقمية أو الاسمية منه- للحاسوب الذي يعمل عليه الخادم بالمرجع المشير إلى <code>'localhost'</code>، ويمكن تشغيل عدة نسخ من العميل على كل حاسوب في نفس الوقت إذا كان لدينا عدة أجهزة على نفس الشبكة، وسيعالج الخادم الطلبات من تلك النسخ.
</p>

<p>
	أما في الحياة العملية فقد نبذل مزيدًا من الجهد في التعامل مع تحليل <a href="https://academy.hsoub.com/devops/servers/%d9%85%d9%82%d8%af%d9%91%d9%85%d8%a9-%d8%a5%d9%84%d9%89-%d9%85%d9%8f%d8%b5%d8%b7%d9%8e%d9%84%d8%ad%d8%a7%d8%aa-%d9%88%d8%b9%d9%86%d8%a7%d8%b5%d8%b1-%d9%88%d9%85%d9%81%d8%a7%d9%87%d9%8a%d9%85-%d9%86%d8%b8%d8%a7%d9%85-%d8%a3%d8%b3%d9%85%d8%a7%d8%a1-%d8%a7%d9%84%d9%86%d8%b7%d8%a7%d9%82%d8%a7%d8%aa-r5/" rel="">أسماء DNS</a> مثلًا، ونضيف اختبارات تتحقق من الأخطاء وآليات المهل الزمنية timeouts لكي لا يُعلِّق الخادم ويتأثر، لأن الشبكات الحقيقية أقل موثوقيةً وأكثر عرضةً للأخطاء، غير أننا لن نتحدث عن تلك الآليات والمهام، وإنما نذكرها فقط لوجوب حسابها عند حل مثل تلك المشكلات.
</p>

<h2>
	المزيد من المعلومات
</h2>

<p>
	كُتبت الكثير من الشروحات في برمجة المقابس، لعل أبرزها <a href="https://python.readthedocs.io/en/latest/howto/sockets.html" rel="external nofollow">Socket How-To</a> الذي كتبه جوردُن ماكمِلان Gordon McMillan، وهو يشرح كثيرًا من عيوب برمجة المقابس ويقدم الحلول المقترحة للتعامل معها، إضافةً إلى <a href="https://docs.python.org/3/howto/sockets.html" rel="external nofollow">توثيق وحدة socket في بايثون</a>، والذي لا غنى عن قراءته.
</p>

<p>
	كما تحتوي العديد من الكتب على أقسام عن البرمجة باستخدام المقابس، ونخص بالذكر منها <a href="https://www.amazon.com/Foundations-Python-Network-Programming-Brandon/dp/1430258543" rel="external nofollow">كتاب Python Network Programming</a> الذي كتبه جون جورزن John Goerzen، ويدور حول برمجة الشبكات مغطيًا كثيرًا من جوانب برمجة المقابس.
</p>

<p>
	والجميل في الأمر أنه يمكن تنفيذ أغلب مهام برمجة الشبكات بمستوىً أعلى إذا كنا نستخدم أحد بروتوكولات الإنترنت القياسية، مثل http و smtp و telnet وغيرها، ففي بايثون مثلًا وحدات تنفذ تلك البروتوكولات في طبقة المقابس لئلا نضطر نحن إلى ذلك، وسندرس في المقالات القادمة كيف نبسط برمجة الويب باستخدام http، من خلال وحدات المستوى الأعلى تلك، أما عند اختيار العمل في برمجة الشبكات ليكون تخصصًا مهنيًا فتُستخدم لغة <a href="http://musiclessonz.com/rebol_tutorial.html" rel="external nofollow">rebol</a> لأنها تولي أهميةً لخصوصية المهام، وفيها دعم للعديد من مهام الشبكة.
</p>

<p>
	وإن أردت التعمق أكثر في الشبكات، فقد ترجمت أكاديمية حسوب كتابًا مهمًا ونشرت مقالاته تحت وسم "<a href="https://academy.hsoub.com/search/?tags=%D8%A3%D8%B3%D8%A7%D8%B3%D9%8A%D8%A7%D8%AA%20%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A7%D8%AA&amp;sortby=newest&amp;page=1" rel="">أساسيات الشبكات</a> " يمكنك الرجوع إليه.
</p>

<h2>
	خاتمة
</h2>

<p>
	نرجو في نهاية هذا المقال أن تكون تعلمت ما يلي:
</p>

<ul>
	<li>
		تمثَّل اتصالات شبكات الحواسيب بعناوين IP ومنافذ ports.
	</li>
	<li>
		تتصل المقابس بالمنافذ.
	</li>
	<li>
		تراقب مقابس الخوادم الاتصالات وتستمع لها عبر <code>listen</code>، وتقبلها إذا التقطتها بواسطة <code>accept</code>، وهذا يحدد منفذًا جديدًا ليستخدمه العميل الجديد.
	</li>
	<li>
		يجب أن تستقبل الخوادم رسائل العملاء على المنفذ الجديد من خلال <code>recv</code>، وترسل <code>send</code> الردود إلى العملاء.
	</li>
	<li>
		يتصل عملاء المقابس بمقبس الخادم من خلال <code>connect</code>، ويرسلون البيانات إليه من خلال <code>send</code>، ثم يستقبلون البيانات مرةً أخرى عبر <code>recv</code> في صورة ردود.
	</li>
	<li>
		يغلق العميل المقبس باستخدام <code>close</code> عند انتهاء عملية تبادل البيانات.
	</li>
</ul>

<p>
	ترجمة -بتصرف- <a href="http://www.alan-g.me.uk/l2p2/tutsocket.htm" rel="external nofollow">للفصل السابع والعشرين: Network Communications</a> من كتاب Learn To Program لصاحبه Alan Gauld.
</p>

<h2>
	اقرأ أيضًا
</h2>

<ul>
	<li>
		المقال التالي: <a href="https://academy.hsoub.com/programming/general/%D9%83%D9%8A%D9%81%D9%8A%D8%A9-%D8%A7%D9%84%D8%AA%D8%B9%D8%A7%D9%85%D9%84-%D9%85%D8%B9-%D8%A7%D9%84%D9%88%D9%8A%D8%A8-r1522/" rel="">كيفية التعامل مع الويب</a>
	</li>
	<li>
		المقال السابق: <a href="https://academy.hsoub.com/programming/general/%D8%A7%D9%84%D8%AA%D9%88%D8%A7%D8%B5%D9%84-%D8%A8%D9%8A%D9%86-%D8%A7%D9%84%D8%B9%D9%85%D9%84%D9%8A%D8%A7%D8%AA-%D9%81%D9%8A-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-r1521/" rel="">التواصل بين العمليات في البرمجة</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D8%B9%D9%84%D9%88%D9%85-%D8%A7%D9%84%D8%AD%D8%A7%D8%B3%D9%88%D8%A8/" rel="">المدخل الشامل لتعلم علوم الحاسوب</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/certificates/comptia/%D9%85%D8%AF%D8%AE%D9%84-%D8%A5%D9%84%D9%89-%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D8%AD%D9%88%D8%A7%D8%B3%D9%8A%D8%A8-%D9%85%D8%B5%D8%B7%D9%84%D8%AD%D8%A7%D8%AA-%D9%88%D9%81%D9%87%D9%85-%D8%B7%D8%A8%D9%82%D8%A7%D8%AA-%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A9-r65/" rel="">مدخل إلى شبكات الحواسيب: مصطلحات وفهم طبقات الشبكة</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/devops/networking/%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D9%8A%D8%A7%D8%AA-%D8%A7%D9%84%D9%85%D8%B3%D8%AA%D8%AE%D8%AF%D9%85%D8%A9-%D9%81%D9%8A-%D8%A8%D9%86%D8%A7%D8%A1-%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D8%AD%D8%A7%D8%B3%D9%88%D8%A8%D9%8A%D8%A9-r485/" rel="">البرمجيات المستخدمة في بناء الشبكات الحاسوبية</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/devops/networking/%D9%85%D8%B9%D9%85%D8%A7%D8%B1%D9%8A%D8%A9-%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A9-%D8%A7%D9%84%D8%AD%D8%A7%D8%B3%D9%88%D8%A8%D9%8A%D8%A9-%D9%88%D8%B4%D8%A8%D9%83%D8%A9-%D8%A7%D9%84%D8%A5%D9%86%D8%AA%D8%B1%D9%86%D8%AA-network-architecture-r484/" rel="">معمارية الشبكة الحاسوبية وشبكة الإنترنت (Network Architecture)</a>
	</li>
</ul>
]]></description><guid isPermaLink="false">603</guid><pubDate>Thu, 14 Apr 2022 16:05:00 +0000</pubDate></item><item><title>&#x62A;&#x639;&#x631;&#x641; &#x639;&#x644;&#x649; &#x639;&#x646;&#x627;&#x648;&#x64A;&#x646; &#x628;&#x631;&#x648;&#x62A;&#x648;&#x643;&#x648;&#x644; &#x627;&#x644;&#x625;&#x646;&#x62A;&#x631;&#x646;&#x62A; &#x648;&#x627;&#x644;&#x634;&#x628;&#x643;&#x627;&#x62A; &#x627;&#x644;&#x641;&#x631;&#x639;&#x64A;&#x629; &#x648;&#x627;&#x644;&#x62A;&#x648;&#x62C;&#x64A;&#x647; &#x63A;&#x64A;&#x631; &#x627;&#x644;&#x635;&#x646;&#x641;&#x64A; &#x628;&#x64A;&#x646; &#x627;&#x644;&#x646;&#x637;&#x627;&#x642;&#x627;&#x62A;</title><link>https://academy.hsoub.com/devops/networking/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D8%B9%D9%86%D8%A7%D9%88%D9%8A%D9%86-%D8%A8%D8%B1%D9%88%D8%AA%D9%88%D9%83%D9%88%D9%84-%D8%A7%D9%84%D8%A5%D9%86%D8%AA%D8%B1%D9%86%D8%AA-%D9%88%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D9%81%D8%B1%D8%B9%D9%8A%D8%A9-%D9%88%D8%A7%D9%84%D8%AA%D9%88%D8%AC%D9%8A%D9%87-%D8%BA%D9%8A%D8%B1-%D8%A7%D9%84%D8%B5%D9%86%D9%81%D9%8A-%D8%A8%D9%8A%D9%86-%D8%A7%D9%84%D9%86%D8%B7%D8%A7%D9%82%D8%A7%D8%AA-r593/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2022_02/6218aeb5c51be_-----------.png.b7facce0882001fb98e9705efa7094ce.png" /></p>

<p>
	يُعَد فهم الشبكات جزءًا أساسيًّا من تهيئة كيانات معقدة على الإنترنت، ويؤثر ذلك كثيرًا على كفاءة تواصل الخوادم بين بعضها بعضًا، وتطوير ضوابط أمان للشبكات، وإبقاء عقد الاتّصال منظمة.
</p>

<p>
	شرحنا في <a href="https://academy.hsoub.com/devops/servers/%d9%88%d8%a7%d8%ac%d9%87%d8%a7%d8%aa-%d8%b4%d8%a8%d9%83%d8%a9-%d8%a7%d9%84%d8%a5%d9%86%d8%aa%d8%b1%d9%86%d8%aa-%d9%88%d8%a8%d8%b1%d9%88%d8%aa%d9%88%d9%83%d9%88%d9%84%d8%a7%d8%aa%d9%87%d8%a7-%d8%a7%d9%84%d8%a3%d8%b3%d8%a7%d8%b3%d9%8a%d9%91%d8%a9-r64/" rel="">الدليل السابق</a> بعض المصطلحات المهمة في عالم الشبكات. اطّلع على الدليل إذا أردت فهم المفاهيم، التي سنستعرضها هنا.
</p>

<p>
	سنناقش في هذا المقال بعضًا من المفاهيم المرتبطة بتصميم شبكات الحاسوب والتفاعل معها، كما سنغطّي على وجه التحديد أصناف الشبكات Network Classes، والشبكات الفرعية Subnets، والتوجيه غير الصنفي بين النطاقات CIDR لتجميع عناوين بروتوكول الإنترنت.
</p>

<h2>
	فهم عناوين بروتوكول الإنترنت IP Addresses
</h2>

<p>
	يجب أن يحتوي كلّ موقعٍ أو جهاز على الشبكة عنوانًا يدل عليه، وهذا يعني أنه يمكن الوصول إلى أي موقع أو جهاز عن طريق معرفة العنوان الخاص به، بحيث ينتمي هذا العنوان لنظام عناوينٍ ما مُعرَّف بواسطته؛ ففي حالة شبكة من نمط <a href="https://academy.hsoub.com/devops/servers/%d8%aa%d8%b9%d8%b1%d9%81-%d8%b9%d9%84%d9%89-%d8%a8%d8%b1%d9%88%d8%aa%d9%88%d9%83%d9%88%d9%84-tcpip-%d9%88%d8%a8%d8%b9%d8%b6-%d9%85%d9%86-%d8%ae%d8%af%d9%85%d8%a7%d8%aa%d9%87-r169/" rel="">بروتوكول الإنترنت TCP/IP</a> الاعتياديّة، يُعالَج الأمر باستخدام عدة طبقات، لكن عندما نذكر "عنوانًا على الشبكة" فنحن نقصد غالبًا عنوان <a href="https://academy.hsoub.com/devops/servers/%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D8%A8%D8%B1%D9%88%D8%AA%D9%88%D9%83%D9%88%D9%84-tcpip-%D9%88%D8%A8%D8%B9%D8%B6-%D9%85%D9%86-%D8%AE%D8%AF%D9%85%D8%A7%D8%AA%D9%87-r169/" rel="">بروتوكول الإنترنت</a>.
</p>

<p>
	تمكننا عناوين بروتوكول الإنترنت من الوصول لموارد شبكةٍ ما باستخدام واجهتها Interface؛ فإذا أردنا إجراء اتّصال بين حاسوبٍ وحاسوب آخر مثلًا، فنحن بحاجة لإرسال المعلومات باستخدام بروتوكول الإنترنت الخاص بالحاسوب المتلقّي. يمكننا نظريًا فعل ذلك، وهذا بفرض أنّ الجهازين على الشبكة نفسها، أو أن هناك بعض الأجهزة الوسيطة التي تفسّر الطلب عبر عدّة شبكات.
</p>

<p>
	لا ينبغي تكرار عنوان بروتوكول الإنترنت ذاته على الشبكة نفسها، فكلّ عنوان فريدٌ عن غيره؛ ويمكن للشبكات أن تُعزل أو تُربط ببعضها بعضًا بعد تهيئتها لتضمن الوصول بين شبكتين منفصلتين. يسمح نظام ترجمة عنوان الشبكة Network Address Translation -أو اختصارًا NAT-، بإعادة كتابة العناوين عندَ إرسال حزمٍ من البيانات بين شبكتين، وذلك بهدف وصول الحزم لوجهتها النهائية. وبالتالي يمكننا بفضل هذا النظام استعمال عناوين متشابهة ضمن عدّة شبكاتٍ معزولة دون أيّ مشكلات.
</p>

<h2>
	الفرق بين معياري IPv4 وIPv6
</h2>

<p>
	هناك معياران لبروتوكول الإنترنت، ومُستخدمان بكثرة ضمن أنظمة الاتّصالات، هما: معيار IPv4 ومعيار IPv6. نظرًا للتحسينات التي طرأت على معيار IPv6، فهو يستبدل ببطء معيار IPv4 المحدود؛ والسبب في ذلك ببساطة هو احتواء العالم على كثيرٍ من الأجهزة المتصلة بالإنترنت ولا يكفي معيار IPv4 لسدّ الحاجة.
</p>

<p>
	يكون عنوان معيار IPv4 بطول 32 بِت، ويُقسَّم إلى 4 أقسام، إذ يكون كل واحدٍ منها بطول بايت أو 8 بِت، ويفصل بين كل بايتٍ وآخر نقطة ويُمثَّل كل بايت برقم من 0 إلى 255. بالرغم من أنّ العنوان يتألّف من أرقام في النظام العشري ليسهل التعامل بها بواسطتنا نحن البشر، إلّا أنّها في الحقيقة قيمٌ مُمثّلة بثمان خانات (واحدات وأصفار)، وتدعى كل 8 خانات بثُمانيّة Octet.
</p>

<p>
	يبدو عنوان IPv4 الاعتيادي على النحو التالي:
</p>

<pre class="ipsCode prettyprint lang-c prettyprinted" id="ips_uid_6188_7" style="">
<span class="lit">192.168</span><span class="pun">.</span><span class="lit">0.5</span></pre>

<p>
	إذ أن أعلى قيمة ممكنة هي 255، وأصغر قيمة هي 0.
</p>

<p>
	يمكننا التعبير عن العنوان السابق باستخدام <a href="https://academy.hsoub.com/certificates/cisco/ccna/%D8%A3%D8%B3%D8%A7%D8%B3%D9%8A%D8%A7%D8%AA-%D9%86%D8%B8%D8%A7%D9%85-%D8%A7%D9%84%D8%B9%D8%AF-%D8%A7%D9%84%D8%AB%D9%86%D8%A7%D8%A6%D9%8A-%D9%81%D9%8A-%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-r22/" rel="">النظام الثنائي</a>، بحيث نفصل بين كل ثمانيّة وأخرى بشَرطة بدل نقطة، ونفصل بمسافةٍ بين كل 4 خانات بهدف تسهيل قراءة العنوان:
</p>

<pre class="ipsCode prettyprint lang-javascript prettyprinted" id="ips_uid_6188_9" style="">
<span class="lit">1010</span><span class="pln"> </span><span class="lit">0000</span><span class="pln"> </span><span class="pun">-</span><span class="pln"> </span><span class="lit">0000</span><span class="pln"> </span><span class="lit">0000</span><span class="pln"> </span><span class="pun">-</span><span class="pln"> </span><span class="lit">1000</span><span class="pln"> </span><span class="lit">1010</span><span class="pln"> </span><span class="pun">-</span><span class="pln"> </span><span class="lit">0000</span><span class="pln"> </span><span class="lit">1100</span></pre>

<p>
	لا بُد أن نفهم جيّدًا أن التمثيلين السابقين متكافئين، فهذا مهمّ لاستيعاب المفاهيم التي سترِد لاحقًا.
</p>

<p>
	على الرغم من وجود بعض الاختلافات الأخرى بين المعيارين بخصوص البروتوكول وكيف يعمل كلّ منهما، إلّا أن الفرق الأبرز هو اختلاف سعة كلّ منهما؛ إذ يُمثَّل معيار IPv6 عنوان بروتوكول الإنترنت باستخدام رقم مؤلف من 128 بِت؛ وبالتالي يحوي IPv6 ما يساوي:
</p>

<pre class="ipsCode prettyprint lang-c prettyprinted" id="ips_uid_6188_13" style="">
<span class="lit">7.9</span><span class="pln"> x </span><span class="lit">10</span><span class="str">&lt;sup&gt;</span><span class="lit">28</span><span class="pln"> </span><span class="pun">&lt;/</span><span class="pln">sup</span><span class="pun">&gt;</span></pre>

<p>
	ضعف ما يستطيع معيار IPv4 تمثيله.
</p>

<p>
	يُكتب عنوان بروتوكول الإنترنت بمعيار IPv6 متمثّلًا بثمانية أقسام؛ ويتكوّن كل قسم من 4 خانات في النظام السداسي عشري. يحتوي النظام السداسي عشري على 16 رقم من 0 إلى 15، ويُمثَّل بالأرقام من 0 إلى 9 بالإضافة للأحرف من A إلى F. هذا ما قد يبدو عليه عنوان بروتوكول إنترنت بمعيار IPv6:
</p>

<pre class="ipsCode prettyprint lang-javascript prettyprinted" id="ips_uid_6188_15" style="">
<span class="lit">1203</span><span class="pun">:</span><span class="lit">8fe0</span><span class="pun">:</span><span class="pln">fe80</span><span class="pun">:</span><span class="pln">b897</span><span class="pun">:</span><span class="lit">8990</span><span class="pun">:</span><span class="lit">8a7c</span><span class="pun">:</span><span class="lit">99bf</span><span class="pun">:</span><span class="lit">323d</span></pre>

<p>
	قد ترى أن بعض العناوين مكتوبةً أقصر من السابق، إذ يمكن اختصار الخانات الصفرية اليسرى لأي ثمانيّة دون أن تؤثر على قيمة العنوان، كما يمكن اختصار ثمانيّة صفرية باستخدام "::".
</p>

<p>
	على سبيل المثال إن كان لدينا ثمانيّة ما في عنوان IPv6 على النحو التالي:
</p>

<pre class="ipsCode prettyprint lang-javascript prettyprinted" id="ips_uid_6188_17" style="">
<span class="pun">...:</span><span class="lit">00bc</span><span class="pun">:...</span></pre>

<p>
	فيمكننا اختصاره إلى:
</p>

<pre class="ipsCode prettyprint lang-c prettyprinted" id="ips_uid_6188_19" style="">
<span class="pun">...:</span><span class="pln">bc</span><span class="pun">:...</span></pre>

<p>
	لتوضيح الحالة الثانية المذكورة، سنفترض أنه لدينا العنوان التالي الذي يحتوي على ثمانيّات صفريّة:
</p>

<pre class="ipsCode">
...:18bc:0000:0000:0000:00ff:...
</pre>

<p>
	يمكن كتابته بصيغةٍ مختصرة، وذلك عن طريق إزالة الأصفار اليسرى واستبدال الثمانيّات الصفرية بالرمز "::"، وفق:
</p>

<pre class="ipsCode prettyprint lang-javascript prettyprinted" id="ips_uid_6188_23" style="">
<span class="pun">...:</span><span class="lit">18bc</span><span class="pun">::</span><span class="pln">ff</span><span class="pun">...</span></pre>

<p>
	ولكن يمكن اختصار الثمانيّات الصفرية مرّةً واحدةً في العنوان؛ وإلّا فلن تكون قادرًا على إعادته للعنوان الكامل مرةً أخرى.
</p>

<p>
	رغم أنّ المعيار IPv6 أكثر شيوعًا وانتشارًا هذه الأيام، إلّا أننا سنبني شرحنا وأمثلتنا على معيار IPv4، نظرًا لسهولة التعامل معه واحتوائه على خاناتٍ أقلّ.
</p>

<h2>
	أصناف عنوان IPv4 والنطاقات المحجوزة
</h2>

<p>
	تحتوي عناوين بروتوكول الإنترنت عادةً على مكوّنين يدلّان على معلومتين؛ إذ يدلّ المكون الأول على الشبكة network التي ينتمي العنوان إليها؛ بينما يدلّ المكون الثاني على جهاز معيّن (مضيف host) على الشبكة. ويعتمد موضع بدء المكون وانتهائه على الطريقة التي هُيئت بها الشبكة، وسنتكلّم عن ذلك في الفقرات التالية.
</p>

<p>
	تتوزع عناوين IPv4 على أربعة أقسام تدعى بالأصناف Classes، من A إلى E، هدفها الفصل بين نطاقات عناوين الإنترنت المتاحة وتجزئتها. يمكننا معرفة صنف كل عنوان عن طريق ملاحظة أول أربعة بِتات، إذ يُعرَّف صنف العنوان بواسطتها. نستطيع التعرف على صنف العنوان على النحو التالي:
</p>

<ul>
<li>
		<strong>الصنف A</strong>

		<ul>
<li>
				<code>‎0---‎</code>: يبدأ أول بِت من عنوان IPv4 ذو الصنف A بالصفر، وأي عنوان يقع بين المجال <code>0.0.0.0</code> و<code>127.255.255.255</code> ينتمي للصنف A.
			</li>
		</ul>
</li>
	<li>
		<strong>الصنف B</strong>
		<ul>
<li>
				<code>‎10--‎</code>: يحتوي الصنف B على جميع العناوين بين المجال <code>128.0.0.0</code> و <code>191.255.255.255</code>. أو بمعنى آخر، أي عنوانٍ يحتوي على <code>1</code> في البِت الأول، و <code>0</code> في البِت الثاني.
			</li>
		</ul>
</li>
	<li>
		<strong>الصنف C</strong>
		<ul>
<li>
				<code>‎110‎-‎</code>: يحتوي الصنف C على جميع العناوين بين المجال <code>192.0.0.0</code> و<code>223.255.255.255</code>. أو بمعنى آخر، أي عنوانٍ يحتوي على <code>1</code> في البِت الأول والثاني، و<code>0</code> في الثالث.
			</li>
		</ul>
</li>
	<li>
		<strong>الصنف D</strong>
		<ul>
<li>
				<code>‎1110‎</code>: يحتوي الصنف D على جميع العناوين بين المجال <code>244.0.0.0</code> و<code>329.255.255.255</code>. بمعنى آخر، أي عنوانٍ يحتوي على <code>1</code> في البِت الأول والثاني والثالث، و<code>0</code> في الرابع.
			</li>
		</ul>
</li>
	<li>
		<strong>الصنف E</strong>
		<ul>
<li>
				<code>1111</code>: يحتوي الصنف E على جميع العناوين بين المجال <code>240.0.0.0</code> و<code>255.255.255.255</code>. بمعنى آخر، أي عنوان يحتوي على <code>1</code> في البِت الأول والثاني والثالث والرابع.
			</li>
		</ul>
</li>
</ul>
<p>
	الصنف D مخصّص لبروتوكولات التحويل المتعدد Multi-casting، التي تسمح بإرسال حزم البيانات لمجموعةٍ من المضيفين دفعةً واحدةً. عناوين الصنف E محجوزة للاستخدام المستقبلي والتجريبي، وهي غير مُستخدمة غالبًا.
</p>

<p>
	تقسِّم كل من الأصناف A و B و C الشبكات والأجهزة المضيفة على نحوٍ مختلف وفقًا لحجم الشبكة؛ إذ يستخدم الصنف A الخانات المتبقية من الثُمانيّة الأولى في تمثيل الشبكة، ويُمثّل المضيف بباقي العنوان. يُعد هذا الصنف جيدًا لتعريف شبكاتٍ قليلة تضمّ كثيرًا من الأجهزة المضيفة.
</p>

<p>
	يستخدم الصنف B أوّل ثمانيّتان (المتبقي من الثمانية الأولى، وكامل الثمانية الثانية) في تمثيل الشبكة والمتبقي من العنوان لتمثيل الأجهزة المضيفة؛ بينما يستخدم الصنف C أوّل ثلاث ثمانيّات لتمثيل الشبكة، والثمانية الأخيرة لتمثيل الجهاز المضيف داخل الشبكة.
</p>

<p>
	تقسيم عنوان بروتوكول الإنترنت لأصناف عدّة طريقةٌ قديمةٌ بعض الشيء، إذ قُدِّمَت هذه الطريقة مثل حلٍ لمشكلة نفاذ عناوين IPv4، وذلك نظرًا لإمكانية وجود عدة حواسيب للمضيف ذاته وتابعة لشبكاتٍ مختلفة، واستُبدلت هذه الطريقة بطرقٍ أخرى سنناقشها.
</p>

<h2>
	النطاقات الخاصة المحجوزة
</h2>

<p>
	هناك بعض الأجزاء من عنوان IPv4 المحجوزة لأغراضٍ معينة. ويُعد نطاق الاسترجاع Loopback Range واحدًا من أكثر النطاقات المحجوزة إفادةً، وهو مُحددٌ بالنطاقات ما بين <code>127.0.0.0</code> و <code>127.255.255.255</code>؛ إذ يُستخدم هذا النطاق من قبل المضيف لفحص سلامة الشبكة، ويُستخدم أوّل عنوان في النطاق غالبًا وهو <code>127.0.0.1</code>.
</p>

<p>
	يمتلك كل صنف من أصناف عنوان الإنترنت نطاقًا محجوزًا للشبكات الخاصة؛ إذ أن نطاق العناوين من <code>10.0.0.0</code> إلى <code>10.255.255.255</code> محجوزٌ للشبكات الخاصة للعناوين من الصنف A؛ بينما يوجد للصنف B النطاق المحجوز من <code>172.16.0.0</code> إلى <code>172.31.255.255</code>، وأخيرًا للصنف C النطاق من <code>192.168.0.0</code> إلى <code>192.168.255.255</code>.
</p>

<p>
	يمكن لأي حاسوب غير متّصل بالإنترنت مباشرةً، بمعنى غير متصل عبر <a href="https://academy.hsoub.com/questions/18099-%D9%85%D8%A7-%D8%A7%D9%84%D9%81%D8%B1%D9%82-%D8%A8%D9%8A%D9%86-switch-%D9%88-router/?do=getNewComment" rel="">جهاز توجيه Router</a>، أو نظامٍ لترجمة عناوين الشبكات NAT، استخدام العناوين المذكورة في أي وقت. هناك بعض نطاقات العناوين الإضافية المحجوزة لأغراض معيّنة، يمكنك مراجعة <a href="https://en.wikipedia.org/wiki/Reserved_IP_addresses" rel="external nofollow">ملخص ويكيبيديا</a> لمزيدٍ من المعلومات عنها.
</p>

<h2>
	أقنعة الشبكة والشبكات الفرعية
</h2>

<p>
	تُدعى عملية تقسيم الشبكة إلى شبكات فرعية أصغر منها بتفريع الشبكة Subnetting، إذ تُعد هذه العملية مفيدةً في كثيرٍ من الحالات، وتساعد بعزل مجموعات من المضيفين عن بعضها بعضًا للتعامل معها بسهولة.
</p>

<p>
	كما ناقشنا سابقًا، يمكن تجزئة كل نطاق من عناوين بروتوكول الإنترنت إلى جزء يدل على الشبكة، وآخر يدل على المضيف؛ إذ يعود طول الجزء الذي يدلّ على كلٍّ منهما للصنف الذي ينتمي إليه هذا العنوان؛ فبالنسبة لعنوانٍ من الصنف C مثلًا، تُستخدم أوّل ثلاث ثمانيّات للدلالة على الشبكة. إذًا، يدل الجزء <code>192.168.0</code> بالنسبة للعنوان <code>192.168.0.15</code> على الشبكة، ويدلّ <code>15</code> على المضيف.
</p>

<p>
	تحتوي كل شبكة افتراضيًا على شبكةٍ فرعية واحدة، وتضمّ هذه الشبكة الفرعية على جميع عناوين المضيفين المعرّفة بداخلها. ويُعَد قناع الشبكة بمثابة توصيفٍ لعدد بِتّات العنوان المستخدم في الشبكة الفرعية هذه؛ وقناع الشبكة الفرعية هو قناع شبكة آخر يُستخدم لتقسيم الشبكة لأقسامٍ أكثر.
</p>

<p>
	كلّ بِت في العنوان هامٌ في التمثيل والدلالة على الشبكة يجب أن يُمثّل بـ <code>1</code> في قناع الشبكة، إذ يمكننا مثلًا تمثيل العنوان <code>192.168.0.15</code>، الذي ناقشناه في مثالنا السابق بالترميز الثنائي على النحو التالي:
</p>

<pre class="ipsCode prettyprint lang-c prettyprinted" id="ips_uid_6188_25" style="">
<span class="lit">1100</span><span class="pln"> </span><span class="lit">0000</span><span class="pln"> </span><span class="pun">-</span><span class="pln"> </span><span class="lit">1010</span><span class="pln"> </span><span class="lit">1000</span><span class="pln"> </span><span class="pun">-</span><span class="pln"> </span><span class="lit">0000</span><span class="pln"> </span><span class="lit">0000</span><span class="pln"> </span><span class="pun">-</span><span class="pln"> </span><span class="lit">0000</span><span class="pln"> </span><span class="lit">1111</span></pre>

<p>
	كما شرحنا في السابق، تمثّل الثمانيّات الثلاثة الأولى الجزء الذي يدل على الشبكة في عنوان من التصنيف C، أو بكلماتٍ أخرى، الأربع وعشرين بتًا الأوّليات. ونظرًا لأن هذه هي البتات المهمة التي نريد الاحتفاظ بها، فسيكون قناع الشبكة على النحو التالي:
</p>

<pre class="ipsCode prettyprint lang-javascript prettyprinted" id="ips_uid_6188_27" style="">
<span class="lit">0000</span><span class="pln"> </span><span class="lit">0000</span><span class="pln"> </span><span class="pun">-</span><span class="pln"> </span><span class="lit">1111</span><span class="pln"> </span><span class="lit">1111</span><span class="pln"> </span><span class="pun">-</span><span class="pln"> </span><span class="lit">1111</span><span class="pln"> </span><span class="lit">1111</span><span class="pln"> </span><span class="pun">-</span><span class="pln"> </span><span class="lit">1111</span><span class="pln"> </span><span class="lit">1111</span></pre>

<p>
	يمكننا كتابة قناع الشبكة السابق بترميز IPv4 اعتيادي، أي <code>255.255.255.0</code>؛ إذ أن كل بِت يتخذ القيمة <code>0</code> بالتمثيل الثنائي لقناع الشبكة يدلّ على أنّه جزءٌ من العنوان الذي يمثل المضيف، ويمكن عدّه متغيرًا. تُعَد البِتّات التي تتخذ القيمة <code>1</code> ثابتة القيمة ضمن الشبكة أو الشبكة الفرعية.
</p>

<p>
	يمكننا الحصول على الجزء الدالّ على الشبكة بإجراء عمليّة ثنائية من نوع <code>AND</code> بين عنوان بروتوكول الإنترنت وقناع الشبكة. وبإجراء هذه العملية، نحافظ على القسم الذي يدل على الشبكة في العنوان ونهمل القسم الذي يدل على المضيف. ستكون نتيجة العملية وفقًا لمثالنا السابق على النحو التالي:
</p>

<pre class="ipsCode prettyprint lang-javascript prettyprinted" id="ips_uid_6188_29" style="">
<span class="lit">0000</span><span class="pln"> </span><span class="lit">0000</span><span class="pln"> </span><span class="pun">-</span><span class="pln"> </span><span class="lit">0000</span><span class="pln"> </span><span class="lit">0000</span><span class="pln"> </span><span class="pun">-</span><span class="pln"> </span><span class="lit">0000</span><span class="pln"> </span><span class="lit">1010</span><span class="pln"> </span><span class="pun">-</span><span class="pln"> </span><span class="lit">0000</span><span class="pln"> </span><span class="lit">1100</span></pre>

<p>
	يمكننا تمثيل العنوان السابق على النحو التالي: <code>192.168.0.0</code>. النطاق الذي يدل على المضيف هو الفرق بين القيم الأصلية وقسم المضيف. وفي هذه الحالة، قيمة نطاق المضيف، هي: <code>1111 0000</code> أو <code>15</code>.
</p>

<p>
	الهدف من تفريع الشبكة هو استخدام قسمٍ من نطاق المضيف في العنوان، واستخدامه لتقسيم العنوان من جديد. إذ يزودنا قناع الشبكة للعنوان <code>255.255.255.0</code> مثلًا، بـ 254 مضيف على الشبكة (الرقمان 0 و255 محجوزان). إذا أردنا تقسيم الشبكة لشبكتين فرعيتين، يمكننا استخدام بِت واحد من قسم العنوان الذي يدل على المضيف قناعًا للشبكة.
</p>

<p>
	بعودتنا للمثال السابق، القسم الذي يعود للشبكة هو:
</p>

<pre class="ipsCode prettyprint lang-javascript prettyprinted" id="ips_uid_6188_31" style="">
<span class="lit">0000</span><span class="pln"> </span><span class="lit">0000</span><span class="pln"> </span><span class="pun">-</span><span class="pln"> </span><span class="lit">1000</span><span class="pln"> </span><span class="lit">1010</span><span class="pun">-</span><span class="pln"> </span><span class="lit">0000</span><span class="pln"> </span><span class="lit">1100</span></pre>

<p>
	والقسم الذي يعود للمضيف هو:
</p>

<pre class="ipsCode prettyprint lang-javascript prettyprinted" id="ips_uid_6188_33" style="">
<span class="lit">1111</span><span class="pln"> </span><span class="lit">0000</span></pre>

<p>
	يمكننا استخدام أول بِت من القسم الذي يدلّ على المضيف وتغييره لإنشاء شبكة فرعية، وذلك بتعديل قناع الشبكة من هذا القناع:
</p>

<pre class="ipsCode prettyprint lang-lua prettyprinted" id="ips_uid_6188_35" style="">
<span class="lit">0000</span><span class="pln"> </span><span class="lit">0000</span><span class="pln"> </span><span class="pun">-</span><span class="pln"> </span><span class="lit">1111</span><span class="pln"> </span><span class="lit">1111</span><span class="pln"> </span><span class="pun">-</span><span class="pln"> </span><span class="lit">1111</span><span class="pln"> </span><span class="lit">1111</span><span class="pln"> </span><span class="pun">-</span><span class="pln"> </span><span class="lit">1111</span><span class="pln"> </span><span class="lit">1111</span></pre>

<p>
	لهذا القناع:
</p>

<pre class="ipsCode prettyprint lang-javascript prettyprinted" id="ips_uid_6188_37" style="">
<span class="lit">0000</span><span class="pln"> </span><span class="lit">1000</span><span class="pln"> </span><span class="pun">-</span><span class="pln"> </span><span class="lit">1111</span><span class="pln"> </span><span class="lit">1111</span><span class="pln"> </span><span class="pun">-</span><span class="pln"> </span><span class="lit">1111</span><span class="pln"> </span><span class="lit">1111</span><span class="pln"> </span><span class="pun">-</span><span class="pln"> </span><span class="lit">1111</span><span class="pln"> </span><span class="lit">1111</span></pre>

<p>
	في ترميز IPv4 الاعتيادي، يُمثّل العنوان السابق على النحو التالي: <code>192.168.0.128</code>. خصّصنا بهذه العملية أوّل بِت في الثمانيّة الأخيرة على أنها خانة ذات أهمية تدل على الشبكة، إذ تعطينا هذه العملية شبكتين فرعيتين؛ ويغطي قناع الشبكة الأول النطاق من <code>192.168.0.1</code> إلى <code>192.168.0.127</code>؛ بينما يغطي قناع الشبكة الثاني النطاق <code>192.168.0.129</code> إلى <code>192.168.0.255</code>. بطبيعة الحال، يجب ألاّ تُستخدم الشبكة الفرعية بنفسها عنوانًا.
</p>

<p>
	إذا استخدمنا بِتّات أكثر من قسم العنوان العائد للشبكة، عندها يمكننا الحصول على شبكاتٍ فرعية أكثر وأكثر. ألقِ نظرةً على <a href="https://academy.hsoub.com/certificates/cisco/ccna/%D8%A8%D9%86%D8%A7%D8%A1-%D9%85%D8%AE%D8%B7%D8%B7-%D9%84%D8%B9%D9%86%D8%A7%D9%88%D9%8A%D9%86-ip-%D8%B9%D8%A8%D8%B1-%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D9%81%D8%B1%D8%B9%D9%8A%D8%A9-%D8%B9%D9%86%D8%AF-%D8%A8%D9%86%D8%A7%D8%A1-%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-r23/" rel="">بناء مخطط لعناوين IP عبر الشبكات الفرعية </a> لمزيدٍ من المعلومات.
</p>

<h2>
	ترميز التوجيه غير الصنفي بين النطاقات CIDR
</h2>

<p>
	طُوِّر <strong>نظام التوجيه غير الصنفي بين النطاقات Classless Inter-Domain Routing</strong> -أو اختصارًا CIDR- بديلًا لطريقة تفريع الشبكة التقليدي، إذ يعتمد مبدأ هذا النظام على إضافة خانةٍ جديدة لعنوان بروتوكول الإنترنت بنفسه للدلالة على عدد البِتّات التي تمثل القسم الخاص بتوجيه الشبكة.
</p>

<p>
	على سبيل المثال، عنوان بروتوكول الإنترنت <code>192.168.0.15</code> مرتبطٌ بقناع الشبكة <code>255.255.255.0</code>، ويمكننا التعبير عن ذلك بترميز CIDR عن طريق كتابة <code>192.168.0.15/24</code>؛ إذ يمثل العدد <code>24</code> عدد البِتّات الموجودة في عنوان بروتوكول الإنترنت، والتي تدل على القسم الخاص بتوجيه الشبكة.
</p>

<p>
	يفتح هذا النظام المجال لفرصٍ مثيرةٍ للاهتمام، إذ يمكن استخدامه للدلالة على <a href="https://academy.hsoub.com/devops/networking/%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D9%81%D8%B1%D8%B9%D9%8A%D8%A9-%D9%88%D8%A7%D9%84%D8%B9%D9%86%D8%A7%D9%88%D9%8A%D9%86-%D9%88%D8%A7%D9%84%D8%A3%D8%AE%D8%B7%D8%A7%D8%A1-%D9%81%D9%8A-%D8%A8%D8%B1%D9%88%D8%AA%D9%88%D9%83%D9%88%D9%84-ip-r498/" rel="">الشبكات الفوقية Supernets</a>، ونقصد هنا نطاقات عناوين كبيرة من غير الممكن تمثيلها بطريقة قناع الشبكة الاعتياديّة. على سبيل المثال، في شبكةٍ من الصنف C، مثل الشبكة في أمثلتنا السابقة، لا يمكننا جمع العنوانين <code>192.168.0.0</code> و<code>192.168.1.0</code>، وذلك نظرًا لأن عنوان قناع الشبكة للصنف C هو <code>255.255.255.0</code>، ولكن مع استخدام ترميز CIDR، يمكننا جمع العنوانين بالدلالة على النطاق الذي ينتميان إليه على النحو التالي <code>192.168.0.0/23</code>؛ وهذا يدلّ على أن هناك 23 بِت مُستخدمٌ للدلالة على الشبكة التي نقصدها.
</p>

<p>
	يمكننا تمثيل الشبكة الأولى <code>192.168.0.0</code> بالترميز الثنائي على النحو التالي:
</p>

<pre class="ipsCode prettyprint lang-javascript prettyprinted" id="ips_uid_6188_39" style="">
<span class="lit">0000</span><span class="pln"> </span><span class="lit">0000</span><span class="pln"> </span><span class="pun">-</span><span class="pln"> </span><span class="lit">0000</span><span class="pln"> </span><span class="lit">0000</span><span class="pln"> </span><span class="pun">-</span><span class="pln"> </span><span class="lit">1000</span><span class="pln"> </span><span class="lit">1010</span><span class="pln"> </span><span class="pun">-</span><span class="pln"> </span><span class="lit">0000</span><span class="pln"> </span><span class="lit">1100</span></pre>

<p>
	ونمثل الشبكة الثانية <code>192.168.1.0</code> على النحو التالي:
</p>

<pre class="ipsCode">
0000 0000 - 0001 0000 - 1000 1010 - 0000 1100
</pre>

<p>
	وبالتالي، يدلنا عنوان CIDR الذي كتبناه سابقًا، على أوّل 24 بِت مستخدَم لتمثيل القسم الذي يعود للشبكة، ويساوي هذا التمثيل قناع الشبكة <code>255.255.254.0</code>، أو بالتمثيل الثنائي على النحو التالي:
</p>

<pre class="ipsCode prettyprint lang-javascript prettyprinted" id="ips_uid_6188_41" style="">
<span class="lit">0000</span><span class="pln"> </span><span class="lit">0000</span><span class="pln"> </span><span class="pun">-</span><span class="pln"> </span><span class="lit">1110</span><span class="pln"> </span><span class="lit">1111</span><span class="pln"> </span><span class="pun">-</span><span class="pln"> </span><span class="lit">1111</span><span class="pln"> </span><span class="lit">1111</span><span class="pln"> </span><span class="pun">-</span><span class="pln"> </span><span class="lit">1111</span><span class="pln"> </span><span class="lit">1111</span></pre>

<p>
	كما نلاحظ، يمكن أن يكون البِت ذو الترتيب 24 بقيمة <code>1</code> أو <code>0</code>، لأن الجزء الذي يدل على الشبكة يشمل فقط أوّل 23 بِت. يمنح نظام CIDR مزيدًا من التحكم للدلالة على نطاقاتٍ مستمرّة من عنوان بروتوكول الإنترنت، وهو أفضل من طريقة قناع الشبكة التي استعرضناها سابقًا.
</p>

<h2>
	الخاتمة
</h2>

<p>
	نأمل أنك استطعت فهم بعض تطبيقات الشبكات على عناوين بروتوكول الإنترنت. مع أنّ صعوبة التعامل مع هذا النوع من الشبكات كبيرة وغير بديهية، إلا أنها هامة لفهم طريقة تهيئة مكونات شبكتك وبرمجياتها.
</p>

<p>
	هناك الكثير من الأدوات والآلات الحاسبة على الإنترنت التي ستساعدك في فهم بعض من هذه المبادئ، والحصول على نطاقات عناوين صحيحة من خلال إدخال بعض المعلومات. توفر <a href="https://cidr.xyz/" rel="external nofollow">بعض الأدوات</a> تحويلًا لعنوان بروتوكول الإنترنت من التمثيل العشري الاعتيادي إلى التمثيل الثنائي (الثمانيّات)، وتعرض لك تمثيلًا بصريًّا لأقنعة شبكة نظام CIDR.
</p>

<p>
	ترجمة -وبتصرف- للمقال <a href="https://www.digitalocean.com/community/tutorials/understanding-ip-addresses-subnets-and-cidr-notation-for-networking" rel="external nofollow">Understanding IP Addresses, Subnets, and CIDR Notation for Networking</a> لصاحبه Justing Ellingwood.
</p>

<h2>
	اقرأ أيضًا
</h2>

<ul>
<li>
		<a href="https://academy.hsoub.com/devops/networking/%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D9%81%D8%B1%D8%B9%D9%8A%D8%A9-%D9%88%D8%A7%D9%84%D8%B9%D9%86%D8%A7%D9%88%D9%8A%D9%86-%D9%88%D8%A7%D9%84%D8%A3%D8%AE%D8%B7%D8%A7%D8%A1-%D9%81%D9%8A-%D8%A8%D8%B1%D9%88%D8%AA%D9%88%D9%83%D9%88%D9%84-ip-r498/" rel="">الشبكات الفرعية والعناوين والأخطاء في بروتوكول IP</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/certificates/cisco/ccna/%d8%a8%d9%86%d8%a7%d8%a1-%d9%85%d8%ae%d8%b7%d8%b7-%d9%84%d8%b9%d9%86%d8%a7%d9%88%d9%8a%d9%86-ip-%d8%b9%d8%a8%d8%b1-%d8%a7%d9%84%d8%b4%d8%a8%d9%83%d8%a7%d8%aa-%d8%a7%d9%84%d9%81%d8%b1%d8%b9%d9%8a%d8%a9-%d8%b9%d9%86%d8%af-%d8%a8%d9%86%d8%a7%d8%a1-%d8%a7%d9%84%d8%b4%d8%a8%d9%83%d8%a7%d8%aa-r23/" rel="">بناء مخطط لعناوين IP عبر الشبكات الفرعية عند بناء الشبكات</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/certificates/cisco/ccna/%D8%A7%D9%84%D8%AA%D9%88%D8%AC%D9%8A%D9%87-%D8%A8%D9%8A%D9%86-%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D9%85%D8%AD%D9%84%D9%8A%D8%A9-%D8%A7%D9%84%D8%A7%D9%81%D8%AA%D8%B1%D8%A7%D8%B6%D9%8A%D8%A9-vlans-r95/" rel="">التوجيه بين الشبكات المحلية الافتراضية VLANs</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/certificates/cisco/ccna/%d8%a7%d8%b3%d8%aa%d9%83%d8%b4%d8%a7%d9%81-%d9%88%d8%b8%d8%a7%d8%a6%d9%81-%d8%a7%d9%84%d9%85%d9%88%d8%ac%d9%87%d8%a7%d8%aa-%d9%81%d9%8a-%d8%a7%d9%84%d8%b4%d8%a8%d9%83%d8%a7%d8%aa-r21/" rel="">استكشاف وظائف الموجهات في الشبكات</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/devops/networking/%D9%85%D8%B9%D9%85%D8%A7%D8%B1%D9%8A%D8%A9-%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A9-%D8%A7%D9%84%D8%AD%D8%A7%D8%B3%D9%88%D8%A8%D9%8A%D8%A9-%D9%88%D8%B4%D8%A8%D9%83%D8%A9-%D8%A7%D9%84%D8%A5%D9%86%D8%AA%D8%B1%D9%86%D8%AA-network-architecture-r484/" rel="">معمارية الشبكة الحاسوبية وشبكة الإنترنت (Network Architecture)</a>
	</li>
</ul>
]]></description><guid isPermaLink="false">593</guid><pubDate>Sat, 05 Mar 2022 17:09:02 +0000</pubDate></item><item><title>&#x627;&#x62A;&#x635;&#x627;&#x644; &#x627;&#x644;&#x634;&#x631;&#x643;&#x627;&#x62A; &#x628;&#x627;&#x633;&#x62A;&#x62E;&#x62F;&#x627;&#x645; &#x634;&#x628;&#x643;&#x627;&#x62A; &#x627;&#x644;&#x62D;&#x627;&#x633;&#x648;&#x628;</title><link>https://academy.hsoub.com/devops/networking/%D8%A7%D8%AA%D8%B5%D8%A7%D9%84-%D8%A7%D9%84%D8%B4%D8%B1%D9%83%D8%A7%D8%AA-%D8%A8%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85-%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D8%AD%D8%A7%D8%B3%D9%88%D8%A8-r588/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2022_02/620f567ea3770_----.png.a646644dca00a7f6f635c16d9b30de44.png" /></p>

<p>
	تستخدم معظمُ الشركات اليوم <a href="https://academy.hsoub.com/devops/networking/%D9%85%D8%B9%D9%85%D8%A7%D8%B1%D9%8A%D8%A9-%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A9-%D8%A7%D9%84%D8%AD%D8%A7%D8%B3%D9%88%D8%A8%D9%8A%D8%A9-%D9%88%D8%B4%D8%A8%D9%83%D8%A9-%D8%A7%D9%84%D8%A5%D9%86%D8%AA%D8%B1%D9%86%D8%AA-network-architecture-r484/" rel="">الشبكاتِ</a> لتزويد موظفيها، ومورِّديها، وزبائنها بالمعلومات، وتُعرَّف <a href="https://academy.hsoub.com/devops/networking/%D8%A7%D9%84%D9%85%D8%AA%D8%B7%D9%84%D8%A8%D8%A7%D8%AA-%D8%A7%D9%84%D9%84%D8%A7%D8%B2%D9%85%D8%A9-%D9%84%D8%A8%D9%86%D8%A7%D8%A1-%D8%B4%D8%A8%D9%83%D8%A9-%D8%AD%D8%A7%D8%B3%D9%88%D8%A8%D9%8A%D8%A9-r483/" rel="">شبكةُ الحاسوب Computer Network</a> بأنها مجموعة مؤلفة من جهازَي حاسوب اثنين، أو أكثر، موصولة ببعضها بواسطة قنوات اتصال؛ لمشاركة البيانات والمعلومات، وتربط شبكاتُ الحاسوب الموجودة في يومنا هذا آلاف المستخدمين بعضهم ببعض، ويمكن عبرها نقلُ الصوت والفيديو، بالإضافة إلى نقل البيانات.
</p>

<p>
	تتضمن شبكة الحاسوب <a href="https://academy.hsoub.com/devops/servers/%D9%85%D8%A7-%D9%87%D9%88-%D8%AE%D8%A7%D8%AF%D9%85-%D8%A7%D9%84%D9%88%D9%8A%D8%A8%D8%9F-r574/" rel="">خادمًا Server</a>، وزبونًا أو عميلًا Client، فالزبون في الشبكات هو التطبيق الذي يعمل على جهاز حاسوبٍ شخصي أو محطة عمل حاسوبية؛ ويعتمد على خادمٍ Server يدير مصادر الشبكة أو يؤدي مهامًّا خاصةً مثل: تخزين الملفات، وإدارة طابعة واحدة أو أكثر، أو معالجة استعلامات <a href="https://academy.hsoub.com/programming/sql/%D9%85%D9%82%D8%AF%D9%85%D8%A9-%D8%B9%D9%86-%D9%82%D9%88%D8%A7%D8%B9%D8%AF-%D8%A7%D9%84%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA-r584/" rel="">قاعدة بيانات</a> Database Queries، ويمكن لأي مستخدم على الشبكة الوصول إلى ما يوفِّره الخادم.
</p>

<p>
	وبفضل جعل الشبكات الحاسوبية سريعة وسهلة فيما يخص تبادل المعلومات، فقد فتحت تلك الشبكاتُ آفاقًا جديدةً للعمل وزيادة الإنتاجية، إذ توفر استخدامًا أكثر فاعلية للموارد، وتتيح الاتصال والتعاون عبر الوقت والمسافة، أما فيما يخصُّ مشاركة الملفات؛ فيحظى جميع الموظفين بالوصول إلى المعلومات ذاتها بصرف النظر عن مكان وجودهم؛ كما تُغني البياناتُ التي تجري مُشاركتُها عن تكرار الجهد المبذول، ويمكن للموظفين -من مواقع مختلفة- تبادل الملفات الموجودة ضمن الحاسوب عبر "مشاركة الشاشة Screen-Share"، فيعملون على البيانات وكأنهم في غرفة واحدة، إذ إنّ أجهزة الحاسوب الخاصة بهم متصلة ببعضها عبر الهاتف أو الخطوط السلكية (الكابل)، فيرون الشيء ذاته على شاشة العرض الخاصة بكل منهم، وبوسع أيٍّ منهم إجراء تغييراتٍ يراها المشاركون الآخرون، كما يمكن للموظفين استخدام الشبكات لإجراء مؤتمرات فيديو Videoconferencing.
</p>

<p>
	كما تتيح الشبكاتُ للمؤسسات تشغيل برمجيات مؤسسية، وهي برامج ضخمة ذات وحدات مدمجة تدير جميع العمليات الداخلية للشركة، كما يجري تشغيل نُظُم تخطيط موارد المؤسسة على الشبكات الحاسوبية، حيث تتضمنُ النُظُم الفرعية الاعتيادية النظامَ المالي، والموارد البشرية، والهندسة، وتوزيع المبيعات والطلبات، وإدارة الطلبات، والشراء، وتعمل كل واحدة من تلك الوحدات عملًا مستقلًّا، ثم تتبادل المعلومات تبادلًا آليًّا، فتُنشِئُ نظامًا على مستوى الشركة يتضمن مواعيد التسليم الحالية، وحالة المخزون، وضبط الجودة، وسواها من معلومات أساسية. فلنُلقِ نظرةً -الآن- على الأنواع الرئيسة للشبكات التي تستخدمها الشركات لنقل البيانات، وهي <a href="https://academy.hsoub.com/certificates/cisco/ccna/%D8%A7%D9%84%D8%AA%D9%88%D8%AC%D9%8A%D9%87-%D8%A8%D9%8A%D9%86-%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D9%85%D8%AD%D9%84%D9%8A%D8%A9-%D8%A7%D9%84%D8%A7%D9%81%D8%AA%D8%B1%D8%A7%D8%B6%D9%8A%D8%A9-vlans-r95/" rel="">الشبكات المحلية LANs</a> والشبكات الواسعة WANs، وتطبيقات الشبكات الشائعة مثل: الشبكة الداخلية والشبكة الافتراضية الخاصة.
</p>

<h2>
	الاتصال القريب والبعيد باستخدام الشبكات
</h2>

<p>
	هناك نوعان رئيسان من الشبكات التي يجري التمييز بينها وفقًا للمنطقة التي تغطيها؛ النوع الأول هو الشبكة المحلية Local Area Network، التي تتيح للأشخاص الموجودين في الموقع ذاته تبادلَ المعلومات ومشاركة الأجهزة والبرمجيات من مجموعة متنوعة من مصنِّعي أجهزة الحاسوب، إذ توفر الشبكاتُ المحلية للشركات وسيلة ذات تكلفة أقلَّ؛ لربط أجهزة الحاسوب ببعضها موازنة بتوصيل الأجهزة الطرفية Terminals بحاسوبٍ مركزيّ، وتتمثل أكثر استخدامات الشبكات المحلية شيوعًا لدى الشركات الصغيرة في أتمتة المكاتب، والمحاسبة، وإدارة المعلومات؛ وتتيح تلك الشبكات للشركات تخفيض عدد العاملين، وتبسيط العمليات، وتقليل نفقات المعالجة، كما يمكن تنصيب الشبكات المحلية بوصلات سلكية أو لاسلكية.
</p>

<p>
	أما النوع الثاني للشبكات الحاسوبية من حيث المنطقة التي تغطيها، فهو الشبكة الواسعة Wide Area Network، والتي تربط أجهزة الحاسوب الموجودة في مواقع مختلفة، عبر وسائل الاتصالات مثل: خطوط الهاتف، والأقمار الصناعية، والموجات الميكروية Microwaves فالمودم Modem يربط جهازَ حاسوبٍ، أو جهازًا طرفيًا، بخطّ هاتفٍ، فينقل المعلومات نقلًا آنيًّا تقريبًا، أي بأقل من ثانية، ويعد الإنترنت شبكة واسعة ذات انتشارٍ عالميّ؛ تُشغِّلُ شركاتٌ كبرى، مثل أي تي آند تي AT&amp;T، وفيرايزون Verizon، وسبرينت Sprint- شبكاتٍ واسعةً جدًا، كما تربط الشركاتُ شبكاتٍ محلية LANs، موجودةً في مواقع مختلفة، بشبكاتٍ واسعة WANs كما تُمكِّنُ الشبكاتُ الواسعةُ الشركاتِ من العمل على مشاريع شديدة الأهمية، على مدار الساعة باستخدام فِرَق موجودة في مناطق زمنية مختلفة.
</p>

<p>
	وتستخدمُ أنواعٌ عديدة من الشبكات الواسعة تقنية الإنترنت، ومنها الشبكات الداخلية Intranets، والشبكات الافتراضية الخاصة Virtual Private Network، والشبكات الخارجية Extranets، وسنتحدث هنا عن الشبكات الداخلية Intranets، وهي شبكات مؤسسية داخلية تتوفر على نطاقٍ واسع في عالم المؤسسات، كما سنلقي الضوء على الشبكات الافتراضية الخاصة، ومع أن وجود الشبكات اللاسلكية Wireless Networks قائم منذ ما يزيد على عقدٍ من الزمن، فإن استخدامها يشهد تزايدًا بسبب تكاليفها المنخفضة، والتقنية الأسرع والأكثر موثوقية التي تستخدمها، وبفضل معاييرها المتطورة تتشابه الشبكات اللاسلكية مع نظيراتها، الشبكة المحلية والشبكة الواسعة، باستثناء استخدامها (والحديث هنا عن الشبكات اللاسلكية) موجات الراديو لنقل البيانات، وتستخدم أنتَ شبكةً واسعة لاسلكية Wireless Wide Area Network استخدامًا منتظمًا، عندما تستعمل هاتفك المحمول، إذ يمكن لتغطية الشبكات الواسعة أن تشمل عدة بلدان.
</p>

<p>
	كما تعمل شركاتُ الاتصالات باستخدام الشبكات الواسعة اللاسلكية، وتوفر الشبكاتُ المحلية اللاسلكية Wireless LANs -التي تنقل البيانات ضمن موقع واحد- بديلًا عن الأنظمة السلكية التقليدية، ويبلغ القطر الذي تغطيه الشبكاتُ المحلية اللاسلكية 500 قدم داخل المؤسسة، و1000 قدم خارجها؛ وهي تغطية قابلة للتوسيع باستخدام الهوائيات وأجهزة الإرسال، وغيرها من الأجهزة؛ فالأجهزة اللاسلكية تتصل مع نقطة وصول سلكية موصولة بدورها مع الشبكة السلكية، هذا، وتعد الشبكات المحلية اللاسلكية WLANs ملائمةً لتطبيقات معينة تمثل فيها الأسلاك عائقًا، أو عندما يكون الموظفون موجودين في مواقع مختلفة من المبنى الذي يعملون فيه، وتعد الفنادق، والمطارات، والمطاعم، والمستشفيات، ومؤسسات البيع بالتجزئة، والجامعات، والمخازن -من أكثر الجهات استخدامًا للشبكات المحلية اللاسلكية، والتي تسمى -أيضًا- واي- فاي Wi-Fi. فعلى سبيل المثال: أتاح القائمون على مشفى إدارة المحاربين القدامى Veterans Administration Hospital، الواقع في مدينة ويست هيفن West Haven بولاية كونيتيكت Connecticut الأمريكية، أتاحوا مؤخرًا وصولًا إلى شبكة واي- فاي، تغطي غرف المرضى كافة، وذلك بهدف تحديث شبكتها المحلية اللاسلكية الحالية، وتعزيز الموثوقية، والجودة، ووصول المرضى إليها، كما تدعم تلك الشبكة المحلية اللاسلكية الجديدة وظائفَ مختلفة، تتراوح بين تواصلٍ أفضل، ضمن المكان الذي يوجد فيه الأطباء وطاقم الممرضين، يتيحه نقلُ البيانات وأنظمةُ الاتصالات الهاتفية عبر الإنترنت، والذي يوصِل إلى تطبيقاتٍ تتركز فيها البيانات، ومن تلك التطبيقات نظامُ المعلومات السريرية من إنتاج مجموعة ميديتك Meditech، والإدارةُ الدوائية.
</p>

<h2>
	مثال ناصع عن الروح الريادية
</h2>

<h3>
	توثيق المستقبل
</h3>

<p>
	لم يوافقِ المستهلكون المحتملون لشركة كابتيفا سوفت وير Captiva Software على الاعتقاد الذي تبنّاهُ الشريك المؤسس لها رينولدس بيش Reynolds Bish بأنَّ استعمال الورق ليس في طريقه إلى الزوال؛ فهم يعتنقون فكرة أنَّ الحواسيب الشخصية والإنترنت سيوديان بالورق نحو الاختفاء، ولم يكونوا سيستثمرون في البرمجيات لتنظيم مستنداتهم، وكاد ذلك أن يتسبب بإفلاس شركة كابتيفا، ويقول جيم بيرغلاند؛ وهو أحد المستثمرين الأوائل في تلك الشركة، وعضوٌ سابق في مجلس إدارتها: "كُنّا قلقين من أن نُخفِق في فعل ذلك".
</p>

<p>
	ولكن رينولدز بيش طلب من المستثمرين تعهُّدًا بتقديم 4 ملايين دولار أخرى، في رهانٍ على أنَّ الاستعمال الورقي باقٍ ولن يزول، ويتذكر بيش ما قاله له أحدُ أعضاء مجلس الإدارة ذات مرة: "بعد خمس سنواتٍ من الآن، سيعتقد الناس أنك إما عبقريٌّ أو مُغفَّل".
</p>

<p>
	حصلت تلك المحادثة منذ عشرين عامًا خَلَت، وقد صُنِّفَت شركة كابتيفا سوفت وير Captiva Software واحدةً من أسرعِ شركات التقنية نموًّا في سان دييغو San Diego في أوائل سنة 2000، وذلك بفضل الزيادة التي حققتها في الإيرادات، والتي بلغت 172%، ثم استحوذت على شركة كابتيفا شركةُ إي إم سي EMC Corp.— التي تعد سادس أكبر شركات البرمجيات في العالم، وأكبر مُصنِّعي التجهيزات الخاصة بتخزين البيانات المؤسسية، مع إيرداتٍ سنوية مخطط لها تزيد على 9 مليارات دولار— وذلك مقابل 275 مليون دولار نقدًا، وهو ما منحَ المستثمرين الأوائل في شركة كابتيفا مكافآتٍ تمثَّلت باستردادهم المالَ الذي استثمروا فيه، لدى تلك الشركة مضروبًا بعشرة أضعاف، (استحوذت شركةُ ديل Dell على شركة إي إم سي EMC مقابل 67 مليار دولار).
</p>

<p>
	بدأت شركة كابتيفا مسيرتها نحو النجاح الكبير في العام 1989 في بارك سيتي Park City بولاية يوتا Utah الأمريكية، وكانت تُسمّى آنذاك شركة تيكست وير Textware Corp التي بدأت بوصفها شركةَ إدخال بيانات، ويعودُ السببُ في استمرار العمل التجاري لتلك الشركة إلى الخبرة التقنية للشريك المؤسس لها، وهو ستيفن بورتون Steven Burton، وإلى الخلفية التجارية للشريك المؤسس الآخر، رينولدز بيش، وإلى بطاقةٍ ائتمانية. يقول بيش: "تحقق الأمرُ بجهودنا الذاتية الصرفة، لقد قمنا بكل شيء، حتى إننا عملنا بلا راتب لمدة سنة، واضطررنا إلى استخدام بطاقاتنا الائتمانية".
</p>

<p>
	وما لبث بيش و بورتون أن أدركا الحاجة إلى موظفين لإدخال البيانات بشكل أكثر مباشرةً ودقّة، فالبرنامج الذي طوَّراه كان ما يزال بحاجة إلى موظفين لطباعة المعلومات على مستندٍ ورقيّ، ولكنه كان قادرًا على التحقق من الأخطاء والمعلومات غير الدقيقة، وعلى مطابقة الرموز البريدية مع المدن، على سبيل المثال. وفي العام 1996: أنتجت شركة تيكست وير برنامجًا يستطيع "قراءة" الكلمات المطبوعة على الآلة الكاتبة من على ورقة بعد إخضاعها للمسح، وهو ما أسهم إسهامًا كبيرًا في تخفيض الحاجة إلى موظفي إدخال البيانات، وقد لاقى ذلك البرنامج شعبيةً مع مُعالِجات البطاقات الائتمانية، وشركات التأمين، وشركات الشحن، وسواها من الشركات التي تتعامل مع آلاف الاستمارات كل يوم.
</p>

<p>
	وقدِ استحوذت شركةُ تيكست وير على / أو اتحدت مع، خمس شركات؛ وطُرِحَت للاكتتاب العام؛ كما غيّرت اسمها مرتين، وأنشأت مقراتها عام 1998 في مدينة سان دييغو San Diego بولاية كاليفورنيا بعد أنِ اشترت شركة ويب سيستمز Wheb Systems التي يقع مقرُّها هناك. وفي العام 2002، اندمجت تلك الشركة مع شركة معالجة مستندات، هي أكشن بوينت Action Point المملوكة ملكية عامة، والواقعة في مدينة سان خوسيه San Jose بولاية كاليفورنيا الأمريكية، ثم غيرت اسمها إلى كابتيفا.
</p>

<p>
	ووفقًا لشركة أبحاث سوق تسمى فوريستر ريسرتش Forrester Research، ما تزال نسبةُ 80% من جميع المعلوماتِ ورقيةً، وتُعالج أهمُّ منتجاتِ شركة كابتيفا، وهي إن بوت أكسل InputAccel، و فورم وير FormWare ما يزيد على 85 مليون ورقة حول العالم يوميًّا، وهذا ما لا يدع مجالًا للشك في أن رؤية ورنالدز بيش كانت في محلّها؛ فالورق باقٍ فعلًا.
</p>

<h2>
	عمل داخلي: الشبكات الداخلية
</h2>

<p>
	تعد الشبكاتُ الداخلية Intranets شبكاتٍ مؤسسيةً خاصة، مثلها مثل الشبكات المحلية LANS؛ ويستخدمُ العديدُ من الشركات هذين النوعَين من الشبكات، ومع ذلك؛ ولأنّ الشبكات الداخلية تستخدم الإنترنت للاتصال بأجهزة الحاسوب، فهي إذًا شبكاتٌ واسعة WANs تربط بين الموظفين الموجودين في مواقع مختلفة، والذين يعملون على أجهزة حاسوبٍ ذات أنواع مختلفة، وفي حالة الشبكات الداخلية الصغيرة Mini-Intranets التي تُخدِّم موظفي الشركةِ -فقط- فإنها تعمل بحماية جدار ناري أو جدار حماية Firewall مهمته منعُ الوصول غير المصرَّح به، ويتصفحُ الموظفون الإنترنت بواسطة متصفح ويب نموذجيٍّ، مما يجعل الشبكة الداخلية سهلةَ الاستخدام، كما تتميز الشبكات الداخلية بكونها أقل تكلفة من حيث التركيب والمحافظة عليها، موازنةً بأنواع الشبكات الأخرى، وتستفيد من مزايا الإنترنت التفاعلية مثل: غرف الدردشة ومساحات عمل الفريق Team Workspaces (وتسمى -أيضًا- أدوات التعاون الإلكتروني Online Collaboration Tools، أو مساحات العمل المشتركة Shared Work Spaces، ويقدم اليوم العديدُ من مزوّدي البرمجيات حُزَمَ شبكاتٍ داخليةٍ جاهزة تمكّن الشركاتِ من شتى الأحجامِ، من الحصول على وصولٍ متزايد للمعلومات، وتوزيعها كذلك.
</p>

<p>
	وتقرّ الشركاتُ اليومَ بفاعلية الشبكات الداخلية في تأمين الاتصال بطرقٍ شتى بين الجهات الموظِّفة من جهة، والموظَّفين من جهة أخرى، فتعزز بذلك من العمل الجماعي ومشاركة المعرفة، وللشبكات الداخلية تطبيقات عديدة، تتراوح بين إدارة الموارد البشرية، والأمور اللوجستية. وعلى سبيل المثال: قد تغدو شبكةٌ داخلية خاصة بإدارة مزايا الموظفين المفضلةَ لديهم، فبدلًا من اضطرار الموظفين إلى مهاتفة موظف الموارد البشرية المسؤول لإجراء أي تغييراتٍ في سجلّاتهم الشخصية، أو في مساهمات خطط التقاعد الخاصة بهم، أو لتسليم سجلّات الدوام، يمكنهم بفضل ذلك الولوجُ إلى تلك الشبكة الداخلية وتعديل المعلومات بأنفسهم، كما يمكن للمديرين -أيضًا- معالجة التحديثات الخاصة بتوظيف الأشخاص والمِلاكِ العددي للموظفين، والمبالغ التحفيزية التي تُدفَع لهم، ومراجعات الأداء -بدون الحاجة لملء ورقة عمل لدى قسم الموارد البشرية، كما يمكن للموظفين التحقق إلكترونيًا، وبصورة منتظمة، من اللوحة الخاصة بالمناصب الجديدة ضمن الشركة، ويمكن -أيضًا- لنقل المهام الإدارية الروتينية إلى الشبكة الداخلية أن يوفر مزايا إضافية مثل: تقليص حجم قسم الموارد البشرية بنسبة 30%، والسماح لموظفي ذلك القسم بتركيز اهتمامهم على مشاريع أكثر أهمية.
</p>

<h2>
	البوابات الإلكترونية المؤسسية تفتح المجال للإنتاجية
</h2>

<p>
	تعمل الشبكات الداخلية ذات الرؤية الأوسع؛ بوصفها أدواتِ إدارةِ معرفةٍ عالية التطور، ومن الأمثلة على تلك الشبكات: البوابةُ الإلكترونية المؤسسية Enterprise Portal، وهي موقعٌ إلكتروني داخلي يوفر معلوماتٍ مؤسسية حصرية لمجموعة محددة من المستخدمين، وتتخذ البواباتُ أشكالًا ثلاثة، هي: من الشركة إلى الموظف Business to Employee، ومن شركة إلى شركة Business to Business، ومن شركة إلى مستهلك Business to Consumer. وبخلاف الشبكات الداخلية الاعتيادية؛ تسمح البوابات المؤسسية للأفراد أو مجموعات المستخدمين بتخصيص صفحة البوابة الرئيسة، بحيث تجمع المعلوماتِ التي يحتاجون إليها -فقط- وفقًا لظروف عملهم المحددة؛ كما تسمح بإيصال تلك المعلومات عبر صفحة ويب منفردة، وبسبب تعقيد البوابات الإلكترونية المؤسسية، فعادةً ما تكون ثمرةَ مشروعٍ تعاونيّ، يجمع بين التصاميم التي يطورها فريقُ الموارد البشرية، ويتقن إعدادَها، وبين الاتصالاتِ المؤسسية، وأقسامِ تقنية المعلومات.
</p>

<p>
	ويستخدم المزيدُ من الشركات تقنية البواباتِ الإلكترونية لتوفير:
</p>

<ul>
<li>
		واجهةِ مستخدِم متسقة وبسيطة على مستوى الشركة.
	</li>
	<li>
		دمجٍ للأنظمة المتباينة والمجموعات المتعددة للبيانات والمعلومات.
	</li>
	<li>
		مصدرٍ موحَّد للمعلومات الدقيقة والمتوفرة في الوقت المطلوب، يجمعُ بينَ المعلومات الداخلية والخارجية.
	</li>
	<li>
		وقتٍ أقصر لتنفيذ المهام والعمليات.
	</li>
	<li>
		خفضٍ للنفقات بفضل الاستغناء عن جهات وسيطة للتزويد بالمعلومات.
	</li>
	<li>
		اتصالاتٍ متطورة ضمن الشركة ومع المستهلكين، والمورِّدين، والتجار، والموزِّعين.
	</li>
</ul>
<h2>
	لا تشابك أسلاك بعد اليوم: التقنيات اللاسلكية
</h2>

<p>
	أصبحتِ التقنية اللاسلكية واسعة الانتشار في يومنا هذا؛ ونستخدم بصورة معتادة أجهزةً مثل: الهواتف الخلوية، وأجهزة فتح أبواب كراج السيارات، وأجهزة التحكّم في التلفاز، بدون الانتباه إلى أنها أمثلةٌ على التقنية اللاسلكية، كما تستخدم الشركاتُ التقنية اللاسلكية لتطوير اتصالاتها بالزبائن، والمورِّدين، والموظَّفين.
</p>

<p>
	وتعد شركاتُ توصيل الطُرود، مثل شركة يو بي إس UPS، و فيديكس FedEx، من أوائل الشركات التي استخدمت التقنية اللاسلكية؛ إذ يستعين موظفو توصيل الطرود بحواسيب محمولة بكفّ اليد Handheld Computers لإرسال تأكيداتٍ فورية باستلام الطرد، وربما يكون سبق لك أن شاهدتَ عمال قراءة عدّادات، أو عمال تصليحاتٍ، لدى شركات المرافق الخدمية والكهرباء، يرسلون بياناتٍ من مواقع بعيدة يزورونها إلى أجهزة حاسوب مركزية موجودة ضمن الشركات التي يعملون لصالحها.
</p>

<p>
	وتمثل تقنية بلوتوث Bluetooth اللاسلكية قصيرة المدى معيارًا عالميًا، يعزز الاتصال الشخصي لمستخدمي الهواتف النقالة، وأجهزة الحاسوب المحمولة، وسماعات الرأس؛ إذ تؤمّن تقنيةُ بلوتوث اتصالًا لاسلكيًا بين لوحة المفاتيح والفأرة من جهة، وبين جهاز الحاسوب من جهة أخرى؛ وبين سماعات الرأس من جهة، والهواتف النقالة ومشغّلات الموسيقى من جهة أخرى؛ فالهواتف النقالة المزوَّدة بتقنية بلوتوث مثلًا توفر استخدامًا آمنًا للهاتف خلال قيادة السيارة لا يتطلب استخدام اليد، ولهذه التقنية تطبيقاتٌ عديدة في مجال صناعة السيارات -أيضًا- وتعد تقنية بلوتوث اللاسلكية أساسيةً في العديد من السيارات في الوقت الراهن، وهناك العديد من الشركات في يومنا هذا توفر حلولًا عن طريق بلوتوث تُبقي اليدين حُرَّتين، ومنها شركات السيارات، والتقنية، والهواتف النقالة. ومن الأمثلة على تلك الشركات: شركة أمازون Amazon، و آبل Apple، و أودي Audi، و بي إم دبليو BMW، و دايملر كرايسلر DaimlerChrysler، وجوجل Google، و هوندا Honda، و ساب Saab، وفولكس فاجن Volkswagen. ومن الاستخدامات الأخرى لتقنية بلوتوث: تسهيل الاتصال بين مُشغِّلاتِ الموسيقى الرقمية المحمولة ونظام الصوت في السيارة، ونقل الموسيقى المُحمَّلة إلى النظام.
</p>

<h2>
	الخطوط الخاصة: الشبكات الافتراضية الخاصة
</h2>

<p>
	يستخدم العديدُ من الشركات <a href="https://academy.hsoub.com/devops/security/vpn/" rel="">شبكاتٍ افتراضيةً خاصة Virtual Private Networks</a> (تُسمّى اختصارًا: <abbr title="Virtual Private Network | الشبكة الخاصة الافتراضية">VPN</abbr>) للربط بين شبكتين خاصتين أو أكثر (مثل: الشبكات المحلية LANs عبر شبكة عامة، مثل <a href="https://academy.hsoub.com/devops/networking/%D9%83%D9%8A%D9%81-%D8%AA%D8%B9%D9%85%D9%84-%D8%B4%D8%A8%D9%83%D8%A9-%D8%A7%D9%84%D8%A5%D9%86%D8%AA%D8%B1%D9%86%D8%AA%D8%9F-r571/" rel="">شبكة الإنترنت</a>، وتتضمن الشبكاتُ الافتراضيةُ الخاصة تدابيرَ أمنيةً قوية تسمح بالدخول إلى الشبكة، وبالوصول إلى المعلومات المؤسسية الحساسة التي بداخلها، من قِبَل المستخدمين المُصرَّح لهم فقط، وقد تجد الشركاتُ ذات المكاتب، واسعة الانتشار، أنّ الشبكات الافتراضية الخاصة هي خيارٌ أقلُّ تكلفة موازنة بنفقات إنشاء شبكة باستخدام تجهيزاتٍ شبكية مُشتراة، واستئجار خطوطٍ خاصة باهظة الثمن، ويعد نوعُ الشبكة الخاصة هذا أكثر تقييدًا من الشبكات الافتراضية الخاصة لأنه لا يسمح للمستخدمين المصرح لهم بدخول الشبكة المؤسسية، عندما يكونون مسافرين أو موجودين في منازلهم.
</p>

<p>
	ومثلما تُبيِّن الصورةُ 13.4، تستخدمُ الشبكةُ الافتراضيةُ الخاصة البنيةَ التحتية الموجودة الخاصة بشبكة الإنترنت، وتجهيزاتِها، للاتصال بالمستخدمين، والمكاتب، الموجودين في أماكن بعيدة جغرافيًا، والمنتشرين في أي مكان من العالم تقريبًا، وذلك بدون تكبُّد التكاليف المرتبطة ببُعد المسافة، وبالإضافة إلى توفيرها نفقاتِ الاتصالات بفضل الشبكات الافتراضية الخاصة، فليس على الشركات التي تستخدم تلك الشبكات شراءُ تجهيزاتٍ شبكية خاصة، ولا الحفاظُ عليها؛ بل يمكنها تعهيدُ إدارة تجهيراتِ الوصول البعيد (أي الاستعانة بمصادر خارجية لإدارتها)، وتُعد الشبكاتُ الافتراضيةُ الخاصة مفيدة للبائعين والعاملين عن بُعد، الذين بوسعهم الدخول إلى الشبكة الخاصة بالشركة، وكأنهم موجودون في المبنى الخاص بها داخل مكاتبهم، أما سلبيات الشبكات الافتراضية الخاصة، فتتمثل في أنّ توفُّرَها وأداءها يعتمدان على عوامل تُعَدُّ خارجةً خروجًا كبيرًا عن سيطرة الشركة، وخصوصًا في حال كانت تلك الشبكاتُ تستخدم الإنترنت.
</p>

<p>
	تنتشر الشبكاتُ الافتراضيةُ الخاصة بين أنواع مختلفة من المؤسسات، ويعود السبب الرئيس وراء ذلك إلى مستوى الأمان الذي توفره، إذ يُنصَح دائمًا باستخدامها للوصول إلى شبكة الإنترنت، ولأنَّ بياناتك جميعها تُعَمًّى (تشفر) بمجرد دخولك النفق الافتراضي للشبكة الافتراضية الخاصة، فستُمنى بالفشل جهودُ المخترقين Hackers الذين يحاولون اعتراض النشاط التصفُّحي الخاص بك، عندما تُدخِل رقم بطاقتك الائتمانية للقيام بالشراءٍ عبر الإنترنت، على سبيل المثال؛ ولذلك يبدو استخدامُ شبكةٍ افتراضيةٍ خاصة، فكرةً جيدة في الأماكن العامة مثل المطاعم والمطارات.
</p>

<h2>
	برمجيات عند الطلب: مزودو خدمة التطبيقات
</h2>

<p>
	في ظل إطلاق مطوِّري البرمجيات أنواعًا جديدة من برامج التطبيقات، ونُسَخًا مُحدَّثة من تلك الموجودة حاليًا، بمعدل مرةٍ واحدة كل سنة أو سنتين…فعلى الشركات تحليلُ ما إذا كان بوسعها تبريرُ شراءِ برمجيات جديدة، أو تحديث الموجودة لديها، وذلك من ناحية التكلفة ووقت تطبيق ذلك. إن الشركات التي تُسمّى الواحدة منها مزوِّد خدمة التطبيقات Application Service Provider (اختصارًا: ASP) تقدم مقاربة مختلفة لتلك المشلكة، أو منهجًا مختلفًا للتعامل معها؛ إذ تشترك الشركات مع إحدى مزودات الخدمة تلك، على أساسٍ شهريّ عادة، وتستخدم التطبيقات مثلما تستخدم أنتَ البريدَ الصوتيّ عبر الهاتف، وهي التقنية الموجودة لأجل ذلك في شركة الهاتف، ومن التسميات الأخرى التي تُطلَق على مزوّد خدمة التطبيقات؛ تسمية برمجياتٌ عند الطلب On-Demand Software، و التطبيقات المُستضافة Hosted Applications، والبرمجيات كخدمة Software-as-a-Service. وتُظهِر الصورةُ 13.5 كيف تتواصل الشركةُ مزوِّدةُ خدمة التطبيقات مع مورِّدي البرمجيات والأجهزة، ومطوِّريها، ومعَ قسم تقنية المعلومات، والمستخدمين.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="91555" href="https://academy.hsoub.com/uploads/monthly_2022_02/62020479d4642_13413.png.9b4c12a053bd41e22973e7eca1f868e8.png" rel=""><img alt="صورة 13,4 فصل 13.png" class="ipsImage ipsImage_thumbnailed" data-fileid="91555" data-unique="xcuq7zcgq" src="https://academy.hsoub.com/uploads/monthly_2022_02/6202047ad0eff_13413.thumb.png.c62e2bba5d92e124fd5233d0dab923fa.png" style="width: 600px; height: auto;"></a>
</p>

<p style="text-align: center;">
	الصورة: 13.4: الشبكات الافتراضية الخاصة VPNs: (حقوق الصورة محفوظة لجامعة رايس Rice، أوبن ستاك Openstax).
</p>

<p>
	تعملُ أبسطُ تطبيقات مزوِّدي خدمة التطبيقات بطريقة آليّةٍ أو مؤتمَتة. فمثلًا: قد يستخدم شخصٌ ما أحد تلك التطبيقات لإنشاء موقعِ تجارةٍ إلكترونيةٍ بسيط، ومن الجدير ذكره أنَّ مزودات خدمة التطبيقات توفّر ثلاث فئات رئيسة من التطبيقات للمستخدمين، هي:
</p>

<ul>
<li>
		تطبيقات مؤسسية، ومن ضمنها إدارة علاقات العملاء، وتخطيط موارد المؤسسة، والتجارة الإلكترونية، وتخزين البيانات.
	</li>
	<li>
		تطبيقات تعاونية لأغراض الاتصالات الداخلية، والبريد الإلكتروني، والبرمجيات الجماعية، وإنشاء المستندات، والتراسل الإداري.
	</li>
	<li>
		تطبيقات ذات استخدامٍ شخصي، مثل الألعاب، وبرمجيات الترفيه، والتطبيقات الخاصة بمكاتب العمل المنزلية.
	</li>
</ul>
<p>
	ووفقًا لدراساتٍ مسحيةٍ حديثة، هناك عدد متزايد من الشركات التي تستخدم مزودي خدمة التطبيقات، بل إنها تنقل نُظُمَها القديمة Legacy Systems إلى التخزين السحابي، وتشير تقديراتٌ إلى أن عائدات الاشتراكات بخدمات التخزين السحابي عند الطلب On-Demand Cloud Services بلغت حوالي 180 مليار دولار خلال العام 2017، ويشهد هذا القطاع نموًا متسارعًا يفوق سرعةَ نمو قطاعَي البرمجيات والأجهزة بثلاثة أضعاف، وبالتوازي مع نمو هذا السوق، يضيفُ عددٌ متزايد من الشركات عروضًا عند الطلب إلى حُزَم البرمجيات التقليدية التي توفِّرُها لزباىنها، وتعد شركات أمازون Amazon (وتحديدًا قسم خدمات أمازون ويب Amazon Web Services)، وآي بي إم IBM ومايكروسوفت Microsoft وسيلزفورس دوت كوم Salesforce.com من بين الشركات الرائدة في مجال التزويد بالخدمات السحابية.
</p>

<p>
	وحتى وقتٍ قريب، كان العديدُ من الشركاتِ يتردّد في تعهيد التطبيقات المؤسسية الحساسة لجهاتٍ مُزوِّدة تمثل طرفًا ثالثًا، ولكن هذا الموقف ما لبث أن تغير بعد أن طوّرَ مزودو خدماتِ التطبيقات تقنياتهم، وأثبتوا موثوقيةً وتوفيرًا في النفقات؛ إذ تسعى الشركات الصغيرة والكبيرة نحو مزايا متعلقة بالنفقات مثل تلك التي توفرها الشركاتُ مزوّدةُ خدمة التطبيقات، وتبدو الفكرة الرئيسة من وراء الاشتراك لدى شركة مزودة لخدمات التطبيقات مثيرةً للاهتمام، إذ إن بوسع المستخدمين الوصول إلى أيٍّ من تطبيقاتهم أو بياناتهم من أي جهاز حاسوب، كما يمكن لقسم تقنية المعلومات IT تجنُّبُ شراء تطبيقاتٍ برمجية باهظة الثمن، أو تنصيبها، أو دعمَها، أو تحديثها، فالذي يحدث هو أن مزودي خدمة التطبيقات يشترون البرمجيات، ويحتفظون بها على خوادمهم Servers، ثم يوزعونها باستخدام شبكاتٍ ذات سُرعاتٍ عالية، ويستأجرُ المشتركون التطبيقاتِ التي يريدون، لفترة زمنية محددة ومقابل سعر محدَّد، وبذلك يكون التوفير المتعلق برسوم الترخيص، والبنية التحتية، والوقت، والموظفين- كبيرًا.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="91556" href="https://academy.hsoub.com/uploads/monthly_2022_02/6202049255acf_13_513.png.039d13f32346f1ff9473789e9d6f1c40.png" rel=""><img alt="صورة 13.5 فصل 13.png" class="ipsImage ipsImage_thumbnailed" data-fileid="91556" data-unique="6fi0fir8r" src="https://academy.hsoub.com/uploads/monthly_2022_02/620204950eb65_13_513.thumb.png.372dc7362f9d06b5417362227b6104aa.png" style="width: 500px; height: auto;"></a>
</p>

<p style="text-align: center;">
	الصورة 13.5: هيكل علاقات مزوّد خدمة التطبيقات: (حقوق الصورة محفوظة لجامعة رايس Rice، أوبن ستاك Openstax.
</p>

<p>
	ويمثل مزودو الخدمات المُدارة Managed Service Providers (اختصارًا: MSPs)، الجيلَ القادم لمزودي خدمات التطبيقات ASPs، إذ توفر الأولى تخصيصًا أكبر، وإمكاناتٍ أوسع، تتضمن عملياتٍ خاصة بالأعمال التجارية، وإدارة كاملة لخوادم الشبكة، وقد بلغت التعاملات السوقية العالمية لخدمات تقنية المعلومات المُدارة 149.1 مليار دولار في العام 2016، وهناك تقديراتٌ بأنّ قيمة تعامُلاتِ هذه السوق ستبلغُ 256.5 مليار دولار في العام 2021، وذلك بعد أن كانت 166.7 مليار دولار في العام 2017، بمعدَّل نموٍّ سنويٍّ مُركَّب بلغ 11.5% للفترة من عام 2018 وصولًا إلى العام 2021.
</p>

<p>
	ترجمة -وبتصرف- للفصل Using Technology to Manage Information من كتاب <a href="https://openstax.org/details/books/introduction-business" rel="external nofollow">introduction to business</a>.
</p>

<h2>
	اقرأ أيضًا
</h2>

<ul>
<li>
		المقال التالي: <a href="https://academy.hsoub.com/entrepreneurship/business/%D9%86%D8%B8%D9%85-%D8%A7%D9%84%D9%85%D8%B9%D9%84%D9%88%D9%85%D8%A7%D8%AA-%D8%A7%D9%84%D8%A5%D8%AF%D8%A7%D8%B1%D9%8A%D8%A9-r890/" rel="">نظم المعلومات الإدارية</a>
	</li>
	<li>
		المقال السابق: <a href="https://academy.hsoub.com/entrepreneurship/business/%D8%AA%D8%BA%D9%8A%D9%8A%D8%B1-%D8%A7%D9%84%D8%B4%D8%B1%D9%83%D8%A7%D8%AA-%D8%A8%D9%88%D8%A7%D8%B3%D8%B7%D8%A9-%D8%A7%D9%84%D9%85%D8%B9%D9%84%D9%88%D9%85%D8%A7%D8%AA%D9%8A%D8%A9-r878/" rel="">تغيير الشركات بواسطة المعلوماتية</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/devops/networking/%D8%AA%D8%A3%D8%B3%D9%8A%D8%B3-%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D8%AD%D8%A7%D8%B3%D9%88%D8%A8%D9%8A%D8%A9-%D9%88%D8%A7%D9%84%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA%D9%87%D8%A7-r482/" rel="">تأسيس الشبكات الحاسوبية والتعرف على تطبيقاتها</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/devops/networking/%D8%A7%D9%84%D8%B9%D9%88%D8%A7%D9%85%D9%84-%D8%A7%D9%84%D9%85%D8%A4%D8%AB%D8%B1%D8%A9-%D9%81%D9%8A-%D8%A3%D8%AF%D8%A7%D8%A1-%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D8%AD%D8%A7%D8%B3%D9%88%D8%A8%D9%8A%D8%A9-r486/" rel="">العوامل المؤثرة في أداء الشبكات الحاسوبية</a>
	</li>
</ul>
]]></description><guid isPermaLink="false">588</guid><pubDate>Thu, 10 Feb 2022 16:02:00 +0000</pubDate></item><item><title>&#x645;&#x62F;&#x62E;&#x644; &#x625;&#x644;&#x649; &#x623;&#x633;&#x645;&#x627;&#x621; &#x627;&#x644;&#x646;&#x637;&#x627;&#x642;&#x627;&#x62A; &#x641;&#x64A; &#x634;&#x628;&#x643;&#x629; &#x627;&#x644;&#x625;&#x646;&#x62A;&#x631;&#x646;&#x62A;</title><link>https://academy.hsoub.com/devops/networking/%D9%85%D8%AF%D8%AE%D9%84-%D8%A5%D9%84%D9%89-%D8%A3%D8%B3%D9%85%D8%A7%D8%A1-%D8%A7%D9%84%D9%86%D8%B7%D8%A7%D9%82%D8%A7%D8%AA-%D9%81%D9%8A-%D8%B4%D8%A8%D9%83%D8%A9-%D8%A7%D9%84%D8%A5%D9%86%D8%AA%D8%B1%D9%86%D8%AA-r573/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2022_01/61dee485bb1fd_-------.png.732aef8413d2eb9fe55d0045521290a7.png" /></p>

<p>
	تُعد أسماء النطاقات جزءًا مفتاحيًا من أجزاء البنية التحتية للإنترنت، فهي التي تزوّد المستخدم بعناوين مقروءة لأي خادم ويب موجود على الإنترنت.
</p>

<p>
	يمكن الوصول إلى أي حاسوب متصل بالإنترنت من خلال عنوان <a href="https://academy.hsoub.com/devops/networking/%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D9%81%D8%B1%D8%B9%D9%8A%D8%A9-%D9%88%D8%A7%D9%84%D8%B9%D9%86%D8%A7%D9%88%D9%8A%D9%86-%D9%88%D8%A7%D9%84%D8%A3%D8%AE%D8%B7%D8%A7%D8%A1-%D9%81%D9%8A-%D8%A8%D8%B1%D9%88%D8%AA%D9%88%D9%83%D9%88%D9%84-ip-r498/" rel="">آي بي IP Address</a> سواء بنسخته الرابعة IPv4 (مثل <code>173.194.121.32</code>) أو السادسة <a href="https://academy.hsoub.com/devops/networking/%D8%A7%D9%84%D8%A5%D8%B5%D8%AF%D8%A7%D8%B1-%D8%A7%D9%84%D8%B3%D8%A7%D8%AF%D8%B3-%D9%85%D9%86-%D8%A8%D8%B1%D9%88%D8%AA%D9%88%D9%83%D9%88%D9%84-ip-r504/" rel="">IPv6</a> (مثل <code>2027:0da8:8b73:0000:0000:8a2e:0370:1337</code> ).
</p>

<p>
	يمكن أن تتعامل الحواسيب مع هذه العناوين بسهولة، ولكن الأمر صعب بالنسبة للمستخدم الذي يحاول إيجاد من يدير الخادم أو ما هي الخدمات التي يقدمها موقع ويب، فعناوين آي بي صعبة التذكر ويمكن أن تتغير مع الوقت. لحل هذه الإشكالات نستخدم عناوين سهلة على المستخدمين ومقروءة تدعى <a href="https://academy.hsoub.com/devops/servers/%D9%85%D9%82%D8%AF%D9%91%D9%85%D8%A9-%D8%A5%D9%84%D9%89-%D9%85%D9%8F%D8%B5%D8%B7%D9%8E%D9%84%D8%AD%D8%A7%D8%AA-%D9%88%D8%B9%D9%86%D8%A7%D8%B5%D8%B1-%D9%88%D9%85%D9%81%D8%A7%D9%87%D9%8A%D9%85-%D9%86%D8%B8%D8%A7%D9%85-%D8%A3%D8%B3%D9%85%D8%A7%D8%A1-%D8%A7%D9%84%D9%86%D8%B7%D8%A7%D9%82%D8%A7%D8%AA-r5/" rel="">أسماء النطاقات</a>.
</p>

<p>
	إذًا، نهدف في هذا المقال إلى التعرف على مفهوم اسم النطاق Domain Name وكيف يعمل وأهميته في تقانة الويب.
</p>

<p>
	ننصحك قبل الشروع في قراءة المقال أن تطلع على مقال <a href="https://academy.hsoub.com/devops/networking/%D9%83%D9%8A%D9%81-%D8%AA%D8%B9%D9%85%D9%84-%D8%B4%D8%A8%D9%83%D8%A9-%D8%A7%D9%84%D8%A5%D9%86%D8%AA%D8%B1%D9%86%D8%AA%D8%9F-r571/" rel="">كيف تعمل شبكات الإنترنت؟</a>، وأن تكون تفاصيل <a href="https://academy.hsoub.com/programming/general/%D9%85%D8%A7-%D9%87%D9%88-%D8%B9%D9%86%D9%88%D8%A7%D9%86-url-%D9%81%D9%8A-%D8%A7%D9%84%D9%88%D9%8A%D8%A8%D8%9F-r1435/" rel="">عنوان URL</a> واضحة بالنسبة لك.
</p>

<h2>
	بنية أسماء النطاقات
</h2>

<p>
	يتكون اسم النطاق من بنية بسيطة مكونة من عدة أجزاء، ويمكن تتكون من جزء واحد فقط أو اثنين أو ثلاثة …إلخ، وتفصل بينها نقاط وتقرأ من اليمين إلى اليسار:
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="89024" href="https://academy.hsoub.com/uploads/monthly_2022_01/structure.png.26c236785a10b524fc63390beccaad45.png" rel=""><img alt="structure.png" class="ipsImage ipsImage_thumbnailed" data-fileid="89024" data-unique="arq9d5zbb" src="https://academy.hsoub.com/uploads/monthly_2022_01/structure.png.26c236785a10b524fc63390beccaad45.png"></a>
</p>

<p>
	يزودنا كل جزء من هذه الأجزاء بمعلومات محددة عن اسم النطاق عمومًا.
</p>

<h3>
	نطاق المستوى الأعلى TLD
</h3>

<p>
	توضح نطاقات المستويات الأعلى Top-Level Domain واختصارًا <a href="https://ar.wikipedia.org/wiki/%D9%86%D8%B7%D8%A7%D9%82_(%D8%A5%D9%86%D8%AA%D8%B1%D9%86%D8%AA)" rel="external nofollow">TLD</a> الغاية من الخدمة التي يقدمها النطاق عمومًا. لا تتطلب أكثر النطاقات العليا شيوعًا (<code>com.</code> و<code>org.</code> و<code>net.</code>) أية خدمات ويب لتحقق معايير محددة، بالمقابل تطبق بعض النطاقات العليا الأخرى سياسات أكثر صرامة، وبالتالي ستكون الغاية من استخدام هذه النطاقات واضحة أكثر.
</p>

<p>
	يمكن أن تفرض النطاقات العليا المحلية (الخاصة بالدول) مثل <code>us.</code> أو <code>fr.</code> أو <code>se.</code> أن تكون الخدمات أو الموارد بلغة محددة، أو مُستاضفة في بلد محدد، بينما لا يُسمح باستخدام النطاقات العليا <code>gov.</code> إلّا للمنظمات الحكومية، وكذلك الأمر بالنسبة للنطاقات التي تتضمن <code>edu،</code> فهي مسموحة للاستخدام مع المؤسسات التعليمية والأكاديمية فقط. تتكون أسماء النطاقات العليا من 36 محرفًا كحد أقصى علمًا أن معظمها مكون من محرفين أو ثلاثة، كما يمكن أن تضم محارفًا خاصة مثل الأحرف اللاتينية. يمكنك الاطلاع على القائمة الكاملة بأسماء النطاقات العليا على <a href="https://www.icann.org/resources/pages/tlds-2012-02-25-en" rel="external nofollow">موقع ICANN</a>.
</p>

<h3>
	العنوان (أو المكون)
</h3>

<p>
	تأتي العناوين بعد أسماء النطاقات العليا مباشرة على شكل سلسلة من المحارف غير الحساسة لحالة الأحرف والتي يمكن أن يتراوح عددها بين محرف وحتى 63 محرفًا. تتضمن هذه المحارف الحروف الأبجدية اللاتينية من A حتى Z والأرقام من 0 حتى 9 والمحرف <code>-</code> الذي لا يجوز أن يتواجد في بداية أو نهاية سلسلة المحارف. يمكن أن يكون العنوان على سبيل المثال <code>a</code> أو <code>97</code> أو <code>hello-strange-person-16-how-are-you</code>.
</p>

<p>
	يُدعى العنوان الأقرب إلى النطاق الأعلى بنطاق المستوى الثاني Secondary Level Name واختصارًا SLD، ويمكن لاسم النطاق أن يضم عدة عناوين (أو مكونات). ليس من الضروري إطلاقًا أن يتكون اسم النطاق من ثلاثة عناوين، فاسم النطاق <code>www.inf.ed.ac.uk</code> هو اسم صحيح، كما أن اسم النطاق <a href="www.hsoub.com" rel="">hsoub.com</a> صحيح أيضًا. وتجدر الإشارة إلى إمكانية إنشاء نطاقات فرعية Subdomains وهي مواقع ويب لها محتوياتها الخاصة ضمن الموقع ذاته باستخدام العناوين كالتالي: <a href="https://academy.hsoub.com/" rel="">Academy.hsoub.com</a> أو <a href="https://accounts.hsoub.com/" rel="external nofollow">accounts.hasoub.com</a>.
</p>

<h2>
	شراء اسم نطاق
</h2>

<p>
	بعد أن تعرفنا على هيكلية أسماء النطاقات لنتعرف كيف يمكننا شراء نطاق معين.
</p>

<h3>
	من يمتلك أسماء النطاقات؟
</h3>

<p>
	يمكن شراء أي اسم نطاق غير محجوز وفي حال كان اسم نطاق مستخدم بالفعل فلا يمكنك شراءه حتى يتخلى صاحبه عنه، بالاضافة إلى ذلك لا يمكننا شراء النطاق إلى الأبد لأن ذلك سيؤدي لامتلاء الويب بأسماء غير مستخدمة ومغلقة لا يمكن استخدامها مجددًا.
</p>

<p>
	بدلًا من شراء أسماء النطاقات للأبد يمكنك دفع مبلغ معين مقابل حصولك على حق استخدام اسم النطاق الذي تريده لمدة زمنية محددة (عام أو أكثر)، كما يمكنك تجديد حق الاستخدام والذي سيمنح الأولوية لطلبك على طلبات الآخرين، ولكن تذكر بأنك لا تملك اسم النطاق هذا للأبد.
</p>

<p>
	تستخدم بعض الشركات التي تُدعى "مُسجِّلات Registrar" سجلات أسماء النطاقات لتتبع المعلومات التقنية والإدارية التي تربطك باسم النطاق الذي تحجزه.
</p>

<blockquote class="ipsQuote" data-ipsquote="">
	<div class="ipsQuote_citation">
		اقتباس
	</div>

	<p>
		لا يمكن لبعض المسجلات المسؤولة عن تتبع أسماء النطاقات من الولوج إلى معلومات بعض النطاقات كالنطاق <code>fire.</code> الذي تديره شركة أمازون.
	</p>
</blockquote>

<h3>
	العثور على اسم نطاق
</h3>

<p>
	لتتأكد أن اسم النطاق الذي تختاره متاح للاستخدام أم محجوز اتبع الخطوات التالية:
</p>

<ul>
<li>
		ادخل على موقع شركة مسجّلة فهي تقدم خدمة تدعى “whois” أو "هو إز" تخبرك عن توفر اسم نطاق معين أم لا.
	</li>
	<li>
		إن كنت تستخدم نظام تشغيل مزوّد بمفسّر أوامر Shell، افتح المفسر واكتب الأمر <code>whois</code> يتبعه اسم النطاق ثم اضغط الزر "Enter". إليك مثالًا عمليًا وليكن اسم النطاق الذي نريد البحث عنه هو <code>hsoub.com</code> سيكون الأمر والنتيجة على الشكل التالي:
	</li>
</ul>
<pre class="ipsCode prettyprint lang-javascript prettyprinted" id="ips_uid_5775_7" style="">
<span class="pln">$ whois </span><span class="typ">Hsoub</span><span class="pun">.</span><span class="pln">com
</span><span class="typ">Domain</span><span class="pln"> </span><span class="typ">Name</span><span class="pun">:</span><span class="pln"> HSOUB</span><span class="pun">.</span><span class="pln">COM
</span><span class="typ">Registry</span><span class="pln"> </span><span class="typ">Domain</span><span class="pln"> ID</span><span class="pun">:</span><span class="pln"> </span><span class="lit">1623716742</span><span class="pln">_DOMAIN_COM</span><span class="pun">-</span><span class="pln">VRSN
</span><span class="typ">Updated</span><span class="pln"> </span><span class="typ">Date</span><span class="pun">:</span><span class="pln"> </span><span class="lit">2019</span><span class="pun">-</span><span class="lit">09</span><span class="pun">-</span><span class="lit">29T14</span><span class="pun">:</span><span class="lit">11</span><span class="pun">:</span><span class="lit">16Z</span><span class="pln">
</span><span class="typ">Creation</span><span class="pln"> </span><span class="typ">Date</span><span class="pun">:</span><span class="pln"> </span><span class="lit">2010</span><span class="pun">-</span><span class="lit">11</span><span class="pun">-</span><span class="lit">03T21</span><span class="pun">:</span><span class="lit">39</span><span class="pun">:</span><span class="lit">38Z</span><span class="pln">
</span><span class="typ">Registrar</span><span class="pln"> </span><span class="typ">Registration</span><span class="pln"> </span><span class="typ">Expiration</span><span class="pln"> </span><span class="typ">Date</span><span class="pun">:</span><span class="pln"> </span><span class="lit">2028</span><span class="pun">-</span><span class="lit">11</span><span class="pun">-</span><span class="lit">03T21</span><span class="pun">:</span><span class="lit">39</span><span class="pun">:</span><span class="lit">38Z</span><span class="pln">
</span><span class="typ">Registrar</span><span class="pun">:</span><span class="pln"> </span><span class="typ">Name</span><span class="pun">.</span><span class="pln">com</span><span class="pun">,</span><span class="pln"> </span><span class="typ">Inc</span><span class="pun">.</span><span class="pln">
</span><span class="typ">Registrar</span><span class="pln"> IANA ID</span><span class="pun">:</span><span class="pln"> </span><span class="lit">625</span><span class="pln">
</span><span class="typ">Reseller</span><span class="pun">:</span><span class="pln">
</span><span class="typ">Domain</span><span class="pln"> </span><span class="typ">Status</span><span class="pun">:</span><span class="pln"> clientTransferProhibited
</span><span class="typ">Registry</span><span class="pln"> </span><span class="typ">Registrant</span><span class="pln"> ID</span><span class="pun">:</span><span class="pln"> </span><span class="typ">Not</span><span class="pln"> </span><span class="typ">Available</span><span class="pln"> </span><span class="typ">From</span><span class="pln"> </span><span class="typ">Registry</span><span class="pln">
</span><span class="typ">Registrant</span><span class="pln"> </span><span class="typ">Name</span><span class="pun">:</span><span class="pln"> </span><span class="typ">Whois</span><span class="pln"> </span><span class="typ">Agent</span><span class="pln">
</span><span class="typ">Registrant</span><span class="pln"> </span><span class="typ">Organization</span><span class="pun">:</span><span class="pln"> </span><span class="typ">Domain</span><span class="pln"> </span><span class="typ">Protection</span><span class="pln"> </span><span class="typ">Services</span><span class="pun">,</span><span class="pln"> </span><span class="typ">Inc</span><span class="pun">.</span><span class="pln">
</span><span class="typ">Registrant</span><span class="pln"> </span><span class="typ">Street</span><span class="pun">:</span><span class="pln"> PO </span><span class="typ">Box</span><span class="pln"> </span><span class="lit">1769</span><span class="pln">
</span><span class="typ">Registrant</span><span class="pln"> </span><span class="typ">City</span><span class="pun">:</span><span class="pln"> </span><span class="typ">Denver</span><span class="pln">
</span><span class="typ">Registrant</span><span class="pln"> </span><span class="typ">State</span><span class="pun">/</span><span class="typ">Province</span><span class="pun">:</span><span class="pln"> CO
</span><span class="typ">Registrant</span><span class="pln"> </span><span class="typ">Postal</span><span class="pln"> </span><span class="typ">Code</span><span class="pun">:</span><span class="pln"> </span><span class="lit">80201</span><span class="pln">
</span><span class="typ">Registrant</span><span class="pln"> </span><span class="typ">Country</span><span class="pun">:</span><span class="pln"> US
</span><span class="typ">Registrant</span><span class="pln"> </span><span class="typ">Phone</span><span class="pun">:</span><span class="pln"> </span><span class="pun">+</span><span class="lit">1.7208009072</span><span class="pln">
</span><span class="typ">Registrant</span><span class="pln"> </span><span class="typ">Fax</span><span class="pun">:</span><span class="pln"> </span><span class="pun">+</span><span class="lit">1.7209758725</span><span class="pln">
</span><span class="typ">Registrant</span><span class="pln"> </span><span class="typ">Email</span><span class="pun">:</span><span class="pln"> https</span><span class="pun">:</span><span class="com">//www.name.com/contact-domain-whois/hsoub.com</span></pre>

<p>
	كما ترى، لا يمكن تسجيل اسم النطاق لأن شركة "حسوب Hsoub" حجزته بالفعل. لنرى إن كان بالإمكان تسجيل اسم النطاق <code>afunkydomainname.org</code>:
</p>

<pre class="ipsCode prettyprint lang-javascript prettyprinted" id="ips_uid_5775_9" style="">
<span class="pln">$ whois afunkydomainname</span><span class="pun">.</span><span class="pln">org
NOT FOUND</span></pre>

<p>
	كما ترى لا وجود لاسم النطاق هذا في قاعدة بيانات <code>whois</code> (حتى لحظة الكتابة) وبالتالي يمكنك الاستعلام عنه وحجزه!
</p>

<h3>
	الحصول على اسم نطاق
</h3>

<p>
	العملية مباشرة وفق الخطوات التالي:
</p>

<ol>
<li>
		افتح موقع ويب إحدى الشركات المسجِّلة.
	</li>
	<li>
		ستجد عادة زر أو رابط دائمًا بعنوان "احصل على اسم نطاق Get a domain name".
	</li>
	<li>
		إملأ الاستمارة التي تظهر بالمعلومات المطلوبة، وتأكد من أنك لم تخطئ كتابة اسم النطاق الذي ترغب بحجزه، فبمجرد أن تدفع لن تتمكن من التراجع!
	</li>
	<li>
		ستعلمك الشركة المسجّلة متى أصبح اسم النطاق الذي حجزته مسجّلًا وجاهزًا للاستخدام. خلال عدة ساعات ستتعرف كل خوادم أسماء النطاقات Domain Name System اختصارًا DNS على معلومات اسم النطاق الذي حجزته.
	</li>
</ol>
<blockquote class="ipsQuote" data-ipsquote="">
	<div class="ipsQuote_citation">
		اقتباس
	</div>

	<p>
		ستطلب منك الشركة المسجلة أثناء عملية التسجيل عنوانك الحقيقي، فتأكد بأنك وضعت العنوان الفعلي لأن شركات التسجيل في بعض الدول تمنع تسجيل أي اسم نطاق إن لم يرتبط بعنوان فعلي.
	</p>
</blockquote>

<h3>
	تحديث خوادم أسماء النطاقات
</h3>

<p>
	تُخزن قواعد بيانات دي إن إس في جميع خوادم أسماء النطاقات في العالم وترتبط هذه الخوادم جميعها بعدة خوادم خاصة تدعى "خوادم أسماء النطاقات الموثقة Authoritative Name Servers" أو "خوادم دي إن إس المستوى الأعلى Top-Level DNS Servers" وهذه الخوادم بمثابة المدراء للمنظومة ككل.
</p>

<p>
	عندما تسجل أي شركة مسجّلة اسم نطاق أو تحدث اسمًا موجودًا فلا بدّ من تحديث المعلومات في قواعد البيانات لجميع خوادم أسماء النطاقات. فعندما يعرف <a href="https://academy.hsoub.com/devops/servers/%D9%85%D8%A7-%D9%87%D9%88-%D8%AE%D8%A7%D8%AF%D9%85-%D8%A7%D9%84%D9%88%D9%8A%D8%A8%D8%9F-r574/" rel="">خادم</a> أسماء النطاقات بوجود اسم نطاق ما فسيخزنُ معلوماته لبعض الوقت قبل أن يتأكد من سلامتها ثم يحدّثها (يستعلم خادم أسماء النطاقات من خادم أسماء النطاقات الموثوقة عن اسم النطاق ويحضر المعلومات المحدثة منه). لهذا تستغرق العملية بعض الوقت ليحصل خادم أسماء النطاقات على المعلومات المحدثة لاسم نطاق مسجل لديه (يعلم بوجوده).
</p>

<h2>
	آلية عمل استعلام دي إن إس DNS
</h2>

<p>
	كما رأينا سابقًا من السهل أن تكتب اسم النطاق في شريط عنوان المتصفح عندما تريد الوصول إلى صفحة ويب بدلًا من عنوان آي بي لها. لنلق نظرة على العملية:
</p>

<ol>
<li>
		اكتب مثلًا <code>Hsoub.com</code> في شريط عنوان متصفحك.
	</li>
	<li>
		يسأل المتصفح حاسوبك إن كان على دراية بعنوان آي بي الذي يحدده اسم النطاق الذي كتبته (من خلال البحث في ذاكرة دي إن إس مؤقتة على الحاسوب). إن وجدت المعلومات يترجم المتصفح اسم النطاق إلى عنوان آي بي الموجود في الذاكرة المؤقتة ثم يحضر المتصفح المحتوى المطلوب من الخادم المحدد بعنوان آي بي.
	</li>
	<li>
		إن لم يتعرف حاسوبك على عنوان آي بي المرتبط باسم النطاق الذي كتبته سيتوجه المتصفح إلى خادم أسماء النطاقات لسؤاله، لأن عمله بالتحديد هو معرفة عنوان آي بي لكل اسم نطاق مسجل لديه.
	</li>
	<li>
		يعرف حاسوبك الآن عنوان آي بي المطلوب وبالتالي سيتمكن المتصفح من إحضار المحتوى المطلوب من خادم ويب الصحيح.
	</li>
</ol>
<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="89023" href="https://academy.hsoub.com/uploads/monthly_2022_01/01_how_DNS_works.png.0db43de1d5c198787ec7ecf56b1b83fa.png" rel=""><img alt="01_how_DNS_works.png" class="ipsImage ipsImage_thumbnailed" data-fileid="89023" data-unique="ot2v3zhey" src="https://academy.hsoub.com/uploads/monthly_2022_01/01_how_DNS_works.thumb.png.91827ef385e9c8750aa8fae3ff36315b.png"></a>
</p>

<ul>
<li>
		ترجمة -وبتصرف- للمقال <a href="https://developer.mozilla.org/en-US/docs/Learn/Common_questions/What_is_a_domain_name" rel="external nofollow">What is a Domain Name</a>.
	</li>
</ul>
<h2>
	اقرأ أيضًا
</h2>

<ul>
<li>
		<a href="https://academy.hsoub.com/devops/servers/%D8%A7%D9%84%D9%81%D8%B1%D9%82-%D8%A8%D9%8A%D9%86-%D8%B5%D9%81%D8%AD%D8%A9-%D8%A7%D9%84%D9%88%D9%8A%D8%A8-%D9%88%D9%85%D9%88%D9%82%D8%B9-%D8%A7%D9%84%D9%88%D9%8A%D8%A8-%D9%88%D8%AE%D8%A7%D8%AF%D9%85-%D8%A7%D9%84%D9%88%D9%8A%D8%A8-%D9%88%D9%85%D8%AD%D8%B1%D9%83-%D8%A7%D9%84%D8%A8%D8%AD%D8%AB-r572/" rel="">الفرق بين صفحة الويب وموقع الويب وخادم الويب ومحرك البحث.</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/workflow/%D9%85%D8%A7-%D9%87%D9%8A-%D8%A7%D9%84%D8%A3%D8%AF%D9%88%D8%A7%D8%AA-%D8%A7%D9%84%D9%85%D8%B3%D8%AA%D8%AE%D8%AF%D9%85%D8%A9-%D9%81%D9%8A-%D8%A8%D9%86%D8%A7%D8%A1-%D9%85%D9%88%D8%A7%D9%82%D8%B9-%D9%88%D9%8A%D8%A8%D8%9F-r1436/" rel="">ما هي الأدوات المستخدمة في بناء مواقع ويب؟</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/general/%D9%85%D8%A7-%D8%A7%D9%84%D8%AA%D9%83%D9%84%D9%81%D8%A9-%D8%A7%D9%84%D9%85%D8%A7%D8%AF%D9%8A%D8%A9-%D8%A7%D9%84%D9%83%D8%A7%D9%85%D9%84%D8%A9-%D9%84%D8%A8%D9%86%D8%A7%D8%A1-%D9%85%D9%88%D9%82%D8%B9-%D9%88%D9%8A%D8%A8%D8%9F-r1437/" rel="">ما التكلفة المادية الكاملة لبناء موقع ويب؟</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/programming/workflow/%D9%85%D8%A7-%D9%87%D9%8A-%D8%A3%D8%AF%D9%88%D8%A7%D8%AA-%D9%85%D8%B7%D9%88%D8%B1%D9%8A-%D8%A7%D9%84%D9%88%D9%8A%D8%A8-%D8%A7%D9%84%D9%85%D8%AF%D9%85%D8%AC%D8%A9-%D9%81%D9%8A-%D8%A7%D9%84%D9%85%D8%AA%D8%B5%D9%81%D8%AD%D8%A7%D8%AA%D8%9F-r1439/" rel="">ما هي أدوات مطوري الويب المدمجة في المتصفحات؟</a>
	</li>
</ul>
]]></description><guid isPermaLink="false">573</guid><pubDate>Fri, 14 Jan 2022 15:00:00 +0000</pubDate></item><item><title>&#x622;&#x644;&#x64A;&#x629; &#x639;&#x645;&#x644; &#x634;&#x628;&#x643;&#x629; &#x627;&#x644;&#x625;&#x646;&#x62A;&#x631;&#x646;&#x62A;</title><link>https://academy.hsoub.com/devops/networking/%D8%A2%D9%84%D9%8A%D8%A9-%D8%B9%D9%85%D9%84-%D8%B4%D8%A8%D9%83%D8%A9-%D8%A7%D9%84%D8%A5%D9%86%D8%AA%D8%B1%D9%86%D8%AA-r571/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2022_01/61debc51b1dbc_----.png.8c7518b63e0da1cf11e0b4c78c422c1b.png" /></p>

<p>
	تُعد شبكة الإنترنت العمود الفقري للويب والبنية التحتية التقنية التي جعلت الويب واقعًا معاشًا. ببساطة شديدة يمكن أن نعرّف الإنترنت بأنها شبكة ضخمة من الحواسيب التي تتواصل مع بعضها.
</p>

<p>
	<a href="https://ar.wikipedia.org/wiki/%D8%A5%D9%86%D8%AA%D8%B1%D9%86%D8%AA" rel="external nofollow">يلف الغموض نوعًا ما تاريخ الإنترنت</a> نظرًا لبدايته كمشروع بحثي مولَه الجيش الأمريكي في ستينات القرن الماضي، ثم تحوّل إلى بنية تحتية عمومية في ثمانينات القرن ذاته بدعم من عدة جامعات حكومية وشركات خاصة. تطورت مع الوقت تقنيات متنوعة تدعم الإنترنت، لكن آلية عملها لم تتغير كثيرًا: فالإنترنت وسيلة لربط الحواسيب مع بعضها بعضًا وتضمن بقاء هذه الحواسب متصلة ببعضها مهما حدث.
</p>

<p>
	سنناقش في هذا المقال ماهية الإنترنت وآلية عمله. لفهم مبادئ البنية التحتية التقنية للويب ولمعرفة الفرق الدقيق بينها وبين الإنترنت.
</p>

<h2>
	الشبكة البسيطة
</h2>

<p>
	عندما تريد من حاسوبين التواصل، لابد من وصلهما سلكيًا عبر كابل شبكة (أو كما يُعرف باسم كابل إيثرنت) أو لاسلكيًا عبر أنظمة اتصالات لاسلكية مثل تقنية الواي-فاي أو البلوتوث. وستجد أن معظم الحواسب الحديثة تدعم كل وسائل الاتصال التي ذكرناها.
</p>

<blockquote class="ipsQuote" data-ipsquote="">
	<div class="ipsQuote_citation">
		اقتباس
	</div>

	<div class="ipsQuote_contents ipsClearfix">
		<p>
			<strong>ملاحظة</strong>: سنتحدث خلال هذا المقال عن الكابلات الفيزيائية، لكن ما ينطبق عليها ينطبق على <a href="https://academy.hsoub.com/devops/networking/%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D9%84%D8%A7%D8%B3%D9%84%D9%83%D9%8A%D8%A9-wireless-networks-%D9%88%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D9%88%D8%B5%D9%88%D9%84-access-networks-r492/?tab=comments" rel="">شبكات الاتصال اللاسلكية</a>.
		</p>
	</div>
</blockquote>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="88984" href="https://academy.hsoub.com/uploads/monthly_2022_01/01_Two_computers_linked_together.png.f43f129befb6224154d32506b41cfab7.png" rel=""><img alt="01_Two_computers_linked_together.png" class="ipsImage ipsImage_thumbnailed" data-fileid="88984" data-unique="fn0lsrsgc" src="https://academy.hsoub.com/uploads/monthly_2022_01/01_Two_computers_linked_together.png.f43f129befb6224154d32506b41cfab7.png" style="width: 400px; height: auto;"></a>
</p>

<p>
	يمكن لهذه الشبكة أن تربط حاسوبين مع أي عدد تريده من الحواسب، لكن الوضع سيتعقد بسرعة. فلو حاولت أن تربط 10 حواسب مثلًا ستحتاج إلى 45 كابلًا وتسعة مقابس لوصلها لكل حاسوب.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="88985" href="https://academy.hsoub.com/uploads/monthly_2022_01/02_Ten_computers_all_together.png.57289265d0426640c835086947094498.png" rel=""><img alt="02_Ten_computers_all_together.png" class="ipsImage ipsImage_thumbnailed" data-fileid="88985" data-unique="lu6rq7hn1" src="https://academy.hsoub.com/uploads/monthly_2022_01/02_Ten_computers_all_together.png.57289265d0426640c835086947094498.png" style="width: 400px; height: auto;"></a>
</p>

<p>
	لحل هذه المشكلة يتصل كل حاسوب على الشبكة بجهاز حاسوبي صغير خاص يُدعى الموجّه Router، وهذا الجهاز له وظيفة واحدة: وهي التأكد أنّ الرسالة التي يرسلها حاسوب معين ستصل إلى وجهتها الصحيحة؛ أي إلى الحاسوب الصحيح. فعند ارسال رسالة من الحاسوب A إلى الحاسوب B ستخرج الرسالة من الحاسوب A إلى الموجّه الذي سيحوّل الرسالة بدوره إلى الحاسوب B ويتأكد أن الرسالة لن تحوّل إلى حاسوب آخر مثل C.
</p>

<p>
	عند إضافة موجّه إلى الشبكة المكونة من عشرة حواسب، سينخفض عدد الكابلات المطلوبة إلى 10 ومقبس واحد لكل حاسوب، كما سنحتاج إلى موجّه بعشرة مقابس.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="88986" href="https://academy.hsoub.com/uploads/monthly_2022_01/03_Ten_computers_with_router.png.02fae4a5a547bfd2c2c532d8b37908de.png" rel=""><img alt="03_Ten_computers_with_router.png" class="ipsImage ipsImage_thumbnailed" data-fileid="88986" data-unique="isz01dtli" src="https://academy.hsoub.com/uploads/monthly_2022_01/03_Ten_computers_with_router.png.02fae4a5a547bfd2c2c532d8b37908de.png" style="width: 400px; height: auto;"></a>
</p>

<h2>
	شبكة مكونة من عدة شبكات
</h2>

<p>
	نلاحظ أن الأمر بسيط مع عشرة حواسيب، ولكن ماذا عن وصل مئات أو آلاف أو ملايين الحواسيب؟ لن يكفي موّجه واحد بالطبع، وطالما أن الموجّه هو حاسوب كبقية الحواسيب، فما المانع من وصل موجّهين معًا؟ لا شيء.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="88987" href="https://academy.hsoub.com/uploads/monthly_2022_01/04_Two_routers_linked_together.png.e5870538a61ab83138e4059ddefed4f0.png" rel=""><img alt="04_Two_routers_linked_together.png" class="ipsImage ipsImage_thumbnailed" data-fileid="88987" data-unique="8jpe7i6ku" src="https://academy.hsoub.com/uploads/monthly_2022_01/04_Two_routers_linked_together.png.e5870538a61ab83138e4059ddefed4f0.png" style="width: 400px; height: auto;"></a>
</p>

<p>
	عندما نوصل الحواسيب إلى موجهات ونوصل الموجهات ببعضها يمكننا توسيع الشبكة إلى ما لانهاية نظريًا.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="88988" href="https://academy.hsoub.com/uploads/monthly_2022_01/05_Routers_linked_to_routers.png.b2bbf182719561371e82f7441dc1b016.png" rel=""><img alt="05_Routers_linked_to_routers.png" class="ipsImage ipsImage_thumbnailed" data-fileid="88988" data-unique="drykbtax1" src="https://academy.hsoub.com/uploads/monthly_2022_01/05_Routers_linked_to_routers.png.b2bbf182719561371e82f7441dc1b016.png" style="width: 400px; height: auto;"></a>
</p>

<p>
	تتشابه هذه الشبكة التي بنيناها لشبكة الإنترنت، لكن ينقصها شيء ما. فعندما بنينا شبكتنا الخاصة التي تخدم أغراضنا، نسينا الشبكات الأخرى التي سيبنيها الآخرون لأن كل شخص قادر على بناء شبكته الخاصة ومن غير الممكن مثلًا توصيل كابلات بين منزلك وكل الشبكات المحيطة، فكيف سنحل الأمر إذًا؟ في الحقيقة هناك كابلات متعددة تصل بالفعل إلى منزلك مثل كابل الطاقة الكهربائية وكابل الهاتف. فالبنية التحتية للاتصالات الهاتفية تربط منزلك بالفعل مع أي شخص في العالم وبالتالي سيكون كابل الهاتف الخيار المثالي الذي نحتاج إليه. ولوصل شبكتنا بالبنية التحتية الهاتفية نحتاج إلى جهاز يدعى المودم Modem وهو يحول المعلومات التي توّلدها شبكتنا إلى معلومات تستطيع <a href="https://academy.hsoub.com/devops/networking/%D8%AA%D8%B7%D8%A8%D9%8A%D9%82%D8%A7%D8%AA-%D8%A7%D9%84%D8%A8%D9%86%D9%8A%D8%A9-%D8%A7%D9%84%D8%AA%D8%AD%D8%AA%D9%8A%D8%A9-%D9%81%D9%8A-%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D8%AD%D8%A7%D8%B3%D9%88%D8%A8%D9%8A%D8%A9-r552/" rel="">البنية التحتية</a> الهاتفية فهمها وإدارتها والعكس بالعكس.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="88989" href="https://academy.hsoub.com/uploads/monthly_2022_01/06_router_linked_to_modem.png.f3d82ac3e8e5c9b05df2334bc7059028.png" rel=""><img alt="06_router_linked_to_modem.png" class="ipsImage ipsImage_thumbnailed" data-fileid="88989" data-unique="n62jdoaix" src="https://academy.hsoub.com/uploads/monthly_2022_01/06_router_linked_to_modem.png.f3d82ac3e8e5c9b05df2334bc7059028.png" style="width: 400px; height: auto;"></a>
</p>

<p>
	بعد اتصالنا بالبنية التحتية الهاتفية ستكون الخطوة التالية هي توصيل الرسائل من شبكتنا إلى الشبكة التي نريدها. ولإتمام هذا الأمر سنصل شبكتنا أولًا بما يسمى مزود خدمة الإنترنت Internet Service Provider واختصارًا ISP. ومزود خدمة الإنترنت هي شركة تدير مجموعة خاصة من الموجهات المرتبطة ببعضها ولديها القدرة على الولوج إلى الموجهات الموجودة في مزودات خدمة أخرى. وهكذا تنتقل الرسائل من شبكتنا إلى الشبكة التي نريدها عبر شبكات مزود خدمة الإنترنت. تتكون الإنترنت من هذه البنية التحتية من الشبكات.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="88990" href="https://academy.hsoub.com/uploads/monthly_2022_01/07_full_internet_stack.png.9acab3ee46c80eeff54f91af04cf6bca.png" rel=""><img alt="07_full_internet_stack.png" class="ipsImage ipsImage_thumbnailed" data-fileid="88990" data-unique="5bb77xzyk" src="https://academy.hsoub.com/uploads/monthly_2022_01/07_full_internet_stack.thumb.png.8bdaf9808f667951d6725ca772f848c9.png"></a>
</p>

<h2>
	إيجاد حاسوب معين
</h2>

<p>
	إذا أردنا إرسال رسالة إلى حاسوب ما، علينا أن تحدد تمامًا من هو مستقبل الرسالة. لهذا السبب يمتلك كل حاسوب متصل إلى الشبكة عنوانًا فريدًا يميزه عن غيره من الحواسيب يدعى <a href="https://academy.hsoub.com/devops/networking/%D8%B4%D8%A8%D9%83%D8%A9-%D8%A7%D9%84%D8%A5%D9%86%D8%AA%D8%B1%D9%86%D8%AA-%D8%A8%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85-%D8%A8%D8%B1%D9%88%D8%AA%D9%88%D9%83%D9%88%D9%84-ip-r497/" rel="">عنوان آي بي</a> IP address (وهو اختصار للعبارة Internet Protocol أي بروتوكول إنترنت). يتكون عنوان آي بي من مجموعات مكونة من أربع أرقام تفصل بينها نقاط كالعنوان التالي: <code>192.168.2.10</code>.
</p>

<p>
	تتذكر الحواسيب هذه العناوين جيدًا لكن يصعب على البشر تذكرها. ولتسهيل هذا الأمر يمكن تحويل هذه العناوين المؤلفة من أرقام إلى أسماء يفهمها البشر تُدعى <a href="https://academy.hsoub.com/devops/servers/%D9%85%D9%82%D8%AF%D9%91%D9%85%D8%A9-%D8%A5%D9%84%D9%89-%D9%85%D9%8F%D8%B5%D8%B7%D9%8E%D9%84%D8%AD%D8%A7%D8%AA-%D9%88%D8%B9%D9%86%D8%A7%D8%B5%D8%B1-%D9%88%D9%85%D9%81%D8%A7%D9%87%D9%8A%D9%85-%D9%86%D8%B8%D8%A7%D9%85-%D8%A3%D8%B3%D9%85%D8%A7%D8%A1-%D8%A7%D9%84%D9%86%D8%B7%D8%A7%D9%82%D8%A7%D8%AA-r5/" rel="">أسماء النطاقات</a> Domain names. فمثلًا (حتى لحظة كتابة هذه السطور ولأن عناوين آي بي تتغير) يرتبط اسم النطاق <code>google.com</code> بعنوان آي بي <code>142.250.190.78</code>. وهكذا يُسهل اسم النطاق الوصول إلى حاسوب عبر الإنترنت.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="88991" href="https://academy.hsoub.com/uploads/monthly_2022_01/08_aliasing_ip_address_with_domain_name.png.668297595256f09c33bbc6447bfe56b9.png" rel=""><img alt="08_aliasing_ip_address_with_domain_name.png" class="ipsImage ipsImage_thumbnailed" data-fileid="88991" data-unique="vl9ous15p" src="https://academy.hsoub.com/uploads/monthly_2022_01/08_aliasing_ip_address_with_domain_name.png.668297595256f09c33bbc6447bfe56b9.png"></a>
</p>

<h2>
	ما الفرق بين الإنترنت والويب؟
</h2>

<p>
	لا بدّ وأنك لاحظت أننا نستخدم أسماء النطاقات عادة عندما نتصفح الويب من خلال المتصفحات، فهل يعني ذلك أنّ الإنترنت والويب هو الشيء ذاته؟ في الحقيقة الأمر ليس بهذه البساطة.
</p>

<p>
	يعد الإنترنت كما رأيناه كبنية تحتية تقنية تسمح لمليارات الحواسيب بأن تتواصل مع بعضها، ويمكن لبعض هذه الحواسب والتي تدعى خوادم ويب <em>Web servers</em> أن توصل رسائل مفهومة بالنسبة لمتصفحات الويب، وبالتالي فالإنترنت هي البنية التحتية الأساسية بينما الويب هي خدمات مبنية على هذه البنية. ومن المفيد الإشارة إلى وجود خدمات أخرى مبنية على الإنترنت مثل خدمة البريد الإلكتروني وخدمة المحادثة المبنية على إنترنت Internet Relay Chat واختصارًا <a href="https://www.google.com/search?q=site%3Aacademy.hsoub.com+IRC&amp;ei=criXYa6gB4uWsAe82orYCQ&amp;ved=0ahUKEwiuoa2R1aT0AhULC-wKHTytApsQ4dUDCA4&amp;uact=5&amp;oq=site%3Aacademy.hsoub.com+IRC&amp;gs_lcp=Cgdnd3Mtd2l6EANKBAhBGAFQoQNYoQNgzQRoAXAAeACAAQCIAQCSAQCYAQCgAQKgAQHAAQE&amp;sclient=gws-wiz" rel="external nofollow">IRC</a>.
</p>

<h2>
	الشبكات الداخلية (إنترانيت) والخارجية (إكسترانت)
</h2>

<p>
	الإنترانت Intranet هي شبكات خاصة تسمح لأشخاص محددين فقط من منظمة محددة الوصول إليها. تشكل هذه الشبكات بوابة خاصة تساعد الأعضاء على الوصول إلى موارد مشتركة بطريقة آمنة وتسمح لهم التعاون والتواصل فيما بينهم، فيمكن أن تستضيف منظمات شبكة إنترانت خاصة بها لمشاركة صفحات ومعلومات ضمن القسم أو الفريق ومشاركة السواقات لإدارة المستندات الهامة وبوابات لإدارة مهام تتعلق بالأعمال وأدوات للتعاون مثل المنشورات التعاونية wikis ومنصات النقاش ومنظومات الرسائل.
</p>

<p>
	تشبه الإكسترانت Extranet الإنترانت إلا أن الإكسترانت تتيح الوصول إلى شبكتها الخاصة كليًا أو جزئيًا للتعاون مع منظمات أخرى وتُستخدم بصورة أساسية لمشاركة المعلومات بأمان وسرية مع العملاء والمضاربين، وتتشابه وظيفيًا في الكثير من الأحيان مع الإنترانت فيما يتعلق بمشاركة الملفات والمعلومات وأدوات التعاون ومنصات النقاش وغيرها.
</p>

<p>
	تعمل كلتا الشبكتين على البنية التحتية نفسها التي تعمل عليها الإنترنت كما تستخدم البروتوكولات ذاتها، وبالتالي يمكن الوصول إليها من قبل الأعضاء المفوضين بذلك ومن مواقع فيزيائية مختلفة.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="88992" href="https://academy.hsoub.com/uploads/monthly_2022_01/09_Graphical_Representation_of_Intranet.png.5a756bdc667aa731478c797521c80809.png" rel=""><img alt="09_Graphical_Representation_of_Intranet.png" class="ipsImage ipsImage_thumbnailed" data-fileid="88992" data-unique="15rfszs9s" src="https://academy.hsoub.com/uploads/monthly_2022_01/09_Graphical_Representation_of_Intranet.png.5a756bdc667aa731478c797521c80809.png" style="width: 300px; height: auto;"></a>
</p>

<p>
	ترجمة -وبتصرف- للمقال <a href="https://developer.mozilla.org/en-US/docs/Learn/Common_questions/How_does_the_Internet_work" rel="external nofollow">How does Internet work</a>
</p>

<h2>
	اقرأ أيضًا
</h2>

<ul>
<li>
		<a href="https://academy.hsoub.com/programming/general/%D9%85%D8%A7-%D9%87%D9%88-%D8%B9%D9%86%D9%88%D8%A7%D9%86-url-%D9%81%D9%8A-%D8%A7%D9%84%D9%88%D9%8A%D8%A8%D8%9F-r1435/" rel="">ما هو عنوان URL في الويب؟</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/devops/servers/%D8%A7%D9%84%D9%81%D8%B1%D9%82-%D8%A8%D9%8A%D9%86-%D8%B5%D9%81%D8%AD%D8%A9-%D8%A7%D9%84%D9%88%D9%8A%D8%A8-%D9%88%D9%85%D9%88%D9%82%D8%B9-%D8%A7%D9%84%D9%88%D9%8A%D8%A8-%D9%88%D8%AE%D8%A7%D8%AF%D9%85-%D8%A7%D9%84%D9%88%D9%8A%D8%A8-%D9%88%D9%85%D8%AD%D8%B1%D9%83-%D8%A7%D9%84%D8%A8%D8%AD%D8%AB-r572/" rel="">الفرق بين صفحة الويب وموقع الويب وخادم الويب ومحرك البحث؟</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/devops/networking/%D9%85%D8%A7-%D9%87%D9%8A-%D8%A3%D8%B3%D9%85%D8%A7%D8%A1-%D8%A7%D9%84%D9%86%D8%B7%D8%A7%D9%82%D8%A7%D8%AA-%D9%81%D9%8A-%D8%B4%D8%A8%D9%83%D8%A9-%D8%A7%D9%84%D8%A5%D9%86%D8%AA%D8%B1%D9%86%D8%AA%D8%9F-r573/" rel="">ما هي أسماء النطاقات في شبكة الإنترنت؟</a>
	</li>
</ul>
]]></description><guid isPermaLink="false">571</guid><pubDate>Sun, 02 Jan 2022 17:00:00 +0000</pubDate></item><item><title>&#x634;&#x628;&#x643;&#x627;&#x62A; &#x62A;&#x648;&#x632;&#x64A;&#x639; &#x627;&#x644;&#x645;&#x62D;&#x62A;&#x648;&#x649; Content Distribution Networks</title><link>https://academy.hsoub.com/devops/networking/%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%AA%D9%88%D8%B2%D9%8A%D8%B9-%D8%A7%D9%84%D9%85%D8%AD%D8%AA%D9%88%D9%89-content-distribution-networks-r569/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2021_12/61cd6cc2983a9_----Content-Distribution-Networks.png.004fe9f3972fa0fb1fab7c5bc9725419.png" /></p>

<p>
	بدأنا بالحديث عن <a href="https://academy.hsoub.com/devops/networking/%D8%AA%D9%88%D8%AC%D9%8A%D9%87-%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D8%AA%D8%B1%D8%A7%D9%83%D8%A8-overlay-networks-%D8%A7%D9%84%D8%AD%D8%A7%D8%B3%D9%88%D8%A8%D9%8A%D8%A9-r554/" rel="">شبكات التراكب</a> ثم تطرقنا إلى <a href="https://academy.hsoub.com/devops/networking/%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D9%86%D8%AF-%D9%84%D9%84%D9%86%D8%AF-peer-to-peer-networks-r567/" rel="">شبكات الند للند</a> ثم <a href="https://academy.hsoub.com/devops/networking/%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D8%AA%D8%B1%D8%A7%D9%83%D8%A8-%D8%A8%D8%B1%D9%88%D8%AA%D9%88%D9%83%D9%88%D9%84-%D8%A8%D8%AA-%D8%AA%D9%88%D8%B1%D9%86%D8%AA-bittorrent-r568/" rel="">بروتوكول البت تورنت</a> وسنكمل في هذا القسم الأخير في الحديث عن شبكات توزيع المحتوى.
</p>

<p>
	رأينا بالفعل كيف يسمح تشغيل بروتوكول HTTP عبر <a href="https://academy.hsoub.com/devops/networking/%D8%A7%D9%84%D8%AA%D8%AD%D9%83%D9%85-%D9%81%D9%8A-%D8%A7%D9%84%D8%A7%D8%B2%D8%AF%D8%AD%D8%A7%D9%85-%D8%A8%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85-%D8%A8%D8%B1%D9%88%D8%AA%D9%88%D9%83%D9%88%D9%84-tcp-%D9%81%D9%8A-%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D8%AD%D8%A7%D8%B3%D9%88%D8%A8%D9%8A%D8%A9-r528/" rel="">بروتوكول TCP</a> لمتصفحات الويب باسترداد الصفحات من خوادم الويب، ولكن يعرف أي شخصٍ ينتظر إلى الأبد لاسترداد صفحة ويب أن النظام بعيدٌ عن الكمال. تُنشَأ شبكة الإنترنت الرئيسية backbone الآن من روابطٍ ذات 40 جيجابت في الثانية، لذلك ليس واضحًا سبب حدوث ذلك. هناك أربع نقاط اختناقٍ محتملة في النظام عندما يتعلق الأمر بتنزيل صفحات الويب هي:
</p>

<ul>
<li>
		الميل الأول The first mile، حيث قد يحتوي الإنترنت على روابطٍ ذات سعةٍ عالية، ولكن هذا لا يساعدك على تنزيل صفحة ويب بصورةٍ أسرع عندما تكون متصلًا بخط DSL بسرعة 1.5 ميجابت في الثانية أو رابطٍ لاسلكي سيء الأداء.
	</li>
	<li>
		الميل الأخير The last mile، حيث يمكن أن يُحمَّل الرابط الذي يربط الخادم بالإنترنت بصورةٍ كبيرة عن طريق طلباتٍ كثيرة جدًا، حتى إذا كان حيز النطاق التراسلي bandwidth الإجمالي لذلك الرابط مرتفعًا جدًا.
	</li>
	<li>
		الخادم نفسه The server itself، حيث يحتوي الخادم على كميةٍ محدودةٍ من الموارد مثل وحدة المعالجة المركزية، والذاكرة، وحيز نطاق القرص الصلب وغير ذلك، ويمكن تحميله بصورةٍ كبيرة overload بسبب العديد من الطلبات المتزامنة.
	</li>
	<li>
		نقاط التناظر Peering points، حيث قد يكون لدى عددٍ من مزودي خدمة الإنترنت الذين يطبّقون جميعًا شبكة الإنترنت الرئيسية backbone أنابيبًا ذات حيز نطاقٍ تراسلي عالٍ، لكن لديهم القليل من الحافز لتوفير اتصالٍ عالي السعة لأندادهم؛ فإذا كنت متصلًا بمزود خدمة الإنترنت A وكان الخادم متصلًا بمزود خدمة الإنترنت B، فقد تُسقَط الصفحة التي تطلبها عند النقطة التي يتقابل فيها المزوّدان A وB مع بعضهما بعضًا.
	</li>
</ul>
<p>
	ليس هناك الكثير من الأشياء الممكن فعلها بشأن المشكلة الأولى، ولكن يمكن استخدام النسخ أو التضاعف لمعالجة المشكلات المتبقية، وتُسمّى الأنظمة المسؤولة عن ذلك بشبكات توزيع المحتوى Content Distribution Networks -أو اختصارًا CDNs-، حيث تدير أكاماي Akamai أشهر <a href="https://academy.hsoub.com/devops/cloud-computing/%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85-%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%AA%D8%B3%D9%84%D9%8A%D9%85-%D8%A7%D9%84%D9%85%D8%AD%D8%AA%D9%88%D9%89-cdn-%D9%84%D8%AA%D8%B3%D8%B1%D9%8A%D8%B9-%D8%AA%D8%B3%D9%84%D9%8A%D9%85-%D8%A7%D9%84%D9%85%D8%AD%D8%AA%D9%88%D9%89-%D8%A7%D9%84%D8%AB%D8%A7%D8%A8%D8%AA-r393/" rel="">شبكة CDN</a>.
</p>

<p>
	تتمثل فكرة شبكة CDN في توزيع مجموعةٍ من بدائل الخادم server surrogates جغرافيًا، والتي تضع الصفحات ضمن الذاكرة المخبئية في مجموعةٍ معينةٍ من خوادم الواجهة الخلفية backend servers. وبالتالي يمكن نشر الحِمل على عدة خوادم، بدلًا من أن ينتظر الملايين من المستخدمين إلى الأبد للاتصال عند ظهور قصةٍ إخباريةٍ كبيرة، حيث يُعرَف مثل هذا الموقف بالتجمّع المفاجئ flash crowd. وبدلًا من الاضطرار إلى عبور عددٍ من مزودي خدمة الإنترنت للوصول إلى الموقع <code>www.cnn.com</code>، فيجب أن يكون ممكنًا الوصول إلى خادمٍ بديلٍ دون الحاجة إلى عبور نقطة تناظر، إذا كانت هذه الخوادم البديلة منتشرةً عبر جميع مزودي خدمة الإنترنت الأساسيين. صيانةُ آلاف الخوادم البديلة في أنحاء شبكة الإنترنت مكلفٌ للغاية لأي موقعٍ يريد توفير وصولٍ أفضل إلى صفحات الويب الخاصة به. توفّر <a href="https://academy.hsoub.com/apps/web/wordpress/%D9%83%D9%8A%D9%81%D9%8A%D8%A9-%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85-%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%AA%D9%88%D8%B2%D9%8A%D8%B9-%D8%A7%D9%84%D9%85%D8%AD%D8%AA%D9%88%D9%89-cdn-%D9%84%D8%AA%D8%AD%D8%B3%D9%8A%D9%86-%D8%A3%D8%AF%D8%A7%D8%A1-%D9%85%D9%88%D8%A7%D9%82%D8%B9-%D9%88%D9%88%D8%B1%D8%AF%D8%A8%D8%B1%D9%8A%D8%B3-r299/" rel="">شبكات CDN</a> التجارية هذه الخدمة للعديد من المواقع، وهذا يؤدي إلى تسديد التكلفة عبر العديد من العملاء.
</p>

<p>
	نسمّي هذه الخوادم خوادمًا بديلة، لكن يمكن عدّها ذواكرًا مخبئية caches. فإذا لم يكن لدى هذه الخوادم البديلة الصفحة التي طلبها العميل، فإنها تطلبها من خادم الواجهة الخلفية، ولكن عمليًا تنسخ خوادم الواجهة الخلفية بياناتها مسبقًا إلى الخوادم البديلة عوضًا عن انتظار الخوادم البديلة لطلبها عند الضرورة، وهذه نفس حالة توزيع الصفحات الثابتة فقط، التي لا تحوي محتوىً ديناميكيًا عبر الخوادم البديلة. يجب على العملاء الانتقال إلى خادم الواجهة الخلفية لأي محتوىً يتغير بصورةٍ متكررة، مثل نتائج الألعاب الرياضية وأسعار الأسهم، أو لأي محتوىً ينتج عن بعض العمليات الحسابية، مثل استعلام قاعدة البيانات.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="87622" href="https://academy.hsoub.com/uploads/monthly_2021_12/ComponentsInAContentDistributionNetwork(CDN).png.0a01f8ee461c807d1a8aefd3510a1581.png" rel=""><img alt="ComponentsInAContentDistributionNetwork(CDN).png" class="ipsImage ipsImage_thumbnailed" data-fileid="87622" data-unique="7gb3fejlq" src="https://academy.hsoub.com/uploads/monthly_2021_12/ComponentsInAContentDistributionNetwork(CDN).thumb.png.ab18ad116a4777899770dffb74902e8e.png" style="width: 600px; height: auto;"></a>
</p>

<p>
	لا يحلّ وجودُ مجموعةٍ كبيرة من الخوادم الموزّعة جغرافيًا المشكلة تمامًا، حيث تحتاج شبكات CDN أيضًا إلى توفير مجموعةٍ من <em>مُعيدات التوجيه redirectors</em> التي تمرر طلبات العميل إلى الخادم الأنسب، كما هو موضحٌ في الشكل السابق. يتمثل الهدف الأساسي من معيدات التوجيه بتحديد الخادم لكل طلبٍ ينتج عنه أفضل وقت استجابةٍ response time للعميل؛ أما الهدف الثانوي فهو معالجة النظام عددًا من الطلبات في الثانية والتي يستطيع العتاد الأساسي مثل روابط الشبكة وخوادم الويب دعمها. يُعَد متوسط عدد الطلبات الممكن تلبيتها في فترةٍ زمنيةٍ معينة، والمعروفة باسم إنتاجية النظام system throughput، مشكلةً أساسيةً عندما يكون النظام تحت عبءٍ ثقيل، مثل وصول تجمّعٍ مفاجئ إلى مجموعةٍ صغيرةٍ من الصفحات أو هجماتٍ موزَّعة لحجب الخدمة Distributed Denial of Service -أو اختصارًا DDoS- على موقعٍ ما، كما حدث لمواقع CNN وYahoo والعديد من المواقع البارزة الأخرى في فبراير (شباط) عام 2000.
</p>

<p>
	تستخدم شبكات CDN عدة عواملٍ لتحديد كيفية توزيع طلبات العملاء، كأن يختار معيد التوجيه خادمًا بناءً على قرب شبكته لتقليل وقت الاستجابة، ولكن يُستحسَن موازنة الحمل بالتساوي عبر مجموعة من الخوادم لتحسين إنتاجية النظام الإجمالية، حيث يمكن تحسين كلٍّ من الإنتاجية ووقت الاستجابة إذا أخذت آلية التوزيع المكان ضمن حساباتها؛ أي تختار خادمًا يُحتمَل أن يكون لديه بالفعل الصفحة المطلوبة في ذاكرته المخبئية. سنشرح فيما يلي تركيبة العوامل التي يجب أن تستخدمها شبكة CDN.
</p>

<h2>
	الآليات Mechanisms
</h2>

<p>
	معيد التوجيه هو وظيفةٌ مجردة، على الرغم من أنه يظهر مثل شيءٍ قد يُطلَب من الموجّه فعله لأنه يمرر منطقيًا رسالة طلبٍ كما يمرر الموجّه الرزم. هناك العديد من الآليات الممكن استخدامها لتطبيق إعادة التوجيه redirection التي سنشرحها الآن؛ والتي سنفترض فيها لغرض هذه المناقشة معرفة كل معيد توجيه عنوان كل خادمٍ متاح، كما سنتخلى عن مصطلح <em>بديل surrogate</em> ونتحدث ببساطةٍ من حيث مجموعة من الخوادم.
</p>

<p>
	الآلية الأولى هي تطبيق إعادة التوجيه عن طريق تعزيز نظام DNS لإرجاع عناوين خوادم مختلفة للعملاء، حيث يمكن لخادم DNS إرجاع <a href="https://academy.hsoub.com/devops/networking/%D8%B4%D8%A8%D9%83%D8%A9-%D8%A7%D9%84%D8%A5%D9%86%D8%AA%D8%B1%D9%86%D8%AA-%D8%A8%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85-%D8%A8%D8%B1%D9%88%D8%AA%D9%88%D9%83%D9%88%D9%84-ip-r497/" rel="">عنوان IP</a> للخادم الذي يستضيف صفحات الويب الخاصة بموقع CNN والمعروف عنه أنه يحتوي على أخف حِمل، عندما يطلب أحد العملاء تحليل resolve الاسم <code>www.cnn.com</code> على سبيل المثال؛ بينما قد ترجع مجموعةٌ معينةٌ من الخوادم العناوين فقط بطريقة جولة روبن round robin الدورية.
</p>

<p>
	لاحظ أن دقة إعادة التوجيه المستندة إلى نظام DNS تكون عادةً على مستوى الموقع، مثل <code>cnn.com</code> عوضًا عن عنوان URL محدد، مثل:
</p>

<ul>
<li>
		 <code><a href="https://www.cnn.com/2020/11/12/politics" ipsnoembed="false" rel="external nofollow">https://www.cnn.com/2020/11/12/politics</a></code>
	</li>
	<li>
		<code>Biden-wins-arizona </code>
	</li>
	<li>
		<code>index.html</code>
	</li>
</ul>
<p>
	 لكن يمكن للخادم إعادة كتابة عنوان URL عند إرجاع رابطٍ مضمَّن، وبالتالي توجيه العميل بفعالية إلى الخادم الأنسب لهذا الكائن المحدد.
</p>

<p>
	تستخدم شبكات CDN التجارية تركيبةً من إعادة كتابة عناوين URL مع إعادة التوجيه المستندة إلى نظام DNS، حيث يشير <a href="https://academy.hsoub.com/devops/servers/dns/%D9%85%D9%82%D8%A7%D8%B1%D9%86%D8%A9-%D8%A8%D9%8A%D9%86-%D8%A3%D9%86%D9%88%D8%A7%D8%B9-%D8%A7%D9%84%D8%AE%D9%88%D8%A7%D8%AF%D9%8A%D9%85-%D9%81%D9%8A-%D9%86%D8%B8%D8%A7%D9%85-dns-%D9%83%D9%8A%D9%81%D9%8A%D8%A9-%D8%A7%D8%AE%D8%AA%D9%8A%D8%A7%D8%B1-%D8%A7%D9%84%D8%A5%D8%B9%D8%AF%D8%A7%D8%AF-%D8%A7%D9%84%D9%85%D9%86%D8%A7%D8%B3%D8%A8-%D9%84%D9%84%D8%AE%D8%A7%D8%AF%D9%88%D9%85-r15/" rel="">خادم DNS</a> عالي المستوى أولًا ولأسبابٍ تتعلق بقابلية التوسع، إلى خادم DNS على المستوى الإقليمي، الذي يرد بعنوان الخادم الفعلي. تعدّل خوادم DNS فترات TTL لسجلات الموارد التي تعود إلى فترةٍ قصيرة جدًا مثل 20 ثانية، بهدف الاستجابة للتغيرات بسرعة، ويُعَد هذا ضروريًا حتى لا يضع العملاء النتائج في ذاكرةٍ مخبئية وبالتالي يفشلون في الرجوع إلى خادم DNS للحصول على أحدث ربطٍ بين عنوان URL والخادم.
</p>

<p>
	الآلية الثانية هي استخدام ميزة إعادة توجيه <a href="https://academy.hsoub.com/programming/general/%d9%85%d8%af%d8%ae%d9%84-%d8%a5%d9%84%d9%89-http-r73/" rel="">بروتوكول HTTP</a>، حيث يرسل العميل رسالة طلبٍ إلى الخادم، الذي يستجيب بخادمٍ جديدٍ أفضل يتوجب على العميل الاتصال به للحصول على الصفحة. تتطلب إعادة التوجيه المستندة إلى الخادم وقتًا إضافيًا ذهابًا وإيابًا عبر الإنترنت، ويمكن أيضًا أن تكون الخوادم عرضةً للحِمل الزائد بسبب مهمة إعادة التوجيه redirection نفسها. بدلًا من ذلك، إذا كانت هناك عقدةٌ قريبةٌ من العميل، مثل وكيل ويب محلي local Web proxy على درايةٍ بالخوادم المتاحة، فيمكنها اعتراض رسالة الطلب وإرشاد العميل لطلب الصفحة من خادمٍ آخر مناسب. إما أن يكون معيد التوجيه في هذه الحالة ضمن نقطة اختناقٍ بحيث تمر جميع الطلبات التي تغادر الموقع من خلالها، أو سيتعيّن على العميل التعاون من خلال معالجة الوكيل صراحةً، كما هو الحال مع الوكيل الكلاسيكي وليس الوكيل الشفّاف transparent proxy؛ الذي هو خادمٌ يقع بين حاسوبك والإنترنت ويعيد توجيه طلباتك واستجاباتك دون تعديلها.
</p>

<p>
	قد تتساءل عن علاقة شبكات CDN <a href="https://academy.hsoub.com/devops/networking/%D8%AA%D9%88%D8%AC%D9%8A%D9%87-%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D8%AA%D8%B1%D8%A7%D9%83%D8%A8-overlay-networks-%D8%A7%D9%84%D8%AD%D8%A7%D8%B3%D9%88%D8%A8%D9%8A%D8%A9-r554/" rel="">بشبكات التراكب</a>، حيث يتخذ معيد التوجيه المستند إلى الوكيل قرار توجيهٍ على مستوى التطبيق مثل عقدة التراكب، ويمرر طلبات HTTP بناءً على عنوان URL وعلى معرفته بموقع ومدى حِمل مجموعةٍ من الخوادم بدلًا من تمرير رزمة استنادًا إلى عنوانٍ ما address وبناءً على معرفته بمخطط الشبكة. لا تدعم معمارية الإنترنت الحالية إعادة التوجيه مباشرةً، حيث نعني بكلمة "مباشرةً" أن العميل يرسل طلب HTTP إلى معيد التوجيه، الذي يمرره إلى الوِجهة، بدلًا من تطبيق إعادة التوجيه بصورةٍ غير مباشرة عن طريق معيد التوجيه الذي يرجع عنوان الوجهة المناسب والعميل الذي يتصل بالخادم ذاته.
</p>

<h2>
	السياسات Policies
</h2>

<p>
	نستعرض الآن بعض الأمثلة عن السياسات التي قد يستخدمها مُعيدو التوجيه لتمرير الطلبات، حيث اقترحنا بالفعل سياسةً واحدةً بسيطةً وهي جولة روبن round-robin، وسيكون المثال الآخر هو اختيار أحد الخوادم المتاحة عشوائيًا. يوزع كلا الأسلوبين الحِمل بالتساوي عبر شبكة توصيل المحتوى، لكنهما لا يقلّلان من وقت الاستجابة المتوقَّع للعميل.
</p>

<p>
	من الواضح عدم أخذ هذين الأسلوبين قُرب الشبكة في حساباتهما، وتجاهلهما أيضًا للمنطقة المحلية؛ أي يُعاد توجيه الطلبات الخاصة بعنوان URL نفسه إلى خوادم مختلفة، مما يقلل من احتمالية تخديم الصفحة من الذاكرة المخبئية الموجودة ضمن الخادم المحدد. هذا يفرض على الخادم استرداد الصفحة من قرصه الصلب، أو ربما من خادم الواجهة الخلفية. كيف يمكن لمجموعةٍ موزعةٍ من معيدات التوجيه أن تتسبب في انتقال الطلبات لنفس الصفحة إلى نفس الخادم أو إلى مجموعةٍ صغيرةٍ من الخوادم دون تنسيقٍ عالمي؟ الإجابة بسيطةٌ وهي: تستخدم جميع مُعيدات التوجيه شكلًا من أشكال تطبيق التعمية hashing لربط عناوين URL بمجالٍ صغير من القيم. الفائدة الأساسية من هذا النهج هي أنه لا حاجة لوجود اتصالٍ بين معيدي التوجيه لتحقيق عمليةٍ منسقة؛ فإن عملية التعمية تنتج نفس الخرج بغض النظر عن معيد التوجيه الذي يتلقى عنوان URL.
</p>

<p>
	إذًا ما الذي يجعل مخطط التعمية جيدًا؟ مخطط تعمية النموذج الكلاسيكي، الذي يجري تعميةً على كل وحدة URL مع عددٍ من الخوادم، غير مناسبٍ لهذه البيئة، لأن حساب النموذج في حالة تغيير عدد الخوادم سيؤدي إلى تناقص الصفحات التي تحتفظ بتخصيصات الخادوم نفسها. لا نتوقع حدوث تغييراتٍ متكررةٍ في مجموعة الخوادم، إلا أن حقيقة إضافة خوادمٍ جديدة إلى المجموعة ستؤدي إلى إعادة تخصيص ضخمة أمرٌ غير مرغوبِ فيه.
</p>

<p>
	البديل هو استخدام نفس خوارزمية التعمية المستقرة التي ناقشناها سابقًا، حيث يجري كل معيد توجيه أولًا تعميةً على كل خادمٍ ضمن الدائرة، ثم يجري أيضًا تعميةً إلى قيمةٍ على الدائرة لكل عنوان URL واصل، ويُعيَّن عنوان URL للخادم الأقرب في الدائرة مع قيمة التعمية الخاصة به. فإذا فشلت العقدة في هذا المخطط، فسينتقل حِملُها إلى جيرانها على الدائرة، وبالتالي فإن إضافة أو إزالة خادمٍ يؤدي فقط إلى تغييراتٍ محلية في تخصيصات الطلب.
</p>

<p>
	يعرف كل معيد توجيه كيفية ربط مجموعة الخوادم مع الدائرة، لذلك يمكن لكل معيد توجيه اختيار الخادم الأقرب بصورةٍ مستقلة، على عكس حالة ند لند؛ حيث توجَّه الرسالة من عقدةٍ إلى أخرى من أجل العثور على الخادم الذي يكون معرّفه هو الأقرب إلى الكائنات. يمكن توسيع هذه الاستراتيجية بسهولة لأخذ حِمل الخادم ضمن حساباتنا، حيث نفترض معرفة معيد التوجيه الحِمل الحالي لكلٍ من الخوادم المتاحة. قد لا تكون هذه المعلومات محدَّثة تمامًا، ولكن يمكننا تخيل معيد التوجيه يحسب ببساطة عدد المرات التي مرر فيها طلبًا إلى كل خادمٍ في الثواني القليلة الماضية ويستخدم هذا العدد مثل تقديرٍ لحِمل هذا الخادم الحالي.
</p>

<p>
	يجري معيد التوجيه تعميةً على عنوان URL المُستقبَل مع كلٍ من الخوادم المتاحة ويرتّب القيم الناتجة، حيث تحدّد هذه القائمة المرتَّبة بفعالية الترتيب الذي سينظر فيه معيد التوجيه في الخوادم المتاحة، ثم يتحرّك معيد التوجيه في هذه القائمة حتى يعثر على خادمٍ يكون الحِمل عليه أقل من حدٍ معين. تتمثل فائدة هذا الأسلوب في أن ترتيب الخادم يختلف باختلاف عنوان URL، لذلك إذا فشل خادمٌ ما، فسيُوزَّع حِمله بالتساوي بين الأجهزة الأخرى. يُعَد هذا النهج أساس بروتوكول توجيه ذاكرة المصفوفة المخبئية Cache Array Routing Protocol -أو اختصارًا CARP- الموضّح في الشيفرة التالية:
</p>

<pre class="ipsCode prettyprint lang-css prettyprinted" id="ips_uid_9258_15" style="">
<span class="typ">SelectServer</span><span class="pun">(</span><span class="pln">URL</span><span class="pun">,</span><span class="pln"> S</span><span class="pun">)</span><span class="pln">
    </span><span class="kwd">for</span><span class="pln"> each server s </span><span class="kwd">in</span><span class="pln"> server </span><span class="kwd">set</span><span class="pln"> S
        weight</span><span class="pun">[</span><span class="pln">s</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> hash</span><span class="pun">(</span><span class="pln">URL</span><span class="pun">,</span><span class="pln"> address</span><span class="pun">[</span><span class="pln">s</span><span class="pun">])</span><span class="pln">
    sort weight
    </span><span class="kwd">for</span><span class="pln"> each server s </span><span class="kwd">in</span><span class="pln"> decreasing order of weight
        </span><span class="kwd">if</span><span class="pln"> </span><span class="typ">Load</span><span class="pun">(</span><span class="pln">s</span><span class="pun">)</span><span class="pln"> </span><span class="pun">&lt;</span><span class="pln"> threshold </span><span class="kwd">then</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> s
       </span><span class="kwd">return</span><span class="pln"> server </span><span class="kwd">with</span><span class="pln"> highest weight</span></pre>

<p>
	يتغير هذا المخطط مع زيادة الحِمل من استخدام الخادم الأول فقط في القائمة المُرتَّبة إلى نشر الطلبات على عدة خوادم. ستعالج خوادمٌ أقل انشغالًا أيضًا بعضَ الصفحات التي تتعامل معها الخوادم المشغولة. بما أن هذه العملية تستند إلى حِمل الخادم الكلي عوضًا عن الطلب على كل صفحةٍ مفردة، فقد تجد الخوادمُ التي تستضيف بعض الصفحات المطلوبة المزيدَ من الخوادم التي تتشارك معها حِملها، أكثر من الخوادم التي تستضيف بصورةٍ جماعية صفحاتٍ غير مطلوبة. ستُنسَخ بعض الصفحات غير المطلوبة ضمن النظام لمجرد أنها مُستضافة على خوادمٍ مشغولة، وإذا أصبحت بعض الصفحات مطلوبةً للغاية، فيمكن أن تكون جميع الخوادم في النظام مسؤولةً عن خدمة هذه الصفحات.
</p>

<p>
	أخيرًا، يمكن إدخال تقارب الشبكة network proximity في المعادلة بطريقتين مختلفتين على الأقل. الطريقة الأولى هي إخفاء التمييز بين حِمل الخادم وتقارب الشبكة من خلال مراقبة المدة التي يستغرقها الخادم للاستجابة للطلبات واستخدام القياس الناتج مثل معاملٍ لحِمل الخادم في الخوارزمية السابقة. تميل هذه الإستراتيجية إلى تفضيل الخوادم القريبة / غير المحمَّلة كثيرًا على الخوادم البعيدة / المحمَّلة بصورةٍ كبيرة.
</p>

<p>
	تتمثل الطريقة الثانية في إدخال عامل التقارب في القرار في مرحلةٍ مبكرة عن طريق قَصر مجموعة الخوادم المرشَّحة التي رأيناها ضمن الخوارزميات المذكورة أعلاه على تلك الخوادم القريبة فقط. المشكلة الأصعب هي اختيار الخوادم التي يُحتمَل أن تكون قريبةً بصورةٍ مناسبة، حيث تتمثل إحدى الطرق في اختيار تلك الخوادم المتوفّرة فقط على نفس مزود خدمة الإنترنت مثل عملاء. تتمثل الطريقة الأعقد في النظر إلى خارطة الأنظمة المستقلة التي ينتجها بروتوكول BGP واختيار تلك الخوادم فقط التي تبعد عددًا معينًا من القفزات عن العميل على أنها خوادم مرشَّحة. البحث عن التوازن الصحيح بين تقارب الشبكة ومحلية ذاكرة الخادم المخبئية هو موضوع بحثٍ مستمر.
</p>

<h2>
	منظور الفصل التاسع: السحابة هي شبكة الإنترنت الجديدة
</h2>

<p>
	كما رأينا سابقًا، كان هناك انتقالٌ لتطبيقات الإنترنت التقليدية، مثل البريد الإلكتروني وخوادم الويب، من الأجهزة التي تعمل محليًا إلى الآلات الافتراضية التي تعمل ضمن سحاباتٍ سلعية. يتوافق هذا مع تحوُّلٍ في المصطلحات من <em>خدمات الويب</em> إلى <em>الخدمات السحابية</em> وتحولٍ أيضًا في العديد من التقنيات الأساسية المستخدمة من الآلات الافتراضية إلى الخدمات الصغيرة السحابية الأصلية. لكن تأثير السحابة على كيفية تطبيق تطبيقات الشبكة اليوم أكبر مما يوحي به هذا الانتقال، فهو مزيجٌ من السحابات السلعية وشبكات التراكب المشابهة لتلك الموضحة أعلاه، التي قد يكون لها التأثير الأكبر في النهاية.
</p>

<p>
	يحتاج التطبيق المستند إلى التراكب وجود بصمةٍ واسعةٍ ليكون فعالًا، أي وجود عدة نقاط تواجد حول العالم. تُنشَر موجهات IP على نطاقٍ واسع، لذلك إذا كان لديك إذنٌ لاستخدام مجموعةٍ منها مثل عقدٍ أساسية في شبكة التراكب الخاصة بك، فأنت جاهزٌ للعمل. لكن هذا لن يحدث، حيث لا يوجد مشغلو شبكات أو مسؤولو مؤسسةٍ على استعدادٍ للسماح للأشخاص العشوائيين بتحميل برمجيات التراكب على الموجهات الخاصة بهم.
</p>

<p>
	قد يكون خيارك التالي هو حشد موارد مواقع الاستضافة لبرمجيات التراكب الخاصة بك، حيث سينجح ذلك إذا اشتركت مع أشخاصٍ آخرين على هدفٍ واحد، مثل تنزيل الموسيقى المجانية. لكن انتشار تطبيق التراكب الجديد أمرٌ صعب، وحتى إذا حدث ذلك، فقد يكون التأكدُ من وجود سعةٍ كافيةٍ في أي وقتٍ لحمل كل حركة المرور التي يولدها تطبيقك مشكلةً، حيث ينجح ذلك أحيانًا مع الخدمات المجانية، ولكنه لن ينجح مع تطبيقٍ تأمل في تحقيق الربح منه.
</p>

<p>
	توجد طريقةٌ للدفع لشخصٍ ما مقابل حقوق تحميل وتشغيل برنامجك على خوادمٍ منتشرةٍ في جميع أنحاء العالم؛ وهذا هو بالضبط ما توفره السحابات السلعية مثل Amazon AWS و Microsoft Azure و Google Cloud Platform، حيث توفّر السحابة عددًا غير محدودٍ من الخوادم ظاهريًا، ولكنها لا تقل أهميةً، إن لم تكن الأهم، عن مكان وجود هذه الخوادم، حيث تُوزَّع على نطاقٍ واسع عبر أكثر من 150 موقعًا متصلًا بصورةٍ جيدة.
</p>

<p>
	لنفترض مثلًا أنك تريد بث مجموعةٍ من قنوات الفيديو أو الصوت الحية لملايين المستخدمين، أو أنك تريد دعم الآلاف من جلسات مؤتمرات الفيديو التي يربط كل منها عشرات المشاركين المُوزعين على نطاقٍ واسع. ستنشئ في كلتا الحالتين شجرة تراكب متعدد البث (شجرةٌ لكل قناة فيديو في المثال الأول، وشجرةٌ لكل جلسة مؤتمر في المثال الثاني)، مع وجود عقد التراكب في الشجرة في مجموعةٍ من تلك المواقع السحابية البالغ عددها 150 موقعًا. ثم تسمح للمستخدمين النهائيين، من متصفحات الويب ذات الأغراض العامة أو تطبيقات الهواتف الذكية المصممة لهذا الغرض، بالاتصال بشجرةٍ أو مجموعة شجرات البث المتعدد التي يختارونها. إذا كنت بحاجةٍ إلى تخزين قدرٍ من محتوى الفيديو أو الصوت لتشغيله في وقتٍ لاحق، لدعم تحويل الوقت time shifting؛ فيمكنك أيضًا شراء سعة تخزينٍ في بعض أو كل هذه المواقع السحابية، وبناء شبكة توزيع المحتوى الخاصة بك بفعالية.
</p>

<p>
	عُدَّ الإنترنت في الأصل مثل خدمة اتصالٍ بحتة، مع السماح لتطبيقات الحوسبة والتخزين بالتطور على أطراف الشبكة، لكن برمجيات التطبيقات اليوم هي لجميع الأغراض العملية المضمَّنة داخل الشبكة أو الموزَّعة عبرها، حيث تُعَد معرفة مكان نهاية الإنترنت وبداية السحابة أمرًا صعبًا، وسيستمر هذا المزج في التعمق حتى اقتراب السحابة من طرف الشبكة، مثل الاقتراب من آلاف المواقع التي ترتبط بها شبكات الوصول، وستقود تكاليفُ التوسّع الأجهزةَ العتادية المستخدَمة في بناء مواقع الإنترنت أو السحابة إلى أن تصبح عمومية.
</p>

<p>
	ترجمة -وبتصرّف- للقسم Overlay Networks من فصل Applications من كتاب <a href="https://book.systemsapproach.org/applications/overlays.html" rel="external nofollow">Computer Networks: A Systems Approach</a>.
</p>

<h2>
	اقرأ أيضًا
</h2>

<ul>
<li>
		<a href="https://academy.hsoub.com/devops/networking/%D8%A7%D9%84%D9%85%D8%AA%D8%B7%D9%84%D8%A8%D8%A7%D8%AA-%D8%A7%D9%84%D9%84%D8%A7%D8%B2%D9%85%D8%A9-%D9%84%D8%A8%D9%86%D8%A7%D8%A1-%D8%B4%D8%A8%D9%83%D8%A9-%D8%AD%D8%A7%D8%B3%D9%88%D8%A8%D9%8A%D8%A9-r483/" rel="">المتطلبات اللازمة لبناء شبكة حاسوبية</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/devops/networking/%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D9%8A%D8%A7%D8%AA-%D8%A7%D9%84%D9%85%D8%B3%D8%AA%D8%AE%D8%AF%D9%85%D8%A9-%D9%81%D9%8A-%D8%A8%D9%86%D8%A7%D8%A1-%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D8%AD%D8%A7%D8%B3%D9%88%D8%A8%D9%8A%D8%A9-r485/" rel="">البرمجيات المستخدمة في بناء الشبكات الحاسوبية</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/devops/networking/%D9%85%D8%B9%D9%85%D8%A7%D8%B1%D9%8A%D8%A9-%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A9-%D8%A7%D9%84%D8%AD%D8%A7%D8%B3%D9%88%D8%A8%D9%8A%D8%A9-%D9%88%D8%B4%D8%A8%D9%83%D8%A9-%D8%A7%D9%84%D8%A5%D9%86%D8%AA%D8%B1%D9%86%D8%AA-network-architecture-r484/" rel="">معمارية الشبكة الحاسوبية وشبكة الإنترنت (Network Architecture)</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/devops/networking/%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D8%AD%D8%A7%D8%B3%D9%88%D8%A8%D9%8A%D8%A9-%D9%85%D8%AA%D8%B9%D8%AF%D8%AF%D8%A9-%D8%A7%D9%84%D9%88%D8%B5%D9%88%D9%84-multi-access-networks-r491/" rel="">الشبكات الحاسوبية متعددة الوصول (Multi-Access Networks)</a>
	</li>
</ul>
]]></description><guid isPermaLink="false">569</guid><pubDate>Wed, 29 Dec 2021 17:00:00 +0000</pubDate></item><item><title>&#x634;&#x628;&#x643;&#x627;&#x62A; &#x627;&#x644;&#x62A;&#x631;&#x627;&#x643;&#x628;: &#x628;&#x631;&#x648;&#x62A;&#x648;&#x643;&#x648;&#x644; &#x628;&#x62A; &#x62A;&#x648;&#x631;&#x646;&#x62A; BitTorrent</title><link>https://academy.hsoub.com/devops/networking/%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D8%AA%D8%B1%D8%A7%D9%83%D8%A8-%D8%A8%D8%B1%D9%88%D8%AA%D9%88%D9%83%D9%88%D9%84-%D8%A8%D8%AA-%D8%AA%D9%88%D8%B1%D9%86%D8%AA-bittorrent-r568/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2021_12/61cd6977ea995_-----BitTorrent.png.a93c45b382326d76b2fd9927096ad257.png" /></p>

<p>
	تحدثنا في مقال سابق عن<a href="https://academy.hsoub.com/devops/networking/%D8%AA%D9%88%D8%AC%D9%8A%D9%87-%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D8%AA%D8%B1%D8%A7%D9%83%D8%A8-overlay-networks-%D8%A7%D9%84%D8%AD%D8%A7%D8%B3%D9%88%D8%A8%D9%8A%D8%A9-r554/" rel=""> شبكات التراكب</a> ثم تطرقنا إلى <a href="https://academy.hsoub.com/devops/networking/%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D9%86%D8%AF-%D9%84%D9%84%D9%86%D8%AF-peer-to-peer-networks-r567/" rel="">شبكات الند للند</a> وسنكمل في هذا المقال الحديث عن بروتوكول البت تورنت، وهو بروتوكول مشاركة ملفات ند لند ابتكره برام كوهين Bram Cohen، ويعتمد على نسخ الملف أو نسخ أجزاءٍ منه والتي تُسمى قِطعًا pieces، حيث يمكن تحميل أية قطعةٍ معينة من عدة أنداد، حتى لو كان هناك ندٌ فقط لديه الملف بأكمله. الفائدة الأساسية لعملية النسخ التي يفعلها بروتوكول بت تورنت هي تجنب الاختناق المتمثل في وجود مصدرٍ واحد فقط للملف، حيث يكون هذا مفيدًا عندما تفكر في أن أي حاسوبٍ لديه سرعةٌ محدودةٌ يمكنه من خلالها خدمة الملفات عبر رابطٍ صاعدٍ خاصٍ به إلى الإنترنت، ويكون حد هذه السرعة منخفضًا غالبًا بسبب الطبيعة غير المتماثلة لمعظم شبكات النطاق العريض.
</p>

<p>
	تكمن أهمية بروتوكول بت تورنت في أن النَّسخ replication هو أحد الآثار الجانبية الطبيعية لعملية التنزيل downloading، فبمجرد تنزيل أحد الأنداد لقطعةٍ معينة، يصبح هذا الند مصدرًا آخر لتلك القطعة، وكلما زاد عدد الأنداد الذين ينزّلون قطعًا من الملف كلما حدث المزيد من النَّسخ للقطعة، مع توزيع التحميل بصورةٍ متناسبة، وزيادة حيز النطاق التراسلي الإجمالي المتاح لمشاركة الملف مع الآخرين. تُنزَّل القطع بترتيبٍ عشوائي لتجنب الموقف الذي يجد فيه الأنداد أنفسهم مفتقرين لنفس مجموعة القطع.
</p>

<p>
	تجري مشاركة كل ملفٍ عبر شبكة بت تورنت المستقلة الخاصة به، والتي تُسمى سربًا swarm، ويمكن أن يشارك السرب مجموعةً من الملفات، لكننا نصف حالة ملفٍ فقط للبساطة. تكون دورة حياة السرب النموذجية كما يلي: يبدأ السرب ندًا يملك نسخةً كاملةً من الملف، ثم تنضم العقدة التي تريد تنزيل الملف إلى السرب لتصبح العضو الثاني، وتبدأ بتنزيل أجزاءٍ من الملف من الند الأصلي، وبذلك تصبح مصدرًا آخر للِقطع التي نزّلتها، حتى لو لم تنزّل الملف بالكامل بعد. من الشائع أن يترك الأنداد السرب بمجرد الانتهاء من تنزيلاتهم، على الرغم من تشجيعهم للبقاء لفترة أطول.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="87621" href="https://academy.hsoub.com/uploads/monthly_2021_12/PeersInABitTorrentSwarmDownloadFromOtherPeers.png.e3fdf4cda9557b05f2f96e09711daacd.png" rel=""><img alt="PeersInABitTorrentSwarmDownloadFromOtherPeers.png" class="ipsImage ipsImage_thumbnailed" data-fileid="87621" data-unique="6szdnt2k8" src="https://academy.hsoub.com/uploads/monthly_2021_12/PeersInABitTorrentSwarmDownloadFromOtherPeers.thumb.png.66870c0cf833e581766d2423d0ce6503.png" style="width: 600px; height: auto;"></a>
</p>

<p>
	تنضم العقد الأخرى إلى السرب وتبدأ بتنزيل القطع من أندادٍ متعددين، وليس فقط من الند الأصلي، كما هو موضّحٌ في الشكل السابق. إذا بقي الطلب مرتفعًا على الملف، مع وجود مجرىً من الأنداد الجدد الذين يحلّون محل أولئك الذين غادروا السرب، فيمكن أن يظل السرب نشطًا إلى أجلٍ غير مسمى؛ وإذا لم يكن الأمر كذلك، فقد يتقلص السرب ليشمل الند الأصلي فقط حتى ينضم أندادٌ جدد إلى السرب.
</p>

<p>
	يمكننا، بعد أن أصبح لدينا نظرةً عامةً لبروتوكول بت تورنت، أن نسأل كيف توجَّه الطلبات إلى الأنداد الذين لديهم قطعةً معينة. يجب أن ينضم المنزِّل downloader المحتمل أولًا إلى السرب لتقديم الطلبات، فيبدأ بتنزيل ملفٍ يحتوي على معلوماتٍ تعريفيةٍ حول الملف والسرب، حيث يُنزَّل عادةً الملف الذي يمكن نسخه بسهولة من خادم ويب ويمكن اكتشافه باتباع الروابط من صفحات الويب. يحتوي هذا الملف على ما يلي:
</p>

<ul>
<li>
		حجم الملف الهدف.
	</li>
	<li>
		حجم القطعة.
	</li>
	<li>
		القيم المعمَّاة SHA-1 المحسوبة مسبقًا من كل قطعة؟
	</li>
	<li>
		عنوان URL لمتتبّع tracker السرب.
	</li>
</ul>
<p>
	المتتبّع هو خادمٌ يتتبع عضوية السرب الحالية. سنرى لاحقًا أنه يمكن توسيع بروتوكول بت تورنت للتخلص من هذه النقطة المركزية التي قد تؤدي إلى حدوث اختناقٍ أو فشل. ينضم المنزِّل المحتمل بعد ذلك إلى السرب، ليصبح ندًا، عن طريق إرسال رسالةٍ إلى المتتبّع تحتوي على عنوان شبكته ومعرّف الند الذي أنشأه عشوائيًا لنفسه. تحمل الرسالة أيضًا القيمة المُعمَّاة SHA-1 للجزء الرئيسي من الملف، والتي تُستخدَم مثل معرّف سرب.
</p>

<p>
	افترض أن الند الجديد يُدعَى P. يرد المتتبّع على الند P بقائمةٍ جزئيةٍ من الأنداد الذين يقدمون معرفاتهم وعناوين الشبكة الخاصة بهم، وينشئ الند P اتصالاتٍ عبر بروتوكول TCP مع بعض هؤلاء الأنداد. لاحظ أن الند P متصلٌ مباشرةً بمجموعةٍ فرعيةٍ فقط من السرب، على الرغم من أنه قد يقرر الاتصال بأندادٍ إضافيين أو طلب المزيد من الأنداد من المتتبّع. يرسل الند P معرّف السرب الخاص به ومعرّفَ الند لإنشاء اتصال بت تورنت بندٍ معين بعد إنشاء اتصال TCP الخاص به، ويرد الند بمعرّفه ومعرّف السرب؛ فإذا لم تتطابق معرّفات السرب، أو لم يكن معرّف الند الذي أجرى الرد هو ما يتوقعه الند P، فسيُلغى الاتصال.
</p>

<p>
	اتصال بت تورنت الناتج هو اتصالٌ متماثل نظرًا لإمكانية كل طرفٍ التنزيل من الطرف الآخر، حيث يبدأ كل طرفٍ بإرسال خارطةٍ نقطية bitmap تعلن فيها للطرف الآخر عن الأجزاء الموجودة به، بحيث يعرف كل ندٍ الحالة الأولية للند الآخر. يرسل المنزِّل D عندما ينتهي من تنزيل قطعةٍ أخرى رسالةً تحدد تلك القطعة إلى كل من أنداده المتصلين مباشرةً، حتى يتمكن هؤلاء الأنداد من تحديث تمثيلهم الداخلي لحالة المنزِّل D، ويكون هذا بمثابة إجابةٍ للسؤال حول كيفية توجيه طلب تنزيل لقطعةٍ ما إلى ندٍ لديه القطعة، لأنه يعني أن كل ندٍ يعرف الند المتصل مباشرةً به والذي يملك القطعة. إذا احتاج المنزِّل D إلى قطعةٍ لا تمتلكها أيٌّ من اتصالاته، فيمكنه الاتصال بأندادٍ أكثر أو أندادٍ مختلفين؛ حيث يمكنه الحصول على المزيد من الأنداد من المتتبّع، أو يشغُل نفسه بقطعٍ أخرى على أمل أن تحصل بعض اتصالاته على القطعة من اتصالاتها.
</p>

<p>
	كيف تُربَط الكائنات، أو القطع في هذه الحالة مع العقد الأنداد؟ سيحصل كل ندٍ في النهاية على جميع القطع، لذا فإن السؤال يتعلق بالقطع التي يمتلكها الند في وقتٍ معين قبل أن يحتوي على كل القطع أو حول الترتيب الذي ينزِّل به الندُ القطعَ. الإجابة هي أنهم ينزّلون القطع بترتيبٍ عشوائي، وذلك لمنعهم من الحصول على مجموعةٍ فرعيةٍ صارمةٍ أو مجموعةٍ شاملةٍ من القطع الخاصة بأيٍ من أندادهم.
</p>

<p>
	يستخدم بروتوكول بت تورنت الموصوف حتى الآن متتبّعًا مركزيًا يشكل نقطة فشل واحدة للسرب ويمكن أن يكون نقطة اختناق للأداء. كما يمكن أن يكون أيضًا توفير متتبّعٍ مصدر إزعاجٍ لمن يرغب في إتاحة ملفٍ عبر بروتوكول بت تورنت. تدعم الإصدارات الأحدث من بروتوكول بت تورنت أيضًا الأسراب التي لا تحتوي متتبّعًا trackerless، والتي تستخدِم تطبيقًا يعتمد على جدول التعمية الموزَّع DHT؛ حيث لا يطبّق برنامج عميل بت تورنت الذي لا يحتوي متتبّعًا ند بت تورنت فحسب، بل يطبّق أيضًا ما نُطلق عليه أداة البحث عن الأنداد peer finder، التي تُسمَّى عقدة node باستخدام مصطلحات بت تورنت، والتي يستخدمها الند للعثور على أنداده.
</p>

<p>
	تشكّل أدوات البحث عن الأنداد شبكةَ التراكب الخاصة بها باستخدام بروتوكولها الخاص عبر بروتوكول UDP لتطبيق جدول DHT، حيث تتضمّن شبكة أداة البحث أدوات بحثٍ عن الأنداد الذين ينتمي أندادهم المرتبطين بهم إلى أسرابٍ مختلفة؛ أي يشكّل كل سربٍ شبكةً مميزةً من أنداد بت تورنت، لكن تمتد شبكة أدوات البحث عن الأنداد عبر الأسراب بدلًا من ذلك.
</p>

<p>
	تنشئ أدوات البحث عن الأنداد معرّفات أدوات البحث الخاصة بها عشوائيًا، والتي تكون بنفس حجم معرّفات السرب؛ أي 160 بتًا. وتحتفظ كل أداة بحث بجدولٍ متواضع يحتوي بصورةٍ أساسية على أدوات البحث عن الأنداد والأنداد المرتبطين بها، التي تكون معرّفاتها قريبةً من معرّف هذه الأداة، بالإضافة إلى بعض أدوات البحث التي تكون معرّفاتها أبعد. تضَمن الخوارزمية التالية إمكانية معرفة أدوات البحث، التي تكون معرّفاتها قريبةً من معرّف سربٍ معين، أندادها من هذا السرب؛ حيث توفر الخوارزمية في الوقت نفسه طريقةً للبحث عنهم.
</p>

<p>
	عندما تحتاج أداة البحث F إلى العثور على أندادٍ من سرب معين، فإنها ترسل طلبًا إلى أدوات البحث في جدولها التي تكون معرّفاتها قريبةً من معرّف ذلك السرب، فإذا عرفت أداة البحث المتصلة أندادًا من هذا السرب، فإنها ترد بمعلومات الاتصال الخاصة بها؛ وإلا فإنها ترد بمعلومات الاتصال الخاصة بأدوات البحث في جدولها القريبة من السرب، بحيث يمكن لأداة البحث F الاستعلام بصورةٍ متكررةٍ عن أدوات البحث تلك. إذا وصل البحث إلى طريقٍ مسدود، نظرًا لعدم وجود أدوات بحثٍ أقرب إلى السرب، تُدخِل أداة البحث F معلومات الاتصال الخاصة بها والند المرتبط بها ضمن أدوات البحث الأقرب إلى السرب، وبالنتيجة يحدث إدخال أنداد سربٍ معين في جداول أدوات البحث القريبة من هذا السرب.
</p>

<p>
	تفترض المناقشة أعلاه أن أداة البحث F هي بالفعل جزءٌ من شبكة أداة البحث، وتفترض أن هذه الأداة تعرف بالفعل كيفية الاتصال ببعض أدوات البحث الأخرى. هذا الافتراض صحيحٌ بالنسبة لعمليات تثبيت أداة البحث المُشغَّلة سابقًا، لأنها تحفظ المعلومات حول أدوات البحث الأخرى، حتى عبر عمليات التنفيذ. إذا كان السرب يستخدم متتبّعًا، فسيكون أنداد هذا السرب قادرين على إخبار أدوات البحث الخاصة بهم عن أدوات البحث الأخرى (على عكس الدور الذي يلعبه الأنداد وأدوات البحث) بسبب توسّع بروتوكول أنداد بت تورنت لتبادل معلومات اتصال أداة البحث. ولكن كيف يمكن لأداة بحث مثبَّتة مؤخرًا اكتشاف أدواة بحثٍ أخرى؟ تتضمن ملفات الأسراب التي لا تحوي متتبّعًا معلومات الاتصال الخاصة بأداةٍ أو عددٍ قليلٍ من أدوات البحث، بدلًا من عنوان URL الخاص بالمتتبّع، لهذه الحالة فقط.
</p>

<p>
	أحد الجوانب غير الاعتيادية في بروتوكول بت تورنت هو أنه يتعامل مباشرةً مع مسألة العدالة أو المواطنة الجيدة على الشبكة، حيث تعتمد البروتوكولات غالبًا على السلوك الجيد للأنداد دون القدرة على فرض هذا السلوك، فيمكن مثلًا أن يحصل الند صاحب السلوك السيء في شبكة إيثرنت على أداءٍ أفضل باستخدام خوارزمية التراجع التي تكون أكثر قوةً من التراجع الأسي، أو يمكن لند <a href="https://academy.hsoub.com/devops/networking/%D8%A7%D9%84%D8%AA%D8%AD%D9%83%D9%85-%D9%81%D9%8A-%D8%A7%D9%84%D8%A7%D8%B2%D8%AF%D8%AD%D8%A7%D9%85-%D8%A8%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85-%D8%A8%D8%B1%D9%88%D8%AA%D9%88%D9%83%D9%88%D9%84-tcp-%D9%81%D9%8A-%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D8%AD%D8%A7%D8%B3%D9%88%D8%A8%D9%8A%D8%A9-r528/" rel="">TCP</a> صاحب السلوك السيء الحصول على أداءٍ أفضل من خلال عدم التعاون في التحكم في الازدحام.
</p>

<p>
	السلوك الجيد الذي يعتمد عليه بروتوكول بت تورنت هو رفع uploading الأنداد القطعَ إلى أندادٍ آخرين. نظرًا لحاجة مستخدم بت تورنت العادي لتنزيل الملف فقط بأسرع ما يمكن، فهناك إغراءٌ لتطبيق ندٍ يحاول تنزيل جميع القطع مع أقل قدرٍ ممكنٍ من الرفع،ويُعد هذا ندًا سيئَا. يشتمل بروتوكول بت تورنت على آلياتٍ تسمح للأنداد بمكافأة أو معاقبة بعضهم بعضًا بهدف التقليل من هذا السلوك السيء؛ فإذا أساء أحد الأنداد التصرفَ بعدم الرفع بصورةٍ جيدة إلى ندٍ آخر، فيمكن للند الثاني أن يخنق choke الند السيء، حيث يمكنه أن يقرر إيقاف الرفع إلى الند السيء، مؤقتًا على الأقل، ويرسل إليه رسالةً تفيد بذلك، وهناك أيضًا نوع من الرسائل لإخبار الند بإلغاء الاختناق. يستخدم الند آليةَ الاختناق أيضًا للحد من عدد اتصالات بت تورنت النشطة، للحفاظ على أداءٍ جيد <a href="https://academy.hsoub.com/devops/networking/%D8%A8%D8%B1%D8%AA%D9%88%D9%83%D9%88%D9%84%D8%A7%D8%AA-%D8%AA%D8%AF%D9%81%D9%82-%D8%A7%D9%84%D8%A8%D8%A7%D9%8A%D8%AA%D8%A7%D8%AA-%D8%A7%D9%84%D9%85%D9%88%D8%AB%D9%88%D9%82%D8%A9-%D9%81%D9%8A-%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D8%AD%D8%A7%D8%B3%D9%88%D8%A8%D9%8A%D8%A9-%D8%A8%D8%B1%D9%88%D8%AA%D9%88%D9%83%D9%88%D9%84-tcp-%D9%85%D8%AB%D8%A7%D9%84%D8%A7-r515/" rel="">لبروتوكول TCP</a>. هناك العديد من خوارزميات الاختناق المحتملة، لكن ابتكار خوارزميةٍ جيدةٍ هو فنٌ بحد ذاته.
</p>

<p>
	ترجمة -وبتصرّف- للقسم Overlay Networks من فصل Applications من كتاب <a href="https://book.systemsapproach.org/applications/overlays.html" rel="external nofollow">Computer Networks: A Systems Approach</a>.
</p>

<h2>
	اقرأ أيضًا
</h2>

<ul>
<li>
		<a href="https://academy.hsoub.com/devops/networking/%D8%A7%D9%84%D9%85%D8%AA%D8%B7%D9%84%D8%A8%D8%A7%D8%AA-%D8%A7%D9%84%D9%84%D8%A7%D8%B2%D9%85%D8%A9-%D9%84%D8%A8%D9%86%D8%A7%D8%A1-%D8%B4%D8%A8%D9%83%D8%A9-%D8%AD%D8%A7%D8%B3%D9%88%D8%A8%D9%8A%D8%A9-r483/" rel="">المتطلبات اللازمة لبناء شبكة حاسوبية</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/devops/networking/%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D9%8A%D8%A7%D8%AA-%D8%A7%D9%84%D9%85%D8%B3%D8%AA%D8%AE%D8%AF%D9%85%D8%A9-%D9%81%D9%8A-%D8%A8%D9%86%D8%A7%D8%A1-%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D8%AD%D8%A7%D8%B3%D9%88%D8%A8%D9%8A%D8%A9-r485/" rel="">البرمجيات المستخدمة في بناء الشبكات الحاسوبية</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/devops/networking/%D8%A8%D8%B1%D9%88%D8%AA%D9%88%D9%83%D9%88%D9%84%D8%A7%D8%AA-%D8%B7%D8%B1%D9%81-%D8%A5%D9%84%D9%89-%D8%B7%D8%B1%D9%81-end-to-end-protocols-%D9%81%D9%8A-%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D8%AD%D8%A7%D8%B3%D9%88%D8%A8%D9%8A%D8%A9-r514/" rel="">بروتوكولات طرف إلى طرف End-to-End Protocols في الشبكات الحاسوبية</a>
	</li>
</ul>
]]></description><guid isPermaLink="false">568</guid><pubDate>Thu, 23 Dec 2021 17:00:00 +0000</pubDate></item><item><title>&#x634;&#x628;&#x643;&#x627;&#x62A; &#x627;&#x644;&#x646;&#x62F; &#x644;&#x644;&#x646;&#x62F; Peer-to-Peer Networks</title><link>https://academy.hsoub.com/devops/networking/%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D9%86%D8%AF-%D9%84%D9%84%D9%86%D8%AF-peer-to-peer-networks-r567/</link><description><![CDATA[
<p><img src="https://academy.hsoub.com/uploads/monthly_2021_12/61cd656fbb521_----Peer-to-Peer-Networks.png.15430500ba6792be734313acdb73436e.png" /></p>

<p>
	أدخلت تطبيقات مشاركة الموسيقى مثل Napster و KaZaA مصطلح <em>الند للند</em> في اللغة العامية الشعبية، ولكن ما الذي يعنيه بالضبط أن يكون النظام ندًا لند أو نظيرًا لنظير؟ يعني ذلك، ضمن سياق مشاركة ملفات MP3، عدم الاضطرار إلى تحميل الموسيقى من موقعٍ مركزي، ولكن القدرة على الوصول إلى ملفات الموسيقى مباشرةً من أي شخصٍ على الإنترنت لديه نسخةٌ مخزنةٌ على حاسوبه. يمكننا القول أن شبكة الند للند تسمح لمجتمع المستخدمين بتجميع مواردهم، مثل المحتوى والتخزين وحيز النطاق التراسلي للشبكة وحيز نطاق القرص الصلب ووحدة المعالجة المركزية، وبالتالي توفير الوصول إلى متجرٍ مؤرشَف أكبر، ومؤتمرات فيديو أو صوت أكبر، وعمليات بحثٍ وحوسبةٍ أعقد مما يستطيع أي مستخدمٍ تحمل تكاليفه بمفرده.
</p>

<p>
	تُذكَر سماتٌ مثل اللامركزية والتنظيم الذاتي عند مناقشة شبكات الند للند في كثيرٍ من الأحيان، مما يعني أن العُقد تنظّم نفسها في شبكةٍ دون أي تنسيقٍ مركزي. إذا فكرت في الأمر، فيمكنك استخدام مصطلحات مثلها لوصف الإنترنت نفسه، ولكن من المفارقات أن تطبيق نابستر Napster لم يكن نظام ندٍ لند حقيقيًا بهذا التعريف بسبب اعتماده على سجلٍ مركزيٍ للملفات المعروفة، وكان على المستخدمين البحث في هذا الدليل للعثور على الجهاز الذي يقدم ملفًا معينًا. الخطوة الأخيرة المتمثلة بتحميل الملف فعليًا هي فقط التي حدثت بين الأجهزة التي تنتمي إلى مستخدمين اثنين، ولكن هذا ليس أكثر من معاملةٍ تقليديةٍ بين العميل والخادم؛ حيث أن الفارق الوحيد هو أن الخادم مملوكٌ لشخصٍ مثلك تمامًا وليس لشركةٍ كبيرة.
</p>

<p>
	إذا عدنا إلى السؤال الأصلي: ما المثير للاهتمام في شبكات الند للند؟ تتمثل إحدى الإجابات في أن كلًا من عملية تحديد موقع كائن وعملية تحميل هذا الكائن على جهازك المحلي تحدث دون الحاجة إلى الاتصال بسلطةٍ مركزية، وفي نفس الوقت يكون النظام قادرًا على توسيع نطاقه ليشمل ملايين العقد. يتضح أن نظام الند للند الذي يمكنه إنجاز هاتين المهمتين بطريقةٍ لامركزية هو <a href="https://academy.hsoub.com/devops/networking/%D8%AA%D9%88%D8%AC%D9%8A%D9%87-%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D8%AA%D8%B1%D8%A7%D9%83%D8%A8-overlay-networks-%D8%A7%D9%84%D8%AD%D8%A7%D8%B3%D9%88%D8%A8%D9%8A%D8%A9-r554/" rel="">شبكة تراكب overlay network</a>، حيث تكون العقد هي هؤلاء المضفين الذين يرغبون في مشاركة الكائنات، مثل الموسيقى والملفات المتنوعة الأخرى، وتمثل الروابط (أو الأنفاق) التي تربط هذه العقد تسلسل الأجهزة التي يجب عليك زيارتها لتعقب الكائن الذي تريده. سيصبح كل شيءٍ أوضح بعد أن نشرح المثالين التاليين.
</p>

<h2>
	شبكة جنوتيلا Gnutella
</h2>

<p>
	وهي إحدى شبكات الند للند الأولى التي حاولت التمييز بين تبادل الموسيقى، الذي يمكن أن ينتهك حقوق الطبع والنشر لشخصٍ ما، والمشاركة العامة للملفات والتي يجب أن تكون جيدة لأننا تعلّمنا المشاركة منذ نعومة أظفارنا. كانت شبكة جنوتيلا Gnutella من أوائل الأنظمة التي لم تعتمد على سجلٍ مركزي للكائنات، حيث يرتّب المشاركون أنفسهم في شبكة تراكبٍ مشابهةٍ للشبكة الموضحة في الشكل الآتي؛ أي أن كل عقدةٍ تشغّل برمجيات شبكة جنوتيلا (أي تطبّق بروتوكول شبكة Gnutella) تعرّف مجموعةً من الأجهزة الأخرى التي تشغّل برمجيات هذه الشبكة أيضًا. تتوافق العلاقة "تعرف العقدتان A وB بعضهما بعضًا" مع أضلاع الرسم البياني التالي.
</p>

<p style="text-align: center;">
	<img alt="ExampleTopologyOfAGnutellaPeer-to-peerNetwork.png" class="ipsImage ipsImage_thumbnailed" data-fileid="87618" data-unique="cwx585lri" src="https://academy.hsoub.com/uploads/monthly_2021_12/ExampleTopologyOfAGnutellaPeer-to-peerNetwork.png.0117c494e081a3153b62acaf553f1668.png" style="width: 450px; height: auto;"></p>

<p>
	إذا أراد المستخدم في عقدةٍ معينة العثور على كائنٍ ما، ترسل شبكة جنوتيلا رسالة استعلام QUERY عن هذا الكائن (مثل تحديد اسم الملف) إلى جيران العقدة في الرسم البياني؛ فإذا كان لدى أحد الجيران هذا الكائن، فإنه يستجيب للعقدة التي أرسلت إليه الاستعلام برسالة استجابة QUERY RESPONSE، مع تحديد مكان تحميل الكائن، مثل عنوان IP ورقم منفذ TCP، ويمكن لهذه العقدة فيما بعد استخدام رسائل GET أو PUT للوصول إلى الكائن؛ وفي حال لم تتمكن العقدة من تحليل الاستعلام، فإنها تعيد توجيه رسالة QUERY إلى كل جيرانها باستثناء العقدة التي أرسلت لها الاستعلام، وتتكرر العملية، أي يغمر بروتوكول جنوتيلا شبكة التراكب لتحديد موقع الكائن المطلوب. يضبط بروتوكول شبكة جنوتيلا مدة البقاء أو العُمر TTL على كل استعلامٍ حتى لا يستمر هذا الغمر إلى أجلٍ غير مسمى.
</p>

<p>
	تحتوي كل رسالةٍ من رسائل QUERY على معرف استعلام فريد query identifier -أو اختصارًا QID- بالإضافة إلى مدة TTL وسلسلة الاستعلامات، ولكنها لا تحتوي على هوية مصدر الرسالة الأصلي، حيث تحتفظ كل عقدةٍ بدلًا من ذلك بسجلٍ لرسائل QUERY التي شاهدتها مؤخرًا، والذي يحتوي على كلٍ من معرّف QID والجار الذي أرسل رسالة QUERY إلى هذه العقدة.
</p>

<p>
	يُستخدم هذا السجل بطريقتين. أولًا، إذا استلمت العقدة في أي وقت استعلامًا بمعرف QID يطابق معرّفًا رأته مؤخرًا، فلن تمرر رسالة QUERY. يعمل هذا على قطع حلقات التمرير بسرعةٍ أكبر مما قد تفعله مدة TTL. ثانيًا، عندما تتلقى العقدة استجابة QUERY RESPONSE من جارٍ يقع تحتها في الشجرة، فإنها تمرر الاستجابة إلى الجار الرئيسي الذي أرسل إليها رسالة QUERY في الأصل. تعود الاستجابة في طريقها باستخدام هذه الطريقة إلى العقدة الأصلية دون أن تعرف أيًّا من العقد الوسيطة هي العقدة التي أرادت تحديد موقع هذا الكائن المحدد في المقام الأول.
</p>

<p>
	يجب أن تعرف العقدة عقدةً أخرى على الأقل عندما تنضم إلى شبكة تراكب جنوتيلا، حيث تُضاف العقدة الجديدة إلى شبكة التراكب بواسطة هذا الرابط على الأقل، ثم تتعرف عقدةٌ معينةٌ على العقد الأخرى نتيجة لرسائل QUERY RESPONSE، سواء بالنسبة للكائنات التي طلبتها أو للاستجابات التي تمر عبرها. العقدة حرةٌ في تحديد العقد التي تُكتشف بهذه الطريقة والتي تريد الاحتفاظ بها مثل جار، حيث يوفر بروتوكول جنوتيلا رسائل PING و PONG التي تتحرى العقدة بواسطتها ما إذا كان جارٌ معين لا يزال موجودًا أم لا وأن هذا الحار يستجيب، على التوالي.
</p>

<p>
	يجب أن يكون واضحًا أن بروتوكول شبكة جنوتيلا كما هو موصوف هنا ليس بروتوكولًا ذكيًا، وقد حاولت الأنظمة اللاحقة تحسينه. أحد أبعاد التحسينات الممكنة هو كيفية نشر الاستعلامات، حيث تحتوي طريقة الغمر Flooding على خاصيةٍ لطيفةٍ وهي ضمان العثور على الكائن المطلوب في أقل عددٍ ممكنٍ من القفزات، ولكنها لا تتوسّع جيدًا. يمكن تمرير الاستعلامات عشوائيًا، أو وفقًا لاحتمالية النجاح بناءً على النتائج السابقة. البعد الثاني هو استنساخ الكائنات استباقيًا، نظرًا لأنه كلما زاد عدد نسخ كائنٍ معين، كان من الأسهل العثور على نسخة. يمكن بدلًا من ذلك تطوير استراتيجيةٍ مختلفةٍ تمامًا، وهو الموضوع الذي سنشرحه الآن.
</p>

<h2>
	شبكات التراكب المهيكلة Structured Overlays
</h2>

<p>
	في نفس الوقت الذي بدأت فيه أنظمة مشاركة الملفات الصراع لملء الفراغ الذي تركه تطبيق Napster، بدأ مجتمع البحث في استكشاف تصميمٍ بديلٍ لشبكات الند للند. نشير إلى هذه الشبكات على أنها مهيكلة structured، على عكس الطريقة العشوائية غير المهيكلة أساسًا التي تتطوّر بها شبكة جنوتيلا، حيث تستخدم شبكات التراكب غير المهيكلة مثل شبكة جنوتيلا خوارزميات بناء وصيانة تراكب بسيطة، ولكن أفضل ما يمكن أن تقدمه هو البحث العشوائي غير الموثوق به؛ بينما صُمِّمت شبكات التراكب المهيكلة لتتوافق مع بنية رسمٍ بيانيٍ معينة تتيح موقعًا موثوقًا وفعالًا وبتأخير محدود احتماليًا، في مقابل تعقيدٍ إضافي أثناء إنشاء التراكب وصيانته.
</p>

<p>
	هناك سؤالان يجب مراعاتهما، هما: كيف يمكننا ربط الكائنات مع العقد، وكيف نوجه طلبًا إلى العقدة المسؤولة عن كائن معين؟ نبدأ بالسؤال الأول، الذي يحتوي على عبارةٍ بسيطة: كيف يمكننا ربط كائنٍ x مع عنوان بعض العقد n التي يمكنها خدمة هذا الكائن؟ لا تتحكم شبكات الند للند التقليدية في تحديد العقدة التي تستضيف الكائن x، فإذا تمكنا من التحكم في كيفية توزيع الكائنات عبر الشبكة، فقد نتمكن من فعل أمرٍ أفضل للعثور على هذه الكائنات في وقتٍ لاحق.
</p>

<p>
	من الأساليب المعروفة لربط الأسماء مع عنوان هي استخدام جدول <a href="https://academy.hsoub.com/programming/c-sharp/dotnet/%D8%A7%D9%84%D8%AA%D8%B4%D9%81%D9%8A%D8%B1-encryption-%D9%88%D8%A7%D9%84%D8%AA%D8%B9%D9%85%D9%8A%D8%A9-hashing-%D9%81%D9%8A-dot-net-r997/" rel="">التعمية hash</a> كما يلي:
</p>

<pre class="ipsCode prettyprint lang-css prettyprinted" id="ips_uid_2424_8" style="">
<span class="pln">hash</span><span class="pun">(</span><span class="pln">x</span><span class="pun">)</span><span class="pln"> </span><span class="pun">→</span><span class="pln"> n</span></pre>

<p>
	حيث يُوضَع الكائن x أولًا على العقدة n، وسيتعين في وقتٍ لاحق على العميل الذي يحاول تحديد موقع x، تنفيذ تعمية x لتحديد أنه موجود على العقدة n. يتميز النهج القائم على التعمية بخاصيةٍ تتمثل في ميله إلى نشر الكائنات بالتساوي عبر مجموعة العقد، لكن خوارزميات التعمية المباشرة تعاني من عيبٍ هو: ماهو عدد القيم n الممكنة التي يجب أن نسمح بها؟ أو باستخدام مصطلحات التعمية، كم عدد المجموعات buckets التي يجب أن تكون موجودة؟ يمكننا أن نقرر ببساطةٍ أن هناك 101 قيمةً معمَّاةً محتملةً على سبيل المثال، ونستخدم دالة تعميةٍ نمطيةٍ هي:
</p>

<pre class="ipsCode prettyprint lang-css prettyprinted" id="ips_uid_2424_10" style="">
<span class="pln">hash</span><span class="pun">(</span><span class="pln">x</span><span class="pun">)</span><span class="pln">
    </span><span class="kwd">return</span><span class="pln"> x </span><span class="pun">%</span><span class="pln"> </span><span class="lit">101</span></pre>

<p>
	إذا كان هناك أكثر من 101 عقدةٍ على استعدادٍ لاستضافة كائنات، فلا يمكننا الاستفادة منها جميعًا. وإذا حددنا عددًا أكبر من أكبر عددٍ ممكنٍ من العقد، فستكون هناك بعض قيم x التي ستُطبَّق عليها التعمية في عنوان عقدةٍ غير موجودة. وهناك أيضًا مشكلةٌ صغيرةٌ تتمثل في ترجمة القيمة التي تعيدها دالة التعمية إلى <a href="https://academy.hsoub.com/certificates/cisco/ccna/%d8%a8%d9%86%d8%a7%d8%a1-%d9%85%d8%ae%d8%b7%d8%b7-%d9%84%d8%b9%d9%86%d8%a7%d9%88%d9%8a%d9%86-ip-%d8%b9%d8%a8%d8%b1-%d8%a7%d9%84%d8%b4%d8%a8%d9%83%d8%a7%d8%aa-%d8%a7%d9%84%d9%81%d8%b1%d8%b9%d9%8a%d8%a9-%d8%b9%d9%86%d8%af-%d8%a8%d9%86%d8%a7%d8%a1-%d8%a7%d9%84%d8%b4%d8%a8%d9%83%d8%a7%d8%aa-r23/" rel="">عنوان IP</a> فعلي.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="87619" href="https://academy.hsoub.com/uploads/monthly_2021_12/61cd658c014fb_BothNodesAndObjectsMap(hash)OntoTheIDSpace.png.b63d795168cb740f9c51c931a2fe89ef.png" rel=""><img alt="BothNodesAnd ObjectsMap(hash)OntoTheIDSpace.png" class="ipsImage ipsImage_thumbnailed" data-fileid="87619" data-unique="573uks0jn" src="https://academy.hsoub.com/uploads/monthly_2021_12/61cd658d762c7_BothNodesAndObjectsMap(hash)OntoTheIDSpace.thumb.png.36dbe2faf9228047d4c0b9ab83480fe5.png" style="width: 400px; height: auto;"></a>
</p>

<p>
	تستخدم شبكات الند للند المهيكلة، لمعالجة هذه المشكلات خوارزميةً تُعرف باسم إجراء التعمية المستقرة consistent hashing، والتي تطبّق تعميةً على مجموعة من الكائنات بصورةٍ موحدة عبر حيز معرّفاتٍ كبير. يوضح الشكل السابق حيز معرّفات ذا 128 بت على شكل دائرة، حيث نستخدم الخوارزمية لوضع كلٍ من الكائنات:
</p>

<pre class="ipsCode prettyprint lang-ruby prettyprinted" id="ips_uid_2424_14" style="">
<span class="pln">hash</span><span class="pun">(</span><span class="typ">ObjectName</span><span class="pun">)</span><span class="pln"> </span><span class="pun">→</span><span class="pln"> </span><span class="typ">ObjectID</span></pre>

<p>
	والعقد:
</p>

<pre class="ipsCode prettyprint lang-ruby prettyprinted" id="ips_uid_2424_16" style="">
<span class="pln">hash</span><span class="pun">(</span><span class="typ">IPAddr</span><span class="pun">)</span><span class="pln"> </span><span class="pun">→</span><span class="pln"> </span><span class="typ">NodeID</span></pre>

<p>
	على هذه الدائرة. بما أن حيز المعرّفات ذا 128 بت هائل، فليس مرجحًا تعمية الكائن لنفس المعرّف تمامًا مثل تعمية عنوان IP الخاص بالجهاز. لحساب هذا الاحتمال، يُحتفَظ بكل كائنٍ على العقدة التي يكون معرّفها أقرب، في حيز 128 بت هذا، إلى معرّف هذا الكائن. تكمن الفكرة في استخدام دالة تعمية عالية الجودة لربط كلٍ من العقد والكائنات في نفس حيز المعرّفات الكبير والمبعثر؛ حيث يمكنك بعد ذلك ربط الكائنات مع العقد عن طريق التقريب العددي من معرّفات كل منها، وهذا يوزّع الكائنات بالتساوي إلى حدٍ ما عبر العقد، ولكن وعلى عكس التعمية العادية، يجب أن يتحرك عددٌ قليلٌ فقط من الكائنات عندما تنضم العقدة إلى مجموعة التعمية أو تغادر.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="87620" href="https://academy.hsoub.com/uploads/monthly_2021_12/ObjectsAreLocatedByRoutingThroughThePeer-to-peerOverlayNetwork.png.932e875b0ad4f21b6e9b171071df43d2.png" rel=""><img alt="ObjectsAreLocatedByRoutingThroughThePeer-to-peerOverlayNetwork.png" class="ipsImage ipsImage_thumbnailed" data-fileid="87620" data-unique="urm7654y3" src="https://academy.hsoub.com/uploads/monthly_2021_12/ObjectsAreLocatedByRoutingThroughThePeer-to-peerOverlayNetwork.thumb.png.0fce34835b30252e2cf3668eb26cb591.png" style="width: 400px; height: auto;"></a>
</p>

<p>
	ننتقل الآن إلى السؤال الثاني الذي يدور حول كيفية معرفة المستخدم الذي يريد الوصول إلى الكائن x العقدةَ الأقرب في معرّف x ضمن هذا الحيّز. تتمثل إحدى الإجابات المحتملة في احتفاظ كل عقدةٍ بجدولٍ كامل لمعرّفات العقد <a href="https://academy.hsoub.com/devops/networking/%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D9%81%D8%B1%D8%B9%D9%8A%D8%A9-%D9%88%D8%A7%D9%84%D8%B9%D9%86%D8%A7%D9%88%D9%8A%D9%86-%D9%88%D8%A7%D9%84%D8%A3%D8%AE%D8%B7%D8%A7%D8%A1-%D9%81%D9%8A-%D8%A8%D8%B1%D9%88%D8%AA%D9%88%D9%83%D9%88%D9%84-ip-r498/" rel="">وعناوين IP</a> المرتبطة بها، ولكن هذا لن يكون عمليًا لشبكةٍ كبيرة، والبديل هو توجيه رسالةٍ إلى هذه العقدة، وهو النهج الذي تستخدمه شبكات ند لند المهيكلة. فإذا أنشأنا شبكة التراكب بطريقةٍ ذكية، والذي يعني أننا بحاجةٍ إلى اختيار مدخلات لجدول توجيه العقدة بطريقةٍ ذكية، فسنجد عقدةً ببساطة عن طريق التوجيه نحوها، ويُطلَق على هذا النهج أحيانًا جدول التعمية الموزَّع distributed hash table -أو اختصارًا DHT-، نظرًا لأنه نظريًا يُوزَّع جدول التعمية على جميع العقد في الشبكة. يوضّح الشكل السابق ما يحدث لحيز معرّف بسيطٍ ذي 28 بت، حيث افترضنا تسمية النهج الذي تستخدمه شبكة ند لندٍ معينة باسم Pastry للحفاظ على طبيعة المناقشة محددةً، وتعمل الأنظمة الأخرى بطريقةٍ مماثلة.
</p>

<p>
	افترض أنك في العقدة ذات المعرّف <code>65a1fc</code> (عدد ست عشري) وتحاول تحديد موقع locate الكائن ذي المعرّف <code>d46a1c</code>، حيث تدرك أن معرّفك لا يتشارك شيئًا مع الكائن، لكنك تعرف عقدةً تشترك في البادئة <code>d</code> على الأقل، وهذه العقدة أقرب منك في حيز المعرّفات ذي 128 بت، لذلك تمرر الرسالة إلى هذه العقدة. لا نعطي صيغة الرسالة المُمررة، ولكن يمكنك التفكير في الأمر مثل تحديد موقع الكائن <code>d46a1c</code>. افترض أن العقدة <code>d13da3</code> تعرف عقدةً أخرى تشترك في بادئةٍ أطول مع الكائن، لذلك تمرر الرسالة إليها. تستمر عملية الاقتراب في حيز المعرّفات حتى تصل إلى عقدةٍ لا تعرف أي عقدةٍ أقرب؛ هذه العقدة، بحكم التعريف، هي التي تستضيف الكائن. ضع في بالك أنه تُمرر الرسالة بالفعل من عقدةٍ إلى أخرى عبر شبكة الإنترنت الأساسية، بينما نتحرك منطقيًا عبر حيز المعرّفات.
</p>

<p>
	تحتفظ كل عقدةٍ بجدول توجيه وعناوين IP لمجموعةٍ صغيرة من معرّفات العقد الأكبر والأصغر عددًا، وهذا ما يُسمى مجموعة أوراق leaf set العقدة؛ وتكمن أهمية مجموعة الأوراق في أنه بمجرد توجيه الرسالة إلى أية عقدةٍ في نفس مجموعة الأوراق مثل العقدة التي تستضيف الكائن، يمكن لهذه العقدة تمرير الرسالة مباشرةً إلى الوجهة النهائية؛ كما تسهّل مجموعة الأوراق التسليم الصحيح والفعال للرسالة إلى العقدة الأقرب عدديًا، على الرغم من وجود عدة عقدٍ تشترك في بادئةٍ ذات أقصى طول مع معرّف الكائن؛ وتقوّي أيضًا مجموعةُ الأوراق التوجيهَ لأن أيًا من العقد في مجموعة الأوراق يمكنها توجيه رسالة تمامًا مثل أية عقدةٍ أخرى في نفس المجموعة، وبالتالي إذا كانت إحدى العقد غير قادرةٍ على إحراز تقدمٍ في توجيه رسالة، فقد يتمكن أحد جيرانها في مجموعة الأوراق من ذلك، حيث يمكن تعريف إجراء التوجيه على النحو التالي:
</p>

<pre class="ipsCode prettyprint lang-css prettyprinted" id="ips_uid_2424_20" style="">
<span class="typ">Route</span><span class="pun">(</span><span class="pln">D</span><span class="pun">)</span><span class="pln">
    </span><span class="kwd">if</span><span class="pln"> D </span><span class="kwd">is</span><span class="pln"> within range of </span><span class="kwd">my</span><span class="pln"> leaf </span><span class="kwd">set</span><span class="pln">
        forward to numerically closest member </span><span class="kwd">in</span><span class="pln"> leaf </span><span class="kwd">set</span><span class="pln">
    </span><span class="kwd">else</span><span class="pln">
        </span><span class="kwd">let</span><span class="pln"> l </span><span class="pun">=</span><span class="pln"> length of shared prefix
        </span><span class="kwd">let</span><span class="pln"> d </span><span class="pun">=</span><span class="pln"> value of l</span><span class="pun">-</span><span class="pln">th digit </span><span class="kwd">in</span><span class="pln"> D</span><span class="str">'s address
        if RouteTab[l,d] exists
            forward to RouteTab[l,d]
        else
            forward to known node with at least as long a shared prefix
            and numerically closer than this node</span></pre>

<p>
	جدول التوجيه المشار إليه باسم <code>RouteTab</code>، هو مصفوفةٌ ثنائية الأبعاد، ويحتوي على سطرٍ لكل رقمٍ ست عشري في المعرّف (يوجد 32 رقمًا في معرّف 128 بت) وعمودٍ لكل قيمةٍ ست عشرية (هناك 16 قيمة)، حيث تشترك كل مدخلةٍ في السطر <em>i</em> ببادئة طولها <em>i</em> مع هذه العقدة، وتكون للمُدخلة في العمود <em>j</em> في هذا السطر القيمة الست عشرية <em>j</em> في الموضع <em>i + 1</em>. يوضح الشكل الآتي السطور الثلاثة الأولى من جدول توجيه العقدة <code>65a1fcx</code>، حيث تشير x إلى لاحقةٍ غير محددة. يوضّح هذا الشكل أيضًا بادئة المعرّف المطابقة لكل مدخلةٍ في الجدول، ولكنه لا يُظهر القيمة الفعلية المضمَّنة في هذه المدخلة، والتي هي عنوان IP للعقدة التالية للتوجيه إليها.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="87617" href="https://academy.hsoub.com/uploads/monthly_2021_12/ExampleRoutingTableAtTheNodeWithID65alcx.png.eb92f0b2a09699215b8f87b9292be7f3.png" rel=""><img alt="ExampleRoutingTableAtTheNodeWithID65alcx.png" class="ipsImage ipsImage_thumbnailed" data-fileid="87617" data-unique="vcq6gxs07" src="https://academy.hsoub.com/uploads/monthly_2021_12/ExampleRoutingTableAtTheNodeWithID65alcx.thumb.png.314a25c151e1f1aae3602b076f3aaafd.png" style="width: 550px; height: auto;"></a>
</p>

<p>
	تعمل إضافة عقدةٍ إلى شبكة التراكب إلى حدٍ كبير مثل توجيه <em>رسالة تحديد موقع locate object message</em> إلى كائن، حيث يجب أن تعرف العقدة الجديدة عضوًا حاليًا واحدًا على الأقل، وتطلب من هذا العضو توجيه <em>رسالة إضافة عقدة add node message</em> إلى العقدة الأقرب عدديًا لمعرّف عقدة الانضمام، كما هو موضح في الشكل الآتي. تتعرّف العقدة الجديدة على العقد الأخرى ذات البادئة المشتركة من خلال عملية التوجيه، وتستطيع بدء ملء جدول التوجيه الخاص بها. تمتلك العقد الحالية أيضًا بمرور الوقت وانضمام العقد الإضافية إلى شبكة التراكب، خيارَ تضمين معلوماتٍ حول العقدة المنضمَّة حديثًا في جداول التوجيه الخاصة بها، حيث تقوم بذلك عندما تضيف العقدة الجديدة بادئةً أطول مما هو موجود حاليًا في جداولها. كما تتبادل العقد الجيران في مجموعات الأوراق جداول التوجيه مع بعضها بعضًا، مما يعني أنه بمرور الوقت تنتشر معلومات التوجيه عبر شبكة التراكب.
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="87616" href="https://academy.hsoub.com/uploads/monthly_2021_12/AddingANodeToTheNetwork.png.6c00df0c64830e7cc9e86e26a3a4b991.png" rel=""><img alt="AddingANodeToTheNetwork.png" class="ipsImage ipsImage_thumbnailed" data-fileid="87616" data-unique="3xrxga71y" src="https://academy.hsoub.com/uploads/monthly_2021_12/AddingANodeToTheNetwork.thumb.png.b6162f8972818546df757855bea0393c.png" style="width: 500px; height: auto;"></a>
</p>

<p>
	من المُلاحظ أن شبكات التراكب المهيكلة توفر حدًا محتمَلًا لعدد قفزات التوجيه المطلوبة لتحديد موقع كائنٍ معين، لكن عدد القفزات في آلية Pastry محددٌ بالقيمة <code>log&lt;sub&gt;16&lt;/sub&gt;N</code>، حيث تمثل <code>N</code> عدد العقد في شبكة التراكب. قد تساهم كل قفزةٍ في تأخيرٍ كبير، لأن كل عقدةٍ وسيطة قد تكون في موقعٍ عشوائيٍ على الإنترنت، وقد تكون كل عقدةٍ في قارةٍ مختلفة في أسوأ الأحوال. التأخير المتوقَع لكل قفزة هو متوسط التأخير بين جميع أزواج العقد في الإنترنت في شبكة تراكبٍ عالمية باستخدام الخوارزمية كما هو موضح أعلاه، ولكن يمكن فعل شيءٍ أفضل بكثير عمليًا؛ حيث تكمن الفكرة في اختيار كل مدخلةٍ في جدول التوجيه بحيث تشير إلى عقدةٍ قريبةٍ في الشبكة الفيزيائية الأساسية، من بين جميع العقد ذات بادئة المعرّف المناسبة للمدخلة. اتضح أن فعل ذلك يؤدي إلى تأخيراتٍ في التوجيه من طرفٍ إلى طرف بمعامل تأثيرٍ صغير من إجمالي التأخير بين عقدة المصدر والوجهة.
</p>

<p>
	أخيرًا، ركّزت المناقشة حتى الآن على المشكلة العامة المتمثلة في تحديد موقع الكائنات في شبكة ندٍ لند، حيث يمكن بناء خدماتٍ مختلفة بالنظر إلى مثل هذه البنية التحتية للتوجيه. قد تستخدم خدمة مشاركة الملفات أسماء الملفات مثل أسماء كائنات، حيث يجب أولًا تطبيق تعميةٍ على اسم ملفٍ لتحديد موقعه في معرّف الكائن المقابل ثم توجيه رسالة تحديد موقع إلى هذا المعرّف. وقد ينسخ النظام أيضًا كل ملفٍ عبر عقدٍ متعددةٍ لتحسين التوافرية، وتتمثل أحد الطرق لتحقيق ذلك بتخزين عدة نُسخٍ على مجموعة أوراق العقدة التي يُوجَّه إليها ملفٌ معين.
</p>

<p>
	ضع في بالك أنه على الرغم من أن هذه العقد هي جيران في حيز المعرّفات، فيُحتمَل أن توزَّع فعليًا عبر الإنترنت، وبالتالي فإن انقطاع التيار الكهربائي في مدينةٍ بأكملها قد يؤدي إلى إزالة النسخ المتماثلة القريبة فعليًا من ملفٍ في نظام ملفاتٍ تقليدي، لكن يمكن أن تنجو نسخةً متماثلةً واحدةً أو أكثر من هذا الفشل في شبكة ند لند. يمكن أيضًا إنشاء خدمات أخرى غير مشاركة الملفات على جداول التعمية الموزعة. فمثلًا من أجل تطبيقات البث المتعدد وبدلًا من إنشاء شجرة متعددة البث من شبكة، يمكن إنشاء الشجرة من أضلاع شبكة التراكب المهيكلة، ويؤدي ذلك إلى استهلاك تكلفة إنشاء شبكة التراكب وصيانتها عبر العديد من التطبيقات ومجموعات البث المتعدد.
</p>

<p>
	ترجمة -وبتصرّف- للقسم Overlay Networks من فصل Applications من كتاب <a href="https://book.systemsapproach.org/applications/overlays.html" rel="external nofollow">Computer Networks: A Systems Approach</a>.
</p>

<h2>
	اقرأ أيضًا
</h2>

<ul>
<li>
		<a href="https://academy.hsoub.com/devops/networking/%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA-%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%B7%D8%B1%D9%81-%D8%A5%D9%84%D9%89-%D8%B7%D8%B1%D9%81-%D8%A7%D9%84%D8%AD%D8%A7%D8%B3%D9%88%D8%A8%D9%8A%D8%A9-r537/" rel="">بيانات شبكات طرف إلى طرف الحاسوبية</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/devops/networking/%D8%A8%D8%B1%D9%88%D8%AA%D9%88%D9%83%D9%88%D9%84%D8%A7%D8%AA-%D8%AA%D8%AF%D9%81%D9%82-%D8%A7%D9%84%D8%A8%D8%A7%D9%8A%D8%AA%D8%A7%D8%AA-%D8%A7%D9%84%D9%85%D9%88%D8%AB%D9%88%D9%82%D8%A9-%D9%81%D9%8A-%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D8%AD%D8%A7%D8%B3%D9%88%D8%A8%D9%8A%D8%A9-%D8%A2%D9%84%D9%8A%D8%A9-%D8%A7%D9%84%D8%A5%D8%B1%D8%B3%D8%A7%D9%84-%D9%88%D8%A7%D9%84%D8%A8%D8%AF%D8%A7%D8%A6%D9%84-r516/" rel="">بروتوكولات تدفق البايتات الموثوقة في الشبكات الحاسوبية: آلية الإرسال والبدائل</a>
	</li>
	<li>
		<a href="https://academy.hsoub.com/devops/networking/%D8%A7%D8%B3%D8%AA%D8%AF%D8%B9%D8%A7%D8%A1-%D8%A5%D8%AC%D8%B1%D8%A7%D8%A1-%D8%B9%D9%86-%D8%A8%D8%B9%D8%AF-remote-procedure-call-%D9%81%D9%8A-%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A7%D8%AA-%D8%A7%D9%84%D8%AD%D8%A7%D8%B3%D9%88%D8%A8%D9%8A%D8%A9-r517/" rel="">استدعاء إجراء عن بعد Remote Procedure Call في الشبكات الحاسوبية</a>
	</li>
</ul>
]]></description><guid isPermaLink="false">567</guid><pubDate>Fri, 17 Dec 2021 16:00:00 +0000</pubDate></item></channel></rss>
