TCP/IP协议基础及简介
lzqheaven714 · 2008-11-26 17:27 · 42643 次点击
早期的电脑﹐并非如我们日常生活中见到的个人PC那样细小﹔它们大都是以一个集中的中央运算系统﹐用一定的线路与终端系统(输入输出设备)连接起来。这样的一个连接系统﹐就是网路的最初出现形式。
各个网路都使用自己的一套规则协定﹐可以说是相互独立的。
在1969年﹐为美苏冷战期间﹐美国政府机构试图发展出一套机制﹐用来连接各个离散的网路系统﹐以应付战争危机的需求。这个计划﹐就是由美国国防部委托AdvancedResearchProjectAgency发展的ARPANET网路系统﹐研究当部份电脑网路遭到工具而瘫痪后﹐是否能够透过其他未瘫痪的线路来传送资料。
ARPANET的构想和原理﹐除了研发出一套可靠的资料通讯技术外﹐还同时要兼顾跨平台作业。后来﹐ARPANET的实验非常成功﹐从而奠定了今日的网际网路模式﹐它包括了一组电脑通讯细节的网路标准﹐以及一组用来连接网路和选择网路交通路径的协定﹐就是大名鼎鼎的TCP/IP网际网路协定。时至1983年﹐美国国防部下令用于连接长距离的网路的电话都必须适应TCP/IP﹐同时DefenseCommunicationAgency(DCA)将ARPANET(AdvancedResearchProjectsAgencyNet)分成两个独立的网路﹕一个用于研究用途﹐依然叫做ARPANET﹔另一个用于军事通讯﹐则称为MILNET(MilitaryNetwork)。
ARPA后来发展出一个便宜版本﹐以鼓励大学和研究人员来采用它的协定﹐其时正适逢大部份大学电脑学系的UNIX系统需要连接它们的区域网路。由于UNIX系统上面研究出来的许多抽象概念与TCP/IP的特性有非常高度的吻合﹐再加上设计上的公开性﹐而导致其它组织也纷纷使用TCP/IP协定。从1985年开始﹐TCP/IP网路迅速扩展至美国﹑欧洲好几百个大学﹑政府机构﹑研究实验室。它的发展大大超过了人们的预期﹐而且每年以超过15%的速度成长﹐到了1994年﹐使用TCP/IP协定的电脑已经超过三百万台之多。及后数年﹐由于Internet的爆炸性成长﹐TCP/IP协定已经成为无人不知﹑无人不用的电脑网路协定了。
TCP/IP之标准制定
虽然ARPA计划从1970年就开始发展交换网路技术﹐到了1979年ARPA组织了一个委员会叫做IniternetControlandConfigurationBoard(ICCB)﹐但事实上TCP/IP协定并不属于某一特定厂商和机构。它的标准是由InternetArchitectureBoard(IAB)所制定的。IAB目前从属于TheInternetSociety(ISOC)﹐专门在技术上作监控及协调﹐且负责最终端评估及科技监控。
IAB组织除了自身的委员会之外﹐它主要包含两个主要团体﹕InternetResearchTaskForce(IRTF)﹐和InternetEngineeringTaskForce(IETF)。这两个团体的职能各有不同﹐IRTF主要致力于短期和中期的难题﹔而IETF则着重处理单一的特别事件﹐其下又分出许多不同题目的成员与工作小组﹐各自从事不同的研究项目﹐研发出网际网路的标准与规格。
由于TCP/IP技术的公开性﹐它不属于任何厂商或专业协会所有﹐因此关于它的相关资讯﹐是由一个叫InternetNetworkInformationCenter(INTERNIC)来维护和发表﹐以及处理许多网路管理细节(如DNS等)。TCP/IP的标准大部份都以RequestForComment(RFC)技术报告的形式公开。RFC文件包含了所有TCP/IP协定标准﹐以及其最新版本。RFC所涵盖的内容和细节非常广﹐也可以为新协定的标准和计划﹐但不能以学术研究论文的方式来编辑。RFC有许多有趣且实用的资讯﹐并非仅限于正式的数据通讯协定规范而已。
RFC在全世界很多地方都有它的复制文件﹐可以轻易透过电子邮件﹑FTP等方式从网际网路取得。例如﹐您可以可以用guest的身份FTP至ds.internic.net或ftp://nic.merit.edu/internet/documents/rfc/下载相关的RFC文件。
RFC是依据其所写的时间顺序来编号的﹐不过RFC1000这份文件﹐可以用来做RFC文件的指引﹐却是一个不错的起始点。阅读及研究RFC﹐恐怕是每一个网络系统管理员必不可少的题目了吧。
TCP/IP的应用
TCP/IP可以用在任何互连网路上的通讯﹐其可行性在许多地方都已经得到证实﹐包括了家庭﹑校园﹑公司以及全球61个国家实验室。例如在美国就有NationalScienceFoundation(NFS)﹑DepartmentofEnergy(DDE)﹑DepartmentofDefense(DOD)﹑HealthandHumanServicesAgency(HHS)﹐以及NationalAeronauticsandSpaceAndyistration(NASA)﹐等大机构投注了相当大的资源来开发和应用TCP/IP网路。
这些技术的应用﹐让所有与网路相连的研究人员能够和全世界的同僚们共同分享资料和研究成果﹐感觉就像隔壁一样。网路证明了TCP/IP的可行性和它优秀的整合性﹐使之能适应各种不同的现行网路技术。对今天的网路发展局面来说﹐TCP/IP的实作可以说是一个卓越的成就。
TCP/IP协定不仅成功的连接了不同网路﹐而且许多应用程式和概念也是完全以TCP/IP协定为基础发展出来,从而让不同的厂商能够忽略硬体结构开发出共同的应用程式﹐例如今天应用广泛的WWW﹑E-MAIL﹑FTP﹑DNS服务等等。
TCP/IP的特性
对于一个电子邮件的使用者来说﹐他无需透彻了解TCP/IP这个协定﹔但对于TCP/IP程式人员和网路管理人员来说﹐TCP/IP的一些特性却是不能忽略的﹕
·ConnectionlessPacketDeliveryService
它是其它网路服务的基础﹐几乎所有封包交换网路都提供这种服务。TCP/IP是根据信息中所含的位址资料来进行资料传送﹐它不能确保每个独立路由的封包是可靠和依序的送达目的地。在每一个连线过程中﹐线路都不是被“独占”的﹐而是直接映对到硬体位址上﹐因此特别有效。更重要的是﹐此种封包交换方式的传送﹐使得TCP/IP能适应各种不同的网路硬体。
·ReliableStreamTransportService
因为封包交换并不能确保每一个封包的可靠性﹐因此我们就需要通讯软体来自动侦测和修复传送过程中可能出现的错误﹐和处理不良的封包。这种服务就是用来确保电脑程式之间能够建立连接和传送大量资料。关键的技术是将资料流进行切割﹐然后编号传送﹐然后透过接收方的确认(acknowledgement)来保证资料的完整性。
·NetworkTechnologyIndependent
在封包交换技术中﹐TCP/IP是独立与硬体之上的。TCP/IP有自己的一套资料包规则和定义﹐能应用在不同的网路之上。
·UniversalInterconnection
只要电脑用TCP/IP连接网路﹐都将获得一个独一无二的识别位址。资料包在交换的过程中﹐是以位址资料为依据的﹐不管封包所经过的路由之选择如何﹐资料都能被送达指定的位址。
·End-to-EndAcknowledgements
TCP/IP的确认模式是以“端到端”进行的。这样就无需理会封包交换过程中所参与的其它设备﹐发送端和接收端能相互确认才是我们关心得。
·ApplicationProtocolStandards
TCP/IP除了提供基础的传送服务﹐它还提供许多一般应用标准﹐让程式设计人员更有标准可依﹐而且也节省了许多不必要的重复开发。
正式由于TCP/IP具备了以上那些有利特性﹐才使得它在众多的网路连接协定中脱颖而出﹐成为大家喜爱和愿意遵守的标准。
TCP/IP在网路中所扮演的角色
TCP/IP的全称是TransmissionControlProtocol/InternetProtocol(TCP/IP)﹐当初是用来配合ARPANET来处理不同硬体之间的连接问题的﹐比如Sun系统和Mainframe﹑Mainframe和个人电脑之间的连接。
InternetProtocol(IP)工作于网路层﹐它提供了一套标准让不同的网路有规则可循﹐当然﹐前提是您想使用IP从一个网路将封包路由到另一个网路。IP在设计上是用来在LAN和LAN及PC和PC之间进行传输﹐每一台PC或每一个LAN﹐都可以由一组IP位址来区分。一个IP位址的格式是四个用小数点(.)分隔开来的十进位数字﹐每各数值介乎于0到255之间。实实上,每一组数字﹐在IP位址中是以“Octet”的格式承现的,也就是完整的8个bit。我们会在后面的「网际网路层」中详细讲解IP位址的所包含的信息和功用。
您可以把IP看成是游戏规则﹐而TCP则用来诠释这些规则的﹐更准确来说﹐TCP在IP的基础之上﹐解释了参与通讯的双方是如何透过IP进行资料传送的。TCP提供了一套协定﹐能够将电脑之间使用的资料透过网路相互传送﹐同时也提供一套机制来确保资料传送的准确性和连续性。
虽然TCP/IP原先是专门为几所大学和机构的使用而设计的﹐但现在TCP/IP已经成为最流行的通讯协定了﹐我们使用的Internet就是用TCP/IP来传送封包的。