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

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

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

相关文章:

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

💐个人主页:初晴~ 在现在这个高度智能化的时代,网络几乎已经成为了空气一般无处不在。移动支付、网上购物、网络游戏、视频网站都离不开网络。你能想象如果没有网络的生活将会变成什么样吗🤔 然而如此对于如此重要的网络&#xf…...

OceanBase 关于一号表笔记与ERROR 1060(42S21)问题

OceanBase 关于客户端访问OceanBase 的表数据的过程说明 1.OBserver中的location cache 会保存observer 曾经访问过的实体表的位置信息(meta table 主要包括 __all_core_table、__all_root_table、__all_tenant_meta_table 三张内部表。OB 集群中所有实体表的 location&#x…...

【四】Spring Cloud OpenFeign原理分析

Spring Cloud OpenFeign原理分析 概述 Spring Cloud 微服务实践也有挺多年了,一直想着总结一下这系列的知识点,最近终于下定决心来出一个Spring Cloud 系列文章了。本文主要围绕fegin组件来进行讲解,文中将会给出基础使用的示例,还…...

EDM平台大比拼 用户体验与营销效果双重测评

本文评测了ZohoCampaigns、Mailchimp、Sendinblue、AWeber四款EDM平台,分别适合中小企业、多平台集成、多功能集成、初学者等需求。建议企业根据自身规模、技术水平和功能需求选择最适合的平台。 一、Zoho Campaigns 功能概述 Zoho Campaigns是Zoho旗下的一款专注…...

开卷可扩展自动驾驶(OpenDriveLab)

一种通用的视觉点云预测预训练方法 开卷可扩展自动驾驶(OpenDriveLab) 自动驾驶新方向?ViDAR:开卷可扩展自动驾驶(OpenDriveLab)-CSDN博客 创新点 在这项工作中,本文探索了专为端到端视觉自动…...

基于大数据的二手电子产品需求分析及可视化系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏:…...

SpringBoot——基础配置

但是还需要删除pom.xml中的标签——模板的文件也同样操作 banner的选项——关闭 控制台 日志 banner图片的位置——还会分辨颜色 在 Java 的日志框架(如 Logback、Log4j2 等)中,logging.level.root主要用于设置根日志记录器的日志级别…...

Android OpenGLES2.0开发(三):绘制一个三角形

我们总是对陌生人太客气,而对亲密的人太苛刻 上一篇文章中,我们已经将OpenGL ES环境搭建完成。接下来我们就可以开始我们的绘图之旅了。该篇我们讲解最基本图形三角形的绘制,这是一切绘制的基础。在OpenGL ES的世界里一切图形都可以由三角形拼…...

数据清洗的重要性与方法

在数据分析和机器学习的世界中,数据清洗是一个不可或缺的步骤。 它涉及到对原始数据进行处理,以便使其适合进一步的分析和建模。 数据清洗的重要性 提高数据质量 数据质量直接影响分析结果的准确性。 脏数据(包含错误、重复、不完整的数据&a…...

AI与大数据的结合:如何从海量数据中提取价值

引言 在当今数字化时代,数据如同新石油,成为推动社会与商业进步的重要资源。随着物联网、社交媒体和企业运营中数据生成的激增,我们正处在一个数据爆炸的时代。然而,面对海量且复杂的数据信息,仅依靠传统的分析方法已经…...

【漏洞复现】孚盟云oa AjaxSendDingdingMessage接口 存在sql注入漏洞

》》》产品描述《《《 孚盟与阿里强强联手将最受青睐的经典C系列产品打造成全新的孚盟云产品,让用户可以用云模式实现信息化管理,让用户的异地办公更加流畅,大大降低中小企业在信息化上成本,用最小的投入享受大型企业级别的信息化…...

【VUE】案例:商场会员管理系统

编写vuedfr实现对会员进行基本增删改查 1. drf项目初始化 请求: POST http://127/0.0.0.1:8000/api/auth/ {"username":"cqn", "password":"123"}返回: {"username":"cqn", "token&q…...

IDEA 最新版创建 Sping Boot 项目没有 JDK8 选项的解决方案

问题 今天新建一个 Java 项目写 demo 时,发现 Idea 上只能勾选 Java 17、21、23 三个版本 解决方案 IDEA 页面创建 Spring 项目,其实是访问 spring initializr 去创建项目。我们可以通过阿里云国服去间接创建 Spring 项目。服务器 URL 地址替换为 ht…...

Unity Asset Store的默认下载位置及更改下载路径的方法

修改Unity Asset Store的默认下载路径 Unity Asset Store默认下载位置 Unity Asset Store里下载资源,默认是下载到C盘里的,如果你不想做C盘战士的话,记得将下载的资源转移到其他盘。 Unity商城默认下载路径是C:\用户\用户名(一般…...

ArcEngine实现要素坐标转换:平移、缩放、旋转(批量处理)

在二维坐标系统中,常见转换坐标:平移、缩放、旋转。在ArcGIS中可以通过工具实现移动 、旋转 和缩放,具体操作如下: (1)移动要素:可通过指针或指定值以交互方式操作所选要素。移动要素&#xf…...

Redis: 主从复制原理

主从复制原理剖析 1 )配置 通过下面的从节点的配置项可以开启主从之间的复制功能slaveof 192.16.10.101 6379这里的复制包含全量复制和增量复制 2 )主节点的主从配置信息解析 查看主从之间的信息,在主节点上 $ info replication 打印出来的…...

PostgreSQL 向量扩展插件pgvector安装和使用

文章目录 PostgreSQL 向量扩展插件pgvector安装和使用安装postgresqlpgvector下载和安装安装错误调试错误调试1尝试解决 AP1 :启动postgresql 错误调试2尝试解决 AP2 : 使用apt-get install postgresql-server 错误调试3尝试解决 AP3 :卸载apt-get 安装 …...

【论文阅读】基于真实数据感知的模型功能窃取攻击

摘要 目的 模型功能窃取攻击是人工智能安全领域的核心问题之一,目的是利用有限的与目标模型有关的信息训练出性能接近的克隆模型,从而实现模型的功能窃取。针对此类问题,一类经典的工作是基于生成模型的方法,这类方法利用生成器…...

线程池:线程池的实现 | 日志

🌈个人主页: 南桥几晴秋 🌈C专栏: 南桥谈C 🌈C语言专栏: C语言学习系列 🌈Linux学习专栏: 南桥谈Linux 🌈数据结构学习专栏: 数据结构杂谈 🌈数据…...

海信和TCL雷鸟智能电视的体验

买了型号为32E2F(9008)的海信智能的电视有一段时间了,要使用这个智能电视还真能考验你的智商。海信电视有很多优点,它的屏幕比较靓丽,色彩好看,遥控器不用对着屏幕就能操作。但也有不少缺点。 1. 海信智能电视会强迫自动更新操作…...

自动化学习3:日志记录及测试报告的生成--自动化框架搭建

一.日志记录 1.配置文件pytest.ini:将日志写入文件方便日后查询或查看执行信息。 需要将文件处理器(文件存放位置/时间/格式等等)添加到配置文件中的【日志记录器】 # pytest.ini [pytest] # ---------------日志文件,需要配合…...

【STM32单片机_(HAL库)】4-1【定时器TIM】定时器中断点灯实验

1.硬件 STM32单片机最小系统LED灯模块 2.软件 timer驱动文件添加定时器HAL驱动层文件添加GPIO常用函数定时器中断配置流程main.c程序 #include "sys.h" #include "delay.h" #include "led.h" #include "timer.h"int main(void) {H…...

Linux编译安装Mysql笔记

1.Mysql介绍 MySQL是一个广泛使用的开源关系型数据库管理系统(RDBMS),它基于SQL(Structured Query Language)进行操作。MySQL是由瑞典MySQL AB公司开发的,后来被Sun Microsystems收购,最终成为…...

在java后端发送HTTPClient请求

简介 HttpClient遵循http协议的客户端编程工具包支持最新的http协议 部分依赖自动传递依赖了HttpClient的jar包 明明项目中没有引入 HttpClient 的Maven坐标,但是却可以直接使用HttpClient原因是:阿里云的sdk依赖中传递依赖了HttpClient的jar包 发送get请…...

【STM32单片机_(HAL库)】4-3-2【定时器TIM】测量按键按下时间1——编程实现捕获功能

测量按键按下时长思路 测量按键按下时间实验目的 使用定时器 2 通道 2 来捕获按键 (按键接PA0)按下时间,并通过串口打印。 计一个数的时间:1us,PSC71,ARR65535 下降沿捕获、输入通道 2 映射在 TI2 上、不分…...

MySQL:2059 - Authentication plugin ‘caching_sha2_password‘ cannot be loaded

关于MySQL 客户端在尝试连接到 MySQL 服务器时报错:“2059 - Authentication plugin caching_sha2_password cannot be loaded”,具体是由于 MySQL 服务器默认使用的 caching_sha2_password 认证插件无法加载或不被当前客户端支持。 错误原因 MySQL 8.0…...

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

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

P3227 [HNOI2013] 切糕

题意: n ∗ m n*m n∗m的矩阵,每个点可以选择一个值 a i , j k a_{i,j}k ai,j​k,然后你能获得 w ( i , j , k ) w(i,j,k) w(i,j,k)的得分,但是相邻两点之间的差值有限制,让你求最大得分。 考虑最小割。 每个点 ( i , j ) (i,j) (i,j)弄出一条长为 R…...

超分服务的分量保存

分量说明 分量的概念主要是对于显卡解码,编码和网络传输而言,显卡可以同时进行几个线程,多个显卡可以分布式计算,对分量进行AI识别,比如我们有cuda的显卡,cuda的核心量可以分给不同的分片视频,第…...

Windows11系统下SkyWalking环境搭建教程

目录 前言SkyWalking简介SkyWalking下载Agent监控实现启动配置SkyWalking启动Java应用程序启动Elasticsearch安装总结 前言 本文为博主在项目环境搭建时记录的SkyWalking安装流程,希望对大家能够有所帮助,不足之处欢迎批评指正🤝&#x1f91…...

网站开发专业培训/百度推广怎么联系

发布时间:2016-06-28注意:乐谱触发有先后顺序,两个乐谱事件不能同时触发.满足触发条件后,在出自家门时会发生寻找乐谱事件. 1 音階の基礎条件:一年春17日 位置:ダンヒル家床边. 效果:树林区域跳跃蘑菇使用可能.(从小镇北部进入 ...标签:牧场物语攻…...

企业网站的首页设计模板/重庆百度seo代理

python 中国剩余定理 chinese-remainder-theorem1.题目2.编程思路及代码3.其他参考文献1.题目 描述 给出两个数组 num[0..k - 1] 和 rem[0..k - 1]. 在数组num[0..k - 1]中, 所有的元素都是互质的( gcd 为 1 ). 我们需要找到满足下列条件的最小正数 x:x % num[0] rem[0…...

拱墅网站建设制作/seo网站自动发布外链工具

2.2 单页面应用介绍 什么是单页应用?引用百度百科:单页面应用的优缺点:优点:1、用户操作体验好,用户不用刷新页面,整个交互过程都是通过Ajax来操作。 2、适合前后端分离开发,服务端提供http接口…...

linux wordpress 下载/湖南长沙最新疫情

1.JS基本语法: 1.js引入方式 js是脚本语言,可以在浏览器中执行。js文件是以.js为结尾的,引入html文件中时使用script标签,这时script需要添加一个属性src,src中写js文件的路径;但是js还可以直接写在html当中…...

wordpress多站点独立域名/色盲测试图动物

如图所示,昨天晚上点了那个Download按钮,下载Fedora31,下载完成后提示要重启安装。重启之后就黑屏了,一大串白色的字: alloc magic is broken at 0xXXXX 启动不了系统,昨天晚上太晚了就没继续弄了&#x…...

佛山模板网站建设/免费培训seo

Scrum是一种迭代式增量软件开发过程,通常用于敏捷软件开发。Scrum在英语的意思是橄榄球里的争球虽然Scrum是为管理软件开发项目而开发的,它同样可以用于运行软件维护团队,或者作为计划管理方法 Scrum定义了许多角色,根据猪和鸡的笑话分为两组…...