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

linux c语言获取ip(linux命令)

时间:2024-02-12 17:56:05 浏览量:307

#头条创作挑战赛#

它们可唯一标识 IP 网络中的每台设备 ,每台主机(计算机、网络设备、外围设备)必须具有 唯一 的地址

IP地址由两部分组成

IPv4地址格式:点分十进制记法


A类:

B类:

C类:

D类: 组(多)播,1110 0000 - 1110 1111.X.Y.Z: 224-239.X.Y.Z

E类: 科研,保留未使用,240-255

私有IP地址:不直接用于互联网,通常在局域网中使用

公共IP地址:互联网上设备拥有的唯一地址

0.0.0.0不是一个真正意义上的IP地址。它表示所有不清楚的主机和目的网络

限制广播地址。对本机来说,这个地址指本网段内(同一广播域)的所有主机

本机回环地址,主要用于测试。在传输介质上永远不应该出现目的地址为“127.0.0.1”的 数据包

组播地址,224.0.0.1特指所有主机,224.0.0.2特指所有路由器。224.0.0.5指OSPF 路由器,地址多用于一些特定的程序以及多媒体程序

如果Windows主机使用了DHCP自动分配IP地址,而又无法从DHCP服务器获取地址,系统会为主机分配这样地址

例如:

CIDR:无类域间路由,目前的网络已不再按A,B,C类划分网段,可以任意指定网段的范围

CIDR 无类域间路由表示法:IP/网络ID位数,如:172.16.0.100/16

netmask子网掩码:32位或128位(IPv6)的数字,和IP成对使用,用来确认IP地址中的网络ID和主机ID,对应网络ID的位为1,对应主机ID的位为0,范例:255.255.255.0 ,表现为连续的高位为1,连续的低位为0

子网掩码的八位

相关公式:

判断对方主机是否在同一个网段:

用自已的子网掩码分别和自已的IP及对方的IP相与,比较结果,相同则同一网络,不同则不同网段

示例1:判断A和B是否在网一个网段?

A: 192.168.1.100 netmask:255.255.255.0

B: 192.168.2.100 netmask:255.255.0.0

范例2:一个主机:172.16.1.100/28

1、此主机所在的网段最多有多少主机?

答: 根据给定的子网掩码 /28,其中有 4 位用于主机部分,因此可以表示的 主机数=2^(32-28)-2=14 ;减去 2 是因为1个是网络地址和1个是广播地址,不能用于主机。 所以最多主机数为:14个

2、网络ID? IP和子网掩码相与。

答:因为知道子网掩码是/28(即28个1,4个0),得到255.255.255.240,然后需要将给的IP地址和子网掩码进行 逻辑与 操作,进行与操作得到网络ID:172.16.1.96,如下所示:

3、此网段的主机中最小的IP是?最大的IP是?

答:根据给定的子网掩码 /28,可以确定主机部分的范围。最小的IP地址是网络ID加上 1,即 172.16.1.97;最大的IP地址是网络ID:172.16.1.96 可用主机数量:14,即 172.16.1.110。

划分子网:将一个大的网络(主机数多)划分成多个小的网络(主机数少),主机ID位数变少,网络ID位数变多,网络ID位向主机ID位借位

可变长度子网掩码

Subnet地址

案例:

合并超网:将多个小网络合并成一个大网,主机ID位向网络ID位借位

案例:

跨网络通信:路由,选择路径
路由分类:

动态主机配置协议(Dynamic Host Configuration Protocol,DHCP)是一种网络协议,用于自动分配IP地址和其他网络配置信息给计算机和设备。


DHCP的工作原理如下:

DHCP的好处:

感兴趣的可以关注一下,这是一个系列的集合文章~