Test af UDP pakke tab / korrupt pakke levering

Netværks  d.  15. oktober. 2018, skrevet af Xoferif
Vist: 856 gange.

Xoferif
 
Overclocker
Tilføjet:
15-10-2018 15:19:30
Svar/Indlæg:
464/7

Halløj herinde..


Jeg står og skal teste hvordan nogen af vores produkter her på jobbet håndtere tab af halv vigtig udp pakker. 


og må krybe til korset, og sige at programmeringsvis (med en pc og 2 netkort, linux mm) så er jeg ikke dygtig nok til dette.

plus at så tror jeg at en noget mere offiel test vil være bedre at have til produktet...


nogen der kender til noget i denne kaliber?

Klump
 
Elitebruger
Tilføjet:
15-10-2018 15:42:07
Svar/Indlæg:
447/2

Prøv https://jagt.github.io/clumsy/

Der kan du simulere pakketab, lag osv på en specifik protocol 



ICE-Cool
 
Elitebruger
Tilføjet:
15-10-2018 20:15:36
Svar/Indlæg:
3799/43

Vigtige pakker og udp, høre ikke sammen. 


UDP er en forbindelseløs protokol, dvs. At den er designet til at sende data, hvor at tabte datapakker ikke har nogen betydning, så derfor egner den bedst til stramning, spil, Webcam og ip telefoni. Da pakkerne ikke bliver gensendt, da modtager ikke sender nogle kvittering. 


TCP, er en forbindelse orienteret protokol hvilket gør at den sender en kvittering, når at pakken er modtaget, og hvis at den mangler en pakke, så bliver den gensendt, da dataene ellers ikke vil kunne læses. 



Xoferif
 
Overclocker
Tilføjet:
16-10-2018 08:36:32
Svar/Indlæg:
464/7

#2 i know, men vores controller benytter sig af begge, hvor tcp er alle de vigtigste data der bliver sendt imellem dem, som Hz, og volt, og hvilke powerrange de skal virke i.


og så har vi noget der hedder PMS (Plant Management System) som holder styr på hvilke controllere der er på netværket, deres position, og nogle andre små data (alt efter mængden af data er det et sted imellem 1500-200 bytes af hvad jeg lige kan læse mig frem til) som bliver sendt over multicast, så hvis disse pakker ikke bliver sendt/korrupte eller ligende skal vi have nogen specifikke fejlmeldseleler. 


deraf kunne jeg godt tænke mig af vide hvad der findes af løsninger til enten at 'sniffe' en pakke og så ændre i den og sende den ud igen som en korrupt fil.

eller, et stykke hardware som sidder imellem controllerne og enten fjer udp pakker eller beskadiger dem.




Sven
 
Superbruger
Tilføjet:
16-10-2018 11:12:23
Svar/Indlæg:
3661/82

Vigtige pakker og udp, høre ikke sammen. 


UDP er en forbindelseløs protokol, dvs. At den er designet til at sende data, hvor at tabte datapakker ikke har nogen betydning, så derfor egner den bedst til stramning, spil, Webcam og ip telefoni. Da pakkerne ikke bliver gensendt, da modtager ikke sender nogle kvittering. 


TCP, er en forbindelse orienteret protokol hvilket gør at den sender en kvittering, når at pakken er modtaget, og hvis at den mangler en pakke, så bliver den gensendt, da dataene ellers ikke vil kunne læses. 


Skrev ICE-Cool d. 15-10-2018 20:15:36

Korrekt men meget simplifiecret forklaring.Det er intet i vejen for at sende vigtige pakker over UDP.Blot fordi UDP ikke har en kontrol metode er ikke det samme som at man ikke kan have en selv. og Derved selv kan gensende en tabt pakke.

I hvis tilfaelde kan det vare mere optimalt at brug UDP I stedet for TCP for vigtige pakker og saa haandtere fejl kontrollen.
Isaer mht til store informations maengder per date klump du oensker at sende


martinta
 
Senior Skribent
Tilføjet:
16-10-2018 12:56:33
Svar/Indlæg:
2826/100

#4

Det du skriver er korrekt, vil dog for en ordens skyld tilføje, at UDP også benyttes til trafik, hvor indholdet kun er relevant kort. eks. IP telefoni og Video overvågning hvor du ikke har noget at bruge en pakke til efter få sekunder.


Et gæt 

"som holder styr på hvilke controllere der er på netværket, deres position, og nogle andre små data" 

Kan det tænkes dit program er bygget til at kunne håndtere tabet af pakker uden problemer? udover måske en langsommere live log (rent gæt). 

Derudover så har er der en ting 




deraf kunne jeg godt tænke mig af vide hvad der findes af løsninger til enten at 'sniffe' en pakke og så ændre i den og sende den ud igen som en korrupt fil.

eller, et stykke hardware som sidder imellem controllerne og enten fjer udp pakker eller beskadiger dem.


Du tager ikke "bare" en pakke og ændrer i den, en pakke indeholder tæt på ingenting, for at få data frem kræver det rigtig mange pakker. 

Hvordan er netværket imellem din source og destination? Hvis der sidder en firewall kunne du potentielt blokere trafikken kortvarigt på den UDP port, og se om det kan give dig den test som du beder om.





Xoferif
 
Overclocker
Tilføjet:
16-10-2018 13:32:06
Svar/Indlæg:
464/7

#5 

Heh, du har helt ret, der bliver håndteret hvis pakker ikke kommer frem og vi for en 'missing controller' efter et givent antal pakker ikke kommer frem, og vi kan følge med i hvor mange der ikke kommer frem. 


jeg ved godt jeg 'ikke bare' kan tage en pakke og ændre i den, da både crc data og hop samt alive, også skal passe sammen alt sammen. og at det ikke hjælper bare at tage en enkelt pakke, men nærmere en hel sekvens af dem (vi sender en 50-100 pakker i sekundet alt efter hvilket mode controlleren er i)


id er hvilket controller id den har (vi har op til 64)


Vores controllere er daisy chained sammen i grupper af 4 eller 8 (alt efter tavle størrelse) 



Svaret blev redigeret 4 gange, sidst af Xoferif d. 16-10-2018 14:25:04.