| 1 | = Packet server = |
| 2 | |
| 3 | The short synopsis: |
| 4 | |
| 5 | A TCP based packet source is available on idb2:5123 generates random packets prepended with a CRC and Seq#. |
| 6 | Clients can request packets from server with the following handshaking process after a TCP socket connection has been established: |
| 7 | 1) client sends server the request packet size (byte 4 word) |
| 8 | 2) server sends client packet of requested size with the following fields (4 byte each): |
| 9 | |
| 10 | | CRC - Seq# - pyld[0] - ... - pyld[pkt-size-3] | |
| 11 | |
| 12 | CRC is calculate from Seq#to pyld[pkt-size - 3] |
| 13 | Seq#is an incrementing count for the packet number |
| 14 | pyld[n] is the random data. |
| 15 | |
| 16 | The handshake process is depicted below: |
| 17 | |
| 18 | Client Server |
| 19 | t1 |---------------------------packet size------------------------------->| |
| 20 | |
| 21 | t2 |<-------CRC, Seq#, pyld[0], ... , pyld[pkt-size - 3]------------------| |
| 22 | |
| 23 | |
| 24 | The above handshake process [t1,t2] will repeat for 120 seconds after which the connection will be terminated. |
| 25 | |
| 26 | Similary a TCP based packet sink available on idb2:5125 which receive packets from client. and verifies the crc. As of right now this packet sink is best used for looping back data from the packet server. Clients can send data to server after a connection has been established: |
| 27 | 1) server sends client a ready packet (4 byte word) |
| 28 | 2) client sends server data with the following field (4 byte each): |
| 29 | |
| 30 | | CRC - Seq#- pyld[0] - pyld[1] - ... - pyld[pkt-size-3] | |
| 31 | |
| 32 | CRC is calculate from SeqNo to pyld[pkt-size - 3] |
| 33 | Seq#is an incrementing count for the packet number |
| 34 | pyld[n] is the random data. |
| 35 | Note: pkt-size is determined from a socket read function in server. |
| 36 | |
| 37 | This handshake process is depicted below: |
| 38 | |
| 39 | Client Server |
| 40 | t1 |<---------------------------packet size--------------------------------| |
| 41 | |
| 42 | t2 |<------CRC, Seq#, pyld[0], ... , pyld[pkt-size - 3]------------------| |