TCP / IP的参考模型
TCP/IP是建立在“无连接”技术上的网络互连协议,信息(包括报文和数据流)以数据报的形式在网络中传输,从而实现用户间的通信。TCP/IP协议遵守一个四层的模型概念:应用层(Application Layer)、传输层(Transport Layer)、网络层(Internet Layer)和网络接口层(Network Interface Layer)。
一、网络接口层
模型的基层是网络接口层。负责数据帧的发送和接收,帧是独立的网络信息传输单元。网络接口层将帧放在网上,或从网上把帧取下来。
二、网络层
互联协议将数据包封装成Internet数据报,并运行必要的路由算法。 这里有四个互联协议:
网际协议IP:负责在主机和网络之间寻址和路由数据包。
地址解析协议ARP:获得同一物理网络中的硬件主机地址。
网际控制消息协议ICMP:发送消息,并报告有关数据包的传送错误。
互联组管理协议IGMP:被IP主机拿来向本地多路广播路由器报告主机组成员。
三、传输层
传输协议在计算机之间提供通信会话。传输协议的选择根据数据传输方式而定。 这里有两个传输协议:
传输控制协议TCP:为应用程序提供可靠的通信连接。适合于一次传输大批数据的情况。并适用于要求得到响应的应用程序。
用户数据报协议UDP:提供了无连接通信,且不对传送包进行可靠的保证。适合于一次传输小量数据,可靠性则由应用层来负责。
四、应用层
应用程序通过这一层访问网络。
网络设计者在解决网络体系结构时经常使用ISO/OSI( 国际标准化组织/开放系统互连)七层模型,该模型每一层代表一定层次的网络功能。最下面是物理层,它代表着进行数据转输的物理介质,换句话说,即网络电缆。其上是数据链路层,它通过网卡提供服务。最上层是应用层,这里运行着使用网络服务的应 用程序。
TCP/IP模型是同ISO/OSI模型等价的。当一个数据单元从网络应用程序向下送到网卡,它通过了一列的TCP/IP 模块。这其中的每一步,数据单元都会同网络另一端对等TCP/IP模块所需的信息一起打成包。在数据传送中,可以形象地理解为有两个信封,TCP和IP就像是信封,要传递的信息被划分成若干段,每一段塞入一个TCP信封,并在该信封封面上记录有分段号的信息,再将TCP信封塞入IP大信封,发送上网。在接受端,一个TCP软件包收集信封,抽出数据,按发送前的顺序还原,并加以校验,若发现差错,TCP将会要求重发。因此,TCP/IP在INTERNET中几乎可以无差错地传送数据。
为了勾勒TCP/IP在现实网络世界中所扮演的角色, 请考虑当使用HTTP(超文本传输协议)的Web浏览器(如IE)从连接在Internet上的Web服务器上获取一页HTML数据时所发生的情况。为形成同Web服务器的虚链路,浏览器使用一种被抽象地称为套接口(socket)的高层软件。为了获 取Web页,它通过向套接口写入HTTPGET命令来向Web 服务器发出该指令。接下来套接口软件使用TCP协议向Web服务器发出包含GET命令的字节流和位流,TCP将数据分段并将各独立段传到IP模块,该模块将数据段转换成数据报并发送给Web服务器。
其实在这一过程中,在网络上发送和接收的数据已经被分成一个或多个数据包(packet),每个数据包包括:要传送的数据;控制信息,即告诉网络怎样处理数据包。TCP/IP决定了每个数据包的格式。如果事先不告诉你,你可能不会知道信息被分成用于传输和再重新组合起来的许多小块。
当有应用程序(如例子中的浏览器)创建它时,这个数据包的生命就开始了。每个包都会穿过发送主机的各层,再通过网络电缆进入目标主机的各层后,进入适当的应用程序(如例子中的Web服务器)。当包穿过发送主机各层时,其控制信息和格式信息被加在包上。在它到达目标主机后,随着这个包向上穿过各个层,这些信息分别被读取并剥去。一旦这个包被送到线路上去时,它的重量已经增大,因为包中增加了许多网络信息。当这个滚雪球式增大的包到达目的主机时,又开始逐渐减轻,当它最后到达顶层时,又变得十分苗条了。
对浏览器和服务器来说,数据在这一端写入套接口而在另一端出现如同魔术一般,但这只是网络底层发生的各种复杂行为的表象,它创造了数据经过网络无缝传输的假象。
[上一页] [下一页]
|