付新点了点头,他知道高文新是什么意思,不过他还是忍不住看了高文新一眼,心中感叹,政客果然没一个是简单的啊!这个高文新很明显就是掌握了他付新还没有说完的这个节奏。
付新着实还没有说完呢,刚刚他仅仅是讲了TcP/IP协议的产生背景。
付新继续说道:“TcP/IP协议不是TcP和IP这两个协议的合称,而是指因特网整个TcP/IP协议族。从协议分层模型方面来讲,TcP/IP由四个层次组成:网络接口层、网络层、传输层、应用层。
网络接口层又称链路层,它实际上并不是因特网协议组中的一部分,但是它是数据包从一个设备的网络层传输到另外一个设备的网络层的方法。
这个过程能够在网卡的软件驱动程序中控制,也可以在韧体或者专用芯片中控制。这将完成如添加报头准备发送、通过物理媒介实际发送这样一些数据链路功能。另一端,链路层将完成数据帧接收、去除报头并且将接收到的包传到网络层。
然而,链路层并不经常这样简单。它也可能是一个虚拟专有网络(VPn)或者隧道,在这里从网络层来的包使用隧道协议和其他(或者同样的)协议组发送而不是发送到物理的接口上。
VPn和隧道通常预先建好,并且它们有一些直接发送到物理接口所没有的特殊特点,例如,它可以加密经过它的数据。
由于现在链路“层”是一个完整的网络,这种协议组的递归使用可能引起混淆。但是它是一个实现常见复杂功能的一个优秀方法。尽管,它需要注意预防一个已经封装并且经隧道发送下去的数据包进行再次地封装和发送。
网络接口层与osI参考模型中的物理层和数据链路层相对应。网络接口层是TcP/IP与各种Lan或an的接口。
网络接口层在发送端将上层的IP数据报封装成帧后发送到网络上;数据帧通过网络到达接收端时,该结点的网络接口层对数据帧拆封,并检查帧中包含的mac地址。如果该地址就是本机的mac地址或者是广播地址,则上传到网络层,否则丢弃该帧。
当使用串行线路连接主机与网络,或连接网络与网络时,例如,主机通过modem和电话线接入Internet,则需要在网络接口层运行sLIP或PPP协议。
sLIP(serial_Line_Internet_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服务。
常见的接口层协议有:
ethernet802.3、Token_Ring802.5、X.25、Frame_relay、hDLc、PPP、aTm等。
网络层是osI参考模型中的第三层,介于运输层和数据链路层之间,它在数据链路层提供的两个相邻端点之间的数据帧的传送功能上,进一步管理网络中的数据通信,将数据设法从源端经过若干个中间节点传送到目的端,从而向运输层提供最基本的端到端的数据传送服务。
主要内容有:虚电路分组交换和数据报分组交换、路由选择算法、阻塞控制方法、X。25协议、综合业务数据网(IsDn)、异步传输模式(aTm)及网际互连原理与实现。
网络层的目的是实现两个端系统之间的数据透明传送,具体功能包括寻址和路由选择、连接的建立、保持和终止等。它提供的服务使传输层不需要了解网络中的数据传输和交换技术。
网络层关系到通信子网的运行控制,体现了网络应用环境中资源子网访问通信子网的方式。网络层从物理上来讲一般分布地域宽广,从逻辑上来讲功能复杂,因此是osI模型中面向数据通信的下三层(也即通信子网)中最为复杂也最关键的一层。
网络层负责相邻计算机之间的通信。其功能包括三方面。
第一,处理来自传输层的分组发送请求,收到请求后,将分组装入IP数据报,填充报头,选择去往信宿机的路径,然后将数据报发往适当的网络接口。
第二,处理输入数据报:首先检查其合法性,然后进行寻径——假如该数据报已到达信宿机,则去掉报头,将剩下部分交给适当的传输协议;假如该数据报尚未到达信宿,则转发该数据报。
第三,处理路径、流控、拥塞等问题。
网络层包括:IP(Internet_Protocol)协议、IcmP(Internet_control_message_Protocol)
控制报文协议、aRP(address_Resolution_Protocol)地址转换协议、RaRP(Reverse_aRP)反向地址转换协议。
IP是网络层的核心,数据报是无连接服务。
IcmP是网络层的补充,可以回送报文。用来检测网络是否通畅。
Ping命令就是发送IcmP的echo包,通过回送的echorelay进行网络测试。
传输层,是两台计算机经过网络进行数据通信时,第一个端到端的层次,具有缓冲作用。当网络层服务质量不能满足要求时,它将服务加以提高,以满足高层的要求;当网络层服务质量较好时,它只用很少的工作。传输层还可进行复用,即在一个网络连接上创建多个逻辑连接。
传输层(Transport_Layer)是osI中最重要、最关键的一层,是唯一负责总体的数据传输和数据控制的一层。
传输层提供端到端的交换数据的机制,传输层对会话层等高三层提供可靠的传输服务,对网络层提供可靠的目的地站点信息。
传输层也称为运输层。传输层只存在于端开放系统中,是介于低三层通信子网系统和高三层之间的一层,但是很重要的一层。因为它是源端到目的端对数据传送进行控制从低到高的最后一层。
有一个既存事实,即世界上各种通信子网在性能上存在着很大差异。
例如电话交换网,分组交换网,公用数据交换网,局域网等通信子网都可互连,但它们提供的吞吐量,传输速率,数据延迟通信费用各不相同。
对于会话层来说,却要求有一性能恒定的接口。传输层就承担了这一功能。它采用分流/合流,复用/解复用技术来调节上述通信子网的差异,使会话层感受不到。此外传输层还要具备差错恢复,流量控制等功能,以此对会话层屏蔽通信子网在这些方面的细节与差异。
传输层面对的数据对象已不是网络地址和主机地址,而是和会话层的界面端口。
上述功能的最终目的是为会话提供可靠的,无误的数据传输。
传输层的服务一般要经历传输连接建立阶段,数据传送阶段,传输连接释放阶段三个阶段才算完成一个完整的服务过程。而在数据传送阶段又分为一般数据传送和加速数据传送两种。
传输层服务分成五种类型。基本可以满足对传送质量,传送速度,传送费用的各种不同需要。
传输层提供应用程序间的通信。
其功能包括:一、格式化信息流;二、提供可靠传输。
为实现后者,传输层协议规定接收端必须发回确认,并且假如分组丢失,必须重新发送,即耳熟能详的“三次握手”过程,从而提供可靠的数据传输。
传输层协议主要是:传输控制协议TcP(Transmission_control_Protocol)和用户数据报协议uDP(user_Datagram_protocol)。
应用层也称为应用实体(ae),它由若干个特定应用服务元素(sase)和一个或多个公用应用服务元素(case)组成。每个sase提供特定的应用服务,例如文件运输访问和管理(FTam)、电子文电处理(mhs)、虚拟终端协议(VaP)提供一组公用的应用服务,例如联系控制服务元素(acse)、可靠运输服务元素(RTse)和远程操作服务元素(Rose)等。
应用层(applicationlayer)是七层osI模型的第七层。应用层直接和应用程序接口并提供常见的网络应用服务。应用层也向表示层发出请求。
应用层是开放系统的最高层,是直接为应用进程提供服务的。其作用是在实现多个系统应用进程相互通信的同时,完成一系列业务处理所需的服务。其服务元素分为两类:公共应用服务元素case和特定应用服务元素sase。
case提供最基本的服务,它成为应用层中任何用户和任何服务元素的用户,主要为应用进程通信,分布系统实现提供基本的控制机制;特定服务sase则要满足一些特定服务,如文卷传送,访问管理,作业传送,银行事务,订单输入等。
这些将涉及到虚拟终端,作业传送与操作,文卷传送及访问管理,远程数据库访问,图形核心系统,开放系统互连管理等等。
应用层向用户提供一组常用的应用程序,比如电子邮件、文件传输访问、远程登录等。远程登录TeLneT使用TeLneT协议提供在网络其它主机上注册的接口。
TeLneT会话提供了基于字符的虚拟终端。文件传输访问FTP使用FTP协议来提供网络内机器间的文件拷贝功能。
应用层协议主要包括如下几个:FTP、TeLneT、Dns、smTP、nFs、hTTP。
FTP(File_Transfer_Protocol)是文件传输协议,一般上传下载用FTP服务,数据端口是20h,控制端口是21h。
Telnet服务是用户远程登录服务,使用23h端口,使用明码传送,保密性差、简单方便。
Dns(Domain_name_service)是域名解析服务,提供域名到IP地址之间的转换,使用端口53。
smTP(simple_mail_Transfer_Protocol)是简单邮件传输协议,用来控制信件的发送、中转,使用端口25。
nFs(netork_File_system)是网络文件系统,用于网络中不同主机间的文件共享。
hTTP(hypertext_Transfer_Protocol)是超文本传输协议,用于实现互联网中的,TcP/IP协议也获得了广泛的支持。所以TcP/IP协议成为一种联合各种硬件和软件的实用系统。
第二,TcP/IP协议并不依赖于特定的网络传输硬件,所以TcP/IP协议能够集成各种各样的网络。用户能够使用以太网(ethernet)、令牌环网(TokenRingnetork)、拨号线路(Dial-upline)、X.25网以及所有的网络传输硬件。
第三,统一的网络地址分配方案,使得整个TcP/IP设备在网中都具有惟一的地址。
第四,标准化的高层协议,可以提供多种可靠的用户服务。
在长期的发展过程中,IP逐渐取代其他网络。传输通用数据。数据能够用于任何目的,并且能够很轻易地取代以前由专有数据网络传输的数据。
举例来说:
一个专有的网络开发出来用于特定目的。如果它工作很好,用户将接受它。
为了便利提供IP服务,经常用于访问电子邮件或者聊天,通常以某种方式通过专有网络隧道实现。隧道方式最初可能非常没有效率,因为电子邮件和聊天只需要很低的带宽。
通过一点点的投资IP基础设施逐渐在专有数据网络周边出现。
用IP取代专有服务的需求出现,经常是一个用户要求。
IP替代品过程遍布整个因特网,这使IP替代品比最初的专有网络更加有价值(由于网络效应)。
专有网络受到压制。许多用户开始维护使用IP替代品的复制品。
IP包的间接开销很小,少于百分之一,这样在成本上非常有竞争性。人们开发了一种能够将IP带到专有网络上的大部分用户的不昂贵的传输媒介。
大多数用户为了削减开销,专有网络被取消。
但是TcP/IP协议也不是说没有缺点,他又以下两大缺点:
第一,它在服务、接口与协议的区别上就不是很清楚。一个好的软件工程应该将功能与实现方法区分开来,TcP/IP恰恰没有很好地做到这点,就使得TcP//IP参考模型不适合于其他非TcP/IP协议簇。
第二,主机-网络层本身并不是实际的一层,它定义了网络层与数据链路层的接口。物理层与数据链路层的划分是必要和合理的,一个好的参考模型应该将它们区分开,而TcP/IP参考模型却没有做到这点。”
“这个TcP/IP协议开发到了哪里啊?它还有没有继续发展的可能?”周正明抓住了问题的重点。
“有的,他还有继续发展的可能,事实上,现有的TcP/IP的版本也不是很全。”付新点了点头,继续说道:“目前有四个版本被开发出来——TcPv1、TcPv2,在1978年春天分成TcPv3和IPv3的版本,现在就是稳定的TcP/IPv4。
IPv4,是互联网协议(Internet_Protocol,IP)的第四版,也是第一个被广泛使用,构成现今互联网技术的基石的协议。
1981年Jon_Postel在RFc791中定义了IP,Ipv4可以运行在各种各样的底层网络上,比如端对端的串行数据链路,即PPP协议和sLIP协议,卫星链路等等。局域网中最常用的是以太网。
传统的TcP/IP协议基于IPV4属于第二代互联网技术,核心技术属于美国。它的最大问题是网络地址资源有限,从理论上讲,编址1600万个网络、40亿台主机。但采用a、B、c三类编址方式后,可用的网络地址和主机地址的数目大打折扣,以至IP地址在将来互联网时代到来后将会枯竭。
另外,传统的TcP/IP协议基于电话宽带以及以太网的电器特性而制定的,其分包原则与检验占用了数据包很大的一部分比例造成了传输效率低,在将来,网络将会向着全光纤网络高速以太网方向发展,那时,TcP/IP协议将不能满足其发展需要。”
“太好了,看来我们国家还有赶超的机会!”周正明和高文新同时高兴地说道。(未完待续。请搜索,更好更新更快!)