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

计算机网络的七层“千层饼“

💻 计算机网络的七层"千层饼":OSI模型详解

什么是OSI七层模型?

OSI(开放系统互连)七层模型是一种概念框架,将网络通信过程分为7个独立但相互关联的层次,每层负责特定功能,共同完成网络通信。这种分层设计使复杂的网络通信变得模块化和标准化。

🏢 生活类比:想象一家跨国公司的邮件系统

  • 总部在北京,分公司在纽约
  • 一份文件要从北京发送到纽约
  • 这个过程涉及多个部门,每个部门负责一项特定任务

七层模型全景图

┌───────────────────┐
│   7️⃣应用层        │ ◀── 用户直接接触的部分(网页、邮件)
│  Application Layer │     HTTP, FTP, SMTP, DNS
└─────────┬─────────┘↑↓
┌───────────────────┐
│   6️⃣表示层        │ ◀── 数据格式转换和加密
│ Presentation Layer │     JPEG, PNG, MIME, SSL/TLS
└─────────┬─────────┘↑↓
┌───────────────────┐
│   5️⃣会话层        │ ◀── 建立、管理和终止会话
│   Session Layer    │     NetBIOS, RPC, SOCKS
└─────────┬─────────┘↑↓
┌───────────────────┐
│   4️⃣传输层        │ ◀── 端到端连接和可靠传输
│  Transport Layer   │     TCP, UDP
└─────────┬─────────┘↑↓
┌───────────────────┐
│   3️⃣网络层        │ ◀── 路由选择和转发
│   Network Layer    │     IP, ICMP, OSPF
└─────────┬─────────┘↑↓
┌───────────────────┐
│  2️⃣数据链路层      │ ◀── 帧的封装和错误检测
│  Data Link Layer   │     以太网, PPP, MAC
└─────────┬─────────┘↑↓
┌───────────────────┐
│   1️⃣物理层        │ ◀── 比特流传输
│  Physical Layer    │     电缆, 光纤, 无线电
└───────────────────┘

七层模型的数据传输流程

发送方                                              接收方
┌───────────┐                                    ┌───────────┐
│ 应用数据   │                                    │ 应用数据   │
└─────┬─────┘                                    └─────▲─────┘│                                                ││ 应用层处理                                      │ 应用层处理▼                                                │
┌───────────┐                                    ┌─────┴─────┐
│ 表示层数据 │                                    │ 表示层数据 │
└─────┬─────┘                                    └─────▲─────┘│                                                ││ 表示层处理                                      │ 表示层处理▼                                                │
┌───────────┐                                    ┌─────┴─────┐
│ 会话层数据 │                                    │ 会话层数据 │
└─────┬─────┘                                    └─────▲─────┘│                                                ││ 会话层处理                                      │ 会话层处理▼                                                │
┌───────────┐                                    ┌─────┴─────┐
│  段/数据报 │                                    │  段/数据报 │
└─────┬─────┘                                    └─────▲─────┘│                                                ││ 传输层处理                                      │ 传输层处理▼                                                │
┌───────────┐                                    ┌─────┴─────┐
│   数据包   │                                    │   数据包   │
└─────┬─────┘                                    └─────▲─────┘│                                                ││ 网络层处理                                      │ 网络层处理▼                                                │
┌───────────┐                                    ┌─────┴─────┐
│    帧     │                                    │    帧     │
└─────┬─────┘                                    └─────▲─────┘│                                                ││ 数据链路层处理                                   │ 数据链路层处理▼                                                │
┌───────────┐                                    ┌─────┴─────┐
│   比特流   │                                    │   比特流   │
└─────┬─────┘                                    └─────▲─────┘│                                                │└────────────────网络媒介──────────────────────────┘

七层详解:功能、协议与类比

1️⃣ 物理层:比特的搬运工

物理层负责原始比特流的传输,处理物理介质、电压、接口等硬件细节,保证0和1信号能够在物理介质上正确传输。

🚗 生活类比:公司的快递员和交通系统

  • 快递员不关心包裹里是什么
  • 只负责物理搬运,通过各种交通工具
  • 可能走高速公路(光纤)、乡村小路(铜缆)或飞机(无线)

关键技术与协议

  • 电缆规范(如双绞线、同轴电缆)
  • 光纤
  • 无线电波
  • 接口标准(如RJ45、USB)
// 物理层模拟代码(简化)
void sendBit(int bit) {if (bit == 1) {// 发送高电平setVoltage(5.0);} else {// 发送低电平setVoltage(0.0);}
}int receiveBit() {double voltage = measureVoltage();return (voltage > 2.5) ? 1 : 0;
}

2️⃣ 数据链路层:邮袋与地址标签

数据链路层将比特流打包成帧(Frame),处理物理寻址、错误检测与纠正,并管理介质访问控制,确保数据可靠地传输到相邻设备。

📦 生活类比:邮局的分拣和打包系统

  • 将文件放入标准规格的邮袋
  • 贴上发件人和收件人的当地地址(MAC地址)
  • 检查邮袋是否完好无损(错误检测)
  • 控制谁能使用邮政系统(介质访问控制)

关键技术与协议

  • 以太网(Ethernet)
  • MAC地址
  • 循环冗余校验(CRC)
  • PPP(点对点协议)
  • CSMA/CD(载波侦听多路访问/碰撞检测)
# 数据链路层封装帧的简化示例
def create_frame(payload, dest_mac, source_mac):frame = {'preamble': '10101010' * 7 + '10101011',  # 前导码和起始帧分界符'dest_mac': dest_mac,             
http://www.xdnf.cn/news/6135.html

相关文章:

  • TCP/IP参考模型详解:从理论架构到实战应用
  • 牛市买卖数字货币逻辑
  • Java 中序列化和反序列化的详细说明
  • Android学习总结之类LiveData与ViewModel关系篇
  • 【Redis 进阶】分布式锁
  • Q1财报揭示:用户增长与客单价下跌对eBay卖家的蝴蝶效应
  • 最佳实践PPT | 数据架构设计总体规划方案数据中台架构数据架构图解决方案
  • 深度解析智能体:从概念到应用的全方位洞察
  • AI产品上市前的“安全通行证“
  • 7.DTH11和PWM波
  • React系列——nvm、node、npm、yarn(MAC)
  • 机器学习第十讲:异常值检测 → 发现身高填3米的不合理数据
  • Spring 事件监听机制的使用
  • flatbuffer实践
  • 操作系统实验 实验3 存储器分配与回收
  • 设计模式-中介者模式
  • Docker使用经验-从Image导出dockerfile并进行修改
  • 【Elasticsearch】DSL 篇
  • 什么是alpaca 或 sharegpt 格式的数据集?
  • Windows电脑端高效记事提醒工具推荐
  • 【ios越狱包安装失败?uniapp导出ipa文件如何安装到苹果手机】苹果IOS直接安装IPA文件
  • SCDN能够运用在物联网加速当中吗?
  • Spring Web MVC————入门(2)
  • Spark处理过程--案例数据清洗
  • 大模型越狱:技术漏洞与安全挑战——从原理到防御
  • 正向代理与反向代理区别及应用
  • 威廉・巴拉德与格理集团:在高科技浪潮中的洞察与前行
  • 【极兔快递Java社招】一面复盘|数据库+线程池+AQS+中间件面面俱到
  • 【Linux网络】————详解TCP三次握手四次挥手
  • vue3:十三、分类管理-表格--slot插槽详细说明---表格内拼接字段、tag标签