网络基本概念认识

目录

前言:

网络的发展

初识协议

OSI七层模型和TCP/IP四层模型

网络通信流程


前言:

本文是博主重新学习了一下网络课程来写的,所以更多的穿插了博主自身的一些理解,所以公式化的东西也就没那么多了,加上概念比较多,所以基本上是纯文字+图片的形式展开,那么在本文介绍的点有:网络的发展,局部网种类(浅度探索),协议,网路模型,网络通信的流程

废话不多说,进入主题。


网络的发展

咱们不拿网络发展来说,即便是在古代,咱们的如何有效的共享信息?

假如是在一个集体内,传播信息,我们可以直接面对面快传,不过要考虑的就是发言次序,发言时间等问题,可是真正的传播信息往往没有这么简单,一般会随着距离的增大而导致难度增大,所以古代就有了用马送信的方式。

那么我们将视角放回到现在,网络的出现随着计算机的出现是必然的,这基本上就是先有鸡还是先有蛋的问题,那么为什么网路的出现是必然的呢?

因为对于计算机来说,数据的传递是至关重要的,就像一个组负责不同的业务一样,他们有很多需要交互的数据,那么如何传递就成为了一个问题,这个时候计算机的牛人,也就发明了网络,当多台计算机连接在一起的时候,就可以成功实现数据共享。

我们对于计算机网络的发展,最先理解的概念应该是局域网LAN和广域网WAN,局域网,可以理解为多台计算机通过交换机和路由器连接在一起,那广域网其实就是局域网的Plus版本,不过是交换机和路由更多了而已,所以我们不必特地区分局域还是广域。


初识协议

现在这段话可以说是简单读一遍就可以的程度,因为这是我们第一次认识协议,我们后面认识协议还会有第二次第三次第四次等。

协议嘛,我们字面理解一下,就像以前战争双方签订的战争协议,这是一个具有共识的东西,所以我们不妨把它认定为是一种约定,既然是一种约定,就应该遵守,不过在网络世界中,遵守的约定是什么呢?这个点我们得放在后面介绍,现在介绍有点早了。

那么初识协议就结束了吗?肯定是没有的。

对于计算机网络中的协议来说,它是需要有人来制定的,也是需要有人来实现的,有人问了:制定协议的人和实现协议的人不是同一批吗?

比较遗憾的是,经常性的不是同一批人,所以拿笔记本电脑举例来说现在有这么多的电脑厂商,他们就是实现协议的这一批人,制定协议的人呢?一般都是业内非常NB的人物,比如华为可以制定5G协议,但是实现与否就不知道了。

所以对于网络来说,不同的协议需要有不同的人来制定,像IEEE,ISO,ITU等等等等,都是制定协议的组织,实现方面就不关他们的事儿了。

那么为什么要有协议?或者说协议的作用是什么?

对于协议来说,它本质也是一款软件,在设计的时候,或者说在整个模块协同运行的时候就可以实现更好的解耦合功能,比如人在通信的时候,是人直接在通信吗?并不是,人要把声音传给电话,电话传给另一个电话,另一个电话再传给另一个人。

其中涉及到的协议有两个,人与人通话的协议,电话与电话的协议

其中人与人通话的协议就是语言方面的约定,中国人和中国人能无障碍交流,那中国人和美国人能直接交流吗?除非会多国语言的,一般都是不能的,所以在这里人与人的协议就是咱们用同一种语言。电话与电话之间的协议就是物理层的内容了,咱们不深究。

那么你说这里解耦合了吗?当然解耦合了,如果是第一层出现了问题,就是人与人之间语言出现了问题,咱们用同一种语言就行,如果是第二层出现了问题,咱们换个设备或者说修一下设备看出现了什么问题没有就行。

这就实现了解耦合

当然了,在实际的网络通信中,只会更加复杂,所以有了下面的网络模型。


OSI七层模型和TCP/IP四层模型

对于上文通过协议印出来的OSI七层模型,它的真实面目就是这样的,你看起来是不是非常的详细以至于觉得甚至有点理想化的状态?

实际上OSI网络模型在实际的网络世界中并不会得到很好的实现,因为有些层它是很难实现或者说很难去和操作系统适配的,具体每个层干什么的咱也不粘贴了,相信大家也不会看下去。

咱们对于OSI模型只需要记住,其中的表示层和会话层是很难接入到操作系统的,而在传输层最著名的就是TCP协议,对于网络层最著名的就是IP协议,并且TCP协议和IP协议都是在操作系统层面实现的,所以我们叫TCP/IP协议也不过分吧?

那么为什么又说是TCP四层协议呢?由于OSI的理想模型,在实际模型中简化成了5层模型,即应用层,传输层,网络层,数据链路层,物理层,而对于物理层来说,就是非常偏硬件的,01光电信号之内的,而我们一群搞软件开发的哥们儿搞啥硬件对吧?

所以我们一般关心的是其他四层模型,也就应用层,传输层,网络层以及数据链路层,那么对于应用层来说实际上是集成了OSI七层模型中的应用层和表示层和会话层。

那么既然提及到了TCP/IP四层模型,我们简单提及一下,对于传输层来说最著名的两个协议一般就是TCP协议和UDP协议,对于网络层来说最著名的就是IP协议,ICMP协议等。具体的我们得等到后面来讲了。


网络通信流程

咱们简单拿这四个主机来举例,对于网络通信来说,A主机要给C主机发送一句你好,可不是简单的点击发送就可以实现数据的传递了。

要面临的问题有网络中这么多主机,应该如果找到C主机呢?找到了C主机之后,发送的数据丢失了怎么办?等等问题,这些都是因为距离导致的问题

而我们要有一个清楚的认识,发送数据并不是目的,而是不同主机解决问题的方式,就像A主机发送数据是因为C主机向它请求了某些数据,C主机因为要解决某些软件的数据向A主机申请数据,所以发送数据并不是目的,而是一种手段。

那么既然是手段,就应该有不同的方式,比如通过TCP协议的特点可以有效的防止数据包丢失,具体的咱们不展开,咱们目前只需要知道我们想要维护网络传输信息的可靠性,一定要通过某些方式进行维护的,比如协议。

我们上面解释的又十分笼统,因为数据并不是单纯从一个主机传输到另一个主机那么简单,你想,数据传输难道不需要在自己主机内容游龙吗?当然需要,所以我们今天需要理解的一个点是,数据如何在计算机的各个部分传输。

既然是在计算机的各个部分传输,那么每个部分是否有自己的协议?

当然有了,咱们再笼统一点,有内存协议,有磁盘协议,有应用层协议如HTTP等。每个层都拥有自己的协议,所以数据的传输是比较复杂的。

我们通过这个来理解第一个概念,报头和有效载荷

 我们收到快递的时候,一般都会收到填满的快递单子和我们购买的快递,对于一个快递单子来说,里面是有很多字段需要我们填写的,其中对于快递单子来说就是报头,其中包含了许多信息,比如收件人,收件地址,电话号码等。

这就是报头,需要包含的信息有很多,有了这些信息,就能保证该数据的正确走向,所以有了报头,我们也就拥有了所有我们需要的信息。

对于用户A发送一个数据包来说,首先有效载荷是你好,然后报头就是协议即应用层协议,那么发送给了传输层,传输层收到的有效载荷就是你好+应用层协议,添加报头传输层协议,发给网络层,网络层的有效载荷就是你好+应用层协议+传输层协议,报头就是网络层协议,链路层同理,发给对面的主机之后,从数据链路层开始,就开始解包,因为最后一次发送的数据的报头就是数据链路层,因为协议一样,所以可以进行解包

以上我们就浅谈了解包和封包的一个概念,对于分用这个概念来说,咱们从数据链路层往上传的时候,我们是传给IP协议还是ICMP协议呢?这个实际上在报头部分已经添加了相关的信息,所以咱们也不用担心,这就是分用的概念。


感谢阅读!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值