Download presentation
Presentation is loading. Please wait.
1
پروتکل TELNET مظفر بگ محمدی Netprog: TELNET
2
Telnet Telnet در اواخر دهه ی ۶۰ میلادی مطرح شد و معمولاً تحت عنوان اولین کاربرد شبکه شناخته میگردد. RFC های متعددی در این خصوص وجود دارند که در انتهای این سخنرانی لیست شدهاند. از مدل مشتری خدمتگزار استفاده میکند و یک راه استاندارد برای تعامل با خدمتگزار راه دور را ارائه میدهد. پروتکل Telnet پایه و اساس پروتکلهای زیادی مثل FTP, HTTP, SMTP, NTTP و ... است. این پروتکلها یک اتصال Telnet برقرار نمیکنند،، بلکه از خود پروتکل استفاده میکنند. Netprog: TELNET
3
Telnet (2) اگر چه telnet باید خیلی ساده باشد، اما این طور نیست.
Netprog: TELNET
4
TELNET vs. telnet TELNET یک پروتکل است که یک خدمت”عمومی، دوجهته و بایت گرا“ ارائه میکند. telnet یک برنامه است که TELNET را روی TCP پیاده کرده است. Netprog: TELNET
5
پروتکل TELNET ارتباط TCP
داده و فرامین کنترلی روی یک اتصال ارسال میشوند. Network Virtual Terminal مذاکره ی گزینه ها Netprog: TELNET
6
ترمینال مجازی شبکه تمام ارتباطها از یک ترمینال استاندارد به اسم NVT استفاده میکنند. مشتری ورودیها را می گیرد، به NVT ترجمه میکند و به خدمتگزار میفرستد. خدمتگزار نیز آنها را به قالب خودش ترجمه میکند. فرامین کنترلی Telnet به همراه داده ارسال میشوند تا اعمال مورد نیاز عملکرد پروتکل انجام شوند. Netprog: TELNET
7
ترمینال مجازی شبکه فرآیند خدمتگزار NVT NVT TCP TCP Netprog: TELNET
8
Telnet Netprog: TELNET
9
کدهای کنترلی NVT ASCII سه کد اجباری: 0, Null 10, Line Feed
هیچ کاری نکن، تاثیری روی خروجی ندارد. 10, Line Feed چاپگر را به خط بعدی می برد، اما موقعیت عموی آن تغییر نمیکند. 13, Carriage Return چاپگر را به حاشیه ی سمت چپ خط جاری میبرد. Netprog: TELNET
10
کدهای کنترلی NVT ASCII (۲)
کدهای اختیاری 7, Bell 8, Back Space موقعیت چاپگر را یک کاراکتر به عقب تغییر میدهد. 9, Horizontal tab 11, Vertical Tab دستگاهها میتوانند روی tab ها با هم توافق کنند. 12, Form Feed صفحه ی بعدی یا پاک کردن صفحه و قرار دادن مکاننما در ابتدای صفحه Netprog: TELNET
11
کدهای کنترلی NVT ASCII (۳)
نشانگر انتهای خط کامپیوترهای مختلف از استانداردهای متفاوتی برای نشانگر انتهای خط استفاده می کنند. لذا CR+LF به عنوان نشانگر انتهای خط تعریف شده است. Netprog: TELNET
12
گزینههای توافقی تمام NVT ها از مجموعه ی حداقلی از قابلیتها پشتیبانی می کنند. اما بعضی ترمینالها قابلیتهای بیشتری دارند. دوطرف روی گزینههای که هر دو طرف قبول دارند به توافق میرسند ( مجموعه ی کاراکترها، مدهای اکو و ...) مدهای اکو: هیچ کدام اکو نمیکنند. یکی از دو طرف برای خودش اکو میکند. یکی ازطرفین برای دیگری اکو میکند. هر دو طرف برای خودشان اکو می کنند. یکی از طرفین برای هر دو اکو میکند. Netprog: TELNET
13
گزینههای توافقی پروتکل درخواست قابلیتهای اختیاری خوش تعریف است و شامل قوانینی است که از وقوع حلقه در مذاکره جلوگیری می کنند. مجموعه ی گزینهها جزء پروتکل TELNET نیست، لذا می توان بدون تغییر TELNET از گزینه های جدید استفاده کرد. Netprog: TELNET
14
مثالهایی از گزینهها مد خط در مقابل مد کاراکتر مدهای اکو
مجموعه ی کاراکترها (EBCDIC vs. ASCII) Netprog: TELNET
15
عملکردهای کنترلی TELNET از مجموعه ای از عملکردهای کنترلی پشتیبانی میکند که بین تمام خدمتگزارها مشترک است. Interrupt Process (IP) معلق کردن یا خاتمه ی فرآیند. Abort Output (AO) فرآیند ادامه پیدا میکند، اما چیزی روی خروجی نمایش داده نمی شود. Are You There (AYT) برای چک کردن زنده بودن طرف مقابل Netprog: TELNET
16
عملکردهای کنترلی Erase Character (EC) Erase Line (EL)
آخرین کاراکتر ارسالی را حذف می کند. معمولاً برای اصلاح ورودی استفاده میشود. Erase Line (EL) تمام دادههای خط جاری را حذف کن. Netprog: TELNET
17
ساختار دستور تمام دستورات TELNET و جریانهای داده از طریق یک اتصال TCP فرستاده میشوند. هر دستور توسط یک کاراکتر ویژه به اسم کاراکتر Interpret as Command یا (IAC) شروع میشوند. کد IAC برابر 255 است. اگر بخواهیم IAC را به عنوان داده بفرستیم، باید دو 255 بفرستیم. Netprog: TELNET
18
جستجوی دستورات گیرنده به تمام بایتهای دریافتی نگاه می کند و آنها را با IAC مقایسه میکند. اگر IAC را پیدا کرد و بایت بعدی هم IAC بود، یک بایت که مقدار آن ۲۵۵ است به کاربرد یا ترمینال فرستاده میشود. اگر IAC را پیدا کرد و بعد از آن یکی از کدهای TELNET قرار داشت، دستور مربوطه را اجرا میکند. Netprog: TELNET
19
دستورات WILL option (برای فعال کردن یک گزینه)
پاسخ دو حالت دارد: یا برابر گزینه ی DO است، یعنی با گزینه موافقم و آنرا فعال کردهام. یا برابر گزینه ی DONT است، یعنی از این گزینه استفاده نکن. WONT option (برای غیر فعال کردن یک گزینه) پاسخ باید برابر DONT باشد، یعنی گزینه را خاموش کردم. Netprog: TELNET
20
کد دستورات IP 243 AO 244 AYT 245 EC 246 EL 247 WILL 251 WON’T 252
DO 253 DON’T 254 IAC 255 Netprog: TELNET
21
گزینه های Telnet اگر یک گزینه به پارامترهای بیشتری نیاز داشته باشد:
از دستورات SB (subnegotiation) و SE (end subnegotiation ) استفاده میکنیم. مثال: توافق روی نوع ترمینال IAC WILL Terminal-type IAC DO Terminal-type IAC SB terminal-type SEND IAC SE IAC SB TERINAL-TYPE IS <type> IAC SE Netprog: TELNET
22
تمرین TELNET می توانید از برنامه ی telnet برای تمرین پروتکلTELNET استفاده کنید. telnet یک مشتری عمومی TCP است. هر چه که تایپ کنید به سوکت TCP میفرستد. هر چه به سوکت TCP برگردد را چاپ میکند. برای آزمایش خدمتگزارهای TCP (پروتکلهای مبتنی بر اسکی) از آن استفاده میشود. Netprog: TELNET
23
بعضی خدمتگزارهای TCP قابل استفاده
اکثر سیستمهای یونیکس از خدمات زیر به طور پیش فرض پشتیبانی میکنند. echo port 7 discard port 9 daytime port 13 chargen port 19 Netprog: TELNET
24
telnet hostname port > telnet rcs.rpi.edu 7
Trying Connected to cortez.sss.rpi.edu ( ). Escape character is '^]'. Hi dave stop it ^] telnet> quit Connection closed. Netprog: TELNET
25
telnet vs. TCP همه ی خدمتگزارهای TCP از TELNET استفاده نمی کنند.
برای دیدن لیست دستورات TELNET از ^]help استفاده کنید. Netprog: TELNET
26
RFC ها اولین RFC مربوط به Telnet در سال ۱۹۷۱ منتشر شد. (RFC 97)
Telnet Protocol Specification, تحت عنوان RFC 854 در سال 1983 منتشر شد. Telnet Option Specifications در RFC 855 قرار دارد. Netprog: TELNET
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.