文章在网络类别

  1. obao体育

    2021年9月29日星期三

    简介

    免责声明:本文面向消费者和爱好者。


    如果你想在家里运行自己的路由器,树莓派4型号B1可以是一个优秀的硬件选择:

    1. 相当便宜
    2. 够快了
    3. 它可以饱和它的千兆网口
    4. 它是节能的

    关键的问题似乎是,它只有一个,单网络接口。如果你构建一个路由器,你至少需要两个:

    1. 连接到网络调制解调器/路由器的第一个接口(理想情况下是网桥模式)
    2. 连接到家庭网络的第二个接口(可能是交换机)

    因此,如果你要使用树莓派,你可能会花20美元左右买一个千兆USB3网卡,然后就不用它了。

    routersetup点击图片查看大图

    现在,如果我告诉你你可以通过使用只有树莓派4的单板载网络接口?

    这怎么可能?

    引入vlan

    是的,我在向读者介绍一种技术90年代就存在了.它被广泛应用于企业和其他组织。

    因为我有一种感觉,这项技术在IT运营之外的圈子里不太出名,所以我认为这可能是一个有趣的话题。

    理解vlan

    VLAN技术允许您在同一条物理线路上和同一台交换机上运行不同的、独立的网络。如果您想要操作彼此分离的网络,这将节省大量的网络布线和所需的物理交换机数量。

    如果您希望通过相同的物理线路或交换机运行来自不同网络的流量,如何识别这些不同的流量?

    启用VLAN技术后,这样的网络“数据包”被标记为标签.由于VLAN技术在以太网级别上运行,所以我们不应该讨论“数据包”,而应该讨论“以太网帧”。欧宝体育直播官网我认为术语对于理解概念并不重要。

    了解以太网帧前有一个标签就足够了,它告诉支持vlan到哪个网络的任何设备框架因此,一个包属于。

    这样,网络上的流量流,就可以互相区分开来。这些标签并不花哨,它们被称为VLAN ID,它只是1到4096之间的一个数字2

    管理交换机

    现在我们已经了解了vlan的概念,那么如何使用它呢?

    首先,你需要一个管理支持vlan的网络交换机。

    我能找到的支持VLAN的最便宜的交换机是TP-LINK TL-SG105E,大约25欧元或美元。这是一个5端口的交换机,但8端口的版本通常只多几欧元/美元。


    Juan Pedro Paredes在评论中指出,这种TP-LINK交换机可能无法处理可能到达连接到互联网调制解调器的端口的大量ARP请求。在Hacker News的讨论中(链接如下),其他人欧宝体育直播官网对这一转变持否定态度。我不确定价格接近的Netgear交换机的表现是否更好。


    这样的交换机有一个基于web的管理界面,允许您在设备上配置vlan。

    有标签vs无标签

    在vlan环境中,网络交换机端口有两种状态:

    1. 特定网络(VLAN)的成员(untagged)
    2. 多网络(vlan)传输(带标签)

    如果一个端口只是VLAN的成员,它就像任何其他交换机端口一样。在这种模式下,它可以很明显只能是一个网络/VLAN的成员。VLAN标签将从该端口流出的所有网络流量中剥离。

    然而,一个端口被分配了“带标签”的VLAN流量,只是按原样转发流量,包括它们的VLAN标签。

    这是我们用来通过单个端口/线将来自不同网络(vlan)的网络数据包发送到树莓派路由器的技巧。

    routersetup点击图片查看大图

    那么,让我们一起一步一步地解开这张图。

    让我们想象一个来自Internet的(返回)包到达调制解调器并被发送到交换机端口1。

    交换机知道该交换机端口上的任何流量都属于VLAN 10。由于此流量需要发送到Pi路由器,它将在数据包上添加标签并转发数据包,包括在交换机端口2上向Pi发送标签。

    反过来,Pi被配置为与vlan一起工作,就像交换机一样。包装上的标签告诉Pi打开虚拟必须发送的接口。

    一个netplan配置示例来说明这个设置:

    网络版本2以太网enp2s0f0dhcp4没有vlanenp2s0f010id10链接enp2s0f0地址-68.6970.71/24假的互联网地址gateway468.6970.1假的上游ISP路由器enp2s0f020.id20.链接enp2s0f0地址-192.1680.1/24内部网络地址代理作为网关

    正如您所看到的,作为带标签的数据包到达的VLAN数据包被发送(不带标签)到属于该特定网络的虚拟网络接口。这些虚拟网络接口都共享同一个物理接口(enp2s0f0)。虚拟网络接口只是物理接口的名称。(VLAN ID)”。

    从这里开始,您可能会理解这是怎么回事:这两个虚拟网络接口基本上类似于带有两个物理网络接口的设置。所以所有需要发生的路由和NAT,都发生在这两个虚拟接口上。

    如何使用vlan

    要使用vlan,您需要一个管理支持vlan的交换机。托管交换机有一个管理界面,通常是基于web的管理界面。

    在本例中,我以TP-LINK TL-SG105E交换机为例。通过web界面的“VLAN——> 802.1Q VLAN”进入该界面。

    vlanconfig

    从这个表格中我们可以得出:

    • 端口1是VLAN 10的untagged成员
    • 端口2是VLAN 10和VLAN 20的tagged成员
    • 端口3是VLAN 20的untagged成员

    请注意,还建议从它们不使用的vlan中删除端口。所以我从默认VLAN 1中删除了端口1、2和3。

    现在,如果您有更多的设备连接到这个交换机上的内部局域网,您需要将端口配置为VLAN 20的untagged成员。

    警告

    带宽的影响

    显然,如果使用单个接口,则只能使用该接口的带宽。在大多数情况下,这不是一个问题,因为千兆以太网是全双工的:上行流量和下行流量都有物理专用布线。

    因此,您可能会说全双工千兆以太网的原始吞吐量为2千兆/秒,尽管我们通常不会这样说。欧宝体育直播官网

    因此,当您以200mbit /s的速度下载时,该流量将通过VLAN 10的传入流量路径摄入。然后通过VLAN 20发送到您的计算机。没有问题。

    如果你还将树莓派用作备份服务器(附带一个外部硬盘驱动器),备份流量和互联网流量都可以在同一个千兆链路上“争夺”带宽。ob体育下载

    对千兆互联网的影响


    2022年6月更新我实际上能够在vlan上使用全千兆网速,大约111 MB/s。我在之前的测试中犯了一些错误。

    你永远不会得到完整的千兆互联网网络速度,如果你建立这个设置。它可能最大达到~900兆。(我在这里假设你将使用x86硬件,因为Pi无论如何都无法处理这种流量防火墙。)


    这是因为大多数流量是基于TCP连接的,当你下载时,流量是双向的!下载流量是流量的主要部分,但有大量稳定的返回数据包流向发送方确认已收到流量(如果没有,将触发重传)。

    请记住,在这种单端口设置中,Pi使用相同的千兆端口通过VLAN 10将返回流量发送到互联网,并通过VLAN 20将下载数据发送到您的家用计算机。因此,上游流量的大小将限制您的最大下载性能。

    树莓派4型号B作为路由器

    最大的限制——对越来越多的人来说是一个问题——是性能。如果您在Linux上使用IPTABLES作为防火墙,根据我的经验,网络吞吐量下降到最大650 Mbit/s。

    这只是一个问题(第一世界的问题),如果你有千兆比特的互联网,或者网速超过了Pi的处理能力。

    如果你的网速连这个都达不到,这根本不是问题。

    也许树莓派400或计算模块在这方面表现更好,因为它们的cpu的频率更高。

    关闭的话

    实现这个设置是否有意义,只由您自己决定。我已经运行这种设置(使用x86服务器)10年了,因为我无法从我的调制解调器连接到路由器所在的房间。为了更详细地了解我的家庭网络设置,看这里

    请在下方留下任何问题。

    关于这篇文章的黑客新闻讨论欧宝体育直播官网可以在这里找到

    Route-on-a-stick

    我从黑客新闻讨论中了解到,只有一个网络接口的路由器被称为路由器棍子上的路由器


    1. 老款树莓派的网络带宽受到严重限制。所以,如果你的网速超过100Mbit,它们就不适合作为互联网路由器。

    2. 大多数廉价交换机最多只能运行32 ~ 64个vlan。只是比较昂贵,企业设备可以同时使用全部4096个vlan。然而,这可能与消费者无关。

    标记为: 网络
  2. 基于管理交换机和vlan的家庭网络设置

    2020年4月10日星期五

    我的家庭网络设置

    我住在一套两层的公寓里,顶楼是我的储物柜和客厅。底层是一间卧室,里面有我所有的服务器和网络设备。

    这是我的设置(点击查看更大的版本):

    首页

    我喜欢自己开路由器,但我的公用事业关闭了,在安全和气候方面不是最安全的地方。

    默认情况下,大多数使用家用路由器的人会使用带有两个网络接口的盒子,一个连接到(电缆)调制解调器,另一个连接到家庭网络。

    我也可以做同样的事情,把一根电缆从调制解调器连接到路由器,再把另一根电缆连接到我的衣柜(和客厅)。

    然而,我不想从我的公用设施到我楼下的卧室连接多条电缆,我认为没有必要这样做:因为我可以使用vlan。

    封闭的8口小开关用一根(长)电缆连接到我楼下卧室里的24口开关。这个交换机连接到我的路由器和多台服务器。

    我在这两个交换机之间建立了一个trunk,我的互联网流量通过“VLAN 100”,我的家庭网络使用“VLAN 200”。

    路由器,一个惠普N40L,只有一个网络接口。我只是将两个vlan暴露为“tagged”,并让路由器在两个vlan之间路由流量。不需要第二个接口(许多家庭设置都需要)。

    所以在我的设置中有两个主干,一个在两个开关之间,另一个在卧室开关和我的路由器之间。所有其他设备都连接到未标记的网口,在其相应的VLAN中。

    壁橱里的小交换机负责把我的家庭网络连接到我客厅里的交换机。

    树莓派连接到我的智能电表,收集我的电力和燃气使用信息。欧宝体育直播官网

    标记为: 网络
  3. 使用InfiniBand实现廉价快速的点对点网络

    2017年3月25日星期六

    InfiniBand网络非常棒。它主要有两个原因:

    1. 低延时
    2. 高带宽

    作为一个家庭用户我主要对两台服务器之间的高带宽连接感兴趣。

    我用的是四端口网卡Linux键,但这种解决方案有一些缺点:

    1. 你只能使用Linux绑定到4gbit(或者你需要更多端口)
    2. 你需要很多电缆
    3. 它的价格与InfiniBand相似

    所以我决定赌一把InfiniBand设备。只需要配置ib PCIe网卡和线缆。

    1 x SFF-8470 CX4电缆$16 2 x MELLANOX双端口INFINIBAND主机通道适配器MHGA28-XTC $25总计:$66

    查看已安装的ib卡和线缆

    我觉得66美元很便宜20 Gbit网络。常规的10Gbit以太网网络通常仍然比使用旧的ib卡更昂贵。

    InfiniBand类似于以太网,您可以在其上运行自己的协议(以降低延迟),但您可以使用IP over InfiniBand。InfiniBand卡将显示为一个普通的网络设备(每个端口一个)。

    ib0 Link encap:UNSPEC HWaddr 80-00-04-04-FE-80-00-00-00-00-00-00-00-00-00-00 -00-00-00-00-00-00-00 inet addr:10.0.2.3 Bcast:10.0.2.255 Mask:255.255.255.0 inet6 addr: fe80::202:c902:29:8e01/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:65520 Metric:1 RX packets:7988691 errors:0 dropped:0 overruns:0 frame:0 TX packets:17853128 errors:0 dropped:10 overruns:0 carrier:0 collisions:0 txqueuelen:256 RX bytes:590717840 (563.3 MiB) TX bytes:1074521257501 (1000.7 GiB)

    配置

    我跟着这些指令获得IP over InfiniBand工作。

    模块

    首先,你需要确保至少加载以下模块:

    ib_mthca ib_ipoib

    我只需要将ib_ipoib模块添加到/etc/modules.加载此模块后,您将注意到有一些可用的ibX接口,可以像普通以太网卡一样配置

    子网管理器

    除了加载模块之外,您还需要一个子网管理器.你只需要像这样安装它:

    安装opensm

    该服务只需要在其中一个端点上运行。

    链接状态

    如果你想,你可以检查你的ib连接的链接状态,就像这样:

    # ibstat CA的mthca0 CA型:MT25208端口数量:2固件版本:5.3.0硬件版本:20节点GUID: 0 x0002c90200298e00系统映像GUID: 0 x0002c90200298e03端口1:状态:积极的物理状态:连接率:20基地盖:1 LMC: 0 SM盖子:2能力面具:0 x02510a68端口GUID: 0 x0002c90200298e01链路层:InfiniBand端口2:状态:物理状态:轮询率:10基地盖:0 LMC: 0 SM盖子:0能力面具:0 x02510a68端口GUID: 0 x0002c90200298e02链路层:InfiniBand

    设置模式和MTU

    因为我的系统运行Debian Linux,我已经这样配置了/etc/network/interfaces:

    Auto ib0 iface ib0 inet静态地址10.0.2.2 netmask 255.255.255.0 mtu 65520 pre-up echo connected > /sys/class/net/ib0/mode

    请注意“模式”设置。“数据报”模式提供了糟糕的网络性能(<千兆比特)。“连接”模式使一切都表现得可以接受。

    MTU设置为65520后,性能又提高了30%。

    性能

    我已经在两种基于Supermicro X9SCM-F主板的系统上测试了该卡。使用这些系统,我能够实现高达每秒750 MB(兆字节)的文件传输速度,用iperf测量约为6.5 Gbit。欧宝体育直播官网

    ~ # iperf - c 10.0.2.2  ------------------------------------------------------------ 客户端连接到10.0.2.2,TCP端口5001 TCP窗口大小:2.50兆字节(违约 ) ------------------------------------------------------------ [ 3]当地10.0.2.3 40098端口与10.0.2.2端口5001 (ID)间隔传输带宽[3]gbit /秒6.43 0.0 -10.0秒7.49 gb

    netcat和dd的类似测试:

    ~# dd if=/dev/zero bs=1M count=100000 | nc 10.0.2.2 1234 100000+0条记录在100000+0条记录中拷贝出104857600000字节(105 GB), 128.882 s, 814 MB/s

    测试在Debian Jessie上完成。

    在之前的测试中,我也在HP Micro Proliant G8服务器中使用了这些卡。在这些服务器上,我运行的是Ubuntu 16.04 LTS。

    在HP Microserver的Ubuntu上测试:

    ------------------------------------------------------------ 客户端连接到10.0.4.3,TCP端口5001 TCP窗口大小:4.00兆字节(违约 ) ------------------------------------------------------------ [ 5]当地10.0.4.1 52572端口与10.0.4.3端口5001[4]当地10.0.4.1 5001端口与10.0.4.3端口44124 (ID)间隔传输带宽[5]0.0 -60.0秒71.9 gb 10.3 gbit /秒[4]gbit /秒10.3 0.0 -60.0秒72.2 gb

    使用这些系统,我最终能够达到iperf测量的15 Gbit,尽管我没有从中获得“控制台截图”。

    关闭的话

    IP over InfiniBand似乎是一种廉价获得高性能网络的好方法。主要的缺点是当使用IP over IB时,CPU使用率会很高。

    另一件我还没有研究过,但可能会感兴趣的事情是使用RDMA直接在InfiniBand上运行NFS或其他协议,这样就可以绕过IP的开销。

第1 / 7页

Baidu
map