- 计算机网络工程实用教程(第2版)
- 石炎生 郭观七主编
- 5334字
- 2020-08-27 09:51:57
1.3 MAC地址与IP地址
1.3.1 MAC地址的基本概念
MAC(Medium Access Control,介质访问控制)地址也叫物理地址、硬件地址或链路地址,由网络设备制造商生产时写在硬件内部。
(1)MAC地址的表示
MAC地址的长度为48位(6字节),通常表示为12个十六进制数,每2个十六进制数之间用冒号隔开。例如,08:00:20:0A:8C:6D就是某个网络产品(如网卡)的MAC地址,前6个十六进制数08:00:20代表该产品制造商的编号,由IEEE(国际电气与电子工程师协会,Institute of Electrical and Electronics Engineer)分配,后6个十六进制数0A:8C:6D则代表该产品的系列号。只要不更改MAC地址,那么MAC地址在世界上是唯一的。
(2)MAC地址的作用
MAC地址用来定义网络设备的位置。无论是局域网还是广域网中的计算机之间的通信,实质上都表现为将数据包从某种形式的链路上的初始节点出发,从一个节点传递到另一个节点,最终传送到目的节点。数据包在这些节点之间的移动都是由ARP(Address Resolution Protocol,地址解析协议)负责将IP地址映射到MAC地址上来完成的。
(3)如何获取网卡的MAC地址
MAC地址固化在网卡中的BIOS中,可以通过DOS命令取得。例如,若想获取自己使用的网卡的MAC地址,在Windows 2000/XP中,依次选择“开始”→“运行”,输入“CMD”后回车,再输入“ipconfig /all”然后回车,即可获得MAC地址。
使用命令只能单条获得MAC地址,而且使用起来也是很麻烦的。网管人员可以利用“MAC扫描器”远程批量获取MAC地址。该软件运行于网络(局域网、Internet都可以)内的一台计算机上,可监控整个网络的连接情况,实时检测各用户的IP地址、MAC地址、主机名、用户名等并记录,以供查询。
1.3.2 IP地址的基本概念
IP协议提供一种全局通用的地址格式,为全网的每个网络和每台网络设备都分配一个网络地址,并在统一管理下进行地址分配,保证一个地址对应一台网络设备(习惯上统称为主机,下同),从而屏蔽了物理网络地址的差异。IP层所用到的地址叫做网络地址,又叫IP地址。
网络上的每台网络设备都必须有唯一的标识自己身份的IP地址,若局域网不与Internet相连,则可自定义其IP地址,若局域网连接到Internet,则需向Internet名字与号码指派公司(ICANN)申请全球唯一的IP地址,我国用户可向亚太网络信息中心(APNIC)申请IP地址。下面介绍IP地址及其相关的子网、子网掩码和子网划分等概念。
(1)IP地址的组成
IP地址由32位(4字节)组成,分为网络号(net id)和主机号(host id)两部分。其中,网络号(或称网络标识)用于区分不同的网络,主机号(或称主机标识)用于在一个网络中区分不同的主机。这种两级的IP地址可以记为“IP地址::={<网络号>,<主机号>}”。其中,“::=”表示“定义为”。
(2)IP地址的表示
IP地址有两种表示法:二进制数和点分十进制数。二进制数表示法就是用32位二进制数表示IP地址。点分十进制数表示法是把32位的IP地址分为4个8位二进制数,每8位用其等效的十进制数表示,之间用圆点隔开,其取值范围为0~255。两种表示方法的转换关系如图1-6所示。
图1-6 IP地址二进制数和点分十进制数转换关系
(3)IP地址的分类
IP地址共分为A、B、C、D、E五类,各类IP地址结构如图1-7所示。
图1-7 各类IP地址结构
由图1-7可知,常用的A、B、C三类地址的网络地址、主机数量及网络规模如表1.1所示。D类地址作为组播地址,用于支持多点传输技术。E类地址保留作为将来使用。
表1.1 IP地址的类别与规模
可以根据IP地址第一个8位组的取值范围来区分类别:A类地址1~127,如10.0.0.12;B类地址128~191,如166.166.64.1;C类地址192~223,如199.168.0.2。
(4)TCP/IP对IP地址的一些规定
① IP地址除了一般标识一台主机外,还有几种具有特殊意义的特殊形式,如表1.2所示。主机号全“0”和全“1”的IP地址分别表示本网络的网络地址和广播地址,不能用于主机的IP地址。
表1.2 特殊的IP地址
② 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,这三部分IP地址不允许在Internet上进行分配,但可以同时在多个不同的局域网内部使用,故称为私有IP地址或保留IP地址。
③ 地址段127.0.0.1~127.255.255.254也是属于保留使用的,用于本机环路测试IP地址。例如,测试网卡是否正常,可采用ping 127.0.0.1。
1.3.3 子网与子网掩码
(1)子网
由于Internet规模的急剧增长,促使对IP地址的需求激增。由此带来的问题是:第一,巨大的网络地址管理开销,使IP地址资源严重不足;第二,网关寻找路径要求急剧膨胀,路由表规模急速增长。其中第二点尤为突出,路由表的膨胀不仅会降低网关寻找路径的效率(甚至可能使路由表溢出,从而造成寻径故障),更重要的是将增加内外部路径刷新时的开销,从而加重网络负担。因此,迫切需要寻求新的技术,以应付网络规模增长带来的问题。
对这个问题的一种解决办法是划分子网,即把一个网络再分为更小的一些网络,称为子网。子网是一个逻辑上独立的网络,子网中的各主机的网络地址部分是相同的。划分子网的主要目的是节约IP地址数和方便网络的管理。
(2)子网编址
划分子网在IP编址系统中就是从主机号部分拿出几位作为子网号,这种在原来二级IP地址结构的基础上增加一级地址结构的方法称为子网编址(subnet addressing)或子网划分。子网编址是一种三级IP地址结构,它与二级IP地址的关系如图1-8所示。
图1-8 子网编址技术示意图
例如,有3个LAN,其主机数分别为20、25、28,均少于C类地址允许的主机数。为这3个LAN申请3个C类IP地址显然是浪费,我们可以只申请1个C类地址,如192.10.1.0,将主机号部分的前3位作为子网号标识,后5位作为主机号标识。这样,该C类地址可以划分出23=8个子网,每个子网中允许有25-2=30台主机(全0和全1分别为子网网络地址和广播地址)。这样不但满足3个LAN的主机分配IP地址,还有多余的IP地址用于主机扩充。
(3)子网掩码
一个网络被划分成子网后就存在一个子网的识别的问题,即判断两台主机是否在同一子网中的问题。使用子网掩码(subnet mask)可以找出IP地址中的子网部分。
IP协议标准规定:每个使用子网的节点都选择一个32位的位模式,若位模式中的某位置为1,则对应IP地址中的某位就为网络地址(包括网络部分和子网号)中的一位;若位模式中的某位置0,则对应IP地址中的某位就为主机地址中的一位。
例如,位模式11111111111111111111111100000000中,前3字节全1,代表对应IP地址中最高的3字节为网络地址;最后1字节全0,代表对应IP地址中最后1字节为主机地址。这种位模式叫做子网模(subnet mask)或子网掩码。
为了使用的方便,常常使用“点分整数表示法”来表示一个IP地址和子网掩码,如C类地址子网掩码11111111.11111111.11111111. 00000000为255.255.255.0。
子网掩码可以获取主机IP地址的网络地址信息,用于区分通信的两台主机是否在同一子网,由此选择不同的路径。路由器就是利用此技术得到网络或子网地址信息的。若一个网络不设置子网,则按子网掩码制定规则得到的掩码称为默认子网掩码。各类地址的默认子网掩码表示如下:A类地址255.0.0.0,B类地址255.255.0.0,C类地址255.255.255.0。
IP协议关于子网掩码的定义允许子网掩码中的“0”和“1”位不连续。但是,这样的子网掩码给分配主机地址和理解路由表都带来一定困难,因此在实际应用中通常采用连续方式的子网掩码。像255.255.255.64和255.255.255.160等之类的子网掩码不推荐使用。
(4)子网掩码举例
【例1-1】根据子网地址位确定子网掩码。有一个B类网络地址166.111.0.0,若在主机标识中取出5位作为子网地址位,则该子网的子网掩码为255.255.248.0,如图1-9所示。
图1-9 确定子网掩码举例
【例1-2】子网掩码与IP地址结合使用,求出一个IP地址的网络号和主机号。有一个C类地址为192.9.200.15,其默认子网掩码为255.255.255.0,则它的网络号和主机号可按如下步骤得到:
<1> 将IP地址192.9.200.15转换为二进制数11000000000010011100100000001111。
<2> 将子网掩码255.255.255.0转换为二进制数11111111111111111111111100000000。
<3> 将两个二进制数逻辑与(AND)运算后得出的结果即为网络部分。结果为192.9.200.0,即网络号为192.9.200.0。
<4> 将子网掩码取反,再与IP地址逻辑与(AND)后,得到的结果即为主机部分。下面的结果为0.0.0.15,即主机号为15。
利用子网掩码可以判断两台主机是否在同一子网中。若两台主机的IP地址分别与它们的子网掩码相“与”后的结果相同,则说明这两台主机在同一子网中。
1.3.4 子网划分
(1)子网划分方法
要划分一个子网,主要是确定相应的子网掩码,可以按以下步骤进行。
<1> 将要划分的子网数N转换为最接近的2m,即N≤2m。如划分6个子网,则6<23。
<2> m即为子网号二进制代码位数,用“1”按高序占用主机地址m位后转换为十进制,即可确定子网掩码。例如,m=3,则有11100000,转换为十进制数为224,即为最终确定的子网掩码。如果是C类网,则子网掩码为255.255.255.224;如果是B类网,则子网掩码为255.255.224.0;如果是A类网,则子网掩码为255.224.0.0。
<3> 根据m位子网号,计算出各子网的IP地址范围。
(2)划分子网举例
【例1-3】设有一个C类地址192.9.200.0,现将其分成4个子网,求出子网掩码和各子网的IP地址范围。
因为要将该网络划分为4个子网,则有4=22,用2个“1”占用主机地址的高序位即为11000000,转换为十进制数为192。这样可确定该子网掩码为255.255.255.192。因为主机全0和全1的IP地址分别为子网地址和广播地址,不能作为有效的IP地址分配,则4个子网的IP地址范围分别为:
注意:有的教材认为子网号全为0或1的情况是无效的,这要看路由器所使用的路由选择软件是否支持子网号全为0或全为1的用法。
1.3.5 无分类编址方法CIDR
在一个划分子网的网络中同时使用几个不同的子网掩码,这就是变长子网掩码方法。使用变长子网掩码(Variable Length Subnet Mask,VLSM)可进一步提高IP地址资源的利用率。在VLSM的基础上又进一步研究出无分类编址方法,即无分类域间路由选择(Classless Inter-Domain Routing,CIDR)。
CIDR有如下两个主要特点:
① CIDR消除了传统的A类、B类和C类地址以及划分子网的概念,因而可以更有效地分配IPv4的地址空间,可以在新的IPv6使用之前容许因特网规模继续增长。
CIDR使用各种长度的网络前缀(network-prefix)来代替分类地址中的网络号和子网号。IP地址从三级编址(使用子网掩码)又回到了两级编址。无分类的两级编址的记法是:
IP地址::={<网络前缀>,<主机号>}
CIDR还使用斜线记法(slash notation),又称为CIDR记法,即在IP地址后面加上一个斜线“/”,然后写上网络前缀所占的位数(这个数值对应于三级编址的二进制子网掩码中1的个数)。例如,128.14.35.7/20,即10000000000011100010001100000111。在这个IP地址中,因为斜线后面是20,则网络前缀的位数是20,即10000000000011100010;主机号的位数是12,即001100000111。
② CIDR将网络前缀相同的连续的IP地址组成“CIDR地址块”。一个CIDR地址块由地址块的起始地址(最小的地址)和地址块中的地址数来定义。地址块也用斜线“/”记法来表示。例如,128.14.32.0/20表示的地址块共有212个地址,其有效地址共有212-2个(因为主机号为全0和全1的地址分别为网络地址和广播地址),最小有效地址是128.14.32.1,最大有效地址是128.14.47.254。
因为在分类地址环境中,向一个单位分配地址时就只能采用/8、/16或/24为单位来划分,CIDR技术可以以/13、/14、/15、…、/27等为单位来划分,要灵活多。由此可以看出,使用CIDR可以更加有效地分配IPv4的地址空间,可根据客户的需要分配适当大小的CIDR地址块。
【例1-4】假定ISP现拥有地址块206.0.64.0/18,某单位需要申请800个IP地址,如何分配。
方法一:29-2=510<800<210-2=1022,因此ISP需要分配给该单位一个主机位含有10位的地址块206.0.64.0/22,包括210-2=1022个有效IP地址。该方法给该单位多分配222个地址。
方法二:给该单位先分配一个地址块206.0.64.0/22,然后在地址块206.0.64.0/22的主机位取3位作为网络前缀,再划分地址块,每个地址块包括27-2=126个有效地址,分配其中7个地址块206.0.64.0/25~206.0.67.0/25给该单位。该方法给该单位共分配882个地址,多出82个地址。
【例1-5】根据子网数来划分子网,未考虑子网中的主机数。
某集团公司有13家子公司,每家子公司各有4个部门。该集团公司分配了一个172.16.0.0/16的网段,现给每家子公司以及子公司的部门分配IP地址段。
步骤一:先划分各子公司的所属网段。
有13家子公司,则至少需要13个子网,由2n≥13可知,n的最小值取4。因此,网络位需要向主机位借4位。那么可以从172.16.0.0/16这个大网段中划出24=16个子网。各子公司的子网段分配如表1.3所示。每个子公司最多容纳的主机数为212-2=4094。
步骤二:再划分子公司各部门的所属网段。
以子公司1获得172.16.0.0/20为例,其他子公司的部门网段划分方法相同。
子公司1有4个部门,由于22=4,因此网络位需要向主机位借2位,那么可以从172.16.0.0/20这个网段中再划出22=4个子网,正符合要求。子公司1各部门的子网段分配如表1.4所示。每个部门最多容纳主机数目为210-2=1022。
【例1-6】本例根据计算机台数来划分子网。
某集团公司给下属子公司甲分配了一段IP地址192.168.5.0/24,现在甲公司有两层办公楼(一楼和二楼),统一从一楼的路由器接入Internet。一楼有100台计算机连网,二楼有54台计算机连网,其拓扑结构图如图1-10所示。如何规划IP地址?
表1.3 子公司分配的子网段
表1.4 子公司1各部门分配的子网段
图1-10 公司甲网络拓扑图
步骤一:先根据最大的主机数需求划分子网。
因为一楼网段有100台计算机,至少需要5台24口交换机,加上路由器,每台设备需要1个管理IP地址,则一楼至少需要106个有效IP地址。所以,在192.168.5.0/24的主机位要保留至少7位,即在现有基础上网络位向主机位借1位,可划分出2个子网,具体表示如下:
① 11000000.10101000.00000101.00000000/25【192.168.5.0/25】
② 11000000.10101000.00000101.10000000/25【192.168.5.128/25】
将第1个子网段分配给一楼,即为192.168.5.0/25。
步骤二:从192.168.5.128/25中再次划分二楼网段使用的子网。
因为二楼网段至少要有54个有效IP地址,所以,主机位至少要保留6位(26-2=62),即在现有基础上网络位向主机位再借1位,可划分出2个子网,具体表示如下:
① 11000000.10101000.00000101.10000000/26【192.168.5.128/26】
② 11000000.10101000.00000101.11000000/26【192.168.5.192/26】
二楼网段从这两个子网段中选择一个即可,我们选择192.168.5.128/26。
步骤三:从192.168.5.192/26中最后划分路由器互连的网段使用的子网。
因为只需要2个有效IP地址,所以,主机位只要保留2位即可(22-2=2),即在现有基础上网络位向主机位借4位,可划分出16个子网,具体表示如下:
① 11000000.10101000.00000101.11000000/30【192.168.5.192/30】
② 11000000.10101000.00000101.11000100/30【192.168.5.196/30】
…………………………………
③ 11000000.10101000.00000101.11111100/30【192.168.5.252/30】
路由器互连的网段从这16个子网中选择一个即可,这里选择192.168.5.252/30。
步骤四:列出详细的IP地址规划表。如表1.5所示。
表1.5 子公司甲IP地址规划表