分享

计算机网络基础课程—一文掌握IP编址

 fjctchenmt 2019-08-12

为什么要IP地址

已有网络设备的物理地址(网卡地址,MAC地址)作为最底层通信地址,为何还要IP地址:

  1. 物理地址只在两个设备在同一物理网络中时才使用。IP地址提供了对远程网络中的设备进行寻址和访问的方法,它使得网关能容易决定数据报是留在本地网还是传输到其它网络
  2. 并非所有的网络主机都有网卡,拨号上网的主机无需网卡。利用IP地址可使拨号主机连接上IP网络
  3. 物理地址地址包括供应商代码(24位)和设备ID(24位)两部分,用户使用不友好。IP地址可使得地址逻辑上有序,易于理解和组织
  4. 最重要的是: IP地址实际上是一种组织网络的方式,与物理地址的作用(区别不同的硬件设备)完全无关。

IP地址表示(IPv4)

  • 二进制表示:32位

–11001010 01110000 01101100 10011110

  • 点分十进制表示:由二进制变化而来。32位二进制数分成4个8位组,每8位二进制用相应的十进制表示

–202. 112. 108. 158

  • 一个IP地址可分为两部分:

–前一部分为网络ID,标识主机所在的网络,即标识一个网络

–前一部分为主机ID,标识一台主机

  • 两部分分界位置的不同分别对应了不同种类的IP地址,并相应地适合不同种类的网络

计算机网络基础课程—一文掌握IP编址

IP地址的两级结构

计算机网络基础课程—一文掌握IP编址

IP地址种类

  • A类地址(见下图)

–前8位为网络ID,且首位总为0,01111111 为回送地址,用于测试

–因此只能有126个A类网络

–后24位用作主机地址,

–因此每个A类网络可以有16777214个具有不同IP的主机

计算机网络基础课程—一文掌握IP编址

A类

  • B类地址(见下图)

–前16位为网络ID,且最高两位总为10,因此有16384个B类网络

–后16位用作主机地址,

–因此每个A类网络可以有65535个具有不同IP的主机

计算机网络基础课程—一文掌握IP编址

B类

  • C类地址(见下图)

–前24位为网络ID,且最高两位总为110,因此有2097152个C类网络

–后8位用作主机地址,

–因此每个C类网络可以有254个具有不同IP的主机

计算机网络基础课程—一文掌握IP编址

C类

  • D类地址

–用于多播,高位总是1110,不能分给主机

  • E类地址

–保留

计算机网络基础课程—一文掌握IP编址

各类网络中主机IP的有效范围

IP 分配的几点准则

  • 网络ID唯一
  • 网络ID不能全为1(全为1为广播地址)
  • 网络ID不能全为0(全为0表示本地网)
  • 网络ID不能以127开头(127是为回送测试而预留的)
  • 两个路由器之间的连接(即使没有主机)也是一个网络,也需要一个唯一的网络ID
  • 同一网络上的每台主机必须有相同的网络ID
  • 同一网络上的每台主机必须分配有唯一的主机ID
  • 最后8位组全为1时用于广播

确定下列IP是否有效:

131.255.255.18

127.21.19.109

220.103.256.56

240.9.12.12

192.5.91.255

129.9.255.254

10.255.255.254

以上均针对目前使用的IPv4。

IPv6在地址结构方面的变化是:

–每个IP地址长为128位,

–支持更多的可寻址结点

–支持更多级的寻址层次

–提供更简单的自动地址配置

IPv6地址表示:(三种常用方式)

–分成8组,每组16比特用十六进制值表示。

–零比特压缩语法

–混合表示

IPv6地址类型

–单一型:标志单个接口

–任意型:标志一组接口,接收时可按某种标准选定一个

–多类型:标志一组接口,接收时送到所有标志了的接口

子网划分

  • 子网划分:

–把单一IP网络划分为几个物理网络。

  • 为何要做子网划分:

–提高地址的利用率:A类、B类网络地址空间太大,一个网络不可能用完所有地址,为有效使用地址空间,有必要把它们分配给更多较小的网络使用

–易于网络管理:小的网络易于管理,大型网络按其中各主机的工作联系或地理位置划分成一些小的网络更易于管理

–提高网络性能:通过划分成不同的物理网络,使得网络通信量尽可能局部化,减少广播风暴的出现。

–提高安全性:通过子网来隔离网络或对于特殊要求独立组网。

–减少Internet核心路由的数目。所有子网对外只有一个网络号,子网对网外部是不可见的,只有子网内部的路由知道子网划分。

子网编址

子网编址的途径:在一个网络ID下,把主机ID再细分为子网ID和主机ID,

计算机网络基础课程—一文掌握IP编址

可以看到:为子网ID保留的位数越多,则该网络可以划分成的子网就越多,但相应地每个子网中可容许的主机就越少。

子网掩码

  • 网络ID和主机ID的划分是通过给子网中的每台主机指定子网掩码来实现的,
  • 子网掩码的功能:指定网络ID与主机ID的分界。
  • 子网掩码的设置:对应于网络地址的所有位都设为1,而对应于主机地址的所有位都设为0,
  • 子网掩码的例子:

例1:

计算机网络基础课程—一文掌握IP编址

B类单一网络,子网掩码没有屏蔽出子网结构。该子网掩码为默认子网掩码。

例2:

计算机网络基础课程—一文掌握IP编址

B类单一网络,被子网掩码屏蔽出子网结构。

主机ID的前一个八位组用于子网ID,后一个八位组为主机ID。

这样可配置的子网数目为255

每个子网可含254台主机(全1为广播)

子网ID与主机ID的分界不一定要在八位组之间(见下例),但主机ID至少占2比特。

例3

计算机网络基础课程—一文掌握IP编址

主机ID的前一个八位组的头三个比特用于子网ID,后面13比特为主机ID。

这样可配置8个子网:

子网ID 分别为 : 00100000(0)

00100000(32)

01000000(64)

01100000(96)

10000000(128)

10100000(156)

11000000(192)

11100000(224)

第三个八位组头三位变化产生的8种组合,

子网ID为全零或全1的:

按标准RFC-950,全零或全1的子网ID是禁止的,主要原因是早期的路由协议RIPv1不能携带掩码或者网络ID的长度,因此不能区分一些情况:

例如全零时:

网络:

a)11000001.00000001.00000001.00000000(C类网络(193.1.1.0))

b)11000001.00000001.00000001.xxx|00000(ID前三比特为子网ID)

路由:

a)网络路由:11000001.00000001.00000001.00000000(193.1.1.0/24)

b)当三位均为零时的子网路由:11000001.00000001.00000001.000|00000 (193.1.1.0/27)

当网络前缀长度不知时(路由协议不能携带子网掩码),两者不可区分。

全1时,例如:

a)11000001.00000001.00000001.11111111(C类网络(193.1.1.224))

b)11000001.00000001.00000001.xxx|11111(ID前三比特为子网ID)

a)表示在网络11000001.00000001.00000001.00000000(193.1.1.0/24)

中广播。

b)当三位均为1时变为:

11000001.00000001.00000001.111|11111

表示在子网

11000001.00000001.00000001.xxx|00000 (193.1.1.0/27)

中广播

当网络前缀长度不知时,两者不可区分。

目前,RIP2 以及OSPF都是可以携带扩展网络前缀的,因而可以对上述情形进行区分。

实际上,目前的路由器生产商一般都支持。

这样,在两个主机进行通信时,IP可以通过子网掩码来断定源主机与目标主机是否处于同一个子网,从而决定是否要转给路由器。

方法: 分别把源IP地址和目标IP地址与各自的子网掩码进行“逻辑位与”运算。如果得到的网络ID值相同,则认为两个主机是在同一子网,而无须路由。如果得到的网络ID值不同,则认为两个主机不在同一子网,而把数据转给默认网关。

同一子网的主机必须配置相同的子网掩码。

子网掩码错误将导致错误的数据发送或接收的路径。

问题:子网掩码都为255.255.0.0

计算机网络基础课程—一文掌握IP编址

超网:

随着分配出去的各类网络数目的增加, Internet 上的骨干路由器系统记录的路由表也日益庞大,这一方面对处理机速度、路由内存要求更高,更主要的是对路由管理带来实质困难。

为此提出的一种技术:无类别域间路由(CIDR Classless Inter-Domain Routing),它将多个C类网络合并成单个条目,以此条目来代表这些C类地址,在逻辑上形成由多个C类网络合并成的一个网络,称为超网。

原则:要合并的多个C类网络要有相同的高位。

方法:使用子网掩码,将部分网络地址回移为主机地址。

示例:

假设已有如下8个C类网络:

192.168.168.0

192.168.169.0

192.168.170.0

192.168.171.0

192.168.172.0

192.168.173.0

192.168.174.0

192.168.175.0

要把它们合并成一个超网。

对这8个网络使用子网掩码255.255.248.0,则有:

计算机网络基础课程—一文掌握IP编址

可以看到,通过使用一个子网掩码,使后15位作为主机地址,而把8个C类网络逻辑上组成了一个网络。

这时,IP地址为192.168.168.12的主机会认为IP地址为192.168.174.34的主机在同一个子网上。

因此,这8个C类网络就可以用同一个入口。

子网划分的一般步骤

  1. 确定所需子网的数目
  2. 确定每个子网的最大主机数目
  3. 定义一个能满足上述要求的子网掩码
  4. 确定每个子网的网络ID
  5. 确定每个子网上所能使用的主机ID范围

其中的关键是子网掩码的确定,需要将多少位的主机地址用于子网ID。这取决于在第1和2步正确地分析需求。

子网的分层递阶划分

计算机网络基础课程—一文掌握IP编址

IP编址的问题:

1.由于IP编址实质上是一种组织网络的方式,而与主机无关,因而当设备从一个物理网络移动到另一个时,须重新分配IP地址。

2.由于很难预见一个网络规模的发展,而地址空间存在局限,因而有可能会导致一个网络IP地址的完全改变(例如:当一个原先使用C类地址的网络中主机数目增加到超过C类地址所能支持的数目时,就可能需要使用B类地址,而这将导致此网内所有IP地址的改变。)

3.对于多宿主主机(连接到多个网络,有多个IP) 有较大的问题:

由于路由是基于IP地址的网络ID,发送到多宿主主机的数据由于发送时所使用的IP地址的不同而可能会经过完全不同的路径,有些情况下会导致完全不同的传送结果,例如:在下面的网络中

A,B为两个主机

A以IP地址 I 2 连接到网络1上

B为多宿主主机,分别以IP地址 I 3 连接到网络1上,以IP地址 I 5 连接到网络2上,

I 2 和 I 3 同在网络1中,可以直接通信,

R为一个路由器,可以路由从 I 2 发到 I 5 的数据报,

计算机网络基础课程—一文掌握IP编址

考察从主机A发送数据到主机B:

1)网络1和2 均无故障

若分别把目标地址定为 I 3 和 I 5 时,数据将使用不同的传送路线,但均可到达,但此时主机 B 已不是一个唯一标识的实体了。虽然这样,但与通信无碍,只要都能实现同一结果。麻烦出现在:

2)当网络1出现故障,但B 主机正常时,此时,地址为 I 3 的数据报不可达,而地址为 I 5 的数据报是可达的。

这样的问题在后面的路由部分还会遇到。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多