RTV forum PL | NewsGroups PL

Jak wysyłać pakiety UDP bez buforowania na AVR, gdy brakuje adresu MAC?

AVR i pakiegy ARP

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Jak wysyłać pakiety UDP bez buforowania na AVR, gdy brakuje adresu MAC?

grundolf
Guest

Thu Feb 18, 2010 12:02 pm   



Witam.
Próbuję stworzyć prosty serwerek www który ma też być jednocześnie klientem
NTP i stanąłem na stosie w miejscu gdzie są przetwarzane pakiety ARP.
Chodzi o to że mam mało pamięci ram i muszę wysyłać pakiety ARP request bez
buforowania ramek.
Naczytałem się że normalnie jest tak że chcąc wysłać pakiet udp do adresu
192.168.1.1 muszę znać jego adres MAC. Więc sprawdzam w tablicy arp i jak nie
ma to wysyłam ARP request. Buforuję pakiet i czekam na odpowiedź ARP replay.
I właśnie tu jest problem bo jeśli w trakcie tego czekania odbiorę jakiś
pakiet HTTP to nie będę mógł na niego odpowiedzieć bo nadpiszę dane
poprzedniego pakietu UDP. W komputerach z dużą ilością ramu jest to możliwe
ale nie w AVRku.

Moje pytanie.
Czy zgodne z zasadami jest abym pakiety UDP dla adresów IP dla których nie mam
adresu MAC w tablicy wysyłał z adresem docelowym MAC=0xFFFFFFFFFFFF i adresem
ip=192.168.1.1?
Czy w takim przypadku komputer doceolowy powinien odebrać pakiet?
Nie musiałbym buforować pakietów wychodzących.

Ewentualnie czy jest jakieś inne lepsze rozwiązanie?

Dzięki za pomoc
grundolf

--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl

Adam Dybkowski
Guest

Thu Feb 18, 2010 1:52 pm   



W dniu 2010-02-18 12:02, grundolf pisze:

Quote:
Czy zgodne z zasadami jest abym pakiety UDP dla adresów IP dla których nie mam
adresu MAC w tablicy wysyłał z adresem docelowym MAC=0xFFFFFFFFFFFF i adresem
ip=192.168.1.1?
Czy w takim przypadku komputer doceolowy powinien odebrać pakiet?

Powinien odebrać. Datagram przejdzie przez filtr MAC jako skierowany do
wszystkich (broadcast), a potem na poziomie parsowania nagłówka IP
całość zostanie rozpoznana poprawnie. Tyle że tak skonstruowane ramki
nie wyjdą poza sieć lokalną (router nie łyka ramek broadcastowych
zwykle). Ale i tak najpierw sprawdziłbym w praktyce, jak się zachowa
przeciętny pecet.

--
Adam Dybkowski
http://dybkowski.net/

Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.

grundolf
Guest

Thu Feb 18, 2010 2:26 pm   



Quote:
Powinien odebrać. Datagram przejdzie przez filtr MAC jako skierowany do
wszystkich (broadcast), a potem na poziomie parsowania nagłówka IP
całość zostanie rozpoznana poprawnie. Tyle że tak skonstruowane ramki
nie wyjdą poza sieć lokalną (router nie łyka ramek broadcastowych
zwykle). Ale i tak najpierw sprawdziłbym w praktyce, jak się zachowa
przeciętny pecet.

Właściwie znalazłem takie rozwiązanie w bibliotece Procyon AVRlib gdy nie
znajduje wpisu w tablicy arp to wysyłany jest na adres broadcast.
Adres MAC zdalnego hosta zapamiętywany jest tylko w przypadku gdy jest
odpowiedz arp reply lub zapytania arp request.

Z buforowaniem natomiast jest już Ethernut ale tam do dyspozycji jest więcej
ramu, czas oczekiwania ustawiony jest na 500ms.

Pozdrawiam
grundolf

--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl

Marcin Wasilewski
Guest

Thu Feb 18, 2010 2:35 pm   



Użytkownik "grundolf" <grundolf@poczta.onet.pl> napisał w wiadomości
news:5065.00000232.4b7d1e3e@newsgate.onet.pl...

Quote:
Ewentualnie czy jest jakieś inne lepsze rozwiązanie?
Dzięki za pomoc

Zawsze można się pokusić na jakiegoś AVR-ka, którego można pogonić z
zewnętrzną pamięcią RAM, wtedy masz prawie 64K do dyspozycji, a jak się
pokombinuje ze zmianą banków to i wielokrotność tego.

Adam Dybkowski
Guest

Mon Feb 22, 2010 9:16 pm   



W dniu 2010-02-18 14:35, Marcin Wasilewski pisze:

Quote:
Ewentualnie czy jest jakieś inne lepsze rozwiązanie?
Dzięki za pomoc

Zawsze można się pokusić na jakiegoś AVR-ka, którego można pogonić z
zewnętrzną pamięcią RAM, wtedy masz prawie 64K do dyspozycji, a jak się
pokombinuje ze zmianą banków to i wielokrotność tego.

Heh, właśnie taki jest Ethernut 1.3 (ATmega128 + ext RAM + Realtek Eth).

--
Adam Dybkowski
http://dybkowski.net/

Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.

elektroda NewsGroups Forum Index - Elektronika Polska - Jak wysyłać pakiety UDP bez buforowania na AVR, gdy brakuje adresu MAC?

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map