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

【Linux】协议的本质

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

一、为什么需要网络协议?

1. 一个生动的比喻

二、软件分层:复杂问题的解决方案

1. 分层设计思想

三、OSI七层模型:理论上的完美标准

1. 各层功能详解

2. 数据封装过程

四、TCP/IP五层模型:实际应用的实践标准

1. 简化后的实用模型


一、为什么需要网络协议?

1. 一个生动的比喻

想象两个使用不同语言的人想要交流:

  • 中国人说:"你好"

  • 美国人说:"Hello"

  • 没有协议:双方无法理解对方的意思

现在引入一个"翻译协议":

  • 约定都说英语

  • 约定交流的格式和顺序

  • 约定错误处理方式

这就是协议的本质:通信双方事先约定好的规则和格式

二、软件分层:复杂问题的解决方案

1. 分层设计思想

网络通信是一个极其复杂的问题,分层设计通过关注点分离来解决这个复杂性:

  • 每层只关注自己的职责

  • 下层为上层提供服务

  • 层与层之间通过接口通信

寄送快递的分层模型

  1. 应用层:你要寄送什么物品(书籍、衣服)

  2. 表示层:物品如何包装(纸箱、泡沫)

  3. 会话层:寄件人和收件人信息

  4. 传输层:选择快递公司(顺丰、中通)

  5. 网络层:地址路由(北京市海淀区→上海市浦东区)

  6. 数据链路层:运输工具(卡车、飞机)

  7. 物理层:实际的道路和航线

三、OSI七层模型:理论上的完美标准

1. 各层功能详解

层次名称功能例子
7应用层为用户提供网络服务HTTP、FTP、SMTP
6表示层数据格式转换、加密SSL/TLS、MIME
5会话层建立、管理、终止会话RPC、NetBIOS
4传输层端到端通信、流量控制TCP、UDP
3网络层寻址和路由选择IP、ICMP
2数据链路层帧传输、差错检测Ethernet、PPP
1物理层比特流传输网线、光纤、无线电

2. 数据封装过程

// 数据发送时的封装过程(自上而下)
应用层数据 → 添加应用层头部 → 表示层数据
表示层数据 → 添加表示层头部 → 会话层数据
会话层数据 → 添加会话层头部 → 传输层数据
传输层数据 → 添加TCP头部 → 网络层数据
网络层数据 → 添加IP头部 → 数据链路层数据
数据链路层数据 → 添加以太网头部 → 物理层比特流

四、TCP/IP五层模型:实际应用的实践标准

1. 简化后的实用模型

层次协议示例Linux中的实现
应用层HTTP、FTP、DNS用户空间程序
传输层TCP、UDPsocket API
网络层IP、ICMP内核协议栈
数据链路层Ethernet、ARP网卡驱动
物理层网线、光纤硬件设备

http://www.xdnf.cn/news/18870.html

相关文章:

  • 基于深度学习的翻拍照片去摩尔纹在线系统设计与实现
  • Java基础第4天总结(继承)
  • 小明的Java面试奇遇之发票系统相关深度实战挑战
  • 论文阅读:VACE: All-in-One Video Creation and Editing
  • 纯净Win11游戏系统|24H2专业工作站版,预装运行库,无捆绑,开机快,游戏兼容性超强!
  • Linux应急响应一般思路(二)
  • 【Docker基础】Docker-compose多容器协作案例示例:从LNMP到分布式应用集群
  • 同步阻塞和异步非阻塞是什么?
  • 学习做动画1.简易行走
  • springBoot如何加载类(以atomikos框架中的事务类为例)
  • MIT 6.5840 (Spring, 2024) 通关指南——入门篇
  • MYSQL-表的约束(下)
  • 【机器学习】5 Bayesian statistics
  • 46.【.NET8 实战--孢子记账--从单体到微服务--转向微服务】--扩展功能--集成网关--网关集成日志
  • 前端漏洞(上)- Django debug page XSS漏洞(漏洞编号:CVE-2017-12794)
  • 【C++组件】ODB 安装与使用
  • 春秋云镜 TOISEC 部分WP
  • 3.1 存储系统概述 (答案见原书 P149)
  • 鸿蒙中Frame分析
  • NLP:Transformer各子模块作用(特别分享1)
  • 网络编程socket-Udp
  • 互联网大厂Java面试模拟:深度解析核心技术
  • 100个实用小工具1.3历年股价分析小工具新增股价批量下载
  • 使用UE5开发2.5D开放世界战略养成类游戏的硬件配置指南
  • 电子厂静电释放检测误报率↓81%!陌讯多模态融合算法在安全生产监控的落地实践
  • imx6ull-驱动开发篇38——Linux INPUT 子系统
  • MATLAB 数值计算进阶:微分方程求解与矩阵运算高效方法
  • 从 Unity UGUI 到 Unreal UMG 的交互与高效实践:UI 事件、坐标系适配与性能优化
  • WinContig:高效磁盘碎片整理工具
  • 基于蓝牙的stm32智能火灾烟雾报警系统设计