ICMP與IGMP的區別
裝載:http://www.cppblog.com/yehao/articles/145652.html
ICMP與IGMP的區別
ICMP協議,英文全稱(Internet Control Message Protocol),就是網際控制資訊協議。主要是用於補充IP傳輸資料包的過程中,傳送主機無法確定資料包是否到達目標主機。ICMP報文分為出錯報告報文和查詢報文兩種。若資料包不能到達目標主機,ICMP出錯報告報文可以以回送資訊的方式,向源主機發去資訊,並不能糾正資料包中的任何出錯。除了出錯報告,ICMP還可以診斷出某些網路問題,這就是ICMP的查詢報文。
IGMP協議,英文全稱(Internet Group Management Protocol),網路組管理協議。主要用於建立和管理多播組,對IP分組廣播進行控制。
internet控制訊息協議ICMP是用於報告錯誤並代表IP對訊息進行控制。
IP運用互聯組管理協議IGMP來告訴路由器,某一網路上指導組中的可用主機。
ICMP
ICMP源抑制訊息:當TCP/IP主機傳送資料到另一主機時,如果速度達到路由器或者鏈路的飽和狀態,路由器發出一個ICMP源抑制訊息。
ICMP資料包結構
型別:一個8位型別欄位,表示ICMP資料包型別。
程式碼:一個8位程式碼域,表示指定型別中的一個功能。如果一個型別中只有一種功能,程式碼域置為0。
檢驗和:資料包中ICMP部分上的一個16位檢驗和。
指定型別的資料隨每個ICMP型別變化的一個附加資料。
IGMP
IGMP資訊傳給別的路由器以使每個支援多路廣播的路由器獲知哪個主機組和哪個網路中。
IGMP包結構
版本:IGMP的版本,值一般為0x1h。
型別:IGMP訊息的型別。0x1h型別稱為主機成員請求,在多路廣播路由器上用於指定多級組中的任何成員輪詢一個網路。0x2h型別稱為主機成員報告,在主機上用於釋出指定組中的成員情況或對一個路由器的主機成員請求進行回答。
未用:未用的域名被髮送者置零且被接收者忽略。
檢驗和:IGMP頭的一個16位檢驗和。
組地址:主機用該組地址在一個主機成員請求中儲存IP多路廣播地址。在主機成員請求中,組地址被全置零,而且硬體級的多路廣播地址被用
相關文章
- IGMP
- ??與?:的區別
- MySQL的@與@@區別MySql
- mybatis #與$的區別MyBatis
- Null 與 “” 的區別Null
- &與&&, |與||區別
- in與exist , not in與not exist 的區別
- CentOS 與 Ubuntu 的區別CentOSUbuntu
- artice與section的區別
- GET 與 POST 的區別
- WebSocket 與 Socket 的區別Web
- Postgresql與MySQL的區別MySql
- chown與chmod的區別
- LESS與SASS的區別
- free 與 CFRelease 的區別
- gulp與webpack的區別Web
- @Autowired 與@Resource的區別
- let與var的區別
- post與get的區別
- HashSet與HashMap的區別HashMap
- maven與ant的區別Maven
- __new()__ 與 __init()__的區別
- TCP與UDP的區別TCPUDP
- Mysql與mongodb的區別MySqlMongoDB
- typedef與define的區別
- Eureka與Zookeeper的區別
- buffer與cache的區別
- async與defer的區別
- synchronized與Lock的區別synchronized
- kill與pkill的區別
- int與Integer的區別
- HTML與XHTML的區別HTML
- mysql與Oracle的區別MySqlOracle
- UDP與TCP的區別UDPTCP
- Javascript中“==”與“===”的區別JavaScript
- for...in與for...of的區別
- Oracle - @和@@、&與&& 的區別Oracle
- sizeof與strlen的區別