> что происходит после 1000 перезаписей?
ошибки записи, после которых контроллер карточки перестаёт использовать сбойные блоки.
> Как тогда помогает технология TRIM
помечая области как неиспользуемые вы даёте контроллеру флэша больше свободы манёвра в распределении записываемых данных по блокам. Чем равномернее используются блоки -- тем меньше записей приходится на каждый из них, тем больше времени пройдёт до исчерпания ресурса флэшки.
> в RFC немного сумбурно описаны некоторые моменты
Вот так раз. "А мужики-то и не знают" (С).
> А имел я в виду, что значение этого поля при подтверждении получения пакета ставлю равным длине полученных данных.
Этим вы говорите противоположной стороне "о, можешь послать ещё столько же, сколько в последнем пакете, пока я тут молчу". А зачем?
Window в ваших ответах, по-хорошему, должен быть связан только с доступным объёмом приёмного буфера для этого соединения.
В вашем любимом RFC793 есть целая глава "managing the window". Прочтите её.
> у меня все-таки нет CCNP сертификата
У меня тоже. Я даже не знаю, что это такое.
> нужно было еще window задать в длину данных в ACK-ответе
Что такое "задать window в длину данных"? о_О @Color скажите, вы просто перебираете всё подряд пока не заработает, или пытаетесь понять, что вы делаете и зачем? Как по-вашему window сервера может быть связан с ретрансмитами от клиента?
> побайтовую расшифровку я убрал, она нужна?
Я бы, наверно, не просил -X, если бы не хотел увидеть полный дамп. Хотя, и расшифрованных хедеров оказалось достаточно...
@sav6622 а вы посмотрите внимательно, seq = 1 идёт справа налево, а соответствующий ему ack = 1 -- слева направо. Правая сторона не посылает налево данных, только ACK и в конце ACK+FIN.
> ACK: SN: ???; AN: 654322
ACK: SN: 123457; AN: 654322
потому что следующий октет, который пошлёт эта сторона будет идти под номером 123457, который ожидает вторая сторона.
Посмотрите на реальную сессию tcp под tcpdump или wireshark, наверняка оно ответит на множесво подобных вопросов.
> То есть, в SYN-ACK пакете поле Sequence Number будет равно ISN из SYN-пакета
Нет, Sequence Number в каждом направлении независим, я вам уже говорил. В пакете SYN-ACK Sequence Number будет равен ISN второй стороны.
> а поле Acknowledgment Number - ISN + 1?
Да, полученному в пакете SYN ISN + 1.
Во-первых это следует из определения Acknowledgement number в RFC 793:
Acknowledgment Number: 32 bits
If the ACK control bit is set this field contains the value of the
next sequence number the sender of the segment is expecting to
receive. Once a connection is established this is always sent.
Во-вторых просто имейте в виду, что TCP симметричен для обоих участников, поэтому каждый из них шлёт в Sequence Number своё число, а в Acknowledge -- подтверждение Sequence Number другого участника.
Лёгкое гугление приводит на следующую страничку:
https://www-ssl.intel.com/content/www/us/en/proces...