virtio-netdev 数据包的发送,virtio


在前面几文中已经大体介绍了virtio的重要组成,包括virtio net设备的创建,vring的创建,与virtio设备的交互方式,我们就从网络数据包的发送角度来看下virtio的具体使用流程。

[点击查看全文]

http://luoye.me/2014/08/09/virtio-netdev-send/


数据包是怎被发送的

你开始已经说对了!

如果目的IP和自己所在的网络是否在同一个网段,如果在,那就找MAC地址表;
如果不在,查网关的MAC!

如果缓存里没有的话(第一次肯定没有,除非静态绑定);
那就发送ARP查询,注意ARP是广播,不用再判断什么在不在同一网段了!

目标设备收到ARP请求后,返回自己的MAC地址;

本机得到目标MAC后,把数据、传输层、网络层、数据链路层信息打包,发出去!

补充:
没看明白??
当然先要查了啊
在同一网段:直接查目标MAC!
不在同一网段:查网关MAC!
 

本地连接发送数据包比收到的数据包多该怎办?

你好,所谓的“发送数据包”其实就是你的上传流量,而“接收数据包”就是你的下载流量。你从网上下载的东西越多,接受数据包就越大,同理,你上传的东西越多,发送数据包就越大。发送和接收数据包的多少与网速无关。
 

相关内容