设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 创业者 数据 手机
当前位置: 首页 > 站长资讯 > 评论 > 正文

我画了 40 张图就是为了让你搞懂计算机网络层(3)

发布时间:2021-01-06 12:49 所属栏目:17 来源:未知
导读:既然一个数据包要在网络上传输,那么肯定需要知道这个数据包到底发往哪里,也就是说需要一个目标地址信息,IP 地址就是连接网络中的所有主机进行通信的目标地址,因此,在网络上的每个主机都需要有自己的 IP 地址。

既然一个数据包要在网络上传输,那么肯定需要知道这个数据包到底发往哪里,也就是说需要一个目标地址信息,IP 地址就是连接网络中的所有主机进行通信的目标地址,因此,在网络上的每个主机都需要有自己的 IP 地址。

我画了 40 张图就是为了让你搞懂计算机网络层

在 IP 数据报发送的链路中,有可能链路非常长,比如说由中国发往美国的一个数据报,由于网络抖动等一些意外因素可能会导致数据报丢失,这时我们在这条链路中会放入一些中转站,一方面能够确保数据报是否丢失,另一方面能够控制数据报的转发,这个中转站就是我们前面聊过的路由器,这个转发过程就是路由控制。

路由控制(Routing)是指将分组数据发送到最终目标地址的功能,即使网络复杂多变,也能够通过路由控制到达目标地址。因此,一个数据报能否到达目标主机,关键就在于路由器的控制。

这里有一个名词,就是跳,因为在一条链路中可能会布满很多路由器,路由器和路由器之间的数据报传送就是跳,比如你和隔壁老王通信,中间就可能会经过路由器 A-> 路由器 B -> 路由器 C 。

那么一跳的范围有多大呢?

一跳是指从源 MAC 地址到目标 MAC 地址之间传输帧的区间,这里引出一个新的名词,MAC 地址是啥?

MAC 地址指的就是计算机的物理地址(Physical Address),它是用来确认网络设备位置的地址。在 OSI 网络模型中,网络层负责 IP 地址的定位,而数据链路层负责 MAC 地址的定位。MAC 地址用于在网络中唯一标示一个网卡,一台设备若有一或多个网卡,则每个网卡都需要并会有一个唯一的 MAC 地址,也就是说 MAC 地址和网卡是紧密联系在一起的。

路由器的每一跳都需要询问当前中转的路由器,下一跳应该跳到哪里,从而跳转到目标地址。而不是数据报刚开始发送后,网络中所有的通路都会显示出来,这种多次跳转也叫做多跳路由。

IP 地址定义

现如今有两个版本的 IP 地址,IPv4 和 IPv6,我们首先探讨一下现如今还在广泛使用的 IPv4 地址,后面再考虑 IPv6 。

IPv4 由 32 位正整数来表示,在计算机内部会转化为二进制来处理,但是二进制不符合人类阅读的习惯,所以我们根据易读性的原则把 32 位的 IP 地址以 8 位为一组,分成四组,每组之间以.进行分割,再将每组转换为十进制数。如下图所示

我画了 40 张图就是为了让你搞懂计算机网络层

那么上面这个 32 位的 IP 地址就会被转换为十进制的 156.197.1.1。

除此之外,从图中我们还可以得到如下信息

每个这样 8 位位一组的数字,自然是非负数,其取值范围是 [0,255]。

IP 地址的总个数有 2^32 次幂个,这个数值算下来是4294967296,大概能允许 43 亿台设备连接到网络。实际上真的如此吗?

实际上 IP 不会以主机的个数来配置的,而是根据设备上的网卡(NIC)进行配置,每一块网卡都会设置一个或者多个 IP 地址,而且通常一台路由器会有至少两块网卡,所以可以设置两个以上的 IP 地址,所以主机的数量远远达不到 43 亿。

我画了 40 张图就是为了让你搞懂计算机网络层

IP 地址构造和分类

(编辑:ASP站长网)

网友评论
推荐文章
    热点阅读