asm, c, c++ are my all
-- Core In Computer
posts - 139,  comments - 123,  trackbacks - 0
[转]网络基础知识讲座之一:理解IPv4地址的含义

http://www.cppblog.com/jerysun0818/archive/2006/05/27/7737.html


  -- 网络没有地址就不能工作。在下一篇文章介绍子网之前,我想以最原始的格式全面介绍一下IP地址。

网络没有地址就不能工作:只要你发送某种东西,你就需要具体说明这个东西要发到哪里和从哪里发出来的。要做一个高效率的网络工程师或者管理员,你需要全面理解IP地址:你需要能够依靠自己思考。如果发生了某些问题,很可能是某些地址分配不正确。迅速查明故障所在位置对于英雄和普通人来说是有很大区别的。普通人需要很长时间才能修复这个问题。在下一篇文章介绍子网之前,我想以最原始的格式全面介绍一下IP地址。这对于理解子网是非常重要的。

   IPv4地址和32位数字

  IP地址只是32位二进制数字。但是,它们是重要的二进制数字:你需要知道如何处理这些数字。当处理子网掩码的时候,新的网络管理员一般会混淆他们没有记住的子网掩码。所有这些子网掩码的总和是移动代表一个“网络”的地址部分与代表一台“主机”的部分之间的界限。一旦你适应了这种关于IP地址和子网掩码的思维方式,你就掌握了IP地址的方法。

  二进制非常简单。在二进制中,数码只有0和1。一个32位数码有32个0和1。我们都适应十进制数码。在十进制中,数码中的每一个位置都可以是0至9之间的任何一个数字。在二进制中,每一个位置或者是一个0,或者是一个1。下面是以二进制表示的255.255.255.0的地址。

  11111111.11111111.11111111.00000000

  为了方便,网络工程师一般把IP地址分为4个8位字段,或者称作8位字节。在8位数字中,如果所有的字节都设置为1,那么,这个数码等于255。在上面的地址中,11111111代表255,00000000代表0。

  二进制发挥作用的方法是以二次方为基础的。每一个字节代表一个不同的二次方。从左手端开始,最有意义的数位,数字以下列方式组成:

2的次方
232
...
2 7
2 6
2 5
2 4
2 3
2 2
2 1
2 0
小数
4,294,967,296
...
128
64
32
16
8
4
2
1

  这个结果是加法。这就是说,如果所有的字节不变,你可以为每一个位置简单地加2的次方值。例如,如果我们有一个8位数11111111,我们可以简单地加:27 + 2 6 +
2 5 + 2 4 + 2 3 + 2 2 + 2 1 + 2 0 = 255

  现在我们设法理解一个不平凡的例子:11110000

  我们可以看到,在上述8位数中,有4位数是“固定的”。把这些位置上的2的次方的值加起来,结果是:27 + 26 + 2 5 + 2 4 = 240

  就是这样简单。如果你能把二进制数字转换为小数形式,你就很容易猜出子网掩码和网络地址。我们将在下一篇文章中介绍这个问题。

  现在,把重点集中在32位IPv4地址本身,有一些不同的类型需要了解。所有的IP地址都可以在0.0.0.0至255.255.255.255的数字范围内。但是,有些地址有特殊用途。

  环回地址(loopback):

  不离开主机的数据包(也就是说,这些数据包不会通过外部网络接口)。例如:127.0.0.1

        单播地址:

  指定向一个IP地址发送的数据包。例如:2.2.2.2

   多播地址:

  被路由器复制并且最终由组播路由机制转发的数据包。例如:226.0.0.2

  有限广播:

  一个广播数据包,发送给每一台主机,仅限于本地子网。例如:255.255.255.255

  定向广播:

  发送到一个具体子网的数据包,然后进行广播。例如,假如我们不在这个子网,使用的地址是:1.1.1.255

  还有一些IP地址的特殊情况,包括专用和组播地址。在224.0.0.0至239.255.255.255之间的地址范围是为组播保留的。在互联网上,任何低于这个范围的地址都可能成为被攻击的目标,除非为RFC 1918保留的地址和为一些其它特殊用途分配的地址。这些1918地址是专用地址,这就意味着互联网路由器不会发送这些地址。这个地址范围包括:

  • 10.0.0.0 -10.255.255.255

  • 172.16.0.0 - 172.31.255.255

  • 192.168.0.0 - 192.168.255.255

  这些IP地址能够分配给本地的许多计算机,你愿意分配给多少台计算机都可以。但是,在这些计算机访问互联网之前,这些地址必须翻译成能够全球路由的地址。这个工作通常由网络地址转换(NAT)完成。1918地址并不是惟一保留的地址空间。但是,这些地址的定义为“本地站点”。组播也有一个保留的地址范围。这个地址范围并不是连接到互联网的:224.0.0.0 至224.0.0.255是组播“本地连接”的地址。

  为了提供这个讲座的下一篇文章的必要的背景知识,我们需要确认大家都理解一个本地子网的概念。一旦我们分配给一台计算机一个合法的地址,假如子网掩码设置正确,这台计算机就可以同本地网络对话。子网掩码告诉这个操作系统哪一个IP地址在本地子网上,哪一个IP地址不在本地子网上。我们希望与之对话的IP地址位于本地子网,那么,这个操作系统不用使用路由器就能够直接与它对话。换句话说,操作系统能够使用ARP协议获得目标系统的物理地址并且开始对话。IP地址和子网掩码的设置对于普通的24位网络来说是非常简单的。标准的255.255.255.0子网掩码的意思是前三个八位字节是网络地址,最后的部分是为主机保留的。例如,一台计算机被分配了10.0.0.1的IP地址和255.255.255.0的子网掩码(如果你用二进制书写的话是24位),这台计算机能够同10.0.0.1至10.0.0.255地址范围内的任何人对话。

  一定要消化这里讲的一切内容,因为下一讲我们将介绍使用CIDR(无类域间路由选择)设置子网的内容。

   小结

  •IP地址只是32位数字。子网掩码只是一个能够上下滑动这个IP地址字节的“盖子”,以便创建更大或者更小的网络。

  •一个IP地址的网络部分告诉主机它的本地子网有多大,本地子网然后告诉主机它可以直接与谁对话。

  •单向广播数据包发送到一台计算机,广播数据包发送到许多台计算机。

posted on 2006-05-27 20:58 Jerry Cat 阅读(617) 评论(3)  编辑 收藏 引用

FeedBack:
# re: 网络基础知识讲座之一:理解IPv4地址的含义
2006-05-29 07:34 | dudu
请不要在首页转载文章!  回复  更多评论
  
# re: 网络基础知识讲座之一:理解IPv4地址的含义
2006-05-29 16:58 | Jerry Cat
你算老几? BS你这SOB!  回复  更多评论
  
# re: 网络基础知识讲座之一:理解IPv4地址的含义
2006-05-30 08:29 | 任我行
晕倒。
你连dudu不认识?
可以干掉你的账号。封你的家。  回复  更多评论
  

只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理



<2006年5月>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

常用链接

留言簿(7)

随笔档案

最新随笔

搜索

  •  

最新评论

阅读排行榜

评论排行榜