网络参考模型

threcial 发布于 2026-04-21 28 次阅读


使用应用数据产生数据,数据是各种信息的载体。这些数据需要在不同的设备之间进行传递,传递过程则需要遵守协议

网络参考模型

OSI参考模型

从上到下:

表示层 会话层 传输层 网络层 数据链路层 物理层

由于OSI参考模型协议栈复杂,故目前使用较少

TCP/IP参考模型

TCP/IP参考模型是目前主流使用的参考模型

从下到上为:

  1. 物理层

    负责比特流在介质上的传输,将数字信号转化为电信号、光信号、电磁波信号,具有规范网络接口的特性常见的传输介质和协议:网线(802.3)、无线(802.11)光纤:需要插入到光模块中使用,分单模和多模,单模支持远距离传输一般标识为1310以上,多模支持近距离传输一般标识为850以下
  2. 数据链路层

    交换机工作在数据链路层,所以称为二层交换机数据链路层PDU称之为数据帧。常见协议:以太网、PPP、PPPOE
    • 以太网:以太网属于广播式数据链路层协议,支持多点接入。以太网使用MAC地址来唯一标识网络中每一个设备的网络接口。MAC地址是硬件地址,由网络设备厂商预设并硬编码在设备中,通常是6个字节(48位),用十六进制表示
      • 单播MAC地址:一对一发送,一般第一个字节最后一位设为0则为单播地址
      • 组播MAC地址:一对多发送,一般第一个字节最后一位设为1则为组播地址
      • 广播MAC地址:一对多发送,一般设为FF-FF-FF-FF-FF-FF
  3. 网络层

    网络层为网络中的设备提供逻辑地址,即IP地址,负责数据包的寻址和转发,将分组报文从一台主机发送到另一台主机。路由器工作在网络层,因此又叫三层设备常见网络层协议:IPV4,IPV6,ICMP,IGMP
    • ICMP协议:包含一个ping命令来探测设备间连通性
  4. 传输层

    传输层的PDU称为段。接受来自应用层的数据,帮助建立端到端的连接,即端口号。

    端口号范围0-66535,但是0-1023为公认端口不能私用

    常见协议:TCP、UDP。TCP:面向连接的可靠传输协议,需要通过建立连接再传输数据。UDP:非面向连接,不可靠传输连接协议,高效率但不稳定。

    TCP三次握手

    • 第一次握手:客户端向服务器发送一个SYN包,通知服务器客户端想要建立连接,并附带一个序列号(Seq=x)。此时客户端处于 SYN_SEND 状态

    • 第二次握手:服务器发送SYN-ACK包:服务器接收到客户端的SYN包后,确认客户端的请求,并向客户端发送一个SYN-ACK包。该SYN-ACK包包含服务器的初始序列号(Seq=y)和对客户端SYN包的确认号(Ack=x+1),表示服务器准备好建立连接,并且成功接收到客户端的连接请求

    • 第三次握手:客户端发送ACK包:客户端收到服务器的SYN-ACK包后,发送一个确认包(ACK)给服务器。该ACK包的确认号(Ack=y+1)表示客户端成功接收到服务器的SYN包,并同意建立连接此时客户端和服务器都进入 ESTABLISHED 状态,表示TCP连接已经成功建立,双方可以开始数据传输

    TCP四次挥手

    • 客户端发送FIN包:客户端向服务器发送一个FIN包,表示客户端已经没有数据需要发送,准备关闭连接。此时客户端进入 FIN_WAIT_1 状态,等待服务器的确认。

    • 服务器发送ACK包:服务器收到客户端的FIN包后,向客户端发送一个ACK包,确认客户端请求关闭连接,并进入 CLOSE_WAIT 状态,等待关闭连接。

    • 服务器发送FIN包:服务器在发送完所有数据后,发送一个FIN包给客户端,表示服务器也没有数据要发送了,准备关闭连接。此时,服务器进入 LAST_ACK 状态。

    • 客户端发送ACK包:客户端收到服务器的FIN包后,向服务器发送一个ACK包,确认连接的关闭。此时,客户端进入 TIME_WAIT 状态,保持连接一段时间以确保服务器接收到最后的ACK包,防止数据丢失

    • 最后,客户端完全关闭连接。

  5. 应用层
    为应用软件提供接口,使应用程序能够使用网络服务,常见协议和端口
  • http 80 tcp
  • https 443 tcp
  • telnet 23 tcp
  • ftp 20/21 tcp
  • tftp 69 udp
  • smtp 25 tcp

数据封装与解封装

数据封装由上往下,由各层加上头部最后由物理层传输,数据解封装则相反,各层解析头部和载荷