Часто говорят, что Windows использует (использовала) TCP/IP стек из BSD Unix-а. Есть ли этому какие-либо документальные подтверждения, или это легенда, появившаяся из за копирайта в заголовочных файлах SDK ?
>Часто говорят, что Windows использует (использовала) TCP/IP стек из BSD Unix-а. Есть ли этому какие-либо документальные подтверждения, или это легенда, появившаяся из за копирайта в заголовочных файлах SDK ?
Нет, это фантастика. На самом деле там тырнный линуксовый стек, портированный с libastral на devass, а BSDшные копирайты для отвода глаз.
Нет конечно. В заголовочных файлах STL-я копирайт HP стоит, это ведь ничего не означает. А использовать заголовочные файлы в качестве референсных, вполне разумное решение.
C:\Users\vsb>ping /t linux.org.ru
Обмен пакетами с linux.org.ru [217.76.32.61] с 32 байт данных:
Ответ от 217.76.32.61: число байт=32 время=81мс TTL=51
Ответ от 217.76.32.61: число байт=32 время=151мс TTL=51
Ответ от 217.76.32.61: число байт=32 время=283мс TTL=51
Ответ от 217.76.32.61: число байт=32 время=188мс TTL=51
Ответ от 217.76.32.61: число байт=32 время=138мс TTL=51
Ответ от 217.76.32.61: число байт=32 время=185мс TTL=51
Ответ от 217.76.32.61: число байт=32 время=201мс TTL=51
Статистика Ping для 217.76.32.61:
Пакетов: отправлено = 7, получено = 7, потеряно = 0
(0% потерь)
Приблизительное время приема-передачи в мс:
Минимальное = 81мсек, Максимальное = 283 мсек, Среднее = 175 мсек
Control-C
^C
>смотри C:\Windows\System32\drivers\etc и сравни содержимое с аналогичными файлами в *nix /etc
>ЗЫ: Ну хоть бы переименовать додумались....
Это часть телодвижений венды для совместимости с POSIX (оппа, новость?), которую их обязал прикрутить антимонопольный комитет. Переименовывать им как раз и не надо было.
Итого, первые версии NT поставлялись с TCP/IP стэком, купленным МС у фирмы Spider Systems. Этот стек действительно был основан на коде какой-то из BSD Unix. Но потом МСи переписали стэк заново, потому что купленный был основан на интерфейсе STREAMS.
"It was recognized that using Spider's stack was a temporary measure, because nobody really wanted a stack that depended on STREAMS and its associated overhead. So, a short time after this, work was begun on a new version of TCP/IP, written entirely by Microsoft."
С NT 3.5 поставлялся уже переписанный стэк. Однако, сетевые утилиты вроде ftp так и не были переписаны из-за ненадобности.
За ME/XP автор не ручается, о чем честно предупреждает в статье.
"I won't even swear on a stack of bibles that the "new" TCP/IP now shipping in NT/2000/XP and Windows 95/98/Me is completely free of the old code from Spider. Since I don't work there I don't have access to the source code. Certainly some parts of TCP (the checksum calculation comes to mind) are the same everywhere and once someone has written an optimized version, why rewrite it? And once again, this would be perfectly legitimate for Microsoft to do under the license."
И в заключение о "коде BSD":
"But it is certainly misleading of the Wall Street Journal to say that BSD code is used "deep inside" the NT networking code, unless they mean the STREAMS wrapper itself, which I believe is still there in case someone wants to write a transport using it (I think there is an OSI TP4 STREAMS transport lurking somewhere out there, if anyone cares - but I just checked, nobody does). But the TCP/IP in NT certainly doesn't use STREAMS."