TCP/IP 模型
TCP/IP模型是大多数现代通信网络的基础。 其名称中包含了两个重要协议,即TCP协议(Transmission Control Protocol)和IP协议(Internet Protocol)。 最初的TCP/IP协议仅有四层(应用层、传输层、网络层、链接层),后来将链接层划分为数据链路层和物理层。 在TCP/IP协议中,定义了一下两个概念
- 在同一个主机,每一层都为其TCP/IP堆栈中上一层提供服务。
- 在不同的主机上,使用相同的层协议建立相同的层通信。
在TCP/IP协议中,每一层的细节如下:
- 链路层:该链路层提供物理传输支持,并包括用于通过两个设备之间的链路传输信息的协议。由于存在多种不同的传输介质(电缆、无线电波以及),故而存在多种协议,其中最著名的就是Ethernet协议。
- 网络层:提供网络服务,包括允许信息通过多跳传输的协议。为此,每个主机都由一个因特网协议(IP)地址标识,如果使用另一种因特网协议类型,则由一个不同的地址标识。两个主机之间的每个跳设备,称为网络节点, 知道如何到达目标IP地址,并将信息传输到下一个最佳节点以到达目的地。这些节点进行信息的路由,也称为路由器,通过每个节点确定到达目标地址的最优临近节点的方法称为路由协议。
- 传输层:传输层提供了在两个端点之间成功传输信息的服务。它将底层抽象并关心端到端过程。
- 应用层:这些协议并不涉及信息将如何到达目的地,而只涉及定义正在传输的信息的内容。
不同层传递的信息单元如下:
TCP/IP模型封装
在TCP/IP模型中,每一层都为它上面的级别提供服务。每一层的协议包括一个协议头,在某些情况下包括一个指向上层提供的信息。 协议头包含足够的信息,以便协议能够实现信息的传递。这个过程称为封装。 对于主机A,其过程如下:
- 主机使用HTTP应用层协议请求一个Web页面。HTTP应用生成的信息表示为“Data”
与TCP/IP模型的网络通信
网络设备是一种实现TCP/IP模型的设备。该模型可以完全实现(例如,在用户计算机或服务器的情况下)或部分实现(例如,a 路由器可能只实现TCP/IP堆栈)。 下图中有两个主机:主机A和服务器B,主机A向服务器B请求http页面。
开放式系统互连模型
开放系统互连(OSI)参考模型是另一个使用抽象层来表示通信系统的操作的模型。 与TCP/IP模型一样,OSI也采用了抽象层的方式,其共存在7个抽象层,每一个都代表一个通讯网络中不同的功能和服务。 具体如下:
- 物理层——L1:提供可通过数据链路传输比特的服务。
- 数据链路层——L2:包括通过两个连接设备之间的链路传输信息的协议和功能。例如,它提供了流量控制和L1错误检测。
- 网络层——L3:该层包括跨网络传输信息所需的功能,并提供对底层连接方式的抽象。它定义了L3寻址、路由和数据包转发.
- 传输层——L4:该层包括端到端连接建立和信息交付的服务。例如,它包括错误检测、重传输能力和多路复用。
- 会话层——L5:该层向表示层提供服务,以建立会话并交换表示层数据。
- 表达层——L6:该层向应用程序层提供服务,以处理特定的语法,这就是向最终用户呈现数据的方式。
- 应用层——L7:这是OSI模型的最后一层(或第一层)层(取决于您查看它的方式)。它包括用户应用程序的所有服务,包括与最终用户的交互。
OSI层的功能可以映射到TCP/IP模型提供的类似功能。其各层之间大致的对照如下: 对于同一个主机内,各层以封装形式进行交互,封装在OSI模型中形式化如下:
- 某一层(N)的协议控制信息(PCI)是由协议添加的信息。
- 用于一层(N)的协议数据单元(PDU)由在该层产生的数据加上针对该层的PCI组成。
- 用于层(N)的服务数据单元(SDU)是(N+1)层PDU。
PCI、PDU与SDU之间关系如下图 其各层间封装样例如下: 部分协议位置
|