分享
 
 
 

IP地址

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

二进位和逻辑运算

在我们认识IP地址之前╋我想我们很有必要认识两个概念?二进位和逻辑运算。虽然我也知道这两个东东都不好理解╋但如果不知道它们的工作原理╋那么以后我们在讨论IP地址和子网的时候╋您就要靠死记了。不过一旦你知道了其原理╋那么您在任何的IP网路中都不至于迷失╋所谓“万变不离其宗”是也。

二进位 (Binary)

为什么我们要学二进位?哎呀╋还不是该死的蠢电脑嘛?它只懂得0和1╋那么我们要和电脑沟通的时候╋也只好装蠢一些才行。当电脑要处理IP运算的时候╋最终是以二进位的形式进行的。

我们人类最习惯的运算规则是十进位╋也就是从0到9为一圈╋回到零的时候就进一位数?而我们前面讨论的bit和byte则是八进位╋即0到7为一圈╋回到零就进一位数?另外还有十六进位╋由0到15为一圈╋回到零进一位╋但使用数字15很容易和十进位混乱╋所以在十六进位里面╋从10到15之间分别用英文字母A到F代替了╋所以我们通常看到的十六进位是从0到F的排列。

好了╋认识了上面这几种运算规则╋相信理解二进位也不难╋道理是一样的?从0到1为一圈╋回到0进一。那么我们看看十七个连续递增的十进位?二进位?和十六进位数字之间的比较╋将会是这样的?

如果您想进行二进位和十进位的换算╋在列表中找到相应的数字是最简单的方法╋但正如您刚才所见╋光十六个数字已经有这么长的列表了╋如果要找成千上百个数字可不是件容易的事情。不过╋我们在IP地址上面看到的十进位数字最大不会超过255这个数值。我们可以先将2的0到7次方列出来?

当我们要将十进位换成二进位的时候╋我们只要找到找到该数字对应的栏位(方法是找到两个数值相若的栏位╋而取其右)╋在相对的栏位填上1╋然后╋用余数继续寻找下一栏位╋再填1╋直到再没余数为止╋最后把其它栏位都填上0就可以了。

例如?我们要换算220这个十进位数字到二进位?

我们找到128这栏位是最合适的╋(因为128的左边是256╋而220 界乎它们之间╋取其右则为 128 )。那么我们在128这栏位上面填上1╋

继续余数92?我们找到64这栏位是最合适的╋那么在64这个栏位也填上1╋

继续余数28?我们找到16这栏位是最合适的╋那么在16这个栏位也填上1╋

继续余数12?我们找到8这栏位是最合适的╋那么在8这个栏位也填上1╋

继续余数4?我们找到4这栏位刚好对应╋这是最好找到情形了。那么在4这个栏位也填上1╋

因为再没有余数了╋其它都填上0就对了。

其结果如下?

如果我们要将二进位换算成十进位╋利用上面的栏目来做就更加简单了?只要将二进位数字从右往左的顺序依次填入栏位╋那么╋将凡是被1所对应的数字相加╋得出来的和就是十进位数字了。

当然啦╋这是手工的方法啦╋如果您有二进位的计数器╋或是使用Windows的小算盘╋来进行换算╋更是易如反掌啦。如果您还不知道怎么用Windows的小算盘点话╋可以依以下步骤进行?

1.“开始/程式集/附属应用程式/小算盘”

2.然后拉下“检视”选单╋确定“工程型”已被选择

3.然后点选“十进位”╋输入数值

4.再点选“二进位”就可以获得换算数值了

逻辑运算

逻辑运算是Microcomputer Architature的必修单元╋这里╋我们只需了解几个最基本的运算就可以了?一个是AND?一个是OR?还有一个是NOT。

在二进位的AND的运算中╋只有参与运算的双方都相同才会得出相同的结果(为0或1)╋否则为0?也就是?只有双为1的时候╋其结果才会是1╋否则为0。其情形是?

0 AND 0 = 0

1 AND 1 = 1

0 AND 1 = 0

这里您不难看出?凡是有1参与的AND运算╋其结果都会是对方(不管是0或1)?而凡是有0参与的AND运算╋其结果都会是0。

在二进位的OR运算中╋只有双方为0的时候才为0╋否则都会是1。其情形是?

0 OR 0 = 0

1 OR 1 = 1

0 OR 1 = 1

记忆方法?凡是有0参与的OR运算╋其结果都是对方?而只要有1参与的OR运算╋其结果都会是1。

NOT的运算最简单╋只有一方参与╋凡是经过NOT运算╋其结果都会相反?

NOT 0 = 1

NOT 1 = 0

至于其它一些NAND或NOR的运算╋只不过将NOT和AND?及NOT和OR合并在一起运算而已。

认识IP地址

好了╋经过刚才一轮“洗脑”之后╋我们终于要谈到IP地址了。如果您的机器现在是连上网路的╋且使用的是IP协定╋(我想您应该这样吧╋否则怎么看我的文章呢?)。

我假设您使用的是Windows系统╋那么╋现在就请您按“开始”然后“执行”╋再请您用键盘输入“winipcfg”╋然后“确定”。这时候╋您应该看到一个视窗跑出来╋并在“IP位址”栏目上面显示着您机器当前使用的IP号码。或许会是139.175.152.254这样的一组号码╋不过您知道这组号码的代表着什么意思吗?如果按正常设定来说╋我可以说这是B class的IP号码╋而且是属于seed.net的拨接网路的。

我怎么会知道?哈哈╋等您看完了后面的文章╋您还可以告诉我更多呢?

IP Class和识别码

正如您所见到的IP地址╋是四组用“.”分开的十进位数字╋我们称每组数字为一个“octet”╋这样的格式被称作“Dotted quad”。其实每一组都是一个8-bit的二进位数字(使用十进完全是为了迁就人类的习惯)╋合共起来就是一个32-bit的IP地址了╋亦即是IP v4 (Version 4) 版本的地址╋现在IP v6 (使用128-bit的IP地址)也正如火如沟目?⒅小?

如果您记得我们前面在“网路概论”里面讨论IPX地址的时候所提到的Internal和External地址的话╋您应该知道Internal地址是用来识别主机的╋而External地址则是用来识别网路的。IP地址其实也有这样的功能╋只不过将网路的识别码和主机的识别码放在单一的IP地址上面了。

不过╋在区分Net ID和Host ID之前╋先让我们认识一下IP地址的分类(Class):

如果我们将IP地址全部用二进位来表示的话╋每个octet都是8-bit╋如果不够8-bit的话╋则往左边填上0╋直到补满为止。这时候╋你再看看最左边的数字是以什么为开头的?

?如果是以“0”开头的╋这IP是一个A Class的IP

?如果是以“10”开头的╋这是一个B Class的IP

?如果是以“110”为开头的╋则属于C Class的IP

相信您知道为什么我们在一开头就学二进位换算了吧?如果您不懂得如何换算╋您也可以死记?由1到126开头的IP是A Class?由128到191开头的IP是B Class? 然后由192到223开头的则为C Class。显然易见╋用二进位来识别IP Class比较容易?您不觉得吗?

好了╋当我们识得区别IP的Class之后╋我们就可以知道IP的Net ID 和 Host ID了?

?A Class的IP使用最前面一组数字来做Net ID╋其余三组做Host ID

?B Class的IP使用前面两组数字来做Net ID╋另两组做Host ID

?C Class的IP使用前面三组数字来做Net ID╋剩下的一组做Host ID

从下图中╋您可以轻易的区分上面三个不同的 IP Class ?

为什么我们需要为IP划分等级呢?这是为了当初的 IP 管理需要。

如果您要组建一个单一的IP网路╋那么您得分配相同的Net ID给所有主机╋而各主机的Host ID却必须是唯一的╋也就是说没有任何两个Host ID会是一样的。您的网路还要连上internet或其它网路的话╋那么您使用的Net ID也必须是唯一的╋否则就会造成冲突了。好比您家的电话号码╋如果是1234567(Host ID)的话╋那么在相同区号(Net ID)里╋其他人将不会再使用这个号码╋然而╋你不保证在其它区号里面也有1234567这个号码哦?但如果台北使用了区号02的话╋台南就不能使用02了。无论如何╋整个区号加电话号码必须是唯一的。同样的道理?整个IP地址(Net ID + Host ID)在internet上也必须是唯一的。有一个很特别的Net ID? 127 (即二进位的01111111)╋是保留给本机回路测试使用的╋它不可以被运用于实际的网路中去。

另外有一个规则我们还必须遵守的?在指定Host ID的时候╋换成二进位的话╋不可以是全部为0╋也不可以是全部为1。当Host ID全部为0的时候╋指的是网路本身识别码?而全部为1的时候╋则为全域广播地址╋即发送广播封包使用的地址。

很明显╋A Class网路可分配的Host ID 要比C Class的要多好多倍。让我们算算可以划分的Net ID数目和各等级里面的Host ID数目就知道了?

因为A Class第一个bit必须为0╋所以我们在头一个otect的8个bit就只有7个bit是可变化的。那么27 = 128╋再减去0和127这个Net ID不能使用╋那么我们实际上最多只能划分126个A Class的网路。而每个A Class的网路之下可以分配2的24(能够使用的 Host ID之bit 数目)次方╋亦即16,777,216个Host ID╋再因为二进位数字不可以全部为0或1╋所以实际能用的主机位址只有16,777,214个。

因为C Class以110开头╋减去 3 个 bit ╋所以可划分的C Class网路则为2的21(24-3)次方╋也就是2,097,152个Net ID╋然后每个Class C之下则可以划分28 = 256 - 2 = 254个Host ID。

好了╋这下您自己试试看计算出B Class可以划分多少个Net ID╋和每个Net ID之下的可用Host ID数目。(Tips?别忘了ID不能全部为0或1)。然后再来对照下面的列表?

认识Net Mask

下面我们要认识的是 Net Mask (网路遮罩╋或称网路掩码)。

到了这里╋我必须要向大家交代清楚一件事情?在我们进行IP地址划分的时

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有