网络层即 OSI 第 3 层,它为所标识的终端设备之间通过网络交换一个个数据的片段提供服务。为了实现这种端到端传输,第 3 层使用了四个基本过程:
- 编址
- 封装
- 路由
- 解封
编址
首先,网络层必须为这些终端设备的编址提供一种机制。如果要将每段数据发往一台终端设备,则该设备必须具有唯一的地址。在 IPv4 网络中,向某台设备添加了此类地址后,该设备就被称为主机。
封装
然后,网络层必须提供封装。不仅是设备必须以地址标识,每个片段,即网络层 PDU 也必须包含这些地址。在封装过程中,第 3 层接收第 4 层 PDU 并添加第 3 层报头(即标签),从而创建第 3 层 PDU。在涉及网络层时,我们称这种 PDU 为数据包。创建数据包时,报头中除了其它信息外,还必须包含接收数据包的目的主机的地址。此地址称为目的地址。第 3 层报头也包含发送主机的地址。此地址称为源地址。
网络层完成其封装过程后,会将数据包向下传送到数据链路层,准备通过介质传输。
路由
接下来,网络层必须提供服务,将这些数据包转发到其目的主机。源主机和目的主机并不一定都连接到同一网络上。事实上,数据包的传输有时必须经由许多不同的网络。沿途必须引导每个数据包通过网络到达其最终目的主机。连接网络的中间设备称为路由器。路由器的作用是为数据包选择路径并将其转发到目的主机。此过程称为路由。
在通过网际网络路由的过程中,数据包可能要经过多个中间设备。数据包为了到达下一个设备而经过的每个路由称为一跳。转发数据包时,其内容(传输层 PDU)在到达目的主机前将一直保持不变。
解封
最后,数据包到达目的主机并在第 3 层得到处理。主机通过检查目的地址来确认该数据包的发送目的是否为本设备。如果地址正确,则由网络层解封该数据包,然后将数据包中包含的第 4 层 PDU 向上传送到传输层的相应服务。
传输层(OSI 第 4 层)负责管理每台终端主机上运行进程之间的数据传输,而网络层协议则指定从一台主机向另一台主机传送数据时使用的数据包结构和处理过程。网络层无需考虑每个数据包中所携带的应用程序数据,这种工作原理使其能够为多台主机之间多种类型的通信传送数据包。
网络层协议
在传送用户数据的网络层执行的协议包括:
- Internet 协议第四版 (IPv4)
- Internet 协议第六版 (IPv6)
- Novell 互联网分组交换协议 (IPX)
- AppleTalk
- 无连接网络服务 (CLNS/DECNet)
Internet 协议(IPv4 和 IPv6)是使用最为广泛的第 3 层数据传输协议,因此将是本课程的重点。其它协议只是略有提及。