网络小白入门篇

我们每天使用互联网,你是否想过,它是如何实现的?

全世界无数台电脑,连接在一起,两两通信。上海的某一台电脑送出信号,洛杉矶的电脑居然就收到了,两者实际上根本不知道对方的物理位置,你不觉得这是很神奇的事情吗?

五层协议的体系结构

互联网的实现,分成好几层。每一层都有自己的功能,就像建筑物一样,每一层都靠下一层支持。

用户接触到的,只是最上面的一层,根本没有感觉到下面的层。要理解互联网,必须从最下层开始,自下而上理解每一层的功能。

 

物理层

电脑要组网,第一件事要干什么?当然是先把电脑连起来,可以用光缆、电缆、双绞线、无线电波等方式。

 

上面的这个网线我们可以简单理解这就是我们所说的“物理层”,类似古代发电报一样,使用强弱电流表示0和1,因为电脑所有数据都是二进制,也就是说,电脑其实只认识0和1

数据链路层

有了物理层,我们只有0和1电信号。仅仅有一串0和1是没有意义的。这也是因为什么我们传0和1的电报,不怕泄露。因为,没有解析规则,你即使拿到了0和1 的电信号,也是没有意义的。

基于上面的问题,我们需要有一个规则来解析0/1电信号。多少电信号组成一组,然后每个电信号什么意义。这就是数据链路层的功能。我们主要使用的协议就是“以太网协议”

以太网协议规定:一组电信号构成一个数据包,这个数据包叫做“帧”,每一帧分两个部分:head+data

head:发送者,接收者

data:数据包的具体内容

 

然后上面我们知道数据包的head主要包括发送者和接收者。那这个发送者和接收者怎么标识呢?

以太网规定:接入网络的所有设备,都必须具有“网卡”接口。数据包必须从一块网卡,传送到另一块网卡。

 

每块网卡出厂的时候,都有一个全世界独一无二的MAC地址

我们可以用ipconfig/all,查看一下

 

接下来有两个问题:

1.我们怎么知道远在国外的朋友的网卡的MAC地址(通讯本质:一个网卡传递数据包给另一个网卡)

【这个主要实现是使用的ARP协议,这个在后面网络层再讲】

2.就算我知道了对方的MAC地址,系统怎么把数据包准确的送给接收方?

这个实现:以太网使用广播的方式。他把数据包发送给本网络的所有计算机,让每台计算机自己去判断是否接受。

 

上面如果①要向②发送数据包;①就把数据包广播给所有人,然后每台计算机取出数据包的头部,这样就知道接收者的mac地址,然后与自己的mac地址比较,如果相等,就接受,如果不等就丢弃。这就是广播的方式。

网络层

按照上面的以太网的协议,依靠mac地址发送数据。理论上,单单依靠mac地址,北京的网卡可以给洛杉矶的网卡数据包。技术上是可以实现的。但是,这样做有一个重大的缺陷:以太网以广播的方式发送数据包,所以每个人发送一个数据包,全世界只要入网的计算机都可以收到。不仅效率极低。而且很容易造成网络崩溃。

所以做了一个限制,只有同一个子网中的电脑可以接受广播的数据包,不同子网是广播传不过去的。

互联网是由无数的子网络共同组成的一个巨型网络。

因此,必须找到一种方法,区分哪些MAC地址的属于同一个子网,哪些不是,如果是同一个子网,就采用广播方式传送数据包。然后跨子网间的通信,我们交给网关去处理。【网关在这次分享中不涉及】

 

单单的mac地址,根本无法区分哪些计算机在一个子网中,由于这个问题,所以网络层就出现了。

网络层出现后,每个电脑就会有两个地址,一个是网络地址(ip地址),一个是mac地址;mac地址和网络地址没有任何关系,mac地址是与网卡绑定的,而网络地址是我们联网后网络管理员给我们分配的。

mac地址帮我们将数据包送到该子网的目标网卡,网络地址帮我们确认计算机所在的子网,具体是怎么确认的请看下文分解。

网络地址为什么能确认计算机属于哪个子网呢?

我们必须知道ip地址的组成,如下图:

 

如果网络id部分一样,说明两个计算机在一个子网中,但是,这里的网络id是不固定的,有的是前8位表示网络id,有的是前16位表示网络id,有的是前24位表示网络id。这是怎么确定多少位表示网络id呢?

为了确定一个网络到底多少位表示网络id,另一个参数就出现了“子网掩码”。

11111111.00000000.00000000.00000000  =>表示前8位是网络部分

11111111.11111111.00000000.00000000      =>表示前16位是网络部分

11111111.11111111.11111111.00000000           =>表示前24位是网络部分

那么计算机怎么判断的呢?

已知IP地址172.16.254.1和172.16.254.233

子网掩码都是255.255.255.0

让两个ip地址都和子网掩码做AND运算  得到的结果都是172.16.254.0,所以上面两个ip地址属于同一个子网。

经过上面的学习,我们知道网络层的数据包中一定会包含ip地址。

 

由于上一层是依赖下一层,所以网络层的数据包是需要放入以太网的数据包

 

到这里我们可以解释一个问题,就是我们想要和另一台电脑通讯,我们是怎么知道另一台电脑的mac地址的。因为通讯的本质是:从一个网卡发送数据包到另一个网卡,所以mac地址是一定要知道的。

答案:其实就是ARP协议。简单理解就是,发一个广播数据包,这个数据包核心两个东西:接收方的ip地址和接收方的Mac地址。ip地址我们肯定知道,比如我们浏览器网址就是对方的ip地址。而对方的mac地址是我们要想知道的,此时我们使用特殊标识:比如:FF:FF:FF:FF:FF:FF 

其他电脑接受到了这个数据包后,比对接收方的ip地址和自己的ip地址是否一致,如果一致,就会把自己的mac地址返回给发送方。这样是不是就知道了接收方的mac地址。

 

比如①是我的电脑,②百度服务器电脑

此时:我们想要访问百度,肯定是知道百度的域名,其实域名也就等于ip地址。但是我们要给百度服务器发送数据包必须知道②的mac地址。此时我们发送的数据包包括:②的ip和②的mac地址,此时是不知道②的mac地址,只是为了查找②的mac地址,所以需要把接收方的mac地址写成一个特殊的:FF:FF:FF:FF:FF。

此时子网上的所有电脑都会收到这个数据包,当他们发现这个数据包的接收方的mac地址是FF:FF:FF:FF:FF,说明这个数据包的作用是为了获取接收方的mac地址,他们把自己的ip地址与接收方的ip地址比对,一致,则会原路回复发起者自己的mac地址。

至此我们知道了ip地址和mac地址,我们已经可以和互联网上任意两台计算机建立通信了。但是又有一个问题, 比如:我们一边用浏览器浏览网页,一边和朋友在线聊天,这时候有一个数据包发过来,我怎么知道他表示的网页的内容还是聊天的内容呢?这时候传输层就出现了

传输层

传输层是怎么区分发过来的数据包属于哪个应用呢?答案就是“端口”

上面的网络层其实是实现了:主机和主机之间的通信

                      传输层实现了:端口和端口之间的通信

对于端口,我们并不陌生。我们浏览器中的每一个tab就相当于一个web应用。也就有一个端口,对于没有端口的是因为使用默认端口“80”,这个80端口可以省略,所以只有域名。

将传输层的数据包放入网络层中数据包中,就是下图这样的

 

对于上面的分析,我们知道,我们的数据包中一定要加上端口信息,所以这就需要新协议:UDP和TCP,但是UDP和TCP有什么区别的?

UDP是不可靠的

TCP是可靠的【tcp可以近似理解为是有确认的UDP】

具体来说:UDP,只管发出数据包,至于对方有没有收到是无法知道的

                   TCP,每发出一个数据包,都要等待一个确认数据包。如果有个数据包遗失,这时发送方就无法收到确认,发出方就知道有必要重发这个数据包。

我们回想一下,tcp三次握手和四次挥手,是不是每次都会有一个确认数据包!!!这样我们学习的知识就串联起来了

至此,是不是就可以完全实现了网络互通,但是还有最后一个问题:应用程序有很多,包括 Web 浏览器、电子邮件、远程登录、文件传输、网络管理等,每个应用传输的数据都是由各自的特点,比如浏览器传输的就是要给网页,但是文件传输的内容就比较大,这个时候肯定要用不同的策略,这样就能提交传出效率。例如,浏览器应用程序的HTTP协议、邮件传递的SMTP协议和支持文件传递的FTP协议。

 

应用层

FTP 使用两条 TCP 连接实现文件传输。一条是 FTP 控制连接,用来控制管理;另一条是 FTP 数据连接,用于数据传输。FTP 控制连接用于传输 FTP 控制命令和命令执行的应答信息

比如登录用户名和密码的验证、发送文件的名称、发送方式的设置。这条连接在整个 FTP 会话过程中一直保持打开,通过 ASCII 码字符串发送请求和接收应答。在控制连接上无法发送数据,而 FTP 数据连接用于文件和文件列表的传输,仅在需要传输数据时建立数据连接,数据传输完毕后终止。

 

在HTTP 1.0 中每一个命令和应答都会触发一次 TCP 连接的建立和断开。而从 HTTP 1.1 开始,允许在一个 TCP 连接上发送多个命令和应答,这种方式也叫保持连接( keep-alive )。可以大量减少 TCP 连接的建立和断开操作,提高传输效率。

 

至此,我们将互联网的五层结构自下而上全部讲完了。接下来,我们从用户的角度,来看看用户是怎么实现上网的。

用户上网设置

你新买的电脑,插上网线,开机就能上网吗?应该不是吧。

通常我们会进行一些设置:有四个核心参数

①本机的ip地址

②子网掩码

③网关的ip

④DNS的ip

有的同学可能说我没有配置啊,其实啊,这四个参数是必须配置的,你没有配置一定是有人给你配置了。

 

我们访问一个网页

1.我们在浏览器网址栏输入:“https://www.baidu.com/”

2.此时我们就要用到DNS【将这个域名转化为我们需要的ip地址】

3.有了ip地址我们就需要使用子网掩码去判断我们本机和百度的ip地址是否在一个子网中

4.如果在一个子网,直接使用ARP获取百度的Mac地址,然后在一个子网,又有了目标计算机的mac地址,此时就完成了通信

5.如果不在一个子网中,此时无法将数据包广播出去。此时我们配置的网关就开始派上了用场。如下图

①要给④发数据包,因为①和④不在一个子网,所以①先将数据包发给网关A,然后网关A通过路由协议(这里就不深入将路由协议),找到④在网关b中,就会将数据包发给网关B,然后网关b就会把数据包发给④

6.经过上面的流程,我们发送的请求已经到达了百度的服务器。此时百度的服务器就知道了我的ip和mac地址,百度就会把百度首页html网页发送给我们,此时的资源回传和我们请求的时候逻辑是一样。

7.我们浏览器就收到了百度传递过来的html页面

8.浏览器呈现了百度的首页

 

更多学习视频学习资料请参考:B站搜索“我们一起学前端” 

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ZBrush是一个数字雕刻和绘画软件,它以强大的功能和直观的工作流程改变了整个三维行业。在一个简洁的界面中,ZBrush为当代数字艺术家提供了世界上最先进的工具。它以实用的思路开发出的功能组合,在激发艺术家创作力的同时,给用户带来了非常顺畅的操作体验。ZBrush能够雕刻高达10亿多边形的模型,所以限制只取决于艺术家自身的想象力。 如果你是一个纯小白入门ZBrush的话,可以按照以下步骤开始学习: 1. 首先,你可以打开ZBrush软件,并选择一个模型进行学习。你可以通过点击"灯箱",然后在"项目"中选择你想要打开的模型。双击鼠标即可打开模型。同时,记住灯箱的快捷键是逗号键"[,]"。 2. 接下来,你可以开始学习ZBrush的基本操作。这包括使用不同的工具和笔刷进行雕刻、绘画和修改模型的形状。你可以通过探索软件界面和菜单了解各种工具的功能,也可以通过在线教程和视频学习更详细的操作技巧。 3. 了解ZBrush的基本概念和术语也是学习的关键。你可以学习关于模型的多边形、顶点、边缘和面片的概念,以及如何在ZBrush中进行选择、编辑和观察模型的方法。 4. 进一步学习ZBrush的功能。你可以学习如何使用多个子工具、描绘笔刷和纹理来添加细节和质感,以及如何使用不同的材质和渲染选项来呈现你的作品。 5. 最后,不断练习和实践是提高技能的关键。通过不断地尝试和制作不同类型的模型,你将逐渐熟悉ZBrush的工作流程,并发展出自己的创作风格和技巧。 总的来说,作为一个纯小白入门ZBrush,你可以通过学习基本的操作和概念,不断练习和实践来提高你的技能。同时,参考一些在线教程和资源也是很有帮助的。祝你在学习ZBrush的过程中取得进步!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [ZBrush——纯小白入门篇(一)](https://blog.csdn.net/chenchen6668/article/details/104521152)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值