《NetBSD指南-22.4.TCP/IP地址格式》

NetBSD用户指南中文版、NetBSD pkgsrc指南中文版...

版主: lionux

主题已锁定
头像
leo
帖子: 2465
注册时间: 2010-01-21 3:27

《NetBSD指南-22.4.TCP/IP地址格式》

帖子 leo » 2010-03-06 15:44

目前的TCP/IP实行使用4组(32-bit)的地址(IPv4)给主机设置地址, 也被称为IP编号(Internet协议编号)。

TCP/IP允许任意两台机器直接通讯. 要实现这个目的在一个给定网络内的每台主机必须有唯一的IP地址。 为了确保每台主机有唯一的IP地址, IP地址由一个中央机构InterNIC统一管理. 他们将特定的IP地址段直接分配给参与Internet的站点或Inetrnet提供商, 再由提供商另分配给自己的用户。
如果你的大学或公司连接到Ineternet上, 它有(至少)一个自己使用的这样的网络地址, 通常这个地址并非由InterNIC直接分配, 而是由网络供应商(ISP)提供。

如果你只想在家里运行你的私有网络, 参看下面怎样 “设置” 你自己的IP地址。 但是, 如果你想将你的电脑连入(真正的 :-) Internet, 你应该从你的本地网络管理员或提供商那里获得一个IP地址。
IP地址的写法一般是以 “。分割”的4组十进制数字表示. 例如, 132.199.15.99 是一个有效的IP地址. IP地址的另一种表达方式是以一个32-bit的16进制符表示, 例如:0x84c70f63. 这不如前者方便, 但也可以使用. (参下面!)
一个被分配的网络仅意味着设定了上面所提的32位地址. 这些位用来甄别网络,被称为网络位. 剩余的位可以用来给网上的主机分配IP地址,被称为主机位. 图 22.1, “IPv4地址被分成更重要的网络位和不太重要的主机位” 举例说明了怎样分开。

图 22.1. IPv4地址被分成更重要的网络位和不太重要的主机位

图片


上例中, 网络地址是132.199.0.0 (网络地址中的主机位全被设置成了0) 而在此网络中的该主机地址是 15.99 .
你怎么知道这台主机的地址是16位宽呢? 这是由给你提供网络地址的服务商分配的. 在目前使用的无类别域间路由(CIDR)中主机位区域通常宽度为2到16位, 并且网络位的数值写在网络地址后,并以一个“/”分割, 例如132.199.0.0/16 说明这个网络有16个网络位. 当谈及一个网络的 “大小” 时, 通常是指它的 “/16”, “/24”等.
在使用CIDR前, 有四个网络类别. 每种类别从一个固定的类模式开始. 这里是四种类别:
  • A类起始位是以 “0” 作为最重要的位. 一个A类网络地址以后面的7位用于鉴别, 剩下的24位用于主机地址分配. 所以, 在一个A类网络里可以有224 台主机. 绝不可能你(或者你的大学, 或者你的公司, 或者不管什么)能获取一个A类网络的全部地址.
    对于一个A类网络地址,8网络位CIDR表示法是一个 “/8”.
  • B类起始位是以 “10” 作为最重要的位. 后面的14位用于网络地址分配,而剩下的16位可以分配给65000多台主机. 现在B类地址已经很少提供了, 在IPv4地址匮乏前,B类地址原来通常被提供给公司和大学。
    对于一个B类网络,16网络位CIDR表示法是一个 “/16”.
    回到我们上面的例子, 你可以看见 132.199.15.99 (或 0x84c70f63, 正好是这样!) 是一个B类网络, 因 0x84... = 1000... (基于 2).
    因此, 地址 132.199.15.99 可以被分成一个132.199.0.0的网络地址和一个 15.99 的主机地址.
  • C类通过 MSB 是 “110” 来确认, 在 221 个可用的C类网络中每个只允许有256(实际上: 仅有254, 参下面)台主机. C类网络地址通常可在(小型)公司里看见.
    对于一个C类网络,24网络位的CIDR表示法是一个 “/24”.
  • 还有其它的地址, 起始于 “111”. 这些地址有特殊的用途(例如:多播地址),我们不在这里介绍.
请注意,这里所说的用来鉴别网络类别的位是网络地址的一部分.
当将主机地址从网络地址中分离出来时, “子网掩码” 是很方便的. 在这个掩码中, 所有的网络位被设定为 “1”, 主机位是 “0”. 因此, 将IP地址和子网掩码执行逻辑与操作就得出了网络地址。
继续我们的例子, 255.255.0.0是132.199.15.99的一个可能的子网掩码. 当应用这个掩码时, 得出的网络地址是132.199.0.0
CIDR表示法中的地址, 给出的网络位数值也表示地址中多少重要位必须设置为 “1” 以获取相应的网络掩码. 对于有类别的地址, 每个网络类有一个固定分配的默认子网掩码:
  • A类(/8): 默认子网掩码: 255.0.0.0, 地址的首字节是: 1-127
  • B类(/16): 默认子网掩码: 255.255.0.0, 地址首字节是: 128-191
  • C类(/24): 默认子网掩码: 255.255.255.0, 地址首字节是: 192-223
我们在这里还要说一下 “广播地址”. 当向这个地址发送信息时, 所有 在此网络内的主机都将收到这条信息. 广播地址的特点是将所有的主机位设置为 “1”.
采用 132.199.15.99 和其子网掩码 255.255.0.0 , 则广播地址在 132.199.255.255.
你现在会问了: 但是如果我将主机的地址的所有位全设置为 “0” 或 “1”会怎样? 嗯, 这将不能工作, 因为必须提供网络地址和广播地址! 因此, 一个B类网络(/16)最多可以包含 216-2 台主机, C类(/24) 网络至多可以有 28-2 = 254 台主机.
除了所有这些有类别的地址, 还有一个特别的IP地址127.0.0.1,它永远是指 “本地” 主机, 即如果你与127.0.0.1通讯也就是和你自己通讯,没有开始任何网络活动. 有些时候你在自己的主机上安装服务时这会对你有帮助,或者你的网络上没有其它主机时设置的.
我们将上面讲述的内容糅合在一起:
IP地址 带有网络位和主机位的32位地址.
网络地址 所有主机位设置为 “0” 的IP地址.
Netmask 网络位是 “1” 而主机位是 “0” 的32位掩码.
广播地址 所有主机位设置为 “1” 的IP地址.
本地主机地址 本地主机的IP地址永远是127.0.0.1.

主题已锁定

在线用户

正浏览此版面之用户: 没有注册用户 和 1 访客