路由器如何分配IP地址?

我了解连接到路由器的设备(如72.73.74.75)如何使用DHCP分配本地IP地址(例如192.168.1.5)。

但是,路由器本身如何获得从ISP分配的IP地址呢? 如何确保Internet上的另一台服务器没有分配相同的IP地址?

IANA是负责全球知识产权任务的组织。 他们将IP地址的“块”分配给区域互联网注册机构,这些注册机构是地理上负责在其地理区域内分配的机构 – 有5个RIR:

  • 非洲(非洲)
  • LACNIC(拉丁美洲和加勒比)
  • APNIC(亚太地区)
  • ARIN(美国,加拿大,加勒比地区,南极洲)
  • RIPE NCC(欧洲,俄罗斯,中东和中亚)

从那里,RIR将地址的较小块分配给LIR(本地因特网registry)。 这包括你的ISP。

每个组织都要pipe理其分配的IP地址块。 这通常使用某种IPAM(IP地址pipe理)软件完成。

每个LIR如何从它的分配中分配地址取决于它们。

从实际的angular度来看,地址是通过手动方式(通过pipe理员或者有时是configurationpipe理系统)分配的,而不是DHCP。 例如,要将IP地址分配给Cisco路由器上的以太网接口#4,pipe理员需要连接到路由器(例如,使用SSH)并发出类似于以下内容的命令:

Router> enable Router# configure terminal Router(config)# interface fastethernet 4 Router(config-int)# ip address 192.0.2.1 255.255.255.0 Router(config-int)# no shutdown Router(config-int)# exit 

如果您想了解LIR之间所有信息如何汇总和共享,则需要阅读AS编号和BGP协议。

(这里我说的是客户边缘路由器,就是你的LAN上的路由器,在ISPnetworking中,路由器通常/可能是手动configuration的)。

如果您有基于PPP的连接(PPPoE,PPPoA,PPPoEoA),您的路由器将从ISP地址接收其IP地址:

  • 使用IPv4的IPCP ;

  • 使用IPCPv6和SLAAC或DHCPv6进行IPv6。

如果您有非基于PPP的连接(IPoE,IPoA,IPoEoA),则路由器将使用您的计算机从路由器获取其IP地址的相同方法从ISP 接收其IP地址 :

  • 使用DHCP(用于IPv4);

  • 使用SLAAC或DHCPv6进行IPv6。

对于IPv6,本地networking通常具有完整的IPv6委托前缀, 例如/ 60,/ 56或/ 48 。 使用DHCPv6 IA_PD选项将此前缀通告给路由器。

使用与局域网上相同的机制完成IP地址的分配:

  • 使用静态分配;

  • 或可用的地址池由DHCP服务器pipe理;

  • 在IPv6的情况下,IPv6地址可以与用于避免和检测冲突的SLAAC相关联。

ISP也有一个DHCP服务器,就像你的路由器一样。 DHCP服务器可能会将您的旧地址caching为之前发布的答案,如果不是,则可能会给您一个新的地址。

DHCP有时会直接在您的上行链路上运行,有时会在运行上行链路的networking设备处终止。 例如,在桥接模式下,DHCP用于直接分配地址。 对于PPP连接(如PPPoA,PPPoE等),DHCP池用于提供地址,但实际configuration由PPP服务完成。

IP地址分配对于所有networking来说都差不多,直到到达RIR块。

基本上,你有一个全球有限的IP地址,被分成块。 然后这些块被分配给地理区域,然后被分成块,这是给ISP的。 IP块可以在用完时请求,可以从公司购买,或者从ISP租用。

有一些组织pipe理IP分配,以确保知道哪些IP块属于某人。 它像这样stream动:

IANA拥有所有的IP地址,这些IP地址被分割成块,这些块被RIR重新分割。 RIR是一个地区互联网registry。 每个RIR覆盖一个地理区域,共有5个。 RIR反过来划分其IP块,并根据要求将其分发给LIR和NIR:本地互联网注册pipe理机构和国家互联网注册pipe理机构。 互联网服务提供商和企业,如果我没有弄错,个人,然后可以请求从LIR或NIR的IP地址,在某些情况下,直接形成RIR的。

你对你的IP地址块做什么取决于你。 要利用它们,确保互联网知道你的IP地址在哪里,在什么networking上,以及如何到达那里是有意义的。 这是通过使用诸如BGP的协议的路由器和网关来完成的,这使得networking能够彼此通信,从而知道它们存在并知道它们提供了什么networking。 但在这一点上,我们正在通过IP地址。 (如果你想知道更多,查看自治系统,对等和BGP)

大部分信息可以在这里find: http : //www.internetassignednumbersauthority.org/numbers

因此,基本上,在几个组织之后,一系列的IP地址(一个块)被分割并分割成较小的单元,并且在某个点由ISP拥有。 ISP然后让其他ISP知道它具有这个IP地址范围,因此可以用来进行通信。 此时,ISP的networking已准备就绪,只需将一个IP分配给客户端的networking,然后该客户端的networking就成为客户端的WAN IP地址。

现在,ISP不能告诉其他ISP它拥有它实际上不拥有的IP地址,因为它不能与LIR / NIR / RIR级别的可以公开检查(也自动)的注册机构相匹配。 所以在这个层面上,重复的IP将不会发生。 当stream氓ISP试图这样做的时候,它几乎与互联网的其他部分断开连接,因为它们不允许它与其他ISP进行通信(因为他们基本上把假ISP的networking连接插到自己的networking上)。

这让你在ISP的层面上。 由于ISP知道它拥有什么地址,并知道它拥有什么客户端,以及这些客户端连接在哪个networking连接上,所以它可以简单地通过不允许客户端使用不由ISP分配的IP来实施它的规则。 它只是忽略所有不应该在那里的客户端的互联网stream量。 如上所述分配IP地址是由记住谁给了什么IP地址的系统来完成的,因此它永远不会给出IP地址两次。

logging保存可防止重复。

就像你说的那样,ISP将地址分配给客户。 在ISP之上,诸如ARIN或RIPE之类的编号权限分配ISP可以使用的一个IP地址块。 所以没有两个ISP有相同的地址范围。

scheme各不相同,但在最常见的scheme中,ISP会跟踪分配的IP地址和可用的IP地址。 当客户build立连接时,如果它们仍然可用,则将它们分配给与它们在上次连接时分配的IP相同的IP。 如果失败,则会分配一个已知适合且未使用的IP地址。