Puncte:1

Este redundant să adăugați o sumă de control suplimentară sau un CRC în pachetele TCP pentru a face posibil ca receptorul să verifice dacă datele sunt aceleași cu cele trimise?

drapel cn

Deoarece TCP conține o sumă de control și stiva TCP/IP va detecta pachetele rupte, este redundant să adăugați o suplimentar checksum sau CRC în pachetele TCP pentru a face posibil ca receptorul să verifice dacă datele sunt aceleași cu cele trimise?

Unii s-au gândit la această întrebare:

1.Se vede foarte frecvent că există o valoare sha256 pentru a verifica consistența la descărcarea fișierelor de pe internet.

2. Suma de control conținută în pachetele TCP poate detecta deja pachetele rupte în majoritatea cazurilor.

3. Protocolul Modbus pentru TCP a renunțat la CRC, care este folosit de protocolul Modubs pentru seriale, deoarece există deja o sumă de control în pachetele TCP.

Deci, sunt chiar confuz acum. Ar putea cineva să facă lumină asupra acestei întrebări?

ADĂUGAT: După căutarea pe google, chiar nu este o întrebare nouă, dar răspunsul încă nu este clar, există două voci opuse despre această întrebare.

Pentru detalii, vezi acestea:

Verificarea CRC efectuată automat pe Tcp/Ip?

Este posibil ca pachetele trimise folosind TCP să ajungă vreodată cu date diferite?

drapel us
suma de control existentă va detecta majoritatea defecțiunilor. HMAC este probabil o abordare mai bună dacă vă faceți griji cu privire la manipularea datelor.
John avatar
drapel cn
@Jasen De ce este HMAC altul decât suma de control CRC sau BSD?
drapel us
hmac este sigur din punct de vedere criptografic - deci, dacă ești îngrijorat de un mian la mijloc, te încurcă cu mesajele tale, HMAC va preveni asta.
Puncte:2
drapel br

Suma de control SHA este utilizată pentru a verifica integritatea, adică dacă datele nu au fost modificate intenționat, în timp ce CRC este menit să protejeze împotriva erorilor de biți.

CRC nu poate fi folosit pentru rezistență la manipulare, deoarece poate fi recalculat trivial după modificarea datelor.

Suma de control TCP este chiar mai simplă decât un CRC, așa că prezența sa este mai mult o formalitate în zilele noastre.Majoritatea protocoalelor la nivel de legătură au propriile lor sume de control sau coduri de corectare a erorilor, astfel încât erorile de biți au devenit puțin probabile, dar erau obișnuite cu legăturile RS-232.

Numai suma de control SHA nu oferă protecție, deoarece trebuie transmisă, dar dacă puteți stabili un canal securizat pentru suma de control, este posibil să utilizați un canal nesecurizat pentru datele în bloc și apoi să îl verificați față de suma de control SHA, și fiți sigur că datele nu au fost modificate.

John avatar
drapel cn
Mulțumesc pentru clarificare. „CRC nu poate fi folosit pentru rezistență la falsificare, deoarece poate fi recalculat trivial după modificarea datelor”. De ce suma de control SHA nu a putut fi recalculată trivial după modificarea datelor?
drapel br
@John, îmi pare rău, a fost o cale greșită. Este posibil să se calculeze date care se potrivesc cu un anumit CRC, dar nu este posibil să se calculeze date care se potrivesc cu o anumită sumă SHA.
John avatar
drapel cn
***Pentru că*** **probabilitatea** de **coliziune** pentru CRC este **mult, mult** mai mare decât SHA. Pot să gândesc în acest fel? Am dreptate?
drapel br
@John, CRC-urile sunt de obicei mai scurte, dar un CRC cu 256 de biți nu ar fi încă rezistent la manipulare, deoarece algoritmul poate fi inversat.
Michael Hampton avatar
drapel cz
@John Un protocol la nivel de legătură este ceva de genul Ethernet, care are deja un CRC pe 32 de biți.
John avatar
drapel cn
@SimonRichter După cum spuneți că suma de control TCP este chiar mai simplă decât un CRC, deci prezența sa este mai mult o formalitate în zilele noastre, în timp ce protocolul Modbus pentru TCP a renunțat la segmentul CRC, care este folosit de protocolul Modubs pentru seriale din cauza faptului că este deja o sumă de control în pachetele TCP. Cum te gândești la asta?

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.