一、IP地址和子网掩码

1、IP地址的用途

IP地址是用于标识特定主机的逻辑地址。为了与Internet上其它设备通信,它必须唯一、不能冲突。

通过Internet发送的每个数据包都有源IP地址和目的IP地址。网络设备必须了解这些地址,才能确保信息到达目的设备、所有应答都能返回源设备。

IP地址将分配给主机上的网络接口卡(即网卡NIC),包括具有网络接口的最终用户设备:工作站、服务器、网络打印机、IP电话及智能手机、平板等。

某些主机有多块网卡(每块都有各自的IP地址)但是有时一块网卡也可以有不止一个IP地址。

2、IPv4地址的结构

IP地址是32个二进制位的数字串。二进制IP地址非常难读难记。故以8位为一组,将这32位划分为四个八位字节,每个八位字节数字用十进制表示,中间用点号分隔,称为点分十进制记法。例如:192.168.1.510.10.10.34等。

在四个八位字节中,每个数值的范围都是从最小值$0(00000000)_2$到最大值$255(11111111)_2$

32位IP地址由网际协议第4版(IPv4)定义,它是目前Internet上最为通用的IP地址形式。使用32位地址分配方案可产生超过40亿个IP地址。

3、IPv4地址的组成部分

IP地址具有层次性,一般由两大部分组成:前面部分标识主机所在的网络,后面部分标识该网络中特定主机。这两部分在IP地址中缺一不可。

以IP地址为192.168.1.100的主机为例,一般情况下,前三个八位字节(192.168.1)标识该地址的网络部分,最后一个八位字节(100)标识该地址的主机部分。这称为分层寻址(先找到网络,再找到主机)。

4、子网掩码和IPv4地址

在配置主机IP地址时,要随IP地址设置子网掩码。IPv4地址的子网掩码的长度也是32位,也采用点分十进制记法。子网掩码用于表明IP地址中:哪一部分代表网络,哪一部分代表主机。

二进制形式的子网掩码从左到右依次与二进制形式的IP地址逐位对比:

  1. 子网掩码中的“1” :对应IP地址的前面的网络部分(有时还包括所谓的“子网部分”)
  2. 子网掩码中的“0” :对应IP地址的后面的主机部分

可见,子网掩码一定是形如:前面一串1,后面一串0。例如255.255.255.0,前24位1对应标识IP地址的网络号(网络ID,即网络部分),后8位0对应标识该IP地址的主机号(主机ID,即主机部分)

例如:IP地址192.168.1.100,子网掩码255.255.255.0十进制:网络部分是前面的192.168.1,主机部分是后面的100

子网掩码非常重要,甚至可以说:子网掩码是IP地址的重要组成部分,一个不带子网掩码的IP地址没有意义!

(1)前缀长度

前缀长度是一种识别IP地址的子网掩码的速记方法。前缀长度=子网掩码中1的位数。(即网络部分的位数)

使用“斜线记法”表示,即“/”紧跟为 1 的位数。三种最常见的子网掩码是"/8 /16 /24"

(2)与子网掩码相关的计算

第一种计算题

计算某一子网掩码对应的某一网络中可存在的主机数量:

  1. 以$2$为底、以主机部分的位数(子网掩码1的数量)为指数求幂(如$2^8=256$)。
  2. 注意:还必须再从结果数字中减$2$(如$2^8 -2=254$),因为:

    主机部分全部为0的IP地址是该网络的网络地址,是代表该网络的标志性地址,不能分配给具体的主机;

    主机部分全部为1的IP地址是该网络的广播地址,也是一个特殊地址,也不能分配给具体的主机。

第二种计算题

计算网络地址:

  1. 将主机IP地址与子网掩码先转成二进制形式。
  2. 逐位与(即逻辑与运算),可得该主机所属网络的网络地址。

其实就是网络部分照写,主机部分全是0。

5、子网掩码与IP地址的用途

当主机发送数据包时,该源主机会拿自身子网掩码与自身IP地址即源IP地址跟目的IP地址比较,网络部分相同,不出去,网络部分不同,出去。

知道了子网掩码,即可定量算出源和目的IP的网络部分再比较:

如果源和目的两个IP地址的网络部分完全相同,或者说两个IP地址所属网络的网络地址相同,则表示源主机和目的主机位于同一网络中,因此数据包只需在本地传送。不出去!

如果不相同,即源和目的属于不同网络,则发送方主机会将数据包转发到本地路由器接口(即默认网关),再由其转发到其它网络 ,直至最终到达目的主机所在的远程网络。出去!

二、IPv4地址的类型

1、IPv4地址类和默认电子掩码

IPv4地址一般分为五类:A类、B类和C类是商业类地址,可分配给主机。D类保留供组播使用,而E类则保留用于实验用途。

  1. A类地址:仅以一个八位字节表示网络部分,其余三个表示主机部分。默认子网掩码为255.0.0.0(/8)。A类地址一般分配给大型组织($2^{24}-2$)。
  2. B类地址:使用两个八位字节表示网络部分,另两个表示主机部分。默认子网掩码为255.255.0.0(/16)。B类地址一般用于中型网络($2^{16}-2$)。
  3. C类地址:使用三个八位字节表示网络部分,一个表示主机部分。默认子网掩码为255.255.255.0(/24)。C类地址通常分配给小型网络($2^8 -2$)。

1

清华:166.111.*.*(B类)

北大:162.105.*.*(B类)

浙大:210.32.*.*(C类)后来222.205.*.*(C类)

清华新IP地址范围还包括:59.66(A类)、183.172211.68219.224开头的等

北大新IP地址范围还包括:61.50(A类)、202.112211.71211.82开头的等

浙大新IP地址范围还包括:60.1260.19060.191122.224开头的等(但极少)

2、公有和私有地址

IPv4地址资源有限,目前已分配殆尽(2011年2月4日全球IP地址的顶级管理部门ICANN宣布最后5个IPv4地址大块被分配殆尽!)延缓IPv4耗尽的一个办法是保留一些私有地址,仅供组织在内部使用。这样,组织内部的主机无需使用公有地址就能够相互通信。

私有地址:不能上Internet,公有地址:可以上Internet

RFC1918标准在A、B、C类中都保留了数个地址范围作为私有地址,包含1个A类网络、16个B类网络和256个C类网络。这为网络管理员分配内部地址提供了极大的灵活性。

除了这些私有地址以外的A、B、C类地址均为公有地址(除特殊专用地址)。

私有地址不能在Internet上路由,其数据包会被ISP的路由器所阻挡。只要组织中的主机不与Internet直接连接,那么这些主机就可在内部使用私有地址。因此,多个组织可使用相同的私有地址集(如10.*)而不用担心发生IP地址冲突影响通信的问题。

另外,私有地址仅在本地网络中可见,外部人员无法直接访问私有地址(无法直接“看见”如Ping通),因此,使用私有地址也可作为一种安全措施。

3、特殊用户或专用IPv4地址

环回地址:(用于测试网卡及TCP/IP协议安装是否正常)127.0.0.0/8或127.0.0.1127.255.255.254主机使用这些特殊地址将流量指向其自身。localhost = 127.0.0.1

本地链路地址或自动私有IP编址 (APIPA) 地址:169.254.0.0/16或169.254.0.1169.254.255.254,Windows主机在没有动态分配IP地址的DHCP服务器给它自动分配IP地址时,使用这样的169.254.*.*进行自我配置。也就是当自动获取IP地址失败时,自己给自己分配的一个“临时”地址。注:其他操作系统如Linux和OS X在自动获取IP地址失败时不会分配这样的地址。如果看到169.254开头的地址:地址异常,通信一般也异常。

TEST-NET 地址:192.0.2.0/24或192.0.2.0192.0.2.255这些地址留作教学使用,用于文档和网络示例。

4、网络地址转换

由于Internet上不允许使用私有地址,因此,需要通过某种过程将私有地址转换为公有地址,本地客户端才能在Internet上通信。用于将私有地址转换为可路由的公有Internet地址的过程称为网络地址转换(NAT) 。借助NAT,可将传出数据包的私有源IP地址转换为公有源IP地址。借助NAT,可将传入数据包的公有目的IP地址转换为私有目的IP地址。

一方面对外,无线路由器从ISP处接收分配给它的一般是公有地址(用于其WAN口或称Internet口或称外网口),这使它能够通过Internet发送和接收数据包。另一方面对内,无线路由器又为内网的本地网络客户端提供私有地址,且无线路由器的LAN口也是私有地址。一般情况下,通过NAT,无线路由器将内网的私有地址转换为外网的公有地址(即无线路由器的WAN口地址)。

在某些情况下(如家用无线路由器),无线路由器的WAN口也可以是私有地址,但它与LAN口的私有地址肯定属于不同网络,无线路由器的LAN口和WAN口的IP地址必须属于不同网络,即网络部分不同。

3、单播、广播和组播地址

IPv4地址还可以分为:单播、广播或组播地址。主机可使用这三种地址分别进行一对一(单播)、一对多(组播)或一对所有(广播)的通信。

(1)单播地址

单播地址是IP网络中最常见的类型。含单播目的地址的数据包,其预定的接收方是特定的主机。要发送和接收单播数据,单播目的IP地址必须包含于数据包头中,相应的单播目的MAC地址也必须出现于以太网帧头中。只有IP地址和MAC地址相结合,才能将数据传送到特定的目的主机。

(2)广播地址

发送广播时,数据包以主机部分全1的IP地址作为广播目的IP地址。这表示本地网络(广播域)中的所有主机都将接受和查看该数据包。ARP和DHCP等许多网络协议都使用广播。

例如:C类网络192.168.1.0的默认子网掩码为255.255.255.0,该网络的广播地址为192.168.1.255

又如:B类网络172.16.0.0的默认子网掩码为255.255.0.0,该网络的广播地址为172.16.255.255

再如:A类网络10.0.0.0的默认子网掩码为255.0.0.0,该网络的广播地址为10.255.255.255

广播还需要在以太网帧中包含相应的广播MAC地址。在以太网中,广播MAC地址中的48位二进制数全部为1,即为FF-FF-FF-FF-FF-FF

(3)组播地址

组播地址允许源设备向一组设备发送数据包。例如:远程游戏和视频会议就需用组播地址。

属于某一组播组的设备都指派有该组播组IP地址。组播IP地址范围为224.0.0.0239.255.255.255(D类)。由于组播地址代表一组地址(有时称为主机组),因此只能用作数据包的目的地址。而源地址始终为单播地址。

组播MAC地址是一个特殊的十六进制数:一般以01-00-5E开头,然后将组播IP地址的低23位换算成MAC地址中剩余的6个十六进制数值,作为组播MAC地址的结尾。如图所示,换算得出十六进制的组播MAC地址01-00-5E-0F-64-C5。因为组播IP地址的低23位是0001111.01100100.11000101(相当于15.100.197去掉最高位0),而换算其实只是将其由十进制、二进制转化为十六进制而已,故得后六位为0F-64-C5

三、IPv6地址

1、为什么启用IPv6地址

IPv4 地址空间提供大约4,294,967,296个唯一地址,但其中只有37亿地址是可分配的,因为IPv4编址系统将地址分为数类,并保留了供组播、测试和其它特殊目的使用的地址。

IPv6地址是一个128位的二进制数值,可表示为32个十六进制数字。IPv6地址数量非常巨大 ,即使为地球上每人分配相当于目前整个IPv4 Internet地址空间的地址都还绰绰有余。

2、IPv6地址表示方法

(1)IPv6格式

格式:x:x:x:x:x:x:x:x,其中,x是一个写成十六进制形式的16位二进制数,例如:x=ABCD,写成二进制形式就是$1010 1011 1100 1101$。而且,其中十六进制数字A、B、C、D、E、F不区分大小写。字段中的前导零可省略。例如:09C0可写为9C0。连续的零字段可表示为::,但每个地址只能用一次::

示例:

0:0:0:0:0:0:0:1,表示为::1,这是IPv6中的环回地址localhost

2031:0000:130F:0000:0000:09C0:876A:130B

可表示为2031:0:130F::9C0:876A:130B

不能表示为2031::130F::9C0:876A:130B

(2)IPv6前缀长度

IPv6使用前缀长度表示地址的前缀部分(相当于网络部分)前缀长度表示格式:IPv6地址/前缀长度前缀长度的范围为0到128,典型的前缀长度是/64。后面剩余部分统称为接口ID(相当于IPv4地址的主机部分)

例如2001:DB8:A::/642001:0DB8:000A:0000为前缀长度,后面接口ID全是0。

3、IPv6地址类型

IPv6 地址分为三种类型:

  1. 单播 (unicast) - IPv6 单播地址用于唯一标识支持 IPv6 的设备上的接口(如网卡)。
  2. 组播 (multicast) - IPv6 组播地址用于将单个IPv6 数据包发送到多个目的地。
  3. 任播 (anycast) - IPv6 任播地址是可分配到多个设备的 IPv6 地址。发送到任播地址的数据包会被路由转发到最近的拥有该地址的设备。

注意:IPv6 没有广播地址!

(1)IPv6单播地址

全局单播地址Global Unicast Address (GUA):类似于IPv4公有地址。有全局唯一性,是Internet可路由的地址。互联网名称与数字地址分配机构 (ICANN),将 IPv6 地址块分配给五家 RIR(区域性互联网注册机构)。目前分配的仅是前三位为0012000::/3 的全局单播地址,只占可用IPv6地址空间的 1/8。

本地链路地址Link Local Address (LLA) (地址块FE80::/10):用于与同一链路/同一子网中的其他设备通信。每个支持IPv6的网络接口均需有本地链路地址。如果没有手动为接口配置本地链路地址,设备会自动创建自己的IPv6本地链路地址。这允许支持IPv6的设备与同一子网中的其他支持IPv6的设备通信。

唯一本地地址:用于一个站点内或数量有限的站点之间的本地编址。IPv6专用/私有地址,地址块 FC00::/7

(2)分配的组播地址

IPv6 组播地址的前缀为FF00::/8,分为两种类型:分配的组播地址、请求节点组播地址。

分配的组播地址:为预先定义的设备组保留的组播地址,用在特定的协议环境(例如 DHCPv6)。两种常见的 IPv6 分配组播组包括:

  1. FF02::1全节点组播组或所有节点组播组,包含所有支持 IPv6 的设备的组播组。

    发送到该组的数据包由该链路或网络上的所有 IPv6 接口接收和处理。这与 IPv4 中的广播地址具有相同的效果。

  2. FF02::2 全路由组播组 - 所有 IPv6 路由器均会加入的组播组。发送到该组的数据包由该链路或网络上的所有 IPv6 路由器接收和处理。

(3)请求节点IPv6组播地址

请求节点组播地址:类似于全节点组播地址。请求节点组播地址的优势在于它被映射到特殊的以太网组播地址。这使得以太网网卡可以通过检查目的 MAC 地址过滤帧。

4、IPv6和IPv4共存

过渡到 IPv6 不是一朝一夕可以完成的。在可预测的未来,IPv4 和 IPv6 将共存。将网络迁移到 IPv6 的迁移技术可以分为三类:双堆栈、隧道和转换。

双堆栈:允许 IPv4 和 IPv6 在同一网络中共存。设备可以同时运行IPv4 和 IPv6 协议栈。

隧道:通过 IPv4 网络传输 IPv6 数据包。将 IPv6 数据包封装到 IPv4数据包中。

转换:网络地址转换 64 (NAT64) 允许支持 IPv6 的设备与支持 IPv4 的设备使用类似于 IPv4 中 NAT 的转换技术进行通信。IPv6 数据包转换到IPv4 数据包,反之亦然。

四、获取IP地址的方式

1、静态地址分配

采用静态方式分配时,网络管理员必须手工配置主机的网络信息。这些信息至少包括主机IP地址、子网掩码和默认网关。静态地址具有一些优点。例如对于用户要经常访问的网络打印机和服务器等,静态IP地址就很实用,因为该地址不宜变更。

2、动态地址分配

在本地网络中,用户数量通常会频繁变化。比如新来的携带笔记本电脑的用户需要上网连接,就也需要IP地址。自动(动态)分配IP地址在方便性方面,优于静态分配IP地址的做法。要完成自动分配,需使用动态主机配置协议(DHCP)。DHCP提供一种自动分配IP地址、子网掩码、默认网关等地址信息和其它配置信息(如租借期等)的机制。

打赏
评论区
头像
文章目录