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
Идея хорошая, но вас уже опередили как минимум на 9 лет.
Пишем key-value storage на пакетах ping'а или храним данные между облаками