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

【Linux】网络新手村

欢迎来到 破晓的历程的 博客

⛺️不负时光,不负己✈️

引言
今天,我们就开始学习Linux网络相关的内容。这篇博客作为Linux网络板块的第一篇博客看,我们首先要带着大家明白Linux网络的一些名词的概念,为之后的学习扫清障碍。然后我们就开始学习套接字相关的内容。说干就干,那我们就开始吧。

走进网络

我们生活在一些互联网的时代,这些网络的名词大家认识吗?

局域网和广域网

局域网(Local Area Network,简称LAN)和广域网(Wide Area Network,简称WAN)是计算机网络中的两种主要类型,它们在覆盖范围、连接方式、应用场景等方面存在显著差异。

局域网(LAN)

定义与特点

  • 局域网是指在某一区域内由多台计算机互联成的计算机组,通常覆盖方圆几千米以内的范围。
  • 它是在较小的地理范围内(如一个学校、工厂、机关或家庭内)实现计算机设备连接和数据共享的网络。
  • 局域网可以是封闭型的,由办公室内的两台计算机组成,也可以是一个公司内包含上千台计算机的大型网络。
  • 局域网具有高效、可靠且安全的通信环境,能够满足用户之间的信息传输和资源共享需求。

主要功能

  • 文件管理、应用软件共享、打印机共享等。
  • 工作组内的日程安排、电子邮件和传真通信服务。

组成与连接

  • 局域网通常包括一组相互连接的计算机、服务器、网络设备和通信媒介等。
  • 这些设备可以通过有线或无线方式进行连接,并通过网络协议进行通信和数据传输。

### 广域网(WAN)

定义与特点

  • 广域网是一种连接不同地区局域网或城域网计算机通信的远程网,通常跨接很大的物理范围,从几十公里到几千公里不等。
  • 它能够连接多个地区、城市、国家甚至横跨几个洲,提供远距离通信服务,形成国际性的远程网络。
  • 广域网并不等同于互联网,但互联网是广域网的一种重要形式。

主要功能

  • 连接分布在不同地区的局域网或计算机系统,实现资源共享和远程通信。
  • 提供世界范围的数据通信服务。

组成与连接

  • 广域网主要由通信子网和资源子网组成。
  • 通信子网负责数据传输和交换,可以利用公用分组交换网、卫星通信网和无线分组交换网等技术实现。
  • 资源子网则包含各种计算机系统和数据资源,通过通信子网实现互连和资源共享。

总结

所谓 “局域网” 和 “广域网” 只是一个相对的概念. 比如, 我们有 “天朝特色” 的广域网, 也可以看做一个比较大的局域网
局域网和广域网是计算机网络中的两种重要类型,它们在覆盖范围、连接方式、应用场景等方面各具特色。局域网主要适用于较小范围内的计算机互联和数据共享,而广域网则能够连接不同地区的计算机系统,实现远距离通信和资源共享。在实际应用中,局域网和广域网往往相互结合,共同构建更加复杂和庞大的计算机网络系统。

协议

在未来的学习网络过程中,我们会经常听到一个名词——协议。大家日常听到的协议的协议就是约定,但在网络中协议的概念并不是如此。
在之前电话还不是很普及的时代,电话费很贵。张三要到外地上大学,在临行前张三和父亲约定:以后我给你打电话,电话响一声表示我很好,你不用担心我,不用接;电话响两声表示我没钱了,需要你给我打钱,也不用接;电话响了三声就代表我有事和你说,这时候你再接电话。就这样,通过响铃声,不用接的方式,不仅传达了意思,还不用花电话费,一举两得。这就是协议,协议的本质是一种规则。
李四在京东上买了一个杯子,两天就到了李四的手中。难道是商家亲自把杯子给李四送过来吗?当然不是。商家把杯子给楼下的顺丰小哥,然后顺丰小哥给快递贴上标签,标签上写着收货人的联系方式、住址、姓名等等。然后这个快递就上路了,辗转多个地方,来到了李四也就是收货人的手中,但李四不仅仅收到了杯子,还有一个标签。其中,这个标签就是顺丰公司内部给快递定的信息表,凡事顺丰内部的工作人员都可以看懂这个信息表,然后快递每到一处中转站,工作人员就会根据标签上的信息对快递进行分拣,然后快捷,高效的把快递送到指定的收货人手中。这就是顺丰公司的协议。如果没有这个协议的存在,快递员就不知道这个快递该运向哪?交给谁。而这些快递上贴的标签就是报头。
这个观点迁移到计算机中同样适用。我们的计算机是有不同的硬件阻成的。这些硬件之间是通过总线进行连接的。为了让这些硬件协同高效的运转起来,与此同时对数据进行处理,离不了协议和报头。

协议的本质就是一种规则,大家都可以看懂的规则。协议=报头+有效数据。

网络分层

假如,你和你的好朋友打电话,你们是在直接通信吗?这个问题看似废话,其实不是的。
你们并没有直接通话。你们要想通话,必须使用相同的语言,所以就有语言协议。你们的声音分别交给了自己的电话,然后电话机之间通过电话机协议传输数据,这才导致你么听见了彼此的声音。如此有什么好处呢?假如你们使用英语沟通,电话机协议是不需要改变的。所以这就实现了解耦。关于解耦的更多话题,我们以后再谈。
假如:你骑自行车从北京到四川去玩,毫无疑问,中间会经过很多地方。首先,你得有能力从一个地方来到另一个地方。其次从北京出发可以到达很多地方,我们要有路径选择的能力。并且从北京到四川,我们极有可能会走错方向,走错方向的时候,我们要能力修正方向。最后,你去四川不是目的,你的目的是到四川去玩。

OSI七层模型

包括以下七个层次,每个层次都具有独特的职责和功能:

  • 物理层 (Physical Layer)
  • 数据链路层 (Data Link Layer)
  • 网络层 (Network Layer)
  • 传输层 (Transport Layer)
  • 会话层 (Session Layer)
  • 表示层 (Presentation Layer)
  • 应用层 (Application Layer)

每个层次都构建在前一层次的基础上,向上提供更高层次的服务,向下依赖更低层次的服务。以下是对每个层次的简要介绍:

物理层: 负责在物理媒介上传输原始比特流,包括电缆、光纤等。它主要关注硬件细节和传输介质的特性。

数据链路层: 负责将比特流组织成帧,进行物理寻址和错误检测。以太网协议和PPP协议是数据链路层的典型实现。

网络层: 提供数据包的传输服务,实现源到目的地的路径选择。IP协议是网络层最为重要的协议之一。

传输层: 负责端到端的通信,确保数据的可靠传输。TCP和UDP是传输层最常见的协议,分别提供可靠的连接和无连接的通信服务。

会话层: 建立、管理和终止会话,确保数据的同步和控制。RPC(远程过程调用)和NetBIOS是会话层的典型协议。

表示层: 负责数据的格式转换、加密和解密。ASCII和JPEG等编码和压缩算法属于表示层的范畴。

应用层: 为用户提供网络服务,是用户与网络之间的接口。HTTP、FTP、SMTP等协议属于应用层。
这个模型最全面,但是我们使用最多的网络分层模型却不是这个。

CP/IP五层(或四层)模型

TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇TCP/IP通讯协议采用了5层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。

物理层: 负责光/电信号的传递方式,比如现在以太网通用的网线(双绞 线)、早期以太网采用的的同轴电缆(现在主要用于有线电视)、光纤,现在的wifi无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等.集线器(Hub)工作在物理层数据链路层: 负责设备之间的数据帧的传送和识别,例如网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作,有以太网、令牌环网,无线LAN等标准.交换机(Switch)工作在数据链路层。一般我们对这一层是忽略的。
网络层:负责地址管理和路由选择,例如在IP协议中,通过IP地址来标识一台主机,并通过路由表的方式规划出两台主机之间的数据传输的线路(路由).路由器(Router)工作在网路层。
传输层: 负责两台主机之间的数据传输.如传输控制协议 (TCP),能够确保数据可靠的从源主机发送到目标主机.
应用层: 负责应用程序间沟通,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等.我们的网络编程主要就是针对应用层.
如下是各层代表的协议:
在这里插入图片描述

两种模型的对比

如图:
在这里插入图片描述

  • 我们编码的区域一般都是在应用层。
  • 传输层和网络层都是由操作系统维护的。不同的操作系统对这部分内容的设计都是类同的,这就奠定了不同的操作系统同样可以实现数据的交互和信息的传递。
  • 传输层和网络层都是由操作系统维护的。操作系统不相信任何人,所以操作系统不会让应用层的代码直接访问传输层。所以在传输层和应用层之间一定存在着大量的系统调用接口供开发者使用。未来我们在应用层的各种开发工作都要访问这些接口。
  • 网络分层的好处就是:有效的实现了高内聚,低耦合。将很多关联性很高的代码和功能放在一层。减少各个层级之间的相互影响。

关于报头和协议

有了网络分层的知识,报头我就可以多讲一些。

  • 每一层都有若干个协议,而且协议的表现形式都是报头。

  • 每一份数据最终在被发送或者在不同的协议层中,都会有自己的报头。

  • 应用层也是需要报头的。
    接下来,我们来看一下数据在自顶向下传输过程中,报头是怎样工作的。
    在这里插入图片描述
    如图,为了方便说明,我们将各个网络层的报头用特殊的字符表示。有A主机和 B主机。A主机要向B主机发送信息:“你好”。如上就是信息在网络层的传输过程。

  • 报文=报头+有效的载荷

  • 发送数据时,自顶向下添加报头,我们称之为封装的过程。

  • 接受数据时,自下而上去掉报头,我们称之为解包的过程。

  • 在网络通信当中,我们发现同层报头和有效载荷完全相同。我们可以理解成同层协议之间直接通信,也可以理解层自顶向下交付。这两种认识的方式并不冲突。

封装的过程很好理解,现在我想谈一谈解包的过程。
1.在解包的时候,怎么区分哪部分是报头?哪部分是有效的载荷呢?
2.在解包的时候,如何知道自己的有效的载荷要交付接上层的哪一个协议?要知道一层中不止一种协议。
如上的两个问题是每一层协议都必须解决的问题。每一层协议的报头中,必须涵盖如上的信息,这是所有协议的共性。我们把有效的载荷定向向上交付给指定协议的过程称为分用的过程

局域网

两台处于同一局域网的主机可以直接通信。
局域网中通信的标准有:①以太网②令牌环网③无线LAN通信。
接下来我们谈一谈以太网通信的原理:
在局域网中每一台机器都有自己的“名字”。每一台机器都有网卡,网卡有自己的唯一性地址:Mac地址。Mac地址用来表征自己在局域网中的唯一性
如图,在一个局域网中有8台机器。
在这里插入图片描述
主机1向主机8发送消息,所有在同一局域网中的主机都可以收到这一消息。然后根据Mac地址进行比较,如果这个消息是发给自己的,就接受这一消息;如果不是发给自己的,就会自动摒弃该消息。
但是,就像在一间教室里,一个人说话,全班都可以听清楚,但是如果多个人同时说话,就分辨不出谁和谁进行对话一样。在一个局域网中,同一时间只允许一个主机向局域网中发送消息,否则就会发生碰撞。所以该局域网被称为碰撞域。
那我们如何看待局域网中的网络资源呢?是共享资源,临界资源。


接下来我们简单讲一下令牌环网的原理。 在同一局域网中,只允许持有令牌环的主机发送信心,这种做法和我们学的锁🔒非常相似。

到这里,我们的内容就告一段落。我们下篇博客,再见。
在这里插入图片描述

相关文章:

【Linux】网络新手村

欢迎来到 破晓的历程的 博客 ⛺️不负时光,不负己✈️ 引言 今天,我们就开始学习Linux网络相关的内容。这篇博客作为Linux网络板块的第一篇博客看,我们首先要带着大家明白Linux网络的一些名词的概念,为之后的学习扫清障碍。然后我…...

123123

123123...

在pycharm中使用jupyter

在pycharm中使用jupyter 前置条件:你的环境中应该有juptyer ,没有的话 pip install jupyter 点击项目目录,右键->new->jupyter notebook 打开file settings 找到 jupyter server (按照默认的用代理服务器就行) P…...

MongoDB:掌握核心常用命令语句,精通数据操作

标题:MongoDB:掌握核心命令,精通数据操作 前言: MongoDB 是一种非关系型数据库,以文档为中心,使用 JSON 格式的 BSON 来存储数据。它具有高可用性、高性能和易于扩展的特点,被广泛应用于各种规模的项目中。本文将详细介绍 MongoDB 的常用命令,帮助你更好地理解和掌握…...

Redis中测试Stream的例子

当你想要测试 Redis 中的 Stream 功能时,可以通过 Redis 的命令行客户端或者使用任何支持 Redis 的编程语言来操作。下面我会给出一个简单的例子,使用 Redis 的命令行客户端 redis-cli 来测试 Stream 的基本功能。 准备工作 确保你已经安装并启动了 Re…...

28 H3C SecPath F1000 概览(主要功能是总 观看全局)

28 H3C SecPath F1000 概览(主要功能是总 观看全局) 特性简介 概览页面通过清晰的图形化模块清晰展示了设备关键数据信息及各类状态,并支持灵活排版布局,以便实时查看用户关心的数据。预定义监控默认展示了设备基础信息模块,也可以手动添加其…...

标准版视频检测终端功能有哪些? 捷顺高清视频车位引导系统怎么样?

随着城市化进程的加速,城市交通压力日益增大,停车难问题成为了许多城市居民的共同困扰。在这样的背景下,车位引导系统的出现,无疑为解决这一难题提供了一种有效的解决方案。车位引导系统利用先进的信息技术,通过实时监…...

说明本文档目录是软件开发梳理需求常见问题QA文档,方便客户看,也方便我们的售前人员,需求分析人员,ui设计师,原型绘图人员,思维导图绘图人员查看。

https://doc.youyacao.com/117/2150 说明 本文档目录是软件开发梳理需求常见问题QA文档,方便客户看,也方便我们的售前人员,需求分析人员,ui设计师,原型绘图人员,思维导图绘图人员查看。 提示 本内容客户…...

Echarts桑基图

关于Echarts的使用方法参考:vue2中echarts的使用_vue2中使用echarts-CSDN博客 实现效果: 代码: var sysT {"用采": #2D9BFF,"营销系统": #39BFFF,"ERP": #76C2FF,"财务管控": #5F57FC,"PMS&…...

wordpress网站添加一个临时维护功能

把以下代码放到functions.php文件中,主要用网站临时维护或者用于备案。事情做好了,把以下代码删除即可!!! 有时遇到一些情况,比如站点需要闭站备案、或者被要求停站等等,我们就可以使用本文的功…...

充电桩开源平台,开发流程有图有工具

慧哥充电桩开源平台产品研发流程是确保产品从概念阶段到市场推广阶段的有序进行的关键。以下是对您给出的步骤的详细解释和建议: 设计业务流程: 在这一步,团队需要确定产品的核心功能、目标用户以及如何满足用户需求。进行市场调研,了解竞争…...

数据中台设计书及建设指南(中台及大数据解决技术方案)

1. 中台概念 2. 推动企业组织模式演进 3. 建设方法 4 .中台内容 5. 数据安全体系 中台内容围绕数据中台建设评估、整体框架、数据采集,结构化、半结构化、非结构化的数据采集,数据计算能力、存储计算引擎、数据架构、数据挖掘、各种不同数据层建设、模型…...

合合信息大模型“加速器”重磅上线

大模型技术的发展和应用,预示着更加智能化、个性化未来的到来。如果将大模型比喻为正在疾驰的科技列车,语料便是珍贵的“燃料”。本次世界人工智能大会期间,合合信息为大模型打造的“加速器”解决方案备受关注。 在大模型训练的上游阶段&…...

# Sharding-JDBC 从入门到精通(10)- 综合案例(三)查询商品与测试及统计商品和总结

Sharding-JDBC 从入门到精通(10)- 综合案例(三)查询商品与测试及统计商品和总结 一、Sharding-JDBC 综合案例-查询商品-dao 1、查询商品:Dao 实现:在 ProductDao 中定义商品查询方法: //查询商…...

ASRock Creator系列GPU:为AI推理及多GPU系统打造,采用16针电源接口的Radeon RX 7900系列显卡

ASRock 正在筹备推出专为人工智能推理和多GPU系统设计的AMD GPU——Creator系列显卡。这一系列显卡采用双槽位、吹风式设计,并配备16针电源连接器,首发产品包括基于Navi 31架构的AMD Radeon RX 7900XTX和RX 7900 XT型号。这些原属于WS系列的显卡最初在20…...

AntV X6 图编辑引擎速通

前言:参考 [AntV X6 官网](https://x6.antv.antgroup.com/) 一、简介 X6 可以快速搭建 DAG 图、ER 图、流程图、血缘图等应用。 二、快速上手 1. 安装 npm install antv/x6 --save# oryarn add antv/x6# orpnpm add antv/x6 2. 使用 2.1 初始画布 在页面中创…...

【若依前后端分离】通过输入用户编号自动带出部门名称(部门树)

一、部门树 使用 <treeselect v-model"form.deptId" :options"deptOptions" :show-count"true" placeholder"请选择归属部门"/> <el-col :span"12"><el-form-item label"归属部门" prop"dept…...

AIGC时代程序员的跃迁——编程高手的密码武器

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...

园区智慧能源可视化:智能监控与优化能源管理

通过图扑可视化技术&#xff0c;搭建智慧光伏园区&#xff0c;实时监控园区光伏系统的运行状态&#xff0c;分析数据并优化能源管理&#xff0c;提高发电效率和维护效率&#xff0c;助力园区实现绿色可持续发展。...

Linux内网端口转公网端口映射

由于服务商做安全演练&#xff0c;把原先服务器内网的端口映射到外网端口全都关闭了&#xff0c;每次维护服务器特别麻烦&#xff0c;像数据库查询如果用原生的mysql 去连接&#xff0c;查询返回的结果乱了&#xff0c;非常不方便。 查了服务还是可以正常访问部分外网的&#x…...

【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器

——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的​​一体化测试平台​​&#xff0c;覆盖应用全生命周期测试需求&#xff0c;主要提供五大核心能力&#xff1a; ​​测试类型​​​​检测目标​​​​关键指标​​功能体验基…...

LeetCode - 394. 字符串解码

题目 394. 字符串解码 - 力扣&#xff08;LeetCode&#xff09; 思路 使用两个栈&#xff1a;一个存储重复次数&#xff0c;一个存储字符串 遍历输入字符串&#xff1a; 数字处理&#xff1a;遇到数字时&#xff0c;累积计算重复次数左括号处理&#xff1a;保存当前状态&a…...

连锁超市冷库节能解决方案:如何实现超市降本增效

在连锁超市冷库运营中&#xff0c;高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术&#xff0c;实现年省电费15%-60%&#xff0c;且不改动原有装备、安装快捷、…...

c++ 面试题(1)-----深度优先搜索(DFS)实现

操作系统&#xff1a;ubuntu22.04 IDE:Visual Studio Code 编程语言&#xff1a;C11 题目描述 地上有一个 m 行 n 列的方格&#xff0c;从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子&#xff0c;但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...

UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)

UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中&#xff0c;UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化&#xf…...

【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统

目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索&#xff08;基于物理空间 广播范围&#xff09;2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...

tauri项目,如何在rust端读取电脑环境变量

如果想在前端通过调用来获取环境变量的值&#xff0c;可以通过标准的依赖&#xff1a; std::env::var(name).ok() 想在前端通过调用来获取&#xff0c;可以写一个command函数&#xff1a; #[tauri::command] pub fn get_env_var(name: String) -> Result<String, Stri…...

【堆垛策略】设计方法

堆垛策略的设计是积木堆叠系统的核心&#xff0c;直接影响堆叠的稳定性、效率和容错能力。以下是分层次的堆垛策略设计方法&#xff0c;涵盖基础规则、优化算法和容错机制&#xff1a; 1. 基础堆垛规则 (1) 物理稳定性优先 重心原则&#xff1a; 大尺寸/重量积木在下&#xf…...

【FTP】ftp文件传输会丢包吗?批量几百个文件传输,有一些文件没有传输完整,如何解决?

FTP&#xff08;File Transfer Protocol&#xff09;本身是一个基于 TCP 的协议&#xff0c;理论上不会丢包。但 FTP 文件传输过程中仍可能出现文件不完整、丢失或损坏的情况&#xff0c;主要原因包括&#xff1a; ✅ 一、FTP传输可能“丢包”或文件不完整的原因 原因描述网络…...

AD学习(3)

1 PCB封装元素组成及简单的PCB封装创建 封装的组成部分&#xff1a; &#xff08;1&#xff09;PCB焊盘&#xff1a;表层的铜 &#xff0c;top层的铜 &#xff08;2&#xff09;管脚序号&#xff1a;用来关联原理图中的管脚的序号&#xff0c;原理图的序号需要和PCB封装一一…...