This datagram is used above all for Morse Application Server (MAS) and for internal use in Racom for IP Retranslation of Morse packets (M-IP-M). IPGW = Internet Protocol Gate Way.
The UDP datagram wraped in the IP-datagram has this structure (including the example):
| ETH header | IP header | UDP header | MORSE pseudoframe |
08:39:30.663 rsi:52 rx|0002A94B108E |00C09F63CFAB | IP/UDP/MOR/USR/DATA 0002 A94B 108E 00C0 9F63 CFAB 0800 4500 0026 00F2 0000 8011 B47E C0A8 0201 C0A8 0205 1F40 22B8 0012 4535 0000 8982 690F 5609 AAAA
ETH, IP and UDP header are described in the literature, they are mentioned here only for better orientation. The main part MAS follows this paragraph.
The length of all IPGW frame is written in the monitoring header, here 52 bytes.
ETH header
| ETH header | | dst eth /48 | src eth /48 | prot/16 | 0002 A94B 108E 00C0 9F63 CFAB 0800
Meaning of items:
dst eth /48 | dst ETH – destination address | ||
src eth /48 | src ETH – source address | ||
prot/16 | 0800 | IP-datagram follows | |
0806 | ARP follows |
IP header
| IP header | |vers/16|IPhlen/16| No/16 |frag/16|par1/16|hchs/16| src IP/32 | dst IP/32| 4500 0026 00F2 0000 8011 B47E C0A8 0201 C0A8 0205
Meaning of items:
vers/16 | ver/4 | version of IP protocol (now 4) | |
headlen/4 | length of IP header (here 5 words by 32 bits) | ||
type serv/8 | type of desired service for datagram transmission | ||
IPhlen/16 | number of bytes in IPGW frame without ETH header, hex (here 26 hex = 38 dec) | ||
No/16 | order number, datagram identification, hex | ||
frag/16 | fragmentation: | ||
res/1 | reserve | ||
no/1 | 1=datagram fragmentation forbidden | ||
next/1 | 1=next fragments follow | ||
offset/13 | fragment offset- position of beginning of fragment data part in regard of underived datagram(in bytes) | ||
par1/16 | time to live/8 | lifetime of datagram in seconds, by passing through router it is decremented at least by 1, at =0 it is discarded | |
protocol/8 | determines the protocol of higher level, which report is contended in data part of datagram | ||
hchs/16 | checksum including IP head only | ||
src IP/32 | src IP – source address, see menu EPe 0i = (i)p addr | ||
dst IP/32 | dst IP – destination address, see menu EPe 0i |
UDP header
| UDP header | | src port/16 | dst port/16 | UDPlen/16 | chs/16 | 1F40 22B8 0012 4535
Meaning of items:
src port/16 | source port UDP | |
dst port/16 | destin port UDP ( 22B8 hex = 8888 dec ) | |
UDPlen/16 | length of UDP packet in bytes(UDP header + pseudoframe),hex (here 12 hex = 18 dec) | |
chs/16 | checksum |
MORSE pseudoframe
According to first bit of pseudoframe is IPGW frame divided into 2 groups:
A – first bit is zero – Morse Application Server
B – first bit is one – proprietary for Racom, UDP frames for M-IP-M mode
Pseudoframe (A) – Morse Application Server
| MORSE pseudoframe | |flags/16|PT/8|D/1| R/4 | No/3| addr/32 | data | | 0000 | 89 | 1 | 0000 | 010 |690F 5609| AAAA |
Meaning of items:
flags/16 | T/4 | 0x0 = 0000 | UDP datagram type MAS | ||
R/4 | 0x0 = 0000 | reserve | |||
U/8 | subtype | 0x00 – user data | |||
0x01 – seek/delete format, for internal use in Racom only | |||||
PT/8 | MORSE packet type | ||||
D/1 | DTE bit | 0- DCE sending=CU in MORSE net | |||
1- DTE sending=IP application | this part is coincidently | ||||
R/4 | reserve (0000) | similar like net level packet | |||
No/3 | packet order number | of MARS-A protocol | |||
addr/32 | CU address in MORSE net | ||||
data | data transmitted, length (UDPlen-0x10) byte |
APPENDIX:
MORSE pseudoframe B), for internal use only. These datagrams are used for M-IP-M communication i.e. from MORSE network through IP network and to the MORSE again.
B1 – UDP data frames and fragments | 0xD,0xB,0xF,0xE |
B2 – UDP appended frame | 0xA |
B3 – UDP control frame | 0xC |
Pseudoframe (B1) – UDP data frames and fragments
| MORSE pseudoframe | flags/16 | No/16 | to/32 | from/32 |type/16| dest/32 | src/32 | D200 1392 690F8909 690F8101 0B89 690F8909 690F8101 MORSE pseudoframe | | [mob/32] | data | crc/16 | ........ AAAA 2788
Meaning of items:
flags/16 | T/4 | 0xD | data frame | |
0xB | fragments begin | |||
0xF | fragment | |||
0xE | fragments end | |||
A/1 | appended frame | |||
r/1 | repeated bit (1 if the packet is repeated) | |||
S/1 | security bit (1 requests ACK) | |||
P/1 | transmitter problem bit | |||
R/4 | reserve | |||
pver/4 | protocol version | |||
No/16 | Link No | |||
to/32 | to address | |||
from/32 | from address | |||
type/16 | packet full type | |||
dest/32 | destin. address | |||
src/32 | source address | |||
mob/32 | mobile address, for mobile service only, i.e. if (type & 0xE000) is nonzero | |||
data | data transmitted, length (UDPlen-0x20) byte | |||
crc/16 | Cyclic Redundancy Check |
Pseudoframe (B2) – UDP appended frame
| MORSE pseudoframe | | flags/16 | res/5 | lenA/11 | No/16 | data | crc/16 | AA00 0004 0005 AAAA ....
Meaning of items:
flags/16 | T/4 | 0xA appended frame | |
A/1 | appended frame | ||
r/1 | repeated bit (1 if the packet is repeated) | ||
S/1 | security bit (1 requests ACK) | ||
P/1 | transmitter problem bit | ||
R/1 | reserve | ||
pver/4 | protocol version | ||
res/5 | reserve | ||
lenA/11 | length (No + data), byte | ||
No/16 | Link No | ||
data | data transmitted, length (UDPlen-0x10) byte | ||
crc/16 | Cyclic Redundancy Check |
Pseudoframe (B3) – UDP control frame
| MORSE pseudoframe | | flags/16 | CN/16 | Cf/16 | frm/32 | toa/32 | crc/16 | C100 1392 D200 690F8101 690F8909 EE98
Meaning of items:
flags/16 | T/4 | 0xC control frame | |
A/1 | appended frame (=0) | ||
R/1 | reserved (=0) | ||
CT/2 | control type | ||
00 NONE | |||
01 ACK | |||
10 REJ | |||
11 NAK | |||
R/4 | reserved | ||
pver/4 | protocol version | ||
CN/16 | control link No (link No of confirmed frame) | ||
Cf/16 | control flags (flags of confirmed frame) | ||
frm/32 | from address | ||
toa/32 | to address | ||
crc/16 | Cyclic Redundancy Check |
Used examples for appendix (B1,B3):
14:30:20.090 rsi:68 tx|0002A95AA517 |0002A94AE97E | IP/UDP/MOR/RET/DAT 0002 A95A A517 0002 A94A E97E 0800 4500 0036 0073 4000 4011 88E9 C0A8 1001 C0A8 2009 22B8 22B8 0022 8D3C D200 1392 690F 8909 690F 8101 0B89 690F 8909 690F 8101 AAAA 2788 14:30:20.090 rsi:58 rx|0002A94AE97E |0002A95AA517 | IP/UDP/MOR/RET/CTL/ACK 0002 A94A E97E 0002 A95A A517 0800 4500 002C 000C 4000 4011 895A C0A8 2009 C0A8 1001 22B8 22B8 0018 979C C100 1392 D200 690F 8101 690F 8909 EE98