3.3 TCP/IP模型

学习任务

(1)掌握TCP/IP模型及各层功能。

(2)了解TCP/IP协议栈中的主要协议。

尽管OSI模型得到了全世界的认同,但是并没有真正流行使用。目前,真正意义上流行使用的层次模型是TCP/IP模型。TCP/IP模型采用层次化结构,是开放式协议标准。

3.3.1 TCP/IP模型

知识点

(1)TCP/IP模型。

(2)网络接口层、网络层、传输层和应用层。

美国国防部高级研究计划局研究不同类型计算机网络之间的互联问题,并成功地开发出著名的TCP/IP,它是ARPANET网络结构的一部分,提供了连接不同厂家计算机的通信协议。事实上,TCP/IP通信标准是由一组通信协议组成的协议族。其中,两个主要的协议是TCP和IP。

TCP/IP协议是先于OSI模型开发的。但是,OSI模型的制定,也参考了TCP/IP协议族及其分层体系结构的思想。而TCP/IP模型在不断发展的过程中也吸收了OSI标准中的概念及特征。与OSI模型相比,TCP/IP模型简化了层次设计,它只有4个层次,从下向上分别为网络接口层、网络层、传输层和应用层,如图3-3所示。

img

图3-3 OSI模型与TCP/IP模型的比较

(1)网络接口层

网络接口层是TCP/IP参考模型中的最底层,对应着OSI的物理层和数据链路层。网络接口层负责处理与传输介质的细节,为上一层提供一致的网络接口。该层没有定义任何实际协议,只定义了网络接口,任何已有的数据链路层协议和物理层协议都可以用来支持TCP/IP。

该层中所使用的协议大多是各通信子网固有的协议,这些网络接口层技术包括以太网(IEEE 802.3协议)、令牌环网(IEEE 802.5协议)等局域网技术,用于串行连接的HDLC(高级数据链路控制)、PPP(点对点协议)等技术,以及常见的分组交换网(X.25协议)、帧中继及分组交换技术。

(2)网络层

网络层又称网际层、IP层,是TCP/IP参考模型的核心,主要功能是将源主机的数据正确传输到目标主机。源主机和目标主机可以在同一个网络中,也可以在不同的网络中。网络层使用IP地址表示网络节点,使用路由协议生成路由信息,并且根据路由信息实现数据包的转发,使数据包能够传输到目标节点。TCP/IP模型的网络层与OSI模型的网络层功能相似,提供了数据成包、路由选择、流量控制和拥塞控制等。

(3)传输层

TCP/IP模型的传输层与OSI模型的传输层类似,主要负责为两台主机上的应用进程提供端到端的通信,使源主机和目标主机上的应用进程可以进行会话。常见的传输层协议有TCP和UDP(User Datagram Protocol,用户数据报协议)。在端到端的通信中,使用TCP可以提供面向连接的可靠的通信服务,也可以使用UDP提供的无连接不可靠的通信服务。

(4)应用层

应用层是最高层,对应OSI模型中的会话层、表示层和应用层。也就是说它与OSI模型中的高三层功能相似,提供网络服务。应用层协议很多也较复杂,向用户提供一组常用的应用程序,如文件传送、电子邮件等。

TCP/IP参考模型数据通信过程与OSI参考模型数据通信过程非常相似,这里不再赘述。

img

提示

TCP/IP模型的简洁性和实用性使得它成为事实上的国际标准,主要体现在它不仅把网络层以下部分留给实际网络,而且将高层部分和应用进程结合在一起,形成了统一的应用层。

课堂同步

请简述当你使用浏览器浏览校园网主页时,数据在TCP/IP模型中的通信过程。

3.3.2 TCP/IP协议栈

知识点

(1)网络层协议:IP、ICMP、IGMP、ARP、RARP。

(2)传输层协议:TCP、UDP。

(3)应用层协议:SMTP、FTP、DNS、SNMP、NFS、HTTP、Telnet。

TCP/IP模型并非只有TCP和IP两个协议,而是包含了很多其他协议,这点与OSI模型不同,在TCP/IP模型中,除了网络接口层外,其他每层都有具体的协议(技术),这些协议共同构成了TCP/IP协议栈,如图3-4所示。

(1)网络层协议

IP协议是网络层核心协议,是一个面向无连接的协议,以数据包的形式向传输层提供尽最大努力交付服务。IP协议定义了网络层分组格式,其中包括IP地址寻址方式。众所周知,不同网络技术主要区别通常体现在数据链路层和物理层,而IP协议则能将不同的网络技术在TCP/IP模型的网络层进行统一,以统一的IP数据报传输提供对异构网络互联的支持。IP协议使得互联起来的许多计算机可以相互通信。

网络层还有其他辅助协议,更好地完成网络数据通信。它们是ICMP、IGMP、ARP和RARP。

1)ICMP(互联网控制消息协议,Internet Control Message Protocol)为IP协议提供差错报告。由于IP是无连接的,且不进行差错检验,当网络上发生错误时它不能检测错误。向发送IP数据报的主机汇报错误就是ICMP的责任。ICMP能够报告的一些普通错误类型有目标无法到达、超时等。

img

图3-4 TCP/IP协议栈

2)IGMP(互联网组管理协议,Internet Group Management Protocol)负责点到多点的数据包传输。因为IP协议只是负责网络中点到点的数据包传输,所以点到多点的数据包传输则要依靠IGMP完成。

3)ARP(地址解析协议,Address Resolution Protocol)和RARP(反向地址解析协议,Reverse Address Resolution Protocol)。为了使设备之间能够相互通信,源节点需要目标节点的IP地址和MAC地址。当一台设备试图与另外一台已知IP地址的设备通信时,就必须确定对方的MAC地址。使用TCP/IP协议栈中的ARP可以自动获得MAC地址。ARP允许主机根据IP地址查找MAC地址。反过来,一台网络设备或工作站可能知道自己MAC地址,但是不知道自己的IP地址,为获取IP地址,网络设备会发送RARP请求,RARP服务器从现实做好的MAC地址和IP映射表中,查出该IP地址,发回给网络设备。这样网络设备就获取了IP地址。也就是说RARP允许主机根据MAC地址获取IP地址。

(2)传输层协议

传输层的主要协议有TCP和UDP。

1)TCP协议是可靠的、面向连接的协议,通过建立连接、数据传输和释放连接来保证数据可靠的传输。TCP协议还要完成流量控制和差错检验的任务。

2)UDP是一种不可靠的、无连接的协议。UDP不能提供可靠的数据传输,不进行差错检验,它的可靠性和差错控制由应用层来完成。优点是协议简单、额外开销小、效率较高;缺点是不保证正确传输,也不排除重复信息的发生。虽然UDP与TCP相比,显得并不可靠,但在一些特定的环境下还是非常有优势的。

(3)应用层协议

在TCP/IP模型中,应用层为用户提供了许多应用程序,而且不断有新的协议加入,应用层常用的协议有以下几个:

1)HTTP(超文本传输协议):是Internet最为广泛的一种网络传输协议,是WWW服务支撑协议之一;

2)FTP(文件传输协议):提供交互式文件传输服务,使用TCP提供可靠、面向连接的文件传输。适合远距离、可靠性较差的线路上的文件传输;

3)TFTP(简单文件传输协议,Trivial File Transfer Protocol):也用于文件传输服务,但是使用UDP提供不可靠、无连接的文件传输。通常用于局域网内部文件传输;

4)Telnet(远程终端协议):实现远程登录功能,客户端与远端服务器建立连接使用的标准终端仿真协议;

5)SMTP(简单邮件传输协议,Simple Mail Transfer Protocol):负责电子邮件的传递;

6)DNS(域名服务,Domain Name System):实现域名与IP地址之间的转换;

7)DHCP(动态主机配置协议,Dynamic Host Configuration Protocol):实现对主机的IP地址自动分配和配置工作;

8)SNMP(简单网络管理协议,Simple Network Management Protocol):负责网络设备监控和维护,支持安全管理和性能管理等;

9)RIP(路由信息协议,Routing Information Protocol):负责路由信息的交换;

10)NFS(网络文件系统,Network File System):实现主机之间的文件系统的共享,能使使用者访问网络上别处的文件就像在使用自己的计算机一样。

课堂同步

多选题:下列关于TCP/IP模型的描述中,错误的是(  )。

A.TCP/IP是一种开放的协议标准

B.DNS、FTP、ICMP、ARP和RARP都属于应用层协议

C.TCP报文段和UDP报文都要通过IP来发送和接收的

D.TCP提供的是可靠的面向连接服务

E.UDP提供的是可靠的面向无连接服务

F.传输层提供的是可靠的端到端服务

G.TCP/IP模型可以分为4个层次,其中网络接口层对应OSI模型的物理层和数据链路层

img