分享
 
 
 

RFC385 - Comments on the File Transfer Protocol

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

NWG/RFC385 Abhay K. Bhushan

NIC 11357 MIT-MAC

Updates: RFC354 August 18, 1972

RFC354

COMMENTS ON THE FILE TRANSFER PROTOCOL (RFC354)

------------------------------------------------

The following comments pertain to the File Transfer Protocol, NWG/RFC

354. The comments include errata, further discussion, emphasis

points, and additions to the protocol. I shall incorporate these

comments into the main protocol document after we have had sufficient

eXPerience.

1. Please note the following corrections:

(i) Page 2, line 15: replace user-FTP by server-FTP.

(ii) Page 3, line 12: replace III.A by III.C.

(iii) Page 15, last para, line 1: replace user s by user is.

(iv) Page 28, line 21: replace _CRCRLF_ by _CRLF_.

(v) Page 27, line 10: replace 451,451 by 451.

(vi) Note that on Page 26, line 15 mode code is SBTH.

2. The language of RFC354 reads that it is recommended for

hosts to implement the default parameters. The sense of the

Word recommended should be taken as required. Thus the

required minimum implementations for FTP servers is:

Type - ASCII (8-bit bytes)

Mode - Stream

StrUCture - File

Commands - RETR, STOR, USER (and PASS), SOCK and BYE

3. The "Print File-ASCII" and "EBCIDIC Print File" types are

incorrectly specified (pages 10 and 11, RFC354). The real

problem with print files is of ASA (Fortran) vertical format

control. Instead of the two print file types, there should

really be three types as described below:

BCDIC - The sender transfers data using the EBCDIC

character code and 8-bit transfer byte size.

The _CRLF_ convention is used for vertical format

control. This type will be used for efficient

transfer of EBCDIC files between systems which

use EBCDIC for their internal character

representation.

ASCII with ASA vertical format Control - This is the

"Print file-ASCII" defined in RFC354. The

server is to transform the data in accordance

with ASA (Fortran) vertical format control

procedures for printing on printers that

still use this standard. The data is to be

transferred as 8-bit bytes.

EBCDIC with ASA vertical format control - This is the

EBCDIC Print File defined in RFC354. The

server is to transform the data in accordance

with ASA (Fortran) vertical format control

standards but using the EBCDIC character code.

The data is to be transferred in 8-bit bytes.

The new types are to be denoted by symbols E for EBCDIC, P

for Print file-ASCII and F for Formatted (ASA standard)

EBCDIC print file. A discussion of the ASA vertical format

control appears in NWG/RFC189, Appendix C, and in

Communications of the ACM, Vol 7, No. 10, p. 606, October

1964. According to the ASA vertical format control

standards, the first character of a formatted record is not

printed but determines vertical spacing as follows:

Character Vertical Spacing before printing

--------- --------------------------------

Blank One line

0 Two lines

1 To first line of next page

+ No advance

In addition to the above four, there are more characters

(defined in Appendix C, RFC189) which represent an IBM

extension to the ASA standard.

4. A comparison of "stream" and "text" modes is in order. The

advantages of "stream" mode are:

1) The receiver need not scan the incoming bytes.

2) It is usable with all data types.

The disadvantages are:

1) The EOF by closing the connection is not reliable.

2) The EOR by ASCII _CRLF_ is unreliable as the _CRLF_

really may be valid data rather than an EOR. It is

an EOR only if the sender and receiver have a _prior_

agreement to that effect.

5. In the Block mode the protocol states that left-most bits not

containing information should be zero. It appears that some

sites have difficulty sending null bytes in the beginning of

a block. Since it is really not necessary for these bytes to

be zero, these bits are now defined to be "don't care" bits.

6. In the use of block mode it is possible for two or more

conditions requiring different descriptor codes (suspected

errors and either end of record or end of file) to exist

simultaneously. Such a possibility may be handled by sending

a separate EOR or EOF block with a zero byte count (this is

allowed by the protocol). Also it should be noted that an

EOF is an implicit EOR.

7. It needs to be emphasized again that the user-FTP must

"listen" on the data socket prior to sending a command

requiring a file transfer. Specifically the user-FTP should

not wait for a 255 reply (server data socket) before doing

the "listen". (The security check may be come later, as the

data connection can be closed if connection is to a socket

other than that specified by the 255 reply). Although the

protocol suggests that the 255 reply would be sent before

making the connection, it does not guarantee that the 255

reply would arrive before the initiating RFCat the user

site. The above argument also applies to receiving a a close

(NCP-CLS) on the data connection before receiving a reply

indicating the reason for the close (note assertion on page

24, paragraph 3, RFC354).

8. Although the protocol does not restrict closing or leaving

open the data connection in Block and Text modes, it should

be emphasized that the closing of the data connection, if it

is to be done at all, should be done immediately after the

file transfer rather than just after a new transfer command

is received. This is because the server and user may have to

test whether the data connection is open or not before doing

a "listen" or an "init" respectively.

9. It should be emphasized again that 'Type' supersedes 'Byte',

and that the TYPE command should be sent before the BYTE

command.

10. It should be noted that both upper and lower case alphabetic

characters are to be treated identically in the command

syntax. This applies also to the symbols for type, mode,

and structure. For example, 'A' and 'a' both indicate ASCII

type.

11. It should be noted that in the 'LIST' command, the data

transfer is over the data connection in type ASCII.

12. The following reply code is to be added:

454 FTP: Cannot connect to your data socket.

This is a fail response any of the commands requiring data

transfer (including RETR, STOR, APPE, and LIST)

13. Rather than use the append command for sending mail files, a

new command 'MLFL' (for mail file) is defined. The syntax

of the mail file command is:

MLFL <user>CRLF

where

<user> ::= <empty> <NIC ident> <sys ident>

If the user field is empty or blank (one or more spaces),

then the mail is destined for a printer or other designated

place for site mail. <NIC ident> refers to the standard

identification described in the NIC Directory of Network

Participant. A serving host may keep a table mapping <NIC

ident> into <sys ident>. This would provide for uniform

convenient usage. <sys ident> is the user's normal

identification at the serving HOST. The use of <sys ident>

would allow a network user to send mail to other users who

do not have NIC identification but whose <sys ident> is

known.

The intent of this command is to enable a user at the user

site to mail data (in form of a file) to another user at the

server site. It should be noted that the files to be mailed

are transmitted via the data connection in ASCII type.

These files should be appended to the destination user's

mail by the server in accordance with serving Host mail

conventions. The mail my be marked as sent from the

particular using HOST and the user specified by the 'USER'

command. The reply codes for the "MLFL" command are

identical to that in the "APPE" command, as shown below:

COMMAND SUCCESS FAIL

------- ------- ----

MLFL 250 451,454,500-506

Sec. reply 252 452,453

14. The 'MLFL' command for network mail, though a useful and

essential addition to the FTP command repertoire, does not

allow TIP users to send mail conveniently without using

third hosts. It would be more convenient for TIP users to

send mail over the TELNET connection instead of the data

connection as provided by the 'MLFL' command. The following

'MAIL' command is therefore defined to send mail via the

TELNET connection:

MAIL <user>CRLF

the syntax of <user> is identical to that in the MLFL

command described above. After the 'MAIL' command is

received, the server is to treat the following lines as text

of the mail sent by the user. The mail text is to be

terminated by a line containing only a single period, that

is the character sequence ".CRLF" in a new line. The

following new reply codes are defined to handle the mail

command:

350 Enter mail, terminate by a line with only a '.'

256 Mail completed.

The reply codes are:

COMMAND SUCCESS FAIL

------- ------- ----

MAIL 350 450,451,500-506

Sec Reply 256

15. An additional Access control command called account (ACCT)

is now defined to facilitate accounting in systems such as

TENEX which require in addition to user and password, a

separate account specification. The 'ACCT' command is

different from the 'PASS' command in that it is not

necessarily related to the 'USER' command and may arrive at

any time. For example, a user may transfer different files

using different accounts. The 'ACCT' command has the same

reply codes as the 'PASS' command (230 for success and 430-

432,500-506 for fail). Some servers may require that an

account command must be sent before the user is "logged in".

For suchcases the success reply to the 'PASS' command could

be '330 Enter account'.

16. Since password information is quite sensitive, it is

desirable in general to "mask" it or suppress type out. It

appears that the server has really no fool-proof effective

way to achieve this. It is therefore the user-FTP process

responsibility to hide the sensitive password information.

17. The FTP is an open-ended protocol designed for easy

expandability. Experimental commands may be defined by

sites wishing to implement such commands. These

experimental commands should begin with the alphabetic

character 'X'. Standard reply codes may be used with these

commands. If new reply codes need to assigned, these

should be chosen between 900 and 999. If the experimental

command is useful and of general interest, it shall be

included in the FTP command repertoire.

[ This RFCwas put into machine readable form for entry ]

[ into the online RFCarchives by BBN Corp. under the ]

[ direction of Alex McKenzie. 1/97 ]

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有