我不知道它是否绑定到我的网卡或者如果操作系统或驱动程序拦截,并立即返回数据发送到环回地址?
信号是否真的传到我的网卡然后网卡返回?
你没有提到一个特定的操作系统,但是大多数情况下,数据都是沿着堆栈传输的,直到它到达IP地址为止,这个时候它已经被发回了。 这是一个巨大的过度简化,但意味着整个过程通常是CPU绑定,因此它的性能直接关系到CPU速度和堆栈效率。 实际上,现代CPU和操作系统应该能够比“40Gbps”更快地“反弹”环回stream量 – 这是我认为今天能够购买的最快的网卡。 希望这可以帮助。
不是所有的127.0.0.1stream量都不会到达物理networking,它会被内核中的环回适配器处理。
您可能对Microsoft在Windows 8和Windows Server 2012中添加的“Loopback Fast Path”function感兴趣。请参阅:
它还提供了有和没有优化的环回所采用的path的图示。
其他本地IP地址127.0.0.1不会更快。 本地ip很快,因为它不使用物理设备和2层(它从来没有打你的网卡)
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
这取决于你正在运行的操作系统,但是Windows 2000有一个错误,在这个环回适配器上的请求会很慢。 有一些无用的琐事!
请参阅此kb文章以获取更多信息。
我宁愿说,你自己的名字find你的答案。 名字说:“本地环回地址”,这本身就意味着networking从不干预进程,并且请求本身在本地环回。
如果你在Linux上…
键入“ifconfig -a”作为根…
注意所有NIC上的“中断”行…注意“lo”上没有“中断”行…这意味着它甚至没有分配给它的中断,所以非常快速; – )