当前位置: 首页 > article >正文

以太网详解(六)OSI 七层模型

文章目录

  • OSI : Open System Interconnect(Reference Model)
  • 第七层:应用层(Application)
  • 第六层:表示层(Presentation)
  • 第五层:会话层(Session)
  • 第四层:传输层(Transport)
  • 第三层:网络层(Network)
  • 第二层:数据链路层(Data Link)
  • 第一层:物理层(Physical)
  • 数据封装
  • 点对点通信
  • TCP/IP 模型
    • 常见应用层协议
    • 常见传输层协议
    • 常见网络层协议
    • 常见网络接口层协议
  • TCP/IP 协议栈与 OSI 模型

OSI : Open System Interconnect(Reference Model)

ISO 于 1984 年创建并发布了 OSI 参考模型,为供应商提供了一套标准,以确保各种类型的网络技术之间更好的兼容性和互操作性。

OSI 参考模型降低了复杂性,标准化了接口,促进了模块化工程,确保了技术的互操作性,加速了发展,简化了教与学。

OSI 模型的每一层都有一组独特的功能。OSI 模型的七层是应用层、表示层、会话层、传输层、网络层、数据链路层和物理层。
在这里插入图片描述
在这里插入图片描述

第七层:应用层(Application)

网络进程到应用程序

  • 为应用程序进程提供网络服务(如电子邮件、文件传输和终端仿真)

在这里插入图片描述

第六层:表示层(Presentation)

数据表示

  • 确保接收系统可读取数据
  • 格式数据
  • 结构数据
  • 协商应用层的数据传输语法

在这里插入图片描述

第五层:会话层(Session)

主机之间的沟通

  • 建立、管理和终止应用程序之间的会话

在这里插入图片描述

第四层:传输层(Transport)

端到端连接

  • 处理主机之间的传输问题
  • 保证数据传输的可靠性
  • 建立、维护和终止虚拟电路
  • 通过故障检测和恢复信息流控制提供可靠性

在这里插入图片描述

第三层:网络层(Network)

数据交付

  • 提供两个主机系统之间的连接和路径选择
  • 路由数据包
  • 选择传送数据的最佳路径

在这里插入图片描述

第二层:数据链路层(Data Link)

访问媒体

  • 定义如何格式化数据以进行传输,以及如何控制对网络的访问

在这里插入图片描述

第一层:物理层(Physical)

二进制文件传输

  • 定义用于激活、维护和停用物理链路的电气、机械、程序和功能规范。

在这里插入图片描述

数据封装

封装是数据在网络传输之前被封装在特定协议头中的过程。
在这里插入图片描述
在这里插入图片描述

点对点通信

在这里插入图片描述

TCP/IP 模型

TCP/IP 四层模型是目前被广泛采用的一种模型,由以下 4 层组成:应用层、传输层、网络层、网络接口层(Data Link + Physical)。
在这里插入图片描述

  • 应用层(Application Layer):相当于 OSI 模型中的应用层,负责处理用户与网络应用程序之间的通信。它包括诸如 HTTP、FTP、SMTP 等协议,用于实现不同类型的网络服务和应用。
  • 传输层(Transport Layer):相当于 OSI 模型中的传输层,提供端到端的数据传输服务。在 TCP/IP 模型中,主要有两个协议:TCP(传输控制协议)和 UDP(用户数据报协议),用于确保可靠的数据传输和简单的数据传输。
  • 网络层(Internet Layer):相当于 OSI 模型中的网络层,负责数据包的路由和转发。它使用 IP(Internet Protocol)协议来定义数据包的传输路径,并处理不同网络之间的通信。
  • 网络接口层(Link Layer):相当于 OSI 模型中的数据链路层和物理层,负责管理网络硬件设备和物理媒介之间的通信。它包括以太网、Wi-Fi、蓝牙等各种物理层和数据链路层协议。

常见应用层协议

  • HTTP(HyperText Transfer Protocol):用于在客户端和服务器之间传输超文本数据,通常用于 Web 浏览器和 Web 服务器之间的通信。
  • FTP(File Transfer Protocol):用于在客户端和服务器之间传输文件,支持上传和下载文件的功能。
  • SMTP(Simple Mail Transfer Protocol):用于在邮件服务器之间传输电子邮件,负责发送邮件。
  • POP3(Post Office Protocol version 3):用于从邮件服务器上下载邮件到本地计算机,负责接收邮件。
  • IMAP(Internet Message Access Protocol):也是用于接收邮件的协议,与 POP3 类似,但提供了更丰富的功能,如在服务器上管理邮件等。
  • DNS(Domain Name System):用于将域名解析为对应的 IP 地址,从而实现域名和 IP 地址之间的映射。
  • HTTPS(HyperText Transfer Protocol Secure):是 HTTP 的安全版本,通过 SSL/TLS 加密传输数据,保证通信过程中的安全性。
  • SSH(Secure Shell):用于远程登录和执行命令,提供了加密的网络连接,保证了通信的安全性。
  • SNMP(Simple Network Management Protocol):用于网络设备之间的管理和监控,可以实现对网络设备的远程配置和监控。
  • Telnet:用于远程登录和执行命令,类似于 SSH,但不提供加密功能,通信数据不安全。

常见传输层协议

  • TCP(Transmission Control Protocol):提供可靠的、面向连接的数据传输服务,确保数据的可靠性、顺序性和完整性。TCP 适用于对数据传输质量要求较高的场景,如文件传输、网页浏览等。
  • UDP(User Datagram Protocol):提供无连接的数据传输服务,不保证数据的可靠性,也不保证数据的顺序性和完整性。UDP 适用于实时性要求较高、对数据传输质量要求不那么严格的场景,如音视频传输、在线游戏等。

常见网络层协议

  • IP(Internet Protocol):是互联网中最基本的协议,用于在网络中传输数据包。IP 协议定义了数据包的格式、寻址方式和路由选择等信息,是整个互联网的基础。
  • ICMP(Internet Control Message Protocol):用于在 IP 网络中传递控制消息和错误信息。ICMP 通常用于网络设备之间的通信,如路由器和主机之间的通信,以及用于检测网络连通性和故障诊断。
  • ARP(Address Resolution Protocol):用于将 IP 地址映射为 MAC 地址(物理地址)。ARP 协议在局域网内部使用,通过发送 ARP 请求获取目标设备的 MAC 地址,从而实现数据包的传输。
  • RARP(Reverse Address Resolution Protocol):与 ARP 相反,用于将 MAC 地址映射为 IP 地址。RARP 协议通常用于无盘工作站等设备,可以根据 MAC 地址获取对应的 IP 地址。
  • IPv6(Internet Protocol version 6):是 IP 协议的下一代版本,用于解决 IPv4 地址空间不足的问题。IPv6 采用 128 位地址长度,提供了更大的地址空间,支持更多的设备连接到互联网。

常见网络接口层协议

  • 以太网协议(Ethernet):是一种常见的局域网技术,使用 MAC 地址进行帧的传输和接收。
  • 无线局域网协议(Wi-Fi):用于无线局域网的数据传输,通常基于 IEEE 802.11 标准。
  • 点对点协议(P2P):用于建立点对点连接的协议,通常用于拨号连接和虚拟专用网(VPN)等场景。
  • 数据链路层交换协议(DLC):用于在数据链路层进行数据交换和管理的协议,如 HDLC、SLIP 等。

TCP/IP 协议栈与 OSI 模型

在这里插入图片描述


http://www.kler.cn/a/521549.html

相关文章:

  • MVCC底层原理实现
  • Java 注解与元数据
  • WPF基础 | 深入 WPF 事件机制:路由事件与自定义事件处理
  • LiteFlow Spring boot使用方式
  • qt-C++笔记之QLine、QRect、QPainterPath、和自定义QGraphicsPathItem、QGraphicsRectItem的区别
  • D. Unique Median【Codeforces Round 997 (Div. 2)】
  • 基于GS(Gaussian Splatting)的机器人Sim2Real2Sim仿真平台
  • 七种RAG架构cheat sheet!
  • BGP边界网关协议(Border Gateway Protocol)Community属性
  • RLHF技术演进:从理论突破到工程实践
  • 探索与创新:DeepSeek R1与Ollama在深度研究中的应用
  • 【PySide6快速入门】QListWidget 列表控件
  • 【现代深度学习技术】深度学习计算 | 层和块
  • 什么是哈希表?如何在C语言中实现一个哈希表?
  • Codeforces Round 642 (Div. 3) E. K-periodic Garland(DP+前缀和)
  • C#面试常考随笔4:int? 和 int的区别,以及int?的运用场景?
  • 数据结构与算法学习笔记----求组合数
  • 【已解决】redisCache注解失效,没写cacheConfig
  • 项目测试之Postman
  • goframe 博客分类文章模型文档 主要解决关联