Господа, добрый день.Есть проблема, а как решить непонятно.
Linux машина с 2.6 ядром.Имеется интерфейс ppp0: (поднят через pppd)
ppp0 Link encap:Point-to-Point Protocol
inet addr:192.168.101.1 P-t-P:192.168.101.2 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:8 errors:1 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:95 (95.0 b) TX bytes:97 (97.0 b)Необходимо установить интервал отправки пакетов.
Например жестко установить, что интервал между пакетами на интерфейсе ppp0 равен 1 секунде.
Такое вообще возможно сделать?Перекопал pppd, ifconfig и параметры ядра (proc / sysctl)...
Ничего...Спасибо!
Может сделать что-то типа:#!/bin/sh
INT001=ppp0
TC=`which tc`$TC qdisc del dev $INT001 root
$TC qdisc add dev $INT001 root handle 1: htb default 1
$TC class add dev $INT001 parent 1: classid 1:1 htb rate 1kbit
$TC class add dev $INT001 parent 1:1 classid 1:2 htb rate 1kbit
$TC filter add dev $INT001 parent 1:0 protocol ip handle 1 fw flowid 1:2iptables -t mangle -A POSTROUTING -o $INT001 -j MARK --set-mark 1
iptables -t mangle -A POSTROUTING -o $INT001 -j RETURN
Так и не нашел решения... :-(
>Так и не нашел решения... :-(позвольте полюбопытствовать, зачем такие извращения потребовались ?
>позвольте полюбопытствовать, зачем такие извращения потребовались ?Канал по которому идет туннель, очень слабый и специфичный.
И при сильной интенсивности передачи пакетов по нему - начинаются потери.
После некоторых испытаний, я пришел к выводу:
Пакеты должны идти с интервалом не меньше 1.5 секунды.Для реализации этого можно:
0) В необходимом софте, программно изменить протокол. (на стороне клиента и сервера)
Но это откровенно гемор...
1) Научить интерфейс (ppp0) копить очередь и держать межпакетный интервал.
2) Научить сам pppd копить очередь и держать межпакетный интервал.Я прекрасно понимаю, что это очень медленно. Но там этого вполне хватит.
Главное - сократить потери.