دالوند، محمد حسين         

Dalvand, M.Hossein

اصول طراحي و ساخت نرم افزار ميزباني وب

ISBN: -------:    15000ريال

فهرست نويسي بر اساس اطلاعات فيپا

عنوان اصلي:

اصول طراحي و ساخت نرم افزار ميزباني وب – 104 ص

نويسنده : محمد حسين دالوند

1.مرجع تخصصي کامپيوتر

42 الف 99 س / QA8686      43/007

کتابخانه ملي ايران        - – - -

انتشارات مرکز پژوهش و توسعه فن آوريهاي نوين انتقال داده

 

نويسنده : محمد حسين دالوند

 

شابک : 4-6-93444-905

 

نوبت چاپ : اول 1386

 

تيراژ : 3000 جلد

 

قيمت : 1500 تومان

ناشر: www.mhdsoft.com

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

بسم الله الرحمن الرحيم

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

فهرست:

 

  1. مقدمه
  2. سخني با خوانندگان
  3. ايده ي طراحي و ساخت وب سرور
  4. شبکه چيست ؟
  5. اينترنت چيست ؟
  6. پروتکل چيست ؟
  7. استاندارد در علوم کامپيوتر به چه معناست؟
  8. وب چيست ؟ ( آشنايي مختصر با اصول  آن )
  9. DNS چيست ؟
  10. معرفي انواع زبانهاي برنامه نويسي وب سايت
  11. منظور از سيستم وب هاستينگ چيست ؟
  12. معرفي انواع نرم افزارهاي وب هاستينگ
  13. سخت افزار وب هاستينگ چيست و مطلوب آن کدام است
  14. استانداردهاي يک وب سرور در RFC
  15. ويژگيهاي الگوريتم يک نرم افزار وب هاستينگ
  16. معرفي Socket programming يا برنامه نويسي پريز
  17. انواع مفهوم پردازش برنامه
  18. انواع مفهوم دسترسي به محتويات فايل
  19. برنامه نويسي به روش انتقال مفهوم ( استفاده از روش پردازش در دسترسي به فايل )
  20. Pre-trusted-connection

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

تقديم به درگاه خداوند بلند مرتبه که علم را عامل پيشرفت بشر

و تقرب به درگاه خويش معرفي نمود

 

و تقديم به پدر گراميم که استواري در برابر مشکلات  را به من آموخت

و تقديم به مادر عزيزم که مهرباني و عشق را به من

 آموخت

 

و تقديم به خواهران مهربانم

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

مقدمه :

 

امروزه با پيشرفت علوم طبيعي و در کنار آن گشترش روز افزون اطلاعات و در دسترس بودن ابزاري به نام کامپيوتر و به طبع آن ابداع روزمره ي سيستمهاي نوين ارتباطي ماننده شبکه هاي مخابراتي و کامپيوتري اين امکان به وجود آمده است که بتوان از طريق يک شبکه ي گسترده و بدون مرز يا بين المللي اطلاعات حاصله از گشترش علوم طبيعي و يا کسب و کار را در محيطي مجازي در اختيار همگان و يا گروهي خاص قرارداد.

 

در اختيار قرار دادن اين اطلاعات در يک کلام انتشار آن در اين محيط مجازي مي باشد – اما روشهاي زيادي براي انتشار اطلاعات در محيط مجازي وجود دارد. براي مثال قرار دادن اطلاعات بر روي ميزبانهاي بارگزاري فايل ( File transfer protocol servers = FTP SERVERS ) و يا انتشار اسناد از طريق پست الکترونيکي به فهرستي از اشخاص ( E-mail  ) و يا طراحي يک وب سايت و انتشار اسناد بر روي آن ( Web designing) که روش آخر جزو بهترين راهها مي باشد- چرا که :

 

 

از طرف ديگر تنها طراحي وب سايت باعث انتشار اطلاعات بر روي شبکه نمي شود و نياز است که اطلاعات بر روي يک فضاي مجازي به نام WEB SITE منسوب به فضاي واقعي به نام WEB HOSTING که به صورت فيزيکي بخشي از ديسک سخت يک دستگاه کامپيوتر داراي نشان شبکه اي متصل به شبکه مي باشد قرار گيرند.

 

اين دستگاه کامپيوتر داراي نرم چندين نرم افزار است که مهمترين آنها سيستم عامل ( ماننده UNIX و Ms-Windows ) و سپس نرم افزار Web hosting  مي باشد – که مبحث اصلي اين کتاب نرم افزار WEB HOSTING ويا همان نرم افزار ميزبان وب مي باشد.

 

اميد است که خوانندگان محترم پس از مطالعه ي اين کتاب به اهداف ذيل نايل آيند:

 

·        آشنايي کلي با سيستم اينترنت

·        آشنايي با مفاهيم پايه اي برنامه نويسي تحت شبکه

·        آشنايي با برنامه نويسي پريز يا Socket

·        آشنايي با مفهوم Web server

·        آشنايي با الگوريتمهاي متداول Web server

·        آشنايي با نرم افزار MHD WEB SERVER

·        توانايي در تشخيص بهترين WEB SERVER براي يک WEB SITE

·        توانايي در طراحي و برنامه نويسي يک نرم افزار ميزبان وب

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

سخني با خوانندگان :

 

در جامعه ي ما امروزه اين اصطلاح متداول شده است که چرخ را نبايد از ابتدا ساخت. اما به نظر اين بنده ي حقير کسي که بداند چرخ را چگونه مي سازند و توليد آنرا حتي يکبار تجربه کرده باشد مي تواند بهترين چرخ را توليد نمايد.

 

اگر يک مهندس طراحي خودرو نداند که مکانيسم توليد چرخ چه است و تصوري از آن نداشته باشد – مطمئنا" خودروي توليدي وي با مشکلاتي در حرکت رو به رو خواهد شد. مهندسي که بداند چرخ چگونه توليد مي شود و درک درستي از آن داشته باشد – در صورت نياز مي تواند به راحتي بيان نمايد که چه نوع چرخي مناسب خودروي وي است و اين کار را با کمترين هزينه و بالاترين کيفيت انجام خواهد داد.

 

براي مثال – اگر چرخ را مجموعه اي از رينگ و لاستيک در نظر بگيريم – و مهندسي بداند که رينگ را فلان کارخانه از جنس فلز A مي سازد و مراحل ساخت آن سه مرحله دارد و فلان کارخانه از جنس فلز B مي سازد و مراحل ساخت آن يک مرحله است و بنا بر اصول طراحي رينگ بداند که براي مثال هنگام ساخت رينگ اگر مراحل آن کمتر باشد بهتر است و جنس فلز A بهتر است به راحتي مي تواند سفارش ساخت رينگ مشتري يا Customized ring را به کارخانه اي بدهد که رينگ را از جنس فلز A مي سازد – و از آنها بخواهد که رينگ را در يک يا دو مرحله بجاي سه مرحله بسازند.

 

دقيقا" همين اتفاق در دنياي کامپيوتر رخ مي دهد. اگر برنامه نويسي که مي خواهد يک برنامه ي حسابداري براي يک شرکت بزرگ بسازد و در اين ميان مي داند که به بانک اطلاعاتي براي نرم افزارش نياز دارد – در صورتي بهترين انتخاب را مي کند – اگر بداند که يک نرم افزار بانک اطلاعاتي را چگونه مي سازند و با اصول جستجوي داده و ... و نحوه ي دسترسي به فايل و داده در محيط يک سيستم عامل آشنا باشد.

 

در يک کلام بتواند نحوه ي کار نرم افزارش را در برخورد با بانک اطلاعاتي به راحتي تصور کند.

 

مثالي ديگر. خودرويي دچار نقص فني در سيستم روشنايي مي شود. يک فرد مکانيک که به صورت تجربي با خودروهاي بسياري سر و کار داشته – همواره اساس کار سيستم روشنايي همه ي خودروها را به صورت ساده مي داند. اما يک فرد که صرفا" راهنماي يک خودرو را مطالعه نموده است – به اندازه ي فرد مکانيک نمي تواند عيب خودرو را به راحتي شناسايي و حتي رفع نمايد.

 

براي مثال – اگر سيستم چراغ دنده ي عقب يک خودرو خراب شود و مدام روشن بماند – افراد عادي مي دانند که جايي خراب شده است – فردي که کمي اطلاعات دارد – مي داند که مشکل از کليد جعبه دنده است – فرد نماينده ي رسمي کارخانه مي داند که بايد آن کليد تعويض شود – اما هيچيک نمي دانند قبل از رسيدن فرد به محل تعمير چگونه اين مشکل بر طرف شود ؟!

 

چون کل سيستم روشنايي خودروي مفروض ما داراي يک فيوض است – و اگر آن فيوض خارج شود کل سيستم روشنايي از کار مي افتد – از طرفي نور چراغ دنده عقب شب هنگام در جاده خطر ناک است. پس چه بايد کرد ؟

 

فردي که با سيستم طراحي خودرو به طور ساده آشنا باشد – مي داند که يک فيش ( Port ) در پشت لامپهاي دنده عقب خودرو است و به راحتي با جدا کردن آن مي توان آنرا خاموش نمود.

 

برنامه نويسي که بخواهد از امکانات آماده استفاده نمايد بدون آنکه نحوه ي کار آنها با بداند – مانند راننده اي است که شب هنگام محتاج مکانيک و تعمير کار خودرو است. اگر مشکلي در برنامه پيش آيد –  و از نظر او کدها درست باشند – نمي داند که مشکل از سيستم عامل است و يا سخت افزار کامپيوتر !

 

پس چرخ را نبايد از ابتدا طراحي کرد – اما – بايد دانست که چگونه طراحي کرد – زيرا – ممکن است روزي ما نيز مجبور شويم چرخ را بسازيم.

 

دانستن پايه اي و اساسي ما را ياري مي کند در :

 

 

 

انشاالله که مطالب ذکر شده در اين کتاب بتوانند به شما در جهت دانستن اصول طراحي چرخ در حيطه ي وب و شبکه کمک کنند و شما را ياري نمايند که توليد آنرا در اين حيطه تجربه نماييد.

 

 

با تشكر

 

محمد حسين دالوند 

اسفند 1386

info@mhdsoft.com

 

 

 

 

ايده ي طراحي و ساخت وب سرور: ( ميزبان وب ) Web server  :

 

همانطور که در مقدمه اين کتاب بدان اشاره شد – امروزه نشر اطلاعات به عنوان يکي از مهمترين ارکان پيشرفت و توسعه مي باشد. امروزه اشخاص مي توانند از طريق وب به انتشار افکارخود در محيطهايي مانند Web log بپردازند و شرکتها و سازمانها جهت تسهيل در ارتباط با مشتريان و اربابان رجوع وب سايت تاسيس مي کنند و در آن اطلاعات مفيدي شامل آدرس شرکت و يا سازمان – خدمات و ... قرار مي دهند.

 

دانشجويان و محققان از طريق وب اقدام به جستجوي مقالات مي کنند و بابت اين مسله از پايگاههايي به نام Search engine استفاده مي نمايند. اين پايگاهها به آنها اين امکان را مي دهد که از طريق جستجوي کليد واژه ي خاص نتايجي را دريافت نمايند که آنها را به پايگاه اطلاع رساني يا وب سايتي مرتبط مي سازد و مي توانند از طريق آنها و معمولا" به صورت رايگاه اقدام به تحقيق و بررسي نمايند.

 

در اين ميان فروشگاههاي اينترنتي وجود دارند که به کاربران اين امکان را مي دهند که بدون صرف هزينه ي رفت و آمد و فقط با استفاده از چند پيوند ( URL LINK ) و با استفاده از کارت اعتباري پرداخت ( Credit card payment ) اقدام به خريد و سفارش کالاي مورد نظر خود نمايند.

 

برخي از پايگاههاي اطلاع رساني ( Web sites ) اين امکان را به افراد مي دهد که به صورت روي خط ( Online ) اقدام به مطالعه ي اخبار روزانه نمايند و يا به دانشجويان اين امکان را مي دهد که به صورت روي خط نمرات خود را بر روي وب سايت دانشگاه مشاهده نمايند.

 

چند وقتي است که در ايران نيز اين سيستم راه اندازي شده است که به دانشجويان اين امکان را مي دهد که از طريق وب سايت دانشگاه اقدام به انتخاب واحد نمايند و حتي شهريه ي خود را از طريق وب سايت پرداخت نمايند و مطمئنا" همانطور که مي دانيم که شرط دسترسي به يک وب سايت از هر کجاي دنيا – داشتن ارتباط با شبکه ي اطلاع رساني جهاني و يا Internet است.

 

در اين راستا – اين واقعيت احساس مي شود که راه اندازي و استقبال استفاده ازچنين پايگاههايي به طور روز افزون در حال افزايش است زيرا:

 

 

و ...

 

در چنين وضعيتي و به دليل جديد بودن اين فن آوري يک رقابت مجازي في ما بين شرکتها و سازمانها در جهت تجهيز شدن به اين فن آوري به وجود مي آيد. که اهداف ذيل را مورد توجه قرار مي دهند :

 

 

و ...

که در جهت مجهز شدن به اين فن آوري معمولا" مطالب ذيل در عموم اهداف دخيل است :

 

 

و ...

 

 

و از آنجا که اطلاعات دقيقي در مورد مسايل امنيتي يک وب سايت وجود ندارد و عمده ي کارفرمايان فقط مي دانند که اين مسايل مهم هستند – از اينرو به دانستن و داشتن اطلاعاتي کافي در مورد اين مسايل زياد اهميت نمي دهند و از طرف ديگر به دليل آنکه تا به امروز ( تاريخ انتشار اين کتاب ) تجربه اي در خصوص راه اندازي خدمات ميزباني وب ( Web hosting ) در کشور ما ايران به صورت رسمي وجود نداشته است و عمده ي پيشرفتها در خصوص اجاره ي سرور در فلان کشور و در فلان مرکز نگهداري اطلاعات ( DATA CENTER ) بوده است . از اينرو کارفرمايان بي خبرند اگر به مسايل امنيتي توجه نداشته باشند :

 

 

و ...

 

متاسفانه از آنجا که مفهوم تجارت الکترونيکي هنوز در کشور ما نوپا و جوان است – هنوز اين خطر براي کارفرمايان محسوس نمي باشد که از دست دادن اعتبار در يک محيط مجازي به چه قيمتي براي وي تمام خواهد شد و اگر بداند صرفا" به دلايل ذيل مجبور است به مجري طراح وب سايت اعتماد نمايد:

 

 

اما متاسفانه در کشور ما حتي برخي موسسات دولتي نيز قرباني حملات امنيتي شده اند و اعتبار اجرايي خود را مدتها به طول انجاميده است تا بازيابند.

 

براي مثال – اگر کارفرمايي بخواهد با هزينه ي پنجاه هزار تومان وب سايت داشته باشد – به گفته ي يک مجري مي داند که بخشي از آن صرف اجاره ي ساليانه نام وب سايت و يا همان Domain name مي شود و بخش ديگر آن صرف اجاره ي فضا و يا همان Web site مي شود. تنها بخشي که نياز به تمديد ساليانه ندارد بخش طراحي وب سايت است مگر آنکه قرارداد ديگري به نام پشتيباني منعقد شده باشد.

 

در بازار ميزباني وب – با مبلغ بيست هزار تومان حتي در برخي مواقع مي توان يک خدمات ميزباني وب در کشور ايالات متحده امريکا پيدا کرد که تا سقف پانصد مگابايت فضا در اختيار کاربر قرار مي دهد. اما براي يک شرکت معتبر چقدر تضمين براي موارد ذيل وجود دارد :

 

 

 

و ...

 

برخي از مسولان داخلي کشور جمهوري اسلامي ايران با توجه به مسايل مطروحه ي بالا – و در جهت درستي سعي بر آن داشته اند و دارند که خدمات ميزباني وب را در محلهايي به نام مرکز ملي نگهداري داده هاي اينترنتي و يا National Internet Data Center نگهداري نمايند. ضمن آروزي موفقيت براي ايشان – باز نيز چندين نکته وجود دارد :

 

 

با توجه به تمامي اين مسايل مطرح شده اينطور به نظر مي رسد که بايد راهکاري وجود داشته باشد که برخي شرکتها بر حسب نياز خود بتوانند سرويس ميزباني خود را در محل شرکت خود راه اندازي نمايند – و اين امکانات بايد حداقل  شرايط ذيل را داشته باشد :

 

 

اما تا به امروز مشکلات اساسي در اجراي اين طرح وجود داشته است :

 

 

و ...

 

براي مثال – يک شرکت تجاري قادر است در ماه هزينه اي نزديک به يکصد تا پانصد دلار را بابت مصرف اينترنت داخلي خود بپردازد و معمولا" در اين زمينه از سرويسهاي ADSL و يا Point to point و يا ماهواره اي استفاده مي شود.

 

اگر همچين شرکتي بداند که مي تواند با استفاده از چنين پهناي باندي سرويس ميزباني وب خود را راه اندازي نمايد مطمئنا" برايش بسيار مقرون به صرفه خواهد بود با توجه به مسايل مطرح شده در چند صفحه ي گذشته.

 

اما متاسفانه با نرم افزارها ي موجود در بازار اين امر امکان پذير نمي باشد. از طرف ديگر کار با نرم افزارهاي موجود در بازار نياز به دانش فني – نرم افزاري خاصي دارد – که شايد آموزش برخي از آنها نياز به ساعتها برنامه ريزي و کسب تجربه دارد.

 

از اينرو اينجانب مطالعاتي را انجام دادم تا بتوانم يک نرم افزار ويژه در اين زمينه سازم – اما – در اين حين اطلاعاتي را در اين زمينه به دست آوردم و ايده هايي به ذهنم رسيد که اينطور انديشيدم که نشر آنها مي تواند به ديگران در زمينه ي توليد نرم افزارهاي مشابه و حتي بهتر از آن کمک نمايد.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

شبکه چيست ؟

 

فرض را بر اين بگيريم که شما در منزل و يا محل کار خود دو دستگاه رايانه در اين اتاق داريد. مي خواهيد يک فايل حاوي يک متن را به کامپيوتر ديگر انتقال دهيد. چند راه وجود دارد ؟

 

 

و ...

 

تعجب نکنيم – تمامي راههاي فوق در اصل به يک منظور صورت مي پذيرد و آن انتقال اطلاعات است. شايد صورت انجام برخي با برخي ديگر متفاوت باشد اما در اصل همه يک کار را انجام مي دهند و از يک اصل پيروي مي کنند و آن همان اصل انتقال اطلاعات از نقطه اي به نقطه ي ديگر است.

 

بر اساس معيارهاي ذيل مي توان بين روشهاي بالا تفاوت قايل شد:

 

 

شايد دو مورد اول در اکثر مقالات و متون علمي – کامپيوتري به وفور اشاره شده باشند – اما مورد آخر – يعني زمان اطمينان از صحت اطلاعات موضوع اصلي بحث اين کتاب است که خود من تصميم گرفته ام آنرا به مباحث انتقال اطلاعات اضافه نمايم ، و اين بخش به صورت واضح در فصل مربوط به Pre-trustet-connection توضيح داده مي شود.

 

منظور از هزينه ي جا به جايي اطلاعات مقدار هزينه اي است که براي جابه جايي هر بيت از اطلاعات خود مي پردازيد. براي مثال در مورد اول – يعني عينا" تايپ همان مطلب در رايانه اي ديگر شما نياز به صرف وقت زياد و شايد استخدام تايپيست داريد. اگر يک تايپيست براي تايپ هر صفحه 200 تومان از شما دريافت نمايد و هزينه ي اياب ذهاب اين تايپيست نيز بر عهده ي شما باشد و اين هزينه در حدود 3000 تومان باشد –  و متن شما در کل داراي 1500 کلمه باشد – پس شما 3200 تومان بابت انتقال اين متن پرداخت نموده ايد.

 

در مورد دوم يعني استفاده از فلاپي ديسک در انتقال اطلاعات – به فرض اينکه دستگاه دوم در اتاق در کنار دستگاه اول باشد تنها هزينه ي خريد فلاپي مد نظر است که قيمتي بين 150 تا 300 تومان دارد.

 

در مورد سوم – يعني نوشتن اطلاعات بر روي CD  يا لوح فشرده – مانند استفاده از فلاپي تنها نياز به خريداري يک لوح فشرده و نوشتن اطلاعات بر روي آن است ( البته اگر از هزينه ي خريد Cd-Rom و Cd-Writer صرف نظر شود ). قيمت يک لوح فشرده هم اکنون در حدود 250 تومان است.

 

در تمامي موارد بالا يک نقص کلي در مورد هزينه وجود دارد. فلاپي ديسک امکان دارد خراب شود و نيازبه خريداري فلاپي جديد باشد – و اگر استفاده مفيد از يک فلاپي را 5 بار در نظر بگيريم – پس از هر 5 بار انتقال اطلاعات بايد به طور ميانگين مبلغي در حدود 200 تومان هزينه نماييد.

در مورد CD  قضيه کمي سخت تر است. زيرا CD  بجز انواع خاصي برگشت نا پذير است و تنها يک بار و در صورت بازگذاشتن انتهاي آن – تا تکميل شدن ظرفيت آن مي توانيد از آن استفاده نماييد. به طور کلي در مورد CD  در هر بار انتقال اطلاعات شما به طور ميانگين 200 تومان هزينه مي نماييد.

 

در مورد تايپ مطلب نيز همينطور است. يعني اين هزينه فقط يکبار و براي هز صفحه بايد صورت پذيرد.

 

استفاده از کابل پارالل مورد ديگري است که هزينه ي آن برابر با 1500 تومان است. اين هزينه فقط يکبار انجام مي پذيرد زيرا خود کامپيوتر شما مجهز به درگاه LPT مي باشد و دو سر کابل را به دو دستگاه متصل مي نماييد و سپس با استفاده از امکاناتي مانند Direct Connection در Ms-Windows 2000 و ... مي توانيد دو کامپيتور را به يکديگر متصل نماييد و اقدام به انتقال اطلاعات نماييد.

 

هزينه ي صرف شده ي شما به صورت جدول نزولي ذيل صرف مي شود :

 

رديف هزينه

نياز به خريد کابل جديد

مبلغ صرف شده در خريد

هزينه ي انتقال هر صفحه از متن با توجه به هزينه ي اوليه

درصد صرفه جويي

1

بله

1500 تومان

1500 تومان

0%

2

خير

0

0

100%

3

خير

0

0

100%

...

...

...

...

..

...

...

...

...

...

 

همانطور که مشاهده نموديد تنها هزينه اي که شما صرف مي کنيد – هزينه ي خريد کابل است و پس از آن ديگر اطلاعات شما به صورت رايگان انتقال مي يابند. مي توان گفت يکي از روشهاي واقعا" کار آمد در انتقال اطلاعات در محيطهاي کوچک مي باشد – که شرکتهايي مانند Microsoft با دانستن اين مطلب اين روش را در سيستم عاملهاي خود گنجانده اند.

 

روش ديگر استفاده از کابل LAN و سيستم شبکه ي LAN است ( LAN= Local Area Network )- سيستم شبکه ي محلي يا LAN به شما اين امکان را مي دهد که از طريق يک کابل شبکه بجاي اينکه مانند کابل پارالل تنها بتوانيد دو دستگاه کامپيوتر را به هم متصل نماييد – بتوانيد چندين دستگاه ( حد اقل 2 الي 8 دستگاه و به طور ميانگين 255 دستگاه و حد اکثر نامعلومي ) از دستگاهها را به هم متصل نماييد.

 

هزينه ي انتقال اطلاعات در اين سيستم نيز دقيقا" به مانند سيستم پارالل است و تنها هزينه ي اوليه ي آن کمي بيشتر است. براي مثال – شما بايد ابتدا دو دستگاه کامپيوتر خود را به کارت شبکه ي LAN مجهز نماييد، سپس مقداري کابل شبکه با قيمتي در حدود متري 80 تومان خريداري نماييد و سپس دو کامپيوتر را به هم متصل نماييد.

 

در اين سيستم شما اگر بيشتر از دو کامپيوتر را بخواهيد به هم متصل نماييد – تنها کافي است يک دستگاه HUB SWITCH خريداري نماييد که در اندازه هاي مختلفي مي باشند. اين دستگاه به مانند جعبه ي تقسيم برق عمل مي نمايد. استفاده از اين دستگاه نيز اصولي دارد که از حوصله ي اين کتاب خارج است. اما پيشنهاد مي کنم براي کسب اطلاعات بيشتر به کتاب FCC ( Fundamental concepts of computing از انتشارات NCC International ) و يا Networking Essentials  از انتشارات Microsoft مراجعه نماييد.

 

به مفهاهيم LAN در ادامه ي مطالب نياز داريد

 

سيستم بعدي اتصال دستگاه اول به شبکه اي مانند اينترنت است و سپس ارسال ايميل. اين سيستم همانطور که در بخشهاي بعدي توضيح داده خواهد شد  درواقع همان سيستم شبکه ي LAN است که به طور خاصي گسترده شده است و آنرا در مقياسي WAN و در مقياسي ديگر MAN مي نامند.

WAN  به معناي Wide Area Network ( محيط شبکه ي گسترده ) در مقابل LAN به معناي Local Area Network ( محيط شبکه ي محلي ) و در راستاي MAN به معناي Main Area Network ( محيط شبکه ي اصلي ).

 

در واقع WAN تشکيل شده از چندين LAN و MAN تشکيل شده از چندين WAN است.

 

اما اين سيستم براي شما هزينه بردارد است – يعني اتصال به شبکه و ارسال ايميل به چند دليل که قبل از توضيح آن مي بايستي اصول کار اين سيستم توضيح داده شود :

 

براي اتصال به شبکه اي مانند اينترنت بايد مراحل ذيل طي شود :

 

 

هر يک از مراحل بالا در صورت وجود – کم و زياد – مي توانند داراي هزينه باشند و يا نباشند – و به صورت ميانگين در حال حاضر هر ساعت استفاده ي شما از شبکه اينترنت که در بخش بعدي ساختمان آن شرح داده خواهد شد هزينه اي در حدود 150 تومان براي شما در بر خواهد داشت علاوه بر هزينه ي تماس تلفني که اخيرا" سيستمهاي زيادي جايگزين ارتباط Dial-up  شده اند مانند ADSL و WLAN و WiFi و ... .

 

استفاده از مورد آخر – يعني ارسال و دريافت ايميل و روشهاي تحت شبکه اي مانند روشهاي اينترنتي مانند WEB وFTP و E-mail و .... در موارد زيادي کاربرد دارند و در برخي موارد با عنايت به روشهاي اقتصادي بسيار مقرون به صرفه تر هستند. براي مثال – اگر شما درک صحيحي از شبکه ي اينترنت و ساختمان آن داشته باشيد به راحتي مي توانيد حدس بزنيد که ارسال همان يک صفحه فايل تايپ شده از شهر تکزاس ايالات متحد به شهر مسکو چقدر ارزان تر از حتي ارتباط تلفني ساده بين دوشهر مي باشد.

 

بر همين اساس است که امروزه سيستمهاي تلفن – اينترنتي نيز راه اندازي شده اند که توضيح اصول آن از حوصله ي اين کتاب خارج است.

 

پس از بررسي هزينه ي جا به جايي اطلاعات نوبت به سرعت جا به جايي اطلاعات مي رسد. در مورد اول يعني تايپ اطلاعات – مطمئنا" شما هم با من هم عقيده هستيد که زمان زيادي مي برد. اين زمان را 5 دقيقه در نظر بگيريم ( توجه داشته باشيد که فعلا" دو دستگاه در کنار يکديگر هستند ).

 

حال اگر بخواهيم اطلاعات را از طريق يک فلاپي ديسک 1.44 مگابايتي انتقال دهيم مي بايستي حد اقل 30 ثانيه زمان براي نوشتن اطلاعات بر روي فلاپي صرف کنيم و سپس 10 ثانيه انتقال آن به دستگاه ديگر و سپس در نهايت مجددا" حد اقل 30 ثانيه جهت بارگذاري اطلاعات.

در نهايت مي توان اين نتيجه را گرفت که انتقال 1.44 مگابايت اطلاعات از يک کامپيوتر به کامپيوتر ديگر از طريق فلاپي در حدود 2 دقيقه زمان نياز دارد. در مقايسه با تايپ اطلاعات رقم خيلي خوبي است.

 

در صورت استفاده از CD اگر زمان نوشتن يک صفحه متن بر روي آن 1 دقيقه به طول انجامد و زمان انتقال آن نيز در نهايت 1 دقيقه به انضمام خواندن آن – بازهم زمان قابل توجهي است. چون بر روي CD بر خلاف فلاپي تا 650 مگابايت اطلاعات يعني تقريبا" 450 برابر فلاپي ديسک را مي توان در نهايت 5 دقيقه انتقال داد.

 

در صورت استفاده از کابل پارالل مي توان 30 کيلوبايت را در هر ثانيه انتقال داد – در واقع 9 مگابايت در 5 دقيقه. به نسبت فلاپي رقم خوبي است – اما به نسبت CD واقعا" پايين است – اما هزينه اش صفر است !

 

در صورت استفاده از LAN تا رقمي در حدود 1 مگابايت در ثانيه خواهيم داشت. يعني 300 مگابايت در 5 دقيقه . البته نوعي از اين سيستم نيز در بازار موجود است که سرعت آن تا 10 مگابايت در ثانيه نيز مي رسد . يعني 3 گيگابايت در 5 دقيقه. به نظر مي رسد رقيب جدي براي CD محسوب مي شود با توجه به اينکه هزينه ي آن نيز صفر است.

 

در مورد استفاده از ارتباط شبکه اي – سرعت انتقال اطلاعات در آن تقريبا" برابر 4 کيلوبايت در ثانيه. يعني در 5 دقيقه 1.2 مگابايت. تقريبا" برابر با فلاپي ؟ کمي کمتر ! اما در مسافتهاي زياد و هزينه ي کم آن جبران مي شود.

 

به طور کلي مي توان رابطه ي هزينه و سرعت  انتقال اطلاعات را به اين صورت بيان کرد که هرچه اطلاعات بيشتري را بخواهيم انتقال دهيم هزينه اين انتقال بيشتر شده و مدت زمان نيز به طبع آن افزايش مي يابد و هرچه مقدار کمتري از اطلاعات را بخواهيم انتقال دهيم هزينه آن انتقال کاهش يافته و مدت زمان آن نيز کاهش.

 

براي مثال – اگر بخواهيم مقدار 600 مگابايت را از طريق کابل پارالل انتقال دهيد در حدود 5 ساعت زمان نياز داريم و اين در حالي است که اين انتقال از طريق يک خط Dial-up اينترنتي در حدود 41 ساعت زمان نياز دارد.

 

حال – همين انتقال 600 مگابايتي از طريق يک خط LAN پيشرفته به حدود 10 دقيقه زمان نياز دارد و اگر يک تايپيست بخواهد آنرا تايپ نمايد اگر فرض کنيم هر 10.000 کلمه برابرا با يک مگابايت است و 6 ميليارد کلمه برابر است با 600 مگابايت و در هر صفحه 1000 کلمه به طور ميانگين داشته باشيم در حدود 6 ميليون صفحه بايد تايپ شود و اگر يک کتاب به طور ميانگين 250 صفحه داشته باشد – حدود 24 هزار کتاب را بايد تايپ نمايد. محاسبه ي زمان و هزينه با شما.

 

در خصوص انتقال 600 مگابايت اطلاعات از طريق فلاپي – بايد به اين نکته توجه داشت که از يک فلاپي به طور ميانگين مي توان 5 تا 10 بار استفاده کرد و شما براي انتقال اطلاعات 600 مگابايتي بايد آن اطلاعات را به قطعات 1.44 مگابايتي تقسيم نماييد و از طريق فلاپي انتقال دهيد و سپس اطلاعات را در دستگاه مبدا به يکديگر پيوند دهيد !

 

مورد بعدي زمان حصول اطمينان از صحت اطلاعات است.

منظور از زمان حصول اطمينان از صحت اطلاعات مدت زماني است که به طول مي انجام تا شما اطمينان حاصل نماييد که اطلاعاتي که از روي دستگاه اول به دستگاه دوم منتقل شده است با اطلاعات موجود بر روي دستگاه اول يکي هستند.

 

در مورد اول – در هنگام تايپ کردن – مطمئنا" زمان زيادي لازم است تا اطلاعات تايپ شده بررسي شوند – که تقريبا" زماني در حدود زمان تايپ نياز دارد تا اطلاعات بررسي شوند.

 

در خصوص مورد دوم – يعني انتقال اطلاعات  از طريق فلاپي – پس از هر انتقال بررسي حجم فايل انتقال يافته در نهايت کفايت مي کند که زمان کمي مي برد.

 

در خصوص مورد سوم ( انتقال از طريق CD  ) نيز به مانند فلاپي تنها بررسي حجم فايل کفايت مي کند.

 

نتيجه اي که مي توان گرفت آن است که بررسي حجم داده ي انتقال يافته در هر مرحله مي تواند ما را از نتيجه مطمئن سازد و اين حجم بستگي مستقيم به حجم انتقال داده ي ما دارد. براي مثال براي يک فلاپي از 1 بايت تا 1.44 مگابايت و براي يک CD از 1 بايت تا 650 مگابايت و براي تايپ از يک حرف تا يک کلمه !

 

در خصوص مورد کابل پارالل نيز به همين صورت است. در هر ثانيه مي توان 30 کيلوبايت را انتقال داد – پس حجم داده در هر ثانيه مي تواند بين 1 بايت تا 30 کيلوبايت باشد. ( حد اقل را بايت در نظر گرفته ايم تا بلوک داده مان کامل باشد ) و همين نسبت در خصوص ديگر وسايل ارتباطي صدق مي کند.

 

توجه کنيد که در اينجا ما يک پروتکل را بررسي نمي کنيم. بلکه مواردي را بررسي مي کنيم که درمحاسبه ي      سرعت انتقال اطلاعات ما را ياري مي نمايند.

 

با توجه به موارد مطرح شده – در مي يابيم که زمان حصول اطمينان از صحت انتقال اطلاعات نيز بخش مهمي است که بايد به زمان کل انتقال اطلاعات اضافه شود. اين بخش در فصل مربوط به Pre-trusted-connection به طور مفصل بررسي خواهد شد.

 

 

 

 

 

 

 

 

 

 

 

 

 

اينترنت چيست ؟

 

اينترنت جز يک شبکه ي غير يکپارچه ي بزرگ شامل چندين شبکه ي کوچک و بزرگ نمي باشد. درواقع اينترنت يک شبکه ي جهاني است. شايد بتوان آنرا به International Network معني کرد.

 

فرض کنيد شما در منزلتان داراي دو دستگاه کامپيوتر هستيد. به هر کامپيوتر شما يک شناسه مي دهيد مانند 1 و2 و3 ويا A  و B و C و يا تلفيقي از اينها که من شناسه گذاري عددي را ترجيح مي دهم.  در دفتر کار خود نيز 5 دستگاه کامپيوتر داريد که يکي از آنها به دستگاه چاپگر مجهز است. هم در منزل و هم در محل کار خود مجهز به خط تلفن هستيد و يکي از کامپيوتر هاي موجود در دفتر کار شما مجهز به دستگاه مودم و يکي از کامپيوترهاي منزل شما نيز مجهز به مودم هستند. در محل دفتر کار خود – کامپيوتر ها را به وسيله ي سيستم LAN به يکديگر متصل نموده ايد. اين بدان معني است که هرگاه بخواهيد مطلبي را براي مثال چاپ نماييد – کافي است روي هر کدام از کامپيوترها که آن مطلب را داريد از طريق شبکه ي LAN به کامپيوتري که چاپگر بدان متصل است ارسال نماييد و سپس از آن طريق آنرا چاپ نماييد.

 

حال فرض را بر اين بگذاريد که مطلبي را در خانه تايپ نموده ايد و مي خواهيد چاپ نماييد – کافي است از طريق خط تلفن به کامپيوتر دفتر خود متصل شويد و سپس فايل را به آن کامپيوتر موجود در دفتر خود از طريق شبکه ي LAN انتقال دهيد و سپس دستور چاپ دهيد.

 

فرض ديگر آن است که شما در دفتر کار خود نياز به فايلي داريد که بر روي کامپيوتر دوم در منزلتان است که مودم نيز ندارد. کافي از يکي از کامپيوتر هاي دفتر خود را از طريق مودم و خط تلفن به آن کامپيوتر که در منزلتان داراي مودم است متصل نماييد و مي دانيد که آن کامپيوتر نيز از طريق کابل پارالل به کامپيوتر دوم متصل است که فايل مورد نظر شما بر روي آن است اما مودم ندارد. سپس با وارد نمودن شماره ي آن کامپيوتر از هر کدام از کامپيوترهاي دفترتان مي توانيد به آن کامپيوتر در منزلتان دسترسي داشته باشيد و فايل مورد نظر را به دفتر کارتان انتقال دهيد.

 

حال فرض کنيد که شما داراي 5 دفتر بزرگ در تهران هستيد. هر دفتر شما داراي حد اقل 10 کامپيوتر است و کارهاي حسابداري هر دفتر بر روي يکي از 10 کامپيوتر موجود در هر دفتر انجام مي شود. شما در هر دفتر هر 10 کامپيوتر را از طريق سيستم LAN به هم متصل نموده ايد. يکي از کامپيوترهاي هر دفتر را نيز از طريق خط تلفن به يکي از کامپيوتر هاي ديگر در دفتر ديگر متصل نموده ايد. در اينصورت شما يک شبکه ي بزرگ داريد که شامل 50 کامپيوتر متصل به هم است.

 

در يک لحظه شما مي توانيد به هر کدام از کامپيوترها که مد نظرتان است – منجمله کامپيوترهاي حسابداري دسترسي داشته باشيد.

 

حال شما 5 دفتر در تهران داريد که هر دفتر 10 کامپيوتر دارد و يک دفتر در شيراز داريد که 10 کامپيوتر نيز آنجا داريد و يک دفتر نيز در مشهد که 20 کامپيوتر نيز در آنجا داريد. هم دفتر شيراز و هم دفتر مشهد مجهز به سيستم LAN هستند.  شما 5 دفتر تهران خود را از طريق خط تلفن قبلا" به هم متصل نموده ايد و يک شبکه ي 50 کامپيوتري تشکيل داده ايد و حالا اگر يکي از اين 50 کامپيوتر را از طريق خط تلفني ديگر به يکي از کامپيوتر هاي دفتر شيراز متصل نماييد 10 کامپيوتر دفتر شيراز نيز به شبکه ي 50 کامپيوتري شما متصل مي شود و اگر فقط يکي از کامپيوترهاي دفاتر تهران يا يکي از کامپيوترهاي دفتر شيراز را به يکي از 20 کامپيوتر دفتر مشهد متصل نماييد – شما 20 کامپيوتر ديگر به شبکه ي تهران و شيراز اضافه نموده ايد و مجموعا" يک شبکه داريد به وسعت تقريبا" کشور ايران که شامل 80 کامپيوتر است. حال اگر فقط مديران اين دفاتر شبها از منزل خود بخواهند از طريق خط تلفني ديگر به دفاتر خود متصل شوند – به ازاي هر تماس 1 دستگاه کامپيوتر ديگر به شبکه ي شما اضافه خواهد شد.

 

اگر شما دفتر ديگري در لندن داشته باشيد و آن دفتر 5 يا 10 يا حتي 1 يا 3 يا 100 کامپيوتر داشته باشد فقط با برقراري يک تماس تلفني بين يکي از 80 کامپيوتر خود بايکي از کامپيوترهاي دفتر لندن آنرا نيز به شبکه ي خود اضافه نموده ايد.

 

در نظر داشته باشيد که به جاي ارتباط تلفني مي توان از ارتباطهايي مانند XDSL و يا ماهواره اي و يا حتي فيبر نوري نيز استفاده نمود.

 

اينترنت نيز همين است. در هر شهري يک ISP يا Internet Service Provider وجود دارد که وظيفه ي اتصال کامپيوتر و يا کامپيوتر هاي شما را به شبکه ي اينترنت دارد. در برخي از کشورها محيطهايي با نام IDC يا مرکز نگهداري اطلاعات اينترنتي وجود دارد. و يا شرکت و يا شخصي که از طريق ISP به اين شبکه متصل شده است و يا يک خط اينترنتي به صورت مستقيم وظيفه ي اتصال وي را به شبکه بر عهده دارد.

 

به محض اينکه شما از طريق ISP به اين شبکه متصل مي شود – دستگاه کامپيوتر شما به صورت خودکار يک شناسه ي مجازي يا حقيقي (Valid and Invalid IP address) را به خود اختصاص مي دهد. از اين به بعد شما نيز جزئي از شبکه ي اينترنت هستيد و شبکه به اندازه ي يک دستگاه کامپيوتر بزرگتر شده است.

 

لطفا" توجه فرماييد که بحثهاي مربوط به Topology شبکه و پيکربندي آن و Gateway و ... از حوصله ي اين کتاب خارج است.

 

از آنجا که در اينترنت شما مي توانيد از هر کامپيوتر به کامپيوتر ديگر راه يابيد و اين مسئله براي ديگران نيز صدق مي کند و معمولا" شرکتهاي تجاري و داشنگاهها بجاي اينکه شبکه ي دفاتر مختلف خود را از طريق خط تلفن به هم متصل نمايند ( به دليل هزينه ي زياد ) از طريق شبکه ي اينترنت به هم متصل مي کنند – و معمولا" اطلاعات مالي و تجاري و علمي خود را از طريق شبکه هاي خود جا به جا مي نمايند – از اينرو مسئله اي به نام امنيت شبکه و سطح دسترسي مطرح شده است.

 

بنا بر اين شما هر کاربردي را که بتوانيد بين دو کامپيوتر که از طريق LAN و يا پارالل به هم متصل شده اند پياده سازي نماييد – آنرا نيز مي توانيد در اينترنت پياده سازي نماييد.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

پروتکل چيست ؟

 

معناي فارسي پروتکل همان عهدنامه است. ما براي چه عهدنامه منعقد مي کنيم ؟ براي آنکه نوع روابط و ارتباطمان را قانون مند نماييم. اين قانون براي چه است ؟

 

 

و ...

 

در ارتباطي که بين دو کامپيوتر برقرار شده است مي بايستي عهدنامه اي منعقد گردد تا :

 

 

و ...

 

پروتکل فقط مختص ارتباطات کامپيوتري نمي شود. ما انسانها نيز جهت برقراري ارتباط با يکديگر از مفهوم عهدنامه ي ارتباطي استفاده مي کنيم. براي مثال – براي برقراري ارتباط با شخصي معمولا" از واژه ي " سلام" استفاده مي کنيم. پس ما بلافاصله با شنيدن واژه ي سلام مي توانيم به شخص جواب دهيم "عليک سلام" و اين يعني يک عهدنامه ي اجتماعي – انساني جهت برقراري تماس.

 

در سيستمهاي کامپيوتري نيز وضع به همين صورت است. اگر دو کامپيوتر بخواهند با يکديگر تماس بر قرار نمايند کافي است يکي از دو کامپيوتر که قصد دارد با ديگري تماس بر قرار نمايد متن يا علامت يا حتي بيتي را به عنوان "سلام" ارسال نمايد. براي مثال کامپيوتر الف   واژه ي HELLO را به کامپيوتر ب ارسال مي کند. و کامپيوتر ب جهت آنکه به کامپيوتر الف اطمينان بخشد که پيام او را دريافت کرده است و ارتباط بر قرار شده است واژه ي WELCOME را براي او مي فرستد. بدين ترتيب کامپيوتر الف مطمئن مي شود که ارتباطش با کامپيوتر ب برقرار شده است. براي پايان تماس نيز کافي است کامپيوتر الف واژه ي GOOD BYE را ارسال نمايد و کامپيوتر ب  متوجه مي شود که ارتباط از جانب کامپيوتر الف قطع شده است. حال بنا به شرايط مي تواند پيامي مبني بر تاييد قطع ارتباط ارسال نمايد و يا صرفا" ارتباط قطع شده است.

 

آنچه توضيح داده شد – اساس ساده ي يک پروتکل ارتباطي است. انواع مختلفي از پروتکلهاي ارتباطي وجود دارند. براي مثال – پروتکلهاي امن – سريع – قابل اعتماد و غير قابل اعتماد وجود دارند. براي آنکه با اين مفاهيم بيشتر آشنا شويم ابتدا بايد اصول جا به جايي فايل را از طريق يک پروتکل بررسي نماييم.

 

فرض نماييد که مي خواهيد يک فايل TXT با محتوي WELCOME TO MHDSOFT را از طريق يک پروتکل انتقال دهيد.

 

راهبرد اول : انتقال از طريق يک پروتکل سريع:

 

 

 

 

وظايفي که بر عهده ي پروتکل انتقال سريع مي باشد شامل :

 

 

 

بر اساس وظايفي که بر عهده ي يک پروتکل انتقال سريع مي باشد – مي توان يک الگوريتم ساده به صورت ذيل آماده نمود – اما قبل از آن بايد بدانيم که يک پروتکل در هر شرايطي که باشد داراي دو وضعيت است :

 

 

و براي يک پروتکل مي تواند شرايط ذيل به وجود آيد :

 

 

در پروتکل انتقال سريع ما بايد هر دو وضعيت عمومي پروتکلها را بسازيم ( يعني ارسال و دريافت ) و از آنجا که بايد وظايف خاص آنرا در نظر بگيريم بنا بر اين پروتکل ما مي تواند در شرايط ارسال و دريافت و قطع ارتباط و وصل ارتباط و انتظار قرار گيرد.

 

شماي کلي پروتکل ارسال سريع بدين صورت است که کامپيوتر الف بايد پورت ارتباطي را باز نمايد ( براي مثال – کابل پارالل ) وسپس خود را به عنوان فرستنده معرفي نمايد. در کامپيوتر ب سيستم در حالت انتظار است و به محض دريافت کد برقراري تماس خود را در وضعيت دريافت پيام قرار مي دهد – چون کامپيوتري که ارتباط را برقرار نموده است فرستنده مي باشد.

 

سپس کامپيوتر الف – مي گويد که مي خواهد فايلي با نام xxxxxx.txt را ارسال نمايد. کامپيوتر ب فقط بايد تاييد کند که اين نام را دريافت کرده است و نيازي ندارد که نام فايل را مجددا" براي کامپيوتر الف ارسال نمايد ( چون پروتکل سريع است نه قابل اعتماد ).

 

سپس کامپيوتر الف بر اساس حجم تعريف شده بر اساس پهناي باند ارتباطي آن مقدار اطلاعات را ارسال مي نمايد. براي مثال – حجم ارتباطي پهناي باند Dial-up در حدود 4 کيلوبايت معرفي مي شود و براي پارالل 30 کيلوبايت در ثانيه. پس کامپيوتر الف بايد آزمايش کند که آيا حجم داده ي xxxxxx.txt بيشتر از 4 يا 30 کيلوبايت است و يا کمتر.

 

براي مثال – حجم تعريف شده 1 بايت در ثانيه است. کمترين سرعت ممکن در ارتباطات کامپيوتري.  جمله ي مورد نظر ما 18 بايت است (WELCOME TO MHDSOFT ) بنا بر اين حجم داده ي ما بيشتر از ظرفيت انتقال اطلاعات است – پس برنامه ي موجود در کامپيوتر الف بايد يک کل اطلاعات را به قطعات يک بايتي تقسيم نمايد.

در اينصورت اطلاعات موجود در فايل به 18 قطعه ي يک بايتي تقسيم مي شود.

سپس برنامه ي کامپيوتر الف بايد اعلام نمايد که 18 بايت اطلاعات را مي خواهد انتقال دهد و پس از دريافت پيام تاييد از کامپيوتر ب بايد اطلاعات را به صورت بايت به بايت ارسال نمايد و پس از اتمام ارسال اطلاعات بايد اعلام نمايد که اطلاعات را تماما" ارسال کرده است.

 

کامپيوتر ب نيز بايد مجموع اطلاعات را حساب کند و اگر برابر با 18 بايت باشد بايد پيغام تاييد دهد و اگر کمتر يا بيشتر بايد پيغام خطا دهد. در صورت دريافت پيغام خطا توسط کامپيوتر الف – انتقال مجددا" از ابتدا شروع مي شود در غير اينصورت ارتباط پايان مي يابد.

 

اشکالات اين نوع پروتکل عبارتند از :

 

مزاياي اين رشو عبارتند از :

 

 

و اما شبه الگوريتم اين روش :

در کامپيوتر الف :

 

  1. نام فايل را بگير
  2. فايل را باز کن – حجمش را بگير
  3. ميزان پهناي باند را بگير
  4. آيا ميزان پهناي باند بيشتر از حجم فايل است ؟ اگر بله به گام 13 برو
  5. فايل را به قطعات متناسب با پهناي باند تقسيم کن
  6. ارتباط را بر قرار کن
  7. آيا ارتباط بر قرار است ؟ اگر خير به گام 6 برو
  8. نام فايل را ارسال کن
  9. آيا تاييد شد توسط کامپيوتر ب ؟ در صورت خير به گام 8 برو
  10. حجم فايل را ارسال کن
  11. آيا تاييد شد توسط کامپيوتر ب ؟ در صورت خير به گام 10 برو
  12. گام 13 را به تعداد بدست آمده در گام 5 اجرا کن
  13. به اندازه ي پهناي باند – بايت از فايل ر ارسال کن
  14. پايان ارسال را اعلام کن
  15. آيا پيام ارسال شده از کامپيوتر ب حاوي عدد ميزان حجم است اگر بله به گام 16 برو و اگر خير به گام 14 برو
  16. آيا حجم ارسال شده توسط کامپيوتر ب با حجم فايل ارسال يکي است ؟ اگر خير به گام 5 برو
  17. پايان ارتباط – ارتباط را قطع کن

 

شبه الگوريتم موجود در کامپيوتر ب :

 

  1. پورت را باز کن
  2. آيا پيامي در پورت دريافت شده است ؟ اگر خير به 1 برو
  3. برقراري ارتباط را اعلام کن
  4. آيا نام فايل را دريافت کرده اي ؟ اگر خير به گام 3 برو
  5.  نام فايل را دريافت کن
  6. آيا نام فايل را دريافت کرده اي ؟ اگر خير به گام 5 برو
  7. دريافت نام فايل را تاييد کن
  8. حجم فايل را دريافت کن
  9. آيا حجم فايل دريافت شده است ؟ اگر خير به گام 8 برو
  10. دريافت حجم فايل را تاييد کن
  11. آيا اطلاعاتي ارسال شده است ؟ اگر بله آنرا در متغير A بريز
  12. آيا پايان انتقال اعلام شده است ؟ اگر خير به گام 11 برو
  13. ميزان حجم اطلاعات دريافتي در متغير A را بشمار و به کامپيوتر الف ارسال کن
  14.  آيا پايان ارتباط اعلام شده است ؟ اگر خير به گام 1 برو
  15. محتويات را در فايلي که نام آن قبلا" اعلام شده بريز
  16. به گام 1 برو

 

همانطور که مشاهده مي کنيد اساس کار يک پروتکل سريع خيلي ساده است، و مي توان اين پروتکل را چرخ ابتدايي پروتکلهاي پيشرفته دانست. درواقع يک سکوي ساده براي ديگر پروتکلها.

 

براي مثال – براي اينکه بتوانيد پروتکل سريع را به پروتکل قابل اعتماد تبديل کنيد فقط کافي است هر بار هر بايتي که دريافت مي کنيد آنرا عينا" براي کامپيوتر ارسال کننده ارسال نماييد تا کامپيوتر ارسال کننده مطمئن شود که آنچه که ارسال نموده است به درستي به دست شما رسيده است.

 

اما يک رابطه ي جالب بين سرعت و پروتکل وجود دارد. هرچه پروتکل قابل اعتماد تر باشد سرعت پايين تر مي رود و براي افزايش سرعت با پروتکل قابل اعتماد نياز به صرف هزينه ي بيشتر است. براي مثال استفاده از فن آوري پيشرفته.

 

براي تبديل يک پروتکل سريع به يک پروتکل امن مي توان اطلاعات را هنگام ارسال رمز کرد. براي مثال بجاي ارسال حروف و کلمات ASCII آنها را به کد ASCII تبديل کرد و ارسال نمود. براي مثال کد 13 براي مشخص کردن Enter يا EOL . و ايده ي بهتر آن است که اين عدد را درعددي هنگام ارسال ضرب نماييد و هنگام دريافت تقسيم نماييد. بدين صورت ديگر اطلاعات شما قابل شنود نمي باشد. و اگر شيوه ي امن را نيز بدان اضافه نماييد واقعا" پروتکل امني مي شود.

 

همانطور که در چند پاراگراف گذشته نيز اشاره شد – اصول کار پروتکل سريع درواقع پايه و اساس پروتکلهاي ديگر است.

 

يک پروتکل را شما به گونه اي مي توانيد سر و سامان دهيد که بتواند چندين ارتباط را به صورت هزمان پشتيباني نمايد. اين بدان معني است که اگر بجاي يک کامپيوتر الف – ما دو کامپيوتر الف داشته باشيم اين پروتکل مي تواند به گونه اي برنامه ريزي شود که از هر دو کامپيوتر فايل را دريافت نمايد. حتي اگر دو کامپيوتر الف به يکصد و يا هزار کامپيوتر الف تبديل شود.

 

ايده ي اين طرح بسيار ساده ولي کار آمد است و اساس کار اکثر پروتکلهاي اينترنتي نيز بدين صورت است. براي مثال از يک وب سايت ممکن است بيش از يک نفر در حال بازديد باشد و اين را در نظر بگيريد که وقتي شما در حال مشاهده ي يک وب سايت هستيد درواقع در حال دانلود يک فايل از آن وب سايت هستيد و اين مرور گر اينترنت شما است ( منظور از مرور گر – همان نرم افزاري است که به شما اين امکان را مي دهد که صفحات وب را مشاهده نماييد مانند نرم افزار FireFox و يا Microsoft Internet Explorer (MS-IE )) که محتوي صفحه را به شما نشان مي دهد.

 

البته همانطور که متوجه شديد – در وب پروتکل ارسال اطلاعات مانند پروتکل کامپيوتر الف است که اصطلاحا" ميزبان نام دارد و کامپيوترهايي که فايل را دريافت مي کنند مانند کامپيوتر ب هستند که اصطلاحا" به آنها لفظ مشتري اطلاق مي شود.

 

براي مثال – اگر قرار باشد پروتکل ب بتواند تعداد نا محدودي فايل را از تعداد نا محدودي کامپيوتر مانند الف دريافت نمايد کافي است الگوريتم آن به شکل ذيل تغيير يابد:

 

ابتدا کامپيوتر الف به کامپيوتر ب يک پيام ارسال مي کند مبني بر برقراري اتصال و از آن مي خواهد که يک کد شناسايي در اختيار وي قرار دهد. کامپيوتر ب داراي يک متغير به نام ID است – به ID يک واحد اضافه مي کند و آنرا براي کامپيوتر الف مي فرستند. پس اگر مقدار ID برابر با 1 باشد – از اين پس نام کامپيوتر الف ، 1 است و نه الف. بلافاصله در کامپيوتر ب يک خانه آرايه به نام TEMP(1) که شامل تعدادي بلوک است ايجاد مي شود و اين خانه آرايه مخصوص اطلاعاتي مي شود که کامپيوتر 1 مي خواهد ارسال کند.

 

همزمان با کامپيوتر الف – که الان نام مجازي آن 1 است – کامپيوتر ج اقدام به برقراري ارتباط مي نمايد. در اين زمان کامپيوتر ب مجددا" يک واحد به ID مي افزايد و مقدار ID از 1  به 2 افزايش پيدا مي کند. اين کد را براي کامپيوتر ج ارسال مي نمايد و کامپيوتر ج از الان مي داند که نامش 2 است و نه ج. مانند قبل يک خانه آرايه با نام TEMP اما با انديس 2  به نام TEMP(2) ساخته مي شود که شامل تعدادي بلوک و مخصوص اطلاعاتي است که کامپيوتر 2 مي خواهد ارسال نمايد.

 

در اين هنگام کامپيوتر 1  اطلاعات نام و حجم فايل را در قالبي مانند ذيل ارسال مي نمايد :

1-18-test.txt

عدد 1 اول متن به اين معني است که اين اطلاعات از کامپيوتر شماره 1 يا همان الف ارسال شده است. عدد 18 به اين معني است که حجم اطلاعاتي که مي خواهم بفرستم برابر با 18 بايت است و در آخر هم نام فايل. اين اطلاعات در آرايه ي TEMP(1) درج مي شوند و سپس وقتي که کامپيوتر الف يا همان 1 بخواهد اطلاعات بايت بايت را ارسال نمايد کافي است در ابتداي اطلاعات شماره ي خود را درج نمايد. براي مثال متن فايل ما که WELCOME TO MHDSOFT بود به صورت ذيل ارسال خواهد شد :

 

1)W

1)E

1)L

1)C

1)O

1)M

1)E

1)

1)T

1)O

1)

در اين هنگام کامپيوتر 2 نيز مي تواند به صورت همزمان اطلاعات خود را ارسال نمايد. تنها تفاوتي که دارد اين است ه در ابتداي اطلاعات بجاي عدد 1 عدد 2 قرار مي گيرد. حتي اگر آنچه ارسال مي شود يکي باشد. براي مثال اگر کامپيوتر 2 قرار باشد که متن MHDSOFT WEB SERVER را ارسال نمايد کافي است با شناسه ي 2 آنهارا ارسال نمايد و اگر اين ارسالها همزمان شوند به صورت ذيل در خواهند آمد :

 

1)W

2)M

1)E

2)H

1)L

2)D

1)C

2)S

1)O

2)O

1)M

2)F

1)E

2)T

1)

2)

1)T

2)W

1)O

2)E

1)

2)B

1)M

2)

1)H

2)S

1)D

2)E

1)S

2)R

1)O

2)V

1)F

2)E

1)T

2)R

 

 

 

 

البته آنچه در اينجا بررسي نشد ظرفيت پهناي باند است. اين بدان معني است که از يک سيم در آن واحد چه مقدار اطلاعات مي تواند عبور کند و آيا واقعا" دو کامپيوتر به صورت همزمان مي توانند اطلاعات خود را ارسال نمايند؟

جواب اين سوال بله است – دو کامپيوتر مي توانند به صورت همزمان اطلاعات ارسال نمايند اما مشکلي به نام برخورد اطلاعات به وجود مي آيد و احتمالا" اطلاعات نا معلومي به ميزبان خواهد رسيد. از اينرو در شبکه بندي کامپيوتري از نرم افزار مديريتي يا پروتکل مرجع استفاده مي شود که وظيفه ي آن نوبت دهي به کامپيوتر ها است.

 

ايده ي اوليه اين سيستم به اين شکل بوده است که در يک شبکه که تعداد زيادي کامپيوتر به يکديگر متصل هستند پروتکل مرجع و يا خود پروتکل ب بداند که چه تعداد کامپيوتر در شبکه فعال هستند. به ترتيب براي هر يک يک پيغام ارسال کند که آيا پيامي براي من داري ؟ اگر جواب آري باشد پيام به پروتکل ب مي رسد و اگر خير پروتکل ب از دستگاه بعدي سوال مي کند.

 

اين کار باعث مي شود :

 

 

اگر زمان ارسال سوال و دريافت پاسخ در يک شرايط برابر با يک ثانيه باشد و تعداد شصت کامپيوتر در يک شبکه حضور داشته باشند و پهناي باند 1 بايت باشد در اينصورت فقط انتقال يک بايت اطلاعات از هر يک از کامپيوترها برابر خواهد بود با 1 دقيقه. و همان 18 بايتي ما در حدود 18 دقيقه زمان خواهد برد تا انتقال يابد – اگر مشکلي به وجود نيايد !

 

راه حلهاي متعددي براي افزايش سرعت و در نتيجه کاهش زمان در چنين شبکه اي وجود دارد – يک راه افزايش پهناي باند است. يعني براي مثال استفاده از پارالل يا LAN و ...

 

اما بازهم در شرايطي با افزايش تعداد کامپيوترها در شبکه – سرعت شبکه کاهش خواهد يافت. راه حل ديگر بهينه سازي پروتکل است و تقسيم بندي هوشمند. يعني سيستم پروتکل شما سوال خود را به کامپيوترهايي بفرستند که بيشترين درخواست را اخيرا" داشته اند و با الگوريتم خاصي سوال خود را به کامپيوترهاي خاموش بفرستد.

 

راه حل ديگر استفاده از سيستم چند کاناله است. در اين سيستم دو زوج سيستم از هر کامپيوتر به ميزبان ب متصل شده اند. يک زوج پهنايي باندي در حدود 1 بايت برقرار مي کنند ( براي مثال ) و زوج ديگر 30 کيلوبايت در ثانيه. سيستم ميزبان ب ( پروتکل ب ) سوالهاي خود را از طريق زوج با پهناي باند کم مي فرستد ( کانال 1 ) و اگر سيستمي درخواست ارسال و يا دريافت فايل داشته باشد در اينصورت يک نوبت از ميزبان ب مي گيرد و به محض آنکه نوبت وي شد – اطلاعاتش را از طريق زوج با پهناي باند زياد ارسال مي کند.

 

اما به هر حال چه اين ايده و چه ايده هاي ديگر بازهم با افزايش تعداد کامپيوترها در شبکه با مشکل کندي سرعت مواجه خواهند شد.

 

در اين صورت شما مي توانيد از سيستم پروتکل ايستگاهي استفاده نماييد.

همانطور که از نام اين پروتکل بر مي آيد – شما در اين روش داراي ايستگاههايي هستيد – به اين مظمون که هر براي مثال 5 کامپيوتر شما داراي يک ميزبان هستند – براي مثال کامپيوتر 1 تا 4 همه به ميزبان 5 متصل هستند و به اين مجموعه يک ايستگاه مي گوييم. حال شما در شرکت خود داراي 4 ايستگاه هستيد و هر ايستگاه شامل 5 کامپيوتر است. در اين صورت 20 کامپيوتر در شرکت خود داريد. اگر با يک شبکه ي معمولي بخواهيد اينها را به هم متصل نماييد در واقع يک شبکه با 20 کامپيوتر خواهيد داشت که بين اولين کامپيوتر و آخرين کامپيوتر 20 ثانيه اختلاف زماني است و انتقال براي مثال 18 بايت در پهناي باند 1 بايت برابر خواهد بود 18*20 =360 ثانيه برابر با 6 دقيقه ! اصلا" عدد جالبي نمي باشد.

حال در نظر بگيريد که هر 5 کامپيوتر شما به يک ايستگاه تبديل شده است. در اين صورت هر 5 کامپيوتر شما که يک ايستگاه است در واقع يک کامپيوتر محسوب مي شود. پس در شبکه ي اصلي خود شما تنها 4 کامپيوتر داريد و اختلاف زماني اولين آنها تا آخرين آنها در حدود 4 ثانيه است و انتقال 18 بايت برابر خواهد بود با 18*4 برابر با 72 ثانيه تقريبا" برابر با 1.2 دقيقه. رقم قابل توجهي است.

 

در سيستم ايستگاهي – يک کامپيوتر به عنوان فرمانده ي ايستگاه عمل مي کند و کامپيوترهاي ديگر به عنوان فرمان بردار. کامپيوتر 1 در ايستگاه 2 درخواست فايل A را به فرمانده مي فرستند – همزمان نيز کامپيوتر 3 در همين ايستگاه درخواست فايل B را به فرمانده مي فرستند. فرمانده مجموع اين سفارشات را دريافت نموده و منتظر پيام بر روي شبکه ي بين ايستگاهي مي شود و مجموع درخواستهاي خود را براي ميزبان اصلي ارسال مي کند.

 

معمولا" در چنين معماريهايي پهناي باند بين بين کامپيوترهاي موجود در يک ايستگاه با پهناي باند کامپيوترهاي بين ايستگاهي متفاوت است. به هر حال مجموعه اي از اين نوع راه حلها و معماريها هستند که باعث مي شوند سرعت يک شبکه افزايش يابد.

 

شرکتهايي مانند Microsoft و ديگران راه حلهايي را در محيطهاي شبکه ي گسترده مانند اينترنت ارايه کرده اند که باعث شده است سرعت عمومي اين نوع از شبکه ها افزايش يابد. براي مثال – فشرده سازي اطلاعات هنگام ارسال آنها. براي مثال – ارسال يک متن 18 بايتي در قالب يک دسته کد مجموعا" 6 بايتي مي تواند سرعت ارسال را 3 برابر کند!

 

اما آنچه که شما خواننده ي محترم بايد به آن توجه داشته باشيد آن است که پايه و اساس تمامي پروتکلها همان پروتکل سريع مي باشد که الگوريتم آن در اين فصل بررسي شد.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

استاندارد در علوم کامپيوتر به چه معناست؟

 

در سالهاي ما بين 1985 تا 1995  کشمکش شرکتها ي مختلف جهت ارايه ي پروتکلهاي مناسب بسيار زياد بود. شرکتي مانند Novell يک نوع پروتکل را معرفي مي کرد و در کنار آن Microsoft نوعي ديگر پروتکل و شرکتهايي ديگر نيز انواع مختلفي از پروتکل را معرفي مي کردند.

 

در اين راستا يک شرکت اگر تجهيزات خود را به شبکه ي شرکت X مجهز نموده باشد و سپس بخواهد شبکه ي خود را به شبکه ي شرکتي ديگر که از تجهيزات شبکه ي Y استفاده مي کند متصل نمايد – شايد اين کار مستلزم صرف هزينه ي زيادي باشد چون عاقلانه ترين کار :

 

 

سيستم مترجم سيستمي است که اطلاعات يک پروتکل را به اطلاعات قابل درک براي پروتکل ديگر ترجمه مي کند. ذکر اين نکته نيز پر اهميت است که منظور از تجهيزات شبکه ، مجموعه ي سخت افزار و نرم افزار شبکه است.

 

اصول کار سيستم مترجم به اين صورت است، که ابتدا برنامه نويس يا برنامه نويسان بررسي مي کنند که در شبکه ي X شروع ارتباط به چه صورت است ؟ سپس در شبکه ي Y به چه صورت است. در اين صورت در صورتيکه گاهمهاي بر قراري ارتباط در دو شبکه يکي باشد – فقط کافي است که مترجم مثلا" کد HELLO را در شبکه ي X به کد EHLO در شبکه ي Y تبديل کند و آنرا ارسال نمايد.

 

اما متاسفانه کليه امور تنها به اينجا ختم نمي شود. همانطور که مي دانيم ممکن است اصول همه ي پروتکلها يکي باشد – اما مطمئنا" به دليل تلاشي که شرکتها در خصوص بهينه سازي ارتباط انجام مي دهند نوع گامهاي پروتکلها نيز متفاوت شده اند.

 

براي مثال در نظر بگيريد که در شبکه ي X از مدل سوال و جواب استفاده مي شود. يعني به اين صورت که ميزبان يا SERVER مرکزي به ترتيب از هر کامپيوتر سوال مي کند که آيا مطلبي براي ارسال داري ؟ و در شبکه ي Y سيستم کاملا" به صورتي متفاوت عمل مي نمايد – يعني هر سيستم ابتدا بايد از کانالي ديگر دريافت نوبت کند و سپس اجازه ي انتقال اطلاعات دارد.

 

در اينصورت برنامه نويس پروتکل مترجم مجبور است بخشي از عمليات مربوط به يکي از شبکه ها که معمولا" در شرايط ذکر شده منظور عمليات شبکه ي Y است را شبيه سازي نمايد.

 

در اينصورت با مشکلات ذيل مي توانيم مواجه شويم :

 

 

و ...

 

تا قبل از سال 2000 بسياري از شبکه ها با استفاده از پروتکل مترجم با يکديگر در ارتباط بوده اند و متاسفانه ما با مشکل عدم يکپارچگي در دنياي شبکه هاي کامپيوتري مواجه بوديم. اما به هر حال مشکل عمده بر سر پيدا کردن استانداردي براي شبکه بوده است که اگر شرکتي در اين راستا مي توانست موفق شود – مطمئنا" سود هنگفتي نصيب خود مي کرده است.

 

در اين راستا پروتکلهاي خوب و بد زيادي معرفي شدند. در نتيجه شرکتهاي مختلف به اين نتيجه رسيدند که ايجاد يک پروتکل کلي و کاملا" استاندارد که بتواند سالها بدون جايگزين معرفي شود بسيار کار سخت و مشکلي است و عملا" نشدني.

 

بدنين ترتيب – تصميم بر آن شد که يک پروتکل مرجع انتخاب شود که بر اساس آن ديگر پروتکلها بتوانند با يکديگر در ارتباط باشند. براي مثال TCP/IP در دنياي اينترنت. TCP/IP در واقع يک زبان واحد است.شما مي توانيد پروتکل دلخواه خود را طراحي کنيد و سپس آنرا به TCP/IP ترجمه نماييد و در واقع TCP/IP اطلاعات را به زبان خود به کامپيوتر ديگر انتقال مي دهد و در کامپيوتر ديگر باز به پروتکل مورد نظر شما.

 

TCP/IP استانداردي است که وظيفه انتقال اطلاعات شما را بر عهده دارد. اين استاندارد امکان برقراري تماس کامپيوتر شما را با ديگر کامپيوترهاي موجود در شبکه فراهم مي نمايد. همچنين اين استاندارد نظم مي بخشد ارتباط شما را با ديگر کامپيوتر هاي موجود در شبکه. اين پروتکل استانداردي خاص براي آدرس دهي کامپيوترهاي سرتاسر شبکه فراهم مي سازد با نام آدرس IP و يا IP ADDRESS .

 

بنا بر اين در حال حاضر شما اين امکان را داريد که بتوانيد پروتکل دلخواه خود را تحت شبکه اينترنت و يا LAN برنامه نويسي نماييد و سپس از طريق يک رابط به نام پريز ( Socket ) آنرا به هر دستگاه کامپيوتر ديگري در شبکه ارسال کنيد.

 

در اينجا شما با مفهوم استاندارد در دنياي پروتکل آشنا شديد. درواقع استاندارد در علوم کامپيوتر يعني انتخاب يک زبان و يا يک مفهوم مرجع به صورتي که همگاني باشد و اکثر برنامه نويسان بتوانند با آن برنامه هاي خود را بسازند که عمدتا" اين استانداردها – استانداردهاي ارتباطي مي باشند.

 

در برخي مواقع يک استاندارد توسط يک سازمان ارايه مي شود و در برخي مواقع تعداد استفاده کنندگان از يک مفهوم و يا ابزار آنقدر زياد مي شود که عملا" به صورت خود به خود به يک استاندارد تبديل مي شود.

 

براي کسب اطلاعات بيشتر پيشنهاد مي کند کتاب شبکه هاي کامپيوتري – نويسنده : آقاي تتنباوم را مطالعه فرماييد.

 

 

وب چيست ؟

 

شايد يکي از پر طرفدار ترين جنبه هاي اينترنت وب در آن باشد. WEB . بخشي از اينترنت است که اکثر ما کاملا" با آن آشنا هستيم. سايتهايي مانند Google و Yahoo و Microsoft و MHDsoft .

 

در يک کلام وب چيزي نيست جز دانلود کردن يک فايل خاص از يک ميزبان و مشاهده ي محتويات آن توسط يک مرور گر يا نشان دهنده.

 

اما آن چيز که در وب آن را هيجان انگيز کرده است – مختصات خاص آن است. يعني شما در يک صفحه مي توانيد همزمان – تصوير – صدا – متن و ارتباط با صفحات ديگر داشته باشيد ( Link ). ساخت صفحات وب بسيار ساده است و معمولا" نياز به آموزش زيادي ندارد و نرم افزارهاي زيادي مانند Microsoft frontpage به شما در طراحي وب سايتتان کمک مي کنند.

 

فايلهاي ساخته شده معمولا" با پسوندهايي مانند HTM و HTML و ASP وPHP و ... در ميزبان قرار مي گيرند. نقطه ي قوت آنها در اين است که متن اين فايلها همه TEXT هستند مانند متن ذيل :

 

<Title> MHDsoft Introduction page </title>

<Center> Welcome to MHDsoft </Center>

<p> MHDsoft international is a software company. </p>

 

همانطور که مشاهده مي کنيد متن يک فايل HTML تماما" TEXT است و شما مي توانيد با هر نوع Editor يا نرم افزار ويرايشگر متن آنرا بازبيني نماييد و حتي تغييراتي دهيد. ( جهت آموزش طراحي وب – پيشنهاد مي کنم به کتب منتشره در اين زمينه مراجعه فرماييد – مانند مرجع طراحي وب – انتشارات نص و ... )

 

همانطور که در نمونه ي کد بالا مشاهده مي نماييد – در ابتدا و انتهاي متون بخشهايي درون <> مشخص شده اند که اصطلاحا" به آنها Tag مي گويند. وقتي شما يک فايل HTM را دانلو مي نماييد ( با وارد نمودن آدرس آن در Address bar نرم افزاري مانند Microsoft Internet Explorer ) نرم افزار مرور گر شما شروع به چيدمان متن شما  بر حسب دستورات درون TAG مي نمايد.

 

براي مثال در متن بالا – تگ با عنوان TITLE يعني جمله ي بعد از اين دستور عنوان اين صفحه است و تگي که با / شروع شده است مشخص کننده ي پايان دستور است. يعني آنچه که بين <TITLE> و </TITLE> قرار گرفته است – عنوان صفحه است.

 

تگ بعدي <CENTER> و </CENTER> است. اين بدان معني است که هرچه بين اين دو تگ قرار گرفته است بايد در ميان صفحه نشان داده شود. بناي بر اين متن Welcome to MHDsoft در ميان صفحه نشان داده خواهد شد.

 

تگ <p> و </p> مشخص کننده ي يک پاراگراف است و به نرم افزار مي گويد متني که بين اين دو تگ است بايد از سمت چپ صفحه شروع شود چون يک پاراگراف را مشخص مي نمايد.

 

به همين ترتيب تگها ( دستورات ) ديگري وجود دارند که با استفاده از آن شما مي توانيد صفحه ي خود را بخش بندي نماييد و يا تصوير و حتي يک صدا در صفحه قرار دهيد. آنچه توضيح داده شد – اصول کار وب است . همانطور که متوجه شده ايد به دليل ماهيت وب و اينکه شما مي توانيد متن خود را نشانه گذاري نماييد – وب قابليت پيشرفت بسيار زيادي دارد.

 

يکي از قابليتهاي مهم وب آن است که شما مي توانيد با استفاده از همين تگها و دستورات صفحه اي را بسازيد که بازديد کننده ي وب سايت شما را قادر مي سازد که اطلاعاتي را براي شما ارسال نمايد. در اين صورت اطلاعات ارسال توسط بازديد کننده ي وب سايت شما نياز به پردازش و ذخيره سازي دارد.

 

براي اين منظور شما مي توانيد فايلهايي با پسوند ASP و يا PHP و يا Prel  در ميزبان وب خود قرار دهيد که وظيفه ي آنها پردازش متون ارسالي است.

 

اطلاعات از کامپيوتر اشخاص به روشهاي متداولي مي تواند به وب سايت شما انتقال يابد. دو روش متداول شامل GET و POST است. روش GET روشي ساده و کارآ است. در روش GET شما مي توانيد اطلاعات مختصري را به وب سايت خود ارسال نماييد. براي مثال در نهايت در حدود 255 کاراکتر و در برخي سيستمها تا 600 کاراکتر اطلاعات.

 

اطلاعاتGET به راحتي توسط کاربر قابل مشاهده هستند و بنا بر اين در سيستمهاي امنيتي از POST و مشابه آن استفاده مي شود.

 

در سيستمهايي که کاربر مي خواهد متن ارسال نمايد و يا فايلي آپلود نمايد معمولا" از سيستم POST استفاده مي شود.

 

کاربرد ديگر استفاده از سيستم GET در موتورهاي جستجو است. در اين نوع از پايگاههاي اطلاع رساني کاربر مي تواند با ارسال يک کلمه يا مجموعه اي از کلمات به ميزبان آنرا در پياگاه داده جستجو نمايد. براي مثال اگر شما فايلي با نام Search.Asp در وب سايت خود داشته باشيد – کافي است با استفاده از متد GET اطلاعات خود را به صورت Http://Website.com/search.asp?item=test ارسال نماييد. اين بدان معني است که شما مي خواهيد وجود کلمه ي TEST را در پايگاه داده جستجو کنيد. با استفاده از متد GET شما متغير ITEM را مقدار گذاري نموده ايد.

 

فايلهايي مانند ASP داراي تفاوتهاي اساسي با فايلهاي متني HTM مي باشند علي رغم اينکه محتوي هر دوي آنها متن است. در فايلهاي ASP شما هم مي توانيد از تگهاي HTM استفاده نماييد و هم مي توانيد اقدام به برنامه نويسي به زبان ASP نماييد. براي مثال – کدهاي ذيل مي توانند درون فايل Search.Asp باشند :

<title>Search result</title>

<%

item=request.querystring(“item”)

 

rem search item

 

response.write “<p>The answer is: “ & item & “</p>”

response.write “<font color=red> <Center>Thanks</Center>”

%>

<p>Search is done </p>

 

هنگاميکه برنامه ميزبان وب مي خواهد فايل ASP و مشابه آنرا به مشتري ارسال نمايد ابتدا کدهاي برنامه ي آنرا که مجموعه دستورات پردازشي هستند و با تگهايي مانند <% و %> شروع و پايان مي يابند اجرا مي نمايد. براي مثال در تکه کد بالا دستور Response.write به برنامه ي ميزبان وب ( WEB SERVER ) دستور مي دهد که اين متن را به عنوان محتوي فايل براي کاربر ارسال کن. وقتي فايلهاي ASP و مشابه آن فراخوانده مي شوند کدهاي دستورات آنها به هيچ عنوان براي کاربر ارسال نمي شود و صرفا" نتيجه ي دستور العملها ارسال مي شود.

 

اين نوع از فايلها به صاحبان وب سايتها اين امکان را مي دهد که در مدت زمان کم و به سادگي نيازهاي پردازشي خود را بر طرف نمايند. شما به راحتي مي توانيد بر روي وب سايت خود امکانات جستجو در وب سايت خودتان قرار دهيد و يا کاربران شما بتوانند اقدام به عضويت در سايت شما نمايند و صدها کاربرد ديگر.

 

اما در اينجا شما بايد مواظب باشيد که زياد به اين نوع از قابليتها اعتماد نکنيد – مخصوصا" براي پروژه هاي بسيار بزرگ به دلايل امنيتي و ... .

 

 

 

 

DNS چيست ؟

 

DNS يا Domain Name Server شايد يکي از جنجالي ترين و در عين حال ساده ترين ايده در وب باشد که توانسته است در سالهاي اخير وب را به يک قدرت تجاري تبديل نمايد.

 

شما وقتي کامپيوتر خود را به اينترنت متصل مي نماييد بر اساس ساختمان پروتکل TCP/IP به کامپيوتر شما يک آدرس IP اطلاق مي گردد – چيزي مانند 127.0.0.1  که هر بخش آن مي تواند بين 0 تا 255 عدد گذاري شود. حال در صورتيکه اين آدرس Valid باشد – هر شخصي از هر کجاي دنيا که به شبکه ي اينترنت متصل باشد مي تواند با وارد کردن اين آدرس در پروتکل TCP/IP و يا برنامه هاي جانبي آن ( در بخش برنامه نويسي پريز به طور کامل بررسي مي شود ) به کامپيوتر شما دسترسي داشته باشد.

 

براي مثال اگر آدرس IP کامپيوتر شما 10.9.1.0  باشد – و شما در تهران باشيد – شخص ديگري که آدرس کامپيوتر آن 69.210.213.127  است و در ايالت پنسيلوانيا آمريکا است و هر دوي شما سيستم عامل Microsoft Windows 2000 براي مثال داريد – مي تواند به راحتي منوي CMD را در کامپيوتر خود باز کند و تايپ نمايد :

Net send 10.9.1.0 Hello

 

و چند لحظه بعد شما پيغامي بر روي صفحه ي مانيتور خود دريافت نماييد که نوشته شده است Hello  !

 

بنا بر اين اگر شما بخواهيد فايلي را از روي يک ميزبان نيز دانلود نماييد کافي است آدرس آي پي آنرا بدانيد ! و آنرا وارد نماييد تا بتوانيد به آن ميزبان دسترسي داشته باشيد. اما اگر تنها يک يا چند ميزبان انگشت شمار وجود داشت اين موضوع خيلي ساده بود. اما در حال حاضر در دنياي وب در اينترنت ما فقط حد اقل 15 ميليون وب سايت داريم – يعني حد اقل 15 ميليون آدرس آي پي. اين را در نظر بگيريد که يک شرکت بازرگاني در تبليغات خود ذکر مي کرد براي اطلاعات بيشتر به آدرس آي پي 127.0.0.1   و يا 216.277.123.10 مراجعه نماييد! آيا به خاطر سپاري اين آدرس کار ساده اي مي نمود ؟

 

و کدام ساده تر است ؟ MHDsoft.Com يا 69.126.178.11   و يا www.Google.Com و يا 68.11.134.56 ؟

 

مطمئنا" شما هم با من موافق هستيد که همين قابليت استفاده از نام بجاي آدرس آي پي بوده است که دنياي وب را متحول ساخته است.

 

DNS دقيقا" همين کار را انجام مي دهد – يعني ترجمه ي نام به آدرس آي پي. براي مثال اينبار که از نرم افزار Microsoft Internet Explorer استفاده مي نماييد دقت نماييد که در منوي اعلان سمت چپ پايين اين نرم افزار چه اتفاقي مي افتد – وقتي وارد مي نماييد Www.Yahoo.Com – پس از چند لحظه مشاهده مي نماييد که يک آدرس آي پي در آنجا شکل مي گيرد.

 

سيستم DNS به اينصورت است که وقتي شما وارد مي نماييد Www.domain.Com ابتدا آنچه شما وارد نموديد به سه بخش تقسيم مي شود. يک بخش با عنوان Subdomain يا زير شاخه ي Domain که در مثال بالا www است. بخش ديگر خود Domain که در مثال بالا همان Domain است و بخش ديگر دامنه ي بين المليي آن که در مثال بالا .Com است.

 

در دنيا چند ميزبان وجود دارند که بخش عمده ي آنها در ايالات متحده است. يکي از اين ميزبانها يا SERVER ها مسئول نگهداري دامنه هاي .Com است. براي مثال ميزبان ديگري در جمهوري اسلامي ايران است که مسئول نگهداري دامنه هاي .IR است. پس چون در مثال Www.Domain.Com دامنه ي بين المللي .Com است ابتدا ISP محل شما درخواستي به ميزبان DNS بين المللي مي فرستند و از آن آدرس IP مربوط به DNS مربوط به نام Domain مي شود. آن ميزبان براي مثال جواب مي فرستد که آدرس IP ميزبان DNS مربوط به دامنه ي Domain   برابر است با 127.0.0.1   سپس ISP شما به آدرس آي پي 127.0.0.1 درخواستي مي فرستد که آدرس آي پي ميزبان غير از دامنه ي www چه است و آن ميزبان ( يعني 127.0.0.1 (  آدرسي را بر مي گرداند مانند 127.0.0.2 . درواقع Subdomain آخرين مرحله اي است که در بازخواني نام دامنه وجود دارد.

 

مثالي ديگر : Www.MHDsoft.Com

 

ابتدا ISP شما به آدرس ميزبان بين المللي دامنه ها ي .Com که آدرس آي پي آن قبلا" در DNS SERVER مستقر در ISP شما قرار دارد پيامي مي فرستند که آدرس آي پي مربوط به دامنه ي MHDsoft چه است ؟

آن سيستم جواب مي دهد ( براي مثال ) 66.12.13.15  و سپس ISP شما به آدرس آي پي 66.12.13.15  سوالي مي فرستند مبني بر اينکه آدرس IP مربوط به زير دامنه ي WWW چه است و سپس ميزبان جواب مي دهد ( براي مثال ) 99.123.23.10 .

 

مثالي ديگر: Download.mhdsoft.com

 

ابتدا به DNS بين المللي .Com ارسال مي شود که آدرس آي پي دامنه ي MHDsoft چه است ؟ آن ميزبان جواب مي دهد که 66.12.13.15  است. سپس ISP شما به ميزبان 66.12.13.15 سوالي ارسال مي کند که آدرس آي پي زير دامنه ي Download چه است ؟ و آن بر مي گرداند 88.20.17.18 .

 

اما درخواستهايي که به ميزبانها ارسال مي شود فقط محدود به وب نمي باشند. نمونه اي از جواب يک DNS SERVER به درخواست به صورت ذيل است :

 

Query for Www.MHDsoft.Com

DNS SERVER: 127.0.0.1

 

A record 88.12.13.46

MX record 88.12.12.1

NS record Ns1.MHDsoft.Com

 

براي مثال اگر شما بخواهيد يک نامه از طريق پست الکترونيک به Info@MHDsoft.Com بفرستيد ميزبان ايميل شما يا SMTP OUTGOING از طريق DNS آدرس MX را مي خواند – يعني ميزباني که بر روي پورت 25 جهت ارسال و دريافت پست الکترونيکي فعال است.

 

اما براي دسترسي به وب سايت فقط به A record بجاي MX record نياز است. يعني ميزباني که بر روي پورت 80 جهت دسترسي به وب است.

( شماره ي پورت و مفاهيم آن در بخش برنامه نويسي پريز شرح داده خواهد شد )

 

محل ميزبان DNS دوم ( يعني بعد از بين المللي ) مي تواند در محل ميزبان وب و ايميل باشد و هر سه اينها مي توانند يکي باشند.

 

وقتي شما يک دامنه اجاره مي کنيد – براي مثال www.test.net  هنگام ثبت اين دامنه از شما خواسته مي شود حداقل آدرس يک DNS به شرکت يا فرد موجر اعلام کنيد. در هر دامنه شما مي توانيد به صورت استاندارد حد اقل يک آدرس DNS و حد اکثر 10 آدرس NS وارد نماييد. منظور از آدرس NS چيزي مانند Ns1.MHDsoft.Com  است – يعني آدرس ميزبان DNS براي دامنه ي