(1)、什麼是qmp協議?
qmp,即qemu machine protocol,也就是qemu虛擬機器協議,它是qemu的一部分,qmp是基於json格式的一整套協議,通過這套協議我們可以控制qemu虛擬機器例項的整個生命週期,包括掛起、暫停、快照、查詢、外設的熱插拔等,以及最簡單的查詢,都可以通過qmp實現。
(2)、qmp協議有哪些特徵?
1)輕量、基於文字、指令格式易於解析,因為它是json格式的;
2)支援非同步訊息,主要指通過qmp傳送給虛擬機器的指令支援非同步;
3)capabilities negotiation,主要指我們初次建立qmp連線時,進入了capabilities negotiation模式,這時我們不能傳送任何指令,除了qmp_capabilities指令,傳送了qmp_capabilitie指令,我們就退出了capabilities negotiation模式,進入了指令模式(command mode),這時我們可以傳送qmp指令,如,這樣就可以查詢虛擬機器的狀態。
(3)、qmp協議有哪些模式?
有兩種模式:capabilities negotiation模式和command模式。
(4)、那麼該如何建立qmp連線呢?
有多種方式可以建立qmp連線,接下來的文章我們會依次進行介紹這裡我們介紹一種最簡單的方式,只需要在虛擬機器啟動選項中加入-qmp選項,即可建立qmp連線。
qemu-system-x86_64 /var/lib/libvirt/images/ubuntu.img -enable-kvm -m 2048 -smp 2 -vnc :1 -qmp tcp:localhost:4444,server,nowait
當虛擬機器啟動之後通過telnet即可連線qmp
- $ telnet localhost 4444
- trying 127.0.0.1...
- connected to localhost.
- escape character is '^]'.
- ,- "package": ""
- },
- "capabilities": [
- ]- }
- }
初次連線qmp會顯示greeting訊息,這時我們處於capabilities negotiation模式,執行- 會進入command模式,這時我們就可以傳送各種指令查詢、操作虛擬機器。
rtp協議詳解 rtcp協議詳解
2 rtp rtcp協議簡介 rtp 由 ietf 定義在 rfc 3550和3551中。rtp通常與輔助控制協議rtcp一起工作,rtp只負責實時資料的傳輸,rtcp負責對rtp的通訊和會話進行帶外管理 如流量控制 擁塞控制 會話源管理等 3 rtp rtcp協議層次和封裝 rtp分組只包含rtp...
rtp協議詳解 rtcp協議詳解
1 簡介 2 rtp rtcp協議簡介 rtp 由 ietf 定義在 rfc 3550和3551中。rtp通常與輔助控制協議rtcp一起工作,rtp只負責實時資料的傳輸,rtcp負責對rtp的通訊和會話進行帶外管理 如流量控制 擁塞控制 會話源管理等 3 rtp rtcp協議層次和封裝 rtp分組只...
rtp協議詳解 rtcp協議詳解
2 rtp rtcp協議簡介 rtp 由 ietf 定義在 rfc 3550和3551中。rtp通常與輔助控制協議rtcp一起工作,rtp只負責實時資料的傳輸,rtcp負責對rtp的通訊和會話進行帶外管理 如流量控制 擁塞控制 會話源管理等 3 rtp rtcp協議層次和封裝 rtp分組只包含rtp...