TCP/IP即传输控制/网络协议,也叫作网络通信协议。它是在网络的使用中的最基本的通信协议。
针对TCP/IP的标准化,国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系,一般称为OSI(Open System Interconnection)参考模型或七层模型。它从低到高分别是:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,如图3.1所示。
图3.1 OSI七层模型
其中每一层的作用如下:
定义一些电器、机械、过程和规范,如集线器。利用传输介质为数据链路层提供物理连接,实现比特流的透明传输。
物理层的作用是实现相邻计算机节点之间比特流的透明传送,尽可能屏蔽掉具体传输介质和物理设备的差异。使其上面的数据链路层不必考虑网络的具体传输介质是什么。最常见的设备是集线HUB,它将一些机器连接起来组成一个局域网,从而实现局域网通信的可能。
定义如何格式化数据,支持错误检测。典型协议有:以太网和帧中继(古董级VPN)。该层的主要功能是:通过各种控制协议,将有差错的物理信道变为无差错的、能可靠传输数据帧的数据链路。该层通常又被分为介质访问控制(MAC)和逻辑链路控制(LLC)两个子层。
MAC子层的主要任务是解决共享型网络中多用户对信道竞争的问题,完成网络介质的访问控制。
LLC子层的主要任务是建立和维护网络连接,执行差错校验、流量控制和链路控制。
最常见的设备是以太网交换机。交换机是一种基于MAC地址识别,能完成封装转发数据包功能的网络设备。交换机可以“学习”MAC地址,并将其存放在内部地址表中,通过在数据帧的始发者和目标接收者之间建立临时的交换路径,使数据帧直接由源地址到达目的地址。
作用:定义一个逻辑的寻址,选择最佳路径传输路由数据包。典型协议:IP、IPX、ICMP、ARP(IP→MAC)、IARP等。主要任务是:通过路由选择算法,为报文或分组通过通信子网选择最适当的路径。该层控制数据链路层与传输层之间的信息转发,建立、维持和终止网络的连接。
最常见的设备是路由器。
作用:提供可靠和尽力而为的传输。典型协议有:TCP、UDP、SPX、EIGR、OSPF等。
传输层的主要功能如下:
传输连接管理:提供建立、维护和拆除传输连接的功能。传输层在网络层的基础上为高层提供“面向连接”和“面向无接连”这两种服务。
处理传输差错:提供可靠的“面向连接”和不太可靠的“面向无连接”的数据传输服务、差错控制和流量控制。在提供“面向连接”服务时,通过这一层传输的数据将由目标设备确认,如果在指定的时间内未收到确认信息,数据将被重发。
作用:负责会话建立,提供包括访问验证和会话管理在内的建立和维护应用之间通信的机制。如服务器验证用户登录便是由会话层完成的。
典型协议有:NFS、SQL、ASP、PHP、JSP、RSVP(资源源预留协议)。
作用:格式化数据,转换为适合于OSI系统内部使用的传送语法。即提供格式化的表示和转换数据服务。数据的压缩和解压缩,加密和解密等工作都由表示层负责。
典型协议有ASCII、JPEG、PNG、MP3、WAV、AVI。
作用:应用层为操作系统或网络应用程序提供访问网络服务的接口,完成用户希望在网络上完成的各种工作。
典型协议有TELNET、SSH、HTTP、FTP、SMTP、RIP。
OSI七层模型(开放式系统互联模型)是一个参考标准,解释协议相互之间应该如何相互作用。但实际上现在网络通信使用的协议是TCP/IP。
其历史原因大致有如下几点:
(1)TCP/IP的出现比OSI七层模型更早。TCP/IP在1974年12月由卡恩和卡恩约瑟夫正式发表。而OSI参考模型则是在TCP/IP成熟后,于1979年才正式发布。
(2)OSI参考模型是一种接近完美的理论,但是没有从技术的角度出发考虑。
所以目前互联网还是TCP/IP的天下。同时TCP/IP很容易和OSI七层模型对应。