计算机基础--网络五层

你离开我真会死。 提交于 2019-12-02 11:49:05

计算机基础–网络五层

在这里插入图片描述
一、物理层:
一台计算机A和另一台计算机B是如何通信的呢?我们来分析一下:首先要实现通信是不是得把A、B 两台计算机连接起来吧?如下图所示。

在这里插入图片描述
至于连接的东西比如网线、光纤等,我们先暂且不管。也就是说物理层负责把A、B两台计算机连起来,然后通过高低电频来传送0、1这样的电信号。
二、数据链路层
通过物理层我们知道了它负责把计算机连起来,然后在计算机之间传输0,1这样的电信号。那么就会有个问题产生,如果0,1毫无规则,计算机该怎样解析呢??答案是不能解析。比如下面:
0001110101010111001010101010100001110000101010101010100000111111000000
我不相信你能看懂这是啥意思,反正鄙人看不懂。因此需要一定的规则进行传送,比如多少个电信号为一组,每一组应该包含什么标识才能被计算机读懂啊。也就是我们平时所说的约定、协议。
于是以太网协议出场了!
2.1 以太网协议
这个协议规定,一组电信号构成一个数据包,也就是平时所说的帧,每一帧包含头(head)和数据(data),其大小一般在64byte->1518byte,如果传送的数据特别大,那就分成多个来传。现在有个问题,如上所述,每一帧的大小是不确定的,只是给了一个范围。

在这里插入图片描述
如果有人学过数据结构,我想他一眼就会看出这个图要表达的意思了。那么这个head是固定的嘛,那必须的,因为传输的数据肯定是不固定的,如果head再不固定,那和毫无规则的0、1有什么区别,同样计算机就不会解析了。所以head大小必须固定,且规定为18个字节,那head都包含什么信息了,其实你大可以猜猜嘛!首先得知道是谁发送的吧、其次得表明给谁所发吧?那么想要给给某台计算机发送信息,那这台计算机得有一个唯一标识吧,要不然要精确发送肯定会出错。
Mac地址出场!
2.2 Mac地址
先看看百度的解释:
在这里插入图片描述
每一个网卡都会有一个唯一地址,计算机之间准确传送数据就是通过MAC地址唯一寻找的。
2.3 广播
在这里插入图片描述
如上图,在同一子网中,计算机A,连接着B,C,D三台计算机,现在计算机A知道计算机B的MAC地址,想要发送消息给B,但是计算机A不知道B在哪个线路,所以广播模式出场了。
说到广播模式,那在这里举个例子吧,就好比学校的广播吧,需要找一个同学,就小明吧。那步骤就是在学校广播室内喊话:“初三一班小明同学来李老师办公室一趟!”,这句话是所有人都能听到的,但是只有小明才会做出处理。在这里也是这样子的,想要发送消息给B,计算机就一广播的模式发送数据,此时B,C,D都会收到消息的,收到数据包后会与自身的MAC地址比对,如果和自己的MAC地址匹配,那就接受这个数据包,否则就不予处理。
2.4 ARP协议
那现在有个问题了,假设我在北京,你在兰州,我要给你发消息,那我还得跑你那边看看你的MAC地址吗???如果要这样才能给你发消息,那么这里有一万只xxx狂奔而过。那到低要怎样才能知道对方的mac地址呢???
于是ARP协议出场!
对于这个鄙人有深刻的体会,在工作中常常要做交换机的调试,比如摄像机的绑定,就涉及到IP、Mac地址、交换机物理端口的三者绑定在一起,如果没有这个协议显然很困难做到。反正细节暂且不管,就知道有了这个ARP协议之后你就会知道子网中其它计算机的MAC地址了。
三、网络层
实际上我们所处的网络都是由无数个子网构成的,广播的时候也只有同一子网里面的计算机能收到。那如果区分哪些MAC地址属于同一个子网呢??
IP地址出场!!
IP地址我们都不陌生,由IP协议定义的地址就是IP地址,IP协议有两种,IPv4和IPv6,请看下图:
在这里插入图片描述
不过我们一般都用IPv4。IP地址由32位二进制数组成。一般分为四段,比如192.168.0.2。这个IP地址被分为两部分,前面一部分代表的是网络部分,还有一部分代表主机部分,这两个都是不固定的。
现在举个例子有两个IP地址192.168.0.76和192.168.0.75,假如这两个IP地址的网络部分是24位、主机部分是8位。那网络部分为192.168.0,所以他们处于同一网络(子网)。因为网络部分相同。
那现在又有问题了,你咋知道网络部分占几位呢??也就是说单从IP地址是无法判断是否处于同一子网的!!!!!
于是子网掩码出场!!!
直接看百度的解释吧:
“子网掩码(subnet mask)又叫网络掩码、地址掩码、子网络遮罩,它是一种用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。
子网掩码是一个32位地址,用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在广域网上。”

子网掩码和IP地址一样都是32位的。不过子网掩码的主机部分全部都为1,主机部分全为0。
现在我就来讲讲计算机是如何判断是否属于同一个子网的。其实只需将IP地址和子网掩码做and运算,然后把各自的结果进行比较,如果结果相同就属于同一个子网。
接下来继续讲解如何获得MAC地址,上述提到了要用到ARP协议。ARP协议也是通过广播的方式给子网中的每一台计算机发送数据包,这个数据包会包含对方的IP地址,如果对方计算机检测到数据包中和本地的IP地址相同,就会把自己的MAC地址返回个发送数据包的计算机。
总结:网络层的功能就是帮助我们找到另一台计算机在哪里,和是否属于同一个子网。
四、传输层
通过物理层、数据链路层以及网络层。我们已经能够成功将数据在两台计算机之间进行发送,可是计算机有很多应用程序,你要发给哪个程序呢?
于是端口出场了!!!
有没有一切都是那么的自然???
也就是说,从一台计算机到另一台计算机发送数据的时候还要指定端口。其实传输层的主要功能也就是建立端口到端口的通信。
传输层最常见的是TCP协议和UDP协议,大家可自行百度查询。
五、应用层
应用层最接近用户,它并不是指运行在网络上的某个特别应用程序 。我们通过传输层收到了数据,但是这个数据格式是不一定的,有各种各样的,如.mp3、.mp4、.exe等。因此需要指定数据格式的规则,这样收到后才会正确解读。

最后,如有不合适的地方欢饮留言批评指正!!!

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!