09.03. ICMP

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

09.03. ICMP "nesasniedzamas mītnes" un "nesasniedzama tīkla" kļūdas

ICMP "nesasniedzamas mītnes" ("host unreachable") kļūdas ziņojumu izsūta maršrutētājs, kad tas saņem IP datagrammu, kuru tas nevar piegādāt adresātam vai pārsūtīt tālāk. (#picref("f_6_10.gif","6.10.attēls") parāda ICMP nesasniedzamības ziņojumu formātu.) Varam to viegli novērot savā tīklā, novācot SLIP datuposmu maršrutētājam

Vecākas implementācijas BSD TCP/IP programmatūrai ģenerēja "nesasniedzamas mītnes" vai "nesasniedzama tīkla" ("network unreachable") kļūdu, atkarībā no tā, vai galamērķis bija lokālajā subnetā vai nē. 4.4BSD ģenerē tikai "nesasniedzamas mītnes" kļūdas ziņojumu.

Atcerieties no

Mēs to varam redzēt, darbinot svr4 % ping gemini ICMP Host Unreachable from gateway sun (140.252.13.33) ICMP Host Unreachable from gateway sun (140.252.13.33) ^? type interrupt key to stop

9.2.attēls parāda

#pic("f_9_2.gif", "500") 9.2.attēls: ICMP "nesasniedzamas mītnes" ziņojums atbildē uz

Kad maršrutētājs

Ja atjauno SLIP posmu, un cenšas pingot IP adresi, kura nav pieslēgta Internetam, gluži tāpat var sagaidīt kļūdu. Ir interesanti redzēt, cik tālu pakete nonāk Internetā pirms tiek atgriezts kļūdas paziņojums:

sun % ping 192.82.148.1   this IP address is not connected to the Internet
PING 192.82.148.1: 56 data bytes
ICMP Host Unreachable from gateway enss142.UT.westnet.net (192.31.39.21) 
  for icmp from sun (140.252.1.29) to 192.82.148.1

Apskatoties #picref("f_8_5.gif", "8.5.attēlu"), redzam, ka pakete izgāja cauri sešiem maršrutētājiem pirms tika konstatēts, ka IP adrese ir nederīga. Tikai tad, kad tā nonāca uz NSFNET mugurkaula robežas, tika pamanīta kļūda. Tas nozīmē, ka seši maršrutētāji, kuri pārsūtīja paketi tālāk, to darīja pateicoties noklusētajiem maršrutēšanas likumiem, un tikai, sasniedzot NSFNET mugurkaulu, maršrutētājam bija pilnīgas zināšanas par katru tīklu, kas pieslēgts Internetam. Tas ilustrē to, ka daudzi maršrutētāji var sekmīgi darboties, zinot tikai nelielu daļu no kopējās bildes.

[Ford, Rekhter, and Braun 1993] definē augstākā līmeņa maršrutēšanas domēnu kā tādu, kas uztur maršrutēšanas informāciju uz vairumu Interneta vietņu un neizmanto noklusētos maršrutus. Viņi atzīmē, ka Internetā eksistē pieci šādi augšējā līmeņa domēni - NSFNET mugurkauls, Komerciālā Interneta Centrāle (Commercial Internet Exchange, CIX), NASA Zinātnes Internets (NASA Science Internet, NSI), SprintLink un Eiropas IP mugurkauls (European IP Backbone, EBONE).