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

时间:2024-10-02 07:50:40

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