The MOOSE address is then constructed in two separate parts. The first is the switch identifier, which is the switch to which the host is directly attached. The second part is the host identifier. This gives MOOSE addresses a hierarchical nature, allowing routing based on the identifier, as well as allowing aggregation of host addresses under one switch.
-Each host is assigned a single host identifier, and when the switch receives traffic from the host, it rewrites the source address to contain the MOOSE address of the host. For example, when a host is attached to a switch with a MOOSE address of 02:00:01:00:00:00, it will be assigned a MOOSE address such as 02:00:01:00:00:01 and any traffic it sends will be rewritten to this address. When traffic is received by the switch at this address, it will be rewritten back to the host's MAC address and sent to the host. If another host is attached, it will be assigned 02:00:01:00:00:02 and so forth. A host attached to a different switch on the same subnet, might be assigned to 02:00:02:00:00:00.
+\begin{figure}
+\centering
+\includegraphics[width=14cm]{MOOSE-hierarchy-v2.pdf}
+\caption[MOOSE Switch and Host Hierarchy]{MOOSE Switch and Host Hierarchy, from \cite{moose1}}
+\label{moose-fig-2}
+\end{figure}
+
+Each host is assigned a single host identifier, and when the switch receives traffic from the host, it rewrites the source address to contain the MOOSE address of the host. For example, when a host is attached to a switch with a MOOSE address of 02:00:01:00:00:00, it will be assigned a MOOSE address such as 02:00:01:00:00:01 and any traffic it sends will be rewritten to this address. When traffic is received by the switch at this address, it will be rewritten back to the host's MAC address and sent to the host. If another host is attached, it will be assigned 02:00:01:00:00:02 and so forth. A host attached to a different switch on the same subnet, might be assigned to 02:00:02:00:00:01. This heirarchy is shown in Figure~\ref{moose-fig-2}
In the state table, a MOOSE switch contains a mapping between host identifiers and MAC addresses and ports, and a separate state table mapping between switch identifiers and ports. By aggregating all of a switch's hosts under a single entry in the state table, a vast reduction in size is achieved.
-When a packet enters the switch, if it contains a normal Ethernet address, it is rewritten to a MOOSE address and this mapping is stored in the table. It is then directed using the host identifier for local traffic, that is hosts directly attached to the switch, and the switch identifier for remote traffic, i.e. traffic where the host is attached to a different MOOSE switch.
+\begin{figure}
+\centering
+\includegraphics[width=14cm]{MOOSE-sequence.pdf}
+\caption[MOOSE Packet Rewriting]{MOOSE Packet Rewriting Sequence, from \cite{moose1}}
+\label{moose-fig-1}
+\end{figure}
+
+When a packet enters the switch, if it contains a normal Ethernet address, it is rewritten to a MOOSE address and this mapping is stored in the table. It is then directed using the host identifier for local traffic, that is hosts directly attached to the switch, and the switch identifier for remote traffic, i.e. traffic where the host is attached to a different MOOSE switch. This process is shown in Figure~\ref{moose-fig-1}.
\subsection{Simulation}