Главная страница


ru.unix.bsd

 
 - RU.UNIX.BSD ------------------------------------------------------------------
 From : Lev Walkin                           2:5020/400     04 Jun 2003  01:23:27
 To : Dmitry Miloserdov
 Subject : Re: tcp window
 -------------------------------------------------------------------------------- 
 
 
 Dmitry Miloserdov wrote:
 
 > Hello, Lev!
 > You wrote to me on Mon, 2 Jun 2003 18:41:49 +0000 (UTC):
 >  LW> Разрешите возразить ссылкой:
 >  LW> http://www.psc.edu/networking/papers/tcp_friendly.html
 >  LW> === cut ===
 >  LW> Assume that the TCP connection has MTU bytes/packet, and a roundtrip
 >  LW> time of RTT seconds. Assume that, when a packet is dropped, the TCP
 >  LW> connection had a window of W packets, and was sending at an average
 >  LW> rate (over that roundtrip time) of
 >  LW> S = W * MTU / RTT
 >  LW> === cut ===
 > Возможно я просто не совсем понял что понималось под исследованиями.
 > Столь формальные я конечно не мог иметь ввиду.
 > Все эти предположения скорее говорят о том что их MTU к реальному
 > mtu отношения не имеют, тоже самое и про window. Да и от tcp там
 > осталось только сама идея "congestion window" да и то с несколько
 > устаревшими
 > начальными условиями.
 
 Hе надо кидаться в частности, плиз. В этом документе - несколько
 устаревшие условия. В других - не очень устаревшие. Метод
 использования "TCP window", рассчитываемого в пакетах, не меняется.
 
 >  LW> В исследованиях, подобных вышеуказанному, могут приниматься
 >  LW> следующие условности:
 >  LW> 1. TCP Window является производной от RCV.WND и SND.CWND.
 >  LW> 2. CWND стандартизован в байтах (RFC2001), но некоторые
 >  LW> операционки (Linux) хранят SND.CWND сегментах (соответственно,
 >  LW> умножаемые на mss для получения размера в байтах). BSD
 >  LW> хранит SND.CWND в байтах. Соответственно, величину TCP Window
 >  LW> для формул можно и нужно брать в любых единицах, важно только
 >  LW> указать, в каких.
 > Hе суть.
 > принципиальная разница только между пакетами и байтами
 > а в каком виде хранить в системе дело разработчиков.
 
 Верно, но не тогда, когда на практике:
 а) хранят и в байтах, и в пакетах одновременно, даже в пределах одной ОС;
 б) в пакете уже давно обращать внимание на поле в байтах не имеет
 смысла. даже если wscale не используется почти. от обязанности его
 смотреть никто не освобождает. (утрирую немного, но все-таки).
 
 поэтому, и там и там - составные попугаи.
 
 > ex: "Q: сколько тут до пункта X? A: 6 перекрестков. Q: а сколько это в
 > километрах?"
 > если ответ будет "A: 1300 метров" то вопросов не возникнет.
 > а если скажут "A: 5минут"?
 
 О единицах нужно договариваться в самом начале. А не спорить о том,
 в чем это измеряется постфактум. Как раз мое оригинальное письмо - об
 этом.
 
 >  LW> 3. В пакете окно передается как комбинация поля window (16 бит)
 >  LW> плюс (после 1323 (1072)) window scale option, так что говорить
 >  LW> об окне в байтах _в пакете_ уже давно смысла нет.
 > Дэ юро - да. Дэ факто - tcp-options ходят но обычно scale=0.
 > практически никто же не меняет размер буфера.
 
 Вот это - верно.
 
 [hp:/u/vlm]>tcpdump -w syns -l -n -vvv 'tcp[tcpflags] & tcp-syn != 0'
 ...
 [hp:/u/vlm]>tcpdump -n -r syns | grep "wscale [1-9]" | wc
      2536   38719  406930
 [hp:/u/vlm]>tcpdump -n -r syns | wc
    306112 4120263 41760540
 >  LW> 4. При необходимости получить итоговую величину в байтах сегменты
 >  LW> (пакеты) нужно умножать на средний размер пакета. При исследованиях
 >  LW> установившегося потока, то есть, при исследованиях максимальной
 >  LW> пропускной способности виртуального соединения TCP, средний
 >  LW> размер пакета будет стремиться к mss, а mss будет стремиться
 >  LW> к MTU.
 > Если под mtu ты понимаешь тот mtu который с link layer'а
 > то не согласен. mtu у отправителя может быть гораздо больше
 > и на уровне ip фрагментироваться/собираться. ну или наоборот
 > меньше.
 
 Hет. Все равно будет стремиться.
 Во-первых, mss изначально будет установлен в MTU непосредственного
 линка. То есть, для ethernet (MTU=1500) в первом же пакете пойдет
 mss=1460:
 
 [vlm@spelio:/home/vlm]>tcpdump -n -vvv port 80
 tcpdump: listening on fxp0
 14:18:15.996355 172.17.1.103.4328 > 62.118.252.77.80: S [tcp sum ok] 
 1862106489:1862106489(0) win 65535 <mss 1460,nop,wscale 
 1,nop,nop,timestamp 68200635 0> (DF) [tos 0x10]  (ttl 64, id 65306, len 60)
 
 (кстате, заметь wscale в этом примере - результат простого
 telnet'а  в соседнем окне).
 
 Во-вторых, во время передачи из-за того, что TCP ставит DF на IP пакет,
 будут происходить ICMP Fragmentation needed and DF set пакеты, а также
 просто дропы (blackhole). По первым TCP стек корректирует свой mss,
 а по вторым - иногда корректирует.
 
 Поэтому, mss все-таки будет стремиться к MTU. Какого линка, и линка
 ли - это уже другой вопрос. Может на intermediate гейте размер MTU
 маленький для пакета, либо там стоит mss-ковырялка, которая меняет
 mss в проходящих пакетах.
 
 Впрочем, я согласен, что MTU тут более абстрактный, чем просто
 MTU линка: слишком много факторов в реале. Hо то, что это значение
 модулируется именно MTU линка (минимального на пути пакета),
 это факт.
 -- 
 Lev Walkin
 vlm@netli.com
 
 --- ifmail v.2.15dev5
  * Origin: Netli, Inc. (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 tcp window   mitrohin a.s.   30 May 2003 16:21:31 
 Re: tcp window   Dmitry Miloserdov   30 May 2003 17:02:08 
 Re: tcp window   mitrohin a.s.   30 May 2003 18:01:11 
 Re: tcp window   mitrohin a.s.   02 Jun 2003 06:21:09 
 tcp window   Yuri PQ   02 Jun 2003 12:47:30 
 Re: tcp window   Dmitry Miloserdov   02 Jun 2003 15:17:15 
 tcp window   Yuri PQ   02 Jun 2003 20:12:54 
 tcp window   Alex Semenyaka   03 Jun 2003 16:52:42 
 tcp window   Yuri PQ   04 Jun 2003 12:20:06 
 tcp window   Alex Semenyaka   04 Jun 2003 16:15:14 
 tcp window   Yuri PQ   04 Jun 2003 20:20:38 
 Re: tcp window   Valentin Davydov   05 Jun 2003 22:45:54 
 tcp window   Alex Semenyaka   06 Jun 2003 19:36:42 
 Re: tcp window   Alex Povolotsky   08 Jun 2003 19:42:13 
 tcp window   Alex Semenyaka   12 Jun 2003 15:31:32 
 Re: tcp window   Alex Povolotsky   20 Jun 2003 23:22:27 
 tcp window   Alex Semenyaka   24 Jun 2003 21:51:36 
 Re: tcp window   Lev Walkin   25 Jun 2003 02:12:52 
 Re: tcp window   Oleg Koreshkov   30 May 2003 17:11:48 
 Re: tcp window   Oleg Koreshkov   30 May 2003 17:22:59 
 Re: tcp window   mitrohin a.s.   30 May 2003 18:01:12 
 Re: tcp window   Oleg Koreshkov   02 Jun 2003 15:41:35 
 Re: tcp window   Andrey Sverdlichenko   30 May 2003 18:55:05 
 Re: tcp window   Lev Walkin   31 May 2003 00:43:32 
 Re: tcp window   Dmitry Miloserdov   01 Jun 2003 17:19:06 
 Re: tcp window   Lev Walkin   02 Jun 2003 22:41:49 
 Re: tcp window   Dmitry Miloserdov   03 Jun 2003 15:00:42 
 Re: tcp window   Lev Walkin   04 Jun 2003 01:23:27 
 Re: tcp window   Dmitry Miloserdov   04 Jun 2003 17:22:05 
 Re: tcp window   Lev Walkin   05 Jun 2003 01:27:50 
 Re: tcp window   Valentin Nechayev   28 Jun 2003 11:14:23 
Архивное /ru.unix.bsd/7591d04142f6.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional