الخميس، 15 سبتمبر، 2011

Public IP & Private IP

عادة يكون لكل حاسب متصلة بالانترنت IP خاص بها,هذا ال IP يمكن الوصول اليه من اي مكان في العالم
تقوم الشركة المزودة للانترنت بشراء كمية من الآبيات و توزعها على حاسبات الزبائن"المستخدمين",لكن مع ازدياد عدد الحاسبات في الانترنت فان الآبيات بدأت تنفذ"عدد الايبيات حوالي 4 مليار" واصبحت شراء ال IP  عالي التكلفة,

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

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

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

مثال:حاسبة ال public IP لها هو 9.9.9.9, تريد تصفح موقع جوجل و آبي موقع جوجل هو 8.8.8.8 مثلا
فطلب الصفحة يكون بهذا الشكل:-
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 للثلاث حاسبات بنفس الطريقة اعلاه


من عيوب استخدام Private IP هو :
1.ان الحاسبة في الشبكة الداخلية لا تستطيع تلقي طلب ما من خارج الشبكة,اي يجب ان تكون هي المبادرة بالطلب
   لحل هذه الاشكالية يتم استخدام Port Forward
2.لو قام موقع الكتروني ما بحجب احدى الحاسبات"من خلال الآبي طبعا" فان بقية الحاسبات ستحجب ايضا

السبت، 10 سبتمبر، 2011

IP address

 كل خط هاتف او موبايل فون له رقم  خاص به مثل 009636607050055 وهذا الرقم يجب ان لايتكرر,كذلك الحال في الانترنت فكل كمبيوتر له رقم خاص به يعرف ب(IP) اختصاراً ل  Internet Protocol
يتكون ال IP من اربع خانات مفصولة عن بعضها بواسطة نقطة"." بهذه الصغية العامة xx.xx.xx.xx مثل 10.11.11.22
كل خانة متكونة من 8 بت لذا فال IP مكون من 32 بت او 4 بايت(8*4),

يتم تصنيف الآيبيات الى خمس CLASS اصناف (A,B,C,D,E )
يتم تحديد الصنف تبعا لقيمة خانات ال IP
ففي كلاس class A يجب ان تكون اول خانة "يسار" محصورة بين 0 و  127مثل 8.8.8.8

في class A يتم تخصيص اول خانة لتكون عنوان للشبكة وباقي الخانات كعنوان للحاسبات xx.xx.xx.xx

class B يجب ان تكون اول خانة  محصورة بين 128 و  191مثل 175.0.0.6
في class B يتم تخصيص اول خاتين لتكون عنوان للشبكة وباقي الخانات كعنوان للحاسبات xx.xx.xx.xx

 class C يجب ان تكون اول خانة "يسار" محصورة بين 192 و  223مثل 8.8.8.8
في class C يتم تخصيص اول ثلاث خانات لتكون عنوان للشبكة والخانة الاخيرة تصبح عنوان للحاسبات xx.xx.xx.xx

عدد الحاسبات الممكن عنونتها تحسب بهذه الطريقة:-
2 للاس (عدد الخانات المخصصة للحاسبات"تعتمد على نوع الكلاس" * 8)-2
فمثلا شبكة بهذا العنوان 195.55.44.00 كلاس C فتستحمل 2 للاس 8 =256 -2 =254


الشبكات الكبيرة تاخذ عادة عنوان من Class A لانه يستوعب عدد كبير من العناوين

الشبكات المتوسطة تاخذ عادة عنوان من Class B
الشبكات الصغير تاخذ عادة عنوان من Class C لانها تستوعب عناوين قليلة

من خلال ال IP يمكن معرفة موقع الحاسبة في اي دولة ومعرفة شركة الانترنت التي تتصل من خلالها.

الأحد، 14 أغسطس، 2011

تصميم البوابات المنطقية


البوابات المنطقية logic gates مثل AND NOR OR NOT NAND وغيرها, تدخل البوابات المنطقية في تصميم المعالجات CPU و الكثير من الدوائر الرقمية,
تعد البوابات (NOT NAND NOR) هي الاساس فمن خلال مزج هذه البوابات نستطيع الحصول على البوابات الاخرى و السبب لاستخدام هذه البوابات كاساس هي سهولة تصميمها,

اولا: بوابة NOT

لهذه البوابة ادخال واحد و اخراج واحد ايضا ,فعندما يكون الادخال صفر منطقي (قيمة قريبة من الصفر) فان الاخراج يكون واحد منطقي(حوالي خمسة فولط),أما عندما يكون الادخال واحد منطقي منطقي(حوالي خمسة فولط) فان الاخراج يكون صفر منطقي(قيمة قريبة من الصفر) .
الدائرة المستخدمة :
دائرة بوابة NOT
فعندما يكون الادخال حوالي خمسة فولط أو أقل (بحيث يجعل الترانزيستور يعمل في حالة الاشباع Saturation) فان الترانزيستور يعمل و كانه مفتاح مغلق فتكون قيمة ال Output مساوية لقيمة الارضي اي صفر .
أما عندما يكون الادخال أقل من 700 ملي فولط (بحيث يجعل الترانزيستور يعمل في حالة القطع Cutoff) فان الترانزيستور يعمل و كانه مفتاح مفتوح فتكون قيمة ال Output مساوية لقيمة المصدر المربوط مع مقاومة ال colllector أي تكون قيمة ال Output حوالي الخمسة فولط.
كما في هذه الصورة:

ثانيا بواية NAND :
لها اكثر من ادخال واحد(2 أو 3 او 4) ولها اخراج واحد , فاذا كانت احد الادخالات صفر فان الاخراج سيكون واحد (خمسة فولط),اما اذا كانت جميع الادخالات واحد فان الاخراج سيكون صفر
 تستعمل هذه الدائرة من ترانزيستورات ال (CMOS) من اجل بناء هذه البوابة كما في الصورة
دائرة بوابة NAND
اذا كان الادخال واحد على ترانزيستور Q1 فانه سيكون كانه مفتاح مغلق, أما اذا كان الادخال صفر على ترانزيستور Q1 فانه سيكون كانه مفتاح مفتوح نفس الشيْ ل Q2 .
كما في الصورة
لعمل بوابة AND يضاف NOT على اخراج البوابة NAND.
 
ثالثا بوابة NOR:-

لها اكثر من ادخال واحد ولها اخراج واحد , فاذا كانت جميع الادخالات صفر فان الاخراج سيكون واحد (خمسة فولط),اما اذا كان احد الادخالات او اكثر واحد فان الاخراج يكون صفر
تستعمل هذه الدائرة من ترانزيستورات ال CMOS
دائرة بوابة NOR

ذا كان الادخال واحد على ترانزيستور Q1 فانه سيكون كانه مفتاح مغلق, أما اذا كان الادخال صفر على ترانزيستور Q1 فانه سيكون كانه مفتاح مفتوح , نفس الشيْ ل Q2 .
فائدة Q3 هو لمنع حدوث short بين VDD و الارضي عندما يكون Q1 أو Q2 مغلقين"الادخال واحد",
يمكن ان يعوض عن Q3 بمقاومة.

لعمل بوابة OR يضاف NOT على اخراج البوابة NOR .

 

حجب المواقع

حجب المواقع
يتم الحجب باستخدام الجدار الناري(Firewall), ولذا يجب ان نشرح  ما هو الفايرول اولا,
الفايرول يستخدم لمنع انتشار النار من مكان الى اخر كما في السيارة فهو يوضع بين المحرك و كابينة الركاب لمنع انتشار النار من المحرك الى الركاب,وكذلك يوضع بين الردهات او الاقسام في الفنادق او السفن لمنع انتشار النار من موقع الى اخر,
الفايرول في العالم الرقمي,هو جهاز مستقل(Hardware) او برنامج داخل حاسبة (software) يحمي الحاسبات التي تقع خلفه من الاضرار كالفيروسات(Virus) او الاختراق او التجسس(spy) او تجاوز الصلاحية لوصول الى شيء ما, 
وكذلك الفايروول يستخدم من قبل مزود الخدمة(ISP) من اجل حجب المواقع(Blocking websites) لاسباب سياسية او اخلاقية



انواع الفايروول:-

1.Packet-Filters Router
هذا النوع يعمل بطريقة مشابهة لعمل ال router فهو يتفحص الرزم(packet) عبر فحص ال IP و ال port number فقط فاذا و جد ان ال IP  او البورت نمبر في اللائحة السوداء يمنع هذه الرزمة من المرور,
كمثال لنفرض ان ال ISP اراد حجب موقع youtube.com الذي يملك هذا ال IP 74.125.77.136 ,فاي طلب يطلبه المستخدم ويحوي هذا العنوان(74.125.77.136) يتم منعه من الخروج,
وكذلك لو يستطيع مزود الخدمة حجب خدمة ما و ليس الموقع بالكامل و ذلك عبر port number ,فمثلا لو اراد منع تصفح المواقع المشفرة HTTPs فانه سيمنع اي رزمة تحمل port number=443 ,طبعا هذا كمثال لكن عمليا لا يتم ذلك فهذه الخدمة مهمة جدا ولا يمكن الاستغناء عنها.
من مميزات هذا النوع انه سريع جدا.

2.Application-Level Gateway او proxy server
في هذا النوع فان الفايروول يفحص محتوى الرزمة packet بالكامل اي يمر بجيمع طبقات ال OSI ,فهو يتفحص محتوى الصفحات (ككلمات) فاذا وجدها مخالفة عبر كلمات مفتاحية مثل(Fuck you و غيرها) فيتم حجب الموقع,وكذلك يمنكنه حجب صفحة page معينة و ليس كل الموقع,
طبعا هذا النواع يمتاز بالدقة و لكن بطيء مما يؤدي الى ابطاء الشبكة

*النوع الاخير من الحجب عبر ال DNS فكل اسم موقع يقابله عنوان IP  يتم معرفته من خلال DNS server الذي يكون تابع لمزود الخدمة عادة
مثال:-لو كتبت بالمتصفح(مثل فايرفوكس) youtube.com فان متصفحك يرسل رسالة الى Local DNS server (خادم DNS المحلي لدى مزود الخدمة) يطلب فيها اعطائه عنوان ال IP لهذا الموقع,فيرد السيرفر باعطائه ال IP,ثم يقوم المتصفح بارسال طلب الى موقع youtube.com (بواسطة ال IP الذي حصل عليه) يطلب منه الصفحة page معينة .


طرق تجاوز الحجب 
 1.اذا كان الحجب عن طريق ال DNS فهذا النوع هو الاسهل لتجاوزه,فاذا كان youtube.com فاستخدم youtube.neyt (اذا كان موجود),او استخدم DNS سيرفر خارجي(اشهرها DNS google) اضغط على هذا الرابط
فبدلا ان تذهب الطلبات الى مزود الخدمة لديك تذهب الى شركة جوجل وبذلك تحل المشكلة,
او باستخدام ال IP للموقع اذا كنت تعرفه(من النت مثلا) فاما ان تستخدمه مباشرة كان تكتب بالمتصفح   http://xx.xx.xx.xx بدلا من  example.com لكن الكثير من المواقع لا تنجح معها هذه الطريقة لاسباب يطول شرحها هنا.

او ان تقوم باخبار كمبيوترك بان يطلب ال IP من الكمبيوتر نفسه من دون الحاجة للاتصال بسيرفر خارجي و ذلك عن طريق
فتح notepad بصفة administrator  ثم فتح الملف hosts الموجود في المسار C:\Windows\System32\drivers\etc
ثم نضيف في اخر الملف الموقع و ما يقابله من IP 
بهذا الشكل xx.xx.xx.xx example.com  كما في الصورة
2.اذا كان الحجب باستعمال Packet-Filters Router فهنا يجب استعمال بروكسي(خارجي) اما ويب بروكسي او سيرفر بروكسي
الويب بروكسي مثل اي موقع الكتروني تدخل عليه و تكتب عنوان الموقع الذي تريده في الحقل المخصص 
مثل http://www.fastninjaproxy.tk/ لكن حذاري من استعماله في الامور الحساسة كاستخدام فيزا  كارد و ما الى ذلك,لان الوصلة الامنة HTTPS لن تعمل بالطريقة الصحيحة
او استخدم بروكسي سيرفر  يتم اعطائه على شكل IP:port لاعداد المتصفح لاستخدام proxy server في متصفح فايرفوكس(firefox) اذهب الى Tool<option<network<setting ثم اختر manual proxy ثم ادخل ال IP و البورت كما في الصورة 
في السيرفر البروكسي يمكنك التعامل مع الادخالات الحساسة لان الوصلة الامنة https تعمل بصورة طبيعية في هذا النوع.
 

3.لوكان الفايروول من نوع بروكسي فهنالك خيارين اما ان تستخدم وصلة مشفرة من قبل الموقع نفسه HTTPS وبالتالي فسيصبح الفايروول لا يستطيع فهم محتوى ما تتصفح كما في جوجل https://google.com
اما اذا لم يكن ممكن فيجب استخدام بروكسي سواء ويب او سيرفر لكن شريطة ان يكون يستخدم وصلة امنة HTTPS فهو يجلب الصفحة من الموقع المحجوب ثم يشفرها ثم يرسلها لك,

السبت، 13 أغسطس، 2011

CDMA

CMDA

يتم الاتصال بين الاجهزة(حاسبات او موبايل) اما عن طريق روابط سلكية مثل(UTP,Coxial) او حتى الكيبل الضوئي او لا سلكية باستخدام الموجات الكهرمغناطيسية,رابط الاتصال يسمى قناة


عندما يكون من الضروي تقاسم قناة اتصال واحدة بين اكثر من جهة او مستخدم فان مجموعة من التقنيات تستعمل لذلك,
التقنيات المستخدمة هي FDMA و TDMA و CDMA , كل هذه التقنيات تسعى لمشاركة هذه القناة الواحدة بين اكثر من مستخدم,


CDMA اختصار ل Code division multiple access و تعني باللغة العربية تعدد (الوصول باستخدام تقسيم الشفرة,) وهي تقنية تستخدم كما قلنا لاستخدام قناة واحدة بين اكثر من مستخدم و ذلك عن طريق تخصيص كود"شفرة او رقم" لكل مستخدم,فعن طريق هذه الشفرة يتم الفصل بين البيانات المشتركين,

تتيح تقنية CDMA بان يستعمل المستخدمون القناة بالكامل كامل الباندويث و كامل الوقت بعكس التقنيات الاخرى

الآلية العمل:-
لتسهيل الشرح دعونا نفرض أن لدينا مستخدمَين 2  فقط
كل مستخدم يريد ارسال بت واحد (لتسهيل الشرح أيضاً )

المشترك الأول يريد أن يرسل 1
المشترك الأول لديه الكود 1- 1 1- 1

المشترك الثاني يريد أن يرسل 0
المشترك الثاني لديه الكود 1- 1- 1 1

هنا كل مشترك لدينا يريد أن يرسل بت واحد و في نفس الوقت

 الطريقة هي في الارسال:-
أولا:- يتم تحويل كل 0 الى سالب واحد للبيانات المرسلة فتصبح البيانات كالتالي:-
بيانات المشترك الاول 1
بيانات المشترك الثاني 1-

ثانيا:- يتم ضرب كل بت من بيانات المستخدم بمفرده"في ما اذا كان يتم ارسال اكثر من بت واحد" في الكود المخصص لذلك المستخدم فيتج
1- 1 1- 1
1
-------------------
1- 1 1- 1 للمستخدم الاول

1- 1- 1 1
1-
------------------------
1 1 1- 1- للمستخدم الثاني

ثالثا:- يتم جمع ناتج الضرب السابق لكلا المستخدمين فينتج
1- 1 1- 1
1 1 1- 1-
----------------
0 2 2- 0 يتم قسمة الناتج على 2 فينتج
0 1 1- 0

رابعا:يتم ارسال الناتج الاخير و بذلك فان عملية الارسال تكون انتهت,
كما لاحظتم فان البيانات المرسلة (0 1 1- 0 ) تحوي على بيانات كلا المستخدمين,في حين ان في تقنيات اخرى يتم ارسال بيانات كل مستخدم على حدى

الاستقبال:- لنفرض اننا نريد استقبال بيانات المستخدم الاول, لنحقق ذلك فاننا يجب

اولا:نضرب البيانات المستلمة في الكود المخصص للمستخدم الاول و ذلك باستعمال الضرب النقطي
0 1 1- 0
1- 1 1- 1
-----------
0 1 1 0 نأخذ مجموع ناتج الضرب نفسه فيتج 2
هكذا يتم الضرب النقطي و اذا لم تفهم الضرب النقطي ابحث فستجد الكثير .

ثانيا:-ناتج الضرب النقطي يحول الى 1 اذا كان الناتج اكبر من صفر و
يحول الى 0 اذا كان الناتج اصغر من صفر
و بما انه ناتج الضرب النقطي 2 اذا فسينتج 1 ,
و بذلك نكون قد استلمنا البيانات المرسلة من قبل المستخدم الاول, نفس الطريقة تتبع لاستلام بيانات المستخدم الثاني

كما لاحظتم فالعملية رياضية اكثر منها كهربائية او فيزيائية

للموضوع تكملة...........

مقدمة عن الحاسوب

الحــاسـوب

الحاسوب او الكمبيوتر هو الة تستخدم لمساعدة الانسان على اجراء بعض العمليات الحسابية او المعالجة،

التاريخ:-
كان الانسان يستخدم اصابعه لمساعدته في عمليات العد او العمليات الحسابية البسيطة كالجمع و الطرح،ثم بدأ يستخدم الخرز(كالذي يستخدم في رياض الاطفال حاليا) او بواسطة انشاء عقد في حبل...الخ من الطرق،
وكان في العصور الوسطى يستخدم الاصطرلاب و الة تستخدم لبعض العمليات الفلكية و تحديد القبلة(مختلف بشان مخترعه)،
لكن القفزة الكبيرة نوعا ما اتت على يد الفرنسي باسكال حين اخترع الته الميكانيكية لمساعدة والده في حساب الضرائب،
كان الة ميكانيكية تعتد على التروس و الحلقات و كان يمكنها اداء عمليات الحسابية الاربع،
ثم في بداية القرن التاسع عشر انتجت حواسيب مكانيكية قابلة للبرمجة،
ومع بداية القرن العشرين بدات الحواسيب تصبح الكتروميكانيكية و كان لها دور كبير في تشفير و فك التشفير الرسائل ابان الحربين العالميتين،
ومع نهاية الحرب العالمية الثانية تم انشاء حاسوب الكتروني بالكامل يقوم ينجز العمليات الحسابية الاربع و يعتمد على الصمام الالكتروني لذا فكان كبير جدا فحجمه بحجم غرفة ،ويستهلك طاقة كبيرة
وبعدما اخترع الترانزيستور بدا حجمه واستهلاكه للطاقة يقل شيئا فشيئا حتى وصل حجمه الى سنتمرات محدودة(مثل حاسبة الجيب)
قام ( جون فون نيومان) بتوضيح هيكلية الحاسوب:
تقسيم الحاسوب الى وحدات كل وحدة تقوم بعمل خاص،مع وجود خط(bus) منفرد لكل من العنواين و البيانات،
كان الحاسوب باهظ الثمن فلم يكن يستخدم سوى للحكومات و للدوائر الكبيرة ،ثم مع الوقت هبط سعره حتى اصبح بامكان استخدامه للاغراض الشخصية مطلع الثمانينيات،

مكونات الحاسوب:
١.وحدة المعالجة المركزية(CPU) 
٢.الذاكرة الرئيسية(تعرف عمليا بل RAM)
٣.وحدة الادخال و الاخراج(مثل الشاشة الكيبورد الماوس)
هذا بالاضافة الى الخطوط او النواقل(BUS) ،وهي خط التحكم و خط العنواين وخط البيانات،



كيف يعمل:
تقوم وحدة الادخال كالكيبورد مثلا بادخال البيانات(زر من الازرار) الى وتنقل هذه البيانات الى الذاكرة الرئيسة ثم الى وحدة المعالجة المركزية التي تقوم بمعالجة البيانات ثم اخراج النتائج الى وحدة الاخراج كالشاشة مثلا
ولتفصيل اكثر لناخذ الكيبورد،عند الضغط على مفتاح حرف(A) مثلا فانه يتولد شفرة رقمية تسمى اسكي كود(65) ثم تذهب الى الذاكرة عبر تحديد العنوان بواسطة خط العنوان و من ثم تنقل الى الذاكرة عبر خط البيانات،وثم يقوم ال (CPU) بقراءة(لغرض المعالجة) هذه الشفرة بنفس الطريقة(خط العنواين ثم خط البيانات ) ثم يرسل البيانات المعالجة الى وحدة الاخراج(الشاشة) لغرض عرض الحرف (A) .

Free Domain Name .co.nr
Register a free domain name with .co.nr extension (such as www.YourName.co.nr) that comes with free URL redirection, URL cloaking and path forwarding, meta-tags, FavIcon and Google Webmaster tools support, kill-frame feature, NO forced ADS at all, and more.