Медленная загрузка через Thunderbolt, загрузка в порядке - PullRequest
0 голосов
/ 27 марта 2020

У меня проблема с Thunderbolt и следующей конфигурацией локальной сети:

Ma c - (1) - NAS - (2) - Шлюз

  1. Удар молнии как сеть, IP-маршрутизация, без NAT
  2. Ethe rnet, IP-маршрутизация, без NAT

NAS (Debian Buster , 5.4.0-0.bpo.4-amd64) имеет rnet (eth) и удар молнии (thu). Thunderbolt используется для связи между Ма c и NAS, поскольку он намного быстрее, чем ethe rnet.

Что отлично работает:

  • Данные Ма c «-th--» NAS быстрая передача.
  • Данные Ma c «-eth-» NAS быстрая передача (эксперимент) .
  • Данные NAS «-eth-» Шлюз Быстрая передача.
  • Данные Шлюз -eth- » NAS -eth-» Ма c (без NAT) быстрая передача.
  • Данные Ма c -eth- » NAS -eth-» Шлюз (без NAT) быстрая передача.
  • Данные Шлюз -eth- » NAS -th-- * Ма c (без NAT) быстрая передача.

Что НЕ работает:

  • Данные Ма c-thu- » NAS -eth-» Шлюз (без NAT, только IP-маршрутизация) передача медленно (~ 1 Мбит / с) .

Это означает, что путь от Ма c через и rnet через NAS, а затем rnet до Шлюза ОК , но от Ма c через удар молнии через NAS, затем rnet к шлюзу очень медленный , ~ 1 Мбит / с. В то же время соединение между Ma c и NAS через Thunderbolt без других переходов работает быстро (передача AFP в обе стороны) .

Более того, VPN L2TP через IPSe c напрямую от Ма c в Inte rnet работает быстро даже через удар молнии! Что означает, что передача UDP также быстрая.

Кажется, проблема в TCP.

NAS

eno2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.50  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 fe80::7285:c2ff:fea8:ccbb  prefixlen 64  scopeid 0x20<link>
        ether 70:85:c2:a8:cc:bb  txqueuelen 1000  (Ethernet)
        RX packets 3448186  bytes 303114388 (289.0 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 5539469  bytes 7272910073 (6.7 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 16  memory 0xcc600000-cc620000

40: None 02.0: 10701 Ethernet
  [Created at net.126]
  Unique ID: QTdc.ndpeucax6V1
  Parent ID: NotL.loB6eJr4VV8
  SysFS ID: /class/net/eno2
  SysFS Device Link: /devices/pci0000:00/0000:00:1f.6
  Hardware Class: network interface
  Model: "Ethernet network interface"
  Driver: "e1000e"
  Driver Modules: "e1000e"
  Device File: eno2
  HW Address: 70:85:c2:a8:cc:bb
  Permanent HW Address: 70:85:c2:a8:cc:bb
  Link detected: yes
  Config Status: cfg=new, avail=yes, need=no, active=unknown
  Attached to: #21 (Ethernet controller)

thunderbolt0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.100.1  netmask 255.255.255.0  broadcast 192.168.100.255
        inet6 fe80::b2:86ff:fe6f:8a68  prefixlen 64  scopeid 0x20<link>
        ether 02:b2:86:6f:8a:68  txqueuelen 1000  (Ethernet)
        RX packets 108419  bytes 16590415 (15.8 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 89926  bytes 32804019 (31.2 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

12: PCI 300.0: 0604 PCI bridge (Normal decode)
  [Created at pci.386]
  Unique ID: svHJ.Or8xU2r_gn8
  Parent ID: B35A.Or8xU2r_gn8
  SysFS ID: /devices/pci0000:00/0000:00:1b.0/0000:02:00.0/0000:03:00.0
  SysFS BusID: 0000:03:00.0
  Hardware Class: bridge
  Model: "Intel JHL6240 Thunderbolt 3 Bridge (Low Power) [Alpine Ridge LP 2016]"
  Vendor: pci 0x8086 "Intel Corporation"
  Device: pci 0x15c0 "JHL6240 Thunderbolt 3 Bridge (Low Power) [Alpine Ridge LP 2016]"
  SubVendor: pci 0x8086 "Intel Corporation"
  SubDevice: pci 0x0000 
  Revision: 0x01
  Driver: "pcieport"
  IRQ: 124 (no events)
  Module Alias: "pci:v00008086d000015C0sv00008086sd00000000bc06sc04i00"
  Config Status: cfg=new, avail=yes, need=no, active=unknown
  Attached to: #15 (PCI bridge)

15: PCI 200.0: 0604 PCI bridge (Normal decode)
  [Created at pci.386]
  Unique ID: B35A.Or8xU2r_gn8
  Parent ID: u1Nb.plmZLUEKTp4
  SysFS ID: /devices/pci0000:00/0000:00:1b.0/0000:02:00.0
  SysFS BusID: 0000:02:00.0
  Hardware Class: bridge
  Model: "Intel JHL6240 Thunderbolt 3 Bridge (Low Power) [Alpine Ridge LP 2016]"
  Vendor: pci 0x8086 "Intel Corporation"
  Device: pci 0x15c0 "JHL6240 Thunderbolt 3 Bridge (Low Power) [Alpine Ridge LP 2016]"
  SubVendor: pci 0x8086 "Intel Corporation"
  SubDevice: pci 0x0000 
  Revision: 0x01
  Driver: "pcieport"
  IRQ: 16 (no events)
  Module Alias: "pci:v00008086d000015C0sv00008086sd00000000bc06sc04i00"
  Config Status: cfg=new, avail=yes, need=no, active=unknown
  Attached to: #22 (PCI bridge)

24: PCI 302.0: 0604 PCI bridge (Normal decode)
  [Created at pci.386]
  Unique ID: 08OF.Or8xU2r_gn8
  Parent ID: B35A.Or8xU2r_gn8
  SysFS ID: /devices/pci0000:00/0000:00:1b.0/0000:02:00.0/0000:03:02.0
  SysFS BusID: 0000:03:02.0
  Hardware Class: bridge
  Model: "Intel JHL6240 Thunderbolt 3 Bridge (Low Power) [Alpine Ridge LP 2016]"
  Vendor: pci 0x8086 "Intel Corporation"
  Device: pci 0x15c0 "JHL6240 Thunderbolt 3 Bridge (Low Power) [Alpine Ridge LP 2016]"
  SubVendor: pci 0x8086 "Intel Corporation"
  SubDevice: pci 0x0000 
  Revision: 0x01
  Driver: "pcieport"
  IRQ: 126 (no events)
  Module Alias: "pci:v00008086d000015C0sv00008086sd00000000bc06sc04i00"
  Config Status: cfg=new, avail=yes, need=no, active=unknown
  Attached to: #15 (PCI bridge)

29: PCI 301.0: 0604 PCI bridge (Normal decode)
  [Created at pci.386]
  Unique ID: x0Ln.Or8xU2r_gn8
  Parent ID: B35A.Or8xU2r_gn8
  SysFS ID: /devices/pci0000:00/0000:00:1b.0/0000:02:00.0/0000:03:01.0
  SysFS BusID: 0000:03:01.0
  Hardware Class: bridge
  Model: "Intel JHL6240 Thunderbolt 3 Bridge (Low Power) [Alpine Ridge LP 2016]"
  Vendor: pci 0x8086 "Intel Corporation"
  Device: pci 0x15c0 "JHL6240 Thunderbolt 3 Bridge (Low Power) [Alpine Ridge LP 2016]"
  SubVendor: pci 0x8086 "Intel Corporation"
  SubDevice: pci 0x0000 
  Revision: 0x01
  Driver: "pcieport"
  IRQ: 125 (no events)
  Module Alias: "pci:v00008086d000015C0sv00008086sd00000000bc06sc04i00"
  Config Status: cfg=new, avail=yes, need=no, active=unknown
  Attached to: #15 (PCI bridge)

33: PCI 400.0: 0880 System peripheral
  [Created at pci.386]
  Unique ID: YmUS.raz2QBgWzX9
  Parent ID: svHJ.Or8xU2r_gn8
  SysFS ID: /devices/pci0000:00/0000:00:1b.0/0000:02:00.0/0000:03:00.0/0000:04:00.0
  SysFS BusID: 0000:04:00.0
  Hardware Class: unknown
  Model: "Intel JHL6240 Thunderbolt 3 NHI (Low Power) [Alpine Ridge LP 2016]"
  Vendor: pci 0x8086 "Intel Corporation"
  Device: pci 0x15bf "JHL6240 Thunderbolt 3 NHI (Low Power) [Alpine Ridge LP 2016]"
  SubVendor: pci 0x8086 "Intel Corporation"
  SubDevice: pci 0x0000 
  Revision: 0x01
  Driver: "thunderbolt"
  Driver Modules: "thunderbolt"
  Memory Range: 0xca000000-0xca03ffff (rw,non-prefetchable)
  Memory Range: 0xca040000-0xca040fff (rw,non-prefetchable)
  IRQ: 16 (no events)
  Module Alias: "pci:v00008086d000015BFsv00008086sd00000000bc08sc80i00"
  Driver Info #0:
    Driver Status: thunderbolt is active
    Driver Activation Cmd: "modprobe thunderbolt"
  Config Status: cfg=new, avail=yes, need=no, active=unknown
  Attached to: #12 (PCI bridge)

70: None 00.0: 10701 Ethernet
  [Created at net.126]
  Unique ID: XdLX.ndpeucax6V1
  SysFS ID: /class/net/thunderbolt0
  SysFS Device Link: /devices/pci0000:00/0000:00:1b.0/0000:02:00.0/0000:03:00.0/0000:04:00.0/domain0/0-0/0-1/0-1.0
  Hardware Class: network interface
  Model: "Ethernet network interface"
  Driver: "thunderbolt-net"
  Driver Modules: "thunderbolt_net"
  Device File: thunderbolt0
  HW Address: 02:b2:86:6f:8a:68
  Permanent HW Address: 02:b2:86:6f:8a:68
  Link detected: yes
  Config Status: cfg=new, avail=yes, need=no, active=unknown

  default via 192.168.0.1 dev eno2
  192.168.0.0/24 dev eno2 proto kernel scope link src 192.168.0.50
  192.168.100.0/24 dev thunderbolt0 proto kernel scope link src 192.168.100.1

Ма c

en1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    options=460<TSO4,TSO6,CHANNEL_IO>
    ether 82:52:6b:02:90:01 
    inet6 fe80::868:bdf3:7c64:bab3%en1 prefixlen 64 secured scopeid 0xe 
    inet 192.168.100.2 netmask 0xffffff00 broadcast 192.168.100.255
    nd6 options=201<PERFORMNUD,DAD>
    media: autoselect <full-duplex>
    status: active

Вопрос в том, что может быть не так?

1 Ответ

0 голосов
/ 31 марта 2020

Решение найдено. Это связано с ошибкой TSO в реализации Thunderbolt!

Чтобы исправить проблему скорости загрузки на Ma c

touch /etc/sysctl.conf

Редактировать / etc / sysctl.conf и поместите туда:

net.inet.tcp.tso=0

Затем запустите sysctl -p для (пере) загрузки sysctl.conf

...