Internet 中的网络地址结构

马谦马谦马谦 TCP/IP评论780字数 2028阅读 6 分 45 秒阅读模式

Internet 中的 IP 地址结构在大学里学了好几遍了,自认为当初学得也还不错,本来打算跳过这一章,仔细一看就发现好多都已经忘了,于是就重新过了一遍。再看一遍就发现很多概念比以前都清晰多了,还有一些小的细节以前没弄清楚现在也是搞明白了,算是温故而知新吧。

一、 IP 地址介绍

IP 地址用来区分网络中的每一台主机,就像生活中的门牌号一样。 IP 地址有两种类型:IPv4 和 IPv6,IPv6 目前应用不是十分广泛。

2017 年我写下这篇文章的时候,还没有发现 IPv6 被广泛使用。在不到三年后的今天,IPv6 已经逐渐使用起来了。我所了解的一些信息:国内的所有金融机构 (银行类) 已经强制要求必须使用 IPv6 网络;国内主流云服务商也都提供了 IPv6 地址的云主机;几乎所有的 APP 上都会标注 「xxx 已支持 IPv6 访问」 。

IPv4 地址结构

IPv4 中的地址由 32 位二进制数构成,共 4 个字节,通常采用点分四组或点分十进制表示,如:

0.0.0.0 ==> 00000000 00000000 00000000 00000000

192.168.1.1 ==> 1100000 10101000 00000001 00000001

可以计算得到 IPv4 的地址个数为 2^8^4=4294967296 个。

二、分类 IP 地址

IP 地址根据起始部分连续 1 的个数的多少分为五种类型类型:A 类、 B 类、 C 类、 D 类和 E 类,以 0 开头的为 A 类地址,10 开头为 B 类,110 开头为 C 类,以此类推,其中 C 类为组播地址,D 类是保留地址。在分类的 IP 地址中,每个地址都分为两部分:网络部分和主机部分。网络部分用于在网络中寻址,主机部分用于寻找到当前网络下的特定主机,具体如下所示:

Internet中的网络地址结构-图片1

每类网络的地址范围等信息如下:

Internet中的网络地址结构-图片2

地址分类的优点

分类地址的优点是简单明了,通过 IP 地址无需计算即可得到网络号和主机号。例如,一台主机的 IP 为:130.3.0.2,通过 130 就可以知道 该地址是 B 类地址,网络号为 130.3.0.0 。

地址分类的缺点

可用的 IP 资源少且极度浪费 IP 资源,就 A 类和 B 类地址来说,所有可用的网络个数才 16000+,而一个 A 类地址包含 1700w+个主机, 很少有站点能够完全利用得到,这就造成了大量的浪费。对于 C 类地址来说,虽然可用的网络号多,但是每个网络号的主机最多 256 个主机,对很多站点来说不足以使用,并且分配好网络地址之后所有的主机都在同一个网络环境中,很难再为内部主机分配新的网络号。

私有网段地址

局域网可使用的网段 (私网地址段) 有三大段:

  • 10.0.0.0~10.255.255.255(A 类)
  • 172.16.0.0~172.31.255.255(B 类)
  • 192.168.0.0~192.168.255.255(C 类)

三、子网

3.1 子网寻址

子网寻址解决了内部网络无法再划分的问题,它的方法是把原有地址中的主机部分进行进一步划分,再分出一个子网 ID 部分,通过不同的子网 ID 来区分不同的内部网络,例如一个 B 类网络地址可以分为以下形式:

Internet中的网络地址结构-图片3

拿出八位作为子网 ID 位,然后再剩下的作为主机位,工作模型如下:

Internet中的网络地址结构-图片4

那么,应该怎样判断子网 ID 是多少呢,就需要用到下面的子网掩码。

3.2 子网掩码

子网掩码由一连串的 1 和一连串的 0 构成,和 IP 地址一样子网掩码也是 32 位,例如 255.255.255.0 。

对于一个子网掩码来说,他的设置方式是:先把网络位全部设置为 1,然后子网 ID 有多少位,就置多少位为 1,其余全部为 0 。

例如 139.3.0.0 网段,想要设置一个 8 位的子网 ID,则子网掩码应该为 255.255.255.0 。此时网络具有 2^8 个子网,每个子网拥有的主机数量为 2^8 。

把 IP 地址和子网掩码进行与运算即可得到网络号。

3.3 可变长子网掩码 VLSM

子网掩码解决了内部网络划分的问题,但是这样导致的是每个网络的大小都是一样的,对于站点来说,可能内部有多个部门,每个部门的人员数量都不一样,如果每个部门的主机数量都一致的话就会导致很多人员较少的部门的 IP 资源浪费。而对于划分子网来说,我们因该遵循的原则是尽量少造成资源的浪费,尽量让每个资源都利用得到,为了解决这个问题就出现了可变长子网掩码。

可变长子网掩码就是在一个内部网络中,所有的子网掩码可以不都是一样的,能根据不同的需求设置不同的子网掩码。子网的分配规则应该为:先根据需要的主机数量分配相应的主机位,然后剩下的都用作网络位。

假设一个公司分有一个公网地址 139.3.0.0,内部有三个部门,每个部门的人数分别为 10, 20, 50,

先给 A 部分分配子网,A 部门需要至少能容纳 10 台主机,10 台主机则要求主机位必需>=4(因为主机位如果只有三位最多只能容纳 2^3=8 个主机),所以此时的子网 ID 就占 16-4=12 位,A 部门的子网掩码为:255.255.255.240

然后给 B 部门分配,B 部门需要至少容纳 20 台主机,此时的主机位必需>=5,子网 ID 则为 11 位为:255.255.224.0,相应的 C 部门的子网掩码为:255.255.192.0 。

  最后更新:2020-4-12
马谦马谦马谦
  • 本文由 马谦马谦马谦 发表于 2017 年 10 月 14 日 19:04:14
  • 转载请务必保留本文链接:https://www.dyxmq.cn/network/tcpip/internet-addr.html
TCP协议中的三次握手和四次挥手 TCP/IP

TCP 协议中的三次握手和四次挥手

一、三次握手 TCP 协议的三次握手和四次挥手分别表示了 TCP 连接的建立和释放过程,在整个 TCP 协议是一个很重要的内容,同时也是面试时的常见考点。 趁着找工作的劲,使用 socket+tcpdump 分析了...
Wireshark抓取以太网数据包 Wireshark

Wireshark 抓取以太网数据包

一、概述 几乎所有的数据包都是通过以太网来传输,所以使用 wireshark 抓取以太网数据包非常容易,这里我们以 DNS 数据包为例。 二、抓包 1. 准备数据 打开 wireshark,在筛选栏输入 dns,...
TCP/TP协议篇:IP协议 TCP/IP

TCP/TP 协议篇:IP 协议

一、概述 IP 是 TCP/IP 协议族中的核心协议,所有 TCP UDP ICMP 以及 IGMP 数据都要通过 IP 协议来传输。 IP 是一种无连接协议,不负责维护网络连接中的任何连接状态,提供尽力而为 的服...
匿名

发表评论

匿名网友
:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:
确定

拖动滑块以完成验证