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
- ??與?:的區別
- const與static的區別
- HTTP 與 HTTPS 的區別HTTP
- getAttribute() 與 attr() 的區別
- @import與<link> 的區別Import
- Postgresql與MySQL的區別MySql
- HashSet與HashMap的區別HashMap
- HashTable與ConcurrentHashMap的區別HashMap
- maven與ant的區別Maven
- __new()__ 與 __init()__的區別
- @Autowired 與@Resource的區別
- gulp與webpack的區別Web
- free 與 CFRelease 的區別
- post與get的區別
- Git與GitHub的區別Github
- Comparable與Comparator的區別
- volatile與synchronized的區別synchronized
- Javascript中“==”與“===”的區別JavaScript
- UDP與TCP的區別UDPTCP
- WebApp與NativeApp的區別WebAPP
- mysql與Oracle的區別MySqlOracle
- Synchronized 與 ReentrantLock 的區別synchronizedReentrantLock
- let與var的區別
- mybatis與hibernate的區別MyBatis
- buffer與cache的區別
- grid 與 treelist 的區別
- print 與 println 的區別
- Eureka與Zookeeper的區別
- Python中 ‘==‘ 與‘is‘的區別Python
- async與defer的區別
- http與https的區別HTTP
- GET 與 POST 的區別
- TCP與UDP的區別TCPUDP
- int與Integer的區別
- Mysql與mongodb的區別MySqlMongoDB
- kill與pkill的區別
- HTML與XHTML的區別HTML