它是否像qemu-kvm一样使用ioctl?它是否使用某种远程消息传递,如dbus或直接消息传递到本地套接字(我倾向于使用本地套接字)?或者它是否直接绑定到内核ABI for KVM?是否有可能(在内核之上,而不是在内核中)(也不是最坏的想法)绕过libvirt,通过libvirt使用的方式直接与KVM对话?(这部分更多的是好奇)
使用这样创建的原始套接字,可以绕过OSI堆栈中的TCP/UDP层。这意味着,当应用程序通过这个套接字接收到数据包时,应用程序将有包含网络层(第三层)报头的包包装第二层报头,包装实际数据。类似地,当通过这个套接字发送数据包时,应用程序也可以自由地处理数据包的创建,直到第4层,然后将其传递到第3层,从第三层开始,内核上的点将处理这些事情。结论2:当我们讨论将套接字创建为:
s = socket