您的位置: 网站首页 > 倾心驿站 > 计算机网络技术与应用 > 第1章 计算机网络概述 > 【1.4 TCP/IP参考模型】

1.4 TCP/IP参考模型

 

1.4  TCP/IP参考模型

TCP/IP协议是一个使用非常普遍的网络互联标准协议,目前,众多网络厂家的产品都支持TCP/IP协议,它已经成为一个事实上的工业标准。

1.4.1  TCP/IP层次结构

TCP/IP协议是一组协议的代名词,它还包括许多别的协议,组成了TCP/IP协议栈。一般来说,TCP提供传输层服务,而IP提供网络层服务。ISO/OSI模型的制定参考了TCP/IP协议栈及其分层体系结构的思想。而TCP/IP协议在不断发展的过程中也吸收了OSI标准中的概念及特征。如图1-12所示为OSI模型与TCP/IP参考模型的对照。

1-12  OSI模型与TCP/IP参考模型的对照

之所以说TCP/IP是一个协议栈,是因为TCP/IP协议包括TCPIPUDPICMPRIPTELNETFTPSMTPARPRART等许多协议,这些协议一起称为TCP/IP协议。以下是我们对协议栈中一些常用协议英文名称的解释。

·         TCPTransport Control Protocol传输控制协议。

·         IPInternetworking Protocol网间网协议。

·         UDPUser Datagram Protocol用户数据报协议。

·         ICMPInternet Control Message Protocol国际互联网控制信息协议。

·         SMTPSimple Mail Transfer Protocol简单邮件传输协议。

·         SNMPSimple Network Manage Protocol简单网络管理协议。

·         FTPFile Transfer Protocol文件传输协议。

·         ARPAddress Resolation Protocol地址解析协议。

从协议分层模型方面来讲,TCP/IP4个层次组成:网络接口层、网际层(也称网间网层)、传输层和应用层。

1.网络接口层

网络接口层是TCP/IP软件的最底层,负责接收IP数据报并通过网络发送,或者从网络上接收物理帧,抽出IP数据报,交给IP层。

2.网际层

网际层负责相邻计算机之间的通信,它所执行的主要功能是处理来自传输层的分组,将分组形成数据包(IP数据包,并为该数据包进行路径选择,最终将数据包从源主机发送到目的主机。

网际层中的协议主要有IPICMPIGMP等。由于它包含了IP协议模块,所以它是所有基于TCP/IP协议网络的核心。在网络层中,IP模块完成大部分功能。ICMPIGMP及其他支持IP的协议帮助IP完成特定的任务,如传输差错控制信息及主机/路由器之间的控制电文等。网络层掌管着网络中主机间的信息传输。

3.传输层

传输层主要负责主机到主机之间的端对端通信。其功能包括:

·    格式化信息流。

·    提供可靠传输。为实现可靠传输,传输层协议规定接收端必须发回确认;如果分组丢失,则必须重新发送。

传输层上的主要协议是TCPUDP。正如网络层控制着主机之间的数据传递一样,传输层控制着那些将要进入网络层的数据。这两个协议是它管理这些数据的两种方式:TCP是一个基于连接的协议;UDP则是面向无连接服务的管理方式的协议。

4.应用层

应用层向用户提供一组常用的应用程序,例如,电子邮件、文件传输访问、远程登录等。远程登录TELNET使用TELNET协议提供在网络其他主机上注册的接口。TELNET会话提供了基于字符的虚拟终端。文件传输访问FTP使用FTP协议来提供网络内机器间的文件复制功能。

应用层位于协议栈的顶端,它的主要任务是应用。上面的协议当然也是为了这些应用而设计的,具体说来一些常用的协议功能如下。

·    Telnet提供远程登录(终端仿真)服务,比较老的BBS就是用这个协议登录的。

·    FTP提供应用级的文件传输服务,即远程文件访问等服务。

·    SMTP简单邮件传输协议。

·    TFTP提供小而简单的文件传输服务,实际上从某个角度上来说是对FTP的一种替换(在文件特别小并且仅有传输需求的时候)。

·    SNTP简单网络管理协议。

·    DNS域名解析服务,也就是如何将域名映射成IP地址的协议。

·    HTTP超文本传输协议。我们上网时能够看到网上的图片、动画、音频等,都是依靠这个协议实现的。

1.4.2  TCP/IP工作原理

下面以采用TCP/IP协议传送文件为例,说明TCP/IP的工作原理,其中应用层传输文件采用文件传输协议(FTP)。

TCP/IP协议的工作流程如下。

1)在源主机上,应用层将一串应用数据流传送给传输层。

2传输层将应用层的数据流截成分组,并加上TCP报头形成TCP段,送交网络层。

3在网络层给TCP段加上包括源、目的主机IP地址的IP报头,生成一个IP数据包,并将IP数据包送交链路层。

4)链路层在其MAC帧的数据部分装上IP数据包,再加上源、目的主机的MAC地址和帧头,并根据其目的MAC地址,将MAC帧发往目的主机或IP路由器。

5)在目的主机,链路层将MAC帧的帧头去掉,并将IP数据包送交网络层。

6)网络层检查IP报头,如果报头中校验和与计算结果不一致,则丢弃该IP数据包;若校验和与计算结果一致,则去掉IP报头,将TCP段送交传输层。

7)传输层检查顺序号,判断是否是正确的TCP分组,然后检查TCP报头数据。若正确,则向源主机发确认信息;若不正确或丢包,则向源主机要求重发信息。

8)在目的主机,传输层去掉TCP报头,将排好顺序的分组组成应用数据流送给应用程序。这样目的主机接收到的来自源主机的字节流,就像是直接接收来自源主机的字节流一样。