[网络]从零开始的计算机网络基础知识讲解
一、本次教程的目的
本次教程我只会带大叫了解网络的基础知识,了解网络请求的基本原理,为后面文章中可能会用到网络知识做铺垫。本次我们只会接触到网络相关的应用层,并不涉及协议的具体实现和数据转发的规则。也就是说,这篇教程是面向纯网络小白的。即使你没有任何网络基础也可以看本篇教程。当然,本篇教程中涉及了一些很普遍的观点和我自己对网络的理解,本人不是专业的网络工程师,文章中有错误还请指正。
二、网络相关知识的学习感悟
我从最开始接触网络相关的知识到现在已经四年了,说实话在这四年中我学习到的东西是非常有限的我了解到的也仅仅是非常表面的东西。我第一次接触网络相关的配置还是配置家里的路由器,当时确实很害怕配坏了,后面开始慢慢了解网络的通信协议,跟着一些UP主慢慢的搭建自己的网站,理解正向代理和反向代理,理解DNS这一类的网络术语。当然,直到现在,我仍然是一位网络小白,要学习的东西还很多,之前也提到了这篇文章我会结合目前普遍的观点并且结合了我自己的一些看法,当然,中间可能会有不准确的地方,毕竟我也只是一位网络小白。这篇文章会为我以后的文章做铺垫,在以后的文章中,我可能会经常引用这篇文章。
三、网络中的硬件设备
我们首先为大家介绍网络中最常见的硬件设备,这些设备的存在构成了我们整个互联网。所以学习计算机网络的的基础是网络硬件设备。下面我会为大家介绍路由器,交换机,网关等网络基础设备。
1.路由器
路由器主要作为网络中非常重要的一个设备,它负责在不同网络之间转发数据包,并确保数据能够到达正确的目的地。
首先,路由器的核心功能是根据数据包的目标地址将数据从一个网络转发到另一个网络。它使用路由表来决定数据包的最佳路径。我们的数据包发出的第一步就是到路由器,经过路由器向外转发并找到通信的最优解。
其次,路由器也负责网络的连接,路由器通过数据的转发实现两台网络设备的连接。
然后,路由器也负责了网络地址转换,路由器能够将外部的公网地址转换为内部的私有地址。这项技术也被广泛用在我们公网IP不够时分配网络。在我们日常使用的网络中,都是经过上层设备经过网络地址转换以后得到的。
路由器在网络中也具有一定的防火墙功能,因为路由器在隔离了公网和内网,所以路由器在某些时候也能拦截网络中的危险数据和部分攻击。
路由器在日常生活中也负责了产生无线网络,我们日常中连接的wifi就是路由器产生的。
上面就是路由器的基础功能,后面的讲解中我们也会使用到路由器的某些概念。
2.交换机
交换机在我们网络通信中也是非常重要的,在常见的网络配置中,我们的交换机有非常多的种类,下面我们只讲最普通的两种,分别是“两层交换机”和“三层交换机”。
下面我们来讲解一下两层交换机,这里又涉及到互联网通信中层的概念,这个我们后面会讲到,两层的交换机这里的层就对应了互联网通过信中的层。具体的来说两层交换机能处理的就是数据链路层的数据,也就是两台设备使用MAC通信的数据。当然,我们这里先不说网络的抽象概念,我们这里也只了解互联网的硬件。交换机一般拥有非常多的网口,这些网口我们可以接各种设备,交换机让这些设备在物理层面上连接在一起。当我们的其它网络设备的接口不够用时我们也会使用交换机来扩展网络接口。对于两层交换机而言,它只能处理两层的数据,所以我们一般使用在局域网中。如果要发送网络请求或者路由数据包我们还是需要借助路由器。
接下来是三层交换机,这里的三层对应的同样是互联网通信中的层。三层交换机能够处理IP层的数据,这也就意味着,我们日常中的大部分通信数据都能被三层交换机处理,三层交换机主要用于企业中设备之间的数据通信。交换机主要用于简单的路由数据包转发,和路由器不同,它不像路由器那样能够处理广域网的数据,当然这其中会涉及到这些设备的底层构造,我也没了解过,所以这里不过多讲解。
3.网关
网关在我们的网络中负责了不同网络或协议之间进行通信和转换。网关的作用是使不同类型的网络或系统能够互相理解和交互。在日常生活中,我们常常就把路由器当作我们的网关,我们于别的设备的通信和数据交互我们也都交给路由器来执行。对于网关大家在这里具有概念就行,可以理解为一个转发数据的节点。
四、网络模型
目前,我们说得最多的网络模型指的是OSI七层和TCP/IP四层模型。OSI对我们的网络进行了更详细的分层,分别定义了会话层和表示层,这里的层越往下越接近硬件,越往上也越接近用户。
下面我会为大家重点介绍网络七层协议。

下面我们来看上面这样图,这张图非常形象的描述了网络的七层协议,我们现在来一一分析。
首先是最底层的物理层,它负责了数据传输的物理连接,我们的两个设备要通信它们必须要有物理上的连接。物理层就是将所有的用于通信的设备连接在一起,它定义了电气信号、光信号、机械连接和传输介质的标准。
下面是数据链路层,它负责将网络层传来的数据包封装成帧,处理错误检测和纠正,并控制数据流量。它确保在局域网内的可靠传输。同时它也能对数据进行检测和纠正,提高数据传输的稳定性。它同时也接管了数据流量,防止网络拥堵。
然后是网络层,它负责数据包的路由和转发,确保数据能够从源设备传输到目标设备。它处理逻辑地址(如IP地址),并管理网络中的路径选择。网络层也定义了如今我们最常用的IPV4与IPV6协议,这个我们在后面会讲到。
再然后就是我们的传输层,它负责端到端的数据传输,提供数据完整性和顺序控制。它处理数据流量控制和错误恢复,确保数据在两台设备之间的可靠传输。这也是目前我们使用最多的两种协议,一些上层协议也是基于这两种协议进行封装。
下面是会话层,它管理应用程序之间的会话,负责会话的建立、维护和终止。它提供了会话的同步和恢复功能。
然后是表示层表示层负责数据的格式化、加密和解密,使得数据可以被不同系统理解。它处理数据的语法和语义。我们的SSL和TLS就被定义在了这一层。
最后就是我们的应用层,它提供网络应用程序的接口和服务,直接与用户交互。它处理应用程序的数据和协议,支持各种应用服务。我们的HTTP和HTTPS也被定义在了这一层,这也是距离用户最近的一层。
简单的了解互联网基本模型以后,我们就可以进行进一步的学习了,下面我会带大家看看网络请求的基本原理。
五、网络请求的基本原理
下面我们来看看网络请求的基本原理,当然这里也不会涉及到自己编写网络请求等操作,全程不会有任何程序操作,我们只会讲原理,并不会讲过程。下面我将从IP地址请求,以及DNS几个方面来为大家讲解。
1.IP地址
目前我们使用得最多IP地址为IPV4和IPV6地址,使用的协议也是与之对应的IPV4协议与IPV6协议。在日常生活中IPV4地址已经在全球范围内普及,所以我们下面会重点讲IPV4地址。
IPV4地址是一个32位的地址,即四个字节,我们将这32位每八位一分组,分成四份,用十进制表示,这就是我们日常看到的最多的IPV4地址的表示方式。如图:

上图就是我的计算机被分配到的IP地址,这是一个内网地址,我们后面也会为大家讲解内网地址与公网地址的区别。在上图中我们可以看到,这段IP地址被分为了四段并且使用“.”号分割。由于我们位数的限制所以,每一段内就只能是“0~255”这个范围,也就是说,我们最大的IPV4地址为“255.255.255.255”最小的IPV4地址为“0.0.0.0”.下面我们要讲到IPV4地址的几个保留地址段。
127.0.0.0\8:作为本地环回地址,通常我们使用127.0.0.1,设备通过它和自己通信,我们日常在自己设备上搭建了网络服务我们就可以直接通过127.0.0.1来访问。
10.0.0.0/8:局域网A类私有地址,范围10.0.0.0~10.255.255.255,这是一个内网保留段,主要用在我们的局域网中,我们路由器给我们下发的内网地址就可能使10开头的,因为10.0.0.0/8段的网段非常宽,可以包含非常多的地址,所以一般也用在企业中。
172.16.0.0/12:局域网B类私有地址,范围172.16.0.0~172.31.255.255,与上面的A类地址类似,但它的网段下能够包含的设备就少了许多。
192.168.0.0/16:局域网C类私有地址,范围192.168.0.0~192.168.255.255,与上面的A类地址类似,但是它网段下能包含的设备就更少了,我们的路由器常常会分配给我们192.168网段的地址。例如192.168.1.1就是一个C类地址,我们地址的前段一样也就表示设备在一个网段中,只有在一个网段中的设备才能互相通信。
255.255.255.255:这是一个本地广播的地址,用于将数据包发送到同一子网中的所有主机,但这些数据包只会在内网中发送,并不会经过路由器。
除了上面提到的一些地址以外,还有很多保底地址段,这些地址段在某些地方发挥着重要作用。当然除了保留地址除外的都是公网地址了。
2.公网地址与内网地址
我们刚刚提到的,诸如192.168.1.1就是一个内网地址,这个如果内网的设备没有部署任何服务,或者内网没有分配这个IP地址的话我们是不能访问这个设备的。在公网地址中,我们通过路由器帮我们转发数据,下面,我们来看一个简单的模型:

这里有一个非常简单的模型,我们的两台计算机都连接到路由器上,它们都被分配了IP地址,我们可以看到两台计算机都处于一个网段中,它们都在192.168.55的网段下,也就意味着它们可以互相通信,我们可以直接使用一台机器去Ping另一台机器:

我们发现我们可以ping通这台机器,并且TTL是128,这里的TTL是指网络中的越点数,每经过一个越点TTL就会减1,因为我们这里是在内网中进行通信,并没有越点,所以这里的TTL不会减少。
下面我们ping一下别的IP地址,比如,我们去ping一下百度服务器:

这里得到的ip并不是百度真实的IP。而是百度加速服务器的IP。
我们在这里可以看到这里的TTL已经变了变成了48,也就是说我们的数据包经过了80次跳转,跳转到了百度的服务器,当然,也有ping不通的情况,在ping不通时可能是对方服务器关闭了ping,你可以考虑换一个网站来ping。
在上面的模型中,我们挂载在路由器下的设备被我们称为内网设备,有公网IP的设备,比如百度的服务器被我们称为公网设备。当我们向一个IP地址发起请求时,我们的路由器会处理我们的请求,它会查看自己的路由表中有没有要访问的这个地址,如果没有路由器就会把数据发出去由上级的路由来处理,上级的路由拿到数据以后,如果发现自己的路由表中没有这个设备同样的将数据包发送到更上层的路由,直到在某一时刻,数据包跳转到到某个路由服务器中,这个服务器的路由表下有你想访问的地址,至此,这台服务器就会将你的数据包交给对应的服务器。相关的服务器在接收到你的数据包以后,会返回响应的数据,响应的数据会按原路返回到你的计算机中,至此,一次基本的网络请求就完成了。当然,这只是一种简单的描述方法,在实际的网络环境中,网络数据包的请求要复杂得多。
3.DNS服务器
在日常我们访问网站的时候,大部分时候我们使用的都是一个网站的域名,很少会使用ip地址直接去访问某个网站。比如我们的“baidu.com”这就是一个域名,这也是为了方便人们记忆而诞生的。那么,我们的IP地址是怎么对应到域名的呢?下面我们来详细讲讲。
当我们在浏览器中请求一个域名时,我们的计算机为了找到它的IP地址,首先会在本地的缓存中寻找,有没有域名对应IP地址的记录,当本地缓存没找到这个域名对应的IP地址时,计算机就会去找自己的hosts文件,这个文件也可以用于描述域名对应的IP地址,我们也可以直接修改这个文件从而让域名指向不同的IP地址,当然,这个只在本地生效。如果计算机在DNS缓存和hosts文件中都没有找到对应的IP地址那么计算机就会请求DNS服务器,在DNS服务器中保存了所有的域名解析记录。当我们请求DNS服务器时,它就会返回一个域名对应的地址。
下面我为大家演示一下,如何让通过修改hosts来让域名对应IP地址。
我们现在去到hosts文件的路径:“C:\Windows\System32\drivers\etc”

我们打开hosts,并且在hosts下面添加一条域名对应IP地址规则:

我们现在去ping这个域名:

在我们Ping这个域名的时候我们就能发现,我们的域名直接对应到了我们刚才对应的IP地址。
以上就是DNS的基本原理了。
六、什么是正向代理和反向代理
这是在我们网路通信中经常会听到的词,那么什么是正向代理,什么是反向代理呢?下面我们来详细说说:
1.正向代理:
在我们日常生活中正向代理使用的是非常多的。正向代理服务器一般存在于用户和目标服务器之间。当我们将一个服务器配置为我们的正向代理服务器以后,计算机的网络请求就会被打包发送到正向代理服务器,这个被打包的数据包中包含了我们想访问的网站等信息,正向代理服务器接收到数据包以后会将我们,将我们数据包进行解包,并且自己访问我们想访问的地址,在接收到服务器响应以后,正向代理服务器将服务打包发回我们,至此就已经完成了一次正向代理请求。正向代理服务能够解除我们的一些访问限制,也能帮我们隐藏自身真实的IP地址。
2.反向代理:
反向代理比起正向代理可能会使用得少一些,正向代理代理的是我们的客户端,处理了我们客户端的请求,反向代理服务器代理的是服务端,它决定了请求发往哪一台服务器。例如我们有一台服务器具有公网IP,它的下面挂载了许多设备都不具有公网IP,这台反向代理服务器就可以决定将自己的访问流量转发到哪一台没有公网IP的服务器上。最为典型的就是我们的FRP服务。
七、结语
上面的网络知识是非常浅显的,我并不是计算机专业或者专门的网络工程师,我对网络的见解也仅仅是停留在以上。这篇CSDN也只是对我以往学习的网络知识的总结,如果有错误的地方还请大佬指出。当然,如果你想更深入的了解网络相关的知识,可以去观看更多的视频或者文章,这些知识需要自己慢慢理解。在我以后的文章中可能会经常引用这篇文章。谢谢大家!
相关文章:
[网络]从零开始的计算机网络基础知识讲解
一、本次教程的目的 本次教程我只会带大叫了解网络的基础知识,了解网络请求的基本原理,为后面文章中可能会用到网络知识做铺垫。本次我们只会接触到网络相关的应用层,并不涉及协议的具体实现和数据转发的规则。也就是说,这篇教程是…...
wifiip地址可以随便改吗?wifi的ip地址怎么改变
对于普通用户来说,WiFi IP地址的管理和修改往往显得神秘而复杂。本文旨在深入探讨WiFi IP地址是否可以随意更改,以及如何正确地改变WiFi的IP地址。虎观代理小二将详细解释WiFi IP地址的基本概念、作用以及更改时需要注意的事项,帮助用户更好地…...
黑马十天精通MySQL知识点
一. MySQL概述 安装使用 MySQL安装完成之后,在系统启动时,会自动启动MySQL服务,无需手动启动。 也可以手动的通过指令启动停止,以管理员身份运行cmd,进入命令行执行如下指令: 1 、 net start mysql80…...
如何在 Vue 3 + Element Plus 项目中实现动态设置主题色以及深色模式切换
🔥 个人主页:空白诗 文章目录 一、引言二、项目依赖和环境配置1. VueUse2. use-element-plus-theme3. 安装依赖 三、实现深色模式切换1. 设置深色模式状态2. 模板中的深色模式切换按钮3. 深色模式的效果展示 四、动态切换主题色五、总结 一、引言 在现代…...
Android 如何实现搜索功能:本地搜索?数据模型如何设计?数据如何展示和保存?
目录 效果图为什么需要搜索功能如何设计搜索本地的功能,如何维护呢?总结 一、效果图 二、为什么需要搜索功能 找一个选项,需要花非常多的时间,并且每次都需要指导客户在哪里,现在只要让他们搜索一下就可以。这也是模…...
【K230 实战项目】气象时钟
【CanMV K230 AI视觉】 气象时钟 功能描述:说明HMDI资源3.5寸屏幕 使用方法 为了方便小伙伴们理解,请查看视频 B站连接 功能描述: 天气信息获取:通过连接到互联网,实时获取天气数据,包括温度、湿度、天气状…...
什么是 HTTP/3?下一代 Web 协议
毫无疑问,发展互联网底层的庞大协议基础设施是一项艰巨的任务。 HTTP 的下一个主要版本基于 QUIC 协议构建,并有望提供更好的性能和更高的安全性。 以下是 Web 应用程序开发人员需要了解的内容。 HTTP/3 的前景与风险 HTTP/3 致力于让互联网对每个人…...
IDEA Project不显示/缺失文件
问题:侧边栏project 模式下缺少部分文件 先点close project 打开项目所在目录,删除目录下的.idea文件夹 重新open project打开这个项目即可解决...
浅谈vue2.0与vue3.0的区别(整理十六点)
目录 1. 实现数据响应式的原理不同 2. 生命周期不同 3. vue 2.0 采用了 option 选项式 API,vue 3.0 采用了 composition 组合式 API 4. 新特性编译宏 5. 父子组件间双向数据绑定 v-model 不同 6. v-for 和 v-if 优先级不同 7. 使用的 diff 算法不同 8. 兄弟组…...
深入理解 MySQL MVCC:多版本并发控制的核心机制
在数据库领域,并发控制是确保多个事务能够正确地并发执行而不破坏数据完整性的关键技术。MySQL 作为广泛使用的关系型数据库管理系统,采用了多版本并发控制(Multi-Version Concurrency Control,MVCC)机制来实现高效的并…...
Qt6编译达梦8数据库驱动插件
一、编译环境 操作系统:deepin V23 Qt版本: Qt 6.7.2 编译器:gcc/g version 12.3.0,cmake 3.28.3 达梦数据库:开发版V8 二、下载达梦QT接口源码 下载链接: https://eco.dameng.com/downlo…...
什么是机器学习力场
机器学习力场(Machine Learning Force Fields, MLFF)方法是一类将机器学习技术应用于分子动力学(Molecular Dynamics, MD)模拟的技术。它通过使用机器学习算法拟合原子之间的相互作用能量和力场,使得在不牺牲精度的前提…...
USB组合设备——串口+鼠标+键盘
文章目录 USB组合设备——串口+鼠标+键盘描述符结构设备描述符配置描述符集合配置描述符接口关联描述符键盘接口描述符鼠标接口描述符类特殊命令CDC 的类特殊命令HID 的类特殊命令接口 2接口3USB组合设备——串口+鼠标+键盘 描述符结构 设备描述符 配置描述符 接口关联描述符…...
python学习——对无人机影像有RGB转换到HSV
问题描述 最近需要对无人机影像中绿色植被信息进行提取,查看相关论文,发现用的比较多的就是HSV色彩转换方法,动手实践一下。 解决思路 #mermaid-svg-5ejGodIusPv6zFVS {font-family:"trebuchet ms",verdana,arial,sans-serif;fon…...
【南方科技大学】CS315 Computer Security 【Lab2 Buffer Overflow】
目录 引言软件要求启动虚拟机环境设置禁用地址空间布局随机化(ASLR)设置编译器标志以禁用安全功能 概述BOF.ctestShellCode.c解释 createBadfile.c 开始利用漏洞在堆栈上查找返回地址 实验2的作业 之前有写过一个 博客,大家可以先看看栈溢出…...
持续集成与持续交付CI/CD
CI/CD 是指持续集成(Continuous Integration)和持续部署(Continuous Deployment)或持续交付(Continuous Delivery) 持续集成(Continuous Integration) 持续集成是一种软件开发实践&…...
C++学习笔记之变量作用域
C学习笔记之变量作用域 https://www.runoob.com/cplusplus/cpp-variable-scope.html 在C程序中,通常有 3 个地方可以声明变量 在函数或者代码块当中,为局部变量在函数的参数定义中,为形式参数在所有函数的外部,为全局变量 作用域…...
解决跨境电商平台账号无法访问的常见问题
跨境电商的迅猛发展,越来越多的卖家选择在全球各大电商平台如亚马逊、eBay等进行商品销售。然而,在实际运营过程中,卖家经常会遇到账号无法访问、应用打不开等问题,导致业务受阻。本文将针对这些问题进行详细分析,并提…...
P2847 [USACO16DEC] Moocast G
P2847 [USACO16DEC] Moocast G [USACO16DEC] Moocast G 题面翻译 Farmer John 的 N N N 头牛 ( 1 ≤ N ≤ 1000 1 \leq N \leq 1000 1≤N≤1000) 为了在他们之间传播信息,想要组织一个"哞哞广播"系统。奶牛们决定去用步话机装备自己而不是在很远的距离…...
针对国内AIGC市场,国内目前出台了那些法律法规?
针对国内AIGC市场,特别是AI生成与合成内容方面,中国已经出台了一系列法律法规来规范其发展和应用。 图片源自“央视新闻” 以下是一些主要的法律法规: 一、国家层面的法律法规 《中华人民共和国网络安全法》 施行时间:2017年6月…...
测试微信模版消息推送
进入“开发接口管理”--“公众平台测试账号”,无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息: 关注测试号:扫二维码关注测试号。 发送模版消息: import requests da…...
微信小程序之bind和catch
这两个呢,都是绑定事件用的,具体使用有些小区别。 官方文档: 事件冒泡处理不同 bind:绑定的事件会向上冒泡,即触发当前组件的事件后,还会继续触发父组件的相同事件。例如,有一个子视图绑定了b…...
rknn优化教程(二)
文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK,开始写第二篇的内容了。这篇博客主要能写一下: 如何给一些三方库按照xmake方式进行封装,供调用如何按…...
DockerHub与私有镜像仓库在容器化中的应用与管理
哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...
Python爬虫实战:研究feedparser库相关技术
1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...
全球首个30米分辨率湿地数据集(2000—2022)
数据简介 今天我们分享的数据是全球30米分辨率湿地数据集,包含8种湿地亚类,该数据以0.5X0.5的瓦片存储,我们整理了所有属于中国的瓦片名称与其对应省份,方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...
华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建
华为云FlexusDeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色,华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型,能助力我们轻松驾驭 DeepSeek-V3/R1,本文中将分享如何…...
6个月Python学习计划 Day 16 - 面向对象编程(OOP)基础
第三周 Day 3 🎯 今日目标 理解类(class)和对象(object)的关系学会定义类的属性、方法和构造函数(init)掌握对象的创建与使用初识封装、继承和多态的基本概念(预告) &a…...
热烈祝贺埃文科技正式加入可信数据空间发展联盟
2025年4月29日,在福州举办的第八届数字中国建设峰会“可信数据空间分论坛”上,可信数据空间发展联盟正式宣告成立。国家数据局党组书记、局长刘烈宏出席并致辞,强调该联盟是推进全国一体化数据市场建设的关键抓手。 郑州埃文科技有限公司&am…...
WebRTC调研
WebRTC是什么,为什么,如何使用 WebRTC有什么优势 WebRTC Architecture Amazon KVS WebRTC 其它厂商WebRTC 海康门禁WebRTC 海康门禁其他界面整理 威视通WebRTC 局域网 Google浏览器 Microsoft Edge 公网 RTSP RTMP NVR ONVIF SIP SRT WebRTC协…...
