4

Я делю клавиатуру и мышь между моим рабочим столом Linux и MacBook Air с помощью Synergy. Каждый раз, когда я начинаю двигать мышью (или начинаю печатать), наблюдается очень заметная задержка, но все становится плавным, пока я не прекращаю двигать мышью (или печатать).

После просмотра дампа пакетов на обоих концах кажется, что синергетический сервер начинает отправлять TCP-пакеты почти сразу, но синергетический клиент не начинает получать их намного позже (например, 288 мс в одном случае).

Может ли мой беспроводной маршрутизатор буферизовать исходные пакеты (что-то вроде алгоритма Nagle в TCP)?

Моя настройка

  • Беспроводной маршрутизатор: NetGear WNDR3300
  • Рабочий стол Linux работает на сервере Synergy, чтобы делиться клавиатурой и мышью
    • Ethernet-соединение с маршрутизатором (192.168.1.13)
  • Ноутбук MacBook Air работает под управлением клиента
    • Беспроводное соединение с маршрутизатором (192.168.1.16)
  • Время пинга: от 1 до 3 мс
  • Синергия версия 1.4.10

подробности

Рассматривая дампы пакетов ниже, мы можем видеть, что сервер начинает сообщать о перемещениях мыши в 09:58:02.782 (пакеты # 69135-69144), но получает первое подтверждение только через 288 мс в 09:58:03.070 (пакет # 69146). Фактически, сервер даже ретранслирует свои обновления в пакете # 69145 до получения первого подтверждения.

С другой стороны, клиент начинает получать обновления только в 09:58:03.069. Это подразумевает задержку в 288 мс, но задержка значительно снижается при обмене большим количеством пакетов.

Серверный пакетный дамп

No.     Time            Source                Destination           Protocol Length Info
  69135 09:58:02.782930 192.168.1.13          192.168.1.16          synergy  78     24800 > 60966 [PSH, ACK] Seq=235851 Ack=159785 Win=114 Len=12 TSval=22033564 TSecr=1176772351
  69136 09:58:02.790841 192.168.1.13          192.168.1.16          synergy  78     24800 > 60966 [PSH, ACK] Seq=235863 Ack=159785 Win=114 Len=12 TSval=22033566 TSecr=1176772351
  69137 09:58:02.799139 192.168.1.13          192.168.1.16          synergy  78     24800 > 60966 [PSH, ACK] Seq=235875 Ack=159785 Win=114 Len=12 TSval=22033568 TSecr=1176772351
  69138 09:58:02.806898 192.168.1.13          192.168.1.16          synergy  78     24800 > 60966 [PSH, ACK] Seq=235887 Ack=159785 Win=114 Len=12 TSval=22033570 TSecr=1176772351
  69139 09:58:02.815360 192.168.1.13          192.168.1.16          synergy  78     24800 > 60966 [PSH, ACK] Seq=235899 Ack=159785 Win=114 Len=12 TSval=22033572 TSecr=1176772351
  69140 09:58:02.823324 192.168.1.13          192.168.1.16          synergy  78     24800 > 60966 [PSH, ACK] Seq=235911 Ack=159785 Win=114 Len=12 TSval=22033574 TSecr=1176772351
  69141 09:58:02.831131 192.168.1.13          192.168.1.16          synergy  78     24800 > 60966 [PSH, ACK] Seq=235923 Ack=159785 Win=114 Len=12 TSval=22033576 TSecr=1176772351
  69142 09:58:02.839354 192.168.1.13          192.168.1.16          synergy  78     24800 > 60966 [PSH, ACK] Seq=235935 Ack=159785 Win=114 Len=12 TSval=22033578 TSecr=1176772351
  69143 09:58:02.846889 192.168.1.13          192.168.1.16          synergy  78     24800 > 60966 [PSH, ACK] Seq=235947 Ack=159785 Win=114 Len=12 TSval=22033580 TSecr=1176772351
  69144 09:58:02.855029 192.168.1.13          192.168.1.16          synergy  78     24800 > 60966 [PSH, ACK] Seq=235959 Ack=159785 Win=114 Len=12 TSval=22033582 TSecr=1176772351
  69145 09:58:03.025003 192.168.1.13          192.168.1.16          synergy  186    [TCP Retransmission] 24800 > 60966 [PSH, ACK] Seq=235851 Ack=159785 Win=114 Len=120 TSval=22033625 TSecr=1176772351
  69146 09:58:03.070263 192.168.1.16          192.168.1.13          TCP      66     60966 > 24800 [ACK] Seq=159785 Ack=235863 Win=8191 Len=0 TSval=1176774186 TSecr=22033564
  69147 09:58:03.070519 192.168.1.16          192.168.1.13          TCP      66     60966 > 24800 [ACK] Seq=159785 Ack=235875 Win=8190 Len=0 TSval=1176774186 TSecr=22033566
  69148 09:58:03.070530 192.168.1.16          192.168.1.13          TCP      66     60966 > 24800 [ACK] Seq=159785 Ack=235887 Win=8191 Len=0 TSval=1176774186 TSecr=22033568
  69149 09:58:03.071303 192.168.1.16          192.168.1.13          synergy  74     60966 > 24800 [PSH, ACK] Seq=159785 Ack=235887 Win=8192 Len=8 TSval=1176774186 TSecr=22033568
  69150 09:58:03.071322 192.168.1.13          192.168.1.16          TCP      66     24800 > 60966 [ACK] Seq=235971 Ack=159793 Win=114 Len=0 TSval=22033636 TSecr=1176774186
  69151 09:58:03.073834 192.168.1.16          192.168.1.13          TCP      66     60966 > 24800 [ACK] Seq=159793 Ack=235899 Win=8191 Len=0 TSval=1176774187 TSecr=22033570
  69152 09:58:03.073854 192.168.1.16          192.168.1.13          TCP      66     60966 > 24800 [ACK] Seq=159793 Ack=235911 Win=8190 Len=0 TSval=1176774187 TSecr=22033572
  69153 09:58:03.074433 192.168.1.16          192.168.1.13          TCP      66     60966 > 24800 [ACK] Seq=159793 Ack=235923 Win=8189 Len=0 TSval=1176774187 TSecr=22033574
  69154 09:58:03.074452 192.168.1.16          192.168.1.13          TCP      66     60966 > 24800 [ACK] Seq=159793 Ack=235935 Win=8189 Len=0 TSval=1176774187 TSecr=22033576
  69155 09:58:03.074459 192.168.1.16          192.168.1.13          TCP      66     60966 > 24800 [ACK] Seq=159793 Ack=235947 Win=8188 Len=0 TSval=1176774187 TSecr=22033578
  69156 09:58:03.074464 192.168.1.16          192.168.1.13          TCP      66     60966 > 24800 [ACK] Seq=159793 Ack=235959 Win=8187 Len=0 TSval=1176774187 TSecr=22033580
  69157 09:58:03.074468 192.168.1.16          192.168.1.13          TCP      66     60966 > 24800 [ACK] Seq=159793 Ack=235971 Win=8186 Len=0 TSval=1176774187 TSecr=22033582
  69158 09:58:03.074483 192.168.1.13          192.168.1.16          synergy  150    24800 > 60966 [PSH, ACK] Seq=235971 Ack=159793 Win=114 Len=84 TSval=22033637 TSecr=1176774187
  69159 09:58:03.074490 192.168.1.16          192.168.1.13          synergy  74     60966 > 24800 [PSH, ACK] Seq=159793 Ack=235971 Win=8192 Len=8 TSval=1176774187 TSecr=22033582
  69160 09:58:03.074499 192.168.1.16          192.168.1.13          synergy  74     60966 > 24800 [PSH, ACK] Seq=159801 Ack=235971 Win=8192 Len=8 TSval=1176774187 TSecr=22033582
  69161 09:58:03.074550 192.168.1.13          192.168.1.16          TCP      66     24800 > 60966 [ACK] Seq=236055 Ack=159809 Win=114 Len=0 TSval=22033637 TSecr=1176774187
  69162 09:58:03.075162 192.168.1.16          192.168.1.13          synergy  74     60966 > 24800 [PSH, ACK] Seq=159809 Ack=235971 Win=8192 Len=8 TSval=1176774189 TSecr=22033582
  69163 09:58:03.075177 192.168.1.16          192.168.1.13          synergy  74     60966 > 24800 [PSH, ACK] Seq=159817 Ack=235971 Win=8192 Len=8 TSval=1176774189 TSecr=22033582
  69164 09:58:03.075188 192.168.1.16          192.168.1.13          synergy  74     60966 > 24800 [PSH, ACK] Seq=159825 Ack=235971 Win=8192 Len=8 TSval=1176774189 TSecr=22033582
  69165 09:58:03.075191 192.168.1.16          192.168.1.13          TCP      66     [TCP Dup ACK 69164#1] 60966 > 24800 [ACK] Seq=159833 Ack=235971 Win=8192 Len=0 TSval=1176774189 TSecr=22033625

Клиентский пакетный дамп

No.     Time               Source                Destination           Protocol Length Info
   5020 09:58:03.069606000 192.168.1.13          192.168.1.16          synergy  78     24800 > 60966 [PSH, ACK] Seq=17603 Ack=11921 Win=114 Len=12 TSval=22033564 TSecr=1176772351
   5021 09:58:03.069662000 192.168.1.13          192.168.1.16          synergy  78     24800 > 60966 [PSH, ACK] Seq=17615 Ack=11921 Win=114 Len=12 TSval=22033566 TSecr=1176772351
   5022 09:58:03.069753000 192.168.1.13          192.168.1.16          synergy  78     24800 > 60966 [PSH, ACK] Seq=17627 Ack=11921 Win=114 Len=12 TSval=22033568 TSecr=1176772351
   5023 09:58:03.069791000 192.168.1.16          192.168.1.13          TCP      66     60966 > 24800 [ACK] Seq=11921 Ack=17615 Win=8191 Len=0 TSval=1176774186 TSecr=22033564
   5024 09:58:03.069792000 192.168.1.16          192.168.1.13          TCP      66     60966 > 24800 [ACK] Seq=11921 Ack=17627 Win=8190 Len=0 TSval=1176774186 TSecr=22033566
   5025 09:58:03.069849000 192.168.1.16          192.168.1.13          TCP      66     60966 > 24800 [ACK] Seq=11921 Ack=17639 Win=8191 Len=0 TSval=1176774186 TSecr=22033568
   5026 09:58:03.070526000 192.168.1.16          192.168.1.13          synergy  74     60966 > 24800 [PSH, ACK] Seq=11921 Ack=17639 Win=8192 Len=8 TSval=1176774186 TSecr=22033568
   5027 09:58:03.070674000 192.168.1.13          192.168.1.16          synergy  78     24800 > 60966 [PSH, ACK] Seq=17639 Ack=11921 Win=114 Len=12 TSval=22033570 TSecr=1176772351
   5028 09:58:03.070678000 192.168.1.13          192.168.1.16          synergy  78     24800 > 60966 [PSH, ACK] Seq=17651 Ack=11921 Win=114 Len=12 TSval=22033572 TSecr=1176772351
   5029 09:58:03.070679000 192.168.1.13          192.168.1.16          synergy  78     24800 > 60966 [PSH, ACK] Seq=17663 Ack=11921 Win=114 Len=12 TSval=22033574 TSecr=1176772351
   5030 09:58:03.070680000 192.168.1.13          192.168.1.16          synergy  78     24800 > 60966 [PSH, ACK] Seq=17675 Ack=11921 Win=114 Len=12 TSval=22033576 TSecr=1176772351
   5031 09:58:03.070681000 192.168.1.13          192.168.1.16          synergy  78     24800 > 60966 [PSH, ACK] Seq=17687 Ack=11921 Win=114 Len=12 TSval=22033578 TSecr=1176772351
   5032 09:58:03.070682000 192.168.1.13          192.168.1.16          synergy  78     24800 > 60966 [PSH, ACK] Seq=17699 Ack=11921 Win=114 Len=12 TSval=22033580 TSecr=1176772351
   5033 09:58:03.070682000 192.168.1.13          192.168.1.16          synergy  78     24800 > 60966 [PSH, ACK] Seq=17711 Ack=11921 Win=114 Len=12 TSval=22033582 TSecr=1176772351
   5034 09:58:03.070799000 192.168.1.16          192.168.1.13          TCP      66     60966 > 24800 [ACK] Seq=11929 Ack=17651 Win=8191 Len=0 TSval=1176774187 TSecr=22033570
   5035 09:58:03.070799000 192.168.1.16          192.168.1.13          TCP      66     60966 > 24800 [ACK] Seq=11929 Ack=17663 Win=8190 Len=0 TSval=1176774187 TSecr=22033572
   5036 09:58:03.070800000 192.168.1.16          192.168.1.13          TCP      66     60966 > 24800 [ACK] Seq=11929 Ack=17675 Win=8189 Len=0 TSval=1176774187 TSecr=22033574
   5037 09:58:03.070800000 192.168.1.16          192.168.1.13          TCP      66     60966 > 24800 [ACK] Seq=11929 Ack=17687 Win=8189 Len=0 TSval=1176774187 TSecr=22033576
   5038 09:58:03.070801000 192.168.1.16          192.168.1.13          TCP      66     60966 > 24800 [ACK] Seq=11929 Ack=17699 Win=8188 Len=0 TSval=1176774187 TSecr=22033578
   5039 09:58:03.070834000 192.168.1.16          192.168.1.13          TCP      66     60966 > 24800 [ACK] Seq=11929 Ack=17711 Win=8187 Len=0 TSval=1176774187 TSecr=22033580
   5040 09:58:03.070835000 192.168.1.16          192.168.1.13          TCP      66     60966 > 24800 [ACK] Seq=11929 Ack=17723 Win=8186 Len=0 TSval=1176774187 TSecr=22033582
   5041 09:58:03.070944000 192.168.1.16          192.168.1.13          synergy  74     60966 > 24800 [PSH, ACK] Seq=11929 Ack=17723 Win=8192 Len=8 TSval=1176774187 TSecr=22033582
   5042 09:58:03.071374000 192.168.1.16          192.168.1.13          synergy  74     60966 > 24800 [PSH, ACK] Seq=11937 Ack=17723 Win=8192 Len=8 TSval=1176774187 TSecr=22033582
   5043 09:58:03.072831000 192.168.1.16          192.168.1.13          synergy  74     60966 > 24800 [PSH, ACK] Seq=11945 Ack=17723 Win=8192 Len=8 TSval=1176774189 TSecr=22033582
   5044 09:58:03.073123000 192.168.1.16          192.168.1.13          synergy  74     60966 > 24800 [PSH, ACK] Seq=11953 Ack=17723 Win=8192 Len=8 TSval=1176774189 TSecr=22033582
   5045 09:58:03.073432000 192.168.1.16          192.168.1.13          synergy  74     60966 > 24800 [PSH, ACK] Seq=11961 Ack=17723 Win=8192 Len=8 TSval=1176774189 TSecr=22033582
   5046 09:58:03.073561000 192.168.1.13          192.168.1.16          synergy  186    [TCP Retransmission] 24800 > 60966 [PSH, ACK] Seq=17603 Ack=11921 Win=114 Len=120 TSval=22033625 TSecr=1176772351
   5047 09:58:03.073599000 192.168.1.16          192.168.1.13          TCP      66     [TCP Dup ACK 5045#1] 60966 > 24800 [ACK] Seq=11969 Ack=17723 Win=8192 Len=0 TSval=1176774189 TSecr=22033625

1 ответ1

2

Вчера я только что обнаружил, что установка очень низкого интервала маяка на вашем беспроводном маршрутизаторе может решить эту проблему.

Для меня пакеты приходили в искаженном порядке, заставляя чешские акцентированные гласные (возможно, в более длинных пакетах) приходить раньше или позже, чем окружающие согласные.

Я изменил настройку маяка со 100 мс до всего 5 мс, хотя 10 мс должно быть достаточно (необходимо, чтобы беспроводные карты на машинах Synergyied были заняты, чтобы они не спали).

Я хотел бы предупредить всех об этих недостатках этого решения:

  • Я не исследовал последствия для безопасности отправки беспроводного маяка гораздо чаще (хотя у меня ситуация WPA2). Возможно, такой AP может быть взломан быстрее.
  • Предотвращение беспроводных клиентов от сна может потреблять больше энергии от своих батарей (например, телефонов).
  • Слишком частая отправка маяка может снизить полезную пропускную способность беспроводной сети (требуется дополнительное тестирование).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .