digraph G { margin = "1.5" size = "10.0,10.0" rotate = "0" labelfloat = "true" overlap = scale; ratio = "fill" /* Fill the page completely */ mode = "KK" FIN_WAIT_2 -> TIME_WAIT [label = "rcv FIN", fontsize="10"]; LISTEN -> CLOSED [label = "Close", fontsize="10"]; LISTEN -> SYN_RCVD [label = "rcv SYN", fontsize="10"]; LISTEN -> SYN_SENT [label = "Send", fontsize="10"]; SYN_RCVD -> FIN_WAIT_1 [label = "Close", fontsize="10"]; SYN_RCVD -> ESTABLISHED [label = "rcv ACK of SYN", fontsize="10"]; SYN_SENT -> SYN_RCVD [label = "rcv SYN", fontsize="10"]; SYN_SENT -> ESTABLISHED [label = "rcv SYN, ACK", fontsize="10"]; FIN_WAIT_1 -> FIN_WAIT_2 [label = "rcv ACK of FIN", fontsize="10"]; ESTABLISHED -> FIN_WAIT_1 [label = "Close", fontsize="10"]; ESTABLISHED -> CLOSE_WAIT [label = "rcv FIN", fontsize="10"]; CLOSE_WAIT -> LAST_ACK [label = "Close", fontsize="10"]; TIME_WAIT -> CLOSED [label = "Timeout", fontsize="10"]; LAST_ACK -> CLOSED [label = "rcv ACK of FIN", fontsize="10"]; CLOSED -> LISTEN [label = "passive Open", fontsize="10"]; CLOSED -> SYN_SENT [label = "active Open", fontsize="10"]; }