Pull to refresh

Comments 10

Моё уважение, отличная нестандартная задумка!

Вы изобрели (ну почти) новый вид памяти на линиях задержки :-)

В разное время в качестве таких линий (или чего-то похожего на такие линии) выступали следующие штуки:

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

  • Ртутные трубки.

  • Специальная проволока, вибрирующая под воздействием магнитного поля.

  • Кольцевые сдвиговые регистры (в микрокалькуляторах). Не совсем линия задержки, но похоже.

  • Обычное такое электромагнитное излучение. Радиоволна или лазер, передаваемые на большое расстояние. Как раз ваш случай.

А что делать, если пакет не вернётся? Информация пропадёт? Я когда-то работал монтажником в провайдерской компании. С сетью порой разное случается.

Для проверки гипотезы можно тупо сделать сам себе провайдера. Километр оптики, тысяч 15 стоит бухта вроде бы. На 10 гигабитах скорости получится килобайт 40 запихать в одну жилу.

Размер ICMP пакета может быть до 64 килобайт. Я пробовал добавлять контент размером около 50 килобайт в один пакет и пинги проходили. Если хост расположен далеко, то может одновременно несколько пингов легко находиться "в пути".

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

Допустим все пинги вернулись одновременно, тогда чтобы их обработать и снова отправить надо как минимум места в памяти равное размеру данных. Но идея забавная, спасибо.

Не со всем адресами такой фокус пройдет:

❯ ping -s 1300 www.google.com
PING www.google.com (142.251.46.164): 1300 data bytes
76 bytes from 142.251.46.164: icmp_seq=0 ttl=39 time=94.199 ms
wrong total length 96 instead of 1328

Спасибо за наводку! Я честно искал, но не нашел, поэтому и решил реализовать.

Sign up to leave a comment.

Articles