06.06. ICMP ziņojumu apstrāde 4.4BSD vidē

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.

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.

#pic("f_6_12.gif", "500") 6.12.attēls: ICMP ziņojumu tipu apstrāde 4.4BSD vidē

Tags:
Created by Valdis Vītoliņš on 2008/05/10 10:02
    

Tips

If you're a new XWiki user, check out the Getting Started Guide.

Need help?

If you need help with XWiki you can contact: