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

Linux之网络的基础认识

1.网络的发展

独立模式(计算机之间相互独立)->实现互联(通过软盘等方式实现数据的交换)->网络出现局域网LAN(计算机之间通过交换机和路由器连接在一起,)->广域网WAN(实现长距离通信)

局域网(LAN)​广域网(WAN)​
设计目标高速、低延迟的本地通信远距离、高可靠的全球通信
物理介质双绞线、短距光纤长距光纤、卫星、微波
协议重点以太网(L2)IP
覆盖范围1公里内(典型)全球
管理主体单一组织多运营商协同

2.以太网

   以太网属于局域网的一种通信方式,核心依赖于MAC地址(用于同一局域网设备的直接通信),本质上是共享的资源

1.以太网中,任何时刻只允许一台机器向网络中发送数据 (类似于临界资源,具有互斥属性)

2.如果有多台同时发送的情况下会发生数据干扰,我们称为数据碰撞

3.如果没有交换机(避免数据冲突)的情况下,一个以太网就是一个碰撞域

4.所有发送数据的主机要进行碰撞检查碰撞避免

3.协议

  3.1 初识协议

协议是一种约定,是计算机或网络设备之间通信的规则和标准

协议的制定需要很多细致的规定,并且要求参与的人都要遵守,这通常由国际标准化组织,区域标准化组织等权威组织来制定.

   3.2 协议分层

协议本质算是软件,在设计上为了更好的进行模块化,解耦合,让每层专注于一个功能,故而被设计成层状结构

    3.2.1 OSI七层模型

    3.2.2 TCP/IP 五层模型

在工程实践中会话层和表示层大多用不上,故最终落地的为五层协议

层级核心协议/技术主要作用
应用层HTTP、FTP、DNS、SMTP直接为用户提供服务(如网页浏览、文件传输、域名解析、电子邮件)。
传输层TCP、UDP管理端到端通信:
- TCP(可靠传输,如网页加载)
- UDP(高效传输,如视频通话)。
网络层IP、ICMP、BGP、OSPF负责逻辑寻址(IP地址)和路由选择,实现跨网络的数据包传输(如从北京到纽约)。
数据链路层Ethernet、MAC、PPP在本地网络中通过MAC地址传输数据帧,控制物理介质的访问(如交换机转发)。
物理层双绞线、光纤、Wi-Fi传输原始比特流(0和1的电信号/光信号),定义物理介质特性(如电压、频率)。

 主机进行通信:本质是两个协议栈在通信

消息从应用层到网卡,然后发送给接收设备的网卡,再由接收设备的网卡从下往上到接收用户

  数据在协议栈中自顶向下封装(必须要贯穿操作系统,协议栈),报文(报头+有效载荷),报头的主要作用是用来确保数据能正确传输,解析和处理

  报头必须能做到将有效载荷分离以及交付给下一层的具体协议

  底层收到报文,数据链路层能判断发送对象是否正确,如果否则直接丢弃

 

  3.3 IP地址

IP用来标识全球范围内主机的唯一性(公网IP)

  3.3.1 区别于MAC地址

唐僧是从东土大唐而来要到西天,这属于从哪来到哪去,最终去哪(IP地址)

唐僧从女儿国到黑风岭,这属于上一站从哪来,下一站去哪(MAC地址)

通俗来讲就是MAC地址用来标识物理设备 ,通信范围在同一局域网

                     IP地址用来标识网络位置,通信范围在全球路由

3.3.2 报文发送的过程

在网络层能判断目标IP是否在局域网中,如果不在局域网中就直接发给路由器

在报文发送给路由的途中IP地址不变,而MAC地址一直在变,当路由把报文发出后MAC地址因出原局域网所以失效了

网络层+IP的本质意义:给网络提供了虚拟化层,让所有网络都叫做IP网络

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

相关文章:

  • KES数据库部署工具使用
  • 系统思考VS心智模式
  • CSP-S 模拟赛一总结(T1、T2)
  • AI大模型提示词工程研究报告:长度与效果的辩证分析
  • 数据结构转换与离散点生成
  • Python 爬虫案例(不定期更新)
  • XCVU47P-2FSVH2892E Xilinx Virtex UltraScale+ FPGA AMD
  • 2025年渗透测试面试题总结-2025年HW(护网面试) 03(题目+回答)
  • C++ 第一阶段项目一:实现简易计算器
  • 正则表达式与C++
  • RA4M2开发IOT(0)----安装e² studio
  • Linux第一个系统程序-进度条(14)
  • Redis 分布式锁、红锁分别是什么?红锁有什么问题?
  • 说说什么是幂等性?
  • 神经网络中的交叉熵(Cross-Entropy)损失函数详解
  • 【知识图谱提取】【阶段总结】【LLM4KGC】LLM4KGC项目提取知识图谱推理部分
  • 57-Oracle SQL Profile(23ai)实操
  • nginx服务器配置时遇到的一些问题
  • Mac电脑-触摸板增强工具-BetterTouchTool
  • 文本分类与聚类:让信息“各归其位”的实用方法
  • 力扣网C语言编程题:多数元素
  • MCPServer编程与CLINE配置调用MCP
  • 1.23Node.js 中操作 mongodb
  • 【Linux-shell】探索Dialog 工具在 Shell 图形化编程中的高效范式重构
  • 让大模型“更懂人话”:对齐训练(RLHF DPO)全流程实战解析
  • 蓝牙 5.0 新特性全解析:传输距离与速度提升的底层逻辑(面试宝典版)
  • 下载链接记录
  • 【Flink实战】 Flink SQL 中处理字符串 `‘NULL‘` 并转换为 `BIGINT`
  • Vue学习笔记
  • 二分查找----1.搜索插入位置