QMP協議詳解

2021-08-15 19:26:35 字數 1255 閱讀 4958

(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...