【1.4.1】IP地址

一、IP地址是什么?

IP 地址(Internet Protocol Address)是互联网协议特有的一种地址,它是 IP 协议提供的一种统一的地址格式。IP 地址为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。

那么,我们为什么要使用 IP 地址呢?

在单个局域网网段中,计算机与计算机之间可以使用网络访问层提供的 MAC 地址进行通信。如果在路由式网络中,计算机之间进行通信就不能利用 MAC 地址实现数据传输了:因为 MAC 地址不能跨路由接口运行;即使强行实现跨越,使用 MAC 地址传输数据也是非常麻烦的。

这是由于内置在网卡里的固定 MAC 地址不能在地址空间上引入逻辑结构,使其无法具备真正的地址来表示国家、省、市、区、街道、路、号这类层次。因此,要进行数据传输,必须使用一种逻辑化、层次化的寻址方案对网络进行组织,这就是 IP 地址。

网络中的每个计算机都有对应的 IP 地址,读者可以使用 netwox 工具探测目标主机。

【示例】显示目标主机的相关信息。

  1. 探测局域网中所有主机的IP地址、主机名和 MAC 地址信息。

    root@daxueba:~# netwox 3 -a 192.168.59.0/24

显示的所有主机信息如下;

IP address:    192.168.59.0
Hostname:    localhost
Hostnames:    localhost
Eth address:    unresolved

IP address:      192.168.59.1  #主机IP地址
Hostname:      localhost
Hostnames:     localhost
Eth address:    00:50:56:C0:00:08  #MAC地址

IP address:         192.168.59.2  #主机IP地址
Hostname:         localhost
Hostnames:       localhost
Eth address:       00:50:56:EA:F3:A1  #MAC地址
…  #省略其他信息
IP address:        192.168.59.131  #主机IP地址
Hostname:        localhost
Hostnames:       localhost
Eth address:       00:0C:29:CA:E4:66  #MAC地址

IP address:        192.168.59.132  #主机IP地址
Hostname:        localhost
Hostnames:       localhost
Eth address:       00:0C:29:C4:8A:DE  #MAC地址
…  #省略其他信息
IP address:        192.168.59.254  #主机IP地址
Hostname:         localhost
Hostnames:       localhost
Eth address:       00:50:56:F7:32:70  #MAC地址

IP address:        192.168.59.255  #主机IP地址
Hostname:        localhost
Hostnames:      localhost
Eth address:      unresolved

以上输出信息依次显示了局域网中的所有主机信息,主机 IP 地址为 192.168.59.0 到 192.168.59.255。

如果主机存在,就在 Eth address 部分中显示对应的 MAC 地址,如果主机不存在,则显示为 unresolved。从输出信息中可以了解到,主机 192.168.59.131 存在,其 MAC 地址为 00:0C:29:CA:E4:66。

  1. 主机可以被用做服务器,探测域名为 www.163.com (http://www.163.com) 的所有主机的 IP 地址、主机名,以及 MAC 地址信息。 root@daxueba:~# netwox 3 -a www.163.com

输出信息如下:

IP address:        220.194.153.86
Hostname:       unresolved
Hostnames:      unresolved
Eth address:     unresolved

IP address:        218.26.75.208  #IPv4地址
Hostname:        208.75.26.218.internet.sx.cn  #主机名
Hostnames:       208.75.26.218.internet.sx.cn
Eth address:       unresolved

IP address:        124.163.192.254  #IPv4地址
Hostname:        254.192.163.124.adsl-pool.sx.cn  #主机名
Hostnames:       254.192.163.124.adsl-pool.sx.cn
Eth address:       unresolved

IP address:        2408:80f1:201:1::7  #IPv6地址
Hostname:        unresolved
Hostnames:       unresolved
Eth address:      00:50:56:EA:F3:A1  #MAC地址

IP address:        2408:80f1:201:1::6  #IPv6地址
Hostname:        unresolved
Hostnames:       unresolved
Eth address:       00:50:56:EA:F3:A1  #MAC地址

以上输出信息显示了域名 www.163.com(http://www.163.com)的主机所使用的 IP 地址、主机名,以及 MAC 地址信息。

二、IP地址的格式和分类

在网际层中,利用 IP 地址将数据传输到目的地。为了能够使数据正确地发送到目标主机上,网络上的 IP 地址必须有一定的规则来识别主机的位置。

2.1 IP地址的基本构成

为了便于寻址,了解目标主机的位置,每个 IP 地址包括两个标识码(ID),即网络 ID 和主机 ID。同一个物理网络上的所有主机都使用同一个网络 ID,网络上的一个主机(包括网络上的工作站、服务器和路由器等)有一个主机 ID 与其对应。

网络 ID 和主机 ID 含义如下:

  • 网络 ID:用于识别主机所在的网络,网络 ID 的位数直接决定了可以分配的网络数量。
  • 主机 ID:用于识别该网络中的主机,主机 ID 的位数则决定了网络中最大的主机数量。

2.2 IP地址的分类和格式

大型网络包含大量的主机,而小型网络包含少量的主机。根据用户需求不同,一个网络包含的主机数量也会不同。为了满足不同场景的需要,网络必须使用一种方式来判断 IP 地址中哪一部分是网络 ID,哪一部分是主机 ID。

IP 地址为 32 位地址,被分为 4 个 8 位段。为了方便对 IP 地址的管理,将 IP 地址基本分为三大类,每类地址的分类与含义如下:

  • A 类:前 8 位表示网络 ID,后 24 位表示主机 ID;该地址分配给政府机关单位使用。
  • B 类:前 16 位表示网络 ID,后 16 位表示主机 ID;该地址分配给中等规模的企业使用。
  • C 类:前 24 位表示网络 ID,后 8 位表示主机 ID;该地址分配给任何需要的人使用。

除了上述的 A、B、C 三类地址以外,还有两类隐藏地址,即 D 类地址和E类地址:

  • D 类:不分网络 ID 和主机 ID;该地址用于多播。
  • E 类:不分网络 ID 和主机 ID;该地址用于实验。

2.3 如何判断IP地址的分类?

IP 地址被分类以后,如何判断一个 IP 地址是 A 类、B 类还是 C 类地址呢?为了更好地进行区分,将每类地址的开头部分设置为固定数值,如图所示。

IP地址分类示意图

从上图中可以看出,每类 IP 地址都是以 32 位的二进制格式显示的,每类地址的区别如下:

  • A类:网络 ID 的第一位以 0 开始的地址。
  • B类:网络 ID 的第一位以 10 开始的地址。
  • C类:网络ID的第一位以 110 开始的地址。
  • D类:地址以 1110 开始的地址。
  • E类:地址以 11110 开始的地址。

2.4 不同分类的IP地址的范围

由于每类地址的开头是固定的,因此每类地址都有自己的范围:

  • A类:IP 地址范围为 0.0.0.0~127.255.255.255。
  • B类:IP 地址范围为 128.0.0.0~191.255.255.255。
  • C类:IP 地址范围为 192.0.0.0~223.255.255.255。
  • D类:IP 地址范围为 224.0.0.0~239.255.255.255。
  • E类:IP 地址范围为 240.0.0.0~255.255.255.254。

2.5 特殊 IP 地址

在进行 IP 地址分配时,有一些 IP 地址具有特殊含义,不会分配给互联网的主机。例如,保留了一些 IP 地址范围,用于私有网络,这些地址被称为私有地址。再如,保留一部分地址用于测试,被称为保留地址。

A 类、B 类、C 类地址的地址范围及含义如下:

  1. A类地址
  • 私有地址范围为 10.0.0.0~10.255.255.255。
  • 保留地址范围为 127.0.0.0~127.255.255.255。
  1. B类地址
  • 私有地址范围为 172.16.0.0~172.31.255.255。
  • 保留地址为 169.254.X.X。
  1. C类地址
  • 私有地址范围为 192.168.0.0~192.168.255.255。

2.6 子网划分

数据在网络中进行传输是通过识别 IP 地址中的网络 ID,从而将数据发送到正确的网络中,然后再根据主机 ID 将数据发送到目标主机上。

如果一个网络中包含了百万台主机,数据通过网关找到对应的网络后,很难快速地发送到目标主机上。为了能够在大型网络中实现更高效的数据传输,需要进行子网划分,将网络划分为更小的网络。

子网划分是将 IP 地址的主机 ID 部分划分为子网 ID 和主机 ID。其中,子网 ID 用来寻找网络内的子网,主机 ID 用来寻找子网中的主机。

子网掩码则是用来指明地址中多少位用于子网 ID,保留多少位用于实际的主机 ID。

三、IP地址分配(静态分配+动态分配+零配置)

计算机为了在 TCP/IP 网络中正常工作,需要获取相应的 IP 地址。获取 IP 地址的过程被称为地址分配。计算机获取 IP 地址的方式有 3 种,即静态分配、动态分配和零配置。下面依次讲解这 3 种方式。

3.1 静态分配IP地址

静态分配也称为手工分配。网络管理员在计算机中直接设置所使用的IP地址。在 Windows 系统中,用户可以在“Internet协议版本4(TCP/IPv4)属性”对话框中手动配置静态地址,如图所示。

勾选“使用下面的IP地址(S)”复选框,然后输入所要使用的 IP 地址、子网掩码和默认网关。这些信息必须与自己所在的网络信息一致。在“使用下面的DNS服务器地址(E)”文本框中输入首选 DNS 服务器地址,一般为网关地址。

3.2 动态分配IP地址

动态分配是指计算机向 DHCP 服务器申请 IP 地址,获取后使用该地址。这时,计算机作为 DHCP 客户机。

在这个过程中,DHCP 客户机向 DHCP 服务器租用 IP 地址,DHCP 服务器只是暂时分配给客户机一个IP地址。只要租约到期,这个地址就会还给 DHCP 服务器,以供其他客户机使用。如果 DHCP 客户机仍需要一个 IP 地址来完成工作,则可以再申请另外一个 IP 地址。所以,计算机获取的IP地址每次都可能变化,属于动态分配。

在 Windows 系统中,用户可以在“Internet协议版本4(TCP/IPv4)属性”对话框中进行动态分配地址,如图所示。

这时,只要勾选“自动获得IP地址(0)”和“自动获得DNS服务器地址(B)”复选框,计算机就会尝试向 DHCP 服务器请求 IP 地址了。

3.3 零配置

在动态分配方式中,如果 DHCP 服务器不在线或出现故障等情况时,客户机就无法获取地址。这时,有些系统将会通过零配置技术为自己分配一个私有的地址,范围为 169.254.0.0~169.254.255.255。

参考资料

药企,独角兽,苏州。团队长期招人,感兴趣的都可以发邮件聊聊:tiehan@sina.cn
个人公众号,比较懒,很少更新,可以在上面提问题,如果回复不及时,可发邮件给我: tiehan@sina.cn