
本篇介绍IP地址与子网划分的一些基础知识,在嵌入式开发,使用网络功能时,需要了解网络的一些基础知识。
IPv4地址分4段,每段8位,共32位二进制数组成。
这32位又被分为网络号和主机号两部分,根据网络号占用位数的不同,又可分为以下几类:
对于十进制与二进制的转换,可用利用如下对照表方便手动换算:
IPv4报文结构如下:
IPv4报文中各字段含义:
一些特殊含义的IP地址:
例如:当网络连接不可用时,为测试编写的网络程序,通常使用目的IP为127.0.0.0用于测试。
IPv6地址分由冒号分为8段,每段是4个16进制数(即每段占16位),总计128位。
相比IPv4,地址空间增加了2^96倍。
一个IPv6地址中间如果包含很长的一段0,可以把连续的一段0压缩为“::”,但为保证地址解析的唯一性,地址中”::”只能出现一次。
例如:2002:0000:0000:0000:0000:0000:c0a8:0564 可表示为:2002::c0a8:0564
此外,为了实现IPv4与IPv6互通,IPv4地址会嵌入IPv6地址中,此时地址常表示为:“X:X:X:X:X:X:d.d.d.d”:
IPv6报文的整体结构分为IPv6报头、扩展报头和上层协议数据三部分。
IPv6报文中各字段含义:
对于A、B、C类地址,将主机号拿出几位作为子网号,可进一步实现更小的网络划分,从而实现更加合理的网络IP分配。
经过子网划分后的IP地址组成位:网络号+子网号+主机号。
对于子网掩码的计算,可看下面这张图:
题目一:把网络117.15.32.0/23划分为117.15.32.0/27,求得到的子网个数以及每个子网中可用地址的个数。
分析:网络号从23变为了27,即拿出了4位作为子网号,可划分2^4=16个子网;
主机号还剩32-27=5位,子网中的可用地址为2^5-2=30个地址。
题目二:对于IP:192.168.50.10,子网掩码:255.255.192.0,求其网络号和主机号。
分析:根据子网掩码的特点(相同部分为1,不同部分为0),可以只分析第3段,如下图:
由上图分析可知,网络号为192.168.0.0,主机部分就是50.10。
题目三:某用户得到的网络地址范围为110.15.0.0至110.15.7.0,求其CIDR表示法,以及可分配的主机数。
分析:可画图分析,可知CIDR表示法为110.15.0.0/21,主机位剩余11位,可分配的主机数为2^11-2=2046个。
本篇介绍IP地址与子网划分的基础知识,先介绍了IPv4与IPv6的的基础知识与区别,然后结束了子网划分的一些概念,并通过一些实际的例子进行讲解分析。
