0
点赞
收藏
分享

微信扫一扫

【计算机视觉】相机基本知识(还在更新)

跟着Damon写代码 2023-08-20 阅读 82

目录

前言

计算机网络背景

网络的发展

认识“协议”

网络协议初识

协议分层

OSI七层模型

TCP/IP五层模型

网络传输的基本流程

网络传输流程图

数据包封装和解包 

网络中的地址管理

ip地址和mac地址


前言

        本文章主要是对Linux网络部分的一些基础概念的认知,包括网络的整体框架结构,以及了解网络传输的基本流程,理解OSI七层模型和TCP/IP五层模型。

        本文基础概念比较多,主要是介绍和认识一些网络知识部分相关的概念,后面我们会对每一个模块进行单独和详细的讲解。


计算机网络背景

网络的发展

        刚开始出现计算机时,是没有网络的,所以我们可以说此时计算机之间是相互独立的。

        独立模式: 计算机之间相互独立,例如下面这张图:

         假设小松要录入数据,小竹要对小松录入的数据做处理,晓梅要那处理好的数据做可视化处理等。但是当小松录完数据时,由于计算机间是相互独立的,所以需要把这些数据单独拿出来存放到光盘或磁盘上,然后由小竹和小松分别对这些数据处理;而且在小松处理期间,小竹和小梅一直处于等待状态。


        随着计算机网络的发展,便出现了服务器,可以将3台计算机连接起来,将数据放在服务器上,这样当小松处理完数据时,小竹和小梅就直接可以从对应服务器上拿到数据了,而不用再单独的从一个电脑上取到外部,然后再读取到另外一个电脑上了。

网络互联: 多台计算机连接在一起, 完成数据共享


局域网LAN: 计算机数量更多了, 通过交换机和路由器连接在一起


随着计算机的数量剧增,不同的地区间想要完成通信,必许许多多的局域网LAN也连接在一起,才能组成一个更大的网络,叫做广域网WAN

 广域网WAN: 将远隔千里的计算机都连在一起

  所谓 "局域网" 和 "广域网" 只是一个相对的概念. 比如, 我们的广域网, 也可以看做一个比较大的局域网.

认识“协议”

协议是一种约定。

        先举个简单的协议例子,在80、90年代,打个电话话费很贵,而如果打不通电话,则不会收费,于是假设当时在大学开学前,你拿着一部电话,提前和你爸爸约好了协议:说“爸,我给你打电话你不要接,每个月我会给你打电话,如果电话 响一声就说明我还好,如果电话响了两次说明我需要生活费了,响了三次我们就放假了,来接我吧”。这样 当你月底没生活费的时候,你就给老爸打了一次电话,然后挂掉,然后又打了一次电话,你爸看到后,知道了你却生活费了,于是就给你转过去了,这便是一个简单的协议.

        在计算机中,计算机之间的传输媒介是光信号和电信号. 通过 "频率" 和 "强弱" 来表示 0 和 1 这样的信息. 要想传递各种不同的信息, 就需要约定好双方的数据格式

那么还有一个问题:只要通信的的两台主机,约定好协议就可以正常通信了吗

        答案是否定的,假设你和一个外国人交流,你们约定好了说1是去吃饭,2是去学习,3是去锻炼。但是你们说这些数字的方式也不一样,比如你想去学习,你说一,他说one,这样还是相互之间无法通信。

网络协议初识

协议分层

  • 协议本质就是软件,软件是可以"分层"的
  • 协议在设计的时候,就是被层状划分的,因为a.场景复杂 b.将功能解耦,便于人们进行各种维护。(例如电话除了问题,不是人有问题,所以只需要改电话中的bug就可以,如果放在一起,就需要动很多地方,复杂.)

例如这个简单的例子:

         人与人之间是一层,需要遵守同一套协议,汉语协议也好,英语协议也罢,最起码保证通信双方的遵守的语言协议是一样的

        电话和电话之间,也是需要遵循一套相同协议,便于将我们的语音编码发送给对方,然后对方按照相同的协议解码再放出语音。同样地,无线电和无线电之间也有一套相同的协议.

        在这个例子中, 我们的协议只有两层; 但是实际的网络通信会更加复杂, 需要分更多的层次.
分层最大的好处在于 "封装" . 面向对象例子


OSI七层模型

 其中1-4层和TCP/IP协议簇是完全一样的,严格按照OSI的标准来的,但是5-8层被压缩成了一层:应用层,所以才有了TCP/IP五层模型.

总结一下:

网络通信范畴有以下几个问题以及是哪一层处理的:

0.如何处理数据                                                                                 ------应用层

1.丢包(对方可能收不到或丢失我发的信息)                                       ------传输层

2.定位问题(如何确定目标主机是谁)                                                  ------网络层

3.解决下一跳主机的问题(假设距离很远,需要多个路由器转发,如何知道下一个路由器在哪里)           ------数据链路层

4.物理层


TCP/IP五层模型

这是各个层的作用:

七层OSI与TCP/IP分层模型区别如下:

网络传输的基本流程

网络传输流程图

首先要说的是:局域网中两台主机是可以直接通信的.

 在逻辑,是应用层直接把数据给了服务器。

但在物理,必须先自顶向下先把数据发送到链路层,然后经过传输以后,再自底向上地把数据传输给应用层.

        最下面那段以太网可以理解为是一条网线.

        跨网段的主机的文件传输. 数据从一台计算机到另一台计算机传输过程中要经过一个或多个路由器.


数据包封装和解包 

在传输的时候我们要知道:每层都有自己的协议定制方案.

每层协议都要有自己的协议报头.

从上到下交付数据的时候,要添加报头.

从下到上递交数据的时候,要去掉报头.

所以下面是封装的过程,每层协议都要加上一个数据首部:

等传输到 对方后,再将这个顺序逆过来,每次拆除相应的报头并展开分析,最后将应用数据传送给对方.这便完成了解包的过程

这里会有两个问题:1.报文是要被封装的,如何解包?

2.我们怎么知道将有效载荷交付给上层的哪一个协议?

以上两个问题是每一层协议都要考虑的.

        这里先大致说一下,就是主要是由报头解决的。1.至于如何解包,可以有定长报头,然后取出指定长度的报头,然后读取其中的数据,便完成了解包。2.报头中也一定含有交付给上层哪一个协议的数据。

网络中的地址管理

ip地址和mac地址

ip地址

mac地址

ip地址和mac地址区别:

        我们可以理解为ip地址就是最终目的地,它是一直不变的,而mac地址就相当于是中转站,源ip和目的ip都在不断的变化.

        就比如从保定到天津,需要先从保定站到徐水站,此时我们源ip是保定,目的ip是天津,源mac是保定,目的mac是徐水,到了徐水后,下一站是白沟站,源ip和目的ip不变,依然是保定和天津,但源mac地址是徐水站,目的mac是白沟站,然后经过不断的中转,就到了目的地。

举报

相关推荐

0 条评论