Saturday, July 16, 2016

ما الفرق بين ال puplic ip وال private ip و ما هي تقنية NAT

سؤال مهم جدا جدا : ما الفرق بين ال puplic ip وال private ip و ما هي تقنية NAT
عادة يكون لكل كمبيوتر  متصل بالانترنت IP خاص به, هذا ال IP يمكن الوصول اليه من اي مكان في العالم
تقوم الشركة المزودة للانترنت بشراء كمية من عناوين IP  و توزعها على كمبيوترات  الزبائن "المستخدمين", لكن مع ازدياد عدد اجهزة الكمبيوتر على الانترنت فان عناوين ip قد نفذت "عدد الايبيات حوالي 4 مليار" واصبح شراء ال IP عالي التكلفة,

لذا فابتكرت طريقة لحل مشكلة نفاذ عناوين ip بأن يستخدم IP واحد لمئة مستخدم مثلا,أي ان مئة حاسبة ستتشارك نفس ال IP,
لكن ذلك يخالف فكرة ان لكل كمبيوتر IP خاص به!
كيف يتم ذلك؟
يتم اعطاء كل كمبيوتر IP من نوع private اي خاص , هذا ال ip  لا يمكن الوصول اليه الا من داخل الشبكة التي فيها المستخدم , اي لا يمكن الوصول اليه من خلال شبكة الانترت,
فالنتيجة تكون : في داخل الشبكة "شبكة الشركة المزودة للانترنت " يكون لكل كمبيوتر عنوان  IP خاص به ولكن هاذه الكمبيوترات يكون لها IP واحد في شبكة الانترنت " خارج الشبكة" هذا ال ip الخارجي يسمى public اي عام
أي ان جميع اجهزة الكمبيوتر ستظهر و كانها كمبيوتر  واحدة في الانترنت
الامر مشابه الى حد كبير فكرة البدالة الداخلية للهواتف في الشركات و المستشفيات

لكن كيف لا يحدث تداخل,
فالكمبيوتر  1 يطلب صفحة موقع جوجل و كمبيوتر  2 يطلب موقع ياهو
فكيف مثلا سيقوم موقع جوجل بارسال الصفحة الى كمبيوتر 1 وليس الى كمبيوتر 2 " لان الكمبيوتران يظهران  ككمبيوتر  واحدة في الانترنت" و هذا ما يسمى ب NAT

لفهم آلية عمل Nat  ,فيجب معرفة ما يلي:-
كل طلب يتم بهذه الطريقة:

Source IP:Port number -- Destination IP:Port number
Source IP:Port number:الآبي العام للكمبيوتر الذي يطلب الصفحة + رقم المنفذ الذي ستستلم منه الصفحة

مثال:كمبيوتر  ال public IP له هو 9.9.9.9, تريد تصفح موقع جوجل و عنوان IP  موقع جوجل هو 8.8.8.8 مثلا
فطلب الصفحة يكون بهذا الشكل:-
Destination IP:Port number : عنوان IP  الموقع متبوع برقم البورت الذي يتم الطلب من خلاله
8.8.8.8:80 --9.9.9.9:5000
5000 هو رقم عشوائي تقريبا,بينما 80 هو رقم المنفذ الخاص بطلب الصفحات عبر بروتوكول HTTP

فلو كان لدينا كمبيوترين لهما private IP و تستخدم نفس ال IP الخارجي"Public" فيتم استخدام تقنة NAT
تقوم الحاسبة الاولى بطلب صفحة ما بهذه الطريقة

Private IP1:6000 ---IP:80
عندما يصل هذا الطلب الى الشركة المزودة للانترنت  تقوم الشركة بوضع ال Public IP بدلا من private IP1 وتقوم كذلك بابدال رقم المنفذ الداخلي 6000 برقم منفذ خارجي 7000 مثلا

Public IP:7000 ---IP:80

الكمبيوتر الثاني يطلب صفحة ما ايضا:

Private IP2:5000 ---IP:80
عندما يصل هذا الطلب الى الشركة المزودة للانترنت تقوم الشركة بوضع ال Public IP بدلا من private IP2 وتقوم كذلك بابدال رقم المنفذ الداخلي 5000 برقم المنفذ الخارجي 4000 مثلا
Public IP:4000 ---IP:80
تقوم الشركة بوضع جدول لكل رقم منفذ خارجي وما يقابله من private IP و منفذ داخلي ,

فلو جاء الى الشركة الرد من قبل الموقع بهذه الطريقة
IP:80---Public IP:7000
فبقراءة رقم المنفذ "7000" تعلم الشركة بان الرد جاء الى private IP1 وبرقم منفذ داخلي 6000
فتقوم الشركة بوضع private IP1 بدلا من ال public IP ,و 6000 بدلا من 7000 بهذا الشكل
IP:80---Private IP1:6000
وبالتالي فان الكمبيوتر الاول فقط سيحصل على الصفحة المطلوبة,

هذه الطريقة تستخدم ايضا لمشاركة الانترنت ,
فلو كان لديك اشتراك انترنت واحد ,
ومثلا كان لديك ثلاث كمبوترات  تريد ان يكونوا متصلين بالانترنت
فالحل هو بشراء راوتر" او استخدام كمبيوتر " يقوم هذا الروتر باعطاء private IP للثلاث كمبيوترات بنفس الطريقة اعلاه

No comments:

Post a Comment