当前位置:文档之家› 网络基础第1章IP地址和子网规划(家庭网络的建设【含无线】、IP地址规划)

网络基础第1章IP地址和子网规划(家庭网络的建设【含无线】、IP地址规划)

网络基础第1章IP地址和子网规划(家庭网络的建设【含无线】、IP地址规划)
网络基础第1章IP地址和子网规划(家庭网络的建设【含无线】、IP地址规划)

第1章IP地址和子网规划

【学习目标】

掌握IP地址的格式和分类

掌握子网划分的方法

了解IP报文转发基本原理

了解VLSM与CIDR

了解IPv6的特点

了解IPv6地址的标识方法、构成和分类

了解IEEE EUI-64格式转换原理

了解邻居发现协议的作用及地址解析、地址自动配置的工作原理

掌握IPv6地址的配置

【重点难点】

IP地址的格式和分类

子网划分的方法

VLSM与CIDR

1.1 IP协议概述

TCP/IP协议栈的网络层位于网络接口层和传输层之间,其主要功能就是标识大规模网络中的每一个节点并将数据投递到正确的目的节点。

由RFC791定义的IP是TCP/IP网络层的核心协议,IP协议不关心数据包的内容,不能保证数据包是否能成功地到达目的地,也不维护任何关于前后数据包的状态信息。面向连接的可靠服务由传输层的TCP协议实现。IP协议的主要作用如下:

(1)标识节点和链路:IP为每个链路分配一个全局唯一的网络号,为每一个节点分配一个全局唯一的IP地址,用以标识每个节点。

(2)寻址和转发:IP路由器根据所掌握的路由信息,确定节点所在网络的位置,选择适当的路径将IP包转发到目的节点。

(3)适应各种数据链路:为工作在多样化的链路和介质上,IP必须具备适应各种链路的能力,如可根据链路的MTU(Maximum Transfer Unit,最大传输单元)对IP包进行分片、重组。

1.2 IP地址

连接到Internet上的设备必须有一个全球唯一的IP地址,该地址与链路类型、

设备硬件无关,故亦称逻辑地址。每台主机可以有多个网卡,也可以同时拥有多个IP地址。

Internet上的每个节点既有IP地址,也有物理地址(即MAC地址)。MAC 地址是设备生产厂家固化在网卡上的,每个网卡的MAC地址也是全球唯一的。为什么还需要IP地址呢?因为MAC地址是固化在设备上的,不便于修改,不能够方便地根据客户的需求定义网络设备地址,而IP地址只是逻辑地址,可按照用户的需求规划和分配。

(1)IP地址格式

在计算机内部,IP地址采用32位二进制数表示,为便于表示与记忆,通常采用点分十进制方式标识。即将32位的IP地址分成4段,每段8位二进制位,用一个十进制数表示,组间用“.”分割,如图2-1所示。

图2-1

由于理论上总共有232个IP地址,每一台路由器都存储每一节点的路由信息几乎是不可能的,所以IP地址采用分层结构。IP地址由两部分组成:网络号、主机号,如图2-2所示。

图2-2

网络号用于区分不同的IP网络,即该IP地址所属的IP网段,一个网络中所有设备的IP地址具有相同的网络号。主机号用于标识该网络内的一个IP节点。在一个网段内部,主机号是唯一的。这样,路由器只需要存储每个网段的路由信息即可。

例如图2-3所示的网络由两个网络构成,每个网络中有3台主机。网络之间通过路由器连接。路由器只要记录左侧的网络地址为192.168.2.0,通过接口E0/0连接;右侧的网络地址为10.0.0.0,通过接口E0/1连接。

图2-3

(2)IP地址分类

为更好的管理和使用IP地址资源,IP地址被划分为A、B、C、D、E五类。每类地址的网络号和主机号在32位地址中所占位数不同,因而每类的网络数和主机数都有很大区别。IP地址的分类如图2-4所示。

图2-4

①A类IP地址的第一个八位段以0开始。A类地址的网络号为第一个八位段(取值范围为1~126),后面的3个八位段为主机号。所以A类地址的范围为1.0.0.0~126.255.255.255,其中网络号为127的有特殊用途,如127.0.0.1用于主机环回测试。

②B类IP地址的第一个八位段以10开始。B类地址的网络号为前2个八位段(第一个八位段取值为128~191),后面的2个八位段为主机号。所以B类地址的范围为128.0.0.0~191.255.255.255。

③C类IP地址的第一个八位段以110开始。C类地址的网络号为前3个八位段(第一个八位段取值为192~223),后面的一个八位段为主机号。所以C类地址的范围为192.0.0.0~223.255.255.255。

④D类地址的第一个八位段以1110开始。D类地址通常用于组播地址。

⑤E类地址的第一个八位段以11110开始,保留用于研究。

(3)特殊用途的IP地址

虽然IP地址可用于唯一标识一台主机或网络设备,但并不是每一个IP地址都用于该目的。一些特殊的IP地址被用于各种各样的其他用途,如表2-1所示。

由上表可知,每一个网段都会有一个网络地址和一个网段广播地址,因此每一个网络实际可用于主机的地址数等于网段内的全部地址数减2。

需要注意的是,转发网段广播和全网广播会对网络性能造成严重的不利影响,因此几乎所有的路由器在默认情况下均不转发广播包。

(4)私有地址

随着Internet用户爆炸式增长,IP地址枯竭的趋势越来越严重,为缓解这种情况,IANA规定从A类、B类、C类的IP地址池中各拿出一部分用在LAN中,这部分地址被称为私有地址,这类地址只能在封闭的局域网中有效,在Internet 上不被识别。相对的,在Internet上可以被识别的IP地址称为公有地址。如果希望使用私有地址的LAN连接到Internet,则需使用网络地址转换技术。IANA分配的私有地址段如下:

A类:10.0.0.0~10.255.255.255

B类:172.16.0.0~172.31.255.255

C类:192.168.0.0~192.168.255.255

1.3 IP子网划分

早期的Internet是一个简单的二级网络结构,接入Internet的机构由一个物理网络构成,该物理网络包含机构中需要接入Internet网络的全部主机。每个机构被分配一个按照自然分类法(即A、B、C、D、E五类网址)得到的Internet 网络地址。

随着时间推移,Internet中出现了许多大型机构,这些机构中需接入Internet的主机数量众多,鉴于物理网络容纳主机的数量有限,因此在同一机构内部需要划分多个物理网络。早期的解决方案是为机构内的每一个物理网络都分配一个按照自然分类法得到的Internet网络地址,但其存在严重问题:IP地址资源浪费严重、IP网络数量不够、业务扩展缺乏灵活性。

(1)子网掩码的概念

每个32位IP地址都被划分为由网络号和主机号构成的二级机构。为了区分IP地址的网络号与主机号,从而判断任意两IP地址是否处于同一网络,因而引入了网络掩码。

网络掩码要求对应网络号部分的位全置1,对应主机号部分的位全置0。所以,一个标准的A类地址其网络掩码为255.0.0.0,一个标准的B类地址其网络掩码为255.255.0.0,一个标准的C类地址其网络掩码为255.255.255.0。

为了更有效地利用IP地址,解决IP地址资源浪费和IP网络数量不够等问

题,引入了子网的概念。20世纪80年代中期,IETF在RFC950和RFC917中针对简单的两层IP地址所带来的日趋严重的问题提出了解决方法,即子网划分(Subnetting):允许将一个自然分类的网络分解为多个子网(Subnet)。

如图2-5所示,从IP地址的主机号部分借用若干位作为子网号(Subnet number),剩余的位作为主机位,这样就将原先的二级网络演进为三级:网络号、子网号和主机号。

图2-5

需要注意的是,子网划分是一个组织内部的事务,外部网络可以不必了解,对于外部网络而言,该机构仍表现为一个没有划分子网的网络。从其他网络发送给本机构某主机的数据仍按照原来的选路规则发送到本机构连接外部网络的路由器上。该路由器接收到IP数据包后再按照网络号及子网号找到目的子网,将IP数据包交付给目的主机。这就要求路由器具备识别子网的能力。

子网划分采用的仍然是前面提到的方法,即采用网络掩码的方法:要求对应网络号与子网号的位全置1,对应主机号的位全置0。利用掩码和IP地址进行逻辑与运算,就能得到该IP地址的子网地址。

值得一提的是,IP子网划分并不改变自然分类地址的划定。例如有一个IP 地址为10.1.1.1,其子网掩码为255.255.255.0,这仍为一个A类地址,而并非C类地址。

习惯上有两种方式表示一个子网掩码:点分十进制表示法、掩码长度表示法。如C类默认子网掩码11111111 11111111 11111111 00000000可以表示为255.255.255.0(点分十进制表示法),也可以表示为24(掩码长度表示法)。

(2)IP子网划分相关计算

由于子网划分的出现,使原本简单的IP地址规划变得复杂。因此一个网络管理人员必须应该清楚的知道如何对网络进行子网规划,以便合理、高效的利用手中的IP地址资源。

计算子网内可用地址数

计算子网内可用主机数是子网划分计算中较简单的一类问题:如果子网的主机号位数为N,则该子网中可用的主机数目为2N-2个(减2的原因是主机号为全0和全1的有特殊用途,不能分配给主机使用)。

如图2-6所示,已知一个C类网络划分成子网后为192.168.3.192,子网掩码为255.255.255.224,计算该子网内可供分配的主机地址数量。

图2-6

要计算子网内可供分配的主机数量,就必须知道主机号的位数。计算过程如

下。

①计算掩码的位数。将255.255.255.224换算成二进制后,可以看出掩码位数为27。

②计算主机号位数。因为IP地址总共32位,所以主机号位数N=32-27=5。

③该子网可用的主机地址数量为2N-2=25-2=30个。

这30个可用主机地址为192.168.3.193~192.168.3.222。

根据主机地址数划分子网

在子网划分计算中,有时需要在已知每个子网内需要容纳的主机数的前提下划分子网。要想知道如何划分子网,就必须知道划分子网后的子网掩码,则问题就变成了求子网掩码。具体计算方法总结如下:

①计算网络主机号的位数。假设每个子网需要Y个IP地址(即该子网现有Y 台主机需要分配IP地址),那么当Y满足2N>=Y+2>=2N-1时,N就是主机号的位数。其中Y+2是因为要考虑主机号全0和全1的情况。

②计算子网掩码的位数。子网掩码位数为32-N。

③根据子网掩码的位数计算出子网号的位数M。该子网就有2M种分发。

如图2-7所示,需要将B类网络168.195.0.0/16划分成若干子网,要求每个子网内的主机数为700台。计算过程如下。

图2-7

①按照要求,每个子网主机数Y为700。

②计算网络主机号的位数。根据公式2N>=700+2>=2N-1计算出N=10。

③计算子网掩码的位数。子网掩码位数为32-10=22,从而得出网络掩码为255.255.252.0。

④因为B类网址标准掩码长度为16,所以子网号位数为22-16=6。所以,该网络能划分成26个子网。

根据子网掩码计算子网数

如果希望在一个网络中建立子网,就要在网络的默认掩码上增加若干位,行成子网掩码,这样就减少了用于主机地址的位数。加入到掩码中的位数决定了可以配置的子网数,并能确定每个子网可分配的主机数。

假定加入到掩码中的二进制位数(即子网掩码位数减去网络默认掩码位数)为M,则可分配的子网数量为2M个。

需要注意的是,由于主机位全0和全1的地址不能分配给主机使用,所以,对于特定网络来说,借用主机位增加子网数的同时会减少网络可容纳的主机数。因此,虽然划分子网可增加灵活性,但要根据具体情况处理,并非划分的子网数越多越好。

根据子网数划分子网

在子网划分计算中,有时要在已知需划分的子网数的前提下来进行。当然,其前提是每个子网需包括尽可能多的主机,否则据子网数划分子网就没有意义了。

同样,划分子网就必须知道划分子网后的子网掩码。此类问题的计算方法总

结如下。

①计算子网号的位数。假定需划分X个子网,每个子网包括尽可能多的主机地址。那么当X满足公式2M>=X>=2M-1时,M就是子网号的位数。

②由子网号位数计算出子网掩码,划分出子网。

如图2-8所示,需要将B类网络168.195.0.0划分成27个子网,要求每个子网包括尽可能多的主机。计算过程如下。

图2-8

①按照子网划分要求,需划分的子网数X=27。

②计算子网号的位数。根据公式2M>=X>=2M-1计算出M=5。

③计算子网掩码。由于B类网络的默认掩码位数为16,所以子网掩码位数为16+5=21,子网掩码为255.255.248.0。

④由于子网号为5,所以该B类网络168.195.0.0总共能划分为25个子网。

1.4 VLSM和CIDR

虽然对网络进行子网划分可以对IP地址结构进行有价值的扩充,但仍受到全网只有一个子网掩码的限制,这样造成每个子网内的主机数完全相等。这在很多情况下仍会造成大量主机地址浪费。

例如,某组织拥有一个B类网络,网络地址为172.16.0.0,它默认掩码长度为16位。按照定长子网掩码方法划分,若该网络使用6位子网号,将得到一个22位的子网掩码,整个网络可划分为64个可用子网,每个子网可用主机数为1022个。该种策略对于需要超过30个子网和每个子网内主机数超过500台的组织是合适的。但是对于一个超过500台主机的大分支和许多只有40~50台主机的小分支组成的组织而言,大部分地址就浪费了。

针对这样的问题,IETF发布了标准文档RFC1009。该文档规范了如何使用多个子网掩码划分子网。该标准规定,同一IP网络可划分为多个子网并且每个子网可以有不同的大小。相对于固定长度子网掩码技术,该技术被称为VLSM (Variable Length Subnet Mask,可变长子网掩码)。

因此针对上例的解决方案就是允许对一个网络可以使用不同大小的子网掩码,对IP地址空间进行灵活的子网划分:大的分支继续使用22位子网掩码,而小的分支可以使用25位或26位子网掩码,从而减少IP地址的浪费。

到1992年,Internet仍然面临以下3个必须尽早解决的问题:

(1)B类地址在1992年已分配了将近一半,很快将耗尽。

(2)Internet主干网路由表中的路由条目数急剧增长,从几千个增加到几万个。

(3)IPv4地址即将耗尽。

当时预计前两个问题将在1994年变得非常严重,因此IETF研究出无分类编址的方法来解决前两个问题;第三个问题有IETF的IPv6工作组负责研究。无分

类地址是在VLSM基础上研究出来的,它的正式名字是无类域间路由CIDR (Classless Inter-Domain Routing)。CIDR在RFC1517、RFC1518、RFC1519及RFC1520中进行定义,现在CIDR已成为Internet的标准协议。

CIDR消除了传统的自然分类地址和子网划分的界限,不再使用“子网地址”或“网络地址”的概念,转而使用“网络前缀(Network-prefix)”这个概念。与自然分类网络号不同,网络前缀可以有各种长度,前缀长度由其相应的掩码标识。

CIDR前缀可以是一个自然分类网址,也可以是一个子网地址,甚至可以是由多个自然分类网址聚合成的“超网“地址。所谓超网就是利用较短的网络前缀将多个使用较长网络前缀的小网络聚合成一个或多个较大的网络。

CIDR可以将具有相同网络前缀的连续的IP地址组成CIDR地址块。例如,某机构拥有256个C类网络200.1.0.0、200.1.1.0……200.1.255.0,那么可以将这些地址合并为一个B类大小的CIDR地址块,其前缀为200.1.0.0,掩码为255.255.0.0。由于一个CIDR地址块可以标识很多个网络地址,因此支持CIDR 的路由器可以利用CIDR地址块来查找目的网络,这种地址的聚合称为强化地址汇聚,它使得Internet的路由条目大量减少,从而提高了整个Internet的性能。

1.5 IPv6

IPv4是当前Internet所使用的网络层协议,实践证明其非常成功。然而,IPv4设计之初是为几百台计算机组成的小型网络准备的,随着Internet的发展,IPv4已暴露出很多不足之处。其中最为严重的问题就是IPv4可用地址日益缺乏,从而限制IP技术应用的进一步发展。

另外,对于终端用户来说,IPv4的配置不够简便。同时,IPv4协议还存在安全性差、QoS功能弱等其他问题。所以,IETF组织在20世纪90年代开始着手IPng(IP Next Generation,下一代Internet协议)的指定工作,IPv6由此应运而生。

IETF总结了早期制定IPv4的经验以及互联网发展的需要,认为IPng应侧重于网络的容量和网络的性能,不应该仅仅以增加地址空间为目标。因此,IPv6继承了IPv4的优点,摒弃了IPv4的缺点。虽然IPv6与IPv4不兼容,但IPv6同其他所有TCP/IP协议簇中的协议兼容,故IPv6可完全取代IPv4。

IPv6协议的最大特点就是超大的地址空间。IPv4地址位数为32位,但IPv6的地址位数为128位,是IPv4地址空间的4倍。

1.6 IPv6地址

(1)IPv6地址格式

IPv4地址通常采用点分十进制方式来表示。但对于IPv6地址而言,由于其有128位,用十进制表示太长,所以IPv6采用了冒号分十六进制表示法来表示地址。

IPv6的128位地址被分为8段,每16位为一段,每段采用4位十六进制

数表示,并用冒号隔开,如图2-9示例所示。

128位的IPv6地址如下所示

0010 0000 0000 0001 0000 0100 0001 0000 0000 0000 0000 0000 0000 0000 0000 0001

0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0100 0101 1111 1111

表示为冒号分十六进制表示法为

2001:0410:0000:0001:0000:0000:0000:45FF

图2-9

为了尽可能缩短地址的书写长度,IPv6地址采用压缩方式标识,其规则如下:

①每段中的前导0可以去掉,但保证每段至少有一个数字。如2001:0410:0000:0001:0000:0000:0000:45FF就可以压缩为2001:410:0:1:0:0:0:45FF。但有效0不能压缩。如上述地址中的2001或410中的0就不能被压缩。

②一个或多个连续的段内各位全为0时,可用::(双冒号)压缩表示,但一个IPv6地址中只允许有一个双冒号。如2001:0410:0000:0001:0000:0000:0000:45FF就可以压缩为2001:410:0:1::45FF或2001:410::1:0:0:0:45FF,但不能压缩为2001:410::1::45FF。

IPv6取消了IPv4的网络号、主机号和子网掩码的概念,采用前缀、接口标识符、前缀长度取代;IPv6亦不再有IPv4中的A、B、C类等地址分类的概念。

前缀:其作用与IPv4地址中的网络号类似,用于标识该地址属于哪个网络。

接口标识符:与IPv4地址中的主机号类似,用于标识该地址在网络中的具体位置。

前缀长度:类于IPv4地址中的子网掩码,用于确定地址中哪一部分是前缀,哪一部分是接口标识符。

例如,地址2001:0410:0000:0001:0000:0000:0000:45FF/64表示此地址的前缀长度为64,所以此地址的前缀为2001:0410:0000:0001,接口标识符为0000:0000:0000:45FF。

(2)IPv6地址分类

我们知道,IPv4地址包括单播、组播、广播等几种类型。同样地,IPv6地址也有不同的类型,包括单播、组播和任播地址。需要注意的是,IPv6协议中没有广播地址,所以在IPv4协议中某些用到广播地址的服务或功能在IPv6协议中采用组播地址完成。

①单播地址:用来唯一标识一个接口,只能分配给一个节点上的一个接口,发送到单播地址的数据报文将被传送给此地址所标识的接口。根据地址作用范围的不同,IPv6单播地址又可分为链路本地地址、站点本地地址、全球单播地址

等;还包括一些特殊地址,象未指定地址和环回地址等。

②组播地址:用于标识一组接口,多个接口可配置相同的组播地址,发送到组播地址的数据报文被传送给此地址所标识的所有接口。IPv6组播地址的范围为FF00::/8。

③任播地址:是IPv6中特有的地址类型,也用来标识一组接口。但与组播地址不同的是,发送到任播地址的数据报文被传送给此地址所标识的一组接口中距离源节点最近的一个接口。例如,一栋用户在使用IPv6协议接入Internet 时,根据地理位置的不同,接入距离用户最近的一个接收站。任播地址是从单播地址空间中分配的,并使用单播地址的格式,仅看地址本身,节点是无法区分任播地址与单播地址的。所以,必须在配置时明确指明它是一个任播地址。

IPv6主要地址类型与格式前缀的对应关系如表2-2所示。

①未指定地址:不能分配给任何节点。在节点获得有效IPv6地址前,可在发送的IPv6报文源地址中填入该地址,表示目前暂无地址。该地址不能做IPv6报文的目的地址。

②环回地址:不能分配给任何物理接口。其作用与IPv4中的127.0.0.1相同,节点可通过给自己发IPv6报文测试协议是否正常工作。

③链路本地地址:用于链路本地节点间通信。在IPv6中,以路由器为边界的一个或多个局域网段称为链路。使用本地链路地址作为目的地址的数据报文不会被转发到其他链路上。

④站点本地地址:与IPv4中的私有地址类似。使用站点本地地址作为目的地址的数据报文不会被转发到本站点外的其他站点。站点本地地址在实际应用中很少使用。

⑤全球单播地址:类于IPv4中的公有地址。全球点播地址由IANA负责进行统一分配,其前缀标识为2000::/3。

⑥组播地址:常用的预留组播地址有FF02::1(链路本地范围所有节点组播地址)、FF02::2(链路本地范围所有路由器组播地址)等。另外,还有一类组播地址:被请求节点地址。该地址主要用于获取同一链路上邻居节点的链路层地址及实现重复地址检测。每一个单播或任播IPv6地址都有一个对应的被请求节

点地址。其格式为:

FF02:0:0:0:0:1:FFXX:XXXX

其中,FF02:0:0:0:0:1:FF为104位固定格式,XX:XXXX为单播或任播IPv6地址的后24位。

⑦任播地址:与单播地址没有区别,是从单播地址空间中分配的。

(3)IEEE EUI-64格式

构成IPv6单播地址的接口标识符用来在网络中唯一标识一个接口。目前IPv6单播地址基本上都要求接口标识符为64位。在IPv6协议中,接口标识符可以由管理员配置,也可由设备自动生成。自动生成的好处是不需要用户配置地址,降低了网络部署难度。若由设备自动生成接口标识符,则需符合IEEE EUI-64格式规范。

IEEE EUI-64格式的接口标识符由接口的链路层地址(MAC地址)变化而来。如图2-10所示,在48位MAC地址的中间位置(自高位开始的第24位后)插入十六进制数FFFE(1111 1111 1111 1110)。为确保得到的接口标识符唯一,还要将第7位设置为“1”,最终得到符合IEEE EUI-64的接口标识符。

图2-10

相关主题
文本预览
相关文档 最新文档