1.7.4 TCP/IP参考模型
TCP/IP于1974年问世以来,得到了很大的发展。目前,TCP/IP这个概念,既指互联网所采用的分层模型,即TCP/IP体系结构,也指互联网中所用的一整套协议,即TCP/IP协议栈。
TCP/IP体系结构已经成为当今网络协议的主流和事实上的工业标准,得到了广泛的应用和支持。TCP/IP是为ARPANET设计的,目的是使不同厂家生产的计算机能在同一网络环境下运行,实现异构网间的无缝连接。TCP/IP为互联网所采用,并成为事实上的标准。
TCP/IP模型实际上是OSI模型的一个浓缩版本,将网络模型分为四层:应用层、传输层、网络层、网络接口层。图1-22给出了TCP/IP和OSI七层参考模型的对应关系。
图1-22 TCP/IP和OSI七层参考模型的对应关系
(1)网络接口层
这是TCP/IP网络模型的最底层,负责数据帧的发送和接收。这一层从IP层接收IP数据报并通过网络发送它,或者从网络上接收物理帧,抽出IP数据报,交给IP层。TCP/IP标准并不定义与ISO数据链路层和物理层相对应的功能。相反,它定义像地址解析协议(Address Resolution Protocol,ARP)这样的协议,提供TCP/IP的数据结构和实际物理硬件之间的接口。
(2)网络层
网络层将传输层数据报封装成IP分组,注入网络中,运行必要的路由算法使数据报独立到达目的地。本层的中心工作就是IP分组的路由选择,这是通过路由协议和路由器进行的。另外,本层也进行流量控制。
网络层主要由以下协议构成:
1)IP。IP是一个面向无连接的协议,主要负责在主机和网络之间寻址并为IP分组设定路由。IP不保证数据分组是否正确传递,在交换数据前它并不建立会话,数据在接收时,IP不需要收到确认,因此IP是不可靠的传输。
2)地址解析协议(Address Resolution Protocol,ARP)。用于获得同一物理网络中主机的硬件地址。主机在网络层用IP地址来标识。但在网络上通信时,主机就必须知道对方主机的硬件地址(如网卡的MAC地址)。ARP实现将主机IP地址映射为硬件地址的过程。
3)网际控制报文协议(Internet Control Message Protocol,ICMP)。用于报告错误,传递控制信息。
4)互联网组管理协议(Internet Group Management Protocol,IGMP)。使IP主机能够向本地多播路由器报告多播组成员,以实现多播。
(3)传输层
传输层在计算机之间提供端到端的通信。两种传输协议分别是传输控制协议(TCP)和用户数据报协议(UDP)。
1)TCP是一种可靠的面向连接的传输服务。TCP对下层服务没有多少要求,它假定下层只能提供不可靠的数据报服务。在TCP中进行差错控制和流量控制,以保证数据的正确传递。TCP在进行通信时首先建立连接,将数据分成数据报,为其指定顺序号。在接收端接收到数据报之后进行错误检查,对正确发送的数据发送确认数据报,对于发生错误的数据报发送重传请求。TCP可以根据IP提供的服务传送大小不等的数据,IP负责对数据进行分段、重组,并在多种网络中传送。
2)UDP(User Datagram Protocol)提供的是非连接的、不可靠的数据传输。UDP在数据传输之前不建立连接,而是由每个中间结点对数据报文独立进行路由。当一个UDP数据报在网络中移动时,发送过程中并不知道它是否到达了目的地,这由应用层的协议来控制。
(4)应用层
TCP/IP的最高层是应用层,应用程序通过该层访问网络。应用层的协议多种多样,需要根据不同的任务来确定。下面列出几种经常遇到的协议:
1)文件传送协议(File Transfer Protocol,FTP)。这是计算机网络中最常见的应用之一,用于完成不同计算机之间文件传输的任务,同时FTP还有交互式访问、格式规定和认证管理等功能。
2)远程登录(Telnet)协议。该协议允许一个地点的用户与另一个地点的计算机上运行的应用程序进行交互对话,提供一个相对通用的、双向的、面向字节流的通信方法。Telnet协议建立的基础是网络虚拟终端的概念、对话选项的方法和终端与处理的协调。
3)简单邮件传输协议(Simple Mail Transfer Protocol,SMTP)。该协议用于实现可靠高效地传送邮件。SMTP能够提供通过一个或多个中继SMTP服务器传送邮件的机制。
4)简单网络管理协议(Simple Network Management Protocol,SNMP)。这是由互联网工程任务组(IETF)定义的一套网络管理协议。利用SNMP,一个管理工作站可以远程管理所有支持这种协议的网络设备,包括监视网络状态、修改网络设备配置、接收网络事件告警等。
5)超文本传输协议(Hyper Text Transfer Protocol,HTTP)。这是互联网中使用最广泛的应用层协议。HTTP不限于支持WWW服务,它同时允许用户在统一的界面下,采用不同的协议访问不同的服务。另外,HTTP还可以用于域名服务器和分布式对象管理。
从TCP/IP的体系结构可以看出,IP层在TCP/IP分层模型中处于中心地位,在其上可以承载各种各样的业务,在其下可以基于各种各样的物理接口,这就是所谓的“Everything over IP”和“IP over Everything”的概念,如图1-23所示。
图1-23 IP在TCP/IP体系结构中的地位