PDA

نسخه کامل مشاهده نسخه کامل : TFTPچيست؟



hatef_4541
04-02-2006, 15:44
خلاصه Trivial File Transfer Protocol است که بر روی پورت 69 کار می کند. تفاوت آن با FTP در اینست که FTP از TCP استفده می کند ولی TFTP ازUDP استفاده می کند که البته FTP دارای ثبات و اطمینان قابل قبولی هست در صورتی که TFTP سرعت را برای ما به ارمغان می آورد. نکته جالب توجه در این است که TFTP احتیاجی به پسورد ندارد.
جابجایی در اینجا بدین شکل است که client از server در خواست (نوشتن)write یا (خواندن)read می کند که معمولا همان درخواست Read (PRQ) مورد قبول واقع می شود و با قبول شدن در خواست از سوی سرور ارتباط میان آن دو بر قرار می گردد و جایجایی اطلاعات آغاز می گردد. در ترانسفر packet/block جابجایی تا 512بایت آنجام شده و سپس سرور منتظر جواب دریافت(ACK) از سوی کلاینت میشود و بعد از دریافت جواب دوباره 512 بایت یعدی را می فرستد و برای هر 512بایت این کار تکرار میشود .
هر یک از بلاک های دریافتی به انتهای بلاک قبلی متصل میشود اگر در این حین یکی از packet گم گردد هر دوی کلاینت و سرور یک time-out ایجاد نموده و دوباره همان packet گم شده را ارسال می کند. همیشه فرستنده باید آخرین بلاک را در حافظه نگهداری نمایید تا زمانی که پیام ACK را دریافت نماید البته اگر آخرین بلاک از فایل باشد دیگر احتیاجی به صبر کردن و نگهداری بر روی حافظه نیست.
0 mode 0 Filename 01
پیام های TFTP
خواندن پیام در خواست


01 نشان دهنده 2 بایت از دستور OPcode network byte که طرف مقابل می گویید این یک READمی باشد.
Filename یک رشته null terminated ascii می باشد که نام فایل را به همراه دارد.
Mode یک رشته null terminated ascii می باشد که نوع جابجایی را در خود دارد.

نوشتن پیام در خواست
0 mode 0 Filename 02

توضیحان این بخش هم مثل بالا می باشد با این تفاوت که 01 برای WRITE می باشد.

TFTP Data Packet / Message
Data 0 to 512bytes Block # 03

03 2 بایت از دستور OPcode network byte که می گوید در طرف مقبل داده ها قرار دارد.
Block # 2 بایت از دستور bytes block number network byte
Data 0 to 512bytes همه پکت دیتا ها 512 یایت در خود دارند غیر از آخری

جواب
Block # 04

04 2 بایت از دستور OPcode network byte که معلوم می کند برای طرف دیگر که ACK می باشد.
Block # 2 بایت از دستور block number network byte



انواع Error ها
0 errstring errcode 05

05 2 بایت از دستور OPcode network byteکه به طرف مقابل می گویید این یک Error می باشد.
Errcode 2 بایت از دستور error code network byte می باشد.
Errstring یک رشته null terminated ascii error
و error code ها به ترتیب زیرند:
0 - Not defined.
1 - File not found.
2 - Access violation.
3 - Disk full.
4 - Illegal TFTP operation.
5 - Unknown port.
6 - File already exists.
7 - No such user
و طریقه های TFTP ترانسفر دو دسته می باشند:
1. netascii که برای انتقالtext فایل ها استفاده شده که البته دو طرف باید برای دریافت و فرستادن به این روش آماده باشند
2. octet که برای انتقال فایل هایbinary مورد استفاده قرار می گیرد.
(برداشت ازاد از thedp.netfirms.com)

:)