|
|
|
|
|
для: dump
(20.11.2011 в 12:53)
| | Наверняка еще какие-то есть... дело в том, что NAT - это железо, вместо него можно и сервер поставить и осуществлять его работу на программном уровне. Скорость могут резать и клиентские программы, вроде менеджеров загрузки и торрентов, можно в коде посмотреть как они поступают. | |
|
|
|
|
|
|
|
для: cheops
(20.11.2011 в 12:41)
| | А какие ещё существуют механизмы ограничения скорости, помимо замены значения размера окна в tcp-пакетах? | |
|
|
|
|
|
|
|
для: dump
(20.11.2011 в 12:37)
| | Серверу совершенно нет смысла выполнять лишнюю работу и игнорировать размер окна. Тут чаще другая картина - клиент попросил 5 пакетов, 5 пакетов ему и пошло, а дошло до него только 3. Если это UDP-протокол, никто даже заморачиваться не будет куда делось 2 пакета, если это TCP-протокол, то клиент пошлет запрос: мне нужен этот и этот пакет, сервер еще раз пошлет их. И так будет продолжаться до тех пор, пока все нужные пакеты не будут успешно доставлены. | |
|
|
|
|
|
|
|
для: cheops
(20.11.2011 в 12:22)
| | Т.е если к примеру сервер проигнорировал установленное NAT значение размера tcp - окна, и отправил, скажем 13 tcp-пакетов, вместо 5, установленных NAT, то эти лишних 8 пакетов будут не доставлены клиенту? | |
|
|
|
|
|
|
|
для: dump
(20.11.2011 в 05:57)
| | UDP-пакеты, если их невозможно принять, просто отбрасываются... на самом деле и с TCP-пакетами такое тоже случается. Однако, если клиент видит, что он не получил и должным образом не обработал TCP-пакет - он пошлет повторный запрос, через некоторое время. В UDP такое просто не предусмотрено - не дошел пакет и черт с ним. | |
|
|
|
|
|
|
|
для: cheops
(19.11.2011 в 16:18)
| | Ну а если речь идёт об udp? И что будет если, сервер не "послушаеться NAT", а будет отправлять tcp-пакеты не обращая внимания на размер окна? | |
|
|
|
|
|
|
|
для: dump
(19.11.2011 в 08:25)
| | Запросто, причем очень эффективно и быстро за один такт. | |
|
|
|
|
|
|
|
для: cheops
(18.11.2011 в 15:25)
| | Вот к примеру я отправил на сервер tcp-пакет, в котором указал, что размер окна у меня 100 килобайт. В этом случае провайдер с помощью NAT возьмёт и исправит мой tcp-пакет, переписав в нём размер окна? | |
|
|
|
|
|
|
|
для: dump
(18.11.2011 в 14:23)
| | Не совсем так, отправлять запросов вы можете сколько угодно и NAT все их передаст (если вы не забьете полностью канал отправки данных), но с сервером он "договорится" о том, что ответов вы получили столько, чтобы уложиться в выделенную вам пропускную способность. Если он "увидит", что скорость у вас в последние несколько секунд выше, чем вам назначено, он пошлет серверу анонс на меньшее окно и сервер сбавит обороты, будет отправлять меньше данных. Если вы как-то искусственно разовьете бурную деятельность, то NAT ряду источников вообще будет отправлять нулевые анонсы окон и сервер вообще перестанет вам что-либо отправлять. | |
|
|
|
|
|
|
|
для: cheops
(18.11.2011 в 13:56)
| | Т.е. если я к примеру со своего компьютера до NAT отправлю слишком много пакетов за 1 секунду, то часть из будет обрезана, не отправлена? | |
|
|
|
|