Internet Control Message Protocol

ICMP (англ. Internet Control Messageing Protocol) e еден од главните протоколи од мрежниот слој од OSI референтниот модел кој обезбедува механизам за рекламирање.Во суштина, овој протокол се користи од мрежните уреди,како насочувачите за да се испратат пораки кои индицираат на пример, дека бараната услуга не е достапна или дека не може да се стигне до домаќин или насочувач .[1] It is assigned protocol number 1.[2]ICMP протоколот исто така може да се користи и за препраќање на пораки за пребарување.ICMP[3] се разликува од транспортните протоколи како што се TCP и UDP во тоа што не се користи вообичаено за размена на податоци меѓу системи ниту пак е користен од страна на кориснички мрежни апликации(со исклучок на некои дијагностички алатки како ping или treceroute )ICMP за Internet Protocol верзија 4 е познат како ICMPv4. IPv6 слично има протокол ICMPv6.

Петте нивоа на TCP/IP моделот
5. Апликациско ниво (Application layer)

DHCP • FTP • IMAP4 • POP3 • SIP • SMTP • SSH • BGP • …

4. Транспортно ниво (Transport layer)

UDP • TCP • DCCP • SCTP • RSVP • ECN

3. Мрежно ниво (Network layer)

IP (IPv4 • IPv6) • ICMP • IGMP • RSVP • IPsec

2. Податочно ниво (Data Link Layer)

ATM • DTM • Ethernet • FDDI • Frame Relay • GPRS • PPP • ARP • RARP • L2TP • PPTP

1. Физичко ниво (Physical layer)

Етернет • ISDN • Модеми • PLC • SONET/SDH • G.709 • Wi-Fi •

Технички детали

ICMP протоколот е дел од TCP/IP,како што е дефинирано во RFC 792.ICMP пораките обично се користат за дијагностички цели или се генерирани од како одговор на грешки во извршување на IP операции.ICMP пораките се насочуваат кон изворната IP-адреса на оригиналниот пакет.На пример, секој уред (како еден просечен насочувач ) препраќајќи еден IP датаграм прво го декреметнира time to leave полето ( ТТL ) во IP заглавјето за еден.Ако резултантната вредност во полето TTL е 0 пакетот се отфрла и ICMP Time To Live exceeded in transit порака се испраќа до изворната адреса.Иако ICMP пораките се содржани во стандардните IP пакети ,ICMP пораките обично се обработувани како посебен случај ,различно од нормалната IP обработка. Во многу случаи потребно е да се изврши увид во содржината на ICMP пораката и да се достави соодветната порака( error-message ) до апликацијата која го генерирала оригиналниот IP пакет,односно таа апликација која го пратила пакетот што поттикнал испраќање на ICMP порака.Многу често користени мрежни услуги се засновани на ICMP пораки.Тraceroute командата е имплементирана преку пренесување на IP датаграм со специјално поставени IP TTL полиња од заглавјето, и чекање ICMP Time to live exceeded in transit и "Destination unreachable" пораки генерирани како одговор.Слично и ping услугата е имплементирана преку ICMP "Echo request" и "Echo reply" пораки.[1]

ICMP структура на сегмент

Заглавје

ICMP заглавјето започнува по IPv4 заглавјето и се идентификува како протокол број ‘1’.Сите ICMP пакети 8-бајтно заглавје.Првите 4 бајти од заглавјето се доследни.Првиот бајт е за типот на ICMP.Вториот бајт е за ICMP кодот.Третиот и чевртиот бајт се проверка(checksum) на целата ICMP порака.Содржината во останатите 4 бајти од заглавјето е различна и зависи од ICMP типот и кодот.ICMP пораките за грешка (error message) содржат податочна секција што вклучува цело IP заглавје плус првите 8 бајти податоци од IP пакетот што генерирал ICMP порака.Така ICMP пакетот се енкапсулира во нов IP пакет.

Bits0–78–1516–2324–31
0TypeCodeChecksum
32Rest of Header
  • Type поле – ICMP тип.
  • Code поле – Поттип од дадениот тип.
  • Checksum поле– Податоци за проверка на грешка
  • Останат дел од заглавјето – 4-бајтно поле кое зависи од типот и поттипот на ICMP.

Контролни пораки

Позначајни контролни пораки[4][5]
TypeCodeDescription
0 – Echo Reply[3]:140Echo reply (used to ping)
1 and 2Reserved
3 – Destination Unreachable[3]:40Destination network unreachable
1Destination host unreachable
2Destination protocol unreachable
3Destination port unreachable
4Fragmentation required, and DF flag set
5Source route failed
6Destination network unknown
7Destination host unknown
8Source host isolated
9Network administratively prohibited
10Host administratively prohibited
11Network unreachable for TOS
12Host unreachable for TOS
13Communication administratively prohibited
14Host Precedence Violation
15Precedence cutoff in effect
4 – Source Quench0Source quench (congestion control)
5 – Redirect Message0Redirect Datagram for the Network
1Redirect Datagram for the Host
2Redirect Datagram for the TOS & network
3Redirect Datagram for the TOS & host
6Alternate Host Address
7Reserved
8 – Echo Request0Echo request (used to ping)
9 – Router Advertisement0Router Advertisement
10 – Router Solicitation0Router discovery/selection/solicitation
11 – Time Exceeded[3]:60TTL expired in transit
1Fragment reassembly time exceeded
12 – Parameter Problem: Bad IP header0Pointer indicates the error
1Missing a required option
2Bad length
13 – Timestamp0Timestamp
14 – Timestamp Reply0Timestamp reply
15 – Information Request0Information Request
16 – Information Reply0Information Reply
17 – Address Mask Request0Address Mask Request
18 – Address Mask Reply0Address Mask Reply
19Reserved for security
20 through 29Reserved for robustness experiment
30 – Traceroute0Information Request
31Datagram Conversion Error
32Mobile Host Redirect
33Where-Are-You (originally meant for IPv6)
34Here-I-Am (originally meant for IPv6)
35Mobile Registration Request
36Mobile Registration Reply
37Domain Name Request
38Domain Name Reply
39SKIP Algorithm Discovery Protocol, Simple Key-Management for Internet Protocol
40Photuris, Security failures
41ICMP for experimental mobility protocols such as Seamoby [RFC4065]
42 through 255Reserved

Source quench

Со ''source quench'' се испраќа барање до испраќачот да ја намали ратата на пораки пратени до некој насочувач или домаќин.Ваков тип на порака може да биде генерирана од некој насочувач или домаќин(хост) доколку нема доволно простор во баферот за да се обработуваат сите пораки, или доколку баферот а насочувачот или хостот се доближува до својот лимит.Податоците од еден домаќин до некој насочувач на мрежата се праќаат со големи брзини.Иако насочувачот има можност за баферирање на податоците, баферирањето е лимитирано до одреден степен.Насочувачот не може да прими повеќе податоци отколку што има место во баферот и затоа ги отфрла сите пакети што доаѓаат во моментот кога баферот е исполнет,сè додека не се ослободи место во баферот да се примат истите.Но бидејќи не постои механизам за потврдување на примените пакети (acknowledgement) испраќачот нема да знае дали податоците се примени успешно.Затоа со source quench механизмот се овозможува насочувачот да увиди поголема рата на примени пакети од изворот од онаа која што е граница на баферот , и се испраќа ICMP порака до испраќачот да ја намали ратата на испраќање. Source quench ICMP пораката ја има улогата на контрола на проток на мрежно ниво.

Source quench порака[3]:9
0001020304050607080910111213141516171819202122232425262728293031
Type = 4Code = 0Header checksum
unused
IP header and first 8 bytes of original datagram's data

Каде:

Type полето мора да биде поставено на 4.
Code полето мора да биде поставено на 0.

Redirect

Со redirect request пораката се побарува податочните пакети да бидат испраќани по алтернативна патека.ICMP redirect е механизам за насочувачите да пренесуваат насочувачки информации до хостовите.ICMP redirect пораката ги информира хостовите(домаќините) да ги ажурираат своите насочувачки информации(да испраќаат на алтернативни патеки).

Redirect порака[3]:11
0001020304050607080910111213141516171819202122232425262728293031
Type = 5CodeHeader checksum
IP address
IP header and first 8 bytes of original datagram's data

Каде:

Type полето мора да биде поставено на 4.
Code полето специфицира причина за промена на насочувачките информации.

Time exceed

Time exceed е порака генерирана да го извести изворот за отфрлениот пакет од причини што ТТL полето достигнало вредност нула.

Time exceeded порака[3]:5
0001020304050607080910111213141516171819202122232425262728293031
Type = 11CodeHeader checksum
unused
IP header and first 8 bytes of original datagram's data

Каде:

Type полето мора да биде поставено на 11.
Code полето специфицира причина за отфрлањето на пакетот.

Timestamp

Тimestamp пораката се користи за синхронизација.

Timestamp порака[3]:15
0001020304050607080910111213141516171819202122232425262728293031
Type = 13Code = 0Header checksum
IdentifierSequence number
Originate timestamp

Kaде:

Type полето мора да биде поставено на 13.
Code полето мора да биде поставено на 0.

Destination unreachable

Destination unreachable порака се користи за да го информира клиентот дека одредиштето е недостапна од некоја причина.Како причини за генерирање на оваа порака се јавуваат: не постои физичка врска до дестинациската адреса ( растојанието е бесконечно(анг. infinity.) ), протоколот или портата не се активни од некоја причина,податоците мораат да се фрагметираат а вклучено е полето “don’t fragment”.

Destination unreachable порака[3]:3
0001020304050607080910111213141516171819202122232425262728293031
Type = 3CodeHeader checksum
unusedNext-hop MTU
IP header and first 8 bytes of original datagram's data

Kaде:

Type полето мора да биде поставено на 3.
Code полето специфицира типот на грешка која настанала,и може да биде едно од следните:
CodeDescription
0Network unreachable error.
1Host unreachable error.
2Protocol unreachable error (the designated transport protocol is not supported).
3Port unreachable error (the designated protocol is unable to inform the host of the incoming message).
4The datagram is too big. Packet fragmentation is required but the 'don't fragment' (DF) flag is on.
5Source route failed error.
6Destination network unknown error.
7Destination host unknown error.
8Source host isolated error.
9The destination network is administratively prohibited.
10The destination host is administratively prohibited.
11The network is unreachable for Type Of Service.
12The host is unreachable for Type Of Service.
13Communication administratively prohibited (administrative filtering prevents packet from being forwarded).
14Host precedence violation (indicates the requested precedence is not permitted for the combination of host or network and port).
15Precedence cutoff in effect (precedence of datagram is below the level set by the network administrators).

Поврзано

  • ICMP tunnel
  • ICMP hole punching
  • ICMPv6
  • IRDP
  • PMTU blackhole
  • Pathping
  • Path MTU Discovery
  • Ping
  • Smurf attack
  • TCP

Надворешни врски

Наводи

🔥 Top keywords: Главна страницаМакедонски претседателски избори (2024)Македонски парламентарни избори (2024)Специјална:БарајГордана Силјановска-ДавковаМакедонски парламентарни избори (2020)Карлес ПуџдемонСписок на македонски народни поговоркиОче нашСтево ПендаровскиСредоземно МореМакедонијаБилјана ВанковскаМочуриштеГоце ДелчевСпецијална:СкорешниПромениМасакр во СребреницаСкопјеМарија АнтоанетаЛокални избори во Македонија (2021)Министерство за животна средина и просторно планирањеСвети Кирил и МетодијЈане СанданскиКиро ГлигоровСвети Климент ОхридскиСкиентологијаБалканска приказна (ТВ-серија)Втора светска војнаБедија БеговскаДржавни празници во МакедонијаХемофилијаМакедонски претседателски избори (2019)Хороскопски знациГригор ПрличевПретседател на МакедонијаКонстантин МиладиновИзбори во МакедонијаМакедонска крвава свадбаНационален парк Галичица