【网络基础】网络常识快速入门知识清单,看这篇文章就够了

news2024/12/26 21:15:35

33864615b69e40f9ac75c20bb305f91d.png

💐个人主页:初晴~


在现在这个高度智能化的时代,网络几乎已经成为了空气一般无处不在。移动支付、网上购物、网络游戏、视频网站都离不开网络。你能想象如果没有网络的生活将会变成什么样吗🤔

然而如此对于如此重要的网络,你又了解多少呢?接下来就让博主来拨云见日,带你重新认识一下这个熟悉又陌生的老朋友——网络吧😘。

7ec58e7c32f54ff1a0c37fba0d4ec0e6.png


一、计算机网络的简单构成

1、传输层硬件设备

(1)路由器

路由器(Router)是一种用于连接不同网络并转发数据包的网络设备。它的主要功能是在互联网协议(IP)网络之间路由数据包,从而使得不同网络上的设备能够相互通信。路由器工作在网络层(OSI模型的第三层,后面会具体介绍),可以根据IP地址和路由表来决定数据的最佳路径。

99418c6ff4e245aeb675ed4f41966bf7.png

简单来说,路由器就像是一个快递站,负责收发“快递”,生活中我们是通过各个快递站来连接起了各个用户,形成“物流网”,而路由器就是网络世界的“快递站”,通过接收转发“数据包”来连接起了网络中的各个设备,形成了“互联网”:

311309a655b44e70b4c44ef2ab491efb.png

但是,通过观察家里的路由器会发现,路由器上的口数量是有限的,如果要插入的接口过多,又该如何处理呢?

(2)交换机

交换机(Switch)是一种网络设备,用于在一个局域网(LAN)内连接多个设备,并促进它们之间的通信。交换机工作在数据链路层(OSI模型的第二层)。

我们在学校机房里可能就会发现下面这种设备,这就是交换机:

3433fa530a5141308cf6623b55e7ddf5.png

我们可以发现,这交换机上就有着大量的接口,可以接入非常多的设备,可以用来扩展路由器路由器的接入数

2、IP地址与端口号

(1)IP地址

IP地址是用来唯一标识网络上的设备的地址。

就好比在寄快递时,需要在快递包裹上贴上收件人地址和寄件人地址,快递员才能进行准确的配送一样。ip地址就描述了一台主机在互联网上所处的位置,从而让网络通信知道传输的目的地,使得数据包可以从一个设备发送到另一个设备。

ip地址是一个32位的二进制数,为了方便查看,通常采用“点分十进制”进行表示:

e51bd6b42d9d4e12a320814bd9f56379.png

注意:

ip协议主要有IPv4协议和IPv6协议,不过目前全球普及的仍然是IPv4协议,故我们这里讨论的主要就是32的IPv4

(2)端口号

端口号则是传输层的概念,用于区分一台设备上的不同服务或应用程序,可以标识主机中发送数据、接收数据的进程。

就好比我们在寄快递时,不仅需要收件人地址(ip地址),还要具体到收件人的姓名(端口号),快递才能准确地送到收件人手中。

端口号是0~65535范围的数字,在⽹络通信中,进程可以通过绑定⼀个端⼝号,来发送及接收⽹络数据。

注意:

事实上0~1023这些端口都是已经有一些特殊含义的,我们自己代码中使用的端口一般是剩下的

3、网络范围区分

(1)局域网(LAN)

局域网是指在一个相对较小的地理区域内(如办公室、学校、家庭等)建立的网络系统。

比如前面提到的多个设备连接到同一个路由器上,就可以看作是处于同一个局域网中。局域⽹内的主机之间能⽅便的进⾏⽹络通信,⼜称为内⽹;局域⽹和局域⽹之间在没有连接的情况下,是⽆法通信的。

2b884ad1bb904423b9fa8d3dc4120f6e.png

(2)广域网(WAN)

广域网则是指跨越较大地理区域的网络,可以覆盖城市、国家甚至是全球范围。

通过路由器,将多个局域⽹连接起来,在物理上组成很⼤范围的⽹络,就形成了⼴域⽹。⼴域⽹内部的局域⽹都属于其⼦⽹。

283bcc0bc1b94664bc99e87646cace47.png

局域网与广域网的区别

  1. 覆盖范围:LAN覆盖一个小的地理区域,而WAN则覆盖广泛的地理区域。
  2. 所有权:LAN通常由单一实体拥有和管理,而WAN则涉及多个组织。
  3. 成本:LAN的成本相对较低,因为只需要较少的设备;而WAN的成本较高,需要更多的基础设施和维护费用。
  4. 性能:LAN通常提供更高的数据传输速率和更低的延迟,而WAN可能因地理距离的原因导致较高的延迟和较低的带宽。
  5. 安全性:LAN的安全性更容易管理和维护,而WAN需要额外的安全措施来保护数据的传输。

二、网络协议

1、初始协议

有了IP地址和端⼝号,可以定位到⽹络中唯⼀的⼀个进程,但还存在⼀个问题,⽹络通信是基于⼆进制0/1数据来传输,如何告诉对⽅发送的数据是什么样的呢?
⽹络通信传输的数据类型可能有多种:图⽚,视频,⽂本等。同⼀个类型的数据,格式可能也不同,如发送⼀个⽂本字符串“你好!”:如何标识发送的数据是⽂本类型,及⽂本的编码格式呢?
基于⽹络数据传输,需要使⽤协议来规定双⽅的数据格式。
所谓协议就可以看作是一种公开的约定/规则,用来规范双方交流的一种工具。

就好比博主是湖北人,博主的室友是浙江人,如果我讲湖北话,他讲浙江话,我们彼此之间都会听不懂对方在讲什么,也就无法正常交流了。因此为了沟通,我们就约定了都使用普通话来进行交流,这就可以称之为是一种“协议”。

网络通讯中就会有各种各样的网络协议,数据发送方与接收方都要严格遵循同一套协议,才能将数据正确地传输并解读

2、协议分层

完成一整个网络通信的过程是非常复杂的,如果想要只通过一套协议,就约定好网络通信中的所有细节,将会导致这个协议会相当的庞大与复杂,并且维护起来也非常麻烦。

这时候我们就可以把这一个大的协议拆分成多个小的协议,让每个协议专注于解决某一问题,在层层向上整合,最终实现大的功能。

类似的,我们在打电话时,也会定义不同层次的协议:

796ab4f646f041b6b482466ba48717de.png

每个协议各司其职,且互不干扰,并且可以更好的拓展与维护,比如如果想要通过英语来交流,只需将“语言层”的汉语协议转换为“英语协议”即可,非常方便。

优势总结:

1、通过模块化与标准化,使得整个网络系统的设计和实现变得更加容易。每一层可以专注于自己的功能而不必关心其他层的细节。

2、提高灵活性和可维护性,可以独立地改进或更换某一层的技术而不影响其他层。当网络出现问题时,可以通过逐层排查的方式来定位问题所在的具体层次,从而简化故障诊断过程。

3、每一层向上层提供了一定程度的抽象,使得上层可以不关心底层的实现细节,只需要关注接口定义即可。

4、分层模型明确规定了各层之间的接口规范,这使得不同供应商的产品只要遵循相同的标准就可以协同工作。


三、网络模型

1、OSI七层模型

OSI:即Open System Interconnection,开放系统互连
OSI 七层⽹络模型是⼀个逻辑上的定义和规范:把⽹络从逻辑上分为了7层。
OSI 七层模型是⼀种框架性的设计⽅法,其最主要的功能使就是帮助不同类型的主机实现数据传 输;

59e96707d1cf4b6abccb44b8bf878955.png

不过由于OSI七层模型既复杂也不实用,并没有被落地实现过,目前应用最广泛的还是TCP/IP 五层模型。

2、TCP/IP五层模型

主要有程序员自行定义的“应用层”,及操作系统/硬件设备已经实现好了的“传输层”、“网络层”、“数据链路层”、“物理层”。

ac8383ed44a94869b284a4501bbacc2d.png

各个协议的功能:

  • 应⽤层:有开发人员自行定义,主要关注数据用来做什么,具体的功能
  • 传输层:负责两台主机之间的数据传输。主要关注数据传输的起点与终点。但并不关注数据传输的中间过程
  • ⽹络层:负责地址管理和路由选择。主要关注于传输时的路径规划
  • 数据链路层:负责设备之间的数据帧的传送和识别。关注数据在相邻两个节点间传输的具体过程
  • 物理层:负责光/电信号的传递⽅式。一般指硬件设备,如网络驱动等……

这些协议的具体细节博主会在后续的文章中再进行相信的解读。

常见网络设备所处分层:

主机:它的操作系统内核实现了从传输层到物理层的内容,也即是TCP/IP五层模型的下四层;
路由器:它实现了从⽹络层到物理层,也即是TCP/IP五层模型的下三层;
交换机:它实现了从数据链路层到物理层,也即是TCP/IP五层模型的下两层;
集线器:它只实现了物理层

……

注意我们这⾥说的是传统意义上的交换机和路由器,也称为⼆层交换机(⼯作在TCP/IP五层模型的下两层)、三层路由器(⼯作在TCP/IP五层模型的下三层)。
随着现在⽹络设备技术的不断发展,也出现了很多3层或4层交换机,4层路由器。我们以上说的⽹络设备都是传统意义上的交换机和路由器

网络分层的对应:

db896384be0e431987f9812c939ed758.png

数据通过TCP/IP协议传输流程如下:

9319de5a76a942689dd216e256b526e9.png

封装与分用:

这就好比你在网上买了一件衣服,商家不可能直接把衣服揉成一团直接交给快递小哥就给你送过来了。在发货时商家肯定要把衣服用快递包裹包装一下,并且快递员还要在包裹上贴上具体的信息,如收件人地址、姓名、电话等等,接着才能正确地将包裹送到目的地。

网络通信中也不会把数据直接发送出去,而是要先进行层层封装与分用才行。

下图为数据封装的过程

376833fa4e5845bfb4882f439440550f.png

具体的封装细节也会在博主后续的文章中再进行详细研究,这里就先做一下简单了解即可。


那么本篇文章就到此为止了,如果觉得这篇文章对你有帮助的话,可以点一下关注和点赞来支持作者哦。作者还是一个萌新,如果有什么讲的不对的地方欢迎在评论区指出,希望能够和你们一起进步✊

7568b08023964b59a0f74ea8b6933644.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2183174.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深度学习500问——Chapter17:模型压缩及移动端部署(2)

文章目录 17.4.6 低秩分解 17.4.7 总体压缩效果评价指标有哪些 17.4.8 几种轻量化网络结构对比 17.4.9 网络压缩未来研究方向有哪些 17.5 目前有哪些深度学习模型优化加速方法 17.5.1 模型优化加速方法 17.5.2 TensorRT加速原理 17.5.3 TensorRT如何优化重构模型 17.5.4 Tensor…

Unity中Mesh多种网格绘制模式使用方法参考

Unity中MeshFilter中的Mesh默认情况下使用MeshTopology.Trigangles类型绘制网格,就是通常的绘制三角形网格,实际上Mesh有五种绘制模式,对应MeshTopology的枚举,分别是 Triangles网格由三角形构成。Quads网格由四边形构成。Lines网…

多线程——认识线程(Thread)

目录 前言 一、第一个多线程程序 1.程序编写 2.介绍jconsole 二、创建线程 1.继承Thread类 ①重写run方法 ②重写run方法,使用匿名内部类 2.实现Runnable接口 ①重写run方法 ②重写run方法,使用匿名内部类 ③使用 lambda 表达式 三、多线程…

【吊打面试官系列-MySQL面试题】为表中得字段选择合适得数据类型

大家好,我是锋哥。今天分享关于【为表中得字段选择合适得数据类型】面试题,希望对大家有帮助; 为表中得字段选择合适得数据类型 字段类型优先级: 整形>date,time>enum,char>varchar>blob,text 优先考虑数字类型,其次是…

c++类与对象二

文章目录 C类与对象二类的实例化类对象内存大小计算this指针特性 C类与对象二 类的实例化 用类创建对象的过程,称之为类的实例化 类是对对象进行描述的,限定了类有哪些成员,定义一个类并没有开辟内存空间。例如需要学生填写的个人表格&…

js 如何获取当日零点整的时间戳

最近遇到个问题需要取当日的零点整的时间戳去存取日程 上代码: const timestr new Date().setHours(0, 0, 0, 0) console.log(timestr) 效果展示: Tips:除了 Java 以外的语言需要除以1000 具体视情况而定 Java、js的时间戳都是毫秒级的…

每日一练:腐烂的橘子

994. 腐烂的橘子 - 力扣(LeetCode) 题目要求: 在给定的 m x n 网格 grid 中,每个单元格可以有以下三个值之一: 值 0 代表空单元格;值 1 代表新鲜橘子;值 2 代表腐烂的橘子。 每分钟&#xf…

leetcode35--搜索插入位置--二分查找刷题

搜索插入位置 一共会出现下面四种情况: 目标值在数组所有元素之前 目标值等于数组中某一个元素 目标值插入数组中的位置 目标值在数组所有元素之后 首先在二分查找的代码之前处理掉目标值在数组所有元素之前和之后的情况如果目标值在数组中的某个位置&#xff0c…

51单片机系列-按键检测原理

🌈个人主页:羽晨同学 💫个人格言:“成为自己未来的主人~” 独立按键是检测低电平的。 下面我们来看一张对应的电路原理图: 在这张图当中,P1,P2,P3内部都上拉了电阻,但是P0没有&am…

学习记录:js算法(四十九):二叉树的层序遍历

文章目录 二叉树的层序遍历网上思路队列循环 总结 二叉树的层序遍历 给你二叉树的根节点 root ,返回其节点值的层序遍历 。 (即逐层地,从左到右访问所有节点)。 图一: 示例 1:如图一 输入:roo…

【QT】亲测有效:“生成的目标文件包含了过多的段,超出了编译器或链接器允许的最大数量”错误的解决方案

在使用dlib开发人脸对齐功能时&#xff0c;出现了”生成的目标文件包含了过多的段&#xff0c;超出了编译器或链接器允许的最大数量的错误“。 主要功能代码如下&#xff1a; #include <QApplication> #include <QImage> #include <QDebug>#include <dlib…

叶绿素透射反射率与波长

本文在分析巢湖水体反射光谱特征的基础上,通过对光谱反射率与叶绿素a 的浓度之间的关系进行分析研究,结果表明,单波段光谱反射率与叶绿素a浓度的相关系数较小,不宜用于估算叶绿素a浓度&#xff0e;光谱反射率比值RFo5.m/Rss.nm.和 690nm反射率的一阶微分均与叶绿素a浓度有较好的…

leetcode每日一题day16(24.9.26)——数组元素和与数字和的绝对差

思路&#xff1a;遍历数组在对数组元素进行求和时并使用while循环求数字和&#xff0c;由于对于一个数&#xff0c;其必定大于其个数位数字的和,所以可以直接对sum进行减 代码 int differenceOfSum(vector<int>& nums) {int ans 0;for (int x : nums) {ans x; // …

基于Springboot+Vue的玩具租赁系统(含源码数据库)

1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: SpringBoot自带 apache tomcat 主要技术: Java,Springboot,mybatis,mysql,vue 2.视频演示地址 3.功能 系统中…

OpenSCAP部署、使用与原理分析

文章目录 前言1、概述2、安装与使用2.1、源码安装2.1.1、获取源代码2.1.2、获取构建依赖项2.1.3、构建库2.1.4、构建HTML文档2.1.5、运行测试2.1.6、安装OpenSCAP2.1.7、安装SCAP内容 2.2、使用方法2.2.1、oscap的常用命令2.2.2、显示有关SCAP内容的信息2.2.2.1、显示有关SCAP源…

WITS核心价值观【创新】篇|系统进化论 解锁新纪元

「客尊」、「诚信」、「创新」 与「卓越」 是纬创软件的核心价值观。我们秉持诚信态度&#xff0c;致力于成为客户长期且值得信赖的合作伙伴。持续提升服务厚度&#xff0c;透过数字创新实践多市场的跨境交付&#xff0c;助客户保持市场领先地位。以追求卓越的不懈精神&#xf…

【Python报错已解决】 WARNING: Ignoring invalid distribution

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 专栏介绍 在软件开发和日常使用中&#xff0c;BUG是不可避免的。本专栏致力于为广大开发者和技术爱好者提供一个关于BUG解决的经…

【JavaSE】反射、枚举、lambda表达式

目录 反射反射相关类获取类中属性相关方法常用获得类相关的方法示例常用获得类中属性相关的方法示例获得类中注解相关的方法 反射优缺点 枚举常用方法优缺点 枚举与反射lambda表达式语法函数式接口简化规则使用示例变量捕获集合中的应用优缺点 反射 Java的反射&#xff08;refl…

数据分析-30-电影死亡笔记中的数据分析思维

文章目录 1 死亡笔记简介2 推理过程中的数据分析2.1 第一个问题2.2 第二个问题2.3 第三个问题3 数据分析的发展4 参考附录1 死亡笔记简介 《死亡笔记》改编自小畑健同名日本人气漫画《Death note》,故事描述拥有一本写上姓名就能将人置于死地笔记本的高中生夜神月与天才警部搜…

人工智能迭代产品有哪些

人工智能迭代产品有很多&#xff0c;以下是一些例子&#xff1a; Ai 智能办公利器 - Ai-321.com 人工智能 - Ai工具集 - 集合全球ai人工智能软件的工具箱网站 Midjourney&#xff1a;这是一款基于AI技术的文生图产品&#xff0c;可以通过简单的prompt生成独具艺术感的 Midjo…