Skip to content

OSI 七层模型

物理层

物理层直接与物理介质交互。用到的设备一般有:网卡、网线、集线器、中继器、调制解调器等相关设备。物理层最重要的是物理的通讯,即信道

信道一般有以下几种:

  • 有线信道
    • 明线 明线是指平行架设在电线杆上的架空线路。它本身是导电裸线或带绝缘层的导线。虽然它的传输损耗低,但是由于易受天气和环境的影响,对外界噪声干扰比较敏感,已经逐渐被电缆取代。
    • 对称电缆 对称电缆是由多对双绞线组成的线缆,相对于明线抗干扰能力强、传输距离较远、带宽较大,但是相比其他信道如明线,同轴电缆的成本较高。
    • 同轴电缆 同轴线缆的应用范围极为广泛,同轴电缆能以低损耗的方式传输模拟信号和数字信号,适用于各种应用,其中常见的有电视广播系统、长途电话传输系统、计算机系统之间的短距离跳线以及局域网互联等
    • 光纤 光导纤维是一种用于传输光信号的传输介质,纤维核心通常由玻璃或塑料制成,用于传输光信号。光导纤维传输数据的原理是基于光的全反射现象。优点有传输距离远、带宽大、抗干扰性能好、重量轻、安全性高等。这使得光导纤维在许多领域得到广泛应用,如长途通信、数据中心互联、有线电视网络、城市光纤环路、军事通信等。此外,光导纤维也被用于光纤传感器、医疗设备和照明等领域。
  • 无线信道
    • 无线电波 无线电波是一种电磁波,无线电波的频率范围非常广泛,频率决定了其传输特性和应用场景,缺点是信号衰减、容易受到干扰和多径效应等

物理层主要作用是通过(电、光、无线电波)获取到他们对应的信号、电压,转换为 01010101 这种一串由 0 和 1 组成的数字序列二进制比特,但是数据还没组织,他们的单位为 bit,所以该层主要是传输比特流

数据链路层

这层将物理层获取到的比特流组装成一个数据帧,用 MAC 地址访问介质(MAC 地址:每一个网卡的唯一标识 ) windows 查看物理地址(MAC 地址),控制台输入 ipconfig/all mac 查看物理地址(MAC 地址),控制台输入 ifconfig/all

这层主要组装成数据帧,拼装上 MAC 地址,然后可以进行交互,使用物理设备交换机进行跳点的方式进行交互

网络层

网络层是最复杂的一层,该层控制数据链路层与传输层之间的信息转发,建立、维持和终止网络的连接。具体地说,数据链路层的数据在这一层被转换为数据包,然后通过路径选择、分段组合、顺序、进/出路由等控制,将信息从一个网络设备传送到另一个网络设备

在这层中最重要的就是寻址和路由了,虽然我们已经有 Mac 地址了,但是各种国家有不一样的 Mac 地址,查起来非常麻烦,所以从这一层开始会有一个网络地址,也就是 IP 地址,来作为我们寻址的媒介。

  • 寻址:网络层使用 IP 地址来唯一标识互联网上的设备。每台连接到互联网的设备都有一个独特的 IP 地址,使得其他设备可以与之通信。IP 地址分为两部分:网络地址和主机地址。网络地址用于识别设备所属的网络,而主机地址用于识别网络内的特定设备。
  • 路由:路由是指在不同网络之间选择合适的路径以传输数据的过程。在同一个网络中的内部通信不需要网络层设备,仅仅靠数据链路层就可以完成相互通信。然而,对于不同网络之间的通信,就必须借助路由器等网络层设备。路由器会根据路由表和路由算法来确定将数据包发送到何处,从而确保数据包能够到达目标主机。
  • 分片与重组:当一个数据包在传输过程中需要经过不同网络时,可能会遇到数据链路层的最大传输单元(MTU)不同的情况。为了适应不同的 MTU,网络层会将大的数据包分片成更小的片段,以便在各个网络中传输。在接收端,网络层会将这些片段重新组合成原始数据包。
  • 差错检测与报告:网络层还负责检测和报告在数据传输过程中出现的错误。例如,当数据包在传输过程中丢失或出现错误时,网络层可以通过生成差错报告(如 ICMP 消息)来通知发送方。

网络层中的 IP 协议规定了网络地址的格式和使用方式。目前广泛采用的是 IP 协议第四版(IPv4),该版本规定网络地址由 32 个二进制位组成。然而,由于 IPv4 地址的有限数量已经无法满足日益增长的互联网需求,因此正在推广 IP 协议第六版(IPv6),它使用 128 位二进制位来表示网络地址,极大地扩展了可用地址空间。

传输层

传输层通过定义端口号、流量控制和校验来实现网络通信。

并且拥有两个熟知的协议 TCP(传输控制协议) UDP(用户数据报协议)

  • TCP 协议是一种面向连接的、可靠的协议。它通过三次握手和四次挥手的过程来确保数据传输的可靠性(可靠协议)。然而,这种可靠性的保证会以速度为代价,因为三次握手和四次挥手会增加通信的开销。尽管如此,TCP 协议在很多场景下仍然是首选,如文件传输、电子邮件发送和 Web 浏览等。
  • UDP:与 TCP 相比,UDP 协议更注重实时性和高效性。由于 UDP 没有进行三次握手和四次挥手的过程,因此它的稳定性相对较低,但传输速度较快。这使得 UDP 协议非常适用于对实时性和低延迟性有较高要求的场景,如在线游戏、实时音视频通信和直播等。

会话层

会话层在网络通信中负责创建、维护、终止或断开发送方和接收方之间的连接,类似于电话通话的过程。它为发送方和接收方提供了一种机制,允许他们在需要时启动或停止通信会话,并在通信过程中遇到拥塞的情况下仍能维持对话。

表示层

表示层主要负责处理安全、压缩和数据格式转换等方面的工作。在实际应用中,表示层与会话层紧密协作,共同保证网络通信的顺畅进行。

应用层

这层常被人叫做报文

应用层是网络模型中与用户最接近的一层,它为用户提供了直接的网络服务和应用接口。应用层处理了诸多网络协议,以满足用户在各种场景下的需求。以下是一些常见的应用层协议及其用途:

  • HTTP(超文本传输协议):HTTP 是用于在互联网上进行文档和资源传输的基本协议。例如,当我们使用浏览器访问网页时,就是通过 HTTP 协议进行通信的。在 Web 开发中,AJAX 请求也是基于 HTTP 协议发送的。
  • DNS(域名系统):DNS 是用于将域名解析成 IP 地址的服务,它将便于人们记忆的域名转换为计算机可识别的 IP 地址。例如,当我们在浏览器中输入一个网址时,DNS 会将该网址转换为实际的 IP 地址,以便正确访问目标网站。
  • SMTP(简单邮件传输协议):SMTP 是一种用于在网络上发送和接收电子邮件的协议。当我们使用电子邮件客户端或 Web 邮件服务发送邮件时,就是通过 SMTP 协议进行通信的。
  • WebSocket:WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议,用于实现客户端和服务器之间的长连接。例如,在实时聊天、在线游戏或股票行情推送等场景中,WebSocket 可以提供低延迟、高效的数据传输。
  • SSH(安全外壳协议):SSH 是一种用于在不安全的网络环境中对远程服务器进行安全访问和管理的加密协议。它可以保护数据在传输过程中的完整性、机密性和可靠性,广泛应用于远程登录、文件传输等场景。