子网掩码

互联网是由许多小型网络构成的,每个网络上都有许多主机,这样便构成了一个有层次的结构。IP地址在设计时就考虑到地址分配的层次特点,将每个IP地址都分割成网络号和主机号两部分,以便于IP地址的寻址操作。

子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。子网掩码的设定必须遵循一定的规则。与IP地址相同,子网掩码的长度也是32位,左边是网络位,用二进制数字“1”表示;右边是主机位,用二进制数字“0”表示。只有通过子网掩码,才能表明一台主机所在的子网与其他子网的关系,使网络正常工作。 1 的部分代表网络号,掩码为 0的部分代表主机号。其中 A类地址的默认子网掩码为 255.0.0.0;B类地址的默认子网掩码为 255.255.0.0;C类地址的默认子网掩码为:255.255.255.0。

同一个网络内的主机的IP地址与掩码 "AND"操作后的结果必然相同。

网络地址划分

internate诞生之初一种IP地址的划分方法。 它将IP地址分为五类,A类保留给政府机构,B类分配给中等规模的公司,C类分配给任何需要的人,D类用于组播,E类用于实验,各类可容纳的地址数目不同。

ClassLeading
bits
Size ofnetwork
number
bit field
Size ofrest
bit field
Number
of networks
Addresses
per network
Start addressEnd address
Class A    0    8    24    128 (27)    16,777,216 (224)0.0.0.0127.255.255.255
Class B    10    16    16    16,384 (214)    65,536 (216)128.0.0.0191.255.255.255
Class C    110    24    8    2,097,152 (221)    256 (28)192.0.0.0223.255.255.255
Class D (multicast)    1110    not defined    not defined    not defined    not defined224.0.0.0239.255.255.255
Class E (reserved)    1111    not defined    not defined    not defined    not defined240.0.0.0255.255.255.255

CIDR

CIDR 对原来用于分配A类、B类和C类地址的划分进行了重新设计。CIDR用变长的前缀取代了原来地址结构对地址网络部分的限制(3类地址的网络部分分别被限制为8位、16位和24位),从而能更好地满足机构对地址的特殊需求。
CIDR 地址中包含标准的32位IP地址和有关网络前缀位数的信息。以CIDR地址222.80.18.18/25为例,其中“/25”表示其前面地址中的前25位代表网络部分,其余位代表主机部分。

CIDR (无类别域间路由选择)表格

IPv4 CIDR
IP/CIDRΔ to last IP addrMaskHosts (*)SizeRestrictions on a/b/c/d
(0..255 unless noted)
a.b.c.d/32+0.0.0.0255.255.255.25511/256 C
a.b.c.d/31+0.0.0.1255.255.255.25421/128 Cd = 0 ... (2n) ... 254
a.b.c.d/30+0.0.0.3255.255.255.25241/64 Cd = 0 ... (4n) ... 252
a.b.c.d/29+0.0.0.7255.255.255.24881/32 Cd = 0 ... (8n) ... 248
a.b.c.d/28+0.0.0.15255.255.255.240161/16 Cd = 0 ... (16n) ... 240
a.b.c.d/27+0.0.0.31255.255.255.22432⅛ Cd = 0 ... (32n) ... 224
a.b.c.d/26+0.0.0.63255.255.255.19264¼ Cd = 0, 64, 128, 192
a.b.c.d/25+0.0.0.127255.255.255.128128½ Cd = 0, 128
a.b.c.0/24+0.0.0.255255.255.255.0002561 C
a.b.c.0/23+0.0.1.255255.255.254.0005122 Cc = 0 ... (2n) ... 254
a.b.c.0/22+0.0.3.255255.255.252.0001,0244 Cc = 0 ... (4n) ... 252
a.b.c.0/21+0.0.7.255255.255.248.0002,0488 Cc = 0 ... (8n) ... 248
a.b.c.0/20+0.0.15.255255.255.240.0004,09616 Cc = 0 ... (16n) ... 240
a.b.c.0/19+0.0.31.255255.255.224.0008,19232 Cc = 0 ... (32n) ... 224
a.b.c.0/18+0.0.63.255255.255.192.00016,38464 Cc = 0, 64, 128, 192
a.b.c.0/17+0.0.127.255255.255.128.00032,768128 Cc = 0, 128
a.b.0.0/16+0.0.255.255255.255.000.00065,536256 C = 1 B
a.b.0.0/15+0.1.255.255255.254.000.000131,0722 Bb = 0 ... (2n) ... 254
a.b.0.0/14+0.3.255.255255.252.000.000262,1444 Bb = 0 ... (4n) ... 252
a.b.0.0/13+0.7.255.255255.248.000.000524,2888 Bb = 0 ... (8n) ... 248
a.b.0.0/12+0.15.255.255255.240.000.0001,048,57616 Bb = 0 ... (16n) ... 240
a.b.0.0/11+0.31.255.255255.224.000.0002,097,15232 Bb = 0 ... (32n) ... 224
a.b.0.0/10+0.63.255.255255.192.000.0004,194,30464 Bb = 0, 64, 128, 192
a.b.0.0/9+0.127.255.255255.128.000.0008,388,608128 Bb = 0, 128
a.0.0.0/8+0.255.255.255255.000.000.00016,777,216256 B = 1 A
a.0.0.0/7+1.255.255.255254.000.000.00033,554,4322 Aa = 0 ... (2n) ... 254
a.0.0.0/6+3.255.255.255252.000.000.00067,108,8644 Aa = 0 ... (4n) ... 252
a.0.0.0/5+7.255.255.255248.000.000.000134,217,7288 Aa = 0 ... (8n) ... 248
a.0.0.0/4+15.255.255.255240.000.000.000268,435,45616 Aa = 0 ... (16n) ... 240
a.0.0.0/3+31.255.255.255224.000.000.000536,870,91232 Aa = 0 ... (32n) ... 224
a.0.0.0/2+63.255.255.255192.000.000.0001,073,741,82464 Aa = 0, 64, 128, 192
a.0.0.0/1+127.255.255.255128.000.000.0002,147,483,648128 Aa = 0, 128
0.0.0.0/0+255.255.255.255000.000.000.0004,294,967,296256 A

IPV6子网划分

IPv4地址是类似 A.B.C.D 的格式,它是32位,用"."分成四段,用10进制表示;而IPv6地址类似X:X:X:X:X:X:X:X的格式,它是128位的,用":"分 成8段,用16进制表示;
为了简化其表示法, rfc2373提出每段中前面的0可以省略,连续的0可省略为"::",但只能出现一次。例如:
1080:0:0:0:8:800: 200C : 417A 可简写为 1080::8:800:200C:417A
FF01:0:0:0:0:0:0:101 可简写为 FF01::101
0:0:0:0:0:0:0:1 可简写为 ::1
0:0:0:0:0:0:0:0 可简写为 ::

子网掩码只有一种表示(ipv6已经不叫子网掩码,叫前缀,前缀表示网络位)。
inet6 addr: fe80::a00:27ff:fe0c:4cf9/64
后面的前缀“64”表示128位中的前64位表示网络位,

IPv4地址

IPv6地址

组播地址( 224.0.0.0/4)

IPv6组播地址(FF00::/8)

广播地址

无,只有任播( anycast)地址

未指定地址为 0.0.0 .0

未指定地址为 ::

回路地址为 127.0.0.1

回路地址为 ::1

公用 IP地址

可汇聚全球单播地址

私有地址( 10.0.0 .0/8、172.16.0.0/12和192.168.0.0/16)

本地站点地址( FEC0::/48)

Microsoft自动专用IP寻址自动配置的地址(169.254.0.0/16)

本地链路地址( FE80::/64)

表达方式:点分十进制

表达方式:冒号十六进制式(取消前置零、零压缩)

子网掩码表示:以点阵十进制表示法或前缀长度表示法( CIDR)

子网掩码表示:仅使用前缀长度表示法( CIDR)

IPv6地址作用域和地址分类

  • IPv6地址指定给接口,一个接口可以指定多个地址。
  • IPv6地址有作用域:
    link local地址 本链路有效
    site local地址 本区域(站点)内有效,一个site通常是个校园网
    global地址 全球有效,即可汇聚全球单播地址

  • IPv6地址分类:
    unicast 单播(单点传送)地址
    multicast 组播(多点传送)地址
    anycast 任播(任意点传送)地址

IPv6没有定义广播地址,其功能由组播地址替代

常见的IPv6地址及其前缀

  • ::/128 即0:0:0:0:0:0:0:0,只能作为尚未获得正式地址的主机的源地址,不能作为目的地址,不能分配给真实的网络接口。
  • ::1/128 即0:0:0:0:0:0:0:1,回环地址,相当于IPv4中的localhost(127.0.0.1),ping locahost可得到此地址。
  • 2001::/16 全球可聚合地址,由 IANA 按地域和ISP进行分配,是最常用的IPv6地址,属于单播地址。
  • 2002::/16 6 to 4 地址,用于6to4自动构造隧道技术的地址,属于单播地址。
  • 3ffe::/16 早期开始的IPv6 6bone试验网 地址,属于单播地址。
  • fe80::/10 本地链路地址,用于单一链路,适用于自动配置、邻机发现等,路由器不转发以fe80开头的地址。
  • ff00::/8 组播地址。
  • ::A.B.C.D 兼容IPv4的IPv6地址,其中<A.B.C.D>代表IPv4地址。自动将IPv6包以隧道方式在IPv4网络中传送的IPv4/IPv6节点将使用这些地址。
  • ::FFFF:A.B.C.D 是IPv4映射过来的IPv6地址,其中<A.B.C.D>代表IPv4地址,例如 ::ffff:202.120.2.30 ,它是在不支持IPv6的网上用于表示IPv4节点。

参考

  1. wikipedia
  2. http://ipv6.tsinghua.edu.cn/technology/ipv6-di-zhi-jie-shao/