Shadow packet flow - GitHub

7 downloads 264 Views 275KB Size Report
Applications call sendto to place packet in socket buffer. Interface takes packet from socket buffer and places it in di
Packet Flow in Shadow

Applications Applications Applications

Socket buffers Socket buffers

Sending hosts

?

?

Applications call sendto to place packet in socket buffer If socket buffer is full (-1 returned and errno set to EAGAIN)

?

Socket buffers --socket-send-buffer Interface Interface takes packet from socket buffer and places it in discrete event queue

Interface

At rate controlled by bandwidthup

Packets routed to receiving host

Discrete event queue

?

?

?

?

?

?

?

At a rate controlled by packetloss

Packets taken from discrete event queue and placed in interface receive buffer

Receiving hosts

Interface receive buffer Interface receive buffer Interface Socket buffers receive buffer --interface-buffer

Socket buffers

If interface receive buffer is full

?

?

?

?

?

?

Packet taken off interface receive buffer and placed on socket buffer If socket buffer is full

At rate controlled by bandwidthdown

Socket buffers Applications --socket-recv-buffer Applications Applications

Application calls readfrom to receive packet

Rate limiting

?

Packet dropping v0.1 (2013-06-14) Steven J. Murdoch

Suggest Documents