网络协议浅谈

OSI参考模型:

OSI 七层模型 是国际标准化组织ISO提出一个网络分层模型,其大体结构以及每一层提供的功能如下图所示:

OSI七层模型

​ 它的目的是进行异构网络系统(不同制造商生产的计算机、网络设备和系统组成的网络)的互连互通,是异构网络的国际标准。每一层都专注做一件事情,并且每一层都需要使用下一层提供的功能(下层协议对上层来说是透明的),比如传输层需要使用网络层提供的路由和寻址功能,这样传输层才知道把数据传输到哪里去。OSI 的七层体系结构概念清楚,理论也很完整,但是它比较复杂而且不实用,而且有些功能在多个层中重复出现

osi七层模型2

​ 上层的四层为端到端的层,两个主机的通信过程如下图所示:

协议示意

  • 物理层就是现实中的传输信息的线路,如光纤,电线等线路,他只负责传输0与1
  • 数据链路层负责进行流量控制(防止淹没接受端),差错控制(检测丢失信息)和控制链路使用权
  • 网络层控制数据的逻辑寻址,负责数据节点到节点的交付(由路由器最终分组)
  • 传输层负责端到端(两个主机的进程)的信道数据传输(使用SAP寻址)
  • 会话层管理应用程序间的会话,还负责同步的功能(在数据流中加入同步点,确保数据交换的顺序和时间上的一致性)
  • 表示层负责数据加密,数据解码(数据压缩,数据解压)的过程
  • 应用层支持用户通过代理使用网络服务,如
    • 文件传输(FTP File Transfer Protocol)
    • 电子邮件(SMTP Simple Mail Transfer Protocol)
    • Web(HTTP HyperText Transfer Protoco)

TCP/IP 四层模型

TCP/IP 四层模型 是IETP组织制定的,目前被广泛采用的一种模型,我们可以将 TCP / IP 模型看作是 OSI 七层模型的精简版本,由以下 4 层组成:

  1. 应用层
  2. 传输层
  3. 网络层
  4. 网络接口层

需要注意的是,我们并不能将 TCP/IP 四层模型 和 OSI 七层模型完全精确地匹配起来,不过可以简单将两者对应起来,如下图所示:

TCP/IP四层模型

  1. 链路层(Link Layer)
    • 链路层通常包括 OSI 模型的物理层和数据链路层。它负责在物理媒介(如电缆、光纤)上传输原始比特流。链路层的主要任务包括封装网络层传下来的数据包(称为帧),处理物理地址(如 MAC 地址),以及确保数据在相邻节点间的可靠传输
  2. 网络层(Internet Layer)
    • 网络层负责在多个网络之间传输数据包。它使用 IP 协议(Internet Protocol)来为数据包提供寻址和路由功能。网络层的主要任务包括将数据包(IP 数据报)从源主机路由到目的主机,无论它们之间有多少个网络
  3. 传输层(Transport Layer)
    • 传输层负责在网络中的两个端点之间提供可靠的、面向连接的数据传输服务。TCP(Transmission Control Protocol)和 UDP(User Datagram Protocol)是这一层的两个主要协议
  4. 应用层(Application Layer)
    • 应用层是 TCP/IP 模型的最高层,它直接为用户的应用程序提供服务。这一层包含了各种协议,用于支持特定的应用程序,如 HTTP(用于网页浏览)、SMTP(用于电子邮件传输)、FTP(用于文件传输)等。应用层协议定义了客户端和服务器之间交换数据的格式和规则,使得应用程序能够通过网络进行通信

TCP/IP各层协议