реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> minimal UDP/IP-stack, какой он?
ClockworkOrange
сообщение May 17 2007, 12:52
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 337
Регистрация: 17-05-07
Пользователь №: 27 784



вопрос к знатокам:
а что нужно (какая поддержка в движке), чтобы
1) иметь возможность отправлять сообщения по UDP (посредством Ethernet)
2) иметь возможность отправлять и принимать сообщения по UDP (посредством Ethernet)

вопрос родился не не пустом месте, а при изучении талмудов типа:
"Embedded Ethernet and Internet Complete" и
"TCP-IP Lean-Web Servers for Embedded Systems"
ведь помимо самого IP или UDP/TCP существуют такие протоколы как ARP, ICMP - cмущает еще и то ,что в самом теле пакета UDP/IP не содержится МАС-адреса, т.е. мягко говоря не совсем понятно как он будет ходить по сети ((.


--------------------
Чтoбы yзнaть, кaкaя дopoгa впepeди, cпpocи тex, ктo пo нeй вoзвpaщaeтcя ©
Go to the top of the page
 
+Quote Post
zltigo
сообщение May 17 2007, 14:26
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(ClockworkOrange @ May 17 2007, 15:52) *
вопрос..

UDP + ARP. Для абсолютно минмального по Ethernet все.
Цитата
..cмущает еще и то ,что в самом теле пакета UDP/IP не содержится МАС-адреса, т.е. мягко говоря не совсем понятно как он будет ходить по сети ((.

Ходить в Ethernet фрейме, если сеть на Ethernet. Или в чем-то другом, если другая сеть, или вообще без ничего, если, например, точка-точка.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
ClockworkOrange
сообщение May 17 2007, 19:00
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 337
Регистрация: 17-05-07
Пользователь №: 27 784



Цитата(zltigo @ May 17 2007, 18:26) *
UDP + ARP. Для абсолютно минмального по Ethernet все.

Ходить в Ethernet фрейме, если сеть на Ethernet. Или в чем-то другом, если другая сеть, или вообще без ничего, если, например, точка-точка.

что-то не получается понять до конца((

т.е. если точка-точка, то можно напрямую без ARP, а если например через хаб/свич - притом все сидят в одной подсети - тогда?..

слать/приниматьcя пакеты UDP будут только к/от конкретного IP

в самом протоколе есть типы команд:
Код
#define ARPREQ 0x0001 /* ARP request */
#define ARPRESP 0x0002 /* ARP response */

а кто их рассылает ("мастер"?)?.. как часто?.. поддержка каких запосов требуется??

PS: просто для начала хотелось бы почитать что-нить попроще RFC 826. на пальцах понять так сказать


--------------------
Чтoбы yзнaть, кaкaя дopoгa впepeди, cпpocи тex, ктo пo нeй вoзвpaщaeтcя ©
Go to the top of the page
 
+Quote Post
zltigo
сообщение May 17 2007, 19:32
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(ClockworkOrange @ May 17 2007, 22:00) *
что-то не получается понять до конца((
т.е. если точка-точка

Нет. Ethernet, это уже не точка-точка по определению. Точка-точка это, наппимер, RS232.
Цитата
в самом протоколе есть типы команд:

ARP запрос посылает (с broadcast MAC) тот, кто не знает MAC адрес назначения для первой посылки.
Отвечает владелец IP адреса, при этом, естественно он уже отвечает со своим MAC.
Связка MAC<->IP попадает в ARP кэш и хранится там некоторое, определенное конфигурацией, время.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Кнкн
сообщение May 18 2007, 05:55
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 646
Регистрация: 21-06-04
Пользователь №: 71



Цитата(ClockworkOrange @ May 17 2007, 23:00) *
т.е. если точка-точка, то можно напрямую без ARP, а если например через хаб/свич - притом все сидят в одной подсети - тогда?..
слать/приниматьcя пакеты UDP будут только к/от конкретного IP


Если MAC-адреса известны с обоих концов, то можно обойтись и без ARP.
Go to the top of the page
 
+Quote Post
ClockworkOrange
сообщение May 18 2007, 06:10
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 337
Регистрация: 17-05-07
Пользователь №: 27 784



cпасибо за ответы.. немножко уже проясняется..

заодно удалось накопать что-то на русском:
http://book.itep.ru/4/44/arp_446.htm
http://www.protocols.ru/files/RFC/rfc826.pdf

определены МАС и IP со стороны устройства.
Я так понимаю этого д.б. достаточно чтобы на стороне РС в программе , работающей с устройством выполнить:
Код
arp  --set         #   set a new ARP entry

вроде бы так ... ?


--------------------
Чтoбы yзнaть, кaкaя дopoгa впepeди, cпpocи тex, ктo пo нeй вoзвpaщaeтcя ©
Go to the top of the page
 
+Quote Post
zltigo
сообщение May 18 2007, 06:59
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(ClockworkOrange @ May 18 2007, 09:10) *
определены МАС и IP со стороны устройства.
Я так понимаю этого д.б. достаточно чтобы на стороне РС в программе , работающей с устройством выполнить:
Код
arp  --set         #   set a new ARP entry

вроде бы так ... ?

Это как-раз наоборот - определяет со стороны хоста и хосту Вы сказали. А устройство по прежднему не знает MAC хоста.... Конечно и ему забить можно намертво. А вообще, зачем так кастрировать?
Может тогда пойти до конца и вообще общаться голыми Ethenet пакетами?


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Кнкн
сообщение May 18 2007, 12:27
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 646
Регистрация: 21-06-04
Пользователь №: 71



Цитата(zltigo @ May 18 2007, 10:59) *
Конечно и ему забить можно намертво. А вообще, зачем так кастрировать? может тогда пойти до конца и вообще общаться голыми Ethenet пакетами?


Может иметь смысл при аппаратном формировании UDP без программной поддержки.
Передача/прием UDP, а не голых пакетов удобна тем, что позволяет использовать на хосте стандартный интерфейс сокетов.
Go to the top of the page
 
+Quote Post
zltigo
сообщение May 18 2007, 12:31
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Кнкн @ May 18 2007, 15:27) *
Передача/прием UDP, а не голых пакетов удобна тем, что позволяет использовать на хосте стандартный интерфейс сокетов.

RAW Socket, как следует из названия, позволяет работать с тем самым сырым пакетом, правда нюансы типа прав доступа в этом случае имею место быть.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
ClockworkOrange
сообщение May 18 2007, 12:36
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 337
Регистрация: 17-05-07
Пользователь №: 27 784



цель минимальной поддержки (а значит упрощения), как точно подметил Кнкн - аппаратное изготовление пакетов внутри ПЛИС.

и тут хотелось бы найти золотой компромисс - между использованием стандартных стедств и протоколов (поддерживаемых скриптовыми языками типа TCL, Python) и простотой аппаратной реализации с другой стороны.


--------------------
Чтoбы yзнaть, кaкaя дopoгa впepeди, cпpocи тex, ктo пo нeй вoзвpaщaeтcя ©
Go to the top of the page
 
+Quote Post
psL
сообщение May 21 2007, 04:44
Сообщение #11


Знающий
****

Группа: Свой
Сообщений: 526
Регистрация: 5-08-05
Пользователь №: 7 390



вот http://www.fpga4fun.com/10BASE-T0.html мужик с UDP на FPGA развлекается
Go to the top of the page
 
+Quote Post
ClockworkOrange
сообщение May 21 2007, 13:13
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 337
Регистрация: 17-05-07
Пользователь №: 27 784



вроде бы устаканилось в голове по поводу минимальной поддержки ARP. Девайс должен:

1) Уметь отвечать ARP-откликом (код операции = 2) на приходящие ARP-запросы (код операции = 1), (для того чтобы иметь возможность принимать пакеты с любых IP, адресованные ему).

2) Уметь генерировать ARP-запрос (код операции = 1) запоминатьМАС-адрес в принятом пакете ARP-отклика (код операции = 2), (для того чтобы иметь возможность отправлять пакеты на один из IP). по этому пункту некоторые вопросы: как часто вообще в сети принято обновлять ARP-таблицы (слать новые ARP-запросы)?



по поводу fpga4fun:
почитал. в частности: http://www.fpga4fun.com/10BASE-T2.html
там реализовано UDP + MAC + PHY для 10Мбит/с (+ заранее прописаны IPsrc, IPdst, MACsrc, MACdst)

вопрос спецам: одинаков ли МАС-уровень для Ethernet 100M & Ethernet 10M ??
а то слишком уж они МАС "утоптали"; и непонятно - толи это из-за оптимизации под жестко заданный тип пакета, толи из-за более простого МАС для 10М.


--------------------
Чтoбы yзнaть, кaкaя дopoгa впepeди, cпpocи тex, ктo пo нeй вoзвpaщaeтcя ©
Go to the top of the page
 
+Quote Post
ClockworkOrange
сообщение May 21 2007, 20:18
Сообщение #13


Местный
***

Группа: Свой
Сообщений: 337
Регистрация: 17-05-07
Пользователь №: 27 784



просьба к администрации перенести тему в "интерфейсы" -> "Ethernet"


--------------------
Чтoбы yзнaть, кaкaя дopoгa впepeди, cпpocи тex, ктo пo нeй вoзвpaщaeтcя ©
Go to the top of the page
 
+Quote Post
Postoroniy_V
сообщение May 22 2007, 18:53
Сообщение #14


МедвеД Инженер I
****

Группа: Свой
Сообщений: 816
Регистрация: 21-10-04
Пользователь №: 951



Цитата(ClockworkOrange @ May 21 2007, 17:13) *
вроде бы устаканилось в голове по поводу минимальной поддержки ARP. Девайс должен:

1) Уметь отвечать ARP-откликом (код операции = 2) на приходящие ARP-запросы (код операции = 1), (для того чтобы иметь возможность принимать пакеты с любых IP, адресованные ему).

2) Уметь генерировать ARP-запрос (код операции = 1) запоминатьМАС-адрес в принятом пакете ARP-отклика (код операции = 2), (для того чтобы иметь возможность отправлять пакеты на один из IP). по этому пункту некоторые вопросы: как часто вообще в сети принято обновлять ARP-таблицы (слать новые ARP-запросы)?
по поводу fpga4fun:
почитал. в частности: http://www.fpga4fun.com/10BASE-T2.html
там реализовано UDP + MAC + PHY для 10Мбит/с (+ заранее прописаны IPsrc, IPdst, MACsrc, MACdst)

вопрос спецам: одинаков ли МАС-уровень для Ethernet 100M & Ethernet 10M ??
а то слишком уж они МАС "утоптали"; и непонятно - толи это из-за оптимизации под жестко заданный тип пакета, толи из-за более простого МАС для 10М.

Это видели? VHDL IP Stack


--------------------
Cogito ergo sum
Go to the top of the page
 
+Quote Post
CodeWarrior1241
сообщение May 22 2007, 20:49
Сообщение #15


Местный
***

Группа: Свой
Сообщений: 496
Регистрация: 14-03-07
Из: In The District
Пользователь №: 26 165



Цитата(ClockworkOrange @ May 21 2007, 09:13) *
вроде бы устаканилось в голове по поводу минимальной поддержки ARP. Девайс должен:

1) Уметь отвечать ARP-откликом (код операции = 2) на приходящие ARP-запросы (код операции = 1), (для того чтобы иметь возможность принимать пакеты с любых IP, адресованные ему).

2) Уметь генерировать ARP-запрос (код операции = 1) запоминатьМАС-адрес в принятом пакете ARP-отклика (код операции = 2), (для того чтобы иметь возможность отправлять пакеты на один из IP). по этому пункту некоторые вопросы: как часто вообще в сети принято обновлять ARP-таблицы (слать новые ARP-запросы)?

На http://www.sics.se/~adam/uip/index.html есть удобная, в моей практике, stack для TCP/IP - uIP называется. Можно выберать каке фич. нужны для чего, и есть полная документация.


--------------------
In Mozilla, you keep tabs on your browser. In the USSR, your browser keeps tabs on you.
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th June 2025 - 15:04
Рейтинг@Mail.ru


Страница сгенерированна за 0.01483 секунд с 7
ELECTRONIX ©2004-2016