127.0.0.1有多快?


36

我想知道它是否完全绑定到我的NIC,还是操作系统或驱动程序拦截并立即返回发送到回送地址的数据?

信号实际上是否传播到我的NIC,然后NIC返回它?


5
更多琐事,整个127/8都专门用于回送
Jacob Jacob

2
如果有人知道环回的一些实际吞吐量和/或延迟数字,那将很有趣。
NPE

3
即使电子在那里传播,NIC也可能不会返回相同的电子:)
HalilÖzgür

:)是的,我应该说信号..

1
没有像127.0.0.1这样的地方

Answers:


29

您没有提到特定的操作系统,但是大多数情况下,发生的事情是数据一直沿堆栈传输,直到到达IP,此时几乎已将其发送回去。这是一个极大的简化,但是意味着整个过程通常受CPU限制,因此其性能直接与CPU速度和堆栈效率联系在一起。实际上,现代CPU和OS应该能够比40Gbps更快地“反弹”回送流量-这是我认为我今天能够买到的最快的NIC。希望这可以帮助。


39

没有所有127.0.0.1流量永远不会到达物理网络,而是由内核中的环回适配器处理。


因此,这意味着超级快:)

@Mrk Mnl是的,您打赌。对于使用XAMP 1.7.4进行的ping 00ms

12
任何本地地址都不会访问物理网络。127.0.0.1只是其中之一
alvosu

1
“打物理网络”有点含糊,因为它可以不被发送到您的NIC而不会打到物理网络,无论如何,如果它是由内核(即操作系统)返回的,显然它不会到达NIC。


7

127.0.0.1没有任何其他本地ip更快。本地ip速度快,因为它不使用物理设备和2层。(它永远不会碰到您的NIC)

iperf -c 109.191.109.xxx 1111 -t 5
iperf: ignoring extra argument -- 1111
------------------------------------------------------------
Client connecting to 109.191.109.241, TCP port 5001
TCP window size: 49.7 KByte (default)
------------------------------------------------------------
[  3] local 109.191.109.xxx port 32840 connected with 109.191.109.xxx port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0- 5.0 sec  4.72 GBytes  8.12 Gbits/sec

$ iperf -c 127.0.0.1 1111 -t 5
iperf: ignoring extra argument -- 1111
------------------------------------------------------------
Client connecting to 127.0.0.1, TCP port 5001
TCP window size: 49.7 KByte (default)
------------------------------------------------------------
[  3] local 127.0.0.1 port 56482 connected with 127.0.0.1 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0- 5.0 sec  4.62 GBytes  7.94 Gbits/sec

4
这个答案有很多错误。它更快。如果您使碰撞窗口饱和,则限制因素将由上下文切换驱动。
symcbean 2011年

太棒了,正是我想要的。我想在本地运行客户端到服务器时看到上限...谢谢您的回答!!!!
Dean Hiller

@symcbean:请您详细说明这个答案的“错误”吗?
Sam Ax


2

我宁愿说您以名称本身找到答案。名称说:“本地回送地址”,它本身意味着网络从不干预进程,并且请求本身在本地回送。


当我注意到您击败我时,我正要发布相同的内容。确实,“回送地址”应该给出提示:)
luis.espinal,2011年

问题是速度有多快,我知道它的作用

这个名字实际上并没有告诉你任何东西。例如,物理RS-232环回速度将与串行端口一样慢,而如果要在驱动程序级别实现一个,则速度会更快。当然,本地主机将由软件处理,但是您不能仅通过名称“ loopback”来分辨。如果您还不懂这些事情,我给您google.com/search?q=rs232+loopback&tbm=isch
aij

1

如果您使用的是Linux ...

以根用户身份输入“ ifconfig -a” ...

注意所有NIC上的“ interrupt”行...注意“ lo”上没有“ interrupt”行...这意味着它甚至没有分配中断,因此速度非常快;-)


这是没有意义的。这对于虚拟设备没有多大意义,并且对其性能没有任何说明。
sleeplessnerd
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.