On Mon, Dec 05, 2016 at 03:40:38PM +0200, Marian Marinov wrote: > On 12/05/2016 02:06 PM, Григор wrote: > > Изобщо не мога да схвана как точно го пресмятат. Пробвах някакви функции за > > пресмятане на crc16 но винаги дава грешен резултат. > > > > получената информация е: > > efbeadde1b0131ffd8054843363954611143454 > > 00000 > > 6c > > 00011800 > > 0119 > > 0000000000000000000000000000000000000000 > > b343 > > > > Където b343 <crc> #на горната > > > > Ако някой се е занимавал с това да удари едно рамо. Ще черпя. > UDP използва pseudo IP header за пресмятане на checksums: > > http://www.tcpipguide.com/free/t_UDPMessageFormat-2.htm > > Информация за самите сметки(padding-а е важен): > > http://images.slideplayer.com/15/4794330/slides/slide_54.jpg
Струва ми се, че Григор има предвид нещо по-различно: май говори за това, че в *данните*, предадени в UDP пакета, има някакво CRC на по-високо ниво, изчислявано от програмите, които си прехвърлят тези данни. Лошото е, че в такъв случай не е много ясно какво изобщо може да се разбере - като начало, не е ясно дали CRC-то е върху *всички* данни в пакета или, още по-зле, дали не е и върху някакви други данни - т.е. дали в пресмятането не участват някакви данни, които не са в този пакет (пореден номер на пакета, ID на едната или другата страна, фаза на луната, знае ли човек). Да не говорим за това, че не знаеш какъв е полиномът, не знаеш дали трябва да размениш тук-там някой байт (дали преди пресмятането някой не обръща нещата от единия в другия byte order), и всякакви такива щуротии :( Поздрави, Петър -- Peter Pentchev r...@ringlet.net r...@freebsd.org p...@storpool.com PGP key: http://people.FreeBSD.org/~roam/roam.key.asc Key fingerprint 2EE7 A7A5 17FC 124C F115 C354 651E EFB0 2527 DF13
signature.asc
Description: PGP signature
_______________________________________________ Lug-bg mailing list Lug-bg@linux-bulgaria.org http://linux-bulgaria.org/mailman/listinfo/lug-bg