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 等。

相关推荐
玲小珑12 分钟前
Auto.js 入门指南(六)多线程与异步操作
android·前端
白瓷梅子汤15 分钟前
跟着官方示例学习 @tanStack-table --- Header Groups
前端·react.js
喝牛奶的小蜜蜂19 分钟前
个人小程序:不懂后台,如何做数据交互
前端·微信小程序·小程序·云开发
front_explorers24 分钟前
Umi项目必看,从Webpack到Rspack,KMI引领性能革命🚀
前端
旺仔牛仔QQ糖25 分钟前
都写那么多项目了, 傻傻分不清楚NODE_ENV 和 模式(Mode) 两者区别是什么
前端·面试
xcLeigh30 分钟前
HTML5实现简洁的体育赛事网站源码
前端·html
棉花糖超人33 分钟前
【从0-1的CSS】第1篇:CSS简介,选择器已经常用样式
前端·css
2501_9159214337 分钟前
高敏感应用如何保护自身不被逆向?iOS 安全加固策略与工具组合实战(含 Ipa Guard 等)
websocket·网络协议·tcp/ip·http·网络安全·https·udp
GISer_Jing38 分钟前
XHR / Fetch / Axios 请求的取消请求与请求重试
前端·javascript·网络
天涯学馆41 分钟前
微前端架构设计:从理论到实践的全面指南
前端·javascript·面试