如何将255台以上的机器添加到一个C类networking?

可能重复:
子网划分如何工作?

我主要是程序员。 在networking/pipe理方面,除了一些基本理论之外,我不知道。

我的大学认为我们至less应该掌握networking的基础知识,而且我很兴奋。 这对我来说是一个非常新的东西,我很喜欢这门课。

昨天是我的第一天,他提出了以下问题。

“由于每个C级networking最多只能有254个IP地址,所以如何将300台机器添加到单个C级networking?

我在想像这样的东西:

192.168.1.1 192.168.1.2 192.168.1.3 --- 192.168.1.254 (Make this a ROUTER) //and inside this router's network I could repeat the following addresses no problem. 192.168.1.1 192.168.1.2 //etc. 

这是我老师在说什么吗? 我的老师说这有一个特殊的名字,我们应该研究它被称为。

任何人都在意分享一些知识? 🙂

编辑:也许我不是很清楚地expression我的问题; 我需要有300台机器能够相互通信,而且他们都在同一个C级networking中。 (这是一个不赞成的术语,你说现在叫什么?)

我怎么能把这个解决scheme写在纸上,解释我需要什么?

我相当肯定,你的老师正指着你的概念是NAT(networking地址转换)。 这是一个由路由器执行的function,它允许(通常是私人的)networking共享一个(通常是公共的)IP地址。 这是任何用于将家庭networking连接到Internet连接的现成路由器的主要function之一。

在你的例子中,你不能在“内部”networking上重复使用同一个子网。

简要说明,给出以下configuration:

 192.168.1.0/24 | 192.168.1.1 (external interface) Router performing NAT 192.168.2.1 (internal interface) | 192.168.2.0/24 

执行NAT的路由器将在不同的子网上有主机(注意第3个八位字节中的“2”)。 192.168.2.0/24networking中的主机会将NAT路由器(192.168.2.1)设置为其网关。

当stream量通过路由器时,NATfunction“翻译”IP报头,将源地址更改为自己的“外部”IP(192.168.1.1)并转发stream量。 然后它保留一个连接条目表,所以当返回stream量到达时,它将它所执行的转换反转,并将应答转发回“内部”networking上的原始发送者。

http://en.wikipedia.org/wiki/Network_address_translation

忘记与IP路由有关的术语“类”。 这个词是死了,埋没了。 他们是“/ 8”,“/ 16”和“/ 24”networking – 而不是“A级”等。如果有人告诉你,否则发送给我。

这听起来像你问:

我可以在一个NAT路由器后面连接250个ish主机的整个networking,而这个networking又连接到另一个NAT路由器后面的250-ish主机的另一个networking。 就像是:

  Interface Interface Ethernet1 Ethernet1 192.168.1.254/24 192.168.1.1/24 __________ V __________ V (( heap o )) | NAT | V | NAT | (( internet )) ----| ROUTER A |----- //// -----| ROUTER B |----- //// ----- (( w00t! )) ^ |__________| ^ |__________| ^ ^ Interface Interface Ethernet0 Ethernet0 Some Internet IP 192.168.1.1/24 

在每个这样的间隙networking中(以////代表),你想堆放250个主机,呃?

Firstoff,你似乎混淆了术语“路由器”和“NAT路由器”。 许多路由器不会将NAT作为其日常工作的一部分。 我认为你相信每个路由器都能转换networking地址,事实并非如此。

你可能会认为这会奏效。 你可能会认为“Gee-NAT路由器B只是”知道“将来自连接到其Ethernet1接口的LAN的数据包路由到Internet路由器”NAT Router A“。

这不会工作,但。 你需要一些术语来理解为什么。 看到这个问题,我的答案是令人难以忍受的详细程度,当你完成后回来。

NAT路由器B将“知道”在哪里发送数据包的方式是基于分配给其接口的networkingID。 Ethernet0和Ethenet1都有相同的networking号(192.168.1.0)。 在两个不同的networking上重复使用相同的networkingID,然后将这些networking连接在一起不利于这些networking之间的通信。 不好的路由器在接收到一个绑定“192.168.1.254”的Ethernet1接口上的数据包时,就不会知道这个数据包是否应该从接口Ethernet0或Ethernet1发出。 你可能会认为“哎 – 它到达以太网1,所以它应该发送出Ethernet0”,但这是一个人为的假设,而不是一个IP路由器“认为”。

如果将NAT路由器B更改为使用来自其他子网(如192.168.2.0/24)的地址,将允许configuration工作,只要192.168.2.0/24networking上的主机可以启动与192.168.1.0/的通信24networking和互联网。

  Interface Interface Ethernet1 Ethernet1 192.168.1.254/24 192.168.2.1/24 __________ V __________ V (( heap o )) | NAT | V | NAT | (( internet )) ----| ROUTER A |----- //// -----| ROUTER B |----- //// ----- (( w00t! )) ^ |__________| ^ |__________| ^ ^ Interface Interface Ethernet0 Ethernet0 Some Internet IP 192.168.1.1/24 

不过,这仍然是一个有问题的真实世界的configuration。 连接到192.168.2.0/24networking上的NAT路由器B的主机由于NAT路由器B中的NATfunction而不能被192.168.1.0/24networking中的主机访问。 NAT路由器B将192.168.2.0/24主机发起的任何通信的192.168.1.1 IP地址有效地“共享”到其他networking(在技术上称为“端口地址转换”或“过载NAT”)。 进入192.168.2.0/24networking的入站连接必须通过192.168.1.1的IP地址进行连接,并且必须在NAT路由器B上configuration特定的端口或协议转发规则以促进此通信。

在企业networking中,通常希望networking上的任何主机能够(尽pipe可能不允许)到达networking上的任何其他主机。 在企业networking中,不像本例中那样只堆叠NAT路由器,因为您需要在整个networking中进行端到端的通信。 您经常会在networking/ Internet的边界看到NAT,但是通常在networking内部不会有更多的NAT(除了特定的地方,如果您需要的话,您会知道为什么需要它)。

您可以在networking上拥有尽可能多的机器,但是只有254(其中一个作为网关)可以在/ 24networking中拥有一个IP地址。

或者,也可以在仅使用1个外部/ 24块IP的NAT盒子后面使用多个192.168专用networking。 这将不允许外部计算机直接访问专用networking中的计算机; 尽pipe这通常对安全性有好处。

编辑:
要清楚的是,绝对不可能在单个/ 24(以前称为C类networking)上拥有全部IP的300台机器。

里面重复同样的地址是不行的,这会混淆路由器。 不能有两个相同的块!

但是,在具有能够进行NAT / PAT的路由器的主专用块内的不同私有块将工作得很好。

我在这里看到很多复杂的答案。 你提出了一个简单的问题,有一个简单的答案: 你不

“C类”是指一个/ 24子网,即其中一个IP地址为2 ^(32-24)= 256的子网,其中一个(最后一个)用于广播地址,其中一个不应该是使用(第一个,也称为networking地址)。

如果你所说的“机器”实际上是可以互相连接的networking主机 ,那么它们就是254.要求如何把X主机放在X地址子网中是没有任何意义的。

确实,你可以连接超过X个系统,使得它们都通过NAT来发起这个子网中的stream量,但是你还有其他的限制(NAT主机通常无法获得传入的连接),你实际上不能这么做对于所有事情(记住我们正在谈论IP,不一定限于tcp,udp,icmp,igmp)。

如果你需要一个能够保存至less300个主机的子网,你至less需要ceil(sqrt(300 + 2))位地址空间,这是9位,所以你至less需要一个/ 23。

难道你只是将子网从/ 24更改为/ 23?

(255.255.255.0至255.255.254.0)

这会给你510个可用的地址从192.168.1.1到192.168.2.254

你所有的networking专家怎么会错过这个显而易见的? 老师显然想要的答案是在某些计算机上安装Windows Internet连接共享。 或者,也许添加一个USBnetworking的一些电脑? 😉

但严重的是,这可能是一个诡计的问题。 我们是否假设全部300台电脑同时开机/连接? 如果没有,那么也许预期的答案是DHCP

你可以作弊。

您无法使用IP地址在300个255.255.255.0子网上与其他299台机器进行无限制通信。 这在上面已经提到,并且重复。

但是,您可以在同一个广播域(您没有NAT路由器)中拥有300台机器,这些机器的IP地址都在255.255.255.0子网中(有些是重复的),并且能够与其余部分如果您使用静态ARP条目,则该子集包含唯一的IP地址。

把这个简单的三台机器networking,与机器A,B和C相对应的MAC地址00:00:00:00:00:0A到00:00:00:00:00:0C

A具有IP 1.1.1.1,并且1.1.1.2的静态ARP条目指向00:00:00:00:00:0C B具有IP 1.1.1.2 C具有IP 1.1.1.2

B和C不能互相通话(不是唯一的子集)A不能与B通话,因为它不会对1.1.1.2进行ARP。 一个CAN与C进行通信,因为它不会为1.1.1.2的ARP而引起混淆多个回复。

我们不这样做的原因是因为不可能pipe理,所以现在你可以忘记我说的这个。