Bredonosec>> Но прошивка магистрального роутера почему?
Bredonosec>> там же, по идее, функционал примитивен - принять пакет, прочесть заголовок вплоть до слоя, который для него имеет значение, в соответствии с этим заголовком перенаправить дальше.
Sandro> Это не роутер. Это свитч. Роутер должен, как минимум, понимать про TCP соединение, уметь понимать его текущую фазу, в идеале — уметь самостоятельно обеспечивать перепосылку данных при потере пакета, чтобы в случае чего не гонять синхронизирующие сообщения через пол-глобуса ...
ээээ.. но я же это и описал - ТСР - транспортный уровень.
Заголовок - 0-15- порт источника, 16-31 - порт получателя
32-63 - порядковый номер
64-95 - номер подтверждения
96-99 - длина заголовка
104-111 - флаги,
112-127 - размер окна
128-143 - контрольная сумма
144-159 - важность
160-191 - еще опции
потом данные.
- в соответствии с заголовком (не посылать дублирующих по номеру, если не соответствует чексуму - запросить еще раз это номер, т.д. - это если нет запрещающих правил) направлять дальше..
Sandro> И это я ещё не рассказал про фрагментированные пакеты, например. Там дохрена логики и зачастую — эвристической. Увы.
Почему? По идее же фрагменты имеют свои заголовки, обозначающие, что это фрагмент, с номером и всё такое..
Sandro> А там ещё и маршрутизация, но это вообще мрак глубинный, Ктулху и шогготы.
тоже не понял мрака.. Или ты про маршрутизацию на основе того, кто сейчас доступен и где меньше задержка, а если роутинговые войны, то кто стоит дешевле или через кого не направлять? А это разве функция рутера, а не какого-нибудь серва?