微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

1个带有两块网卡的Linux PC不能为testing系统产生networkingstream量

这些问题涉及到networking的基础知识,但是我还没有find答案!

问题1:一个100Mbps的交换机可以处理两个100Mbps同时运行的Tcpstream吗? 为了说明这一点,如果你有4台PC的1台交换机(100Mbps没有其他连接),你有两个独立的stream,他们会达到什么样的速度? 一个数据stream会影响其他速度,还是内部处理很多数据stream的速度足够快?

问题2:我在专用networking交换机上安装了1台PC(Linux),PC上有2个networking接口卡(NIC)。 这两个网卡有不同的IP地址“,并正常工作。 如果我从一个NIC发送任何数据到另一个networking交换机绝对没有stream量发送。 它认为内核是智能的并且不需要在networking上发送任何东西,因为IP在同一台PC上。 如何closures此function?

如何获取以太网设备列表

如何将原始套接字绑定到特定的接口

为什么当O_NONBLOCK被设置时这个读取被阻塞?

如何为subprocessselect一个自由端口?

WSAGetLastError()只是GetLastError()的别名吗?

由于我无法访问4台PC,因此我无法在现实世界中testing问题1。 这些都是非常简单的问题,但同时也很难回答。

谢谢!

“零复制networking”与“内核旁路”?

独立的,独立于操作系统的,与架构无关的multithreading库

列出所有networking连接,然后pipe理一个

如何确定目标MAC地址

从SSH服务器发送频道请求`ssh_channel_accept_forward()`在SSH客户端上返回?

问题1:是的,任何100Mb / s交换机都应该能够处理两个独立的100Mb / s数据流,因为每个端口都是100Mb / s,而不是交换机本身。 流量不会触及cpu,除非它绝对需要,在这一点上交换机可能会瓶颈和放缓。 正常的流量应该没问题。

问题2:你需要编写一个程序来手动完成,或者在网上找到一个。 我建议看Libnet。

问题在于内核知道它拥有这两个卡,所以它并不会在网络上实际发送数据。 使用Libnet,您可以手动构建数据包并将其发送出特定的接口。

主要的技巧是,你需要发送两个方向的流量(并不是很多;你不应该在一个方向上每分钟需要多于一个数据包,而其他所有东西都在另一个方向上)。 问题是,交换机将不知道数据包应该去的地方,并将他们洪水到所有端口,放缓一切。

问题1的答案取决于交换机的背板带宽 – 这是它可以在内部处理的总流量。 如果它至少有200Mbps的背板带宽,它可以支持两个独立的100Mbps数据流。

比较昂贵的“大铁”开关更便宜的开关倾向于有更少的背板带宽。

至于问题2,您可以尝试添加手动路由到您自己的IP地址,明确指定外部设备(如果您检查route -C ,您将看到路由缓存具有通过回环设备为您自己的IP地址)。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐