Description

Protocol

File Transfer Protocol

FTP

Telnet

TELNET

Simple Mail Transfer Protocol

SMTP

Domain Name Server

DNS

Hyper Text Transfer Protocol

HTTP

Post Office Protocol v3

POP3

Internet Mail Access Protocol

IMAP

Secure Sockets Layer

SSL

Microsoft SQL  (SEQUEL)

MSSQL

MY SEQUEL

MYSQL

Remote Desktop Protocol

RDP

Virtual Network Computing

VNC (RFB)

           

 

مفهوم پروتکل

شبکه از مجموعه کاملی از روش ها و قوانین مشخصی برای انجام هر کار پیروی نموده که به آنها پروتکل (Protocol ) گویند. پروتکل های زیادی با وظایف مختلف وجود دارند. برخی پروتکل ها در لایه های متفاوت OSI کار می کنند.
چندین پروتکل می توانند با هم کار کنند که به عنوان پشته (
Stack ) یا رشته پروتکل ها شناخته میشوند.

FTP  

 روشی سریع ، ساده و مطمئن برای ارائه خدمات فایل به کاربران راه دور می باشد.

برای شروع یک FTP session   بین برنامه سرویس دهنده و برنامۀ سرویس گیرنده باید دو ارتباط همزمان از نوع TCP برقرار شود.  به هر یک از این ارتباطات در ادبیات پروتکل FTP ، کانال گفته میشود . این دو کانال عبارتند از :

1- کانال داده : یک ارتباط TCP با پورت شماره 20 از سرویس دهنده که روی آن داده ها  مبادله میشوند .

2- کانال فرمان :  یک ارتباط TCP با پورت شماره 21 که روی آن فرامین لازم برای مدیریت فایلها رد و بدل میشوند .

 

برقراری ارتباط بین سرویس دهنده و سرویس گیرندۀ FTP با دو روش امکان پذیر است :

  • روش معمولی یا  Normal Mode
  • روش غیرفعال یا  Passive Mode

 در روش  Normal  برای برقراری یک نشست FTP مراحل زیر انجام میشود :

الف:  در برنامه سمت سرویس گیرنده، ابتدا دو سوکت نوع TCP با شماره پورت تصادفی بالای 1024 ایجاد میشود .

ب:  برنامۀ سمت مشتری سعی میکند با استفاده از دستور () connect ارتباط یکی از سوکت های ایجاد شده را با پورت شماره 21 از سرویس دهنده برقرار نماید

پ: برنامۀ سمت مشتری با فرمان PORT به برنامۀ سمت سرویس دهنده شمارۀ پورت سوکت دوم را اعلام می نماید و منتظر می ماند. (در حقیقت برنامه مشتری روی سوکت دوم عمل listen انجام میدهد (

ت : در ادامه، برنامۀ سرویس دهنده سعی میکند یک ارتباط نوع TCP با شماره پورت اعلام شده برقرار نماید .

ج: برنامۀ سمت مشتری،  ارتباط TCP آغاز شده از سمت سرویس دهنده را تصدیق و یک نشست FTP آغاز میشود 

 

.

 

در روش  Passive  برای برقراری یک نشست FTP مراحل زیر انجام میشود

الف :  در برنامۀ سمت مشتری ابتدا دو سوکت نوع TCP با شماره پورت تصادفی بالای 1024 ایجاد میشود .

ب : برنامۀ سمت مشتری سعی میکند ارتباط TCP یکی از سوکت های ایجاد شده را با پورت شمارۀ 21 از سرویس دهنده برقرار نماید .

پ :  برنامۀ سمت مشتری با فرمان PASV به برنامۀ سمت سرویس دهنده اعلام میکند که خواستار یک نشست از نوع غیر فعال است .

ت :  برنامۀ سمت سرویس دهنده یک سوکت با شماره پورت تصادفی (بالای (1024  ایجاد کرده و شمارۀ آنرا به برنامۀ مشتری اعلام مینماید .

ج :  برنامۀ سمت مشتری ارتباط سوکت دوم خود را با شماره پورت اعلام شده برقرار کرده پس از تصدیق ارتباط نشست   FTP آغاز میشود .

 

 

در قطعه کد زیر قسمتی از مراحل یک نشست ftp برای برقراری ارتباط با سرویس دهنده ای بنام  Domainname.com ارائه شده است

Status:            Resolving address of Domainname.com

Status:            Connecting to 72.55.179.150:21...

Status:            Connection established, waiting for welcome message ...

Response:       220 Gene 6 FTP Server v 3.9.0 (Build 2 ) ready ...

Command:       USER wp

Response:       331 Password required for wp .

Command:       PASS ****

Response:       230 User wp logged in .

 

Telnet

 برنامۀ Telnet یک ترمینال مجازی و سازگار با ترمینال های حقیقی از سیستم سرویس دهنده روی کامپیوتر شما شبیه سازی نموده و اجازه میدهد به سیستم یونیکس وارد شده و با آن محاوره نمایید.

مقصود از یک نشست TelNet برقراری موفق یک ارتباط  TCP از سیستم سرویس گیرنده با پورت 23به ماشین سرویس دهنده است به گونه ای که ماشین سرویس دهنده ضمن پذیرش این ارتباط در صورت لزوم آمادۀ پذیرش فرمانهای صادره از کاربر و اجرای آنها شود .

در مثال زیر حروف پررنگ توسط کاربر نوشته شده و بقیه ، پیغامهای عمومی برنامۀ TelNet هستند .

.

برنامۀ TelNet در دو قسمت سازماندهی میشود :

پروسۀ سرویس دهندۀ : این برنامه که بر روی کامپیوتر سرویس دهنده نصب و اجرا میشود موظف است تقاضاهای ورودی برای برقراری یک Telnet Session  را پذیرفته و پس از هماهنگی های لازم با برنامۀ مشتری ، به او سرویس بدهد .

پروسۀ مشتری : این برنامه بر روی کامپیوتر کاربران نصب میشود و منطبق بر سخت افزار و سیستم عامل ماشین کاربر است وظیفه دارد تا مراحل برقراری یک Telnet Session را برقرار کرده و یک ترمینال مجازی را به گونه ای شبیه سازی نماید که فرامین صادره از کاربر ، منطبق و سازگار با ماشین سرویس دهنده باشد .

 

SMTP

یک پروتکل ساده مبتنی بر متن  و مشهور می باشد که در سرویس دهنده های پست الکترونیکی مورد استفاده قرار میگیرد.   

از آنجا که این پروتکل تنها از کدهای ASCII  و مبتنی بر متن پشتیبانی می نمود لذا برای استفاده از فایل های باینری نظیر تصاویر از یک استاندارد به نام MIME  (Multipurpose Internet Mail Extensions ) جهت encode  نمودن و ارسال آنها توسط SMTP  استفاده می گردد.

برای برقراری ارتباط بین یکclient  و SMTP Server  و ارسال ایمیل ، ابتدا یک ارتباط TCP  ازClient  با پورت 25 (پورت مرسوم این پروتکل ) به سرور ایجاد شده و سپس ارتباطاتی نظیر نمونه ی ذیل بین آنها صورت خواهد پذیرفت.

نکته : s   به معنای سرور و C به معنای کلاینت است

  S: 220 smtp 2go.com ESMTP Exim

  C: HELO iranhost.com

  S: 250 Hello iranhost.com

  C: MAIL FROM:<sender@iranhost.com>

  S: 250 Ok

  C: RCPT TO:<recipient@anotherdomain.com>

  S: 250 Accepted

  C: DATA

  S: 354 Enter message, ending with “.” on a line by itself

  C: Subject: sample message

  C: From: sender@iranhost.com

  C: To: recipient@anotherdomain.com

  C :

  C: Greetings ,

  C: Typed message (content)

  C: Goodbye .

  C : .

  S: 250 OK

  C: QUIT

  S: 221 www.sample.com closing connection

HTTP

 این پروتکل مجموعه ای از فرامین استانداردی است که از سمت Client به Server ارسال میشود. در حقیقت این پروتکل زبان یا قراردادی برای صحبت کردن Client با web server است.

یک صفحه وب در واقع یک فایل متنی بسیار ساده است که با زبان علامتگذاری HTML تدوین میشوند. عملی که مرورگربعنوان یک سرویس گیرندۀ وب انجام میدهد، آنست که تقاضای دریافت یکی از این صفحات یا فایل ها را در قالب قراردادی استاندارد به نام پروتکل HTTP  به سمت سرویس دهنده ارسال می نماید .

در سمت مقابل سرویس دهندۀ وب این تقاضا را پردازش کرده و در صورت امکان ، فایل مورد نظر را برای مرورگر ارسال می نماید . مرورگر پس از دریافتِ فایل hyper text ، آنرا تفسیر کرده و بصورت صفحه آرایی شده روی خروجی نمایش میدهد .

اگر فایل hypertext مربوطه دارای فایلهای صدا یا تصویر باشد ، آنها نیز توسط مرورگر تقاضا شده و پس از دریافت در جای خود قرار میگیرند.

پروتکل HTTP  دارای مجموعه فرامینی می باشد که این فرامین در1945  RFC- ”متود“ نامیده شده است.

 

متود GET   : مرورگر با ارسال این متود از سرویس دهنده تقاضا میکند که یک صفحه وب یا یک فایل دودویی مثل فایل تصویر یا صدا برایش ارسال شود .

 

 

متود HEAD : این متود از سرویس دهنده تقاضا میکند که فقط سرآیند صفحه وبی را که نام آن در جلوی متود درج شده ، ارسال نماید. این متود چند کاربرد دارد :

نکته اوّل آنکه مشخصات صفحه وب ، شامل تاریخ آخرین تغییر ، عنوان صفحه ، نام تدوین کننده و صاحب اصلی آن و برخی از مشخصات اختیاری که در سرآیند صفحۀ وب درج شده ، ارسال میشود و این اطلاعات میتواند برای مقاصدی همانند تهیه بانک اطلاعاتی از صفحات وب و طراحی ”جستجوگرهای وب “ مفید واقع شود.

دوم آنکه میتوان با این متود صحیح بودن یک URL و وجود یک صفحه وب را ارزیابی کرد.

متود PUT : این متود، عکس متود GET عمل می نماید، یعنی مرورگر تقاضا می نماید که یک صفحه وب را بر روی ماشین سرویس دهنده ذخیره نماید. این متود توسط سرویس دهنده هایی پشتیبانی می شود که بخواهند صفحات برخی از کاربران را دریافت کرده ضمن ذخیره ، آنها را در اختیار دیگران قرار بدهند.

متود POST : این متود از سرویس دهنده تقاضا میکند که داده هایی را به یک منبع موجود (مثل یک صفحه وب یا یک فایل) اضافه نماید. این متود برای ایجاد صفحات خبری، Bulletin Board ، محیط های نظر خواهی یا ارسال اطلاعات برای یک پروسۀ تحت وب همانند برنامه های CGI مورد استفاده قرار میگیرد. 

متود DELETE : این متود از سرویس دهنده تقاضا میکند که یک صفحۀ وب با نام مشخص را از روی ماشین سرویس دهنده حذف نماید. لازم به ذکر است که بسیاری از سرویس دهنده ها به دلایل امنیتی از متودهای POST ، PUT وDELETE پشتیبانی نمی نمایند. 

وقتی تقاضا به سمت سرویس دهنده ارسال میشود، چه پذیرفته شود و چه پذیرفته نشود ، پاسخی متنی دریافت می گردد که معمولاً بصورت زیر است :

 

 

HTTP / 1.0     : نسخه پروتکل را مشخص می نماید.

شمارۀ وضعیت : شماره ای است سه رقمی که وضعیت اجرای فرمان ارسالی را مشخص می نماید. این شمارۀ سه رقمی بر اساس رقم صدگان به پنج دسته تقسیم میشود:

1xx : اطلاعاتی ( پاسخی ) جهت آگاهی بیشتر مشتری

2 xx : عمل درخواست موفقیت آمیز اجرا شده است.

3 xx : URL مورد تقاضا ، تغییر آدرس داشته است.

4 xx : در تقاضای ارسال شده از طرف مشتری خطایی وجود دارد.

 : xx5 در سرویس دهنده خطایی داخلی رخ داده است .

نکته : در صورتی که که رقم صدگان 3 ، 4 یا 5 باشد وضعیت فرمان ارسالی ناموفق بوده است .

برخی از شماره های وضعیت در جدول جدول ذیل فهرست شده اند :

 

 

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

است . پس از این خطوط که سرآیند نامیده می شوند ، یک سطر خالی مرز داده های فایل را از سرآیند مشخص کرده و در ادامه داده های فایل ارسال میشوند .

.

 

برای آشنایی با چگونگی ارسال داده ها از طرف سرویس دهنده ، در شکل  ذیل پاسخی را که سرویس دهندۀ HTTP به یک تقاضای دریافت صفحه وب برگردانده شده، مشاهده نمایید. این تقاضا بصورت زیر فرستاده شده است :

GET /example/hello.htm HTTP/1.0                                                 

 

 

POP3

 یک پروتکل client / server   بوده که مربوط به دریافت ایمیل می باشد و با ایجاد یک کانکشن به میل سرور ( از طریق پورت TCP = 110 (  تمامی ایمیل های موجود در ایمیل اکانت مربوطه را برروی سیستم لوکال دانلود نموده و با توجه به تنظیمات نرم افزار دریافت کننده (مانند outlook ) ، ایمیل ها را از روی سرور بعد از مدت زمان تعیین شده حذف می نماید.

IMAP

 این پروتکل مربوط به دریافت ایمیل می باشد (مانند POP3 ) ولی قابلیتهای بیشتری نسبت به پروتکل POP3  دارد. به دلیل امکان پشتیبانی این پروتکل از قابلیت synchronization (هماهنگ سازی) امکان چک نمودن ایمیل ها را از چندین سیستم مختلف ، بدون حذف شدن ایمیل ها از میل سرور خواهید داشت.

 

SSL

 راه حلی مناسب جهت برقراری ارتباطاتی امن میان Server و Client می باشد که توسط شرکت Netscape ارایه شده است. مزیت استفاده از این پروتکل بهره گیری از موارد امنیتی تعبیه شده آن برای امن کردن پروتکل های غیرامن نظیرHTTP ،LDAP ،IMAP و... می باشد که براساس آن الگوریتم های رمزنگاری بر روی داده های خام (که قرار است از یک کانال ارتباطی غیرامن مثل اینترنت عبور نماید) اعمال می شود و محرمانه ماندن داده ها را در طول کانال انتقال تضمین می کند.

 

RDP

 با استفاده از این پروتکل امکان برقراری ارتباط با کامپیوتر دیگری را از راه دور خواهید داشت. مزیت این ارتباط، امکان استفاده از تمامی منابع سخت افزاری و نرم افزاری کامپیوتر مقصد از راه دور و به صورت Remote می باشد. 

 

DNS

پروتکلی که نام های نمادین و معادل IP آنها را روی کل شبکه توزیع کرده است و هر ایستگاه میتواند در یک روال منظم و سلسله مراتبی ،آدرس IP معادل با ایستگاه مورد نظرش را در نقطه ای از شبکه بیابد.

(توضیحات کامل در رابطه با این پروتکل در مقاله DNS  موجود می باشد )