Differences

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

Link to this comparison view

so2:cursuri:curs10:test [2013/02/10 02:10]
127.0.0.1 external edit
so2:cursuri:curs10:test [2013/02/17 09:53] (current)
razvan.deaconescu
Line 1: Line 1:
 ====== Test Cursul 10 ====== ====== Test Cursul 10 ======
  
-1. **De ce procesul de rutare are loc în bottom-half și nu în handler?​** +  ​TODO
- +
-Pentru că handlerul unei rutine de întrerupere trebuie să fie rapid iar căutarea în tabela de rutare ține destul de mult. +
- +
-2. **Ce funcție trebuie folosită pentru a adăuga unui skb informații despre nivelul 2 de rețea: skb_push, skb_pull, skb_trim, skb_put, skb_reserve?​** +
- +
-Cadrul Ethernet conține un antet de 14 octeți și un CRC de 4 octeți __la finalul__ cadrului. Prin urmare, trebuiesc folosite: **skb_reserve**,​ **skb_push** și **skb_put**. +
- +
-http://​vger.kernel.org/​~davem/​skb_data.html +
-  +
-3. **Dacă folosim TSO și putem transmite pachete de maxim 1500 octeți (MTU = 1500) și putem procesa 50K pachete pe secundă care este viteza maximă de transmisie a unei aplicații din user-space (octeți/​s)?​** +
- +
-NU este corect răspunsul cu produsul între cele 2 valori. Aplicația setează o singură dată antetele TCP și IP și trimite cât poate. Presupunând lungimea {{{l}}} a antetelor, la fiecare pachet trimis din cei 1500 de octeți pierdem {{{l}}} pentru că placa de rețea va realiza copierea antetului la care adăugăm _o singură dată_ antetul. Prin urmare, numărul total de octeți trimiși este {{{50K * (1500 - l) + l}}}. Pentru TCP și IPv4 avem un total de {{{l = 20}}} (ignorând toate opțiunile) deci avem maxim {{{~74M}}} octeți pe secundă.+
so2/cursuri/curs10/test.1360455039.txt.gz · Last modified: 2013/02/17 09:53 (external edit)
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