一、IP寻址和子网划分

IP地址的主机部分可被分为三种地址:网络地址、主机地址和定向广播地址。

网络地址是网络号中的第一个地址。它用来将网络内的其他所有网段唯一标识为一个网段或广播域。定向广播地址是网络号中的最后一个地址,用来表示此网段上的所有主机。定向广播地址和本地广播地址的主要区别,在于本地广播地址不能通过路由器进行传播,只能在本网段内传播,而定向广播地址则可以跨越路由器进行传播。网络地址和定向广播地址之间的所有地址都称为网段的主机地址,主机地址可以分给网段上的设备使用,比如PC、路由器、服务器和智能终端设备等。

1.B类网络地址举例

例如,一个B类的IP地址为172.16.0.0,其网络部分为前两个字节,即为172.16,后两个字节为其主机部分,当后两个字节都为0时,即172.16.0.0,表示网段172.16.0.0的第一个地址,该地址称为网络地址;当后两个字节都为1时,即172.16.255.255,则表示172.16.0.0的最后一个地址,该地址称为网络的定向广播地址;在网络地址172.16.0.0和定向广播地址172.16.255.255之间的所有地址就是网络的主机地址。如表3-1所示。

表3-1 B类网络的地址范围

网络号 主机地址 定向广播地址
172.16.0.0 172.16.0.1~172.16.255.254 172.16.255.255

从表3-1中可以看出,在同一网络号内,主机地址是网络号加1到定向广播地址减1的地址空间。对于任意给定的网络号,其中的两个地址是不能分配给网络设备使用的,一个是网络中的第一地址,另一个地址是网络的定向广播地址。假如已经知道了主机号的比特位数H,那么可以用公式2H-2计算出可用的主机地址。

2.A类网络地址举例

例如,一个A类网络的IP地址,网络号为前8bit,主机号为后24bit,采用公式2H-2,可得224-2=16777216-2=16777214个主机地址。对于一个B类网络的IP地址来说,若其主机地址的数量是65534,则由公式可得出:2H-2=216-2=65536-2=65534,而对于一个C类网络的IP地址来说,主机地址的数量是254,则由公式可得出: 2H -2=28 -2=256-2=254。

为了方便IP地址的寻址,每类IP地址都属于一个单独网段,如甲公司规模较小,其公司拥有200台计算机,申请了一个B类公网地址190.18.0.0,此网段的所有主机地址只能供本公司使用。乙公司是一家跨国公司,公司的所有网络设备达到上万台,申请了一个C类公网地址200.10.10.0,此网段的所有主机地址只能被乙公司使用,IP地址200.10.10.0可以分配的主机地址为254个,这个数量显然无法满足该公司的需求。而甲公司申请的IP地址190.18.0.0拥有216-2=65534个主机地址,造成65534-200=65334个主机地址的浪费。

3.子网掩码

在处理IP地址时,为了区分网络地址、主机地址和定向广播地址,引入了子网掩码。

因此,每个地址实际上由三部分组成:网络号、子网号和主机号。

子网划分是指允许在一个IP地址中,利用主机号的高位比特来创建更多的子网。在创建更多子网的过程中,每个子网中难免会有两个地址被浪费,但子网划分的优点之一是提供了更有效利用IP地址的方案。

与IP地址相对应,子网掩码的长度为32 bit,在二进制中,子网掩码中连续的比特1表示网络号,连续的比特0表示主机号。在子网掩码的0和1排序中有个规则,所有的比特1是必须连续的,所有的比特0也必须是连续的。这个规则不但在8位位组内适用,而且适用于所有4个8位位组内的所有比特。比如,虽然子网掩码11000000.11110000.11111111.11111111(192.240.255.255)是无效的,因为所有的比特1并不是连续的,但是子网掩码11111111.11110000.00000000.00000000(192.240.0.0)是有效的。

对于A类网络,默认的子网掩码是255.0.0.0,说明IP地址的第一个字节是网络号,后3个字节是主机号;同理,对于B类网络,默认的子网掩码是255.255.0.0,可以得到IP地址的前两个字节是网络号,后两个字节是主机号;对于C类网络,默认的子网掩码是255.255.255.0,IP地址的前三个字节是网络号,最后一个字节是主机号。

子网掩码应与IP地址配合使用,子网掩码本身没有任何意义。

二、IP地址应用实例

假设某IT公司拥有一个C类网络的IP地址192.168.1.0,该公司设有产品部、研发部、销售部、采购部、财务部和人力资源部6个部门。其研发部拥有26台网络设备,其他部门的网络设备数量均少于研发部。

具体的解决方法包括如下几个部分:

1.确定网络数和主机数

首先根据公司的需求,确定网络中最大网段上的网络设备数量,以及网络中能拥有最多的网段数。在确定网络设备数量时,需要考虑所有的网络设备,如路由器、服务器和交换机等IP地址的分配。同时,为了保证网络的可扩展性,应预留一些IP地址不进行分配。

该步骤主要使用如下3个公式:

公式1:2S≥所需的网络数量,S表示子网比特位数。

公式2:2H-2≥最大网段的主机数量,H代表主机比特位数。

公式3:S+H≤某一类别的地址拥有的主机比特总数。

该公司有6个部门,需要为每个部门分别划分一个子网。该公司拥有的C类网络地址的后8位为主机号,依据公式1,由2S=23=8≥6,可得需要占用主机号部分高3位来划分子网,其中S=3。其研发部拥有26台网络设备,依据公式2,由25-2=32-2=30≥26,其中H=5,这里需要考虑除去网络地址和定向广播地址。由于C类网络的主机号为8位,则子网划分的位数和主机的位数总和不能超过8位,依据公式3,S+H =3+5≤8,满足要求。

2.确定子网掩码

子网掩码包括网络号和子网号,而标准的A类、B类和C类地址的子网掩码的网络号部分分别为8位、16位和24位。依据该公司的部门数为6,子网掩码的网络号部分需要在标准子网掩码24位的基础上,增加占用的主机号高3位构成实际子网掩码。因此,该公司的子网掩码网络部分位数为24+3=27,由此可得实际子网掩码为:255.255.225.224。

3.确定网络地址

在二进制的网络地址中,前24位不变,为11000000.10101000.00000001,最后8位的高3位则依次增加。如表3-5所示。

4.确定网络的主机地址

主机地址位于网络地址和定向广播地址之间,该公司的地址规划如表3-6所示,其中网段192.1681.192和192.168.1.224未被分配,以备公司扩建或网络改造时使用。

表3-5网络地址的二进制和十进制表示

二进制网络地址 十进制网络地址
11000000.10101000.00000001.00000000 192.168.1.0
11000000.10101000.00000001.00100000 192.168.1.32
11000000.10101000.00000001.01000000 192.168.1.64
11000000.10101000.00000001.01100000 192.168.1.96
11000000.10101000.00000001.10000000 192.168.1.128
11000000.10101000.00000001.10100000 192.168.1.160
11000000.10101000.00000001.11000000 192.168.1.192
11000000.10101000.00000001.11100000 192.168.1.224

表3-6公司部门地址规划表

公司部门 网络号 主机地址 定向广播地址
研发部 192.168.1.0 192.168.1.1~192.168.1.30 192.168.1.31
产品部 192.168.1.32 192.168.1.33~192.168.1.62 192.168.1.63
销售部 192.168.1.64 192.168.1.65~192.168.1.94 192.168.1.95
采购部 192.168.1.96 192.168.1.97~192.168.1.126 192.168.1.127
财务部 192.168.1.128 192.168.1.129~192.168.1.158 192.168.1.159
人力资源部 192.168.1.160 192.168.1.161~192.168.1.190 192.168.1.191
预留 192.168.1.192 192.168.1.193~192.168.1.222 192.168.1.223
预留 192.168.1.224 192.168.1.225~192.168.1.254 192.168.1.255

三、可变长子网掩码

可变长度子网掩码(VLSM,Variable Length Subnetwork Mask)允许对A类、B类或C类IP地址使用不同的子网掩码,具有可以高效寻址和执行路由聚合,减少路由表大小两个优点。

VLSM可以提高IP地址的利用率。具体过程如下:

1.确定网络地址空间中最大的网段,即连接设备最多的网段。

2.得出适合最大网段的子网掩码。

3.记录该子网掩码对应的子网数量。

4.对于较小的网段,采用新子网掩码划分更小的子网。

5.记录步骤4.所划分的新子网。

6.对于更小的网段,回到步骤4.继续执行。

如图3-8所示,某公司设有3个子公司,每个子公司约有50台网络设备,总公司的路由器Router 0通过WAN链路与3个子公司的路由器Router1、Router2和Router3连接。整个网络拓扑中共有6 个不同的网段,路由器之间的连接占用3个网段,其余3个网段均分属于三个子公司。若IP地址为192.168.1.0,同时采用子网掩码255.255.255.192,虽满足了子公司的主机地址个数需求,但其仅可划分为4个子网,不能满足整个网络6个网段的划分需求。

如图3-9所示,运用VLSM技术,子公司的子网掩码为255.255.255.192,路由器间的链路采用新的子网掩码255.255.255.252,此时,整个公司的网络规划仅需一个C类IP地址。

图3-8分公司的IP地址分配

图3-9采用VLSM技术分配IP地址

四、路由聚合

路由聚合指将路由表中某些连续的路由,作为单个聚合路由进行通告的一种能力。

无分类域间路由选择(CIDR,Classless Inter Domian Routing)是可变长度子网掩码和路由聚合技术的扩展。CIDR的聚合力度更大,可将连续的A类、B类和C类网络进一步汇聚,通常称之为超网。

如图3-10所示,路由表中存在172.16.0.0/18、172.16.64.0/18、172.16.128.0/18和172.16.192.0/18共4条路由,通过路由聚合可将这些子网聚合为一个子网172.16.0.0/16,并向其他路由器通告。

4条路由聚合为1条路由,不仅可以减少通告更新所需的带宽,减小路由器处理更新所需的内存,而且提高了网络的稳定性。若不进行聚合,网段172.16.64.0反复地断开和连接,会使得整个网络中的所有路由器不断地更新路由信息,造成带宽的浪费。经过聚合后,聚合路由172.16.0.0不受影响,整个网络能够较为稳定地进行路由更新和数据传送。

图3-10 路由聚合

路由聚合有时也会存在对网络的表达精确度的问题,如果这里172.16. 128.0/18网络突然断掉,则聚合路由172.16.0.0/16不受影响,依然向外部通知原来的聚合路由。若某发送数据报的目的地址为172.16.128.0/18,其余路由器则认为目的地址均可达,直至传输到路由器时,才发现目的地址不可达,导致数据报的丢弃。

五、IPv6

1.IPv6的特点

IPv6是Internet Protocol Version 6的缩写,IPv6采用128位地址空间,并因其可提供超大的地址空间,较好地解决了地址短缺问题。

IPv6具有如下特点:

1)提供超大的地址空间。

2)报头简单和易封装。

3)使用更小的路由表。

4)提供更好的QoS保证。

5)自动地址配置。

6)具有更高的安全性。

7)与IPv4互相兼容。采用了两种技术,隧道技术和双协议栈技术。

2.IPv6的报文格式

IPv6报文首部的固定长度包含如图3-11所示的8个字段,具体如下。

图3-11 IPv6的报文首部格式

1)版本:4位,值为0110,表示IPv6报文。

2)通信类别:8位,表示IPv6数据流通信的类别或者优先级。

3)流标签:20位,IPv6中的新增功能。

4)载荷长度:16位,以字节为单位的IPv6载荷长度,也就是IPv6报文所有扩展首部和数据部分最多可以表示65535字节的负载长度。如果字节数超过负载,字段值将设置为0。

5)下一首部:8位,用来标识当前首部后下一个首部的类型,如扩展首部或传输层协议的首部。

6)跳数限制:8位,同IPv4中的TTL字段类似,定义IP数据报所能经过的最大跳数,每跳一次将此值减1,如果减到0,则将该报文丢弃。

7)源地址:128位,IP报文的发送方地址。

8)目的地址:128位,IP报文的接收方主机的地址。通常情况下,无论是单播地址、多播地址或者是任播地址,该地址都是最终地址,但当包含路由扩展首部时,某一个中间节点的地址可以作为目的地址。

大多数情况下,IPv6不包含扩展首部。但在传输过程中,发送方会根据路由器或者目的主机是否需要做某些特殊处理,添加一个或多个首部。同IPv4相比,IPv6具有良好的扩展性,不受固定字节的限制。在处理扩展首部和传输协议时,为了提高处理性能,IPv6的扩展首部是8字节长度的整数倍。

3.IPv6的地址

1)冒号十六进制表示

为了便于记忆,IPv6的地址格式规定每4个十六进制为一组,组与组之间用冒号(:)隔开。IPv6地址格式为XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX,X表示一个十六进制值。采用冒号十六进制表示法,其二进制地址空间为2128,可采用32个十六进制数进行表示。

2)零压缩

IPv6地址最前面的一串零可以省略,例如,0000:123A:BC00:0000:0000:1111:2222:0000可以简写为123A:BC00:0000:0000:1111:2222:0000。此外,为了进一步简化十六进制的书写,IPv6地址中的一段或连续多段0可以用双冒号(::)代替。

例如,IPv6地址可更加简化为123A:BC00::1111:2222:0,但不能表示为123A:BC00::1111:2222::,因为双冒号(::)只能在IPv6地址中出现一次。

3)前缀表示

IPv6地址的前缀表示类似于采用CIDR技术的IPv4地址表示,表示形式为:

IPv6地址/前缀长度

其中,前缀长度为十进制数。因为所有子网都有相应的64位前缀,所以64位前缀用来表示节点所在的单个子网。任何少于64位的前缀,可能是路由前缀,也可能是包含了部分IPv6地址空间的一个地址范围。例如:21DA:D3:0:2F3B::/64是一个子网前缀,其中21DA:0:D3::/48就是一个路由前缀。

4)前缀表示

IPv6地址的前缀表示类似于采用CIDR技术的IPv4地址表示,表示形式为:

IPv6地址/前缀长度

其中,前缀长度为十进制数。因为所有子网都有相应的64位前缀,所以64位前缀用来表示节点所在的单个子网。任何少于64位的前缀,可能是路由前缀,也可能是包含了部分IPv6地址空间的一个地址范围。例如:21DA:D3:0:2F3B::/64是一个子网前缀,其中21DA:0:D3::/48就是一个路由前缀。

IP寻址与规划的更多相关文章

  1. APIPA(Automatic Private IP Addressing,自动专用IP寻址)

    APIPA APIPA(Automatic Private IP Addressing,自动专用IP寻址),是一个DHCP故障转移机制.当DHCP服务器出故障时, APIPA在169.254.0.1到 ...

  2. TCP/IP 寻址

    原文:TCP/IP 寻址 第一节:TCP/IP 简介 第二节:TCP/IP 寻址 第三节:TCP/IP 协议 第四节:TCP/IP 邮件 TCP/IP 使用 32 个比特(bit)或者 4 个 0 到 ...

  3. IP地址的规划和设计方法(三)

    九,内部网络专用IP地址规划与网络地址转换NAT方法 (1)内部网络的专用IP地址选择的根据 RFC1918在讨论内部网络的专用IP地址规划方法时任务.使用专用地址规划一个内部网络地址系统时.首选的方 ...

  4. IP地址的规划和设计方法(二)

    五,IP地址规划方法           (1)IP地址规划的基本步骤           网络地址规划须要按下面6步进行:           a)推断用户对网络与主机数的需求:           ...

  5. 一篇故事讲述了计算机网络里的基本概念:网关,DHCP,IP寻址,ARP欺骗,路由,DDOS等...

    计算机主机网关的作用是什么? 假设你的名字叫小不点,你住在一个大院子里,你的邻居有很多小伙伴,在门口传达室还有个看大门的李大爷,李大爷就是你的网关.当你想跟院子里的某个小伙伴玩,只要你在院子里大喊一声 ...

  6. IP地址网段规划

  7. 无法启用internet连接共享,为LAN连接配置的IP地址需要使用自动IP寻址

    热点不能用了,一直都不知道为什么,今天查了一些资料,终于知道了原因,是因为我安装了VMware Workstation Pro ,它生成了VMnet1和VMnet8所在的两个网段,这个网段就和热点共享 ...

  8. IP地址规划和设计方法

    IP地址规划和设计方法 无类域间路由技术需要在提高 IP 地址利用率和减少主干路由器负荷两个方面取得平衡 网络地址转换 NAT 最主要的应用是专用网,虚拟专用网,以及 ISP 为拨号用户 提供的服务 ...

  9. TCP/IP协议之ARP寻址

    ARP协议: 前面讲了网络层的寻址是通过IP地址来做的.其实一个数据包寻址包含两个部分:1 IP寻址.2 ARP寻址. ARP寻址是用在数据链路层上的.我们上网的电脑都有网卡.那么在数据链路层的进行传 ...

随机推荐

  1. Vue快速入门(一)

    目录 Vue快速入门(一) 介绍 Vue.js 是什么 M-V-VM思想 安装 CDN引入 下载到本地 快速使用 双向数据绑定测试 模板语法 插值语法 指令 文本指令 v-html:让HTML渲染成页 ...

  2. Java 图像处理(一)

    曾几何时,Java图像处理已经被认为是太过鸡肋,就连Java的创始公司,在java图像处理方面也是浅尝辄止,可能相比较C++,Java在这方面的处理,确实差强人意. 不过Java类库中有一个叫JAI的 ...

  3. CentOS 下 MySQL 服务搭建

    1. 卸载旧 MySQL 查看 rpm 包 rpm-qa | grep mysql 如果存在,使用如下命令卸载 rpm -e 查找是否存在mysql 相关目录 find / -name mysql 卸 ...

  4. Ubuntu 百度飞桨和 CUDA 的安装

    Ubuntu 百度飞桨 和 CUDA 的安装 1.简介 本文主要是 Ubuntu 百度飞桨 和 CUDA 的安装 系统:Ubuntu 20.04 百度飞桨:2.2 为例 2.百度飞桨安装 访问百度飞桨 ...

  5. spring boot的配置文件

    1.SpringBootApplication是标志启动类,启动后可以把这个类所在的包资源发布到服务器,不用再启动tomcat 2.利用spring boot工程可以和以前一样直接在Controlll ...

  6. 离谱的 CSS!从表盘刻度到艺术剪纸

    某日,群里有这样一个问题,如何实现这样的表盘刻度: 这其实是个挺有意思的问题,方法也有很多. 单标签,使用 conic-gradient 实现表盘刻度 最简单便捷的方式,就是利用角向渐变的方式 con ...

  7. 【爬虫+情感判定+Top10高频词+词云图】“谷爱凌”热门弹幕python舆情分析

    一.背景介绍 最近几天,谷爱凌在冬奥会赛场上夺得一枚宝贵的金牌,为中国队贡献了自己的荣誉! 针对此热门事件,我用Python的爬虫和情感分析技术,针对小破站的弹幕数据,分析了众网友弹幕的舆论导向,下面 ...

  8. 吊炸天,Spring Security还有这种用法!

    在用Spring Security项目开发中,有时候需要放通某一个接口时,我们需要在配置中把接口地址配置上,这样做有时候显得麻烦,而且不够优雅.我们能不能通过一个注解的方式,在需要放通的接口上加上该注 ...

  9. Linux篇-The slave I/O thread stops because master and slave have equal...

    1)操作系统 cat /etc/issue CentOS release 6.6 (Final) Kernel \r on an \m cat /proc/version Linux version ...

  10. 148_赠送300家门店260亿销售额的零售企业Power BI实战示例数据

    焦棚子的文章目录 一背景 2022年即将到来之际,笔者准备在Power BI中做一个实战专题,作为实战专题最基础的就是demo数据,于是我们赠送大家一个300家门店,260亿+销售额,360万行+的零 ...