Last modified by Valdis Vītoliņš on 2018/01/15 21:44

Show last authors
1 = 06.06. ICMP ziņojumu apstrāde 4.4BSD vidē =
2
3 {{velocity filter="none"}}
4 {{html clean="false" wiki="true"}}
5 Tā kā ICMP apkalpo tik dažādas situācijas, sākot ar //liktenīgām kļūdām// līdz informatīviem ziņojumiem, katru ICMP ziņojmu apstrādā atšķirīgi pat konkrētas implementācijas ietvaros. #picref("f_6_12.gif", "6.12.attēls") ir #picref("f_6_3.gif", "6.3.attēla") pārveidojums, kas parāda 4.4BSD veikto apstrādi katram no iespējamiem ICMP ziņojumiem.
6 <p/>
7 Ja beigu kolonna norāda kodolu, šo ICMP ziņojumu apstrādā kodols. Ja beigu kolonna norāda "lietotāja process", tad šo ziņojumu padod visiem lietotāju procesiem, kuri ir reģistrēti ar kodolu, lai lasītu saņemtos ICMP ziņojumus. Ja nav neviena no šiem lietotāju procesiem, ziņojumu klusi izmet. (Šie lietotāju procesi saņem arī kopiju ar visiem citiem ICMP ziņojumiem, pat tiem, kurus apstrādā kodols pats, bet tikai pēc tam, kad kodols jau ir apstrādājis attiecīgo ziņojumu.) Daži ziņojumi tiek pilnīgi ignorēti. Visbeidzot, ja beigu kolonna ir pēdiņās rakstīts //strings//, tad tas ir UNIX'a kļūdas ziņojums, kas atbilst šai situācijai. Dažas no kļūdām, piemēram TCP reakciju uz //avota remdēšanu//, aplūkosim vēlākās nodaļās.
8 <p/>
9 #pic("f_6_12.gif", "500")
10 //6.12.attēls: ICMP ziņojumu tipu apstrāde 4.4BSD vidē//
11
12 {{/html}}
13 {{/velocity}}