分享
 
 
 

RFC451 - Tentative proposal for a Unified User Level Protocol

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

Network Working Group M.A. Padlipsky

Request for Comments # 451 MIT-Multics

NIC # 14135 February 22, 1973

Tentative Proposal for a Unified User Level Protocol

Now that proposals for eXPansions to the Telnet Protocol are in vogue

again (RFC's 426 and 435, for example), I'd like to promote some

discussion of a particular favorite of my own. Please note that this is

presented as a tentative proposal: it's an attempt to consider the

desirability of a new approach, not a rigorous specification. To begin

somewhat obliquely, for some time I've felt that we (the NWG) have

fallen into a trap in regard to the Initial Connection Protocol. The

point is that even though the ICP gives us the ability to define a

"family" of ICPlets by varying the contact socket, there's no compelling

reason why we should do so. That we have done so in the FTP and RJEP I

view as unfortunate--but also undesirable and unnecessary.

To take the "undesirable" ASPects first, consider the following: If we

continue to define a new contact socket for every new "user level"

protocol we come up with, we'll continue to need another new mechanism

(process, procedure, or patch) to respond to requests for connection for

each new protocol. By Occam's Razor (or the principle of economy of

mechanism, if you prefer), this is a bad thing. Irrespective of the

relative difficulty of implementing sUCh mechanisms on the various

Hosts, to implement them at all leads to a kind of conceptual clutter.

Further, a different kind of confusion is introduced by the notion which

some of our number seem to be entertaining, that the "later" user level

protocols such as FTP are somehow still another level of abstraction up

from Telnet. So it seems to me that we could spare ourselves a lot of

bother, both practical and theoretical, if we could avoid spawning

contact sockets needlessly.

Turning to the "unnecessary" aspects, I think that even if the case

against the current approach isn't completely convincing the case for a

particular alternative might be. So to show that the multiple contact

socket ICP is unnecessary, I'll try to show that what I call the

"unified user level protocol" (UULP) is better. The first thing to

notice is that all the "later" protocols "speak Telnet". This is

sensible: Telnet works, by and large. Why not make use of it? Right.

But why not make even more use of it? In view of the fact that FTP,

RJEP, and even the initiating part of the Network Graphics Protocol, are

really just ways of letting a user say to a Server "I don't know what

you call it on your system, but please perform the whatever function

(push or pull a file, start or stop a batch job, funnel some of my

output through the Network Virtual Graphics Terminal module) for me now,

why not simply put hooks in Telnet to indicate that a Network Generic

Function is wanted instead of a Host-specific one at a given point in

time? Then everybody can come in through Telnet in ways that are

already known (and usually debugged and optimized) and fan out to other

services through a single mechanism, where that single mechanism can be

whatever is most appropriate to a particular Host. This view has the

additional virtue of keeping the Host "Answering Service"-equivalent

processes out of the act when new protocols come along -- where by

Answering Service, I mean that process which manages logins in general

for a given Host. This process is, of course, a particularly sensitive

one on those systems which worry about accounting and security.

That's all probably a bit vague. Perhaps some idea of how I think the

UULP would work will cast some light on what I think it is. What's

needed is a way of letting the Server know that it's being given a

generic command (I decline to call it a Network Virtual command, but I'm

afraid that might be what I mean) like "STOR" or "RETR" rather than a

local command like "who" or "sys". What could be simpler than defining

a Telnet Control Code (TCC) for "Network Generic Function Follows"? So

if the Server Telnet receives a command line beginning with the NGF TCC

(say, 277 octal), it just feeds the line to the appropriate process or

procedure (depending on the structure of its operating system). This

approach also offers a handy way of communicating back the fact that a

particular protocol or piece thereof isn't available: define a TCC for

"Unimplemented Generic Function". This feels a lot cleaner than having

a close on socket 3 mean anything from "no FTP Server exists here" to

"the FTP Server happens to be busy."

Notice that the UULP automatically provides the answer to such

objections as the one Braden raises in RFC430, that "there is no

mechanism within the FTP for _changing_ a passWord. A user shouldn't

have to use a different protocol ... to merely change his password".

With the UULP, any system which has a password changing ability would

have it available for all user level protocols because all of its

abilities are made available by the generic login. This seems clearly

superior to having to retrofit afterthought after afterthought to the

various user level protocols as we come to realize that life is more

convenient when we get away from the view that each protocol lives in

its own island universe. I understand that one of the main motivations

for going the multiple contact socket route was to avoid syntactic (and

semantic) conflicts between the protocol and the particular Host's

"normal" command processor; however, locking ourselves in to special

command processors exclusively is awfully procrustean. So instead of

cutting off the limbs to fit the bed, why not use the UULP to expand the

bed.

Although this is a tentative proposal and not meant to be a detailed

design spec, one elaboration suggests itself which might make the

general idea more attractive: For ease of implementation on some

systems, it would probably be a good idea to define additional TCC's for

"Begin User Protocol". That is, the user side starts the FTP by sending

the "Begin FTP" Telnet Control Code, waits for the Server to send either

the same code or the one for "Unimplemented Generic Function", and then

proceeds (or not) to send STOR's and RETR's and the like. (It could

also follow the "I will"/"I won't" style discipline of RFC435 if we

like.) Probably each line is preceded by the Network Generic Function

TCC so that systems which don't pass input off to some other process can

still distinguish between input to the system command processor and

input to the procedure(s) which perform(s) the protocol in question,

although perhaps it would be preferable to have an "End Protocol" TCC.

Now, I'm the first to admit that what makes sense to me, on my system,

may not make sense on somebody else's. But it does seem plausible to me

that the unified user level protocol I've sketched here ought to be no

harder to implement than the multiple contact socket (MCS) ICP is. And

the advantages of the UULP over the MCS ICP in terms of ease of

extension and (at least in my mind, if not in this paper) clarity make

it seem worthwhile to consider further. So rather than try to refine it

here, let me simply ask for comments both on the general notion and on

the necessary iteration of the design from sketch to spec. (The Multics

scenario in ICCC booklet shows how to get "mail" to me, for those who

don't feel like RFCing or phoning.)

[ This RFCwas put into machine readable form for entry ]

[ into the online RFCarchives by Alex McKenzie with ]

[ support from GTE, formerly BBN Corp. 9/99 ]

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
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- 王朝網路 版權所有