RDS писал(а):Ты сам почти ответил. Подтверждение, о принятом пакете, может выдать только компьютер получатель или роутер, но никак не свитч! Имеем: время повторной отправки пакета (не дождавшись подтверждения), время задержки пакета при проходе свича, время прохождения сигнала в медном кабеле. Нетрудно подсчитать максимальное расстояние между отправителем и получателем. Если реальное расстояние больше, то необходим роутер. Все просто. Заявления о неограниченном количестве свичей в цепочке - только догадка некоторых "специалистов".
Igoras писал(а):... и роутеры на этих самых высоких уровнях шлют ответ отправителю, что пакет получен, пробросить его дальше - дело роутера.
Похоже, что мы с Вами по разным учебникам учились - я с Вас просто удивляюсь...
Во превых - Рутеры это устройства Сетевого уровня - протокол IP это протокол сетевого уровня. Протокол без установления соединения, первичный транспортный протокол в стеке TCP/IP. В задачи IP входит:
1 Адресация - 32 разрядное адресное пространство...
2 Упаковка - IP предоставляет пакет, если не ошибаюсь, в официальной терминологии называемый датаграммой. Формат пакета (по памяти - некоторые поля не на своем месте)
14 полей
*Версия
*Длина всей датаграммы
*Тип сервиса
*Длина поля данных
*ID датаграмы
*Биты фрагментации
*Смещение фрагмента
*CRC заголовка датаграмы без учета данных
*TTL
*Протокол данные которого переносятся
*IP получателя
*IP отправителя
*Опции
*Данные
3 Фрагментация
4 Маршрутизация
В задачи IP не входит не подтверждение получения не ввообще какие-нибудь подтверждения. Кстати всеми любимый протокол ICMP разработан как раз еще и для того чтобы информировать системы о ошибках на сетевом уровне т.к. IP такой функции не выполняет - ему пофиг с какими данными он работает - у него 4 задачи - все остальное задачи других протоколов в стеке.
На транспортном уровне работают два протокола - TCP и UDP. Вообще же в задачм протоколов данного уровня входит:
1 Идентификация процессов через номера портов 0-65535 (оба)
2 Контроль ощибок CRC (оба)
3 Сегментация и востановление данных (только TCP)
4 Управление потоком (только TCP)
5 Подтверждение прибытия и организация повторной передачи. (только TCP)
Заголовки TCP и UDP я помню - 12 и 4 поля соответственно - но приводить их мне лень - RFC есть кому интересно.
TCP протокол с установление соединения, UDP без. Какой из них использовать - выбирает Сетевой программист когда свою прогу кропит. Вот чтобы данный передавать нужно TCP использовать т.к. только с его помощью можно быть уверенным в доставке и качестве. А вот UDP например применяют когда не надо никаких гарантий - когда ответ является подтверждением - DNS транзакция request - reply, и еще при широковешинии...
Это все теория - делайте выводы. Если мне не верите - читайте RFC.
Исходя из этого то, что вы нвписали о том, что рутеры подтвержения шлют - это не правильно. И еще Вы рассматриваете время ожидания подтверждения как константу - будет задержка бодльше этого времени - все, хана сети. Эта величина НЕ КОНСТАНТА - она устанавливается в момент установки логического соединения, и если не ошибаюсь, в процессе соединения может пересогласовываться.
И еще. Ethernet - протокол Канального уровня без установления соединения. Он состоит из 3 частей - Кадр, Механизм доступа к среде, Набор нормативов физ. уроня.
Его задачи:
1 Адресация в пределах области широковещания по МАС адресам
2 контроль ошибок
3 идентификация протокола данные которого переносятся
3 Обеспечение доступа к среде
Формат пакета 802.3
*преамбула
*начальный разделитель
*адрес получателя
*адрес отправи теля
*длина
*LLC
*Данные
*CRC
это так, для кучи - мож интересно кому...