الأحد، فبراير 14، 2010

كيفية عمل الإنترنت

قبل حوالي سنة اشتريت مودم Speed touch ومعه استلمت ورقة مكتوب فيها عنوانين أحدهما http://www.speedtouch.com/والآخر 10.0.0.138 وحين الدخول على أحدهما يعطي نفس النتيجة التي يعطيني إياها الآخر فمن البديهي أن أستنتج أن كلا العنوانين لموقع واحد ومن الممكن أن نقول أيضاً بشكل بديهي العنوان الأول حرفي يقابله العنوان الثاني الرقمي
ولكن لماذا يوجد عنوانين وما الحاجة للعنوان الرقمي الصعب في حال وجود العنوان الحرفي هذا بالضبط ما جال في ذهني وقتها وهنا أُجيب على هذا السؤال
العمليه ككل تتم بوجود مزود يدعى ( DNS ( Domain name system والذي يتولى مهمة فك شفرة العناوين التي نضعها نحن في خانة العنوان ضمن المتصفح حيث يمتلك شيء أشبه بالجدول فيه العنوان الحرفي وما يقابله بالعنوان الرقمي وكأنه قاموس يحول من لغة من لغة يفهمها المستخدم للغة تتعامل فيها الشبكة و العنوان الرقمي هو IP للعنوان الحرفي فلا يمكن أي يتكرر يعني وحيد unique
وفي الرسمة أدناه يتبين لكم أين يقع مزود نطاق الأسماء بالضبط كما أننا نستعرض دورة الإنترنت كامله منذ أن نطلب موقع معين إلى أن تظهر الصفحة أمامنا
حيث يبدأ المستخدم في ارسال طلب لموقع معين ويكتب رابطه في المتصفح ثم يضغط Enter وينتهي دوره :
بعدها يبدأ دور الشبكةفتأخذ الرسالة من المستخدم وتجزئها إلى رزم يقوم بهذه العملية بروتوكول اسمه TCP ( والحقيقه هو ليس بروتوكول وإنما مكدس بروتوكولات أي مجموعه من البرتوكولات الموجوده فوق بعضها البعض تعمل على أساس من يدخل أولاً يخرج آخراً ,, ولتبسيط المعنى نقول أن لو كان لدينا مجموعة كتب من 1 إلى 7 موجوده فوق بعضها فإن رقم 7 دخل أولاً وتوضع بقية الكتب فوقه وإذا أردنا إخراحه يلزمنا اخراج كل الكتب ليخرج هو الأخير وهذا ما يطلق عليه ( FILO (First Input Last Output و نفس المعنى ينطبق على بروتوكولات المكدس TCP IP )
ولبروتوكول الـTCP أكثر من مهمة في الخطوة رقم واحد ,, حيث يقوم أولاً بتجزئة الرسالة المبعوثة إلى رزم صغيرة ويرتبها بطريقة تسمح له بتجميعها من جديد بنفس ترتيبها قبل التجزيء حتى لا تصل الرسالة مشوهه ,, كما يتولى مهمة التحكم والـتأكد من خلو الرسائل من الأخطاء ,, فما الحاجة للرسالة إذا كانت مشوهه أو خاطئة
وعملية التأكد هذه تتم عن طريق تطبيق عمليه ذكية فكما تعلمون الحاسب لا يفهم غير الواحد والصفر وعلى هذا يتم تحويل المعلومات إلى واحد وصفر ,, والرزم أعلاه لا تحتوي إلا على واحد وصفر ,, فيقوم البروتوكول بجمع عدد الواحدات في الرزمة قبل الإرسال فإذا كان المجموع زوجي وضع رقم 1 في بداية الرزمه وإذا كان العدد فردي وضع رقم 0 ثم يبدأ بالتأكد خلال الإرسال من هذا الرقم هل تغير أم لا ,, فإن حدث تشويه للرساله سوف تتغير المعلومات وبالتالي سيتغير المجموع وإذا تغير يتوقف ويصلح الخطأ فوراً أليس هذا ذكياً ؟
المهمة الأخيره لبروتوكول TCP في الخطوة 1 أن يقوم بإنشاء وصلة ما بين المرسل والمستقبل ( المرسل هنا أنا – المستخدم – والمستقبل هو السيرفر أو المزود Server
عملية إنشاء وصلة هي من الخطوات المهمة جداً وهي ما تسمى بالمزامنه (synchronization) يعني يكون المستقبل مستعد للإستقبال في الوقت الذي يستعد فيه المرسل للإرسال هذه هي العملية باختصارانتهت الآن الخطوة رقم 1 بنجاح الآن الخطوة رقم 2 هي أبسط خطوة وفي نفس الوقت أهم خطوة حيث لا يمكن لبقية الخطوات أن تتم بدونهافيها يتم تكويد العنوان الحرفي إلى رقمي
الخطوة رقم 3 هنا يبدأ عمل بروتوكول آخر اسمه IP عمله يتلخص في أنه يوجه الرزم يوجه بناءً على العنوان الرقمي ( على الوجهه ) وعلى المسارات المتاحه أمامه
لو كنت أنا و 10 من صديقاتي معي نريد الذهاب لمكان على بعد 100 كيلو من هنا وخلال الطريق سوف نتوقف 3 مرات في كل مره ننزل ثم نعود ونركب مره أخرى والمكان الذي نريد الذهاب إليه يمكن الوصول إليه من أكثر من طريق كما أن الطريق الواحد لا يستحمل مرور أكثر من سياره في نفس الوقت ليكم المشاكل التي ستواجهنا :
نزولنا نحن العشره وركوبنا مره أخرى يستلزم وقت وربما ننسى أحد :
كما أنه أصعب في التنقل وأكثر استهلاكاً للوقت ولو لا سمح الله أصاب أي واحده منا مكروه لن يحس بها أحد لأنه زحمه
الحل الأول أن نقوم بتجزئة أنفسنا إلى 3 مجموعات كل مجموعه في سيارة وكل سياره معها العنوان الذي نريد الذهاب إليه وشرط أساسي أن لا نسير في نفس الطريق كونه لا يحتمل إلا سياره واحده لذا تذهب كل واحده في طريق لنصل في نفس الوقت لنفس المكان
بالضبــــــــــط هذه قصة التجزئ والتوجيه فالتجزئ حل مشكلة نقل البيانات ما بين الذواكر المختلفه فلا سقوط اضراري للبيانات ولا نسيان شي منها فلا يحدث تشويه لها ,, أيضاً عملية التأكد من البيانات أصبحت أسهل ,, وأصبح النقل اسرع وكذلك التوجيه في مسارات كثيره أتاح الوصول في نفس الوقت لدى المستقبل وبدون زحمه ولا اخطاء
وصلنا الآن للخطوة الأخيره والنهائيه وهي التجميع لدى المستقبل ( ويوجد مهمه ثانيه للبروتوكول لدى المستقبل وهو فتح التطبيق المناسب ,, فحين يصلني ملف على الجهاز من النت يكون منتهي بامتداد معين فيقوم الTCP بتحديد التطبيق المناسب لفتح هذا الملف
و هناك مزودين مشهورين على الإنترنت ونتعامل معهم بشكل دائم وهما سيرفر الويب وسيرفر نقل الملفات FTP والحقيقه أن كل واحد منهم يضم مجموعة كبيره من المزودات داخله
فكيف نعرف أي منهما هو المقصود والذي ستصله رسالتنا المبعوثه ؟
عن طريق العنوان الموحد URL فمثلاً http://www.compunet4arab.com/
هنا العنوان مكون من 3 أجزاء الأول www ويعني نوع المزود هو الويب وحين يكون FTP يكون المقصود مزود نقل الملفات
بكل بساطه :
كل ما سبق تم في حالة لحظية استطعنا فيها تحديد مرسل ومستقبل إلا أنه في الواقع لا يمكن تحديد مستقبل ومرسل فكلا الإثنين مستقبل ومرسل في نفس الوقت والعملية التي تمت تتم في كلا الإتجاهين وبشكل مستمر وأسرع بكثير مما تتوصورون
فكل ما شرح أعلاه يتم بغضون دقائق معدوده وهذا نتيجة للتطور الملحوظ في عالم الشبكات ككل