Re: Připojovani k serveru
Pavel Hudecek
edizon na seznam.cz
Neděle Červen 5 14:29:34 CEST 2016
Není to prostě tak, že PLC neopakuje požadavky, když nepřijde odezva?
PLC pošle první paket, ten se ztratí a tím to skončí.
PC pošle paket, ten se ztratí, tak po timeoutu pošle další, ... nakonec se
spojení naváže.
PH
-----Původní zpráva-----
From: Martin Záruba
Ty pakety jsou opravdu malé, prakticky všechny jsou do 80byte.
Té druhé části moc nerozumím. Ještě zopakuji: lokálně to funguje vždy.
Přes internet jsem to zkoušel přes tři různá připojení a na velmi
pomalém (EDGE) i docela svižném (5MBit) se to chová úplně stejně. Pokud
se to chytne, už to funguje bez problémů.
Mám pocit, že problém je v rychlosti odezvy. Pokud totiž připojím PLC
přes router, ale přímo do lokální sítě, tak to funguje vždy. Pokud to
ale jde po internetu, nedostane se požadavek na navázání spojení
(většinou) vůbec k serveru. Pokud ale stejnou cestou připojím program v
PC v režimu klienta, připojí se k serveru vždy. Není to tedy tím, že PLC
dostane odpověď tak pozdě, že se na to vykašle, protože ten požadavek se
vůbec nedostane k serveru. Dal jsem soubor z routeru (PC) kam je
připojeno PLC na www.ekovy.cz/data.pcapng
PLC má IP 192.168.137.13 , je připojena k PC k rozhraní 192.168.137.1
To posílá data do internetu, na server, který běží na adrese
81.90.250.131 Veškerá komunikace je na portu 21002 Do wiresharku jsem
dal filtr tcp.port==21002 ale stejně tam jsou i jiné pakety, něco dělám
blbě.
Od začátku až po paket 5981 je případ, kdy se spojení podařilo navázat a
v Data vidím jasně moje data (začínají EK).
Pak jsem PLC vypnul a počkal, až na serveru proběhl timeout a znovu jej
zapnul. Nyní se již spojení nenavázalo.
Martin Záruba
Dne 5.6.2016 v 13:05 Zdeněk Aster napsal(a):
> No ono uz i ta delka maximalni paketu 1056 o ledascem spatnem svedci.
> Nicmene male pakety by nemel byt problem.
> Jeste me napada nemuze si to nejak blbe rozumet s default gatway, na jakou
> adresu ty pakety jdou a jakou adresu ma ten router a to pc a plc?
>
> Zdenek Aster
>
> ---------- Původní zpráva ----------
> Od: iko <iko.ikoon na gmail.com>
> Komu: HW-news <hw-list na list.hw.cz>
> Datum: 5. 6. 2016 12:58:32
> Předmět: Re: Připojovani k serveru
>
>
> TTL tam je 255
>
> ale to PLC ma velmi divnu komunikaciu, uz pri SYN su same
> retransmisiomy, a out of order. Taky chaos som uz dlho nevidel.
>
> Dňa 5. júna 2016 12:34:06 SELČ používateľ "Martin Záruba"
> <swz na volny.cz> napísal:
>
> Kde najdu v paketu TTL?
>
> Martin Záruba
>
> Dne 5.6.2016 v 12:01 Pavel Hudecek napsal(a):
>
> Též bych doporučil jako první zkoumat TTL v PLC. PH
> *From:* iko <mailto:iko.ikoon na gmail.com> Skoro si myslim
> ze to PLC to ma nejak odflaknute... Napadlo ma, vedeli by
> ste zistit ake TTL nastavuje to PLC? TTL je time to live,
> cislo v pakete, ktore urcuje zivotnost paketu. Na kazdom
> routri sa znizi o 1 a ked je 0, paket sa zahodi. Ak by PLC
> nastavovalo nizke, tak paket moze byt cestou normalne
> skartovany. Dňa 5. júna 2016 9:59:00 SELČ používateľ
> "Martin Záruba" <swz na volny.cz> napísal: Tak jsem uchodil
> wireshark na serveru a v případě připojení programem chodí
> pakety, kde poznám jasně oblast Data, v případě, kdy se má
> připojit PLC nepřijde nic (ani SYN). Takže server za to
> nemůže. Martin Záruba Dne 5.6.2016 v 8:43 iko napsal(a): a
> co na to wireshark na strane serveru? pride aspon SYN
> paket? Dňa 5. júna 2016 7:51:50 SELČ používateľ "Martin
> Záruba" <swz na volny.cz> napísal: Zřejmě je problém v
> okamžiku, kdy PLC má vytvořit spojení. PLC jde nastavit
> jako klient nebo server. Režim server chodí bez problémů,
> ale vyžaduje veřejnou IP na straně PLC. V režimu klient
> jde samozřejmě zadat IP adresu serveru, port a dále je zde
> volba Active Connect, kde je zvoleno Autostart.
> Předpokládám, že to způsobí vytvoření kanálu k serveru.
> Ale jen někdy. Jiné nastavení už zde není. Martin Záruba
> Dne 5.6.2016 v 7:39 Zdeněk Aster napsal(a): No já nevím
> takhle podobně se fakt chová MTU, nejde o velikost dat co
> posíláte vy, ale jak to rozdělí obsluha operačního
> systému. A pokud to PLC ma nastavené pakety ethernetu,
> který mají MTU 1500, a jakmile mam v ceste nekde pppoe uz
> je hodnota jen 1492. Je to maximalni paket, ktery lze
> protlacit cestou, nezavisi na tom odeslani dat v programu
> to jsme resili minule Vy nevité jak to operacni system
> naseká na kousky ani to člověka nezajíma. Ale routry jo
> pokud je paket delší než mtu, tak většinou to ten router v
> cestě zahodí. Fakt nemůžete zkusit nějaký paket z toho PLC
> třeba jen pár bajtů. Na pocitaci to clovek vetsinou pozna
> tak, ze mu to preklada DNS, (male dotazy) ale nejedou
> treba webove stranky a podobne. Zdeněk Aster ----------
> Původní zpráva ---------- Od: Martin Záruba <swz na volny.cz>
> Komu: HW-news <hw-list na list.hw.cz> Datum: 5. 6. 2016
> 7:28:59 Předmět: Re: Připojovani k serveru Ano, je to TCP,
> ale problém je, že server vůbec nezaregistruje pokus o
> otevření portu. Pokud ale totéž udělá PC ze stejného
> připojení, server zaznamená pokus o připojení. Zkusil jsem
> to i z jiného připojení přes jiného poskytovatele
> internetu a chová se to stejně. Mě úplně není jasné, jak
> se vlastně vytváří spojení přes několik routerů. Pokud v
> programu na PC zavolám TCP.Connect(FIPInterface, FIPPort),
> vzdálený server zaregistruje otevření portu. A to muselo
> projít přes několik routerů. Pokud ale totéž udělá PLC,
> zaregistruje to server jen někdy. Takže problém nastává
> dříve, než nějaký paket vůbec odešlu. Myslím proto, že ve
> velikosti paketu to nebude, z PC to funguje ať odesílám
> pár byte nebo několik MB Martin Záruba Dne 5.6.2016 v 7:13
> Zdeněk Aster napsal(a): No ten popis je dost obecný na
> nějakou rozumnou diagnostiku, předpokládám, že jde o TCP
> protokol, když se tu nedávno řešil server. Jediné co mě
> napadá je nastavení MTU, jak velký je ten paket co
> neprojde. Mužete zkusit nějaký opravdu krátký paket na
> odladění? Zdeněk Aster ---------- Původní zpráva
> ---------- Od: Martin Záruba <swz na volny.cz> Komu: Martin
> Zaruba <hw-list na list.hw.cz> Datum: 5. 6. 2016 5:41:04
> Předmět: Připojovani k serveru Mám program v režimu server
> IP. Připojuje se k němu jiný program v režimu klient -
> funguje. Připojuje se k němu PLC v režimu klient -
> funguje. Toto vše, ale jen pokud pracuji na lokální síti.
> Server má veřejnou IP a z internetu se k němu program bez
> problému a vždy připojí. PLC ale jen někdy. Ve většině
> případů server nezaznamená vůbec pokus o připojení od PLC.
> Někdy ale ano. PLC vždy bez problémů získá vše z DHCP
> serveru, nebo jsem zkusil vše nastavit natvrdo a chová se
> to stejně. Vypadá to, že požadavek na připojení od PLC
> většinou neprojde přes routery v cestě přes internet. Ale
> pokud totéž dělá program na PC, vždy to funguje. Napadá
> Vás kde hledat problém? Martin Záruba
Další informace o konferenci Hw-list