Компания Rateless Research анонсировала (http://slashdot.org/article.pl?sid=04/10/21/1438226) интересное решение по организации транспортного протокола, работающего поверх UDP, не требующего установки соединения и обеспечивающего прекрасную скорость передачи данных.
Суть решения (http://www.rateless.com.nyud.net:8090/rcx1.html) состоит в кодировании (http://www.rateless.com.nyud.net:8090/codes.html) передаваемого потока, используя специальный алгоритм кодирования с коррекцией ошибок, при любом уровне потери пакетов.
Планируется использовать разработку в P2P сетях и для передачи мультимедиа информации.URL: http://www.rateless.com.nyud.net:8090/rcx1.html
Новость: http://www.opennet.me/opennews/art.shtml?num=4540
>Суть решения состоит в кодировании передаваемого потока, используя специальный алгоритм >кодирования с коррекцией ошибок, при любом уровне потери пакетовЭто значит что если вообще ничего не отправлять,
то данные всё равно дойдут?
Нет если совсем ничего, то не дойдут, а вот если служебные заголовки пакетов с адресной информации то дойдут :-)
В принципе все к этому идет.
У TCP/IP много недостатков, но перевести всех разом на новый протокол (даже на IPV6) невозможно.Думаю следующие 10-15 лет будут посвящены переходу на всяческие прокладки и плаживания костылей к старому доброму стеку TCP/IP.
а UDP у нас это не TCP/IP? :)
>а UDP у нас это не TCP/IP? :)
Интересно, а как может быть UDP - TCP/IP, если UDP - это UDP/ip? :)
Моя задачка, которую я даю студентам в МФТИ:
"Беру Windows, добавляю в неё "протокол TCP/IP. Сколько реально добавилось протоколов? Перечислить их поимённо."Желающие могут ответить здесь.
Не совсем чёткая формулировка, КАКИХ протоколов? :)
>Не совсем чёткая формулировка, КАКИХ протоколов? :)+= в каком windows? :)
ps: я так понимаю, теперь в ВУЗах учат сетевым технологиям на уровне "в windows в окне настройки сетевых протоколов нажмите галочку xxx" ? o tempore o mores..
// wbr
butcher:
> Не совсем чёткая формулировка, КАКИХ протоколов? :)А какие Вы знаете? Огласите весь список! :)
klalafuda:
> += в каком windows? :)Ладно, дам мой ответ:
IP, ARP, TCP, UDP, ICMP, DHCP (клиент), DNS (клиент), WINS (клиент).
Протоколы HTTP, FTP и Telnet реализованы в отдельных программах.
Может, я что-то и забыл...klalafuda:
> ps: я так понимаю, теперь в ВУЗах учат сетевым технологиям на уровне "в windows
> в окне настройки сетевых протоколов нажмите галочку xxx" ? o tempore o mores..Ну, мои студенты галочку xxx сами ставить умеют. А вот что при этом происходит - представляют довольно слабо.
toor99:
> PPP находится и на 2 и на 3 уровнях. Учите матчасть.
> HTTP находится на 5,6 и 7 уровнях. Учите матчасть.Если Вы правы, то это доказывает непригодность модели OSI к описанию реально работающих сетей. Но я бы попросил подробнее объяснить, какие функции PPP позволяют ему залезть на третий уровень. А SLIP тоже туда залезает?
Если HTTP залезает на шестой и даже на седьмой уровень, то какие уровни занимают FTP, SMTP, POP, IMAP, Telnet, SSh? Тоже залезают?
>
>toor99:
>> PPP находится и на 2 и на 3 уровнях. Учите матчасть.
>> HTTP находится на 5,6 и 7 уровнях. Учите матчасть.
>
>Если Вы правы, то это доказывает непригодность модели OSI к описанию реально
>работающих сетей. Но я бы попросил подробнее объяснить, какие функции PPP
>позволяют ему залезть на третий уровень. А SLIP тоже туда залезает?Я вижу, вы так и не последовали моему совету изучить матчасть.
Хорошо, даю подсказку. В состав PPP (который вроде бы L2) входят еще и управляющие протоколы. Например, Link Control Protocol, LCP. и эти протоколы относятся уже к L3.
По поводу HTTP и прочего - оставляю вам для самостоятельной проработки. В крайнем случае, спросите у ваших студентов - мне что-то подсказывает, что некоторые из них разбираются в теории значительно лучше вас.
Литература для самостоятельного изучения: "Interconnecting Cisco Network Devices (ICND)". Усиленно рекомендую, это пособие как раз для вашего уровня.
IMHO, это не имеет отношения к замене протокола TCP, ибо данное решение ориентировано не на соединение "точка-точка", а на мультикастовое вещание в рельном времени, когда невозможно заказать повторную передачу потерянного пакета.Что же касается улучшения TCP, то тут я бы предложил встроить прямо в протокол функции компрессии и шифрования трафика. Можно без проблем обеспечить совместимость: при установлении соединения клиент в дополнение к стандартным параметрам предлагает набор поддерживаемых им протоколов компрессии и шифрования, а сервер отвечает, каким методом следует воспользоваться. Клиент при этом может ориентироваться также на тип передаваемых данных (передаётся при запросе на открытие сессии).
ИМХО, не стоит. Это дело прикладных протоколов.
> Что же касается улучшения TCP, то тут я бы предложил встроить
> прямо в протокол функции компрессии и шифрования трафика
Есть такая хорошая вещь, как модель OSI. Придуманная людьми, которые всяко были не глупее Вас.
>> Что же касается улучшения TCP, то тут я бы предложил встроить
>> прямо в протокол функции компрессии и шифрования трафика
>Есть такая хорошая вещь, как модель OSI. Придуманная людьми, которые всяко были
>не глупее Вас.OSI - идеализированная теоретическая модель. Как показало время, очень тяжело притягивается к практике.
> Есть такая хорошая вещь, как модель OSI. Придуманная людьми, которые всяко были не глупее Вас.Как-то высокомудрые дядьки собрались и придумали семиуровневую модель OSI, по которой следовало строить сЕти. Некоторые люди стали строить сЕти по этим указаниям, и в результате получилось что-то дорогое, медленное и ненадёжное. Так что сейчас "модель OSI" - это что-то типа "модели абсолютно твёрдого тела", т.е. некое приближение к реальности, которое иногда отображает реальность более-менее прилично, а иногда очень плохо.
Пример: целостность доставки данных используется как на уровне модемов с MNP-5 (первый уровень модели OSI), так и на уровне X.25/FrameRelay/ATM (второй уровень модели OSI) и на уровне TCP (четвёртый уровень модели OSI). И это реально работает, в отличие от OSI-based сетей, о которых никто не слышал, ибо они все умерли.
Вы, вообще-то, поняли, что я хотел Вам сказать? Сдаётся мне, что нет.
Поясняю: сжатие данных тоже может использоваться и на L1 (модем), и на L2/L3 (PPP), и на L6 (HTTP); в результате наблюдается бардак и массовый отказ от применения сжатия вообще.
Модель OSI, уважаемый, нужна не для того, чтобы Вам было о чем спрашивать студентов на экзамене, и не для того, чтобы "строить по ней дорогие и ненадежные сети" - по ней сети не строят, это не схема и не чертеж. Она нужна для того, чтобы четко разделить функции сетевых протоколов, в том числе и тех, которые только разрабатываются.
>Что же касается улучшения TCP, то тут я бы >предложил встроить прямо в протокол функции >компрессии и шифрования трафика. Можно без >проблем обеспечить совместимость: при >установлении соединения клиент в дополнение к >стандартным параметрам предлагает набор >поддерживаемых им протоколов компрессии и >шифрования, а сервер отвечает, каким методом >следует воспользоваться. Клиент при этом может >ориентироваться также на тип передаваемых данных >(передаётся при запросе на открытие сессии).хм... а что это разве не IPSEC ?
sauron:
> хм... а что это разве не IPSEC ?IMHO, IPSec - это VPN, т.е. ещё и авторизация по имени/паролю; а это (при использовании вместо TCP) уже несовместимо с уже существующими TCP-based протоколами.
>sauron:
>> хм... а что это разве не IPSEC ?>IMHO, IPSec - это VPN, т.е. ещё и авторизация по имени/паролю
Какая хорощая иллюстрация к Вашему непониманию этой набившей оскомину 7-уровневой модели... IPSec - это L3. Где там может быть авторизация по имени/паролю, скажите пожалуйста? В каком она там месте?
toor99:
> сжатие данных тоже может использоваться и на L1 (модем), и на L2/L3 (PPP), и на L6 (HTTP);С каких это пор PPP залезает на третий уровень модели OSI, если он между модемом (физический уровнень) и IP (сетевой уровнень)?
Как HTTP оказался на шестом уровне, если он работает поверх TCP (четвёртый уровень)?> в результате наблюдается бардак и массовый отказ от применения сжатия вообще.
И потому следует внести сжатие в наиболее часто используемый протокол, благо потоковый тип взаимодействия позволяет получить наибольшую степень компрессии.
> Модель OSI нужна для того, чтобы четко разделить функции сетевых протоколов, в т.ч. и тех, которые только разрабатываются.
А марксизм-ленинизм нужен для того, чтобы по нему обустраивать государства, в т.ч. и те, которые только организуются. :)
> IPSec - это L3. Где там может быть авторизация по имени/паролю, скажите пожалуйста? В каком она там месте?
Если это L3, то он должен заместить собой IP (вытеснить его) - сомневаюсь, что это так.
То, что я читал про "IPSec в Windows", создало у меня впечатление, что IPSec скорее ориентирован на пакетную фильтрацию - и в таком случае это вообще не протокол. При обеспечении безопасности есть много методов, каждый из которых противодействует разным методам атак. Объясните мне, что такое делает IPSec сверх того, что делают VPN и IP-FireWall.
>С каких это пор PPP залезает на третий уровень модели OSI, если
>он между модемом (физический уровнень) и IP (сетевой уровнень)?PPP находится и на 2 и на 3 уровнях. Учите матчасть.
>Как HTTP оказался на шестом уровне, если он работает поверх TCP (четвёртый уровень)?
HTTP находится на 5,6 и 7 уровнях. Учите матчасть.
>Если это L3, то он должен заместить собой IP (вытеснить его) -
>сомневаюсь, что это так.IPv6. Учите матчасть.
>То, что я читал про "IPSec в Windows", создало у меня впечатление,
>что IPSec скорее ориентирован на пакетную фильтрацию - и в таком
>случае это вообще не протокол. При обеспечении безопасности есть много методов,
>каждый из которых противодействует разным методам атак. Объясните мне, что такое
>делает IPSec сверх того, что делают VPN и IP-FireWall.RFC1825,RFC 2401.
Чтением вслух я вас развлекать не собираюсь.
>То, что я читал про "IPSec в Windows", создало у меня впечатление,
>что IPSec скорее ориентирован на пакетную фильтрацию - и в таком
>случае это вообще не протокол. При обеспечении безопасности есть много методов,
>каждый из которых противодействует разным методам атак. Объясните мне, что такое
>делает IPSec сверх того, что делают VPN и IP-FireWall.
И эти люди дают задачи студентам.... Ужас.VPN это название технологии. VPN можно реализовать на IPsec, pptp, ssl и кучей других способов. Так что спросить "что такое делает IPSec сверх того, что делают VPN и IP-FireWall" можно только абсолютно не разбираясь в предмете.
Кроме того читать про "IPsec в Windows" вообще не следует людям с неустойчивой психикой. Сначала нужно посмотреть на нормальные реализации (Cisco, *SWAN, Kame), а потом думать как это г. заставить работать как надо.
tcp 6 TCP # transmission control protocol
udp 17 UDP # user datagram protocol
ipv6-crypt 50 IPv6-Crypt # Encryption Header for IPv6
ipv6-auth 51 IPv6-Auth # Authentication Header for IPv6Вот 50 и 51 протокол и есть IPsec.
>>То, что я читал про "IPSec в Windows", создало у меня впечатление,
>>что IPSec скорее ориентирован на пакетную фильтрацию - и в таком
>>случае это вообще не протокол. При обеспечении безопасности есть много методов,
>>каждый из которых противодействует разным методам атак. Объясните мне, что такое
>>делает IPSec сверх того, что делают VPN и IP-FireWall.
>
>
>И эти люди дают задачи студентам.... Ужас.
>
>VPN это название технологии. VPN можно реализовать на IPsec, pptp, ssl и
>кучей других способов. Так что спросить "что такое делает IPSec сверх
>того, что делают VPN и IP-FireWall" можно только абсолютно не разбираясь
>в предмете.
>
>Кроме того читать про "IPsec в Windows" вообще не следует людям с
>неустойчивой психикой. Сначала нужно посмотреть на нормальные реализации (Cisco, *SWAN, Kame),
>а потом думать как это г. заставить работать как надо.
>
>tcp 6
>TCP
> # transmission control protocol
>udp 17 UDP
>
> # user datagram protocol
>ipv6-crypt 50
>IPv6-Crypt # Encryption Header for IPv6
>
>ipv6-auth 51
> IPv6-Auth # Authentication Header
>for IPv6
>
>Вот 50 и 51 протокол и есть IPsec....кстати, в Windows IPSec разработан совместно с Cisco
>>sauron:
>>> хм... а что это разве не IPSEC ?
>
>>IMHO, IPSec - это VPN, т.е. ещё и авторизация по имени/паролю
>
>Какая хорощая иллюстрация к Вашему непониманию этой набившей оскомину 7-уровневой модели... IPSec
>- это L3. Где там может быть авторизация по имени/паролю, скажите
>пожалуйста? В каком она там месте?
Какая, нахрен, авторизация? Аутентификация... Вот так вот документацию нынче и переводят...
>IMHO, IPSec - это VPN, т.е. ещё и авторизация по имени/паролю;В IPSec при типе соединения transport, как раз он самый и происходит, причём весьма прозрачно для всего сетевого хозяйства, а VPN строится несколь тначе. IPv6 содержит нативную поддержку IPSec.
config setup
interfaces="ipsec0=eth0:0"
...
...
conn conn_1
type=transport
compress=yes
left=172.16.10.254
leftid=172.16.10.254
right=172.16.10.50
rightid=172.16.10.50
authby=rsasig
...
...
auto=start
Интересно, как они решают проблему, если аппаратный фильтр откидывает битый пакет в любом случае. И как ни шифруй выше уровнем - только если избыточность пакетов будет превышать кол-во битых пакетов - будет всем ччастье. Или неччастье. На узлах с строгими правилами QoS такой траффик будет создавать паразитную загрузку и при перегрузке откидываться, вообще путая всё. Хотелось бы мат. выкладки увидать.
Матвыкладки у них на сайте есть ... В разделе Library. А вот целесообразность применения их разработок пока очень оправдана на тех линках, где существует большая задержка, а полосу хочется занять всю.Допустим, при задержке 80 мс и полосе 10 Мбит/с, одна tcp сессия никогда не сможет утилизировать все 10 Мбит/с, поэтому либо переписывать софт на много-сессионность, либо применять UDP в качестве транспортного протокола, у которого нет этих милых вещей типа flow control, congestion avoidance, exponential backoff и т.д. :)
>Допустим, при задержке 80 мс и полосе 10 Мбит/с, одна tcp сессия
>>Допустим, при задержке 80 мс и полосе 10 Мбит/с, одна tcp сессия
>
>http://rfc.sunsite.dk/rfc/rfc1323.htmlwindow_size = bandwidth * delay
Как вы собираетесь обходить проблему с максимальным размером окна у виндов ?