VintonG.Cerf(温顿瑟夫)简介互联网基础协议——TCP/IP协议和互联网架构的联合设计者之一,被称为互联网之父。生于1943年,童年时酷爱算术和科学,1965年在斯坦福大学获得了数学学士学位。曾就职于IBM公司,1967年,考取了美国加州大学研究生院,取得计算机科学博士学位。1972年-1976年,任教斯坦福大学。其间与RobertKahn一道领导TCP/IP协议的研发小组,为ARPANET成功开发了主机协议,使ARPANET成为第一个大规模的数据包网络。1997年12月,获得美国国家技术勋章。Cerf博士现任ICANN(互联网名字和号码分配机构)主席,兼任美国MCI公司技术战略高级副总裁。TCP/IP参考模型与协议TCP/IP(TransmissionControlProtocol/InternetProtocol的简写,中文译名为传输控制协议/互联网络协议)协议是Internet最基本的协议,简单地说,就是由底层的IP协议和TCP协议组成的。TCP/IP协议的开发工作始于70年代,是用于互联网的第一套协议。美苏冷战期间﹐美国政府机构试图发展出一套机制﹐用来连接各个离散的网络系统﹐以应付战争危机的需求。这个计划﹐就是由美国国防部委托AdvancedResearchProjectAgency发展的ARPANET网络系统﹐研究当部份电脑网络遭到工具而瘫痪后﹐是否能够透过其他未瘫痪的线路来传送资料。ARPANET的构想和原理﹐除了研发出一套可靠的资料通讯技术外﹐还同时要兼顾跨平台作业。后来﹐ARPANET的实验非常成功﹐从而奠定了今日的网际网络模式﹐它包括了一组电脑通讯细节的网络标准﹐以及一组用来连接网络和选择网络交通路径的协定﹐就是大名鼎鼎的TCP/IP网际网络协定。ARPA后来发展出一个便宜版本﹐以鼓励大学和研究人员来采用它的协定﹐其时正适逢大部份大学电脑学系的UNIX系统需要连接它们的区域网络。由于UNIX系统上面研究出来的许多抽象概念与TCP/IP的特性有非常高度的吻合﹐再加上设计上的公开性﹐而导致其它组织也纷纷使用TCP/IP协定。从1985年开始﹐TCP/IP网络迅速扩展至美国﹑欧洲好几百个大学﹑政府机构﹑研究实验室。它的发展大大超过了人们的预期﹐而且每年以超过15%的速度成长﹐到了1994年﹐使用TCP/IP协定的电脑已经超过三百万台之多。及后数年﹐由于Internet的爆炸性成长﹐TCP/IP协定已经成为无人不知﹑无人不用的电脑网络协定了。这些技术的应用﹐让所有与网络相连的研究人员能够和全世界的同僚们共同分享资料和研究成果﹐感觉就像隔壁一样。网络证明了TCP/IP的可行性和它优秀的整合性﹐使之能适应各种不同的现行网络技术。对今天的网络发展局面来说﹐TCP/IP的实作可以说是一个卓越的成就。TCP/IP协议:世界上有各种不同类型的计算机,也有不同的操作系统,要想让这些装有不同操作系统的不同类型计算机互相通讯,就必须有统一的标准。TCP/IP协议就是目前被各方面遵从的网际互联工业标准。TCP/IP的特点TCP/IP协议有一些重要的特点,以确保在特定的时刻能满足一种重要的需求,即世界范围的数据通信。其特点包括:1.开放式协议标准。可免费使用,且与具体的计算机硬件或操作系统无关。2.与物理网络硬件无关。这就允许TCP/IP可以将很多不同类型的网络集成在一起,它可以适用于以太网、令牌环网、拨号线、X.25网络以及任何其它类型的物理传输介质。3.通用的寻址方案。该方案允许任何TCP/IP设备唯一的寻址整个网络中的任何其他设备,该网络甚至可以象全球Internet那样大。4.各种标准化的高级协议。可广泛而持续地提供多种用户服务。TCP/IP整体构架概述TCP/IP协议并不完全符合OSI的七层参考模型。传统的开放式系统互连参考模型,是一种通信协议的7层抽象的参考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬件在相同的层次上相互通信。而TCP/IP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。从协议分层模型方面来讲,TCP/IP由四个层次组成:网络接口层、网间网层、传输层、应用层。其中:网络接口层这是TCP/IP软件的最低层,负责接收IP数据报并通过网络发送之,或者从网络上接收物理帧,抽出IP数据报,交给IP层。网间网层负责相邻计算机之间的通信。其功能包括三方面。一、处理来自传输层的分组发送请求,收到请求后,将分组装入IP数据报,填充报头,选择去往信宿机的路径,然后将数据报发往适当的网络接口。二、处理输入数据报:首先检查其合法性,然后进行寻径--假如该数据报已到达信宿机,则去掉报头,将剩下部分交给适当的传输协议;假如该数据报尚未到达信宿,则转发该数据报。三、处理路径、流控、拥塞等问题。传输层提供应用程序间的通信。其功能包括:一、格式化信息流;二、提供可靠传输。为实现后者,传输层协议规定接收端必须发回确认,并且假如分组丢失,必须重新发送。应用层向用户提供一组常用的应用程序,比如电子邮件、文件传输访问、远程登录等。远程登录TELNET使用TELNET协议提供在网络其它主机上注册的接口。TELNET会话提供了基于字符的虚拟终端。文件传输访问FTP使用FTP协议来提供网络内机器间的文件拷贝功能。OSI中的层功能TCP/IP协议族应用层文件传输,电子邮件,文件服务,虚拟终端TFTP,HTTP,SNMP,FTP,SMTP,DNS,RIP,Telnet表示层数据格式化,代码转换,数据加密没有协议会话层解除或建立与别的接点的联系没有协议传输层提供端对端的接口TCP,UDP网络层为数据包选择路由IP,ICMP,OSPF,BGP,IGMP,ARP,RARP数据链路层传输有地址的帧以及错误检测功能SLIP,CSLIP,PPP,MTU物理层以二进制数据形式在物理媒体上传输数据ISO2110,IEEE802。IEEE802.2前面我们已经学过关于OSI参考模型的相关概念,现在我们来看一看,相对于七层协议参考模型,TCP/IP协议是如何实现网络模型的。数据链路层包括了硬件接口和协议ARP,RARP,这两个协议主要是用来建立送到物理层上的信息和接收从物理层上传来的信息;网络层中的协议主要有IP,ICMP,IGMP等,由于它包含了IP协议模块,所以它是所有基于TCP/IP协议网络的核心。在网络层中,IP模块完成大部分功能。ICMP和IGMP以及其他支持IP的协议帮助IP完成特定的任务,如传输差错控制信息以及主机/路由器之间的控制电文等。网络层掌管着网络中主机间的信息传输。传输层上的主要协议是TCP和UDP。正如网络层控制着主机之间的数据传递,传输层控制着那些将要进入网络层的数据。两个协议就是它管理这些数据的两种方式:TCP是一个基于连接的协议UDP则是面向无连接服务的管理方式的协议。应用层位于协议栈的顶端,它的主要任务就是应用了。上面的协议当然也是为了这些应用而设计的,具体说来一些常用的协议功能如下:Telnet:提供远程登录(终端仿真)服务,好象比较古老的BBS就是用的这个登陆。FTP:提供应用级的文件传输服务,说的简单明了点就是远程文件访问等等服务;SMTP:天天用到的电子邮件协议。TFTP:提供小而简单的文件传输服务,实际上从某个角度上来说是对FTP的一种替换(在文件特别小并且仅有传输需求的时候)。SNMP:简单网络管理协议。DNS:域名解析服务,也就是如何将域名映射成IP地址的协议。HTTP:这是超文本传输协议,你之所以现在能看到网上的图片,动画,音频,等等,都是仰仗这个协议在起作用.这4层分别为:应用层:应用程序间沟通的层,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。传输层:在此层中,它提供了节点间的数据传送服务,如传输控制协议(TCP)、用户数据报协议(UDP)等,TCP和UDP给数据包加入传输数据并把它传输到下一层中,这一层负责传送数据,并且确定数据已被送达并接收。互连网络层:负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机(但不检查是否被正确接收),如网际协议(IP)。网络接口层:对实际的网络媒体的管理,定义如何使用实际网络(如Ethernet、SerialLine等)来传送数据。TCP(TransportControlProtocol)传输控制协议IP(InternetProtocol)网间网协议UDP(UserDatagramProtocol)用户数据报协议ICMP(InternetControlMessageProtocol)互联网控制信息协议SMTP(SimpleMailTransferProtocol)简单邮件传输协议SNMP(SimpleNetworkmanageProtocol)简单网络管理协议FTP(FileTransferProtocol)文件传输协议ARP(AddressResolutionProtocol)地址解析协议面向连接的TCP“面向连接”就是在正式通信前必须要与对方建立起连接。比如你给别人打电话,必须等线路接通了、对方拿起话筒才能相互通话。TCP(TransmissionControlProtocol,传输控制协议)是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接。TCP协议能为应用程序提供可靠的通信连接,使一台计算机发出的字节流无差错地发往网络上的其他计算机,对可靠性要求高的数据通信系统往往使用TCP协议传输数据。面向非连接的UDP协议“面向非连接”就是在正式通信前不必与对方先建立连接,不管对方状态就直接发送。这与现在风行的手机短信非常相似:你在发短信的时候,只需要输入对方手机号就OK了。UDP(UserDataProtocol,用户数据报协议)是与TCP相对应的协议。它是面向非连接的协议,它不与对方建立连接,而是直接就把数据包发送过去UDP适用于一次只传送少量数据、对可靠性要求不高的应用环境。ApplicationTransportNetworkAccessInternetTCP/IPOSIApplicationPresentationSessionTransportNetworkDataLinkPhysical网络接口层模型的基层是网络接口层。负责数据帧的发送和接收,帧是独立的网络信息传输单元。网络接口层将帧放在网上,或从网上把帧取下来。互联层互联协议将数据包封装成internet数据报,并运行必要的路由算法。这里有四个互联协议:网际协议IP:负责在主机和网络之间寻址和路由数据包。地址解析协议ARP:获得同一物理网络中的硬件主机地址。网际控制消息协议ICMP:发送消息,并报告有关数据包的传送错误。互联组管理协议IGMP:被IP主机拿来向本地多路广播路由器报告主机组成员。传输层传输协议在计算机之间提供通信会话。传输协议的选择根据数据传输方式而定。两个传输协议:传输控制协议TCP:为应用程序提供可靠的通信连接。适合于一次传输大批数据的情况。并适用于要求得到响应的应用程序。用户数据报协议UDP:提供了无连接通信,且不对传送包进行可靠的保证。适合于一次传输小量数据,可靠性则由应用层来负责。应用层应用程序通过这一层访问网络。唯一编址使得端系统间的通信称为可能引入TCP/IP地址主机B主机A公司A公司B172.16.3.1010.250.8.11一.IP地址的概念IP地址及其分类在Internet上连接的所有计算机,从大型机到微型计算机都是以独立的身份出现,我们称它为主机。为了实现各主机间的通信,每台主机都必须有一个唯一的网络地址。就好像每一个住宅都有唯一的门牌一样,才不至于在传输数据时出现混乱。为了让网络上的两台计算机之间在相互通信,人们给每一台计算机都事先分配一个类似我们日常生活中的电话号码一样的标识地址,即IP地址,并作为数据包里的附加信息传送。IP地址是由32位二进制数组成,而且在英特网范围内是唯一的。为方便记忆,将IP地址分成四段,每段8位并用小数点隔开,