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

Linux网络:网络与操作系统1

本文是介绍网络的基本结构,以及和OS之间有什么关系

OSI七层模型

引入

使用网络是为了解决信息的长距离传送,那就需要解决四个问题:

  1. 接收方如何使用数据
  2. 传输的可靠性
  3. 主机如何定位
  4. 数据包在局域网如何转发

人们选择用网络协议(tcp/ip协议)来解决。协议就是计算机之间通用的一套规则,为了减少通信成本。
为了使协议可扩展并且方便维护,就将网络协议划分为层状结构,这样层和层之间就是松耦合的。

结构

OSI(Open System Interconnection)
就是国际标准组织设计的第一套互联网标准,用于规范互联网。有如下七层:

分层功能
应用层提供网络服务给应用程序,处理特定应用的网络协议
表示层数据表示格式的转换和加密、解密,确保数据格式兼容性
会话层管理会话(连接)的建立、维护和终止
传输层管理端到端的数据传输,确保数据完整传输
网络层负责路径选择和逻辑地址管理,实现跨网络的数据传输
数据链路层负责节点到节点之间的数据传输和错误检测
物理层处理物理介质上的比特流传输,将数据转化为电信号或光信号

TCP/IP模型

TCP/IP模型在OSI基础上进行合并,将应用层、表示层、会话层合并为应用层。因为这三层由程序员根据不同的需求来实现,其余三层软件层由操作系统给出实现。
除去物理层(网卡)我们不做过多关注,其余四层是很重要的。

TCP/IP模型与OS一一对应

这是操作系统的基本结构
在这里插入图片描述他与模型是一对应的:
在这里插入图片描述

网络层次系统层次关系
应用层用户应用层协议由用户自己实现
运输层操作系统TCP / UDP 协议在操作系统内部实现
网络层操作系统IP协议在操作系统内部实现
数据链路层驱动程序数据链路层协议在网卡的驱动程序实现
物理层底层硬件物理层基于操作系统的硬件设备网卡

讨论:OS为什么用c/c++实现,与网络有什么关系?

大部分操作系统都是c写的,作为OS的一部分网络也是c写的。而如果新的OS不是用c写的,他解析不了网络协议的结构体,就无法入网。
所以想要联网,OS就要遵守网络协议,进而使用c/c++实现内核

补充:
协议是用结构体实现的,是结构化的数据类型。
只有不同的主机利用相同的规则(哪些bit位对应哪些信息),才能正确的解读信息

小结

分为两篇来写,下半篇介绍三个基础指令、局域网内部和跨局域网的主机如何通信


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

相关文章:

  • flutter 如何与原生框架通讯安卓 和 ios
  • 使用纯CSS 实现 侧边栏 拖拽效果
  • 【经典算法】Leetcode-零钱兑换问题
  • android 无障碍开发辅助工具uiautomatorviewer
  • 面试提问(1)
  • Ubuntu 24.04 Rootless Docker 安装指南
  • 一周学会Flask3 Python Web开发-使用SQLAlchemy动态创建数据库表
  • UE5以插件的形式加载第三方库
  • 科技工作者之家建设扬帆起航,为科技人才提供更多优质服务
  • Web服务器配置、虚拟主机配置、访问权限控制
  • 无人机+无人车+机器狼+DeepSeek:智能化设备集群技术详解
  • 【docker】Windows10启动Docker Desktop - WSL update failed
  • 安装 ubuntu 2404 LTS 服务器 设置 服务器名称
  • JVM的垃圾回收器都有哪些?
  • Vite打包原理: Tree-shaking在Vue3项目中的实际效果
  • JVM垃圾收集器合集
  • 查看linux系统重启的日志
  • 利用8个参数定义一个汽轮机,然后根据这8个参数生成汽轮机性能试验时的测点清单-pycharm-源代码(适用所有类型汽轮机)
  • 数智读书笔记系列016 从《理解和改变世界》探寻AI时代的知识与智能密码
  • 邮箱验证:外贸邮件营销中的关键策略