9.0
Table Of Contents
- VMCI Sockets Programming Guide
- Contents
- About This Book
- About VMCI Sockets
- Porting to VMCI Sockets
- Creating Stream VMCI Sockets
- Creating Datagram VMCI Sockets
- Security of the VMCI Device
- Appendix: Learning More About Sockets
- Index
VMware, Inc. 9
Chapter 1 About VMCI Sockets
Security of VMCI Sockets
VMCISocketsaremoresecureaftereliminationofguesttoguestcommunications.ForanoverviewofVMCI
security,seeChapter 5,“SecurityoftheVMCIDevice,”onpage 23.
Use Cases for VMCI Sockets
VMCIsocketscanhelpwiththefollowingsolutions:
Implementnetwork‐basedcommunicationforoff‐the‐networkvirtualmachines
Improvetheprivacyofdatatransmissiononhostedvirtualmachines
Increasehost‐guestperformanceofsocket‐modifiedapplicationsanddatabases
Implementafasthost‐guestfilesystem
Provideanalternativedatapathforaccesstoandmanagementofguestvirtualmachines
RabbitMQ with Stream VMCI Sockets
OntheESXihostinFigure 1‐1,twovirtualmachinescontainamessagequeuingclientthatcommunicateswith
aguestproxythroughamqplib.GuestproxiescommunicatewiththehostproxyoverVMCISockets,which
treateachguestconnectionasaseparatesession.Thehostproxymultiplexesthesesessionsandcommunicates
withtheRabbitMQproxyov
erasingleTCP/IPsocket,passingencapsulatedAMQP.ARabbitMQnoderuns
onavirtualmachine.TheRabbitMQclusterisacollectionofRabbitMQnodesthatareassembledforreliability
andscaling.TheAMQPproxysplits‐outmultiplexedsessionsofindividualconnectionstoaRabbitMQnode.
Allthista
kesplaceonthemanagementnetwork,reducingtrafficontheguestnetwork.
Figure 1-1. ESXi host with Stream VMCI Sockets and RabbitMQ
Originatedin2003,AMQP(advancedmessagequeuingprotocol)isanindustrystandardforpassingbusiness
messagesbetweenapplicationsandorganizations.Itispopularinthebankingandfinanceindustries.
ESXi
Client
amqplib
Client
amqplib
VM
vmx
Guest
proxy
VMCI
Host
proxy
VMCI
Management network
Guest network
AMQP
AMQP
proxy
RabbitMQ
Cluster
Node
Node
Encapsulated
AMQP
RabbitMQ components
Middleware components
VM
vmx
Guest
proxy