|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Окт 27, 2003 14:45:55 Есть два компа, две сетевых карты. Задача передать с одного компа на другой данные (файл) таким образом, чтобы было минимальное количество заголовково. В идеале — чистый файл и сохранить его на другом компе. Сокеты и остальное не предлагать :). Именно канальный уровень. Если есть какие доки по этому или предложения рад буду почитать. PS Это что придется свой драйвер для сетевухи писать? |
|
|
Дата: Окт 27, 2003 17:36:09 Что ты подразумеваешь под канальным уровнем? Данные передающиеся непосредственно в среде? Если да, то тогда тебе нужно писать свою сетевую карту. Т.к. размер Ethernet-фрейма определяется картой а не драйвером. Причем эти значения исходят из физических свойств среды. Читай В.Г. Олифера. Если ты имеешь ввиду транспорт прикладного уровня, то юзай raw_sockets. по крайней мере ты тогда избежишь передачи IP-хедеров. Но тогда тебе придется самому реализовывать скользящие окна и прочее. И опять вернешься к тому же -) В общем - минимальное количество заголовков, доступное юзеру - это Raw sockets. |
|
|
Дата: Окт 27, 2003 19:06:56 · Поправил: Quantum JIocb Задача передать с одного компа на другой данные (файл) таким образом, чтобы было минимальное количество заголовково. В идеале — чистый файл и сохранить его на другом компе. Заголовки обеспечивают маршрутизацию и гарантируют целостность пакета. Если оба компа находятся в одной сети и больше в этой сети никого нет, можете отправить файл через UDP (заголовков меньше). ЗЫ: Действительно, канального уровня в OSI и TCP/IP нет и никогда не было. |
|
|
Дата: Окт 27, 2003 22:10:42 · Поправил: van JIocb Корректней сформулируй задачу. Зачем нужно мало заголовков? Канальный уровень - это уже NDIS. Можно написать свой протокол(или фильтр на протокол). Если фильтр, то можно поставить обработчик, который посылает пакеты Max size.Но в случае с загруженной сеткой это ненадёжно. Quantum Действительно, канального уровня в OSI и TCP/IP нет и никогда не было. Почему? В TCP/IP нет, а в OSI как раз есть. По Олиферу: 1)Физический(коаксил,например) 2)Канальный(802.5(Ethernet),802.3,X.25,FDDI etc) 3)Сетевой(IP в случае TCP/IP) 4)Транспортный (TCP) 5)Сеансовый(TCP) 6)Представительный(HTTP например) 7)Прикладной(тот же HTTP например) |
|
|
Дата: Окт 28, 2003 06:10:38 van 2)Канальный(802.5(Ethernet),802.3,X.25,FDDI etc) Никогда бы не подумал, что "data link" переводится как "канал". Приму к сведению... Наверное у JIocb нет сети... Но даже в таком случае проще организовать подсеть, чем извращаться с сетевой картой. |
|
|
Дата: Окт 28, 2003 07:30:41 Quantum проще организовать подсеть, чем извращаться с сетевой картой. Да, так будет проще, чем писать свой минипорт с фильтром |
|
|
Дата: Окт 29, 2003 12:27:15 Возможно стоит разобраться с NDIS... (ответ самому себе) |
|
|
Дата: Ноя 4, 2003 13:02:26 Теперь ещё один вопрос: есть у кого документация по NDIS на русском. А то я задолбался читать DDK на английском — слова вроде все знаешь, а смысл ускользает. |
|
|
Дата: Ноя 4, 2003 15:16:11 ммм... "там же все слова из С" . Попробуй взять исходники winpcap библиотеки. |
|
|
Дата: Ноя 4, 2003 17:14:23 JIocb На русском нет. В DDK действительно с первого раза непонятно. На английском более понятно - у Руссиновича сотоварищи. Но там в основном концепция. Так что DDK рулит. Постараюсь в течении 10 - 13 дней дописать-таки статью по NDIS. Но если решил писать свой минипорт, то это нелёгкое занятие.Не в смысле понимания, а в смысле кодинга. В статье по фильтрации сетевого траффика я указывал на это. И MP* и Pt* функции достаточно обширны и их не так уж мало. И ещё нужно писать свой inf-файл для установки твоего минипорта + протокола. Если хочешь посмотреть на Cишную реализацию, то с DDK поставляются примеры. А вообще NDIS Intermediate Driver - не самое эффективное решение. |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.082 |