路由器为什么有广播地址跟网络地址?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了路由器为什么有广播地址跟网络地址?相关的知识,希望对你有一定的参考价值。

路由器的广播地址跟网络地址可以更改吗?

1、为什么会出现IPV6呢?

随着互联网的发展,IPV4地址逐渐耗尽,并且IPV4在使用过程中也存在一些问题,IPv6的出现,解决了IPv4的一些弊端。

2、IPV6和IPV4有什么区别呢?

地址空间

IPv4地址采用32比特标识,理论上能够提供的地址数量是43亿(由于地址分配的原因,实际可使用的数量不到43亿),目前已经消耗殆尽。无类别域间路由CIDR(Classless Inter-Domain Routing)和网络地址转换NAT(Network Address Translator)也在IPV4网络中用来解决地址短缺。但是CIDR和NAT都有各自的弊端和不能解决的问题,由此推动了IPv6的发展。

IPv6地址采用128比特标识。128位的地址结构使IPv6理论上可以拥有(43亿×43亿×43亿×43亿)个地址。近乎无限的地址空间是IPv6的最大优势。

报文格式

IPv4报头包含可选字段Options,可以将IPv4报头长度从20字节扩充到60字节。携带这些Options的IPv4报文在转发过程中往往需要中间路由转发设备进行软件处理,对于性能是个很大的消耗,因此实际中也很少使用。

IPv6和IPv4相比,去除了IHL、Identifier、Flag、Fragment Offset、Header Checksum、Option、Padding域,只增加了流标签域,因此IPv6报文头的处理较IPv4更为简化,提高了处理效率。另外,IPv6为了更好支持各种选项处理,提出了扩展头的概念,新增选项时不必修改现有结构,理论上可以无限扩展,体现了优异的灵活性。

3、IPV6地址表示方法

IPV6地址和IPV4地址有什么区别呢?上面提到了IPV4地址长度是32位,而IPV6的地址长度是128位。

那么这么长的地址如何表示呢?我们知道IPV4地址是采用点分十进制表示(例如:192.168.1.1),IPV6地址表示方法:冒号16进制,而且为了更加方便,可以对地址进行压缩。

下面就一起看下IPV6地址的表示方式吧!

IPv6地址总长度为128比特,通常分为8组,每组为4个十六进制数的形式,每组十六进制数间用冒号分隔。

先来看个标准格式的:FC11:0000:1300:0000:0000:09C0:876A:130B;

来个压缩格式的:FC11:0:1300:0:0:9C0:876A:130B(规则:每组中的前导“0”都可以省略);

再来个终极压缩格式的:FC11:0:1300::9C0:876A:130B(规则:地址中包含的连续两个或多个均为0的组,可以用双冒号“::”来代替);

具体压缩规则为:

每组中的前导“0”都可以省略;

地址中包含的连续两个或多个均为0的组,可以用双冒号“::”来代替;

在一个IPv6地址中只能使用一次双冒号“::”,否则当计算机将压缩后的地址恢复成128位时,无法确定每个“::”代表0的个数。

4、IPV6地址结构

下面我们一起看下IPV6的地址结构,我们知道IPV4地址有网络位和主机位构成;

一个IPv6地址可以分为如下两部分:

网络前缀:n比特,相当于IPv4地址中的网络ID;

接口标识:128-n比特,相当于IPv4地址中的主机ID。

在这里接口标识可通过三种方法生成:

手工配置;

系统通过软件自动生成;

IEEE EUI-64规范生成;(最常用)

在使用IEEE EUI-64规范生成接口标识时,64位接口标识符(Interface ID)用来标识链路上的唯一接口。这个地址是从接口的链路层地址(如MAC地址)变化而来的。

那么如何通过MAC地址生成IPV6地址的接口标识的呢?

IPv6地址中的接口标识符是64位,而MAC地址是48位,因此需要在MAC地址的中间位置插入十六进制数FFFE。然后将U/L位(从高位开始的第7位)设置为“1”,这样就得到了EUI-64格式的接口ID。

例如:MAC地址:000E-0C82-C4D4;转换后:020E:0CFF:FE82:C4D4。

IEEE EUI-64规范生成接口标识的优点:

可以减少配置的工作量,尤其是当采用无状态地址自动配置时,只需要获取一个IPv6前缀就可以与接口标识形成IPv6地址。

缺点:

任何人都可以通过二层MAC地址推算出三层IPv6地址。

5、IPV6的地址分类:

我们知道IPV4地址可以分为单播地址、组播地址、广播地址。

那么IPV6呢?IPv6地址分为单播地址、任播地址(Anycast Address)、组播地址三种类型。

和IPv4相比,取消了广播地址类型,以更丰富的组播地址代替,同时增加了任播地址类型。

IPv6单播地址

IPv6单播地址标识了一个接口,由于每个接口属于一个节点,因此每个节点的任何接口上的单播地址都可以标识这个节点。发往单播地址的报文,由此地址标识的接口接收。

IPv6定义了多种单播地址,目前常用的单播地址有:未指定地址、环回地址、全球单播地址、链路本地地址、唯一本地地址ULA(Unique Local Address)。

未指定地址

IPv6中的未指定地址即0:0:0:0:0:0:0:0/128或者::/128。该地址可以表示某个接口或者节点还没有IP地址,可以作为某些报文的源IP地址(例如在NS报文的重复地址检测中会出现)。源IP地址是::的报文不会被路由设备转发。

环回地址

IPv6中的环回地址即0:0:0:0:0:0:0:1/128或者::1/128。环回与IPv4中的127.0.0.1作用相同,主要用于设备给自己发送报文。该地址通常用来作为一个虚接口的地址(如Loopback接口)。实际发送的数据包中不能使用环回地址作为源IP地址或者目的IP地址。

全球单播地址

全球单播地址是带有全球单播前缀的IPv6地址,其作用类似于IPv4中的公网地址。这种类型的地址允许路由前缀的聚合,从而限制了全球路由表项的数量。

全球单播地址由全球路由前缀(Global routing prefix)、子网ID(Subnet ID)和接口标识(Interface ID)组成。

Global routing prefix:全球路由前缀。由提供商(Provider)指定给一个组织机构,通常全球路由前缀至少为48位。目前已经分配的全球路由前缀的前3bit均为001。

Subnet ID:子网ID。组织机构可以用子网ID来构建本地网络(Site)。子网ID通常最多分配到第64位。子网ID和IPv4中的子网号作用相似。

Interface ID:接口标识。用来标识一个设备(Host)。

链路本地地址

链路本地地址是IPv6中的应用范围受限制的地址类型,只能在连接到同一本地链路的节点之间使用。它使用了特定的本地链路前缀FE80::/10(最高10位值为1111111010),同时将接口标识添加在后面作为地址的低64比特。

当一个节点启动IPv6协议栈时,启动时节点的每个接口会自动配置一个链路本地地址(其固定的前缀+EUI-64规则形成的接口标识)。这种机制使得两个连接到同一链路的IPv6节点不需要做任何配置就可以通信。所以链路本地地址广泛应用于邻居发现,无状态地址配置等应用。

以链路本地地址为源地址或目的地址的IPv6报文不会被路由设备转发到其他链路。

唯一本地地址

唯一本地地址是另一种应用范围受限的地址,它仅能在一个站点内使用。由于本地站点地址的废除,唯一本地地址被用来代替本地站点地址。

唯一本地地址的作用类似于IPv4中的私网地址,任何没有申请到提供商分配的全球单播地址的组织机构都可以使用唯一本地地址。唯一本地地址只能在本地网络内部被路由转发而不会在全球网络中被路由转发。

唯一本地地址由如下几部分组成:

Prefix:前缀;固定为FC00::/7。

L:L标志位;值为1代表该地址为在本地网络范围内使用的地址;值为0被保留,用于以后扩展。

Global ID:全球唯一前缀;通过伪随机方式产生。

Subnet ID:子网ID;划分子网使用。

Interface ID:接口标识。

唯一本地地址具有如下特点:

具有全球唯一的前缀(虽然随机方式产生,但是冲突概率很低)。

可以进行网络之间的私有连接,而不必担心地址冲突等问题。

具有知名前缀(FC00::/7),方便边缘设备进行路由过滤。

如果出现路由泄漏,该地址不会和其他地址冲突,不会造成Internet路由冲突。

应用中,上层应用程序将这些地址看作全球单播地址对待。

独立于互联网服务提供商ISP(Internet Service Provider)。

IPv6组播地址

IPv6的组播与IPv4相同,用来标识一组接口,一般这些接口属于不同的节点。一个节点可能属于0到多个组播组。发往组播地址的报文被组播地址标识的所有接口接收。

例如组播地址FF02::1表示链路本地范围的所有节点,组播地址FF02::2表示链路本地范围的所有路由器。

一个IPv6组播地址由前缀,标志(Flag)字段、范围(Scope)字段以及组播组ID(Global ID)4个部分组成:

前缀:IPv6组播地址的前缀是FF00::/8。

标志字段(Flag):长度4bit,目前只使用了最后一个比特(前三位必须置0),当该位值为0时,表示当前的组播地址是由IANA所分配的一个永久分配地址;当该值为1时,表示当前的组播地址是一个临时组播地址(非永久分配地址)。

范围字段(Scope):长度4bit,用来限制组播数据流在网络中发送的范围,该字段取值和含义的对应关系如图5所示。

组播组ID(Group ID):长度112bit,用以标识组播组。目前,RFC并没有将所有的112位都定义成组标识,而是建议仅使用该112位的最低32位作为组播组ID,将剩余的80位都置0。这样每个组播组ID都映射到一个唯一的以太网组播MAC地址。

被请求节点组播地址:

被请求节点组播地址通过节点的单播或任播地址生成。当一个节点具有了单播或任播地址,就会对应生成一个被请求节点组播地址,并且加入这个组播组。一个单播地址或任播地址对应一个被请求节点组播地址。该地址主要用于邻居发现机制和地址重复检测功能。

IPv6中没有广播地址,也不使用ARP。但是仍然需要从IP地址解析到MAC地址的功能。在IPv6中,这个功能通过邻居请求NS(Neighbor Solicitation)报文完成。当一个节点需要解析某个IPv6地址对应的MAC地址时,会发送NS报文,该报文的目的IP就是需要解析的IPv6地址对应的被请求节点组播地址;只有具有该组播地址的节点会检查处理。

被请求节点组播地址由前缀FF02::1:FF00:0/104和单播地址的最后24位组成。

IPv6任播地址

任播地址标识一组网络接口(通常属于不同的节点)。目标地址是任播地址的数据包将发送给其中路由意义上最近的一个网络接口。

应用场景:当移动主机需要与它的“home”子网上的移动代理之一通信时,它将用该子网路由设备的任播地址。

参考技术A

IP与网络上的其他系统有冲突意思:
举例:在同一个路由器下,另外一个人使用的ip和你电脑的ip一样,那么你的或者他的电脑就会提示"IP与网络上的其他系统有冲突"。

解决办法:

设置电脑IP、DNS自动获取。

1、xp系统:
①、具体操作办法是:右键点【击网上邻居】→【属性】→【右键点本地连接属性】→【双击TPC/IP协议】→然后点击【自动获取ip地址】。

2、win7系统:
①、右键点击【网络】→属性【更改适配器设置】→【本地连接】→【右键点本地连接属性】→【双击TPC/IP协议】→【然后点击“自动获取ip地址”】、【然后点击“自动获取DNS”服务器地址】→【单击确定】。

以上是关于路由器为什么有广播地址跟网络地址?的主要内容,如果未能解决你的问题,请参考以下文章

子网划分

有限广播地址和直接广播地址之间的区别?

默认网关 网关 子网掩码 广播地址

IP地址全部为“0”的 和全部是“1” 是啥地址?

192.168.100.26/24的子网掩码,网络地址,广播地址,可用地址范围各是啥?

ARP协议与路由