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ē