# Internet Protocol Simulator

IP (Internet Protocol) a simple connection-less protocol for transferring datagrams in either direction between a pair of hosts. IP is described in Section 5.5.1 of [Tanenbaum 1996].

The protocol simulation shows a time-sequence diagram with users A and B, protocol entities A and B that support them, and a communications medium that carries messages. Users request data transmissions with DatReq(DATAn), and receive data transmissions as DatInd(DATAn). Protocol messages are sent as DT(MID,Offset,Length) that gives the message identifier n, its byte offset relative to the whole user message, and the length of the message (fragment). The user message size may exceed the maximum protocol message size, which leads to fragmentation. The maximum protocol message size may also exceed that for the medium, in which case there may be further fragmentation. Each fragment is followed by `+' to mean that it is not the last; the very last fragment is followed by `-'. (This is equivalent to the More Fragments flag in the protocol.)

You may choose if the receiving protocol entity should time out a partly received message. Since the simulation does not run in real-time, a message's Time-To-Live (TTL) may expire as soon as it has been received in part. There is no control over fragmentation in the simulation; this is handled automatically based on the protocol parameters. Messages may also be randomly lost or misordered, based on the parameter settings.

## Protocol Parameters

User Message Size |  | Maximum Segment Size |  | Maximum Packet Size |
Loss Probability |  | Medium Message Misordering |  |

## Protocol Simulation