首页 > 所有文章 > 行业 >文章详情

c获取ip地址(C语言如何获取当前ip地址)

时间:2024-02-12 17:23:02 浏览量:306

上一节( IP地址分类、规划,使用原则 )我们讨论了IP地址的分类等基本知识,我们知道IP地址资源现在已经很匮乏,当我们获取到一个公网IP地址,需要对其进行划分、计算,让其充分发挥效益,现在我们来讨论IP地址的计算和子网划分,请继续“关注”我们的“ 头条号 ”!

2011年2月3日,全球IP地址分配机构(IANA)宣布将其最后的468万个IP地址平均分到全球5个地址的互联网络信息中心,此后再没有可分配的IPv4地址。

目的:子网划分可以缩减网络流量,优化网络性能,节约地址空间;

子网划分是IP地址的网络位向主机位借出一定的位数 来实现,子网划分就是将一个大网络划分成一些小网络;

(1)原IP地址组成:

(2)向主机借位,形成子网:

原理: 子网划分是通过借用IP地址的若干位主机位来充当子网地址从而将原网络划分为若干子网而实现的。

划分子网时,随着子网地址借用主机位数的增多,子网的数目随之增加,而每个子网中的可用主机数逐渐减少。

在每个子网中,主机部分全部为0和1的不能分配给主机用,所以每个子网的可用IP地址数为总IP地址数量减2。

新的IP地址的网络位向主机借用位数后,其子网掩码同时也会变化,划分子网后的掩码由原来默认的掩码变成了可变长的子网掩码VLSM。

变长子网掩码(VLSM)是指一个网络可以用不同的掩码进行配置。之所以要使用变长子网掩码,是在把一个网络划分成多个子网方面提供更多的灵活性,同时保持在每个子网中能够有足够数量的主机。

划分子网后的IP地址包括3个部分:网络部分 子网部分 主机部分;

子网是主网的一个子集;

对于无须再划分成子网的IP地址来说,其子网掩码非常简单,即按照其定义即可写出。

如某B类IP地址为 10.12.3.0,无须再分割子网,则该IP地址的子网掩码255.255.0.0。

如果是一个C类地址,则其子网掩码为 255.255.255.0。

一个IP地址,如何计算网络号呢?将其IP地址与默认子网掩码进行AND运算,如下所示:

得到的结果,就是其网络号,如172.21.0.0。

A、B、C三类IP地址的默认的子网掩码:

划分了子网的IP地址,如何确定子网的网络号呢?同样使用子网IP地址与新的子网掩码进行AND(与)运算,运算的结果来确定是不是一个网段。

参考我之前发过的文章: 如何判断两个不同的IP地址是不是在同一网段

(1)根据需求确定至少划分多少个子网、至少可用主机IP地址数多少;

(2)根据子网数得出借位数、根据可用IP数得出子网地址空间;

(3)根据借位数,地址空间对给出的IP地址段进行划分,及划分后的子网掩码;

(4)列出子网划分表;

需求:某集团申请到一个公网IP地址192.3.2.0,该集团有5个分公司需要联网,每个分公司需在一个子网中,则该集团IP地址规划如下:

第一步 :根据需求得知至少需要5个子网;

若需满足子网数5,则起码需要借位m,2^m>=5,则m>=3;

子网的地址空间为:000、001、010、011、100、101、110、111

第二步:计算子网掩码

若使用C类子网掩码255.255.255.0, 192.3.2.0地址通过子网后网络位借位3位后 网络位为27位, 新的可变长掩码为255.255.255.224

第三步:计算每个子网可用主机数

因借3位给网络位划分子网,因此每个子网主机数为:2^(8-3)=32,但是全0是子网号和全1广播地址不能使用,所以每个子网有32-2=30个主机数可用;

第四步:划分子网

感谢您的关注,你的支持就是我输出最大的一个动力!