一:摘要
在这个文档里,我们证实那些认为符合DoD(美国国防部)标准的TCP和IP协议不适
合局域网的观点是不正确的.这个文档是和M82-47,M82-49,M82-50,andM82-51紧密联系
的.
二:主旨
这篇论文的主旨是否定那种认为TCP协议用在局域网是一种woozle的观点.为了达到
这一点,我们需要知道什么是woozle,什么是LAN,什么是TCP.
1:Woozles(一种可怕的动物)
第一个问题相当简单[1]:
一个晴朗的冬日,Piglet正在扫它家门前的雪.他忽然发现Pooh在不停的绕圈圈,似乎想
着什么问题.于是Piglet对他说:"
"喂,你在干什么?"
"猎取."
"猎取什么啊?"
"跟踪难题."Pooh神秘的说.
"什么难题?"
"这正是我在想的问题,我在跟踪什么问题?"
"你觉得有答案了吗?"
"还没有.看那."Pooh指着它前面的地面说:"那是什么?"
"雪痕,动物的爪痕"Piglet兴奋的尖叫到,",你不觉得这是一个Woozle吗!"
于是他们互相是对方相信这就是一个Woozle,一种可怕的动物.他们害怕起来,直到
ChristopherRobin来告诉他们说他们看到的只不过是自己的脚印.
其实,这就像我们害怕TCP协议用在局域网中一样.我们误解了协议和环境本身,尔非技
术上不答应.
2:局域网
第二个问题就不那么简单了.一般来说,局域网是一种短距离(几千米),高传输速率(大于
几百kbps),低误码率的通信机制(子网).它首先使得计算机(主机)之间能够通信,;其次,答应网
络打印机和TCP协议终端与主机通信,尽管这一点不是必须的.
这样,从原则上讲,主机是异类的.它们不是相同操作系统的叠加.为了达到ARPANET称
作"资源共享"和ISO称作"开放系统互连"的目标,主机之间通过层次协议进行通信.通信方式
是主机到主机(点到点)或广播方式.(在一些非凡环境中,例如Ethernet,吸引人的方式是广播;在
另一些环境,例如ARPA-和ISO-标准的"Internet",广播方式是如此的昂贵一直与它不可能被
实现.)
对于局域网的实现介质和拓扑结构,我们没作任何假定.局域网介质可能是双绞线,CATV,
同轴电缆,光纤等.假如介质采用处理器到处理器的总线,那这个系统更像分布式多操作系统.
因微处理器不能用ARPANET或ISO的层次协议.像"PDSC"(thePacificDataServiceCenter)
和"NMIC"(theNationalMilitaryIntelligenceCenter)系统都不是局域网.
局域网的拓扑结构可能是总线,环网,或星型.从这一点来说数字PBX是一个局域网,因
为它有传输介质能提供资源共享和开放互连,虽然不能保证传输率和误码率.从拓扑结构来说,
它是中心星型结构.
对于我们来说,局域网的诱人性质是它的高数据传输率和低误码率.显见,实现这个性质
的传输介质不能用为长距离通信网络而设计的TCP协议(我们并没有把带宽的浪费归结为数
据包头.[2].pp.1509f,提供了对传统的通信方式的反驳.)假如你想做的只是让一些终端连接上
一些主机,你根本不需要任何网络协议,你所做的只能被称为LCN,而不是我们讨论的LAN.
3:TCP
第三个我们需要知道的既直接又微妙.完全依靠我们对ARPANET标准协议的理解:直观
上来说,Figure1和Figure2都需要表述清楚,它们意味着ARPANET标准协议并非一个整体,
而是层次结构.为了更清楚的说明这个问题,我们认为:TCP协议是一个主机对主机协议(近似
等价于ISO标准协议的第五层).它的最显著的性质是提供了可靠的逻辑上的连接.(这一点稍
候又会提到.)TCP协议协议的另一个显著性质是它是为Catenet(或者说是Internet)而设计的,
也就是说连接在不同通信子网上的主机之间可以像Catenet上的主机一样通信.TCP协议的其
它性质,像数据流控制,逻辑连接治理等很轻易设计啦.
因为TCP协议的独特的地址机制(就是说,它用二维整体来表示外部主机地址,因为它不
知道主机是否和它在同一个子网上),它需要一个接口(IP协议)来处理不同子网的信息.这种接
口就是IP协议.尽管IP协议协议被设计为和TCP协议协议独立,但它为主机间的数据传输提
供了基础.
为了处理不同子网的问题,IP协议拥有下面的性质:IP协议察看一张保存有离一个主机
最近的子网的信息(如优先级,服务等级,安全标记)的表,从而决定一个因特网地址是不是在这
个子网上;假如是,它就把信息发送给这个子网,否则,它把信息发送给网关(它有另一个IP协议
模块).可见,IP协议协议处理因特网路由,而TCP协议协议处理因特网寻址.因为一些子网传输
能力差,只能传输小数据包,IP协议协议还应该能把大数据包分割成适合相应子网的大小.最
后,IP协议协议应该提供一种机制,使得它能被其它协议辨认出来.(这是靠层次原则来实现的:
你不需要了解IP协议所传输的数据,只需要了解IP协议要干什么.)
现在看起来有一点麻烦,因为有太多的机制.(更完整的讨论,清参考文献[4]).但这些已足
够证实我们的观点.一种未公开的协议是UDP协议-------用户数据报协议.UDP协议更强调速
率而不是正确率,它是不可靠的.对于UDP协议协议来说,任何一个数据包都建立一个逻辑连
接..这样,假如你想多路传输数据,你应该用UDP协议而非TCP协议.
三:局域网上的TCP协议
不管你的主机是否属于一个局域网,也不管你是否了解TCP/IP协议,假如你要与因特网
上的另一台主机通信,你必须用TCP协议.假如你想做一些网络上的应用(ISO标准协议上的
第5层的部分服务和全部第6,7层),就需要TCP/IP协议,因为它通过逻辑连接提供了可靠性,
数据流控制,次序控制等内容.但假如你的应用不需要TCP协议的性质,就不要用它,不管你
是在干什么.假如你想跟同一个网络上的主机通信,你可以自己设计一个协议,但这通常是极
其糟糕的.假如你想让自己的网络保持自然状态,TCP/IP协议根本不会阻碍你.但应该提醒你,
你的应用多需要主机对主机的协议,因此,除非你想搞一个真正并行的东西……否则,主机间
的协议是必不可少的.
现在我要讨论性能问题啦.这是一个非常细节化的问题.应该指出一点:在考虑可靠性的前
提下,许多人(包括我)都为TCP协议而汗颜.因为研究机构在好多种类型的主机上的实验表明:
虽然TCP协议协议友好的容错性,但它只有12%的效率.这让我们考虑又没有必要换一种主机
对主机间的协议来替代TCP协议.(假如有这样一种协议,它也应该有TCP协议协议的可靠性
这个优点.因为你是在做TCP协议,而不是LCN,像前边提到一样.)
抓住这只Woozle!
四:其它性质
下面将阐述TCP/IP的其它性质:
1. TCP/IP可以用在两个完全不同的操作系统之间;
2. TCP/IP已经应用好几年了;
3. IP层不限制子网提供的接口协议(尽管其中的一些是一种浪费);
4. IP层不限制它的使用者,只要子网提供路由(不像X.25);
5. IP协议的网关同样拥有3和4的性质;
6. TCP/IP符合DoD标准;
7. 应用协议和文件传输协议(包括Email)已经存在并被用在许多不同的操作系统
上;
8. TCP/IP是受到美国国防部协议标准的支持的;
9. 研究机构报告的最新数据是:
SUBNET
SUBNET
PHONELINE
实际值(kb/s)
300
1.2k
9.2
理论值(kb/s)
800
9.2k
9.6
因为性质8,没有其它协议比TCP/IP更适合.非凡注重上面的性质不该被误解为局域网
上TCP/IP协议的性能分析的一种限制.(但你应该知道局域网中性能分析的困难:1.用一种备
选协议来测量比较困难;2.大部分主机不能产生如你所设想的高数据产生率.)这样就像是限
制了TCP/IP协议的运用.
五:其它有用的数据
到这里,我们已经把问题讨论清楚,但进一步分析主机的性能是合理的,假如仅仅想搞清
楚前面的讨论.主机终端是刷新模式,每一屏的内容有16ms.那么中断1秒钟能刷新多少次?我
们知道,硬盘寻道时间是17ms,数据从硬盘提取出来要2ms,假如数据传输到网络有1ms,那么
加起来就要20ms,尽管主机什么也没做.假如本地硬盘的I/O速率是16kb,那么1秒钟,主机只
能提供50屏/秒的刷新率,大约800kb/s,这个速率符合TCP协议的速率(见性质9).在一个实际
的系统中,主机看起来达不到这个速率.(主机数据传输速率的分析是困难的,因为它依靠系统
内部的性能.因为经典操作系统的本质,如进程间共享栈的需要,输入数据占据内存的需要时
的不可能得到比你所能产生的传输率更高的数据传输率.)
六:结论:
认为TCP协议协议不能用于局域网的看法是没有任何根据的.TCP协议协议完全能
用于局域网中,实现主机之间的通信.
七:参考文献
[1]Milne,A.A.,"Winnie-the-Pooh",variouspublishers.
[2]TheLANdescriptionisbasedonClark,D.D.etal.,"An
IntrodUCtiontoLocalAreaNetworks,"IEEEProc.,V.66,N.
11,November1978,pp.1497-1517,severalyear'sworthof
conversationswithDr.Clark,andtheauthor'sobservations
ofboththeopenliteratureandtheOralTradition(which
weresufficientlywell-thoughtoftohavepromptedTheMITRE
Corporation/NBS/NSALocalNets"BrainPickingPanel"tohave
solicitedhistestimonyduringtheyearhewasinFACC's
employ.*)
[3]TheTCP/IPdescriptionsarebasedonPostel,J.B.,
"InternetProtocolSpecification,"and"TransmissionControl
Specification"inDARPAInternetProgramProtocol
Specifications,USCInformationSciencesInstitute,
September,1981,andonmorethan10years'worthof
conversationswithDr.Postel,Dr.Clark(nowtheDARPA
"InternetArchitect")andDr.VintonG.Cerf(co-originator
ofTCP),andonnumerousdiscussionswithseveralother
membersoftheTCP/IPdesignteam,onhavingeditedthe
referenceddocumentsforthePSTP,and,forthatmatter,on
havingbeenoneofthedevelopersoftheARPANET"Reference
Model."
[4]Padlipsky,M.A.,"APerspectiveontheARPANETReference
Model",M82-47,TheMITRECorporation,September1982;also
availableinProc.INFOCOM'83.
________________
*Inallhonesty,asfarasIknowIstartedtherumorthatTCP
mightbeoverkillforaLANatthatmeeting.AtthenextTCP
designmeeting,however,theyseparatedIPoutfromTCP,and
everything'sbeenalrightforaboutthreeyearsnow--except
forgettingtherumorkilled.(I'dworryaboutWoozles
turningintoroostingchickensifitweren'tforthefacts
that:1.Peopletendtoignoretheirlocalguru;2.Iwas
tryingtoencouragetheIPseparation;and3.AllIever
wantedwassomeempiricaldata.)
NOTE:FIGURE1.ARMintheAbstract,andFIGURE2.ARMS,
SomewhatParticularized,maybeoBTainedbywritingto:Mike
Padlipsky,MITRECorporation,P.O.Box208,Bedford,
Massachusetts,01730,orsendingcomputermailto
Padlipsky@USC-ISIA.