“什么是TCP/IP协议?”周正明非常感兴趣地问道。
付新思索着回答:“TCP/IP协议是Transmission_Control_Protocol/Inter_Protocol的简写,中文译名为传输控制协议/因特网互联协议。又名网络通讯协议,是Inter最基本的协议、Inter国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。这个TCP/IP协议产生还不是很久,应该还没有传入我们国家。
TCP/IP协议产生于美国,在他之前,有一个阿帕网(ARPA)的存在。但是,在阿帕网(ARPA)产生运作之初,通过接口信号处理机实现互联的电脑并不多,大部分电脑相互之间不兼容。在一台电脑上完成的工作,很难拿到另一台电脑上去用。想让硬件和软件都不一样的电脑联网,也有很多困难。
当时美国的状况是。陆军用的电脑是DEC系列产品,海军用的电脑是Honeywell中标机器,空军用的是IBM公司中标的电脑,每一个军种的电脑在各自的系里都运行良好,但却有一个大弊病,那就是不能共享资源。
当时,科学家们就提出这样一个理念,那就是所有电脑生来都是平等的。为了让这些生来平等的电脑能够实现资源共享,就得在这些系统的标准之上,建立一种大家共同都必须遵守的标准,这样才能让不同的电脑按照一定的规则进行‘谈判’,并且在谈判之后能‘握手’。
在确定今天因特网各个电脑之间‘谈判规则’过程中,最重要的人物当数美国科学家瑟夫。正是他的努力,才使今天各种不同的电脑能按照协议上网互联。瑟夫也因此获得了与因特网之父克莱因罗克一样的美称‘互联网之父’。
瑟夫从小喜欢标新立异,坚强而又热情。中学读书时,就被允许使用加州大学洛杉矶分校的电脑,他认为‘为电脑编程序是个非常激动人心的事,只要把程序编好,就可以让电脑做任何事情。’
一九六五年,瑟夫从斯坦福大学毕业到IBM的一家公司当系统工程师,工作没多久,瑟夫就觉得知识不够用,于是到加州大学洛杉矶分校攻读博士,那时,正逢阿帕网的建立,‘接口信号处理机’(IMP)的研试及网络测评中心的建立,瑟夫也成了著名科学家克莱因罗克手下的一位学生。
瑟夫与另外三位年轻人,温菲尔德、克罗克和布雷登参与了阿帕网的第一个节点的联接。此后不久,BBN公司对工作中各种情况发展有很强判断能力、被公认阿帕网建成作出巨大贡献的鲍伯卡恩也来到了加州大学洛杉矶分校。
在那段日子里,往往是卡恩提出需要什么软件,而瑟夫则通宵达旦地把符合要求的软件给编出来,然后他们一起测试这些软件,直至能正常运行。
当时的主要格局是这样的,罗伯茨提出网络思想设计网络布局,卡恩设计阿帕网总体结构,克莱因罗克负责网络测评系统,还有众多的科学家、研究生参与研究、试验。
六九年九月阿帕网诞生、运行后,才发现各个IMP连接的时候,需要考虑用各种电脑都认可的信号来打开通信管道,数据通过后还要关闭通道。
否则这些IMP不会知道什么时候应该接收信号,什么时候该结束,这就是我们所说的通信“协议”的概念。
一九七零年十二月制定出来了最初的通信协议由卡恩开发、瑟夫参与的‘网络控制协议’(NCP),但要真正建立一个共同的标准很不容易,七二年十月国际电脑通信大会结束后,科学家们都在为此而努力。
‘包切换’理论为网络之间的联接方式提供了理论基础。
卡恩在自己研究的基础上,认识到只有深入理解各种操作系统的细节才能建立一种对各种操作系统普适的协议,七三年卡恩请瑟夫一起考虑这个协议的各个细节,他们这次合作的结果产生了在开放系统下的所有网民和网管人员都在使用的‘传输控制协议’(TCP,Transmission…Control_Protocol)和‘因特网协议’(IP,Inter_Protocol)即TCP/IP协议。
通俗而言,TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而IP是给因特网的每一台电脑规定一个地址。
一九七四年十二月,卡恩、瑟夫的第一份TCP协议详细说明正式发表。
当时美国国防部与三个科学家小组签定了完成TCP/IP的协议,结果由瑟夫领衔的小组捷足先登,首先制定出了通过详细定义的TCP/IP协议标准。
当时作了一个试验,将信息包通过点对点的卫星网络,再通过陆地电缆,再通过卫星网络,再由地面传输,贯串欧洲和美国,经过各种电脑系统,全程九点四万公里竟然没有丢失一个数据位,远距离的可靠数据传输证明了TCP/IP协议的成功。
一九八三年一月一日,运行较长时期曾被人们习惯了的NCP被停止使用,TCP/IP协议作为因特网上所有主机间的共同协议,从此以后被作为一种必须遵守的规则被肯定和应用。
可惜,我们国家都还没有连入互联网,TCP/IP协议还不为我们国家所知很正常,可是,这种情况,也导致了我们国家没能在互联网上面抢得先机,反而还很落后,唉……我们国家与国外的差距,实在是太大了啊!”
付新无奈地叹了一口气,对于这种情况,他也没有办法去改变。身单力薄,有心无力啊!没有国家的支持,他一个人根本就做不来!
“高部长,这件事情你怎么看?”周正明把皮球踢到了高文新的脚下。
高文新这个时候也没有心情去个周正明玩心机,玩内斗,他仔细地想了想,看向付新,说道:“付新同志,你继续说。”
第二十章 赶超的机会
付新点了点头,他知道高文新是什么意思,不过他还是忍不住看了高文新一眼,心中感叹,政客果然没一个是简单的啊!这个高文新很明显就是掌握了他付新还没有说完的这个节奏。
付新着实还没有说完呢,刚刚他仅仅是讲了TCP/IP协议的产生背景。
付新继续说道:“TCP/IP协议不是TCP和IP这两个协议的合称,而是指因特网整个TCP/IP协议族。从协议分层模型方面来讲,TCP/IP由四个层次组成:网络接口层、网络层、传输层、应用层。
网络接口层又称链路层,它实际上并不是因特网协议组中的一部分,但是它是数据包从一个设备的网络层传输到另外一个设备的网络层的方法。
这个过程能够在网卡的软件驱动程序中控制,也可以在韧体或者专用芯片中控制。这将完成如添加报头准备发送、通过物理媒介实际发送这样一些数据链路功能。另一端,链路层将完成数据帧接收、去除报头并且将接收到的包传到网络层。
然而,链路层并不经常这样简单。它也可能是一个虚拟专有网络(VPN)或者隧道,在这里从网络层来的包使用隧道协议和其他(或者同样的)协议组发送而不是发送到物理的接口上。
VPN和隧道通常预先建好,并且它们有一些直接发送到物理接口所没有的特殊特点,例如。它可以加密经过它的数据。
由于现在链路“层”是一个完整的网络,这种协议组的递归使用可能引起混淆。但是它是一个实现常见复杂功能的一个优秀方法。尽管。它需要注意预防一个已经封装并且经隧道发送下去的数据包进行再次地封装和发送。
网络接口层与OSI参考模型中的物理层和数据链路层相对应。网络接口层是TCP/IP与各种LAN或WAN的接口。
网络接口层在发送端将上层的IP数据报封装成帧后发送到网络上;数据帧通过网络到达接收端时,该结点的网络接口层对数据帧拆封,并检查帧中包含的MAC地址。如果该地址就是本机的MAC地址或者是广播地址,则上传到网络层,否则丢弃该帧。
当使用串行线路连接主机与网络,或连接网络与网络时,例如,主机通过Modem和电话线接入Inter。则需要在网络接口层运行SLIP或PPP协议。
SLIP(Serial_Line_Inter_Protocol)协议提供了一种在串行通信线路上封装IP数据报的简单方法,使用户通过电话线和Modem能方便地接入TCP/IP网络。
PPP(Point_to_Point_Protocol)协议是一种有效的点到点通信协议,解决了SLIP存在的上述问题,即可以支持多种网络层协议(如IP、IPX等),支持动态分配的IP地址;并且PPP帧中设置了校验字段,因而PPP在网络接口层上具有差错检验能力。
数据链路层是负责接收IP数据包并通过网络发送,或者从网络上接收物理帧。抽出IP数据包,交给IP层。
ARP是正向地址解析协议,通过已知的IP,寻找对应主机的MAC地址。
RARP是反向地址解析协议,通过MAC地址确定IP地址。比如无盘工作站还有DHCP服务。
常见的接口层协议有:
Ether8023、Token_Ring8025、X25、Frame_relay、HDLC、PPP、ATM等。
网络层是OSI参考模型中的第三层,介于运输层和数据链路层之间。它在数据链路层提供的两个相邻端点之间的数据帧的传送功能上,进一步管理网络中的数据通信,将数据设法从源端经过若干个中间节点传送到目的端,从而向运输层提供最基本的端到端的数据传送服务。
主要内容有:虚电路分组交换和数据报分组交换、路由选择算法、阻塞控制方法、X。25协议、综合业务数据网(ISDN)、异步传输模式(ATM)及网际互连原理与实现。
网络层的目的是实现两个端系统之间的数据透明传送,具体功能包括寻址和路由选择、连接的建立、保持和终止等。它提供的服务使传输层不需要了解网络中的数据传输和交换技术。
网络层关系到通信子网的运行控制。体现了网络应用环境中资源子网访问通信子网的方式。网络层从物理上来讲一般分布地域宽广,从逻辑上来讲功能复杂。因此是OSI模型中面向数据通信的下三层(也即通信子网)中最为复杂也最关键的一层。
网络层负责相邻计算机之间的通信。其功能包括三方面。
第一,处理来自传输层的分组发送请求,收到请求后,将分组装入IP数据报,填充报头,选择去往信宿机的路径,然后将数据报发往适当的网络接口。
第二,处理输入数据报:首先检查其合法性,然后进行寻径……假如该数据报已到达信宿机,则去掉报头,将剩下部分交给适当的传输协议;假如该数据报尚未到达信宿,则转发该数据报。
第三,处理路径、流控、拥塞等问题。
网络层包括:IP(Inter_Protocol)协议、ICMP(Inter_Control_Message_Protocol)
控制报文协议、ARP(Address_Resolution_Protocol)地址转换协议、RARP(Reverse_ARP)反向地址转换协议。
IP是网络层的核心,通过路由选择将下一条IP封装后交给接口层。IP数据报是无连接服务。
ICMP是网络层的补充。可以回送报文。用来检测网络是否通畅。
Ping命令就是发送ICMP的echo包,通过回送的echorelay进行网络测试。
传输层。是两台计算机经过网络进行数据通信时,第一个端到端的层次,具有缓冲作用。当网络层服务质量不能满足要求时,它将服务加以提高,以满足高层的要求;当网络层服务质量较好时,它只用很少的工作。传输层还可进行复用,即在一个网络连接上创建多个逻辑连接。
传输层(Transport_Layer)是OSI中最重要、最关键的一层,是唯一负责总体的数据传输和数据控制的一层。
传输层提供端到端的交换数据的机制。传输层对会话层等高三层提供可靠的传输服务,对网络层提供可靠的目的地站点信息。
传输层也称为运输层。传输层只存在于端开放系统中,是介于低三层通信子网系统和高三层之间的一层,但是很重要的一层。因为它是源端到目的端对数据传送进行控制从低到高的最后一层。
有一个既存事实,即世界上各种通信子网在性能上存在着很大差异。
例如电话交换网,分组交换网,公用数据交换网。局域网等通信子网都可互连,但它们提供的吞吐量,传输速率,数据延迟通信费用各不相同。
对于会话层来说,却要求有一性能恒定的接口。传输层就承担了这一功能。它采用分流/合流,复用/解复用技术来调节上述通信子网的差异。使会话层感受不到。此外传输层还要具备差错恢复,流量控制等功能,以此对会话层屏蔽通信子网在这些方面的细节与差异。
传输层面对的数据对象已不是网络地址和主机地址,而是和会话层的界面端口。
上述功能的最终目的是为会话提供可靠的,无误的数据传输。
传输层的服务一般要经历传输连接建立阶段。数据传送阶段,传输连接释放阶段三个阶段才算完成一个完整的服务过程。而在数据传送阶段又分为一般数据传送和加速数据传送两种。
传输层服务分成五种类型。基本可以满足对传送质量。传送速度,传送费用的各种不同需要。
传输层提供应用程序间的通信。
其功能包括:一、格式化信息流;二、提供可靠传输。
为实现后者,传输层协议规定接收端必须发回确认,并且假如分组丢失,必须重新发送,即耳熟能详的“三次握手”过程,从而提供可靠的数据传输。
传输层协议主要是:传输控制协议TCP(Transmission_Control_Protocol)和用户数据报协议UDP(User_Datagram_protocol)。
应用层也称为应用实体(AE),它由若干个特定应用服务元素(SASE)和一个或多个公用应用服务元素(CASE)组成。每个SASE提供特定的应用服务,例如文件运输访问和管理(FTAM)、电子文电处理(MHS)、虚拟终端协议(VAP)等。CASE提供一组公用的应用服务,例如联系控制服务元素(ACSE)、可靠运输服务元素(RTSE)和远程操作服务元素(ROSE)等。
应用层(Applicationlayer)是七层OSI模型的第七层。应用层直接和应用程序接口并提供常见的网络应用服务。应用层也向表示层发出请求。
应用层是开放系统的最高层,是直接为应用进程提供服务的。其作用是在实现多个系统应用进程相互通信的同时,完成一系列业务处理所需的服务。其服务元素分为两类:公共应用服务元素CASE和特定应用服务元素SASE。
CASE提供最基本的服务。它成为应用层中任何用户和任何服务元素的用户,主要为应用进程通信。分布系统实现提供基本的控制机制;特定服务SASE则要满足一些特定服务,如文卷传送,访问管理,作业传送,银行事务,订单输入等。
这些将涉及到虚拟终端,作业传送与操作,文卷传送及访问管理。远程数据库访问,图形核心系统,开放系统互连管理等等。
应用层向用户提供一组常用的应用程序,比如电子邮件、文件传输访问、远程登录等。远程登录TEL使用TEL协议提供在网络其它主机上注册的接口。
TEL会话提供了基于字符的虚拟终端。文件传输访问FTP使用FTP协议来提供网络内机器间的文件拷贝功能。
应用层协议主要包括如下几个:FTP、TEL、DNS、SMTP、NFS、HTTP。
FTP(File_Transfer_Protocol)是文件传输协议,一般上传下载用FTP服务,数据端口是20H,控制端口是21H。
Tel服务是用户远程登录服务。使用23H端口,使用明码传送,保密性差、简单方便。
DNS(Domain_Name_Service)是域名解析服务,提供域名到IP地址之间的转换,使用端口53。
SMTP(Simple_Mail_Transfer_Protocol)是简单邮件传输协议,用来控制信件的发送、中转。使用端口25。
NF