初识网络原理

本文涉及的产品
数据传输服务 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头

⑤应用层

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



相关实践学习
部署高可用架构
本场景主要介绍如何使用云服务器ECS、负载均衡SLB、云数据库RDS和数据传输服务产品来部署多可用区高可用架构。
Sqoop 企业级大数据迁移方案实战
Sqoop是一个用于在Hadoop和关系数据库服务器之间传输数据的工具。它用于从关系数据库(如MySQL,Oracle)导入数据到Hadoop HDFS,并从Hadoop文件系统导出到关系数据库。 本课程主要讲解了Sqoop的设计思想及原理、部署安装及配置、详细具体的使用方法技巧与实操案例、企业级任务管理等。结合日常工作实践,培养解决实际问题的能力。本课程由黑马程序员提供。
相关文章
|
4月前
|
网络协议 安全 5G
网络与通信原理
【10月更文挑战第14天】网络与通信原理涉及众多方面的知识,从信号处理到网络协议,从有线通信到无线通信,从差错控制到通信安全等。深入理解这些原理对于设计、构建和维护各种通信系统至关重要。随着技术的不断发展,网络与通信原理也在不断演进和完善,为我们的生活和工作带来了更多的便利和创新。
110 3
|
1月前
|
机器学习/深度学习 算法 PyTorch
深度强化学习中SAC算法:数学原理、网络架构及其PyTorch实现
软演员-评论家算法(Soft Actor-Critic, SAC)是深度强化学习领域的重要进展,基于最大熵框架优化策略,在探索与利用之间实现动态平衡。SAC通过双Q网络设计和自适应温度参数,提升了训练稳定性和样本效率。本文详细解析了SAC的数学原理、网络架构及PyTorch实现,涵盖演员网络的动作采样与对数概率计算、评论家网络的Q值估计及其损失函数,并介绍了完整的SAC智能体实现流程。SAC在连续动作空间中表现出色,具有高样本效率和稳定的训练过程,适合实际应用场景。
209 7
深度强化学习中SAC算法:数学原理、网络架构及其PyTorch实现
|
2月前
|
前端开发 网络协议 安全
【网络原理】——HTTP协议、fiddler抓包
HTTP超文本传输,HTML,fiddler抓包,URL,urlencode,HTTP首行方法,GET方法,POST方法
|
2月前
|
域名解析 网络协议 关系型数据库
【网络原理】——带你认识IP~(长文~实在不知道取啥标题了)
IP协议详解,IP协议管理地址(NAT机制),IP地址分类、组成、特殊IP地址,MAC地址,数据帧格式,DNS域名解析系统
|
2月前
|
存储 JSON 缓存
【网络原理】——HTTP请求头中的属性
HTTP请求头,HOST、Content-Agent、Content-Type、User-Agent、Referer、Cookie。
|
2月前
|
安全 算法 网络协议
【网络原理】——图解HTTPS如何加密(通俗简单易懂)
HTTPS加密过程,明文,密文,密钥,对称加密,非对称加密,公钥和私钥,证书加密
|
2月前
|
XML JSON 网络协议
【网络原理】——拥塞控制,延时/捎带应答,面向字节流,异常情况
拥塞控制,延时应答,捎带应答,面向字节流(粘包问题),异常情况(心跳包)
|
2月前
|
网络协议 安全 网络安全
探索网络模型与协议:从OSI到HTTPs的原理解析
OSI七层网络模型和TCP/IP四层模型是理解和设计计算机网络的框架。OSI模型包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,而TCP/IP模型则简化为链路层、网络层、传输层和 HTTPS协议基于HTTP并通过TLS/SSL加密数据,确保安全传输。其连接过程涉及TCP三次握手、SSL证书验证、对称密钥交换等步骤,以保障通信的安全性和完整性。数字信封技术使用非对称加密和数字证书确保数据的机密性和身份认证。 浏览器通过Https访问网站的过程包括输入网址、DNS解析、建立TCP连接、发送HTTPS请求、接收响应、验证证书和解析网页内容等步骤,确保用户与服务器之间的安全通信。
172 3
|
2月前
|
网络协议 算法 Java
【JavaEE】——初始网络原理
局域网,广域网,局域网连接方式,交换机,集线器,路由器,网络通信,五元组(源IP,源端口,目的IP,目的端口,协议),协议分层,TCP/IP五层网络协议,封装和分用,交换机和路由器的封装和分用
|
3月前
|
运维 物联网 网络虚拟化
网络功能虚拟化(NFV):定义、原理及应用前景
网络功能虚拟化(NFV):定义、原理及应用前景
238 3

热门文章

最新文章