Transcript Session 7
مهندسی فناوری اطالعات
ارائه دهنده
دکتر سيد امين حسيني
E.mail: [email protected]
Home page: http://hosseini.staffcms.um.ac.ir
فصل
8
پروتکل های اليه کاربرد:
FTP،Telnet
پروتکل Telnet
به طورخالصه :پروتکلی است که می توان بوسیله
آن دستوراتی روی کامپیوتر راه دور اجرا کرد
برنامه Telnetیک ترمینال مجازی با مشخصه های
ترمینال حقیقی سرویس دهنده ،بر روی ماشین کاربر
شبیه سازی می نماید .به این ترمینال شبیه سازی شده
اختصارا“ )Network virtual terminal( NVTگفته می شود.
پروتکل Telnet
برنامه telnetفرامین صادر شده از کاربر را
دریافت وآنرا به نحو مناسبی به سمت کامپیوتر
راه دور هدایت می کند،پس از تفسیر واجرای
دستور نتیجه را به برنامه telnetکامپیوتر
کاربر باز می گرداند.
نشست :Telnet
منظور از یک «نشست »Telnetبرقراری موفق یک
اتصال TCPبا پورت 23از ماشین سرویس دهنده
است به گونه ای که ماشین سرویس دهنده ضمن
پذیرش این اتصال و احراز هویت کاربر آماده پذیرش
فرمانهای صادره از کاربر و اجرای آنها شود.
در دو قسمت
برنامه
سازماندهی ميشود
Telnet
پروسه سرويس دهنده :Telnetاین برنامه بر
روی کامپیوتر سرویس دهنده نصب و اجرا می
شود،موظف است تقاضاهای ورودی برای
برقراری یک نشست را بپذیرد و به برنامه
مشتری سرویس بدهد.این برنامه در محیط
یونیکس به نام )telnet deamon( telnetd :شناخته
می شود.
در دو قسمت
برنامه
ميشود
سازماندهی
پروسه مشتری :Telnetاین برنامه بر روی
Telnet
کامپیوتر کاربران نصب می شود و منطبق بر
سخت افزار و سیستم عامل ماشین کاربر
است.وظیفه دارد مراحل یک یک نشست را
برقرار کند ویک ترمینال مجازی به گونه ای شبیه
سازی نماید که فرامین صادره از کاربر منطبق و
سازگار با ماشین سرویس دهنده باشد.این برنامه
بطورعام telnetنامیده شده است.
جريان عبور داده ها بين پروسه
telnet های مبدأومقصد در
terminal telnet
Terminal
driver
telnetd
Tcp
Tcp
Application
Pscudo
TTY
Server
Machine
Client
Machine
internet
سيستم عامل مبتنی بر پنجره
کاربر بجای صدور فرامین در خط فرمان ،در یک
محیط گرافیکی(شامل پنجره،منو،آیکون و نظایر آن)
ازسیستم سرویس دریافت نماید.
سيستم عامل مبتنی بر
پنجره:
شرايط برقراری ارتباط با يک سيستم عامل مبتنی بر پنجره:
.1باید سرویس دهنده مورد نظر کاربر چنین سرویسی را فراهم
آورده باشد.
.2برنامه telnetبر روی ماشین کاربر باید چنین قابلیتی را
داشته باشد.
.3طرفین بر روی پارامترهای استاندارد توافق کنند تا بتوانند
فرامین مربوط با پنجره را تحلیل کرده وخروجی الزم را
نشان بدهد.
اجرای
برنامه telnet
در این حالت باید ابتدا اسم برنامه ونام ماشین سرویس دهنده
نوشته شود ،در غیر این صورت برنامه منتظر می ماند تا
فرامین داخلی telnetرا اجرا نمایید.
Merlin>telnet tpci_hpws4
Trying………………………..
Connected to tpci_hpws4.
Escape character is ‘^]’.
)HP_UX tpci_hpws4 A.09.01 A9000/720(ttys2
Login:tparker
********password:
چند نکته
.1با فشاردادن کلیدهای ]ctrl+برنامه به حالت «فرامین
کاربری» رفته و هر فرمانی که صادر می شود به جای
ارسال به سرویس دهنده به صورت محلی و توسط برنامه
telnetتحلیل خواهد شد.
.2برای ختم یک نشست telnetاز کلیدهای ctrl+Dاستفاده می
شود و معادل با عمل خروج از سیستم یا logoutاست.
:ttys2 .3قراردادی برای نحوه مبادله متنی کاربر و ماشین راه
دور است)Text teletype simulation( .
فرامين Telnet
فرامین استاندارد جهت محاوره(مشهور به فرامين داخلی):
این فرمین دارای قالب استاندارد و جهانی هستند،بین سرویس
دهنده telnetدر ماشین راه دور وبرنامه مشتری مبادله می
شود،کاربر دخالتی در مبادله ای فرامین ندارد و فقط می تواند
مبادله آنها را ببیند،ای فرامین در پروتکل telnet
استانداردسازی شده است.
فرامين کاربری:این فرامین یکسری از دستورات کاربری در
محیط telnetهستندو با صدور آنها کاربر می تواند با برنامه
telnetدر ماشین خود محاوره داشته باشدوحاالت مختلف
ترمینال خود را تنظیم نماید.
کد مميزه فرمان
برای تمایز بین داده ها و فرامین تعریف شده است و به گونه
ای است که درون متن داده ها پیدا نمی شود.
هر فرمان ابتدا با کاراکتر کد )Escape code( 255شروع وسپس
کد فرمان ونهایتا”در صورت لزوم کد انتخاب قرار می گیرد.
هر فرمان جمعا” سه بايت است که مقادیر عددی هر یک از
آنها برای طرف مقابل ارسال می شود«.کد انتخاب می تواند
در برخی از فرامین وجود نداشته باشد».
telnet
IAC
قالب فرامين استاندارد در
COMMAND CODE
OPTION CODE
اصلی ترين کدهای فرمان
این 4کد برای توافق و هماهنگی سرویس دهنده و برنامه telnetروی
ماشین محلی کاربرد دارند.
Willبا کد:251با این کد یکی از طرفین می تواند عملی را به طرف
مقابل تقاضا بدهد.
Won’tبا کد:252با این کد یکی از طرفین تقاضای عدم انجام یا لغو
عمل را می نماید
:Doبه معنای پذیرش تقاضای داده شده یا اعالم یک عمل انجام شده
می باشد.
:Don’tبه معنای عدم پذیرش تقاضای داده شده یا اعالم لغو یک عمل
می باشد.
اصلی ترين کدهای فرمان
:(killprocess)Interrupt process تقاضای قطع دائم یا
موقت(تعلیق)آن.
:)Ao(Abort Output تقاضای اجرا پروسه تا تکمیل نهایی بدون
ارسال خروجی آن برای ترمینال.
:Break(BRK) تقاضای قطع برنامه(،معادل )Ctrl+Break
اصلی ترين کدهای فرمان
:Are you There(AYT) پرس وجو در خصوص آنکه طرف
مقابل هنوز فعال است یا نشست را ترک کرده است.
:Erase Line(EL) تقاضای حذف آخرین سطر از بافر طرف
مقابل.
:Erase Character(EC) تقاضای حذف آخرین کاراکتر از بافر
طرف مقابل.
:
RCVD Will Echoازطرف مقابل دريافت شد Echo .تقاضای فعال شدن حالت
TN3270
سرویس دهنده TELNETبا قابلیت تغییر مجموعه کد
با نام TN3270ارائه شده است.
عدد 3270اشاره به الگویی برای کدگذاری
استریمهای داده دارد که با نام 3270 SNA Data
Streamتوسط IBMاز قبل برای شبکه
SNAاستانداردسازی شده بود.
TN3270
TN3270پروتکلی است که برای انتقال استریمهای
3270بر روی شبکه TCP/IPتدوین وپیاده سازی
شده است.
درTN3270برخالف (telnetکه داده ها را به صورت
خط به خط ارسال میکند ) استریمهای داده پس از
کدگذاری بصورت بلوکی ارسال می شوند.
پروتکل انتقال
فايل ()FTP
ابزاريست مطمئن برای انتقال فايل بين
کامپيوترهايی که به شبکه اينترنت متصل هستند.
خدمات پروتکل
.1تهیه لیستی ازفایل های موجود ازسیستم فایل
کامپیوتر راه دور.
.2حذف،تغییر نام وجابجا کردن فایل های کامپیوتر راه
دور.
.3جستجو در شاخه های (دایرکتوریهای)کامپیوتر راه
دور.
خدمات پروتکل
.4ایجاد یا حذف شاخه روی کامپیوتر راه دور.
.5انتقال از کامپیوتر راه دور به کامپیوتر
میزبان()Download
.6انتقال فایل وذخیره آن از کامپیوتر میزبان به
کامپیوتر راه دور()upload
ارتباط بين سرويس دهنده
ومشتری
در پروتکل FTPبرای شروع یک نشست باید دواتصال
(کانال ( همزمان از نوع TCPبرقرار شود:
.1کانال داده:یک اتصال با پورت شماره 20از سرویس دهنده
که روی آن داده ها مبادله می شوند.
.2کانال فرمان:یک اتصال TCPبا پورت شماره 21که
روی آن فرامین الزم برای مدیریت فایلها رد وبدل می
شوند.
ارتباط بين سرويس دهنده
ومشتری FTP
در پروتکل ftpهمه عمليات انتقال فايل در «پيش
زمينه»foregroundانجام می شود.
پروسه مفسر پروتکل(:)PIوظیفه مدیریت ارتباط روی
کانال فرمان را به عهده دارد.همیشه به پورت شماره 21
گوش می دهد.
پروسه انتقال داده(:)DTPوظیفه مدیریت انتقال داده ها
را بر عهده دارد.همیشه به پورت شماره 20گوش می
دهد.
روشهای برقراری يک نشست :
روش معمولی
.1در برنامه سمت مشتری ابتدا دو سوکت نوع TCPبا شماره پورت
.2
.3
.4
.5
تصادفی باالی 1024ایجاد می شود.
برنامه سمت مشتری با استفاده از دستور()Connectسعی دارد تا اتصال
یکی از سوکت های ایجاد شده را با پورت 21از سرویس دهنده
برقرار نماید.
برنامه سمت مشتری با فرمان «،»PORT Xبه برنامه سمت سرویس
دهنده شماره پورت سوکت دوم را اعالم مینماید( ،برنامه مشتری
روی سوکت دوم عمل )(listenانجام میدهد).
سرويس دهنده سعی در برقراری یک اتصال TCPبا شماره پورت
اعالم شده از مشتری را دارد.
برنامه سمت مشتری اتصال TCPشروع شده از سرویس دهنده را
تصدیق کرده و یک نشست FTPآغاز می شود.
روشهای برقراری يک نشست :
روش غير فعال
.1در برنامه سمت مشتری دو سوکت نوع TCPبا شماره
پورت تصادفی باالی 1024ایجاد می شود.
.2برنامه سمت مشتری اتصال TCPیکی از سوکت های
اجرا شده را با پورت شماره 21از سرویس دهنده برقرار
مینماید.
.3برنامه سمت مشتری با فرمان PASVبه برنامه سمت
سرویس دهنده اعالم می کند که خواستار نشست از نوع
غیر فعال است.
روشهای برقراری يک نشست :
روش غير فعال
.4برنامه سمت سرویس دهنده یک سوکت با شماره پورت
تصادفی ایجاد کرده و شماره آن را به ماشین مشتری اعالم
مینماید.
.5برنامه سمت مشتری اتصال سوکت دوم خودرا با شماره
پورت اعالم شده برقرار کرده ،پس از تصدیق اتصال
نشست FTPآغاز می شود.
فرامين FTP
فرامین داخلی :FTPفرامین داخلی FTPتماما’’ حالت
متنی داشته و حداکثر 4حرفی هستند.
برخی از فرامین دارای پارامتر هستند که این پارامترها نیز
به صورت متنی پس از یک فاصله خالی در ادامه فرمان
قرار می گیرند.
خاتمه هر فرمان و آرگومانهایش با جفت کد (\rمعادل با کد
)carriage returnو ( \nمعادل با کد )new lineمشخص
می شود.
:PASV\r\n یک فرمان معتبر ftp
مجموعه فرامين ftpبرای سه
عمليات
دسته
فرایندبرقراری و ختم یک نشست (ftpمثل فرمان
)QUIT،PORT،PASV
ارسال کلمه عبور جهت تعیین جواز وسطح سرویس دهی
فرامین مربوط به انتقال فایل،فهرست گیری از شاخه ها و فایل ها
وعملیات مدیریت فایل.
در پاسخ به هر فرمان صادره یک کد سه رقمی بر میگردد.برنامه
سمت مشتری با پردازش این کد می تواند در مورد عمل بعدی
خود تصمیم بگیرد.
در پروتکل ftpانتقال فایل در چند حالت متفاوت انجام می شود: .
حالت متنی و روش دودويی
فرامين کاربری
برنامه FTP
کاربر برای استفاده از FTPباید از این فرامین اطالع داشته باشد.
برنامه های FTPدر سمت کاربر بر 2نوع هستند:
.1برنامه هایی که در خط فرمان اجرا می شوندو کاربر مجبوراست فرامین
استفاده از برنامهFTPرا حفظ باشد.
.2برنامه هایی که دارای ظاهر گرافیکی هستند و کاربر از طریق آیکون ها
یا منو ها فرمان مورد نظر خود را اجرا می کند.
تذکر:برای بکارگيری برنامه FTPدر خط فرمان الزم است ضمن درج نام
برنامه ،نام ماشينی که سرويس FTPمی دهد به عنوان پارامتر ورودی
،جلوی نام FTPدرج شده باشد.
عمل :Login
در صورت برقراری ارتباط بین برنامه کاربر وسرویس دهنده
ftpباید اعتبار کاربر برای سرویس دهنده مشخص شود،هنگامی که
که کاربر معتبر شناخته شدید به شما اجازه ورود به سیستم ftpداده
خواهد شد به اين عمل اصطالحا’’loginگفته می شود.
پروسه ای که اعتبار کاربران را از لحاظ مجوز عبور و سطح
دسترسی ،کنترل مینماید«پروسه ورود »(login processناميده می
شود).
تذکر:با اضافه کردن گزينه -dدر هنگام فراخوانی و اجرای برنامه
ftpمی توان عمل اشکال زدايی انجام داد .با اين گزينه تمام فرامينی
داخلی که بين برنامه ftpوسرويس دهنده مبادله می شوندقابل
مشاهده خواهند بود.
فرايند برقراری يک نشست
کاربر
ديدگاه
از
ftp
:Loginتعیین شناسه کاربری وکلمه عبور و تایید آنها توسط سرویس
دهنده.
:Define directoryتعیین شاخه ای که پس از برقراری ارتباط به
صورت پیش فرض برای شروع عملیات کاربر در نظر گرفته می شود.
:Define file transfer modeتعیین روش انتقال(متنی یا دودویی).
:Start data transferامکان صدور فرمان و انتقال فایل را برای کاربر
فراهم می آورد.
:Stop data transferارتباط را خاتمه می دهد.
انتقال با واسطه در پروتکل
:FTP
FTP این امکان را فراهم می سازد که نظارت بر انتقال
فایلها از طریق ماشین سومی که بین برنامه مشتری و
سرویس دهنده قرار گرفته است ،انجام شود.این رویه به
عنوان «انتقال با واسطه» ( THIRD PARTY
)TRANSFERشناخته شده است وصدور مجوز دسترسی به
سیستم فایل موجود در ماشین سرویس دهنده و نظارت بر
فرامین صادره از طریق این ماشین انجام میگیرد.
استفاده از يک سيستم واسطه سرعت انتقال را افزايش می
دهد.
دسترسی بی نام
به FTP
روش راحت تری برای ایجاد دسترسی عمومی به یک
مجموعه فایل یا دایرکتوری وجود دارد که «FTPبی نام
»خوانده می شود.
با FTPبی نام دیگر نیازی به داشتن مجوز روی یک ماشین
نیستFTP .این کار را با فعال کردن حالت «ورود بی
نام»توسط یک کلمه عبور بنام «مهمان یا»GUESTیا کلمه
عبور پوچ (یک رشته خالی انجام می دهد).
سرويس دهنده های
FTP
بسیاری از ماشینهای unixبصورت پیش فرض به عنوان
سرویس دهنده ftpعمل می کنند.
برای ارائه امکانات سرویس دهنده ،ftpباید هنگام بوت شدن
سیستم عامل ftp daemon،اجرا شده باشد.
دسترسی به سرويس FTPتوسط تعريف فهرست کاربران که در بسته FTP
SERVERقرار دارد کنترل می شود ومی توان با رجوع به منوی userکاربران را تعريف
و مجوزهای دسترسی آنها به سيستم فايل را تنظيم کرد.