????个人主页:初晴~
在现在这个高度智能化的时代,网络几乎已经成为了空气一般无处不在。移动支付、网上购物、网络游戏、视频网站都离不开网络。你能想象如果没有网络的生活将会变成什么样吗????
然而如此对于如此重要的网络,你又了解多少呢?接下来就让博主来拨云见日,带你重新认识一下这个熟悉又陌生的老朋友——网络吧????。
一、计算机网络的简单构成
1、传输层硬件设备
(1)路由器
路由器(Router)是一种用于连接不同网络并转发数据包的网络设备。它的主要功能是在互联网协议(IP)网络之间路由数据包,从而使得不同网络上的设备能够相互通信。路由器工作在网络层(OSI模型的第三层,后面会具体介绍),可以根据IP地址和路由表来决定数据的最佳路径。
简单来说,路由器就像是一个快递站,负责收发“快递”,生活中我们是通过各个快递站来连接起了各个用户,形成“物流网”,而路由器就是网络世界的“快递站”,通过接收转发“数据包”来连接起了网络中的各个设备,形成了“互联网”:
但是,通过观察家里的路由器会发现,路由器上的口数量是有限的,如果要插入的接口过多,又该如何处理呢?
(2)交换机
交换机(Switch)是一种网络设备,用于在一个局域网(LAN)内连接多个设备,并促进它们之间的通信。交换机工作在数据链路层(OSI模型的第二层)。
我们在学校机房里可能就会发现下面这种设备,这就是交换机:
我们可以发现,这交换机上就有着大量的接口,可以接入非常多的设备,可以用来扩展路由器路由器的接入数
2、IP地址与端口号
(1)IP地址
IP地址是用来唯一标识网络上的设备的地址。
就好比在寄快递时,需要在快递包裹上贴上收件人地址和寄件人地址,快递员才能进行准确的配送一样。ip地址就描述了一台主机在互联网上所处的位置,从而让网络通信知道传输的目的地,使得数据包可以从一个设备发送到另一个设备。
ip地址是一个32位的二进制数,为了方便查看,通常采用“点分十进制”进行表示:
注意:
ip协议主要有IPv4协议和IPv6协议,不过目前全球普及的仍然是IPv4协议,故我们这里讨论的主要就是32的IPv4
(2)端口号
端口号则是传输层的概念,用于区分一台设备上的不同服务或应用程序,可以标识主机中发送数据、接收数据的进程。
就好比我们在寄快递时,不仅需要收件人地址(ip地址),还要具体到收件人的姓名(端口号),快递才能准确地送到收件人手中。
端口号是0~65535范围的数字,在⽹络通信中,进程可以通过绑定⼀个端⼝号,来发送及接收⽹络数据。
注意:
事实上0~1023这些端口都是已经有一些特殊含义的,我们自己代码中使用的端口一般是剩下的
3、网络范围区分
(1)局域网(LAN)
局域网是指在一个相对较小的地理区域内(如办公室、学校、家庭等)建立的网络系统。
比如前面提到的多个设备连接到同一个路由器上,就可以看作是处于同一个局域网中。局域⽹内的主机之间能⽅便的进⾏⽹络通信,⼜称为内⽹;局域⽹和局域⽹之间在没有连接的情况下,是⽆法通信的。
(2)广域网(WAN)
广域网则是指跨越较大地理区域的网络,可以覆盖城市、国家甚至是全球范围。
局域网与广域网的区别
- 覆盖范围:LAN覆盖一个小的地理区域,而WAN则覆盖广泛的地理区域。
- 所有权:LAN通常由单一实体拥有和管理,而WAN则涉及多个组织。
- 成本:LAN的成本相对较低,因为只需要较少的设备;而WAN的成本较高,需要更多的基础设施和维护费用。
- 性能:LAN通常提供更高的数据传输速率和更低的延迟,而WAN可能因地理距离的原因导致较高的延迟和较低的带宽。
- 安全性:LAN的安全性更容易管理和维护,而WAN需要额外的安全措施来保护数据的传输。
二、网络协议
1、初始协议
就好比博主是湖北人,博主的室友是浙江人,如果我讲湖北话,他讲浙江话,我们彼此之间都会听不懂对方在讲什么,也就无法正常交流了。因此为了沟通,我们就约定了都使用普通话来进行交流,这就可以称之为是一种“协议”。
网络通讯中就会有各种各样的网络协议,数据发送方与接收方都要严格遵循同一套协议,才能将数据正确地传输并解读
2、协议分层
完成一整个网络通信的过程是非常复杂的,如果想要只通过一套协议,就约定好网络通信中的所有细节,将会导致这个协议会相当的庞大与复杂,并且维护起来也非常麻烦。
这时候我们就可以把这一个大的协议拆分成多个小的协议,让每个协议专注于解决某一问题,在层层向上整合,最终实现大的功能。
类似的,我们在打电话时,也会定义不同层次的协议:
每个协议各司其职,且互不干扰,并且可以更好的拓展与维护,比如如果想要通过英语来交流,只需将“语言层”的汉语协议转换为“英语协议”即可,非常方便。
优势总结:
1、通过模块化与标准化,使得整个网络系统的设计和实现变得更加容易。每一层可以专注于自己的功能而不必关心其他层的细节。
2、提高灵活性和可维护性,可以独立地改进或更换某一层的技术而不影响其他层。当网络出现问题时,可以通过逐层排查的方式来定位问题所在的具体层次,从而简化故障诊断过程。
3、每一层向上层提供了一定程度的抽象,使得上层可以不关心底层的实现细节,只需要关注接口定义即可。
4、分层模型明确规定了各层之间的接口规范,这使得不同供应商的产品只要遵循相同的标准就可以协同工作。
三、网络模型
1、OSI七层模型
不过由于OSI七层模型既复杂也不实用,并没有被落地实现过,目前应用最广泛的还是TCP/IP 五层模型。
2、TCP/IP五层模型
主要有程序员自行定义的“应用层”,及操作系统/硬件设备已经实现好了的“传输层”、“网络层”、“数据链路层”、“物理层”。
各个协议的功能:
- 应⽤层:有开发人员自行定义,主要关注数据用来做什么,具体的功能
- 传输层:负责两台主机之间的数据传输。主要关注数据传输的起点与终点。但并不关注数据传输的中间过程
- ⽹络层:负责地址管理和路由选择。主要关注于传输时的路径规划
- 数据链路层:负责设备之间的数据帧的传送和识别。关注数据在相邻两个节点间传输的具体过程
- 物理层:负责光/电信号的传递⽅式。一般指硬件设备,如网络驱动等……
这些协议的具体细节博主会在后续的文章中再进行相信的解读。
常见网络设备所处分层:
主机:它的操作系统内核实现了从传输层到物理层的内容,也即是TCP/IP五层模型的下四层;路由器:它实现了从⽹络层到物理层,也即是TCP/IP五层模型的下三层;交换机:它实现了从数据链路层到物理层,也即是TCP/IP五层模型的下两层;集线器:它只实现了物理层……
网络分层的对应:
数据通过TCP/IP协议传输流程如下:
封装与分用:
这就好比你在网上买了一件衣服,商家不可能直接把衣服揉成一团直接交给快递小哥就给你送过来了。在发货时商家肯定要把衣服用快递包裹包装一下,并且快递员还要在包裹上贴上具体的信息,如收件人地址、姓名、电话等等,接着才能正确地将包裹送到目的地。
网络通信中也不会把数据直接发送出去,而是要先进行层层封装与分用才行。
具体的封装细节也会在博主后续的文章中再进行详细研究,这里就先做一下简单了解即可。
那么本篇文章就到此为止了,如果觉得这篇文章对你有帮助的话,可以点一下关注和点赞来支持作者哦。作者还是一个萌新,如果有什么讲的不对的地方欢迎在评论区指出,希望能够和你们一起进步✊