OSI 七层网络模型

OSI 七层网络模型

概述

七层模型包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。有的人也会将应用层、表示层和会话层合并为应用层,将物理层和数据链路层合并为物理层。每一层都会遵守不同的协议,不同的协议之间通过封装、解封装、加解密等方式进行通信。

物理层

物理层主要是跟物理介质打交道。

物理层的设备包括集线器、中继器、调制解调器、网卡、网桥、交换机等。

物理层的作用是实现比特流的传输,它规定了 0 和 1 的电信号的表示方法、传输距离、传输速率、传输方式、传输媒介等。

数据链路层

数据链路层主要是负责将数据从一台计算机传输到另一台计算机。主要包括建立连接、进行硬件地址寻址、差错校验。

通过将比特流组合成帧,用 MAC 地址标识发送方和接收方,并将帧通过物理介质传输。

MAC 地址是指网络接口卡的物理地址,MAC 地址长度为 48 位,通常用十六进制表示。

数据链路层的协议有 PPP、 Ethernet、FDDO 等。

网络层

网络层是最重要的一层,该层控制数据链路层与传输层之间的信息转发、建立、维持和终止网络的连接。

数据链路层的数据在这一层被转换为数据包,然后通过路径选择、分段组合、顺序、进出路由等控制将信息从一个网络设备传送到另一个网络设备。

  1. 寻址:使用 IP 地址进行寻址,IP 地址长度为 32 位,通常用十进制表示。
  2. 路由:网络层使用路由表进行路由选择,路由表中记录了网络中各个设备的 IP 地址和下一跳路由器的 IP 地址。
  3. 转发:当数据包到达网络层时,网络层检查数据包的目的 IP 地址,并根据路由表选择下一跳路由器,然后将数据包发送给下一跳路由器。
  4. 封装:网络层将数据包封装成数据帧,并添加首部信息,如源 IP 地址、目的 IP 地址、传输层协议类型、数据包长度等。
  5. 分段:当数据包长度超过网络传输的最大数据包长度时,网络层将数据包分段,并在分段后重新封装成数据帧。
  6. 重传:当数据包在网络中传输过程中丢失时,网络层会自动重传。
  7. 错误控制:网络层使用差错校验、流量控制、拥塞控制等机制来保证数据包的可靠传输。

网络层的协议有 IP、ICMP、IGMP、ARP、RIP 等。

传输层

传输层是网络层之上的一层,主要负责向应用层提供可靠的端到端的通信。

传输层的主要协议有 TCP、UDP。

TCP

TCP 协议是一种面向连接的、可靠的、基于字节流的传输层协议。

TCP 协议提供可靠的、按序到达的数据流服务,它建立连接、维护连接、断开连接、数据流的顺序、数据流的完整性、数据流的错误控制等功能。

TCP 协议的特点是建立连接后,通信双方必须互相握手,然后才能开始通信。

UDP

UDP 协议是一种无连接的、不可靠的、基于数据报的传输层协议。

UDP 协议提供不可靠的、无序到达的数据流服务,它不建立连接、不维护连接、不保证数据流的顺序、不保证数据流的完整性、不保证数据流的错误控制等功能。

UDP 协议的特点是无连接,通信双方不必握手,直接就可以通信。

会话层

会话层主要负责建立、管理和终止会话。

  1. 建立会话:会话层建立连接时,首先建立会话,并为通信双方分配会话标识符。
  2. 管理会话:会话层管理连接的建立、维护、终止。
  3. 终止会话:会话层终止连接时,释放连接资源。

数据在这一层叫做报文段,报文段包含源端口号、目的端口号、序列号、确认号、数据、校验和等信息。

会话层的协议有 SSL 、TLS 等。

表示层

表示层主要负责对数据进行编码、加密、解密、压缩、解压缩等处理。

表示层会在在发送之前进行加密,在接收之后进行解密。表示层还会将图片、视频等编码成计算机能读懂的编码。

表示层的协议有 JPEG、MPEG、ASN.1 等。

应用层

应用层是最常用的一层,主要负责向用户提供各种应用服务。包括 AJAX 发送 HTTP 请求、域名系统 DNS 解析,文件传输 FTP、电子邮件 SMTP 等。

应用层的协议有 HTTP、FTP、SMTP、SNMP、Telnet、SSH、TFTP 等。

相关推荐
ybr3 分钟前
基于react-router-dom, view transition 实现路由切换过渡动效
前端
饮茶三千4 分钟前
FreeMarker在保险电子保单/保函模板中的应用
前端·后端
前端的日常5 分钟前
提升开发效率,VSCode 中的两大神器
前端
掘金016 分钟前
vue父子组件处理异步操作
前端
前端拿破轮6 分钟前
腾讯面试官:手写一个节流防抖看看
前端·javascript·面试
月亮css7 分钟前
vue3页面缓存,使用keep-alive的include不生效
前端
七淮8 分钟前
css字体加载闪烁问题解决方案
前端
鑫鑫啊吖8 分钟前
前端图片压缩优化方案:基于 Canvas 的动态压缩策略
前端
yvvvy8 分钟前
《小白用 TypeScript 开项目》第二篇:项目中如何一步步用好 TypeScript
前端
九夜10 分钟前
nvm-教程及使用
前端