初识网络原理

本文涉及的产品
数据传输服务 DTS,数据同步 small 3个月
推荐场景:
数据库上云
数据传输服务 DTS,数据迁移 small 3个月
推荐场景:
MySQL数据库上云
数据传输服务 DTS,数据同步 1个月
简介: 初识网络原理

一.网络的重要性

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

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头

⑤应用层

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



相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
Sqoop 企业级大数据迁移方案实战
Sqoop是一个用于在Hadoop和关系数据库服务器之间传输数据的工具。它用于从关系数据库(如MySQL,Oracle)导入数据到Hadoop HDFS,并从Hadoop文件系统导出到关系数据库。 本课程主要讲解了Sqoop的设计思想及原理、部署安装及配置、详细具体的使用方法技巧与实操案例、企业级任务管理等。结合日常工作实践,培养解决实际问题的能力。本课程由黑马程序员提供。
相关文章
|
5天前
|
并行计算 安全 网络协议
探索未来网络:量子互联网的原理与应用
本文深入探讨了量子互联网的基本概念、技术原理及其潜在应用。通过对量子纠缠、量子叠加和量子隐形传态等核心概念的解释,文章展示了量子互联网如何利用量子力学特性来实现超高速、超高安全性的通信。此外,还讨论了量子互联网在金融、医疗、国防等领域的应用前景,以及当前面临的技术挑战和未来的发展方向。
|
26天前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习的奥秘:探索神经网络的核心原理
本文将深入浅出地介绍深度学习的基本概念,包括神经网络的结构、工作原理以及训练过程。我们将从最初的感知机模型出发,逐步深入到现代复杂的深度网络架构,并探讨如何通过反向传播算法优化网络权重。文章旨在为初学者提供一个清晰的深度学习入门指南,同时为有经验的研究者回顾和巩固基础知识。
43 11
|
2月前
|
机器学习/深度学习 存储 算法
回声状态网络(Echo State Networks,ESN)详细原理讲解及Python代码实现
本文详细介绍了回声状态网络(Echo State Networks, ESN)的基本概念、优点、缺点、储层计算范式,并提供了ESN的Python代码实现,包括不考虑和考虑超参数的两种ESN实现方式,以及使用ESN进行时间序列预测的示例。
80 4
回声状态网络(Echo State Networks,ESN)详细原理讲解及Python代码实现
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的自适应神经网络:原理与应用
【8月更文挑战第14天】在深度学习领域,自适应神经网络作为一种新兴技术,正逐渐改变我们处理数据和解决问题的方式。这种网络通过动态调整其结构和参数来适应输入数据的分布和特征,从而在无需人工干预的情况下实现最优性能。本文将深入探讨自适应神经网络的工作原理、关键技术及其在多个领域的实际应用,旨在为读者提供一个全面的视角,理解这一技术如何推动深度学习向更高效、更智能的方向发展。
|
5天前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习的奥秘:探索神经网络背后的原理与实践
【9月更文挑战第29天】本文将带你深入理解深度学习的核心概念,从基础理论到实际应用,逐步揭示其神秘面纱。我们将探讨神经网络的工作原理,并通过实际代码示例,展示如何构建和训练一个简单的深度学习模型。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供宝贵的知识和技能。
14 2
|
25天前
|
机器学习/深度学习 人工智能 自然语言处理
深度剖析深度神经网络(DNN):原理、实现与应用
本文详细介绍了深度神经网络(DNN)的基本原理、核心算法及其具体操作步骤。DNN作为一种重要的人工智能工具,通过多层次的特征学习和权重调节,实现了复杂任务的高效解决。文章通过理论讲解与代码演示相结合的方式,帮助读者理解DNN的工作机制及实际应用。
|
21天前
|
网络协议 Linux 应用服务中间件
Socket通信之网络协议基本原理
【9月更文挑战第14天】网络协议是机器间交流的约定格式,确保信息准确传达。主要模型有OSI七层与TCP/IP模型,通过分层简化复杂网络环境。IP地址全局定位设备,MAC地址则在本地网络中定位。网络分层后,数据包层层封装,经由不同层次协议处理,最终通过Socket系统调用在应用层解析和响应。
|
22天前
|
网络协议 网络架构 数据格式
TCP/IP基础:工作原理、协议栈与网络层
TCP/IP(传输控制协议/互联网协议)是互联网通信的基础协议,支持数据传输和网络连接。本文详细阐述了其工作原理、协议栈构成及网络层功能。TCP/IP采用客户端/服务器模型,通过四个层次——应用层、传输层、网络层和数据链路层,确保数据可靠传输。网络层负责IP寻址、路由选择、分片重组及数据包传输,是TCP/IP的核心部分。理解TCP/IP有助于深入掌握互联网底层机制。
112 2
|
2月前
|
缓存 网络协议 算法
网络编程原理
网络编程原理
|
2月前
|
网络协议 算法 安全
网络原理问题
网络原理问题
下一篇
无影云桌面