После недавнего обнаружения недостатков TCP/IP (http://kerneltrap.org/node/view/3072) упрощающих проведения DoS атак, компания Cisco предложила (http://kerneltrap.org/node/view/3085) некоторые расширения протокола TCP (http://www.ietf.org/ietf/IPR/cisco-ipr-draft-ietf-tcpm-tcpse...) ориентированные на увеличение безопасности.Печально, что Cisco подала заявку на получения патента на данные расширения и собирается собирать лицензионные отчисления. Разработчики OpenBSD не стали дожидаться решения комиссии и разработали альтернативную схему защиты, уже реализованную в OpenBSD.
Подробное описание проблемы приводится в статье Understanding TCP Reset Attacks, Part I (http://kerneltrap.org/node/view/3072), описание решения примененного в OpenBSD будет описано во второй части статьи, выход которой ожидается на днях.URL: http://kerneltrap.org/node/view/3085
Новость: http://www.opennet.me/opennews/art.shtml?num=3834
1) Давно пора заменить схему "скользящего окна" на такую, где учитывалась бы возможность пропажи отдельных пакетов. Например, если при окне в десять пакетов отправитель послал десять пакетов, а седьмой пропал, то получатель должен "заказать" пропавший седьмой пакет и пакеты с одинадцатого по шестнадцатый (а не заказывать с седьмого по шестнадцатый, как это делается сейчас).2) В протокол TCP следует вводить систему компрессии/архивации и шифрования передаваемых данных. При этом клиент должен предложить серверу список приемлимых для него методов компрессии/архивации и шифрования, а сервердолжен выбрать из них наиболее подходящий. Этот метод можно сделать совместимым с существующим TCP, используя заранее зарезервированные расширения - существующие реализации TCP будут их игнорировать, оставляя возможность работы в традиционном режиме.
Вам, Дмитрий, стОит почитать хорошую книгу по TCP/IP - рекомендую R.Stevens "TCP/IP Illustrated" тем более, что сейчас она переведена на русский.Тогда неясности на каких конкретно уровнях происходит шифрование\архивация и как работает SACK пропадут сами собой :)
> Вам, Дмитрий, стОит почитать хорошую книгу по TCP/IP - рекомендую R.Stevens "TCP/IP Illustrated" тем более, что сейчас она переведена на русский.
> Тогда неясности на каких конкретно уровнях происходит шифрование\архивация и как работает SACK пропадут сами собой :)Для начала я задам Вам вопрос "На каком уровне происходит контроль за целостностью доставки и обеспечивается повторная отправка пропавших пакетов?" После того, как Вы скажете "Разумеется, в TCP!" я спрошу "А какого хрена этим занимается X.25 на два уровня модели OSI ниже?"
Так вот, реализовать компрессию и шифрование трафика можно на любом уровне. Даже модемы (первый уровень модели OSI) занимаются сжатием данных.
Вы отсылаете меня читать книги, а я приглашаю в следующем учебном году в МФТИ на мои лекции, где я рассматриваю не отдельно "TCP/IP с картинками" :-) (за один термин "TCP/IP" авторов книг надо убивать), а стараюсь дать представление о сетях целиком.
>Так вот, реализовать компрессию и шифрование трафика можно на любом уровне. Даже
>модемы (первый уровень модели OSI) занимаются сжатием данных.Стоп это делается на уровне железа на сколько я помню. Железная реализация VPN (с шифрацией и сжатием траффика) существует в виде ehternet карт.
Если посмотреть хорошие сетевые карты на Gigabit увидим, что там имеется спецальный процессор для проверки валидности crc сумм.
IMHO если делать пожатие и шифрацию, то желательно чтобы это происходило на уровне железа.>Вы отсылаете меня читать книги, а я приглашаю в следующем учебном году
>в МФТИ на мои лекции, где я рассматриваю не отдельно "TCP/IP
>с картинками" :-) (за один термин "TCP/IP" авторов книг надо убивать),
>а стараюсь дать представление о сетях целиком.Гмм да ну??? Чем мне поможет знание ATM или Frame Relay технологии?
Большая частm сетей сейчас, это TCP/IP (особенно в россии).
> Стоп это делается на уровне железа на сколько я помню.Это делается на уровне процессора, управляющего работой модема - встроенного в модем для обычных модемов, центрального для Win-модемов.
> Если посмотреть хорошие сетевые карты на Gigabit увидим,
> что там имеется спецальный процессор для проверки валидности crc сумм.Такой процессор есть на ЛЮБОЙ сетевой карте (кроме самых примитивных - на них это делает центральный по программе, записанной в драйвере).
> IMHO если делать пожатие и шифрацию, то желательно
> чтобы это происходило на уровне железа.А может, вообще всю операционку реализуем на уровне железа, как это делала Acorn? :-) Зачем тогда вообще нужен мощный процессор, если он не может делать вычисления, а требует отдельного аппаратного ускорителя для видео, для архивации и т.п.?
> Гмм да ну??? Чем мне поможет знание ATM или Frame Relay технологии?
> Большая частm сетей сейчас, это TCP/IP (особенно в россии).Заметная часть IP-трафика передаётся по ATM - это же второй уровень модели OSI, он не противопоставляется IP (третьему уровню). И вообще, иметь общую эрудицию надо. Для начала вопрос: сколько процессоров в Вашем компьютере (на котором Вы читаете это)? Ответ "Один" неправильный - их там штук пять.
>> Стоп это делается на уровне железа на сколько я помню.
>
>Это делается на уровне процессора, управляющего работой модема - встроенного в модем
>для обычных модемов, центрального для Win-модемов.
>
>> Если посмотреть хорошие сетевые карты на Gigabit увидим,
>> что там имеется спецальный процессор для проверки валидности crc сумм.
>
>Такой процессор есть на ЛЮБОЙ сетевой карте (кроме самых примитивных - на
>них это делает центральный по программе, записанной в драйвере).
>
>> IMHO если делать пожатие и шифрацию, то желательно
>> чтобы это происходило на уровне железа.
>
>А может, вообще всю операционку реализуем на уровне железа, как это делала
>Acorn? :-) Зачем тогда вообще нужен мощный процессор, если он не
>может делать вычисления, а требует отдельного аппаратного ускорителя для видео, для
>архивации и т.п.?
>
>> Гмм да ну??? Чем мне поможет знание ATM или Frame Relay технологии?
>> Большая частm сетей сейчас, это TCP/IP (особенно в россии).
>
>Заметная часть IP-трафика передаётся по ATM - это же второй уровень модели
>OSI, он не противопоставляется IP (третьему уровню). И вообще, иметь общую
>эрудицию надо. Для начала вопрос: сколько процессоров в Вашем компьютере (на
>котором Вы читаете это)? Ответ "Один" неправильный - их там штук
>пять.Знаете, то что вы говорите, - это неприлично как по форме, так и по содержанию.
>Гмм да ну??? Чем мне поможет знание ATM или Frame Relay технологии?
>
>Большая частm сетей сейчас, это TCP/IP (особенно в россии).Меня тоже дочь спрашивает "Зачем мне математику учить в школе, когда в жизни она мне точно не пригодится". Это говорит о том, что у нее хреновый учитель математики. Реализации меняются, концепции живут гораздо дольше.
бедные студенты
Студенты по всей видимости как раз не бедные -- а счастливые, что имеют в качестве своего учителя человека, пробующего системно осмыслить суть общей проблемы передачи данных на расстояние. В данном случае (на мой взгляд) TCP/IP -- часть этой проблемы.Хочу также заметить, что возможность иметь такого преподавателя, к сожалению, в наше время предоставляется далеко не всем. И это является трагической ноткой, которая говорит о существенном ухудшении качества нашего образования. А также это говорит о том, что keepver не имел счастья обучаться у преподавателя, способного заразить своим предметом.
proff:
> Студенты по всей видимости как раз не бедные -- а счастливые,Мой курс не является обязательным - МФТИ предлагает сотни две "курсов по выбору", из которых надо прослушать восемь полугодовых или четыре годовых или в любой комбинации (можно больше). Судя по тому, что мои студенты выбрали мой курс, они не столь уж несчастные.
> что имеют в качестве своего учителя человека, пробующего системно
> осмыслить суть общей проблемы передачи данных на расстояние.
> В данном случае (на мой взгляд) TCP/IP -- часть этой проблемы.Именно так. Перед сетевиками (разработчиками, провайдерами, сисадминами) стоИт задача обеспечить обмен данными между пользователями за наименьшую цену (куда входит стоимость аппаратуры, её обслуживания, электроэнергии, потерь от сбоев и т.п.). И задача это ставится в рамках коммерческой деятельности наших клиентов/работодателей, которые про модель OSI слышали только краем уха (если вообще слышали) и потому задачу обеспечить соответствие сетИ модели OSI (или какой другой модели) перед нами не ставят и денег на соответствие модели не дают. Пока что TCP/IP и Ethernet наиболее дёшево обеспечивают приемлимый для большинства уровень качества.
> Хочу также заметить, что возможность иметь такого преподавателя, к сожалению,
> в наше время предоставляется далеко не всем. И это является трагической ноткой,
> которая говорит о существенном ухудшении качества нашего образования.Образование - это долговременное вложение средств. А какой смысл делать долговременные вклады в стране, которая за последние 20 лет пережила борьбу с пьянством, перестройку, кооперацию, развал на 15 составных частей, гайдаровскую инфляцию (когда рубль за три года обесценился в 1000 раз), чубайсовскую ваучерную приватизацию, разгул бандитизма, кириенковский дефолт, две чеченские войны, а сейчас собирается превратиться в полицейское государство (что я, наевшись свободы, только привествую)?
Я бы с удовольствием расширил свою преподавательскую деятельность, но похоже, в институтах руководству больше нужны такие преподаватели, которые собирали бы со студентов деньги и потом делились с руководством... :-(
Vladimir:
> Я может чутка забыл концепцию TCP/IP, но что то мне подсказвает
> что старые программы работают поверх VPN с шифрацией вполне так
> без перекомпиляции и поддержки шифрации со стороны самой программы.Вспомним, что протокол HTTP любит устанавливать отдельное TCP-соединение на каждую запрошенную Web-страничку и разрывать его после получения запрошенных данных, т.к. неизвестно, надо ли будет потом брать что-то ещё с этого сервера. Для работы по VPN придётся сначала устанавливать VPN-соединение, потом TCP-соединение, а потом разрывать их; это ещё удвоит начальную задержку при соединении через большое число роутеров и увеличит служебный (не несущий полезных данных) трафик. К тому же придётся задействовать IP-номера на VPN-соединение и обеспечивать безконфликтность с уже используемыми IP-номерами. Да и поднимать отдельный VPN-сервис на серверах весьма накладно. Поэтому я и предлагаю включить компрессию и шифрование прямо в TCP, где ему будет самое место.
>Образование - это долговременное вложение средств. А какой смысл делать долговременные вклады
>в стране, которая за последние 20 лет пережила борьбу с пьянством,
>перестройку, кооперацию, развал на 15 составных частей, гайдаровскую инфляцию (когда рубль
>за три года обесценился в 1000 раз), чубайсовскую ваучерную приватизацию, разгул
>бандитизма, кириенковский дефолт, две чеченские войны, а сейчас собирается превратиться в
>полицейское государство (что я, наевшись свободы, только привествую)?IMHO дело не столько в нашей стране, а сколько в общесистемном кризисе западной (рациональной, научной, какой хотите) идеологии.
Наша страна -- просто метафора. Иллюстрация данного конкретного случая. Красочная картинка изменений, которые происходят в повседневной жизни. Цвета, динамика, персонажи -- могут быть разными -- идея -- нет.>
>Я бы с удовольствием расширил свою преподавательскую деятельность, но похоже, в институтах
>руководству больше нужны такие преподаватели, которые собирали бы со студентов деньги
>и потом делились с руководством... :-(Я работаю лектором в одном коммерческом университете больше года. Раз в неделю на полдня прихожу и учусь вместе со студентами: люди с пока еще не загаженными снобизмом мозгами высказывают то, о чем они на самом деле думают. Пока высказывают. Мне интересно с ними разговаривать. Я стараюсь их научить мыслить самостоятельно, а не хавать с экрана (проспекта, плаката, проч.) то, что "хочется" хавать. Они меня учат быть в курсе текущих изменений. Насколько могу, стараюсь научить их держаться подальше от снобизма. К сожалению, вирус снобизма чрезвычайно заразителен, что лишний раз подтверждается еще одним случаем.
судя по высказываниям, человек не совсем разбирается в предмете, который преподает, а ведь людей учит. так что мне скорее повезло :)
> судя по высказываниям, человек не совсем разбирается в предмете,
> который преподает, а ведь людей учит. так что мне скорее повезло :)Скорее, разбирается слишком глубоко. Не знаю, как строго относится администрация к флейму, но дам задачки для желающих попробовать себя:
Что лучше - три коммутатора по 8 портов или один коммутатор на 20 портов? (Ответ зависит от ряда обстоятельств, студент сам должен их сформулировать.)
Сколько протоколов содержится в "протоколе TCP/IP" (терминология Windows)? (В названии упоминаются два протокола, реально их намного больше.)
Какие IP-based протоколы локальные? ("IP-based" - это протоколы, которые без IP не работают или не нужны. "Локальные" - не выходят за пределы локальной сетИ.)
Какой протокол-транспорт нам выбрать для программирования? (Реальные альтернативы: TCP, UDP, IPX, SPX, NetBIOS.)
Есть сеть. Когда админ копирует к себе базу данных, чтобы залить её на болванки (бэкап), то вся работа тормозится. ПредложИте способы противодействия.
Есть сеть Ethernet на хабе с заявленной скоростью 100 Mbps. Какой реальный объём данных она может передать за секунду (каков КПД использования пропускной способности)? От чего он зависит?
Я решил создать свою собственную персональную Web-страничку. Где я должен её зарегестрировать? (Вопрос специально некорректен - имитируется реальный вопрос начинающего юзера.)
:)
>судя по высказываниям, человек не совсем разбирается в предмете, который преподает, а
>ведь людей учит. так что мне скорее повезло :)Что-то я понять не могу, что в том высказывании не соответствует истине ? Пояснее пожалуйста. Или намек на keepalive HTTP соединения ? Но даже с keepalive браузеры больше одной страницы (с картинками и прочей шелухой) через одно TCP соединение не передают. IE вообще всегда в несколько соединений льет.
Аноним:
> Что-то я понять не могу, что в том высказывании не соответствует истине?
> Пояснее пожалуйста. Или намек на keepalive HTTP соединения?
> Но даже с keepalive браузеры больше одной страницы
> (с картинками и прочей шелухой) через одно TCP соединение не передают.
> IE вообще всегда в несколько соединений льет.Немного не в тему. На http://forum.citforum.ru был вопрос "как определить, сколько пользователей просматривают мою Web-страничку?". Так вот, никто там не посоветовал воспользоваться фактом сохранения TCP-соединения после передачи странички.
proff
> IMHO дело не столько в нашей стране, а сколько в общесистемном кризисе
> западной (рациональной, научной, какой хотите) идеологии.
> Наша страна -- просто метафора. Иллюстрация данного конкретного случая.
> Красочная картинка изменений, которые происходят в повседневной жизни.
> Цвета, динамика, персонажи -- могут быть разными -- идея -- нет.Процессы в России имеют свои особенности, часто принципиально важные - на Западе люди продолжают вкладывать деньги в образование, хотя качество образования непрерывно падает. Интересная тема; Вы обсуждаете её где-то на форумах?
> Я работаю лектором в одном коммерческом университете больше года.
У меня сложилось ощущение, что в большинстве платных ВУЗов не столько учат детей, сколько присматривают за ними, чтоб не болтались хрен знает где с хрен знает кем, не наркоманили, а вращались в кругу себе подобных. Рад буду ошибиться...
> К сожалению, вирус снобизма чрезвычайно заразителен,
> что лишний раз подтверждается еще одним случаем.А что в Вашем понимании есть "снобизм"?
>Немного не в тему. На http://forum.citforum.ru был вопрос "как определить, сколько пользователей
>просматривают мою Web-страничку?". Так вот, никто там не посоветовал воспользоваться фактом
>сохранения TCP-соединения после передачи странички.Я бы не думая набрал
netstat -an|grep -E '1\.2\.3\.4.80.*ESTABLISHED'|wc
и уже потом попросил уточнить что подразумевается под "просматривают" ?Вариант 2: однопиксельный img src на скрипт вначале (1) и конце страницы (2),
через javascript при закрытии, переходе и других изменениях статуса окна вызывается третий скрипт.
Сессия контролируется через cookies. Стадия 1-2 - загрузка, 2-3 фактически просмотр.
>Процессы в России имеют свои особенности, часто принципиально важные - на Западе
>люди продолжают вкладывать деньги в образование, хотя качество образования непрерывно падает.
>Интересная тема; Вы обсуждаете её где-то на форумах?В прошлом году было больше времени -- пробовал обсуждать. Но тема весьма тонкая и для форумов, на мой взгляд, не годится. Я бы назвал ее застольной ;-)
Бывает с друзьями обсуждаю при определенных обстоятельствах...
Перед новым годом было время -- написал статью. Если интересно -- вот ссылка: http://www.aswl.ru/swdm/articles/know-how/>У меня сложилось ощущение, что в большинстве платных ВУЗов не столько учат
>детей, сколько присматривают за ними, чтоб не болтались хрен знает где
>с хрен знает кем, не наркоманили, а вращались в кругу себе
>подобных. Рад буду ошибиться...Возможно это и так. Не могу говорить за других учителей, но это ко мне не относится. С другой стороны, если смотреть на проблему несколько шире, чем вливаемый в мозги предмет -- то это и не плохо: основное что должен сделать ВУЗ -- сформировать _сообщество_ специалистов, _желающих_ работать бок о бок. IMHO именно слаженная работа в единой команде в наше время способна принести конкурентные преимущества.
>
>> К сожалению, вирус снобизма чрезвычайно заразителен,
>> что лишний раз подтверждается еще одним случаем.
>
>А что в Вашем понимании есть "снобизм"?Снобизм -- коротко -- невозможность отличить полное от пустого. Если говорить более развернуто, то это, во-первых, невежество, воспринимаемое как нечто должное, во-вторых, отсутствие страха перед неизвестным, ну и в-третьих, абсолютный эгоизм, склеивающий первое и второе в единое целое.
> Например, если при окне в десять пакетов отправитель послал десять пакетов, а седьмой пропал, то получатель должен "заказать" пропавший седьмой пакет и пакеты с одинадцатого по шестнадцатый (а не заказывать с седьмого по шестнадцатый, как это делается сейчас).
Если я правильно понял RFC2018 TCP Selective Acknowledgement Options, то все будет как раз так, как Вы и предлагаете делать, т.е. получатель закажет пропавший седьмой пакет и пакеты с одинадцатого по шестнадцатый. При условии, конечно, что и отправитель, и получатель поддерживают SACK.
Люди, извините, но Вы развели БАЗАР.... Причем многие, даже не читав тех книг, которые они рекомендуют... Ничего, что я так витиевато посылаю?
ATM и FR изучать надо и настоятельно рекомендую. Это тоже сети и даже больше сети. Я если говорить о сетях в контексте TCP/IP only, то извините, но парьте мозги гусю или девочке у которой странички не открываются. Им может быть и будет интересно. А стек TCP/IP действительно устарел. Пора ему.. На выход... Причин много и об этом уже многие пишут.
> А стек TCP/IP действительно устарел. Пора ему.. На выход...
> Причин много и об этом уже многие пишут.Хотелось бы подробнее о причинах (можно ссылки) и о том, чем бы их (TCP и IP) заменить. IMHO, никакой реальной замены им не видно, если не считать разных умозрительных и явно неработоспособных проектов.
Насчет устарелости и замены, согласен, это я брякнул... Извиняюсь. Но Ваш пукт 2, уж извините, но полный бред. Шифрование и компрессия на уровне транспорта - нонсенс. Усиленно смотрим на модель OSI, про которую все кричат, что она не соответствует реалиям жизни, но придумать пока ничего лучшего не могут. Вы вроде бы читаете лекции по сетям?
Хотя отчасти я с Вами согласен, за термин "сети TCP/IP" надо убивать не сходя с места.
> Шифрование и компрессия на уровне транспорта - нонсенс.
Насчёт шифрования не могу спорить, т.к. оно вообще очень молодо (достаточно сравнить возраст Telnet и SSh). Но вот компрессия и контроль доставки применяется в модемах (хоть и не слишком хорошо), а это уже первый уровень модели OSI.Задача: Есть Windows-машина с протоколом NetBEUI и NetBIOS-доступом к файлам/принтерам. На каком уровне происходит контроль доставки, который в "NetBIOS over TCP/IP" происходит на уровне TCP? Какой ровень в модели OSI занимает NetBEUI?
> Усиленно смотрим на модель OSI, про которую все кричат,
> что она не соответствует реалиям жизни, но придумать пока
> ничего лучшего не могут. Вы вроде бы читаете лекции по сетям?
Да, читаю. И там я учу, что наша жизнь подчиняется экономической целесообразности. Так что не придумали просто потому, что это не особо нужно. Модель OSI позволяет продемонстрировать студентам иерархию протоколов, но не более того; фактически, это всего лишь учебное пособие, так что не надо на эту ось :-) нанизывать реальную жизнь.Желающие могут попробовать расписать в модели OSI UUCP-почту, учитывая, что она работает непосредственно с модемом и без преобразований совмещается с SMTP-почтой.
Дмитрий, не надо подменять диалог демагогией. Вас ткнули в Ваши ошибки (sack/непонимание уровней сетевой модели) и не надо подменять диалог демагогией.P.S. Я тоже закончил МФТИ :)
Компрессия и шифрование данных это дело (по модели TCP/IP) уровня приложения. И у нас имеется отлично работающая реализация - ssl/tls.
> Компрессия и шифрование данных это дело (по модели TCP/IP) уровня приложения.
> И у нас имеется отлично работающая реализация - ssl/tls.А также необходимость переписывать, перекомпилировать и пересобирать все приложения для поддержки этих функций. Когда-то раньше контроль за доставкой данных тоже возлагался на приложения, а потом появился TCP, против которого тоже возражали отдельные критики, мотивируя это тем, что приложение сможет более эффективно использовать полосу пропускания (в ряде случаев ответ на запрос можно расценивать как подтверждение приёма данных, что избавляет нас от необходимости посылать отдельный пакет-квиток о получении данных).
Я может чутка забыл концепцию TCP/IP, но что то мне подсказвает что старые программы работают поверх VPN с шифрацией вполне так без перекомпиляции и поддержки шифрации со стороны самой программы.