Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Разное

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Может ли быть несколько tcp-пакетов в одной ip-датаграмме?
 
 автор: dump   (21.11.2011 в 14:21)   письмо автору
 
 

Может ли быть несколько tcp-пакетов в одной ip-датаграмме? И наоборот, tcp-пакет состоять из нескольких ip-датаграмм?

  Ответить  
 
 автор: cheops   (21.11.2011 в 15:34)   письмо автору
 
   для: dump   (21.11.2011 в 14:21)
 

>Может ли быть несколько tcp-пакетов в одной ip-датаграмме?
Теоретически да, размер позволяет... практически маловероятно - усилий на их склеивание уйдет больше, чем просто на отправку в разных датаграммах.

>И наоборот, tcp-пакет состоять из нескольких ip-датаграмм?
Вообще, допустимый размер ip-датаграммы с лихвой перекрывает максимальный размер tcp-пакета. Однако вышестоящий tcp-пакет, можно хоть по байту разрезать и пересылать в разных ip-датаграммах, если нижележащий код и оборудования "решат" по каким-то причинам так действовать (задано так, большие пакеты теряются) - никто им помешать не сможет.

PS Но вообще тут я уже могу врать, на таком уровне не копался (вернее копался, но довольно давно)...

  Ответить  
 
 автор: dump   (21.11.2011 в 16:05)   письмо автору
 
   для: cheops   (21.11.2011 в 15:34)
 

>Теоретически да, размер позволяет...
Т.е. это не запрещено стандартами? И что обе описанные ситуации(когда ip-датаграмма либо меньше, либо больше tcp-пакета) могут быть реализованы с tcp/ip стеке Windows или UNIX?

  Ответить  
 
 автор: cheops   (21.11.2011 в 16:32)   письмо автору
 
   для: dump   (21.11.2011 в 16:05)
 

Второй точно не запрещен, а первый - вычитывать нужно. Однако, если это разрешено, то все стеки эту ситуацию обрабатывают корректно. Собственно получателю не так много работы - нужно просто распаковать IP-датаграмму и взять от туда два или более TCP-пакета. Только вот что-то мне подсказывает, что скорее всего такая ситуация места не имеет, а может и явно запрещена - это нужно читать RFC (точно я не знаю, могу покопаться в своей библиотеки, если будет время).

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования