初识网络原理

本文涉及的产品
数据传输服务DTS,同步至DuckDB 3个月
简介: 初识网络原理

一.网络的重要性

对于程序员而言,几乎所程序都依赖于网络,对于公司来说,几乎所有产品也是依赖于网络,这些产品不仅包括面向用户的产品,公司内部的一些服务也是基于公司内网来进行相互调用的。

b6be16ad2504340db3f8584b6c7c21d0.png

二.组网方式

①基于网线直连


9af4203b64d59656d43fe1e4f334b8ab.png

受限范围大,通信能力弱,现在没有人使用

②通过集线器的设备进行组网


cf5dfb8426754aadaffcaf11529a5523.png

通过集线器进行数据的转发,但是只能一路转发(同时只能向一台计算机设备转发数据),相对比较落后,目前也没有人用了

③通过交换机进行组网

eb2d567f103618455a0916448f9a6c8c.png

通过交换机进行组网,能够对所有的组网设备进行数据的转发,也就是说,它将若干台设备组成了一个局域网,目前主要在公司内网中使用

④通过路由器进行组网

733e558e824e947d957aeed9b65538b3.png

通过路由器进行组网能够连接外网,路由器下能够连接多个交换机,也就是说通过路由器进行组网能够连接多个局域网。

三.局域网和广域网

局域网和广域网是按照组网规模和计算机实现的功能来划分的

局域网:包括校园网,公司内网和我国特色的局域网,是一种私有网络

广域网:国际互联网,全球范围内不受限制的任务资源

四.IP地址和端口号

IP地址:描述了网络上的一个主机位置(相当于收货地址)

IP地址本质上是一个32位的整数(四个八位二进制数),但是为了方便人们记忆,一般会把这32位的整数按照每个字节(0-255)分成四个部分,中间用 . 分割,称为“点分十进制”例如:130.1.2.3

127.0.0.1是一个特殊的IP地址,叫做环回IP,表示自己这个主机

端口号:程序运行时会在系统层面申请很多资源,对于网络通信需要的程序,端口号就是其中之一:描述计算机中的一个正在运行的应用程序。

端口号的范围:1-65535

其中:1-1024是比较有名的程序,行业中对比较有名的服务默认了一些常用的端口

1025-65535:一般情况下没有服务占用,一般自己指定

五.认识协议

有了IP地址(快递地点)和端口号(手机号)之后,我们还要指定采用哪种快递,这便是认识协议(采用哪种方式传输数据)

在网络通信中有这样几个重要信息:

①IP地址:标识源主机(收件人地址)

②端口号:标识源主机该次通信发送数据的进程(收件人手机号)

③目的IP地址:标识目标主机(发件人地址)

④目的端口号:标识目标主机中该次通信接收数据的进程(发件人手机号)

⑤认识协议:标识发送进程和接收进程双方规定的数据格式(采用哪种快递)

四.协议分层

协议分层类似于我们接收快递时,定义不同层次的协议:从快递单号的生成到开始从总部运输,再到地方运输,再到用户去取快递,分成了很多的层次:对于用户而言,我们不需要关注快递是如何运输和其他环节,我们只需要负责取快递即可。

为什么需要网络协议的分层?

分层最大的好处,类似于面向接口编程:定义好两层间的接口规范,让双方遵循这个规范来对接。

在代码中,类似于定义好一个接口,一方为接口的实现类(提供方,提供服务),一方为接口的使用类

(使用方,使用服务):

对于使用方来说,并不关心提供方是如何实现的,只需要使用接口即可

对于提供方来说,利用封装的特性,隐藏了实现的细节,只需要开放接口即可。

互联网中的协议是如何分层的呢?

在教科书中,存在的是OSI七层网络模型

09e2a1d0c78516882a26651dc9f7588f.png

但是这种模型麻烦且使用不方便,在实际应用中,我们更常用的是TCP/IP五层模型。

3b5b7b66d7579c3176999cd23101c0db.png

应用层:负责和用户(程序)的交互,负责接收和展示用户信息(比如我们收到快递时,只关注物品本身)

传输层:,端到端的传输,负责数据的传输,保证数据能从源主机发送到目标主机(类似于确定收件人和发件人的地址)(只关注传输的起始点和最终点,不关注过程)

网络层:负责地址管理和路由选择,规划出一条两台主机之间数据传输的路线,包括数据传输过程中经过其他的网络设备(相当于快递运送时途径的快递站点)(关注数据传输的每个过程,不关注结果)

数据链路层:负责点到点之间的传输,每个网站设备的传输

物理层:负责光/电信号的传输方式,比如以太网通用的网线

五.封装和分用

应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(header),称为封装(Encapsulation)。

我们用生活中的例子进行举例说明:

我们使用qq给好友发了一条消息,那么这条消息中至少应该包含哪些信息呢?

①应用层

在应用层中,假设我们定义以下规范:

a8c1f395cf56d05a1f036e8a1eedf307.png

至少应该包含三个信息:发送者的qq号,接受者的qq号,以及我们发送的信息内容,之后调用系统层面的API,将数据传输给传输层。

②传输层

在传输层中,存在着很多协议,其中最典型的是TCP和UDP协议,我们以TCP协议进行讲解:b151bcf49dfab628987901bccb6b8933.png

③网络层

网络层主要负责规划整个路径

bd68bae394dbe93fc9b7d1e8aa9e7d26.png

④链路层

759e2dc91746e11b89622b1b89751bb6.png


数据以二进制流的方式传输给物理层,在链路层使用的协议是以太协议

⑤物理层

在物理层将具体的数据转为光电信号,由源主机传输到目标主机

到达目标主机之后,则进行分用操作:

分用是封装的逆操作,将数据头一步一步的剥离

①物理层

在应用层将光电信号转化为二进制数据,将数据传输给链路层

②链路层

2012352fcafdbd7e9f60eff6cd1d2a65.png

当链路层获取到数据之后,将数据进行校验和,确定数据正确之后,将帧头和帧尾去除

③网络层

18822e0d78e8dcc6ee2f9ba83de60e76.png

根据IP协议解析,将TCP头去除

④传输层bc272d7978ef19efd40306f830cbc0de.png

根据TCP协议解析,去除TCP头

⑤应用层

最后将数据在应用层进行解析,获取真实的用户消息,展示在用户界面。



相关实践学习
自建数据库迁移到云数据库
本场景将引导您将网站的自建数据库平滑迁移至云数据库RDS。通过使用RDS,您可以获得稳定、可靠和安全的企业级数据库服务,可以更加专注于发展核心业务,无需过多担心数据库的管理和维护。
Sqoop 企业级大数据迁移方案实战
Sqoop是一个用于在Hadoop和关系数据库服务器之间传输数据的工具。它用于从关系数据库(如MySQL,Oracle)导入数据到Hadoop HDFS,并从Hadoop文件系统导出到关系数据库。 本课程主要讲解了Sqoop的设计思想及原理、部署安装及配置、详细具体的使用方法技巧与实操案例、企业级任务管理等。结合日常工作实践,培养解决实际问题的能力。本课程由黑马程序员提供。
相关文章
|
2月前
|
机器学习/深度学习 PyTorch TensorFlow
卷积神经网络深度解析:从基础原理到实战应用的完整指南
蒋星熠Jaxonic,深度学习探索者。深耕TensorFlow与PyTorch,分享框架对比、性能优化与实战经验,助力技术进阶。
|
2月前
|
监控 负载均衡 安全
WebSocket网络编程深度实践:从协议原理到生产级应用
蒋星熠Jaxonic,技术宇宙中的星际旅人,以代码为舟、算法为帆,探索实时通信的无限可能。本文深入解析WebSocket协议原理、工程实践与架构设计,涵盖握手机制、心跳保活、集群部署、安全防护等核心内容,结合代码示例与架构图,助你构建稳定高效的实时应用,在二进制星河中谱写极客诗篇。
WebSocket网络编程深度实践:从协议原理到生产级应用
|
8月前
|
机器学习/深度学习 存储 算法
NoProp:无需反向传播,基于去噪原理的非全局梯度传播神经网络训练,可大幅降低内存消耗
反向传播算法虽是深度学习基石,但面临内存消耗大和并行扩展受限的问题。近期,牛津大学等机构提出NoProp方法,通过扩散模型概念,将训练重塑为分层去噪任务,无需全局前向或反向传播。NoProp包含三种变体(DT、CT、FM),具备低内存占用与高效训练优势,在CIFAR-10等数据集上达到与传统方法相当的性能。其层间解耦特性支持分布式并行训练,为无梯度深度学习提供了新方向。
342 1
NoProp:无需反向传播,基于去噪原理的非全局梯度传播神经网络训练,可大幅降低内存消耗
|
3月前
|
机器学习/深度学习 人工智能 算法
卷积神经网络深度解析:从基础原理到实战应用的完整指南
蒋星熠Jaxonic带你深入卷积神经网络(CNN)核心技术,从生物启发到数学原理,详解ResNet、注意力机制与模型优化,探索视觉智能的演进之路。
428 11
|
3月前
|
机器学习/深度学习 算法 搜索推荐
从零开始构建图注意力网络:GAT算法原理与数值实现详解
本文详细解析了图注意力网络(GAT)的算法原理和实现过程。GAT通过引入注意力机制解决了图卷积网络(GCN)中所有邻居节点贡献相等的局限性,让模型能够自动学习不同邻居的重要性权重。
581 0
从零开始构建图注意力网络:GAT算法原理与数值实现详解
|
3月前
|
安全 测试技术 虚拟化
VMware-三种网络模式原理
本文介绍了虚拟机三种常见网络模式(桥接模式、NAT模式、仅主机模式)的工作原理与适用场景。桥接模式让虚拟机如同独立设备接入局域网;NAT模式共享主机IP,适合大多数WiFi环境;仅主机模式则构建封闭的内部网络,适用于测试环境。内容简明易懂,便于理解不同模式的优缺点与应用场景。
464 0
|
5月前
|
机器学习/深度学习 人工智能 PyTorch
零基础入门CNN:聚AI卷积神经网络核心原理与工业级实战指南
卷积神经网络(CNN)通过局部感知和权值共享两大特性,成为计算机视觉的核心技术。本文详解CNN的卷积操作、架构设计、超参数调优及感受野计算,结合代码示例展示其在图像分类、目标检测等领域的应用价值。
315 7
|
7月前
|
监控 应用服务中间件 Linux
掌握并发模型:深度揭露网络IO复用并发模型的原理。
总结,网络 I/O 复用并发模型通过实现非阻塞 I/O、引入 I/O 复用技术如 select、poll 和 epoll,以及采用 Reactor 模式等技巧,为多任务并发提供了有效的解决方案。这样的模型有效提高了系统资源利用率,以及保证了并发任务的高效执行。在现实中,这种模型在许多网络应用程序和分布式系统中都取得了很好的应用成果。
239 35
|
7月前
|
机器学习/深度学习 算法 测试技术
图神经网络在信息检索重排序中的应用:原理、架构与Python代码解析
本文探讨了基于图的重排序方法在信息检索领域的应用与前景。传统两阶段检索架构中,初始检索速度快但结果可能含噪声,重排序阶段通过强大语言模型提升精度,但仍面临复杂需求挑战
267 0
图神经网络在信息检索重排序中的应用:原理、架构与Python代码解析
|
6月前
|
安全 Java 程序员
分析Muduo网络库源码中的TcpServer组件工作原理
简言之,TcpServer 在 Muduo 中的角色,就是一位终极交通指挥员,它利用现代计算机网络的魔法,确保数据如同车辆一般,在信息高速公路上自由、安全、高效地流动。
88 0

热门文章

最新文章