06. ICMP - Interneta vadības ziņojumu protokols

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

06. ICMP - Interneta vadības ziņojumu protokols

ICMP bieži uzskata par IP slāņa sastāvdaļu. Tas apmaina kļūdu ziņojumus un citus ziņojumus, kuri pelna uzmanību. Uz ICMP ziņojumiem parasti reaģē vai nu pats IP slānis, vai kāds no augstāka līmeņa protokoliem (TCP vai UDP). Daži ICMP ziņojumi izraisa kļūdas, kas tiek atgrieztas lietotāja procesiem. 

ICMP ziņojumus pārraida IP datagramma ar saturu, kā parādīts 6.1.attēlā: 

#pic("f_6_1.gif", "300") 6.1.attēls: ICMP ziņojums iekapsulēts IP datagrammā

ICMP oficiālā specifikācija ir RFC 792 [Postel 1981b].

6.2.attēls parāda ICMP ziņojuma formātu. Pirmajiem 4 baitiem visiem ziņojumiem ir tas pats formāts, bet atlikums dažādu veidu ziņojumiem atšķiras. Mēs parādīsim katra ziņojuma formātu, kad to aprakstīsim.

Ir 15 dažādas vērtības tipa laukam, kas konkretizē ICMP ziņojuma jēgu. Daži ICMP ziņojumu tipi vēl izmanto dažādas koda lauka vērtības, lai vēl tālāk specializētu ziņojumu. Kontrolsummas lauks ir aprēķināts visam ICMP ziņojumam. Lietotais algoritms ir tas pats, ko aprakstījām IP hedera kontrolsummai 3.2.nodaļā. ICMP protokolam kontrolsumma ir obligāta.

#pic("f_6_2.gif", "500") 6.2.attēls: ICMP ziņojums

Šajā nodaļā runāsim par ICMP ziņojumiem vispārīgi un arī par dažiem atsevišķi: adresses maskas pieprasījumu un atbildi, laikspiedoga pieprasījumu un atbildi kā arī nesasniedzamo portu. Atbalss pieprasījuma ziņojumus mēs detalizēti apspriedīsim kopā ar

Vingrinājumi

  • 6.1 6.2.nodaļas beigās uzskaitījām piecus īpašus nosacījumus pie kuriem nenosūta ICMP kļūdas ziņojumu. Kas notiktu, ja šos piecus nosacījumus neievērotu un mēs nosūtītu apraides UDP datagrammu uz neaizņemtu portu lokālajā tīklā?
  • 6.2 Izlasiet mītņu prasību RFC [Braden 1989a], lai noskaidrotu, vai ICMP nesasniedzamā porta ziņojuma ģenerācija ir obligāta, vēlama vai atļauta ("must", "should," vai "may"). Kurā nodaļā un lappusē par to ir rakstīts?
  • 6.3 Izlasiet RFC 1349 [Almquist 1992], lai noskaidrotu kā IP servisa tipa (type-of-service) lauks (#picref("f_3_2.gif", "3.2.attēls")) tiek uzstādīts ICMP.
  • 6.4 Ja jūsu sistēmā ir