理解网际网路协定(一):何谓 IP Address

前面提到了一些 Router 连网所需的设定,有 PPPoE、DHCP 以及 Static 这几种类型,如果成功连上网路後,都会被 ISP 派发到一组 IP 位置(IP Address),也就是你在网际网路中的地址。

但是,虽说你得到了一个 IP 位置,但并非其它人都可以透过这个 IP 位置来找到你,你拿到的很有可能是「虚拟」的 IP 位置;又或者你拿到的是「浮动」 IP 位置,隔了一段时间还会变成其它的位置!

除了虚拟、浮动之外,提到 IP 位置当然还有固定的、不同版本的(IPv4、IPv6)。是否有点乱呢?我们接下来就从 IP 位置的基本原理和常见的应用及名称聊起。

何谓 IP Address

TCP/IP 模型 来看,IP(Internet Protocol,网际网路协定)就是最早被定义及实做的两个协定之一(另一个当然就是 TCP),而 IP 所规范的就是封包传递的细节。

要在网际网路中的两个节点传递封包,就需要能够「定位」到对方,也因此每个节点都需要一个位置,如同现实世界中的门牌一样。这个位置在网际网路协定中就被称为 IP Address。

现在最常见的 IP Address 是使用版本 4 的定义(IPv4, aka IP version 4),由 4 组数字所组成、用 . 分开,每个数字的 Range 都介於 0 - 255。我们先不谈其它版本的 IP Address,从 IPv4 的位置聊起。

为何 IP Address 长成这样?

常见 4 组数字组成的 IP 位置形式,其实是为了方便人类阅读所转换的。本质上,IP Address 是一个 32 bits(位元)的数字,也就是一个 32 位的「二进制数字」。

例如一个 IP 位置为 192.168.255.1 要表达成二进制,四组数字中的每一组都是 8 位的二进制数字,四组加起来总长度就是 32,表达成 11000000 10101000 11111111 00000001

IP Address 的进制转换
*IP Address 的进制转换

详细的二进制转换在这里就不多说了,拿 168 这个十进制的数字配合上图来看,可以转换成二进制的 10101000

而一个 8 位的二进制数字,最大值为全都是 1 的数字:11111111,等同於十进位的 255。这也就是为什麽每一组数字的 Range 都介於 0 - 255 的原因了。

参考资料

  1. Wiki - IPv4

<<:  如何与使用者对话

>>:  Day 9 利用 docker 安装 Mautic

[Day24] Marketplace

对於初学者来说,自动化的部属真的是一件非常累人的事情,从云端架构开始就有一大堆东西要学,再加上昨天提...

推论统计-认识假设检定

上一次我们已经厘清了中央极限定理的概念了~不知道这样的解说是否清晰?统计学其实是一个非常实用性的科学...

全端入门Day23_後端程序撰写之多一点的Node.js

昨天写了写了基本的Node.js,但还没有介绍程序码,今天就来介绍昨天的程序码。 Node.js入门...

[DAY 18]让BOT 24小时在线(GCP版本)

前几天有写一篇用replit让bot24小时在线的文章 但测试几天後发现bot执行的速度明显变慢个2...

Spring Framework X Kotlin Day 23 Integration Test

GitHub Repo https://github.com/b2etw/Spring-Kotlin...