计算机网络原理-IPV4

IPV4

  • IPv4网络地址
    • 数制转换
      • 把一个十进制的数转换成二进制的数
    • IPv4地址剖析
    • IPv4地址主机号与网络号
    • IPv4地址子网掩码
    • ipconfig
  • IPv4地址分类
    • 传统IPv4地址类别
    • 特殊的IPv4地址
  • IPv4地址用途
    • IPv4通信地址类型
    • 公用地址与专用地址
  • 网络地址规划
  • 设备地址选择
    • 静态地址分配
    • 动态地址分配
  • 子网划分
    • 三级IP地址
    • 子网划分与子网掩码
    • 子网的规划设计
    • 网络前缀
  • 超网(Supernetting)
  • VLSM与CIDR
    • 变长子网掩码VLSM
    • 无类别域间路由(CIDR)

IPv4网络地址

我们把整个因特网看成一个抽象的网络,IP地址就是给因特网上的每个主机的接口分配的一个在全世界范围内唯一的32 bit的标示符。

要了解网络中设备的运作方式,就必须知道设备处理地址和数据方式:二进制方式。

二进制表示仅用数字“0”和“1”表示信息。

任何信息与文件在计算机内存储的方式就是二进制。例如,在键盘上输入任何汉字或者字母,在计算机内部以二进制形式存储,只是表示在屏幕上的时候,由OSI参考模型的表示层把内部的信息表示成人们可以读懂看懂的信息。计算机中的每一个字母都采用二进制表示方式,计算机使用美国信息交换码(ASCII)。

网络中的设备是以二进制的方式存储信息,但在以人为本的网络中,人们却很难读懂一连串的二进制信息,所以机器会把二进制的信息变成人们熟知的十进制数值。

数制转换

要掌握二进制与十进制之间的转换方法,首先必须了解数制的概念,下表显示了各种常用的进位制及表示。

进位计数制 基数 数码 权重 符号
二进制数 2 0、1 2^i B
八进制数 8 0、1、2、3、4、5、6、7 8^i O
十进制数 10 0、1、2、3、4、5、6、7、8、9 10^i D
十六进制数 16 0、1、2、3、4、5、6、7、8、9 、A、B、C、D、E、F 16^i H

把一个十进制的数转换成二进制的数

  • 整数部分——除以基数取余数,直到商为0,余数从右到左排列;
  • 小数部分——乘以基数取整数,整数从左到右排列。
    例如,将一个十进制整数108.375转换为二进制整数,如图所示。
    108.375=1101100.011(B)
    计算机网络原理-IPV4_第1张图片

IPv4地址剖析

在IPv4地址中,地址为32 bit(4字节),然而为了方便使用,IPv4地址使用十进制数表示,中间用“.”分开,记作点分十进制,表示为“X.X.X.X”。这种表示方式首先使用句点将32位二进制模式按字节(8 bit)分开。

机器中存放的IP地址是32 bit的二进制代码10101100000100000111101011001100,我们把它每隔8 bit插入一个空格提高可读性,
10101100 00010000 01111010 11001100,然后将每8 bit的二进制数转换成十进制数得到172 16 122 204,采用点分十进制计法进一步提高可读性为:172.16.122.204。
计算机网络原理-IPV4_第2张图片

IPv4地址主机号与网络号

IPv4地址是一种分层的地址结构,由网络号与主机号两部分组成,叫作两级IP地址,如图所示。
在这里插入图片描述
在IP地址两级结构中,要确定网络部分和主机部分,必须看bit位的二进制代码,而不是十进制数值。在32 bit中,部分bit组成网络号,部分bit组成主机号。
对于同一个网络中的设备,其网络号必须相同,而主机号则是唯一的。如果有两台设备的IP地址中网络部分相同,则可以判定这两台设备处于同一个网络。

IPv4地址子网掩码

对于两级IPv4地址而言,如何判断32 bit的二进制位中哪部分是网络号,哪部分是主机号呢?这项工作是由子网掩码负责的。

在配置主机时,必须通知配置一个子网掩码。与IP地址一样,子网掩码也是32 bit,子网掩码的表示方式一般情况是左边部分是1,右边部分是0,总共32 bit。
将子网掩码与IP地址从左至右逐位进行比较,子网掩码中的1代表网络号,子网掩码中的0代表主机号,如图所示。
计算机网络原理-IPV4_第3张图片

和IPv4地址类似,子网掩码也使用点分十进制表示。子网掩码与IPv4地址一起标识了主机所属的网络。下表显示了子网掩码中每个字节的可能的取值及其指定网络的网络号和主机号的位数。

ipconfig

  • ipconfig/all:当使用all的选项时,能够查看dns和wins服务器等详细配置信息;
  • ipconfig/release:DHCP客户端手工释放IP地址;
  • ipconfig/renew:本地计算机向DHCP服务器动态申请地址。

IPv4地址分类

传统IPv4地址类别

最初,IPv4地址是按类编址的,这种编址体系结构叫作分类编址。

在IPv4地址空间中,总共分成A类、B类、C类、D类、E类五类。每一类地址都有两个固定长度的字段(网络号和主机号),各类IP地址的网络号和主机号字段如图所示。
计算机网络原理-IPV4_第4张图片

  • A类地址
    • 第一字节的十进制数值大小范围是1~126
    • 其网络号占1字节
    • 主机号占3字节;
  • B类地址
    • 第一字节的十进制数值大小范围是128~191
    • 其网络号占2字节
    • 主机号占2字节;
  • C类地址
    • 第一字节的十进制数值大小范围是192~223
    • 其网络号占3字节
    • 主机号占1字节
  • D类地址
    • 前4比特是1110
    • 用于多播(又叫组播)
    • 一般是各种路由与交换协议工作时使用的地址;
  • E类地址
    • 前5比特是11110
    • 科学研究用,目前没有其他用途。

常用的三类IP地址A、B、C,一般给用户使用,默认情况下的子网掩码如下表所示。

网络号(字节) 主机号(字节) 子网掩码(默认)
A类 1 3 255.0.0.0
B类 2 2 255.255.0.0
C类 3 1 255.255.255.0
  • 在A类地址中
    • 共有网络数是2^7-2个(网络号是0的IP地址是保留地址,网络号为127开头的地址是回环测试地址,用来测试本主机内部进程之间的通信,一般情况下这两个地址是不给主机分配的),所以A类地址总共由126个。
    • 由于A类地址中主机号占24 bit,所以A类地址理论上可以支持224-2台主机(主机号0与主机号为全1的地址不可用)。
  • 在B类地址中
    • 共有网络数是2^14个,第一字节十进制数从128开头到191结束的都可用,所以B类最小的网络地址是128.0.0.0,最大的网络地址是191.255.0.0,
    • 每个网络理论上可以支持主机216-2台。
  • 在C类地址中
    • 共有网络数是2^21个,C类中最小的网络地址是192.0.0.0,最大的网络地址是223.255.255.0
    • 每个网络理论上可以支持28-2台主机,即254台。

IP地址的可用范围如下表所示

网络类别 最大网络数 第一个可用网络号 最后一个可用网络号 网络中的主机数
A 126 1 126 16 777 214
B 16384(2^14) 128 192.255 65534
C 2 097 152(2^21) 192.0.0 223.255.255 254

特殊的IPv4地址

在IPv4地址空间中,有一些特殊的IP地址是不能分配给某一台主机的,具体格式如下表所示。
计算机网络原理-IPV4_第5张图片

  1. 网络地址
    网络地址是表示网络的一种形式。在IPv4地址中,第一个地址留作网络地址,其格式是主机号,是0,即子网掩码中所有0 bit的对应位都是0。该网络中所有的主机共用一个网络地址,网络地址用于表示网络,不能用于主机通信。

  2. 广播地址
    IPv4中的广播地址是特殊的IP地址,其格式是主机号为全1(二进制比特位为全1,非十进制数值),用于网络中的所有主机通信。如果IPv4数据报中的目的地IP地址是一个广播地址,则数据会发送给全网上所有的主机。
    为了验证广播过程,在Packet Tracer中搭建如图所示拓扑,并将模拟器切换到Simulation模式,创建复杂PDU,如图所示,其目的地地址设置为192.168.1.255(广播地址)。单击Capture Forward观察结果,发现主机A发出的广播数据包,主机B、C、D、E都能收到。
    计算机网络原理-IPV4_第6张图片

  3. 回送地址
    127开头的IP地址用于网络软件测试。例如127.0.0.1,一旦使用该地址发送数据,则立即返回给本主机。
    如图所示,在主机命令行中输入命令ping 127.0.0.1,则立刻收到了自己的回复。
    计算机网络原理-IPV4_第7张图片
    计算机网络原理-IPV4_第8张图片

  4. 主机地址
    每一个终端设备工作时都必须要分配一个IP地址才能通信。
    在IPv4地址中,特殊的IP地址一般情况是不能分配给终端的,其他所有的地址都是可以给分配终端的(网络地址与广播地址之间的值)。
    在一个主机地址中,主机号可以是任何0与1的组合,但不能是全0(网络地址)或者全1(广播地址)。

IPv4地址用途

IPv4通信地址类型

在IPv4网络中,主机可以用三种方式来通信:单播、组播、广播。

  • 单播:从一台主机发送数据到另一台主机的过程;
  • 组播:从一台主机发送数据到一组选定主机的过程;
  • 广播:从一台主机发送数据到所有主机的过程。
  1. 单播通信
    大多数网络都是单播通信,在客户端/服务器和点对点网络中,主机与主机之间的常规通信都使用单播形式。在单播通信中,IP数据包中的源目IP地址都是正常的主机地址,如图所示,主机A与PDA之间的通信就是属于单播通信。
    计算机网络原理-IPV4_第9张图片
  2. 组播通信
    组播传输可以很大程度上节省网络带宽,如电视传播就是组播的应用之一,它允许主机发送单个数据包到一组指定的主机,从而节省流量。组播在路由协议、交换协议、视频音频等范畴内应用较广,如图所示,给出了动态路由协议OSPF中组播的应用。
    计算机网络原理-IPV4_第10张图片
    在上图中,路由器1~4运行了路由协议OSPF,当路由器1发送路由信息时,只有在运行路由协议的路由器2、3、4能够收到组播的路由信息,主机A不会收到信息。
  3. 广播通信
    广播是当网络中的主机发送数据包时,其他所有的主机都能收到的一种通信方式。发送广播时,IP数据包中的目的地址是一个广播地址,即主机号为全1。很多应用都使用了广播的方式进行通信,如ARP解析,DHCP协议动态获得IP地址等。

公用地址与专用地址

  1. 公用地址
    IPv4地址中大多数都是公有地址,用于访问Internet的网络,只有使用公用IP地址的数据包才能被Internet的路由器转发。
    公有地址一般情况由运营商等机构向Internet NIC(Internet Network Information Center,因特网信息中心)申请,用户再向运营商租用。

  2. 私有地址
    私有地址又称为专用地址,专门保留给私有网络使用,这些地址只能用于一个机构的内部通信,而不能用于和Internet上的主机通信,专用地址只能用作本地地址而不能用作全球地址。Internet中的所有路由器对目的地址是专用地址的数据报一律不进行转发,私有地址的地址空间如表所示。
    计算机网络原理-IPV4_第11张图片
    RFC1918定义了私有地址,这些地址也称作RFC1918地址。位于不同网络中的主机可以使用相同的私有地址空间。当使用此类地址作为IP数据包中地址时是不能在Internet上传输的。
    由于私有地址的数据包不能在Internet上传输,所以私有地址要上网时必须进行网络地址转换(Network Address Translation,NAT)。下显示了私有地址转换的示意图,一般地址转换工作由网络边缘的设备完成,如路由器、防火墙等,目的是将IP数据包首部中的私有地址转换成公有地址。
    计算机网络原理-IPV4_第12张图片
    通过网络地址转换,私有网络可以与外部的网络进行通信。尽管NAT能够解决IP地址一些局限性的问题,但NAT最终还是没有办法解决IP地址不足的根本性问题。

网络地址规划

任何企业或者高校的网络运作,都需要IP地址的支持。在企业或者高校中如何合理的分配IP地址是一个非常重要的工作,需要合理设计。网络管理人员不能随意的分配IP地址,也不能随机分配。
给一个企业规划IP地址必须考虑的几个问题是:

  • 防止IP地址的重复使用从而导致冲突;
  • 网络的可维护性与可扩展性;
  • 基于IP地址的安全性能;
  • 支持网络服务质量(QoS)。

为一个企业规划网络时需要考虑很多方面,也有很多方法可以分配地址。

例如,可以按照地理位置信息来分配地址,或者按照用户的类型来分配地址,再或者按照业务类型来分配,但分配的原则都是一致的。

  1. 防止IP地址的重复使用从而导致冲突
    在一个企业中,任何网络地址是不能重复使用的(网络地址相当于地图上的道路名称,试想如果有两条道路的名字相同,那么行人就没办法做出判断);而在同一个网络中,在任何主机的IP地址中,网络号相同,而主机号是不能相同的,否则就会产生冲突,其中一台主机就无法通信。
  2. 网络的可维护性与可扩展性
    在规划一个网络时必须要考虑的问题是网络今后是不是容易管理,一个新的网络管理员是否能够立刻了解网络的架构。如果IP地址分配杂乱无章,会给网络管理员的工作带来巨大的麻烦。
    作为一个企业,在经营范围与规模方面肯定避免不了扩展,那么如果初期的网络规划合理,网络就很容易扩展,否则就会给企业的发展带来巨大的影响。
  3. 基于IP地址的安全性能
    一般企业都会在网络的边缘放置安全设备,如防火墙、出口网关、网页防火墙等。需要监控整个网络中的异常情况,如果有异常情况,安全设备就会根据数据报中的IP地址进行判断。如果IP地址分配杂乱,则无法根据IP地址来快速定位问题的所在。
    对于一个企业中的服务器资源,需要提供给内部与外部用户访问。那么设置访问的权限就可以根据网络层IP数据报中的源目IP地址来设置。如果网络规划时给服务器的地址分配的不合理,或者说是随机分配的,就很难防止外来用户或者不合法用户对服务器的访问,客户也无法定位并从该服务器获取相关资源。
  4. 支持QoS
    网络服务质量(QoS)是大型企业网络中需要考虑的重要问题。如何保证企业中的关键业务取得优先权限,例如,需要保证企业中语音数据的优先发送,这就是QoS。而QoS的部署一般情况都是基于IP地址设置的,如果IP地址分配不合理,就没有办法根据IP地址来部署,就会严重影响企业网络的性能。

设备地址选择

在一个企业的网络内,在分配IP地址时会考虑到多种情况,比如网络中的地址可以动态分配给用户,也可以静态设定,可以按照IP地址的类别分配给不同的用户,可以根据设备的不同特点与作用分配给用户等。

静态地址分配

当采用静态分配IP地址时,网络管理员必须给设备设置以下几个参数:IP地址、子网掩码、默认网关,DNS服务器地址等。各个参数都是手工输入的。

在设备静态地址时,网络管理员必须知道网络中的各种参数,比如网关的地址、DNS服务器的地址等。静态地址一般会分配给一些固定的服务器使用,比如域名服务器、Web服务器、打印机等设备,如果服务器的地址经常改变,就会导致一些功能不能正常使用。

与动态地址相比,静态地址有其自身的优点。但对于大规模的局域网来说,要静态分配IP地址会是一件非常耗时的事情,而且分配用户的数量越多,越容易出错(如重复使用,输入错误等),所以在分配静态地址时一般都需要做好文档记录,列出分配清单。

动态地址分配

由于静态管理IP地址工作量繁重,而且容易出错,在大型网络中,通常使用动态主机配置协议(Dynamic Host Configuration Protocol,DHCP)为终端设备分配地址。

DHCP协议可以给用户自动分配IP地址、子网掩码、默认网关和DNS等信息。在大型网络中DHCP协议是给用户分配IP地址的首选方法,而且网络管理员可以结合DHCP协议做各种安全策略,比如ARP攻击检测,IP合法性检测等。

子网划分

在ARPANET的早期,IP地址的设计确实不够合理,比如A类的IP地址,默认情况子网掩码是255.0.0.0,主机位占3字节,那么一个网络总共可以容纳16 777 214(224-2)台主机;B类的IP地址默认情况可以支持65 534(216-2)台主机,试问有哪个网络能有这么多台主机?IP地址设计的不合理之处主要体现在以下几个方面:

  • IP 地址空间的利用率有时很低;
  • 给每一个物理网络分配一个网络号会使路由表变得太大,因而使网络性能变坏;
  • 两级的IP地址不够灵活。

三级IP地址

从1985年起在IP地址中又增加了一个“子网号字段”,使两级的IP地址变成为三级的IP地址,如图所示。
计算机网络原理-IPV4_第13张图片
值得说明的是:三级IP地址中的子网号字段并不是新增的,而是从主机域中借用若干比特作为子网号Subnet-id,而主机号 Host-id 也就相应减少了若干比特。
三级IP地址中借用的子网部分有以下几个特点:

  • 子网位从主机域的最左边开始连续借用;
  • 子网号在网外是不可见的,仅在子网内使用;
  • 子网号的位数是可变的,为了反映有多少位用于表示子网号,采用子网掩码(Subnet Mask)。

子网划分与子网掩码

前面我们已经介绍了常用的A、B、C三类IP地址的默认子网掩码,三级IP地址中的子网掩码同样也是32比特,在32位子网掩码中,网络地址、子网地址部分为“1”,对应主机部分为“0”,如图7-4所示。
计算机网络原理-IPV4_第14张图片
三级IP地址中的网络地址 = 子网掩码与IP地址做逻辑“与”运算。

  1. 逻辑与(AND)
    逻辑与(AND)运算是数学运算中的逻辑运算,另外两种分别是逻辑或(OR)和逻辑非(NOT)。而三级IP地址中的网络号就是通过逻辑与运算得到的。逻辑运算AND是计算两个二进制位的运算,结果如下:
    计算机网络原理-IPV4_第15张图片
  2. 与运算过程
    IP地址172.16.1.1和子网掩码255.255.255.0做逻辑与运算的过程如图所示。前24比特,子网掩码为1,这些位与IP地址做AND运算后,得到了网络地址。
    172.16.1.1是一个B类地址,默认情况下网络号为172.16,主机号为1.1,网络地址为172.16.0.0。采用三级IP地址结构后,根据子网掩码计算,网络号变成了172.16.1,主机号为1,网络地址为172.16.1.0。
    计算机网络原理-IPV4_第16张图片

子网的规划设计

在设计选择子网划分方案时,必须考虑以下5个问题:

  1. 该网络内将划分几个子网?
  2. 在该子网划分中,子网掩码是多少位?
  3. 每个子网有多少台有效主机?
  4. 每个有效的子网地址是什么?
  5. 每个子网的广播地址是什么?
  1. 子网数目计算
    子网数用公式N=2X来计算。X是被占用的表示子网比特的数目,或者说1的个数。例如,一个C类的IP地址192.168.1.1,它对应的子网掩码是255.255.255.192,那么对于这个IP地址而言,本来主机号占8比特,而根据新的子网掩码,有2比特被占用成了子网号,如图所示。
    计算机网络原理-IPV4_第17张图片
    在二进制数中,2比特共有4种组合方式:00、01、10、11,所以用2比特表示子网,就划分了4个子网。同样道理,如果用3比特表示子网,那么共有组合方式式为000、001、010、011、100、101、110、111,即23=8,这是数学中排列组合的计算方法。

  2. 子网掩码
    一般情况下,子网掩码的分配是根据子网的数目来确定的,规则是对应的网络部分、子网部分部分为“1”,对应主机部分为“0”。如子网掩码部分为1100000,则十进制数值为128+64=192,子网掩码的点分十进制数值为255.255.255.192。

  3. 主机数目计算
    每个子网的主机数目用公式M=2Y-2来计算。Y是未被占用的比特数目,或者说0的个数。如图所示,最后一字节中有2比特被占用作为了子网号,剩下6比特为主机号。6比特的主机号可以表示26种组合,但是主机号是不能为全0或者全1的(全0:000000,表示网络地址;全1:111111,表示广播地址),所以需要减2。有效的主机是两个子网之间去掉“全0”和“全1”的数。

  4. 子网地址计算
    每个子网地址是指每个子网中主机号是0的地址,划分了几个子网,就有几个子网地址。对于192.168.1.1与255.255.255.192这样的划分,总共划分了4个子网,每个子网的地址如图所示。
    计算机网络原理-IPV4_第18张图片
    对于子网数目比较多的划分情况,分析与计算二进制会显得比较麻烦,这里给出计算子网地址的简单方法。
    首先计算地址基数:基数=256-子网掩码。如子网掩码的十进制数值为192,基数=256-192=64,子网地址为在对应子网地址字节中N×基数。对于上面的例子,子网地址对应字节中的值应该为64的0倍、1倍、2倍与3倍。所以4个子网地址可以直接写出:192.168.1.0,192.168.1.64,192.168.1.128,192.168.1.192。
    对于C类网络的子网划分情况如表7-1所示。
    计算机网络原理-IPV4_第19张图片

  5. 广播地址计算
    每个子广播址是指每个子网中主机号是“全1”的地址,划分了几个子网,就有几个广播地址。对于192.168.1.1与255.255.255.192这样的划分,总共划分了4个子网,每个子网对应的广播地址如图所示。
    计算机网络原理-IPV4_第20张图片
    广播地址中所有的主机号为1,直接在下一个子网之前的数。
    某单位申请了一个C类地址61.4.1.0,现在决定在主机字段借用3位作为子网号,剩下5位作为主机号,这样该单位最多可以划分8个子网(23=8),每个子网有30台主机可以分配(25-2=30)。
    如图所示,展示了IP地址与子网掩码的分配方法。第一个子网的子网号为000,第二个子网的子网号为001,第三个子网的子网号为010,子网掩码都是11100000,十进制数值是224,点分十进制数值是255.255.255.224。
    计算机网络原理-IPV4_第21张图片
    【例题】设有一个网络地址为172.16.0.0,要在此网络中划分16个子网,试问:

  • 需要多少位表示子网?
    • 子网数=2x=16,则X=4,需借用4位表示子网。
  • 子网掩码的点分十进制数值是多少?
    • 由网络地址可知,这是一个B类网络,网络地址和主机地址各占16比特,子网掩码为255.255.0.0。划分子网后,又使用主机地址部分的最高4位表示子网,则其对应十进制数值为128+64+32+16=240,网络掩码为255.255.240.0。
  • 每个子网地址是什么?
    • 子网基数=256-240=16,N=0~15,则子网地址如下表所示。
      计算机网络原理-IPV4_第22张图片
  • 每个子网的有效主机有多少?
    • 每个子网内表示主机的地址位为12位,则子网内有效主机数为212-2=4 094,网络内总的主机数为4 094×16=65 504。
  • 广播地址又是多少?
    • 广播地址为主机号“全1”的地址。

【例题】设有一个网络地址为204.1.16.0,此网络地址相应的子网掩码为255.255.255.192,试问:

  • 此网络被划分了多少个子网?
  • 每个子网地址是什么?
  • 每个子网的有效主机有多少?
  • 第二个子网的广播地址是多少?解答:
    ① 由网络地址可知,这是一个C类网络,网络地址占3字节,主机地址占1字节,子网掩码为255.255.255.192,把网络地址与子网掩码化成二进制比较,如图所示。
    计算机网络原理-IPV4_第23张图片
    从图中可以看出,子网掩码中“1”对应部分为网络地址,即从主机域中借用了2比特作为子网号,所以子网个数=2X=22=4。
    ② 首先算出,基数=256-192=64,子网地址为204.1.16.0、204.1.16.64、204.1.16.128、204.1.16.192。
    ③ 每个子网内表示主机的地址位为6位,则子网内有效主机数为2Y-2=26-2=62,网络内总的主机数为62×4=248。
    ④ 第二个子网为204.1.16.64,其所在网络的广播地址分析如图7-11所示。
    第二个子网对应的两位子网号部分为“01”,把主机号置为“全1”,得到广播地址204.1.16.127。
    计算机网络原理-IPV4_第24张图片

网络前缀

子网掩码用来确定一个IP地址中网络部分与主机部分,而子网掩码的表示通常是一种比较烦琐的方式。
网络前缀(Network-prefix)是表示子网掩码的另外一种方法,指示的是子网掩码中“1”的位数,使用斜杠表示法,用符号“/”表示,后面紧跟着1的位数。例如,子网掩码为255.255.255.128,化成二进制后有25个1,因此,前缀长度为25,表示为“/25”。前缀和子网掩码都是用来说明一个网络地址中的网络部分的,指示两种不同的表示方法。下表显示了网络地址192.168.1.0不同前缀的子网掩码与前缀表示方式。
计算机网络原理-IPV4_第25张图片

超网(Supernetting)

子网划分能够有效使用IP地址从而避免浪费地址,然而子网划分没有解决根本问题,许多大型的企业或者网络机构需要IP地址的数量庞大,C类的地址无法满足其要求,而B类地址到目前为止已经分配完毕。因此人们发展了超网技术。

超网是一种用于从小地址类型产生大型网络的重要方法,例如,某企业需要规划网络,网络容量至少支持10 000台主机,然而申请不到B类地址,就需要配置超网来满足需求。

  1. 理想的情况下,需要主机位数14位来支持10 000台主机。
    在这里插入图片描述
  2. C类网的地址前缀与主机位数关系如图所示。
    计算机网络原理-IPV4_第26张图片
    此子网掩码可以用于连续的C类地址。所以需要申请一组连续的C类网络,它们的前18位相同即可。与此子网掩码结合在一起,就得到了一个超网,如图7-13所示。
    在这里插入图片描述
    可以看出,第3个字节后6比特提供64个C类地址,允许64×254=16 256个不同的主机接入网络。所以只要申请64个连续的C类地址,每个地址的前18比特相同即可。

VLSM与CIDR

划分子网在一定程度上缓解了因特网在发展中遇到的困难。1992年,因特网仍然面临以下三个必须尽早解决的问题,

  • B类地址在1992年已分配了近一半,很快就要全部分配完毕;
  • 因特网主干网上的路由表中的项目数急剧增长(从几千个增长到几万个,截至2014年年底,因特网路由表条目已经达到50万条);
  • 整个IPv4的地址空间最终将全部耗尽。

变长子网掩码VLSM

变长子网掩码(Variable-Length Subnet Masks,VLSM)的出现打破了传统的以类(Class)为标准的地址划分方法,缓解IP地址紧缺状况,它指明了在一个划分子网的网络中可以同时使用几个不同的子网掩码。
采用VLSM计算和编址设计时状况一般按照以下步骤。

  1. 确定所需子网的数量。
  2. 确定每个子网所需的主机数量。
  3. 根据主机数量与子网数量设计合适的编址方案。

在进行VLSM编址方案设计时有以下2个原则:

  1. 一般按照子网中主机数目按从大到小的顺序安排子网。
  2. 采用连续分配地址的方法,直到地址空间用尽(不跳用地址)。

【例题】有一个小型公司,申请了一块地址空间172.16.0.0/16,其网络拓扑结构如图所示,其区域1所在的网络被分配的地址空间是172.16.12.0/22,路由器D直接相连两个局域网,容纳200个用户,路由器A、B、C连接3个以太网,分别用1个24口的交换机相连,请给区域1中的局域网设计合适的编址方案。
计算机网络原理-IPV4_第27张图片
计算机网络原理-IPV4_第28张图片
路由器D直连2个局域网,容纳200台主机,根据IP地址特点,200台主机需要分配主机位8比特,即28-2为254(分配7比特主机数目不够,分配9比特造成地址空间浪费),对应的子网掩码是255.255.255.0,所以对应地址空间中172.16.12.0~172.16.13.255之间的地址分配给D的2个局域网,两个网络地址分别为172.16.12.0/24和172.16.13.0/24。
路由器A、B、C分别连接一个24口交换机,也就是说每个局域网最多容纳24台主机,所以对应的IP地址中主机位需要分配5比特,即25-2为30,对应的子网掩码是255.255.255.224,在进行 VLSM 设计时,一般情况下按照地址空间的顺序分配,以免最后导致混乱,所以紧跟着172.16.13.0后面的地址空间分配,在172.16.14.0/24基础上划分,三个以太网地址分别是172.16.14.0/27、172.16.14.32/27、172.16.14.64/27,如表所示。
计算机网络原理-IPV4_第29张图片
最终为5个局域网的编址方案如表所示。
计算机网络原理-IPV4_第30张图片

无类别域间路由(CIDR)

CIDR(Classless Inter-Domain Routing)消除了传统的A类、B类和C类地址以及划分子网的概念,因而可以更加有效地分配IPv4的地址空间。
CIDR使用各种长度的“网络前缀”来代替分类地址中的网络号和子网号,IP地址从从使用子网掩码的三级编址又回到了两级编址,CIDR将网络前缀都相同的连续的IP地址组成“CIDR地址块”。

  1. CIDR地址块
    128.14.32.0/20 表示的地址块共有212-2个地址(斜线后面的20是网络前缀的比特数,所以主机号的比特数是12),地址块的起始地址是128.14.32.0。
    128.14.32.0/20 地址块的最小地址为128.14.32.0;128.14.32.0/20地址块的最大地址为128.14.47.255;全0和全1的主机号地址一般不使用,如图7-15所示。
    计算机网络原理-IPV4_第31张图片
    【例题】如果某企业申请到的地址块为200.1.170.64/27,试问该地址块的第一个地址和最后一个地址是多少,共有多少个地址?
    前缀长度是27,表示地址的前27比特是不变的,把其余的5位置0就是第一个地址,其余的5位置1就是最后一个地址。最后的5 bit代表主机域,共有地址2 5个。当然,全0和全1代表网络地址和广播地址,是不能给设备分配的,其结果如图所示。计算机网络原理-IPV4_第32张图片
  2. 路由聚合
    一个CIDR地址块可以表示很多地址,这种地址的聚合常称为路由聚合,它使得路由表中的一个项目可以表示很多个(如上千个)原来传统分类地址的路由。
    CIDR不使用子网,但仍然使用“掩码”这一名词(但不叫子网掩码),对于/20地址块,其掩码是20个连续的1。斜线记法中的数字就是掩码中1的个数,如图所示,路由器E接了4个局域网,其路由表中的条目应该有4条,通告F路由器也有4条,而这4条就可以汇聚成一条以精简路由表。
    如图所示,在地址汇聚中,我们把网络地址转换成二进制比特,找到最长匹配前缀(前面相同的比特),后面的比特位以0补足,这样我们就得到了汇聚地址192.168.12.0/22。
    CIDR可以减少网络数目,缩小了路由选择表,从而降低了路由器网络流量,以及CPU和内存方面的开销,对网络进行编制时灵活性更大。
    计算机网络原理-IPV4_第33张图片
    计算机网络原理-IPV4_第34张图片

你可能感兴趣的:(计算机网络)