-
1. Data: 2010-02-18 11:02:22
Temat: AVR i pakiegy ARP
Od: "grundolf" <g...@p...onet.pl>
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
-
2. Data: 2010-02-18 12:52:23
Temat: Re: AVR i pakiegy ARP
Od: Adam Dybkowski <a...@4...pl>
W dniu 2010-02-18 12:02, grundolf pisze:
> 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.
-
3. Data: 2010-02-18 13:26:13
Temat: Re: AVR i pakiegy ARP
Od: "grundolf" <g...@p...onet.pl>
> 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
-
4. Data: 2010-02-18 13:35:55
Temat: Re: AVR i pakiegy ARP
Od: "Marcin Wasilewski" <j...@a...pewnie.je.st>
Użytkownik "grundolf" <g...@p...onet.pl> napisał w wiadomości
news:5065.00000232.4b7d1e3e@newsgate.onet.pl...
> 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.
-
5. Data: 2010-02-22 20:16:37
Temat: Re: AVR i pakiegy ARP
Od: Adam Dybkowski <a...@4...pl>
W dniu 2010-02-18 14:35, Marcin Wasilewski pisze:
>> 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.