网络简介

导语

为什么你的电脑可以上网?首先需要带着这个问题去看下面的内容

网络分层

我在这里把网络大致分为5层,从上到下: 应用层,传输层,网络层,链路
层,实体层,二话不说直接上一张图


先笼统说一下,整个的网络通信说白了就是靠这几层来实现的
在这里首先先说明一下这几层都是干嘛用的,从下至上说,越向下越偏向于硬件

实体层

实体层他是干什么的呢,其实他就是把各个电脑通过光缆等硬件的手段连接起来,然后用
来传输0,1形式的电信号,二话不说上一张图更形象点

在这里插入图片描述

链路层

这会上方的图片应该在脑海中出现了,首先还是先说一下这一层的作用: 就是在多台计算
机上传输数据,但是需要注意的是这会的传输数据时比较偏向于底层的,有笼统的有个概
念,他的传输的数据方式和途径和下方(其他层)的方式是不一样的
接下来说一下链路层是怎样传输数据的,要知道这个的话,需要在此引入两个概念:
以太网协议,MAC地址

1.以太网协议

为啥要有他,还记得再实体层的时候通过光缆把电脑连接起来了吧,然后两台电脑直
接传输0,1的电信号,但是这个电信号需要有个协议去规定他,去规定这个电信号怎么
分组等等规范,于是呢,各个大公司就商量了一套以太网协议出来。
这个协议规定了一个一组电信号就是一个数据包,并把这个名字叫做 “帧” 这个帧分为
标头和数据包,此时来张图形象一点

在这里插入图片描述
2:MAC地址

以太网的标头中包含了发送者,接受方的信息,那么发送者和接受者如何标识呢,于
是乎 MAC地址就出现了,MAC地址就是用来唯一标识发送方,接受方的接受MAC地址
说起来你可能没有见过,但是网卡你肯定见过,如果没见过,那么你肯定听
过,如果你没有听说过,不要紧,你只需要知道他是每个电脑都会有的一个东西,以太网     
协议规定,接入网络中的设备都需要网卡接口数据包就是从一块网卡传到另一块网卡的
,网卡上的地址,就是数据包的发送地址,和接受地址,这个就是MAC地址
来上图,首先看一下网卡:

在这里插入图片描述

再来看下MAC地址
在这里插入图片描述

前6个十六进制数是厂商编号,后6个是该厂商的网卡流水号。有了MAC地址,就可以定位
网卡和数据包的路径了。

3:广播

 这个广播应该怎么理解。要理解这个首先应该想到,他的产生肯定是要解决问题的。有上
 面的解释我们已经知道MAC地址上有发送者,接受者的信息,那么如何让一个MAC地址
 知道另外一个MAC地址呢,此时广播就产生了
 二话不说上图

在这里插入图片描述

上图中,1号计算机向2号计算机发送一个数据包,同一个子网络的3号、4号、5号计算机
都会收到这个包。它们读取这个包的"标头",找到接收方的MAC地址,然后与自身的MAC
地址相比较,如果两者相同,就接受这个包,做进一步处理,否则就丢弃这个包。这种发
送方式就叫做"广播"(broadcasting)

有了数据包的定义、网卡的MAC地址、广播的发送方式,"链接层"就可以在多台计算机之间传送数据了。

网络层

从上面的知识已经可以知道数据已经可以在链路层通过广播的发送方式去找对应的MAC
地址从而来发送数据,但是请思考一个问题就是如果有两台电脑一个在北京,一个在上
海,那么如果北京的电脑如果通过广播的方式发送数据包到上海的电脑,上海那么多的
电脑,同时也不在一个子网中,每一个电脑都收到这个数据包然后再去判断想象一下,
效率将会是非常低,同时广播只能在子网中进行广播,此处网络层就出现了,来上图

在这里插入图片描述

因此,必须找到一种方法,能够区分哪些MAC地址属于同一个子网络,哪些不是。如果是
同一个子网络,就采用广播方式发送,否则就采用"路由"方式发送。("路由"的意思,就是
指如何向不同的子网络分发数据包,这是一个很大的主题,本文不涉及。)遗憾的是,
MAC地址本身无法做到这一点。它只与厂商有关,与所处网络无关。
这就导致了"网络层"的诞生。它的作用是引进一套新的地址,使得我们能够区分不同的计
算机是否属于同一个子网络。这套地址就叫做"网络地址",简称"网址"。

于是,"网络层"出现以后,每台计算机有了两种地址,一种是MAC地址,另一种是网络地
址。两种地址之间没有任何联系,MAC地址是绑定在网卡上的,网络地址则是管理员分配
的,它们只是随机组合在一起。

网络地址帮助我们确定计算机所在的子网络,MAC地址则将数据包送到该子网络中的目标
网卡。因此,从逻辑上可以推断,必定是先处理网络地址,然后再处理MAC地址。

IP协议

规定网络地址的协议,叫做IP协议。它所定义的地址,就被称为IP地址。

目前,广泛采用的是IP协议第四版,简称IPv4。这个版本规定,网络地址由32个二进制位组成。
习惯上,我们用分成四段的十进制数表示IP地址,从0.0.0.0一直到255.255.255.255。
互联网上的每一台计算机,都会分配到一个IP地址。这个地址分成两个部分,前一部分代
表网络,后一部分代表主机。比如,IP地址172.16.254.1,这是一个32位的地址,假定它
的网络部分是前24位(172.16.254),那么主机部分就是后8位(最后的那个1)。处于同
一个子网络的电脑,它们IP地址的网络部分必定是相同的,也就是说172.16.254.2应该与
172.16.254.1处在同一个子网络。
但是,问题在于单单从IP地址,我们无法判断网络部分。还是以172.16.254.1为例,它的
网络部分,到底是前24位,还是前16位,甚至前28位,从IP地址上是看不出来的。

那么,怎样才能从IP地址,判断两台计算机是否属于同一个子网络呢?这就要用到另一个
参数"子网掩码"(subnet mask)。

所谓"子网掩码",就是表示子网络特征的一个参数。它在形式上等同于IP地址,也是一个
32位二进制数字,它的网络部分全部为1,主机部分全部为0。比如,IP地址
172.16.254.1,如果已知网络部分是前24位,主机部分是后8位,那么子网络掩码就是
11111111.11111111.11111111.00000000,写成十进制就是255.255.255.0。

知道"子网掩码",我们就能判断,任意两个IP地址是否处在同一个子网络。方法是将两个
IP地址与子网掩码分别进行AND运算(两个数位都为1,运算结果为1,否则为0),然后
比较结果是否相同,如果是的话,就表明它们在同一个子网络中,否则就不是。

比如,已知IP地址172.16.254.1和172.16.254.233的子网掩码都是255.255.255.0,请问它
们是否在同一个子网络?两者与子网掩码分别进行AND运算,结果都是172.16.254.0,因
此它们在同一个子网络。

总结一下,IP协议的作用主要有两个,一个是为每一台计算机分配IP地址,另一个是确定
哪些地址在同一个子网络。

妈的,不想写了
参考地址

猜你喜欢

转载自blog.csdn.net/qq_24067089/article/details/85838517