0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

ICMPv6協(xié)議基礎(chǔ)簡(jiǎn)介

北匯信息POLELINK ? 2024-12-05 01:04 ? 次閱讀


作者 |PhiCid
小編 | 不吃豬頭肉

cf3c0120-b261-11ef-8084-92fbcf53809c.png

引言

科普介紹文章《IPv6協(xié)議—互聯(lián)網(wǎng)通信協(xié)議第六版》中介紹了IPv6協(xié)議,這次的科普主題是ICMPv6(Internet Control Message Protocol version 6),它作為IPv6網(wǎng)絡(luò)中的核心協(xié)議之一,是網(wǎng)絡(luò)通信中不可或缺的一部分。ICMPv6的設(shè)計(jì)繼承了IPv4中ICMPv4協(xié)議的基本功能,然而,它不僅僅是IPv6中錯(cuò)誤報(bào)告和診斷工具,更在IPv6網(wǎng)絡(luò)的運(yùn)行中扮演了重要角色。與IPv4不同,IPv6不再依賴ARP(地址解析協(xié)議)來(lái)解析網(wǎng)絡(luò)節(jié)點(diǎn)的物理地址,而是通過(guò)ICMPv6的鄰居發(fā)現(xiàn)(Neighbor Discovery)功能來(lái)實(shí)現(xiàn)此類操作。此外,ICMPv6還支持地址自動(dòng)配置、路徑MTU發(fā)現(xiàn)、網(wǎng)絡(luò)鄰居的可達(dá)性檢測(cè)等功能,這些都大大簡(jiǎn)化了IPv6網(wǎng)絡(luò)的配置和管理。在IPv6網(wǎng)絡(luò)的日常運(yùn)行中,ICMPv6不僅提供了基礎(chǔ)的錯(cuò)誤報(bào)告機(jī)制,還使得網(wǎng)絡(luò)設(shè)備能夠更加靈活地自動(dòng)配置和發(fā)現(xiàn)網(wǎng)絡(luò)拓?fù)?。因此,理解ICMPv6協(xié)議及其各類報(bào)文的作用,對(duì)于網(wǎng)絡(luò)工程師和系統(tǒng)管理員來(lái)說(shuō)是非常必要的。

cf444cc2-b261-11ef-8084-92fbcf53809c.png

ICMPv6的報(bào)文格式

cf4c6600-b261-11ef-8084-92fbcf53809c.png

圖 ICMPv6報(bào)文通用格式ICMPv6報(bào)文的通用格式如上圖所示,主要包括以下幾個(gè)字段,每個(gè)字段在網(wǎng)絡(luò)通信中都起到至關(guān)重要的作用:

Type(報(bào)文類型):這是ICMPv6報(bào)文的首個(gè)字段,用于標(biāo)識(shí)報(bào)文的類型。ICMPv6報(bào)文根據(jù)其功能可分為兩大類:差錯(cuò)報(bào)文(類型范圍:0-127)和消息報(bào)文(類型范圍:128-255)。每種類型對(duì)應(yīng)特定的錯(cuò)誤報(bào)告或網(wǎng)絡(luò)功能。

Code(報(bào)文子類型):Code字段進(jìn)一步細(xì)化了報(bào)文的類型。根據(jù)不同的報(bào)文類型,Code的值代表不同的具體子類型。例如,目的不可達(dá)報(bào)文中Code字段的值為0表示網(wǎng)絡(luò)不可達(dá),為1表示主機(jī)不可達(dá),等等。

Checksum(校驗(yàn)和):該字段用于對(duì)ICMPv6報(bào)文的完整性進(jìn)行校驗(yàn)。校驗(yàn)和的計(jì)算能夠確保在傳輸過(guò)程中數(shù)據(jù)未發(fā)生錯(cuò)誤。ICMPv6要求對(duì)報(bào)文進(jìn)行完整性檢查,以保證通信的可靠性。

cf54267e-b261-11ef-8084-92fbcf53809c.png

ICMPv6報(bào)文分類ICMPv6報(bào)文根據(jù)功能的不同,分為差錯(cuò)報(bào)文和消息報(bào)文。

1. 差錯(cuò)報(bào)文(Type 0-127)
差錯(cuò)報(bào)文主要用于報(bào)告網(wǎng)絡(luò)中的錯(cuò)誤,幫助設(shè)備發(fā)現(xiàn)和解決通信問(wèn)題。

目的不可達(dá)報(bào)文

目的不可達(dá)報(bào)文(Destination Unreachable, Type 1):該報(bào)文用于報(bào)告數(shù)據(jù)包無(wú)法到達(dá)目標(biāo)節(jié)點(diǎn)的情況。通常,路由器在無(wú)法找到目標(biāo)節(jié)點(diǎn)或無(wú)法轉(zhuǎn)發(fā)數(shù)據(jù)包時(shí),發(fā)送目的不可達(dá)報(bào)文。根據(jù)不同的錯(cuò)誤類型,Code字段有多個(gè)取值:0 - 沒(méi)有到目的地址的路由1 - 禁止與目的地址通訊2 - 超出源地址的范圍3 - 地址不可達(dá)4 - 端口不可達(dá)5 - 源地址入口/出口策略失敗6 - 拒絕到目的地址的路由

數(shù)據(jù)包過(guò)大報(bào)文

數(shù)據(jù)包過(guò)大報(bào)文(Packet Too Big, Type 2):當(dāng)數(shù)據(jù)包的大小超過(guò)鏈路的最大傳輸單元(MTU)時(shí),路由器會(huì)發(fā)送該報(bào)文告知源節(jié)點(diǎn)減少數(shù)據(jù)包大小。

時(shí)間超時(shí)報(bào)文

時(shí)間超時(shí)報(bào)文(Time Exceeded, Type 3):當(dāng)數(shù)據(jù)包的Hop Limit字段為0時(shí),數(shù)據(jù)包會(huì)被丟棄,同時(shí)會(huì)發(fā)送超時(shí)報(bào)文。這通常表示數(shù)據(jù)包在傳輸過(guò)程中經(jīng)過(guò)的跳數(shù)超出了允許的最大值,或者在分片重組時(shí)超時(shí)。Code字段值包括:0 - Hop limit exceeded in transit傳輸過(guò)程中“hop-limit”超時(shí);1 - Fragment reassembly time exceeded分片重組超時(shí);

參數(shù)錯(cuò)誤報(bào)文

參數(shù)錯(cuò)誤報(bào)文(Parameter Problem, Type 4):當(dāng)IPv6數(shù)據(jù)包中的頭部或擴(kuò)展頭部格式錯(cuò)誤時(shí),路由器會(huì)發(fā)送參數(shù)錯(cuò)誤報(bào)文,指示數(shù)據(jù)包格式有問(wèn)題。Code值包括0-2:0 – 錯(cuò)誤的首部字段;1 – 不可識(shí)別的Next Header類型;2 – 不可識(shí)別的IPv6選項(xiàng)。

2. 消息報(bào)文(Type 128-255)

消息報(bào)文則負(fù)責(zé)執(zhí)行網(wǎng)絡(luò)配置、診斷等功能。

Echo Request(Type 128)與Echo Reply(Type 129):Echo請(qǐng)求和Echo響應(yīng)報(bào)文的功能與IPv4中的Ping類似。Echo請(qǐng)求用于測(cè)試節(jié)點(diǎn)之間的連通性,目標(biāo)節(jié)點(diǎn)返回Echo響應(yīng),確認(rèn)數(shù)據(jù)包的傳輸。

RS報(bào)文(Router Solicitation, Type 133):主機(jī)首次接入IPv6網(wǎng)絡(luò)時(shí),會(huì)發(fā)送RS報(bào)文,向路由器請(qǐng)求網(wǎng)絡(luò)配置信息,如前綴、MTU等。接收到該報(bào)文的路由器會(huì)發(fā)送RA(詳見(jiàn)下文)報(bào)文作為回應(yīng)。

cf5f7b96-b261-11ef-8084-92fbcf53809c.png

圖 RS報(bào)文示例

RA報(bào)文

RA報(bào)文(Router Advertisement, Type 134):RA報(bào)文由路由器周期性廣播,或者在收到RS報(bào)文后作為響應(yīng)發(fā)送,提供網(wǎng)絡(luò)配置信息,如前綴、鏈路本地地址、MTU、跳數(shù)限制等。Cur Hop Limit表示主機(jī)跳數(shù)限制,M位(管理地址配置位)指示主機(jī)是否需要使用DHCPv6獲取配置,該位為0表示無(wú)狀態(tài)自動(dòng)配置,為1表示通過(guò)DHCPv6服務(wù)器獲取配置信息,該位置1時(shí)O位無(wú)意義,因?yàn)樗袇?shù)依然通過(guò)DHCPv6獲得。O位(其他配置標(biāo)志位)指示是否有其他配置可用,該位置0表示 DHCPv6服務(wù)器沒(méi)有其他可用信息。該位置1時(shí),其他參數(shù)使用DHCPV6服務(wù)器獲得,包括路由器生存時(shí)間、鄰居可文達(dá)時(shí)間、鄰居的重傳時(shí)間、鏈路的MTU信息和DNS相關(guān)信息等。

cf6df54a-b261-11ef-8084-92fbcf53809c.png

圖 RA報(bào)文示例

NS報(bào)文(Neighbor Solicitation, Type 135)

NS報(bào)文主要包括以下功能:

1)地址解析:在IPv6中,沒(méi)有類似IPv4中的ARP(地址解析協(xié)議)來(lái)解析鏈路層地址(如MAC地址)。而NS報(bào)文用于請(qǐng)求或查詢目標(biāo)節(jié)點(diǎn)的鏈路層地址,當(dāng)一個(gè)IPv6主機(jī)需要發(fā)送數(shù)據(jù)包到網(wǎng)絡(luò)中某個(gè)已知的IPv6地址時(shí),它首先需要知道目標(biāo)節(jié)點(diǎn)的鏈路層地址(MAC地址)。此時(shí),發(fā)送NS報(bào)文給目標(biāo)節(jié)點(diǎn),并在Target Address字段中填入目標(biāo)節(jié)點(diǎn)的IPv6地址。

2)鄰居可達(dá)性檢測(cè):NS報(bào)文還用于檢測(cè)網(wǎng)絡(luò)中某一節(jié)點(diǎn)是否仍然活躍,是否能夠正常接收數(shù)據(jù)。當(dāng)發(fā)送節(jié)點(diǎn)收到目標(biāo)節(jié)點(diǎn)的NA(詳見(jiàn)下文)報(bào)文時(shí),即可確認(rèn)該目標(biāo)節(jié)點(diǎn)是可達(dá)的。若目標(biāo)節(jié)點(diǎn)沒(méi)有回應(yīng),發(fā)送節(jié)點(diǎn)會(huì)根據(jù)超時(shí)情況判斷目標(biāo)節(jié)點(diǎn)是否不可達(dá)。

3)地址沖突檢測(cè):在進(jìn)行IPv6地址自動(dòng)配置時(shí),主機(jī)會(huì)隨機(jī)選擇一個(gè)IPv6地址,并通過(guò)發(fā)送NS報(bào)文來(lái)檢測(cè)該地址是否已經(jīng)被其他節(jié)點(diǎn)使用。如果網(wǎng)絡(luò)中有其他節(jié)點(diǎn)回復(fù)NA報(bào)文,表示該地址已被占用,主機(jī)則需要選擇另一個(gè)地址。

cf77fa86-b261-11ef-8084-92fbcf53809c.png

圖 NS報(bào)文示例

NA報(bào)文(Neighbor Advertisement, Type 136)

NA報(bào)文是NS報(bào)文的響應(yīng),通常由目標(biāo)節(jié)點(diǎn)(即被查詢的節(jié)點(diǎn))發(fā)送,用來(lái)告知請(qǐng)求方自己的鏈路層地址和可達(dá)性信息。NA報(bào)文主要功能包括:

1)響應(yīng)地址解析請(qǐng)求:當(dāng)一個(gè)節(jié)點(diǎn)接收到NS報(bào)文時(shí),它會(huì)通過(guò)發(fā)送NA報(bào)文來(lái)響應(yīng)請(qǐng)求,提供自己的鏈路層地址(通常是MAC地址)。

2)確認(rèn)鄰居可達(dá)性:如果節(jié)點(diǎn)A通過(guò)NS報(bào)文檢測(cè)到節(jié)點(diǎn)B的可達(dá)性,節(jié)點(diǎn)B通過(guò)發(fā)送NA報(bào)文來(lái)響應(yīng),確認(rèn)其處于活動(dòng)狀態(tài)。

3)地址沖突響應(yīng):如果某個(gè)節(jié)點(diǎn)在收到NS報(bào)文時(shí)發(fā)現(xiàn)該地址與自己沖突(即自己已經(jīng)使用該地址),它將通過(guò)NA報(bào)文告知發(fā)送NS報(bào)文的節(jié)點(diǎn)。

cf81d0a6-b261-11ef-8084-92fbcf53809c.png

圖 NA報(bào)文示例

cf8f3db8-b261-11ef-8084-92fbcf53809c.png

ICMPv6的安全性

盡管ICMPv6在IPv6網(wǎng)絡(luò)中扮演著重要角色,但其也可能成為網(wǎng)絡(luò)攻擊的潛在目標(biāo)。以下是幾種可能的攻擊類型:

ICMPv6洪水攻擊(Flood Attacks):攻擊者可以發(fā)送大量的ICMPv6報(bào)文,消耗網(wǎng)絡(luò)帶寬和資源,從而導(dǎo)致目標(biāo)設(shè)備的性能下降,甚至癱瘓。

ICMPv6重定向攻擊(Redirect Attacks):攻擊者可能偽造ICMPv6的重定向報(bào)文,誘使節(jié)點(diǎn)向錯(cuò)誤的網(wǎng)關(guān)發(fā)送數(shù)據(jù),從而導(dǎo)致流量被劫持。

ICMPv6拒絕服務(wù)(DoS)攻擊:通過(guò)發(fā)送大量無(wú)效或惡意的ICMPv6報(bào)文,攻擊者可以導(dǎo)致網(wǎng)絡(luò)設(shè)備響應(yīng)超載,影響服務(wù)的正常運(yùn)行。

cf96498c-b261-11ef-8084-92fbcf53809c.png

總結(jié)

ICMPv6不僅是IPv6網(wǎng)絡(luò)中不可或缺的協(xié)議,它還為網(wǎng)絡(luò)設(shè)備提供了關(guān)鍵的支持功能,包括地址自動(dòng)配置、鄰居發(fā)現(xiàn)、路徑MTU發(fā)現(xiàn)等。ICMPv6的廣泛應(yīng)用大大簡(jiǎn)化了IPv6網(wǎng)絡(luò)的配置與管理,提高了網(wǎng)絡(luò)的自適應(yīng)能力和可擴(kuò)展性。而隨著IPv6在車載網(wǎng)絡(luò)的逐步普及(例如大眾、奧迪等整車廠早已應(yīng)用IPv6),掌握ICMPv6協(xié)議的基礎(chǔ)及其應(yīng)用,能夠幫助汽車電子領(lǐng)域的網(wǎng)絡(luò)工程師更好地管理和優(yōu)化網(wǎng)絡(luò)環(huán)境,并確保網(wǎng)絡(luò)的高效、安全運(yùn)行。北匯信息是一家專注于汽車電子測(cè)試領(lǐng)域的企業(yè),對(duì)車載以太網(wǎng)測(cè)試有著豐富經(jīng)驗(yàn),并可提供相關(guān)培訓(xùn)、咨詢服務(wù)以及測(cè)試解決方案,幫助汽車制造商和零部件供應(yīng)商確保其車載以太網(wǎng)系統(tǒng)的可靠性和安全性。如果需要具體的測(cè)試服務(wù)或了解更多信息,歡迎大家來(lái)聯(lián)系我們。

參考文獻(xiàn):【1】《RFC 4861》【2】《RFC 4443》

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 通信
    +關(guān)注

    關(guān)注

    18

    文章

    6032

    瀏覽量

    135985
  • 協(xié)議
    +關(guān)注

    關(guān)注

    2

    文章

    602

    瀏覽量

    39221
  • IPv6網(wǎng)絡(luò)
    +關(guān)注

    關(guān)注

    0

    文章

    16

    瀏覽量

    7111
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    ICMPv4協(xié)議—互聯(lián)網(wǎng)控制報(bào)文協(xié)議

    ICMP協(xié)議全稱是InternetControlMessageProtocol,即互聯(lián)網(wǎng)控制報(bào)文協(xié)議。其中,ICMPv4和ICMPv6分別指用于IPv4和IPv
    的頭像 發(fā)表于 07-25 08:25 ?738次閱讀
    <b class='flag-5'>ICMPv</b>4<b class='flag-5'>協(xié)議</b>—互聯(lián)網(wǎng)控制報(bào)文<b class='flag-5'>協(xié)議</b>

    ICMPv6協(xié)議介紹#車載以太網(wǎng) #ipv6 #科普

    車載以太網(wǎng)
    北匯信息POLELINK
    發(fā)布于 :2024年12月04日 11:00:05

    簡(jiǎn)易6LoWPAN網(wǎng)格數(shù)據(jù)收集器參考設(shè)計(jì)包括BOM及層圖

    200 個(gè)終端節(jié)點(diǎn)實(shí)現(xiàn)了 6LoWPAN、RPL、IPv6/ICMPv6 和 UDP 網(wǎng)狀網(wǎng)絡(luò)協(xié)議實(shí)現(xiàn)了具有跳頻和 MAC 數(shù)據(jù)加密功能的 TI-15.4 Stack采用與 Wi-S
    發(fā)表于 10-17 15:44

    linux 下查看端口號(hào)的指令

    UDPv6?! ?如果與 -s 選項(xiàng)一起使用以顯示按協(xié)議統(tǒng)計(jì)信息,proto 可以是下列協(xié)議之一:   IP、IPv6、ICMP、ICMPv6
    發(fā)表于 07-09 07:43

    NTP協(xié)議簡(jiǎn)介

    一、NTP協(xié)議簡(jiǎn)介??網(wǎng)絡(luò)時(shí)間協(xié)議NTP(Network Time Protocol)的主要開(kāi)發(fā)者是美國(guó)特拉華大學(xué)的MILLS David L教授設(shè)計(jì)實(shí)現(xiàn)的,由時(shí)間協(xié)議、ICMP時(shí)間戳
    發(fā)表于 07-29 06:50

    CAN協(xié)議特點(diǎn)簡(jiǎn)介

    CAN協(xié)議CAN協(xié)議 簡(jiǎn)介CAN協(xié)議 特點(diǎn)(1)多主控制(2)系統(tǒng)的柔軟性(3)通信速度較快,通信距離遠(yuǎn)(4)具有錯(cuò)誤檢測(cè)、錯(cuò)誤通知和錯(cuò)誤恢復(fù)功能(5)故障封閉功能(
    發(fā)表于 08-19 06:02

    HTTP協(xié)議簡(jiǎn)介

    )HTTP協(xié)議簡(jiǎn)介HTTP即Hyper Text Transfer Protocol (超文本傳輸協(xié)議),是一種基于TCP/IP通信協(xié)議來(lái)傳遞數(shù)據(jù) (HTML 文件,圖片文件,查詢結(jié)果
    發(fā)表于 12-15 06:01

    STM32的IIC協(xié)議簡(jiǎn)介

    文章目錄(一)IIC協(xié)議簡(jiǎn)介(二)物理層和協(xié)議簡(jiǎn)介(三)IIC物理層:3.1、物理層的特點(diǎn)(四)IIC協(xié)議層:4.1、IIC基本的讀寫過(guò)程
    發(fā)表于 01-05 06:13

    ymodem協(xié)議簡(jiǎn)介

    kirito 2020-11-29 V1.00簡(jiǎn)介開(kāi)發(fā)板: stm32f407vgt6IDE: keil + cubemx6.0功能: 實(shí)現(xiàn)stm32HAL 串口IAP, 協(xié)議采用非阻塞式
    發(fā)表于 03-02 06:01

    一種嵌入式IPv4/IPv6協(xié)議棧的實(shí)現(xiàn)

    提出了一種基于平臺(tái)無(wú)關(guān)性的嵌入式IPv4/IPv6協(xié)議棧的實(shí)現(xiàn)方法。根據(jù)嵌入式應(yīng)用,設(shè)計(jì)了相應(yīng)的緩沖區(qū)管理機(jī)制,裁減了IPv6 模塊中ICMPv6 和鄰居發(fā)現(xiàn)的相關(guān)功能,簡(jiǎn)化了TC
    發(fā)表于 08-10 14:11 ?27次下載

    TCP/IP協(xié)議簡(jiǎn)介

    TCP/IP協(xié)議簡(jiǎn)介 TCP/IP傳輸層協(xié)議概攬 傳輸控制協(xié)議 TCP 是一
    發(fā)表于 06-09 23:07 ?1414次閱讀
    TCP/IP<b class='flag-5'>協(xié)議</b><b class='flag-5'>簡(jiǎn)介</b>

    Modbus_協(xié)議簡(jiǎn)介及編程

    Modbus_協(xié)議簡(jiǎn)介及編程。
    發(fā)表于 05-17 17:47 ?14次下載

    MIPI接口協(xié)議簡(jiǎn)介

    MIPI接口協(xié)議簡(jiǎn)介,感興趣的小伙伴們可以看看。
    發(fā)表于 10-10 14:55 ?159次下載

    CAN和CANFD協(xié)議簡(jiǎn)介(上)

    CAN和CANFD協(xié)議簡(jiǎn)介(上)
    的頭像 發(fā)表于 01-26 08:06 ?1391次閱讀
    CAN和CANFD<b class='flag-5'>協(xié)議</b><b class='flag-5'>簡(jiǎn)介</b>(上)

    CAN和CANFD協(xié)議簡(jiǎn)介(下)

    CAN和CANFD協(xié)議簡(jiǎn)介(下)
    的頭像 發(fā)表于 02-19 12:08 ?1110次閱讀
    CAN和CANFD<b class='flag-5'>協(xié)議</b><b class='flag-5'>簡(jiǎn)介</b>(下)