我有一个关于网络层可靠性的问题,我认为在网络层中有一个冗余,我的问题是为什么链路层和终端层都需要可靠性?
发布于 2010-01-13 09:34:56
端到端是必需的,因为并不是所有的网络层都特别可靠,而且只有终端系统知道真正需要多少可靠性。此外,如果有多个有损耗的链路,只有端系统知道哪些数据包真正需要重新传输(或纠正),因此,端到端的可靠性将最大限度地减少额外的工作,以弥补损失。最后,所有不丢失数据包的方法都需要时间。如果长路径上的每一跳都具有近乎完美的可靠性,那么整个延迟将是巨大的。
端到端原则是使互联网变得实用的原因。
发布于 2012-11-29 05:41:19
当链路层协议提供可靠的传输时,它保证将每个网络层数据图移动到链路上,而不会出现任何错误。链路层可靠性通常用于容易出现诸如无线等高错误率的链路,而不是通过传输或应用层协议强制数据的端端重传。
在光纤情况下,网络传输额外比特的开销很大。
发布于 2010-01-13 08:36:23
好吧,你有个服务器..。你想要很好的可用性和冗余,所以你用一个NIC连接到一个交换机。
这是一个很好的开始,网络是相当可靠的,如果单独。
更好的冗余是将两个NIC连接到同一个交换机,使用STP桥接来确保网络中没有一个循环。
这允许一个NIC失败,仍然给您留下连接性。(取决于NIC的键合方式)
更好的办法是将两个NIC连接到不同的交换机上。现在你可以失去一个网卡和一个开关。
为了获得更大的冗余,您需要看看网络是如何超越局域网的。WAN冗余由多个不同的路由提供。所谓多样化,我的意思是,交通采取完全不同的路线,完全到互联网。(比方说,ADSL与office中的电缆)在一个数据中心,这可能是最好的办法是获得一些IP空间,并通过BGP向您的上游传输/对等提供商宣布它。
你也可以做很多事情来使你的应用层可靠。多台交换机上的多台服务器,连接到多个路由器。
有些服务器可能需要运行memcached之类的程序,以允许您共享会话信息,并允许用户无缝地在服务器之间进行转换。
为了达到极端的可靠性,您需要查看多个电源馈送到多个机架中,在多个全球不同的数据中心位置,每个机架都内置了上述所有冗余。
(同时确保您的服务器有双电源和至少2个磁盘在RAID级别的>= 1 !)
https://serverfault.com/questions/102181
复制相似问题