Spec of the netvis format
November 21, 2014 ยท View on GitHub
The netvis format is just a sequence of objects that together describe the network and history. These can be the same file, or different files (e.g. multiple event histories over the same network).
The aim of this format is to intermediate between network visualization tools, and the network protocols themselves. Processes running the protocol produce events in this format (either stored to log files or emitted via rpc). The visualization tools consume these events and playback the protocol. The aim is for this to be useful for both algorithmic network analysis, and -- primarily -- for visual, human analysis.
Terminology
Before getting into the format, this terminology will help communicate ideas.
Records:
eventa network event, the building block of history.historya sequence of events, usually pertaining to one protocol, but possibly containing multiple.producera process that emits (records or transmits) eventslog(ortrace) a file storing an in-order sequence of events
Simulation:
networka system of connected entitiesnodean individual object in the networkmessageinformation unit sent from one node, to another
Nodes:
ididentifier for the node.typethe (protocol specific) type for the nodeaddressesa list of addresses the node hasstateopaque state for the nodeenterTimethe (network) time at which the node enteredexitTimethe (network) time at which the node exitedmessagesSentthe number of messages sentmessagesReceivedthe number of messages received
Messages:
sourceNodethe node from which a message travelsdestinationNodethe node to which a message travelsdepartureTimethe (network) time at which a message departed its sourcearrivalTimethe (network) time at which it arrived at its destinationprotocolan identifier that describes the protocol the message belongs totypean identifier that describes the kind of message (protocol-specific)sizethe size of the message (in bytes)contentsthe actual state of the message
Events:
messageSent node msg- a message is emitted from a nodemessageReceived node msg- a message is received by a nodemessageDropped node msg- a message is explicitly dropped by a node as opposed to having been dropped in the network in between (fading)nodeEntered- a node entered the network (about to send messages)nodeExited- a node exited the network (no more messages)nodeDialed addr- a node dialed another nodenodeAccepted addr- a node accepted another's dialnodeConnected addr- a node connected to another nodenodeDisconnected addr- a node disconnected from another nodenodeStateChange diff- a change of internal state in a node
Computing:
simulatora process which consumes ahistoryand simulates a network and its eventsvisualizationan animation of a network and/or a history ocurring over time.netvisthis formatlive nodea process running a program implementing the protocol (often a producer)