IP地址的计算方法.docx
《IP地址的计算方法.docx》由会员分享,可在线阅读,更多相关《IP地址的计算方法.docx(18页珍藏版)》请在冰豆网上搜索。
IP地址的计算方法
IP地址的计算方法(怎么计算网络号和主机号)
IP地址与网络分类
(1)IP地址
不同的物理网络技术有不同的编址方式;不同物理网络中的主机,有不同的物理网络地址。
网间网技术是将不同物理网络技术统一起来的高层软件技术。
网间网技术采用一种全局通用的地址格式,为全网的每一网络和每一主机都分配一个网间网地址,以此屏蔽物理网络地址的差异。
IP协议提供一种全网间网通用的地址格式,并在统一管理下进行地址分配,保证一个地址对应一台网间网主机(包括网关),这样物理地址的差异被IP层所屏蔽。
IP层所用到的地址叫做网间网地址,又叫IP地址。
它由网络号和主机号两部分组成,统一网络内的所有主机使用相同的网络号,主机号是唯一的。
IP地址是一个32为的二进制数,分成4个字段,每个字段8位。
(2)三类主要的网络地址
我们知道,从LAN到WAN,不同种类网络规模相差很大,必须区别对待。
因此按网络规模大小,将网络地址分为主要的三类,如下:
A类:
012381624
310网络号主机号
B类:
10网络号主机号
C类:
110网络号主机号
A类地址用于少量的(最多27个)主机数大于216的大型网,每个A类网络可容纳最多224台主机;B类地址用于主机数介于28~216之间数量不多不少的中型网,B类网络最多214个;C类地址用于每个网络只能容纳28台主机的大量小型网,C类网络最多221个。
除了以上A、B、C三个主类地址外,还有另外两类地址,如下:
D类:
1110多目地址
E类:
11110留待后用
其中多目地址(multicastaddress)是比广播地址稍弱的多点传送地址,用于支持多目传输技术。
E类地址用于将来的扩展之用。
(3)TCP/IP规定网络地址
除了一般地标识一台主机外,还有几种具有特殊意义的特殊形式。
*广播地址
TCP/IP规定,主机号全为“1”的网络地址用于广播之用,叫做广播地址。
所谓广播,指同时向网上所有主机发送报文。
*有限广播
前面提到的广播地址包含一个有效的网络号和主机号,技术上称为直接广播(directedboradcasting)地址。
在网间网上的任何一点均可向其他任何网络进行直接广播,但直接广播有一个缺点,就是要知道信宿网络的网络号。
有时需要在本网络内部广播,但又不知道本网络网络号。
TCP/IP规定,32比特全为“1”的网间网地址用于本网广播,该地址叫做有限广播地址(limitedbroadcastaddress)。
*“0”地址
TCP/IP协议规定,各位全为“0”的网络号被解释成“本”网络。
*回送地址
A类网络地址127是一个保留地址,用于网络软件测试以及本地机进程间通信,叫做回送地址(loopbackaddress)。
无论什么程序,一旦使用回送地址发送数据,协议软件立即返回之,不进行任何网络传输。
TCP/IP协议规定,一、含网络号127的分组不能出现在任何网络上;二、主机和网关不能为该地址广播任何寻径信息。
由以上规定可以看出,主机号全“0”全“1”的地址在TCP/IP协议中有特殊含义,不能用作一台主机的有效地址。
二、子网掩码
(1)子网TCP/IP网间网技术产生于大型主流机环境中,它能发展到今天的规模是当初的设计者们始料未及的。
网间网规模的迅速扩展对IP地址模式的威胁并不是它不能保证主机地址的唯一性,而是会带来两方面的负担:
第一,巨大的网络地址管理开销;第二,网关寻径急剧膨胀。
其中第二点尤为突出,寻径表的膨胀不仅会降低网关寻径效率(甚至可能使寻径表溢出,从而造成寻径故障),更重要的是将增加内外部路径刷新时的开销,从而加重网络负担。
因此,迫切需要寻求新的技术,以应付网间网规模增长带来的问题。
仔细分析发现,网间网规模的增长在内部主要表现为网络地址的增减,因此解决问题的思路集中在:
如何减少网络地址。
于是IP网络地址的多重复用技术应运而生。
通过复用技术,使若干物理网络共享同一IP网络地址,无疑将减少网络地址数。
子网编址(subnetaddressing)技术,又叫子网寻径(subnetrouting),英文简称subnetting,是最广泛使用的IP网络地址复用方式,目前已经标准化,并成为IP地址模式的一部分。
一般的,32位的IP地址分为两部分,即网络号和主机号,我们分别把他们叫做IP地址的“网间网部分”和“本地部分”。
子网编址技术将本地部分进一步划分为“物理网络”部分和“主机”部分,如图:
网间网部分物理网络主机
|←网间网部分→|←————本地部分—————→|
其中“物理网络”用于标识同一IP网络地址下的不同物理网络,既是“子网”。
(2)子网掩码IP协议标准规定:
每一个使用子网的网点都选择一个32位的位模式,若位模式中的某位置1,则对应IP地址中的某位为网络地址(包括网间网部分和物理网络号)中的一位;若位模式中的某位置0,则对应IP地址中的某位为主机地址中的一位。
例如位模式:
11111111111111111111111100000000中,前三个字节全1,代表对应IP地址中最高的三个字节为网络地址;后一个字节全0,代表对应IP地址中最后的一个字节为主机地址。
这种位模式叫做子网模(subnetmask)或“子网掩码”。
为了使用的方便,常常使用“点分整数表示法”来表示一个IP地址和子网掩码,例如B类地址子网掩码(11111111111111111111111100000000)为:
255.255.25.0IP协议关于子网掩码的定义提供一种有趣的灵活性,允许子网掩码中的“0”和“1”位不连续。
但是,这样的子网掩码给分配主机地址和理解寻径表都带来一定困难,并且,极少的路由器支持在子网中使用低序或无序的位,因此在实际应用中通常各网点采用连续方式的子网掩码。
像255.255.255.64和255.255.255.160等一类的子网掩码不推荐使用。
(3)子网掩码与IP地址子网掩码与IP地址结合使用,可以区分出一个网络地址的网络号和主机号。
例如:
有一个C类地址为:
192.9.200.13其缺省的子网掩码为:
255.255.255.0则它的网络号和主机号可按如下方法得到:
①将IP地址192.9.200.13转换为二进制11000000000010011100100000001101
②将子网掩码255.255.255.0转换为二进制11111111111111111111111100000000
③将两个二进制数逻辑与(AND)运算后得出的结果即为网络部分11000000000010011100100000001101AND1111111111111111111111110000000011000000000010011100100000000000结果为192.9.200.0,即网络号为192.9.200.0。
④将子网掩码取反再与IP地址逻辑与(AND)后得到的结果即为主机部分11000000000010011100100000001101AND0000000000000000000000001111111100000000000000000000000000001101结果为0.0.0.13,即主机号为13。
(4)子网掩码与IP地址子网掩码与IP地址结合使用,可以区分出一个网络地址的网络号和主机号。
例如:
有一个C类地址为:
192.9.200.13其缺省的子网掩码为:
255.255.255.0则它的网络号和主机号可按如下方法得到:
①将IP地址192.9.200.13转换为二进制11000000000010011100100000001101
②将子网掩码255.255.255.0转换为二进制11111111111111111111111100000000
③将两个二进制数逻辑与(AND)运算后得出的结果即为网络部分11000000000010011100100000001101AND1111111111111111111111110000000011000000000010011100100000000000结果为192.9.200.0,
即网络号为192.9.200.0。
④将子网掩码取反再与IP地址逻辑与(AND)后得到的结果即为主机部分11000000000010011100100000001101AND0000000000000000000000001111111100000000000000000000000000001101结果为0.0.0.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个子网。
若我们用的网络号为192.9.200,则该C类网内的主机IP地址就是192.9.200.1~192.9.200.254(因为全“0”和全“1”的主机地址有特殊含义,不作为有效的IP地址),现将网络划分为4个部分,按照以上步骤:
4=22,取22的幂,即2,则二进制为11,占用主机地址的高序位即为11000000,转换为十进制为192。
这样就可确定该子网掩码为:
192.9.200.192,4个子网的IP地址范围分别为:
二进制十进制
①1100000000001001110010000000000111000000000010011100100000111110192.9.200.1
192.9.200.62
②1100000000001001110010000100000111000000000010011100100001111110192.9.200.65
192.9.200.126
③1100000000001001110010001000000111000000000010011100100010111110192.9.200.129
192.9.200.190
④1100000000001001110010001100000111000000000010011100100011111110192.9.200.193
192.9.200.254
在此列出A、B、C三类网络子网数目与子网掩码的转换表,以供参考。
A类:
子网数目占用位数子网掩码子网中主机数
21255.128.0.08,388,606
42255.192.0.04,194,302
83255.224.0.02,097,150
164255.240.0.01,048,574
325255.248.0.0524,286
646255.252.0.0262,142
1287255.254.0.0131,070
1288255.255.0.065,534
B类:
子网数目占用位数子网掩码子网中主机数
21255.255.128.032,766
42255.255.192.016,382
83255.255.224.08,190
164255.255.240.04,094
325255.255.248.02,046
646255.255.252.01,022
1287255.255.254.0510
2568255.255.255.0254
C类:
子网数目占用位数子网掩码子网中主机数
21255.255.255.128126
42255.255.255.19262
83255.255.255.22430
164255.255.255.24014
325255.255.255.2486
646255.255.255.2522
-------------------------------------------
IP地址为202.196.1.35/27的主机所在的网络地址为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,自身都已经提供了更改网卡地址的功能,只是平时大家都没上这方面想,因此没有注意到而以,很简单的哦.....
现在我们先来看看WIN2000。
在桌面上的网上邻居图标上单击右键,选择“属性”,在弹出的“网络和拨号连接”窗口中一般有两个图标,一个是“新建连接”图标,一个是“我的连接”图标。
当然了,如果你的机器上有两个网卡的话,那就有三个图标了。
现在假设你只有一个网卡,那就在“我的连接”图标上单击右键,选择“属性”,这时会弹出一个“我的连接属性”的窗口。
在窗口下面有一个“配置”按钮,点击该按钮后就进入了网卡的属性对话框了,这个对话框中有五个属性页,点击第二项“高级”页,在“属性”标识下有两项或多项,现在你应该能看到一个叫“NetworkAddress”的属性项了吧,点击该项,在对话框右边的“值”标识下有两个单选项,默认是“不存在”,现在你只要选中上面一个单选项,然后在右边的框中输入你想改的网卡MAC地址(注意要连续输入,不要带“-”),如“00E0404000A0”,点“确定”,OK!
你已经大功告成了!
在98下面的修改和WIN2000下差不多。
在“网上邻居”图标上单击右键,选择“属性”,弹出一个“网络”对话框,在“配置”框中,双击你要修改的网卡,出来一个网卡属性对话框。
在“高级”选项中,也是点击“属性”标识下的“NetworkAddress”项,在右边的两个单选项中选择上面一个,再在框中输入你要修改的网卡MAC地址,点“确定”后,系统会提示你重新启动。
接下来就不用我说了吧!
:
)(重启后你可以用“winipcfg”看看修改的结果)
如果你想把网卡的MAC地址恢复原样,只要选择“NetworkAddress”项右边的“没有显示”再重新启动即可。
在WIN2000下面是选择“不存在”,当然也不用重新启动了。
二、注册表修改的方法
由于驱动或网卡的关系,有的机器中没有“NetworkAddress”项,那我们只有通过修改注册表来进行修改了。
◆Windows2000的修改
1、在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\0000、0001、0002等主键下,查找DriverDesc,内容为你要修改的网卡的描述,如“RealtekRTL8029(AS)-basedPCIEthernetAdapter”。
2、在其下,添加一个字符串,命名为NetworkAddress,其值设为你要的MAC地址(注意地址还是连续写)。
如:
00E0DDE0E0E0。
3、然后到其下Ndi\params中添加一项名为NetworkAddress的主键,在该主键下添加名为default的字符串,其值是你要设的MAC地址,要连续写,如:
000000000000。
(实际上这只是设置在后面提到的高级属性中的“初始值”,实际使用的MAC地址还是取决于在第2点中提到的NetworkAddress参数,这个参数一旦设置后,以后高级属性中的值就是NetworkAddress给出的值而非default给出的了。
)
4、在NetworkAddress的主键下继续添加名为ParamDesc的字符串,其作用为指定NetworkAddress主键的描述,其值可自己命名,如“NetworkAddress”,这样在网卡的高级属性中就会出现NetworkAddress选项,就是你刚在注册表中加的新项NetworkAddress,以后只要在此修改MAC地址就可以了。
继续添加名为Optional的字符串,其值设为“1”,则以后当你在网卡的高级属性中选择NetworkAddress项时,右边会出现“不存在”选项。
5、重新启动你的计算机,打开网络邻居的属性,双击相应网卡项会发现有一个NetworkAddress的高级设置项,可以用来直接修改MAC地址或恢复原来的地址。
◆Win9x的修改
1、在HKEY_LOCAL_MACHINE\system\Currentcontrolset\services\class\net\0000、0001、0002等下,找到DriverDesc字符串。
2、在其下,添加一个字符串,名字为NetworkAddress,其值设为你要的MAC地址,注意要连续写。
如:
00E0DDE0E0E0。
3、然后到其下Ndi\params中添加一项名为NetworkAddress的主键,在该主键下添加名为default的字符串,其值写你要设的MAC地址,注意要连续的写,如00E0DDE0E0E0。
4、继续添加名为ParamDesc的字符串,其作用为指定NettworkAddress主键的描述,其值可自己命名,如“NetworkAddress”,这样以后打开网络邻居的属性,这样在网卡的高级属性中就会出现NetworkAddress选项,就是你刚在注册表中加的新项NetworkAddress,以后只要在此修改MAC地址就可以了。
继续添加名为Optional的字符串,其值设为“1”,则以后当你在网卡的高级属性中选择NetworkAddress项时,右边会出现“没有显示”选项。
◆WinNT下改网卡地址的方法:
1、打开注册表,定位到HKEY_LOCAL_MACHINE->SYSTEM->CurrentControlSet->Services
2、找到网卡的键值,在Parameters项里添加字串值NetworkAddress,其值设为你要修改的MAC地址,如:
“00E0DDE0E0E0”。
二、Linux下的MAC地址更改
1.首先必须关闭网卡设备,否则会报告系统忙,无法更改。
命令是:
“/sbin/ifconfigeth0down”
2.修改MAC地址,这一步较Windows中的修改要简单。
命令是:
“/sbin/ifconfigeth0hwether00AABBCCDDEE”
3.重新启用网卡“/sbin/ifconfigeth0up”网卡的MAC地址更改就完成了。
以常用的Windows2000/XP为例:
第一步,单击“开始”→“运行”→输入“Regedit”,打开注册表编辑器,按Ctrl+F打开查找窗,输入“DriverDesc”单击确定(图4)。
双击找到的内容,即为你要修改的网卡的信息描述,左边数形列表显示当前主键(比如0000)。
第二步,在相应的0000下新建一串值,命名为NetworkAddress,键值设为你要的MAC地址,注意要连续写,如112233445566。
第三步,重新启动计算机,你就会发现网卡MAC地址已经改变为你所设置的地址。
然而,如果你要经常改换地址的话在注册表里改来改去的方法就实在是太繁琐了。
不用担心,再进行下面两项修改后你就会发现以后修改MAC地址竟是如此简单!
第四步,在相应的0000下的Ndi\Params中加一项,主键名为NetworkAddress,然后在该主键下添加名为default的串值,其值设为你要设的MAC地址,同样也要连续地写。
第五步,在NetworkAddress主键下继续添加名为ParamDesc的字符串,其值可设为“MACAddress”。
全部设置完成了,关闭注册表,重新启动计算机,打开“网络邻居”的属性,选择相应的网卡,单击“属性”选择“高级”选项卡,属性中会多出MACAddress的选项,也就是在上面第二步在注册表中添加的NetworkAddress项,以后只要在此处的设置值中修改MAC地址就可以了。
Windows9x的修改方法很类似。
不同的操作系统中查询MAC地址的方法不同。
Windows95,Windows98或WindowsME:
1.点击“开始”菜单中的->“运行”菜单项
2.在“运行”窗口里输入“",点击“确定”按钮
3.在打开的命令窗口里,执行“ipconfig/all”命令
4.PhysicalAddress项即是MAC地址
Windows2000和WindowsXP:
1.点击“开始”菜单中的->“运行”菜单项
2.在“运行”窗口里输入“cmd",点击“确定”按钮
3.在打开的命令窗口里,执行“ipconfig/all”命令
4.PhysicalAddress项即是MAC地址(5.执行“getmac”命令也可获得mac地址)
另一种方法,对于vista操作系统同样有效:
1.点击“开始”菜单中的->“运行”菜单项
2.在“运行”窗口里输入“cmd",点击“确定”按钮
3.在打开的命令窗口里,执行“getmac”命令
修改:
我们都知道一些公司,学校等都会对网络进行统一管理,其中一个很重要的统一管理是就是根据网卡的物理地址绑定IP地址。
如果你在公司上网,进行BT下载,QQ上网等违反了规定的,网管就可以根据你所登记的网卡地址封了你的IP地址。
要解决IP被封的问题根本就是要修改网卡地址,修改网卡MAC地址有多种方法:
一、直接修改
打开网络连