自学网络协议(四):OSI第三层——网络层的作用(上)

前文回顾:

  1. 自学网络协议(一):HTTP请求与响应——GET和POST真的不一样吗?
  2. 自学网络协议(二):OSI第一层——物理层Physical layer
  3. 自学网络协议(三):OSI第二层——机器通信那点事

正文

让我们再次“瞻仰”一下这张意义重大的图:
在这里插入图片描述

经过前面的学习,我们已经知道了如何使连接到同一网络(即,局域网)的机器互相通信。

那么,这些局域网中的机器如何与外部机器进行通信呢?
我们从一开始到现在一直在使用“网络”一词,那么网络到底有何含义呢?

OSI第3层及其作用·初窥

由上图,OSI第3层,即大名鼎鼎的“网络层”。相较于其他几层,这个名字有些“言简意赅”了,倒是我们少见的名字和作用一致的了。

网络层的作用就是互连网络 —— 这使我们能从一个网络向另一个网络发送消息。

但是,如何做才能将消息发送到我们没有直接连接到的网络中(的电脑中)呢?

由前几节的学习,我们不难得出:网络之间也是互连的,就像一条链 这样的结论。
其实,所谓Internet就像一个由很多网络组成的更庞大的网络。
我们可以认为:互联网好像一间大房子,而互连的网络就像这个大房子里的房间一样。从厨房到卧室,我们要经过几个房间。

对网络来说也是一样。为了从“我的卧室”到达互联网上的一个网站(例如:GitHub)的主机所在的网络,我们要经过许多个中间网络。
而网络层将允许我通过其他网络加入互联网上的任何网络 —— 我的电脑将通过网络逐步连接到另一个网络上的电脑。

我们可以通过命令行来演示一下:(用我自己的个人网站(cjxnsb.cn/mxcf/index.html)的主机名www.cjxnsb.cn来测试)
在这里插入图片描述

关于这个命令,还可以说道说道:

在Linux系统中,我们输入的是traceroute命令

咳咳,好像扯哪去了,,,
回到开始的问题:到底什么是网络呢?

要理解网络是什么,我们将从了解网络层的一个极为重要的概念开始说起——和第2层有一个MAC地址一样,在第3层也有一个地址,它要比MAC地址复杂的多。

第三层的标识符——IP地址

我们目前只知道一个地址,也就是 OSI 第二层的 MAC 地址,MAC 地址是用于我们的本地网络(局域网)。

我们不免有这些疑问:

  • 在互联网上,我们的网络和其他网络是如何被标识以便区分的呢?
  • 如何标识网络呢?用地址来标识吗?还是用名字来标识呢?
  • 如果需要有一个地址来标识网络,还需要另一个地址来标识网络中的机器,那么是否意味着在 OSI 第 3 层里需要两个地址呢?

我们所有问题的答案都将在第 3 层的地址:IP 地址 中找到。

合二为一的两个地址:
我们将通过学习 IP 地址来回答之前提出的几个问题。

IP 地址实际上是网络和机器的地址。

更确切地说,IP 地址的一部分代表网络的地址,另一部分代表机器的地址。

那么,IP 地址是怎么表示的呢?
IP 地址编码为 32 位(也就是 4 个字节,因为我们之前说过 8 位二进制位(也就是 bit 位)是 1 个字节)。当然了,这是针对 IPv4(IP 协议第 4 版)的地址来说的;如果是 IPv6(IP 协议第 6 版)的地址,那么就不止 32 位了,而是 128 位。

IPv6 的地址是类似这样的:2001:0db8:85a3:0000:1319:8a2e:0370:7344

我们这里暂时不讨论 IPv6 的地址,因为比较复杂。

本课下面所说的 IP 地址,都默认是指 IPv4 格式的 IP 地址。

2019 年 11 月 26 日,是人类互联网时代值得纪念的一天,全球近 43 亿个 IPv4 地址正式耗尽,我们即将向 IPv6
时代迈进。

为了简化 IP 地址的读写,计算机科学家们选择使用点分十进制表示法来编写 IP 地址。用以点分隔的 4 个字节来表示 IP 地址,每个字节的数字是用十进制来表示的,范围从 0 到 255(因为一个字节是 8 个二进制位,2 的 8 次方是 256,而 256 - 1 = 255)。

因此,IP 地址的例子是像这样的 192.168.0.1 。

由此可以推断出最小的 IP 地址是 0.0.0.0(当地址的所有二进制位均为 0 时),而最大的 IP 地址是 255.255.255.255(当所有二进制位均为 1 时)。

发布了195 篇原创文章 · 获赞 391 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/qq_43624878/article/details/103473349