Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pc:laboratoare:03 [2022/03/15 15:38]
vlad_andrei.badoiu [Sume de control]
pc:laboratoare:03 [2022/03/23 18:33] (current)
vlad_andrei.badoiu [Exerciții]
Line 27: Line 27:
   *         ​beginning at location "​addr"​.   *         ​beginning at location "​addr"​.
   */   */
- register long sum = 0;+ uint32_t ​sum = 0;
  /​* ​  /​* ​
     Move through the buffer two bytes at the time,     Move through the buffer two bytes at the time,
Line 87: Line 87:
 Pentru laboratorul acesta veți folosi scheletul oferit la adresa: [[https://​gitlab.cs.pub.ro/​protocoale-de-comunicatie/​pcom-laboratoare-public/​-/​tree/​master/​lab3|lab3]] Pentru laboratorul acesta veți folosi scheletul oferit la adresa: [[https://​gitlab.cs.pub.ro/​protocoale-de-comunicatie/​pcom-laboratoare-public/​-/​tree/​master/​lab3|lab3]]
  
-1(5p). In funcția inet_csum din schelet, implementați algoritmul Internet Checksum, asa cum este descris ​aici [[https://​datatracker.ietf.org/​doc/​html/​rfc1071#​section-4|Computing the Internet Checksum]]. Verificați ca au fost transmise corect pachetele. **In scriptul ''​run_experiment.sh''​ avem campurile CORRUPTION care manipuleaza rata de corupere a pachetelor.**+1(5p). In funcția inet_csum din schelet, implementați algoritmul Internet Checksum, asa cum a fost descris ​in laborator. Verificați ca au fost transmise corect pachetele. **In scriptul ''​run_experiment.sh''​ avem campurile CORRUPTION care manipuleaza rata de corupere a pachetelor.**
  
 2(3p). In funcția hamming_4to7 din schelet, implementați codarea Hamming, cum a fost descrisa in laborator. Ca input veti primi un byte ce are ultimii 4 biti setati la nibbleul ce trebuie codat, restul bitilor vor fi 0. La output veti returna un byte cu utlimii 7 biti setati la valoare codata a inputului. 2(3p). In funcția hamming_4to7 din schelet, implementați codarea Hamming, cum a fost descrisa in laborator. Ca input veti primi un byte ce are ultimii 4 biti setati la nibbleul ce trebuie codat, restul bitilor vor fi 0. La output veti returna un byte cu utlimii 7 biti setati la valoare codata a inputului.
Line 95: Line 95:
 </​note>​ </​note>​
  
-3(2p). In funcția hamming_7to4 din schelet (in ''​common.h''​),​ implementati decodarea Hamming, cum a fost descrisa în laborator Inputul și outputul vor fi interschimbate fata de cele de la exercițiul 1. Deocamdată nu este necesara calcularea sindromului sau corectarea erorilor.+3(2p). In funcția hamming_7to4 din schelet (in ''​send.c''​),​ implementati decodarea Hamming, cum a fost descrisa în laborator Inputul și outputul vor fi interschimbate fata de cele de la exercițiul 1. Deocamdată nu este necesara calcularea sindromului sau corectarea erorilor.
  
-4(1p). In funcția hamming_7to4 din schelet (in ''​common.h''​),​ implementați corectarea erorilor folosind sindromul. Adaugați erori la poziții aleatoare în pachete. Tratând atât cazul în care are loc o eroare pe octet, cat și mai multe. Observați daca checksum-ul încă este corect.+4(1p). In funcția hamming_7to4 din schelet (in ''​recv.c''​),​ implementați corectarea erorilor folosind sindromul. Adaugați erori la poziții aleatoare în pachete. Tratând atât cazul în care are loc o eroare pe octet, cat și mai multe. Observați daca checksum-ul încă este corect.
  
 <note warning> <note warning>
 Pentru a depana problemele va recomandam crash course-ul de [[https://​ocw.cs.pub.ro/​courses/​programare/​tutoriale/​debugging|Debugging]]. Pentru a depana problemele va recomandam crash course-ul de [[https://​ocw.cs.pub.ro/​courses/​programare/​tutoriale/​debugging|Debugging]].
 +</​note>​
 +
 +<​note>​
 +O posibila solutie a laboratorului se gaseste [[https://​ocw.cs.pub.ro/​courses/​_media/​pc/​laboratoare/​lab3_sol.zip|aici]]
 </​note>​ </​note>​
pc/laboratoare/03.1647351517.txt.gz · Last modified: 2022/03/15 15:38 by vlad_andrei.badoiu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0