1、IP地址的计算方法IP地址的计算方法(怎么计算网络号和主机号)IP地址与网络分类 (1)IP地址 不同的物理网络技术有不同的编址方式;不同物理网络中的主机,有不同的物理网络地址。网间网技术是将不同物理网络技术统一起来的高层软件技术。网间网技术采用一种全局通用的地址格式,为全网的每一网络和每一主机都分配一个网间网地址,以此屏蔽物理网络地址的差异。IP协议提供一种全网间网通用的地址格式,并在统一管理下进行地址分配,保证一个地址对应一台网间网主机(包括网关),这样物理地址的差异被IP层所屏蔽。IP层所用到的地址叫做网间网地址,又叫IP地址。它由网络号和主机号两部分组成,统一网络内的所有主机使用相同的
2、网络号,主机号是唯一的。IP地址是一个32为的二进制数,分成4个字段,每个字段8位。 (2)三类主要的网络地址 我们知道,从LAN到WAN,不同种类网络规模相差很大,必须区别对待。因此按网络规模大小,将网络地址分为主要的三类,如下: A类: 0 1 2 3 8 16 24 3 1 0网络号主机号 B类: 1 0网络号主机号 C类: 1 1 0网络号主机号 A类地址用于少量的(最多27个)主机数大于216的大型网,每个A类网络可容纳最多224台主机;B类地址用于主机数介于28216之间数量不多不少的中型网,B类网络最多214个;C类地址用于每个网络只能容纳28台主机的大量小型网,C类网络最多22
3、1个。 除了以上A、B、C三个主类地址外,还有另外两类地址,如下: D类: 1 1 1 0多目地址 E类: 1 1 1 1 0留待后用 其中多目地址(multicast address)是比广播地址稍弱的多点传送地址,用于支持多目传输技术。E类地址用于将来的扩展之用。 (3)TCP/IP规定网络地址 除了一般地标识一台主机外,还有几种具有特殊意义的特殊形式。 *广播地址 TCP/IP规定,主机号全为“1”的网络地址用于广播之用,叫做广播地址。所谓广播,指同时向网上所有主机发送报文。 *有限广播 前面提到的广播地址包含一个有效的网络号和主机号,技术上称为直接广播(directed boradca
4、sting)地址。在网间网上的任何一点均可向其他任何网络进行直接广播,但直接广播有一个缺点,就是要知道信宿网络的网络号。 有时需要在本网络内部广播,但又不知道本网络网络号。TCP/IP规定,32比特全为“1”的网间网地址用于本网广播,该地址叫做有限广播地址(limited broadcast address)。 *“0”地址 TCP/IP协议规定,各位全为“0”的网络号被解释成“本”网络。 *回送地址 A类网络地址127是一个保留地址,用于网络软件测试以及本地机进程间通信,叫做回送地址(loopback address)。无论什么程序,一旦使用回送地址发送数据,协议软件立即返回之,不进行任何网
5、络传输。 TCP/IP协议规定,一、含网络号127的分组不能出现在任何网络上;二、主机和网关不能为该地址广播任何寻径信息。由以上规定可以看出,主机号全“0”全“1”的地址在TCP/IP协议中有特殊含义,不能用作一台主机的有效地址。 二、子网掩码 (1)子网TCP/IP网间网技术产生于大型主流机环境中,它能发展到今天的规模是当初的设计者们始料未及的。网间网规模的迅速扩展对IP地址模式的威胁并不是它不能保证主机地址的唯一性,而是会带来两方面的负担:第一,巨大的网络地址管理开销;第二,网关寻径急剧膨胀。其中第二点尤为突出,寻径表的膨胀不仅会降低网关寻径效率(甚至可能使寻径表溢出,从而造成寻径故障),
6、更重要的是将增加内外部路径刷新时的开销,从而加重网络负担。 因此,迫切需要寻求新的技术,以应付网间网规模增长带来的问题。仔细分析发现,网间网规模的增长在内部主要表现为网络地址的增减,因此解决问题的思路集中在:如何减少网络地址。于是IP网络地址的多重复用技术应运而生。 通过复用技术,使若干物理网络共享同一IP网络地址,无疑将减少网络地址数。 子网编址(subnet addressing)技术,又叫子网寻径(subnetrouting),英文简称subnetting,是最广泛使用的IP网络地址复用方式,目前已经标准化,并成为IP地址模式的一部分。 一般的,32位的IP地址分为两部分,即网络号和主机
7、号,我们分别把他们叫做IP地址的“网间网部分”和“本地部分”。子网编址技术将本地部分进一步划分为“物理网络”部分和“主机”部分,如图: 网间网部分物理网络主机 |网间网部分|本地部分| 其中“物理网络”用于标识同一IP网络地址下的不同物理网络,既是“子网”。 (2)子网掩码IP协议标准规定:每一个使用子网的网点都选择一个32位的位模式,若位模式中的某位置1,则对应IP地址中的某位为网络地址(包括网间网部分和物理网络号)中的一位;若位模式中的某位置0,则对应IP地址中的某位为主机地址中的一位。例如位模式: 11111111 11111111 11111111 00000000中,前三个字节全1,
8、代表对应IP地址中最高的三个字节为网络地址;后一个字节全0,代表对应IP地址中最后的一个字节为主机地址。这种位模式叫做子网模(subnet mask)或“子网掩码”。 为了使用的方便,常常使用“点分整数表示法”来表示一个IP地址和子网掩码,例如B类地址子网掩码(11111111 11111111 11111111 00000000)为: 255.255.25.0 IP协议关于子网掩码的定义提供一种有趣的灵活性,允许子网掩码中的“0”和“1”位不连续。但是,这样的子网掩码给分配主机地址和理解寻径表都带来一定困难,并且,极少的路由器支持在子网中使用低序或无序的位,因此在实际应用中通常各网点采用连续
9、方式的子网掩码。像255.255.255.64和255.255.255.160等一类的子网掩码不推荐使用。 (3)子网掩码与IP地址子网掩码与IP地址结合使用,可以区分出一个网络地址的网络号和主机号。 例如:有一个C类地址为: 192920013其缺省的子网掩码为: 2552552550则它的网络号和主机号可按如下方法得到: 将IP地址192920013转换为二进制11000000 00001001 11001000 00001101 将子网掩码2552552550转换为二进制11111111 11111111 11111111 00000000 将两个二进制数逻辑与(AND)运算后得出的结果
10、即为网络部分11000000 00001001 11001000 00001101 AND 11111111 11111111 11111111 00000000 11000000 00001001 11001000 00000000结果为192.9.200.0,即网络号为192.9.200.0。 将子网掩码取反再与IP地址逻辑与(AND)后得到的结果即为主机部分11000000 00001001 11001000 00001101 AND 00000000 00000000 00000000 11111111 00000000 00000000 00000000 00001101结果为0.0
11、.0.13,即主机号为13。 (4)子网掩码与IP地址子网掩码与IP地址结合使用,可以区分出一个网络地址的网络号和主机号。 例如:有一个C类地址为: 192920013 其缺省的子网掩码为: 2552552550 则它的网络号和主机号可按如下方法得到: 将IP地址192920013转换为二进制11000000 00001001 11001000 00001101 将子网掩码2552552550转换为二进制11111111 11111111 11111111 00000000 将两个二进制数逻辑与(AND)运算后得出的结果即为网络部分11000000 00001001 11001000 0000
12、1101 AND 11111111 11111111 11111111 00000000 11000000 00001001 11001000 00000000结果为192.9.200.0, 即网络号为19292000。 将子网掩码取反再与IP地址逻辑与(AND)后得到的结果即为主机部分11000000 00001001 11001000 00001101 AND 00000000 00000000 00000000 11111111 00000000 00000000 00000000 00001101 结果为0.0.0.13,即主机号为13。 三、子网划分与实例根据以上分析,建议按以下步骤
13、和实例定义子网掩码。 1、将要划分的子网数目转换为2的m次方。如要分8个子网,8=23。 2、取上述要划分子网数的2的m次方的幂。如23,即m=3。 3、将上一步确定的幂m按高序占用主机地址m位后转换为十进制。如m为3 则是11100000,转换为十进制为224,即为最终确定的子网掩码。如果是C类网,则子网掩码为255.255.255.224;如果是B类网,则子网掩码为255.255.224.0;如果是C类网,则子网掩码为255.224.0.0。 在这里,子网个数与占用主机地址位数有如下等式成立:2m=n。其中,m表示占用主机地址的位数;n表示划分的子网个数。根据这些原则,将一个C类网络分成4
14、个子网。若我们用的网络号为1929200,则该C类网内的主机IP地址就是192.9.200.1192.9.200.254(因为全“0”和全“1”的主机地址有特殊含义,不作为有效的IP地址),现将网络划分为4个部分,按照以上步骤: 4=22,取22的幂,即2,则二进制为11,占用主机地址的高序位即为11000000,转换为十进制为192。这样就可确定该子网掩码为:192.9.200.192,4个子网的IP地址范围分别为: 二进制十进制 11000000 00001001 11001000 00000001 11000000 00001001 11001000 00111110 19292001
15、192920062 11000000 00001001 11001000 01000001 11000000 00001001 11001000 01111110 192920065 1929200126 11000000 00001001 11001000 10000001 11000000 00001001 11001000 10111110 1929200129 1929200190 11000000 00001001 11001000 11000001 11000000 00001001 11001000 11111110 1929200193 1929200254 在此列出A、B、C
16、三类网络子网数目与子网掩码的转换表,以供参考。 A类: 子网数目 占用位数 子网掩码 子网中主机数 2 1 25512800 8,388,606 4 2 25519200 4,194,302 8 3 25522400 2,097,150 16 4 25524000 1,048,574 32 5 25524800 524,286 64 6 25525200 262,142 128 7 25525400 131,070 128 8 25525500 65,534 B类: 子网数目 占用位数 子网掩码 子网中主机数 2 1 2552551280 32,766 4 2 2552551920 16,38
17、2 8 3 2552552240 8,190 16 4 2552552400 4,094 32 5 2552552480 2,046 64 6 2552552520 1,022 128 7 2552552540 510 256 8 2552552550 254 C类: 子网数目 占用位数 子网掩码 子网中主机数 2 1 255255255128 126 4 2 255255255192 62 8 3 255255255224 30 16 4 255255255240 14 32 5 255255255248 6 64 6 255255255252 2-IP地址为202.196.1.35/27的
18、主机所在的网络地址为202.196.1.32,计算方法是用IP地址和子网掩码化为二进制后做与运算. 主机172.24.100.45/16和主机127.24.101.46/16一定不在同一网段.第一字节就不同. 如果是写错了,那么172.24.100.45/16和主机172.24.101.46/16在同一网段,网络位完全一致. 主机172.24.100.45/24和主机172.24.101.46/24不在同一网段,前者地址范围是172.24.100.0-255,后者地址范围是172.24.101.0-255.修改网卡物理地址的方法 一、简单的修改方法 其实不论 98 还是 2000 ,自身都已经
19、提供了更改网卡地址的功能,只是平时大家都没上这方面想,因此没有注意到而以,很简单的哦 . 现在我们先来看看 WIN2000 。在桌面上的网上邻居图标上单击右键,选择“属性”,在弹出的“网络和拨号连接”窗口中一般有两个图标,一个是“新建连接”图标,一个是“我的连接”图标。当然了,如果你的机器上有两个网卡的话,那就有三个图标了。现在假设你只有一个网卡,那就在“我的连接”图标上单击右键,选择“属性”,这时会弹出一个“我的连接属性”的窗口。在窗口下面有一个“配置”按钮,点击该按钮后就进入了网卡的属性对话框了,这个对话框中有五个属性页,点击第二项“高级”页,在“属性”标识下有两项或多项,现在你应该能看到
20、一个叫“ Network Address ”的属性项了吧,点击该项,在对话框右边的“值”标识下有两个单选项,默认是“不存在” ,现在你只要选中上面一个单选项,然后在右边的框中输入你想改的网卡 MAC 地址(注意要连续输入,不要带“”),如“ 00E0404000A0 ”,点“确定”, OK !你已经大功告成了! 在 98 下面的修改和 WIN2000 下差不多。在“网上邻居”图标上单击右键,选择“属性”,弹出一个“网络”对话框,在“配置”框中,双击你要修改的网卡,出来一个网卡属性对话框。在“高级”选项中,也是点击“属性”标识下的“ Network Address ”项,在右边的两个单选项中选择
21、上面一个,再在框中输入你要修改的网卡 MAC 地址,点“确定”后,系统会提示你重新启动。接下来就不用我说了吧!:)(重启后你可以用“ winipcfg ”看看修改的结果) 如果你想把网卡的 MAC 地址恢复原样,只要选择“ Network Address ”项右边的“没有显示”再重新启动即可。在 WIN2000 下面是选择“不存在”,当然也不用重新启动了。 二、注册表修改的方法 由于驱动或网卡的关系,有的机器中没有“ Network Address ”项,那我们只有通过修改注册表来进行修改了。 Windows2000 的修改 1 、在 HKEY_LOCAL_MACHINESYSTEMCurre
22、ntControlSetControlClass4D36E972-E325-11CE-BFC1-08002BE103180000 、 0001 、 0002 等主键下,查找 DriverDesc ,内容为你要修改的网卡的描述,如“ Realtek RTL8029(AS)-based PCI Ethernet Adapter ”。 2 、在其下,添加一个字符串,命名为 NetworkAddress ,其值设为你要的 MAC 地址(注意地址还是连续写)。如: 00E0DDE0E0E0 。 3 、然后到其下 Ndiparams 中添加一项名为 NetworkAddress 的主键,在该主键下添加名为
23、 default 的字符串,其值是你要设的 MAC 地址,要连续写,如: 000000000000 。(实际上这只是设置在后面提到的高级属性中的“初始值”,实际使用的 MAC 地址还是取决于在第 2 点中提到的 NetworkAddress 参数,这个参数一旦设置后,以后高级属性中的值就是 NetworkAddress 给出的值而非 default 给出的了。) 4 、在 NetworkAddress 的主键下继续添加名为 ParamDesc 的字符串,其作用为指定 NetworkAddress 主键的描述,其值可自己命名,如“ Network Address ”,这样在网卡的高级属性中就会出
24、现 Network Address 选项,就是你刚在注册表中加的新项 NetworkAddress ,以后只要在此修改 MAC 地址就可以了。继续添加名为 Optional 的字符串,其值设为“ 1 ”,则以后当你在网卡的高级属性中选择 Network Address 项时,右边会出现“不存在”选项。 5 、重新启动你的计算机,打开网络邻居的属性,双击相应网卡项会发现有一个 Network Address 的高级设置项,可以用来直接修改 MAC 地址或恢复原来的地址。 Win9x 的修改 1 、在 HKEY_LOCAL_MACHINEsystemCurrentcontrolsetservice
25、sclassnet0000 、 0001 、 0002 等下,找到 DriverDesc 字符串。 2 、在其下,添加一个字符串,名字为 NetworkAddress ,其值设为你要的 MAC 地址,注意要连续写。如: 00E0DDE0E0E0 。 3 、然后到其下 Ndiparams 中添加一项名为 NetworkAddress 的主键,在该主键下添加名为 default 的字符串,其值写你要设的 MAC 地址,注意要连续的写,如 00E0DDE0E0E0 。 4 、继续添加名为 ParamDesc 的字符串,其作用为指定 NettworkAddress 主键的描述,其值可自己命名,如“ N
26、etwork Address ”,这样以后打开网络邻居的属性,这样在网卡的高级属性中就会出现 Network Address 选项,就是你刚在注册表中加的新项 NetworkAddress ,以后只要在此修改 MAC 地址就可以了。 继续添加名为 Optional 的字符串,其值设为“ 1 ”,则以后当你在网卡的高级属性中选择 Network Address 项时,右边会出现“没有显示”选项。 WinNT 下改网卡地址的方法: 1 、打开注册表,定位到 HKEY_LOCAL_MACHINE-SYSTEM-CurrentControlSet-Services 2 、找到网卡的键值,在 Param
27、eters 项里添加字串值 NetworkAddress ,其值设为你要修改的 MAC 地址,如:“ 00E0DDE0E0E0 ”。 二、 Linux下的MAC地址更改 1.首先必须关闭网卡设备,否则会报告系统忙,无法更改。命令是:“/sbin/ifconfig eth0 down” 2.修改MAC地址,这一步较Windows中的修改要简单。 命令是:“/sbin/ifconfig eth0 hw ether 00 AA BB CC DD EE” 3.重新启用网卡“/sbin/ifconfig eth0 up”网卡的MAC地址更改就完成了。 以常用的Windows 2000/XP为例:第一步,
28、单击“开始”“运行”输入“Regedit”,打开注册表编辑器,按Ctrl+F打开查找窗,输入“DriverDesc”单击确定(图4)。双击找到的内容,即为你要修改的网卡的信息描述,左边数形列表显示当前主键(比如0000)。第二步,在相应的0000下新建一串值,命名为NetworkAddress,键值设为你要的MAC地址,注意要连续写,如112233445566。 第三步,重新启动计算机,你就会发现网卡MAC地址已经改变为你所设置的地址。然而,如果你要经常改换地址的话在注册表里改来改去的方法就实在是太繁琐了。不用担心,再进行下面两项修改后你就会发现以后修改MAC地址竟是如此简单!第四步,在相应的
29、0000下的NdiParams中加一项,主键名为NetworkAddress,然后在该主键下添加名为default的串值,其值设为你要设的MAC地址,同样也要连续地写。第五步,在NetworkAddress主键下继续添加名为ParamDesc的字符串,其值可设为“MAC Address”。 全部设置完成了,关闭注册表,重新启动计算机,打开“网络邻居”的属性,选择相应的网卡,单击“属性”选择“高级”选项卡,属性中会多出MAC Address的选项,也就是在上面第二步在注册表中添加的NetworkAddress项,以后只要在此处的设置值中修改MAC地址就可以了。 Windows 9x的修改方法很类
30、似。不同的操作系统中查询MAC地址的方法不同。Windows 95,Windows 98或Windows ME: 1. 点击“开始”菜单中的-“运行”菜单项 2. 在“运行”窗口里输入“,点击“确定”按钮 3. 在打开的命令窗口里,执行“ipconfig /all”命令 4. Physical Address项即是MAC地址 Windows 2000和Windows XP:1. 点击“开始”菜单中的-“运行”菜单项 2. 在“运行”窗口里输入“cmd,点击“确定”按钮 3. 在打开的命令窗口里,执行“ipconfig /all”命令 4. Physical Address项即是MAC地址(5.执行“getmac”命令也可获得mac地址) 另一种方法,对于vista操作系统同样有效: 1. 点击“开始”菜单中的-“运行”菜单项 2. 在“运行”窗口里输入“cmd,点击“确定”按钮 3. 在打开的命令窗口里,执行“getmac”命令 修改:我们都知道一些公司,学校等都会对网络进行统一管理,其中一个很重要的统一管理是就是根据网卡的物理地址绑定IP地址。如果你在公司上网,进行BT下载,QQ上网等违反了规定的,网管就可以根据你所登记的网卡地址封了你的IP地址。要解决IP被封的问题根本就是要修改网卡地址,修改网卡MAC地址有多种方法:一、直接修改打开网络连
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1