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地址中,每个地址都分为两部分:网络部分和主机部分。网络部分用于在网络中寻址,主机部分用于寻找到当前网络下的特定主机,具体如下所示:
每类网络的地址范围等信息如下:
地址分类的优点
分类地址的优点是简单明了,通过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类网络地址可以分为以下形式:
拿出八位作为子网ID位,然后再剩下的作为主机位,工作模型如下:
那么,应该怎样判断子网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。
此处评论已关闭