IP-M-IP mode

https//www.racom.eu/eng/support/morse-m3/eth-ip-m-ip.html

Print version

3. IP-M-IP mode

3.1. IP-M-IP example 1

Connection of various IP networks

In this example there is used the link from PC1 by ethernet to ETH channel in CU1, then through RF channel to the CU2 and by ethernet to PC2:

IP-M-IP example 1

Fig. 3.1: IP-M-IP example 1

We can send ping from PC1 to PC2:

Start/Run/Open  
ping 192.168.33.10 -n 1 -l 2
Enter

The way of packet through the channels is showed by monitoring, the labels …MON… are inserted for better orientation:

     ...MON1...
10:39:02.366 rsi:64 rx|FFFFFFFFFFFF |00C09F63CFAB | ARP/REQ
FFFF FFFF FFFF 00C0 9F63 CFAB 0806 0001 0800 0604 0001 00C0 9F63 CFAB 
C0A8 6420 0000 0000 0000 C0A8 6407 0000 0000 0000 0000 0000 0000 0000 
0000 0000 9696 DA3C
10:39:02.366 rsi:64 tx|00C09F63CFAB |0002A949B897 | ARP/REP
00C0 9F63 CFAB 0002 A949 B897 0806 0001 0800 0604 0002 0002 A949 B897 
C0A8 6407 00C0 9F63 CFAB C0A8 6420 0000 0000 0000 0000 0000 0000 0000 
0000 0000 9696 DA3C
     ...MON2...
10:39:02.366 rsi:46 rx|0002A949B897 |00C09F63CFAB | IP/ICMP/E_REQ
0002 A949 B897 00C0 9F63 CFAB 0800 4500 0020 00BA 0000 8001 33A8 
C0A8 6420 C0A8 210A 0800 E838 0200 4900 6162 6364
     ...MON3...
10:39:02.366|                 |690F5502 690F5501|E00I  OUT   32||89 0user
4500 0020 00BA 0000 8001 33A8 C0A8 6420 C0A8 210A 0800 E838 0200 4900 
6162 6364
     ...MON4...
10:39:02.366|690F5502 690F5501|690F5502 690F5501|02E  RFTX    32 89 0dat
4500 0020 00BA 0000 8001 33A8 C0A8 6420 C0A8 210A 0800 E838 0200 4900 
6162 6364
10:39:02.530|690F5501 690F5502|690F5501 690F5502|012*29* 80   32*89 0dat
4500 0020 2800 0000 8001 0C62 C0A8 210A C0A8 6420 0000 F038 0200 4900 
6162 6364
     ...MON5...
10:39:02.530|                 |690F5501 690F5502|E00I   IN   32|*89 0user
4500 0020 2800 0000 8001 0C62 C0A8 210A C0A8 6420 0000 F038 0200 4900 
6162 6364
     ...MON6...
10:39:02.530 rsi:46 tx|00C09F63CFAB |0002A949B897 | IP/ICMP/E_REP
00C0 9F63 CFAB 0002 A949 B897 0800 4500 0020 2800 0000 8001 0C62 
C0A8 210A C0A8 6420 0000 F038 0200 4900 6162 6364

Comments on monitoring:

  1. First there is an exchange of packets ARP/REQ and ARP/REP, during which PC1 finds out which ETH address appertains to IP address C0A86407, see MON1.

  2. From PC1 to CU1 packet IP/ICMP/E_REQ is sent from ETH address 00C09F63CFAB to 0002A949B897. This packet has IP src C0A8 6420 and IP dst C0A8 210A. The packet is captured by monitoring at the physical input to the ETH channel, see MON2.

  3. The ETH channel in CU1 processes it in mode IP-M-IP. In table Art1 address dest C0A8210A is searched for and its respective MORSE address 690F5502 is assigned to the packet, see MON3.

  4. This is followed by passage through the MORSE network to CU2 and PC2, where a IP/ICMP/E_REP response, containing the same data, is generated. For passage through the radio channel CU1 see MON4.

  5. After passage through the MORSE network the packet is handed over from the node user output 690F5501 to the ETH channel input. Here the packet is processed according to IP-M-IP. The MORSE header is removed from the incoming packet. Furthermore within the scope of mask EPe0 (n)et mask FFFFFF00 compares address IPdest C0A86420 with the actual IP address of the eth. channel C0A86407. Addresses agree and thus the packet is sent to address IPdest; otherwise address EPe0 (g)ateway is used, see MON5.

  6. The packet goes from ETH address 0002A949B897 to 00C09F63CFAB, from IP address C0A86407 to C0A86420, see MON6.

Notes:

  1. ETH channel CU1 replies ARP/REP only when the destination address of the ping is not the same as the IP address CU1 in the scope of the mask (in the CU it is EPe 0n). That is why C0A864xx is used in the example on the left side of the IP address and C0A821xx on the right. If another subscriber is present in one of the LAN networks, e.g. PC3 in the example, then its IP address must be the same, in the scope of the mask, as the others, i.e. the same as PC1 and CU1. Then the ETH channel of CU1 does not react to communication between PC1 and PC2.

    This condition complicates the selection of IP addresses. A solution to this problem is given in IP-M-IP example 2.

  2. On searching MORSE address destination for the header of the packet in point 3 tools are used in this order:

    1. searching in (I)PArt table 
    2. (m)ask 
    3. default gw v (I)PArt
    1. The destination IP address is searched for in the left column of table Art. If it is found then item gw appertains to this item dest and is used as the MORSE destination address. The Art Tables extent is limited. The tables Art1 to Art4 together can contain at the most 252 items. It is recommended use less then a 100 items in one table.

    2. If the IP address is not found in the table, then the destination IP address is compared with item EPe0t b(a)se. If they are the same in the part where there are zeros in mask EPe0t (m)ask (in bits), then the MORSE destination is derived from the actual MORSE address. The part of the IP address where the (m)ask has ones is taken and is used to replace the respective part of the MORSE address.

    3. If the IP destination address does not conform to the condition of b(a)se and (m)ask, the MORSE address given in (I)PArt in item default gw is used.

    For an illustration of these options EPe0t parameters b(a)se, (m)ask are inserted into the CU1:

      INTERNET PROTOCOL GATEWAY:
    M-IP-M:
      (A)rt:0; write (E)nable:ON
      (b)ase:00000000  MAS(K):00000000  s(h)ift:0000 ->set Security off!
      (r)epeats:0000  Sec(u)rity:ON  (t)imeout:0  (p)roxy timeout:0s
      (f)rag size:0bytes  (g)lue (append) up to:0packets
    IP-M-IP:
      (I)PArt:1
      b(a)se:C0A80400  (m)ask:000000FF
      IP(F)rag. size:552
    MAS:
      (s)Art:0; write (e)nable:ON
      (B)ase:00000000  (M)ask:00000000

    We insert default gw to Art:

    ART No 1: 
    items: 1
    default gw: 690F5503 (105.15.85.3    )
    dest:    gw:
    C0A8210A 690F5502 (192.168.33.10   105.15.85.2    )

Address according to (I)PArt

We send a ping to address C0A8210A and observe monitoring MON3:

ping 192.168.33.10 -n 1 -l 2

12:56:54.985|                 |690F5502 690F5501|E00I   OUT   30||89 0user
                               ======== 
4500 001E 0128 0000 8001 333C C0A8 6420 C0A8 210A 0800 349D 0200 6000 6162
                                        ---- ----

Address C0A8210A is found in table Art and from here address MORSE dest 690F5502 is taken.

Address according to b(a)se and (m)ask

We send a ping to address C0A80408:

ping 192.168.4.8 -n 1 -l 2

13:00:09.594|                 |690F5508 690F5501|E00I   OUT   30||89 0user
4500 001E 012B 0000 8001 503B C0A8 6420 C0A8 0408 0800 319D 0200 6300 6162

Address C0A80400 is not found in  Art. Its part C0A804xx agrees with item b(a)se C0A804xx in the scope of the inverse mask 000000FF. Address MORSE dest is thus made up of part of the actual MORSE address 690F55xx and part of the IP address xxxxxx08, i.e. the result is 690F5508.

Address according to default gw

We send a ping to address C0A80908:

ping 192.168.9.4 -n 1 -l 2

13:05:13.752|                 |690F5503 690F5501|E00I   OUT   30||89 0user
4500 001E 012C 0000 8001 4B3E C0A8 6420 C0A8 0904 0800 309D 0200 6400 6162

Address C0A80400 is not found in Art and does not match the mask. Address MORSE dest is thus taken from item default gw in table Art.

3.2. IP-M-IP example 2

Connection inside one IP network

In menu EPe there is a group of AR(P) parameters, which simplify the design of the IP-M-IP network. Their use brings about a certain risk and this is why it is necessary to proceed very carefully, i.e. see the note at the end of this article. It is possible here to configure a set of IP addresses to which an arp proxy is not sent. The example illustrates the connection of more IP subscribers in the same network with mask 24.

IP-M-IP example 2

Fig. 3.2: IP-M-IP example 2

Members of the IP network PC1, PC2 and others in the left part of the screen can communicate together, if they use addresses in the range 0xC0A84410 to 0xC0A844FE. If any of them calls an address from the range 0xC0A84401 to 0xC0A8440F then CU1 responds ARP/REP and hands over the message to the MORSE network.

If the following ping is sent:

ping 192.168.68.17 -n 1 -l 2

from PC1 then CU1 does not respond and PC1 and PC2 can communicate without interruption because the destination IP address 192.168.68.17 = 0xC0A84411 is outside the scope defined in menu EPe0P parameters:

proxy arp (m)ode:POSITIVE
Proxy Arp (B)ase:00000000
Proxy Arp (M)ask:000000F0

If the following ping is sent:

ping 192.168.68.5 -n 1 -l 2

from PC1 then CU1 responds because the destination IP address 192.168.68.5 = 0xC0A84405 is in the range determined by Proxy Arp parameters (and simultaneously IP addresses are the same in the scope of the IP mask). Monitoring of ETH and RFC channels of CU1 then looks as follows:

08:14:26.669 rsi:64 rx|FFFFFFFFFFFF |00C09F63CFAB | ARP/REQ
FFFF FFFF FFFF 00C0 9F63 CFAB 0806 0001 0800 0604 0001 00C0 9F63 CFAB 
C0A8 4410 0000 0000 0000 C0A8 4405 0000 0000 0000 0000 0000 0000 0000 
0000 0000 2629 62E3
08:14:26.669 rsi:64 tx|00C09F63CFAB |0002A949B897 | ARP/REP
00C0 9F63 CFAB 0002 A949 B897 0806 0001 0800 0604 0002 0002 A949 B897 
C0A8 4405 00C0 9F63 CFAB C0A8 4410 0000 0000 0000 0000 0000 0000 0000 
0000 0000 2629 62E3

08:14:26.670 rsi:44 rx|0002A949B897 |00C09F63CFAB | IP/ICMP/E_REQ
0002 A949 B897 00C0 9F63 CFAB 0800 4500 001E 11EC 0000 8001 1F8D 
C0A8 4410 C0A8 4405 0800 849D 0200 1000 6162

08:14:26.670|                 |690F5502 690F5501|E00I   OUT   30||89 0user
4500 001E 11EC 0000 8001 1F8D C0A8 4410 C0A8 4405 0800 849D 0200 1000 6162

08:14:26.670|690F5502 690F5501|690F5502 690F5501|076  RFTX    30 89 2dat
4500 001E 11EC 0000 8001 1F8D C0A8 4410 C0A8 4405 0800 849D 0200 1000 6162

08:14:26.805|690F5501 690F5502|690F5501 690F5502|05C*29* 77   30*89 5dat
4500 001E 2500 0000 8001 0C79 C0A8 4405 C0A8 4410 0000 8C9D 0200 1000 6162

08:14:26.805|                 |690F5501 690F5502|E00I    IN   30|*89 5user
4500 001E 2500 0000 8001 0C79 C0A8 4405 C0A8 4410 0000 8C9D 0200 1000 6162

08:14:26.806 rsi:44 tx|00C09F63CFAB |0002A949B897 | IP/ICMP/E_REP
00C0 9F63 CFAB 0002 A949 B897 0800 4500 001E 2500 0000 8001 0C79 
C0A8 4405 C0A8 4410 0000 8C9D 0200 1000 6162

Setting parameters in the example:

Parameters (m)ode, (B)ase and (M)ask in menu EPe0P determine the group of destination IP addresses to whose ARP/REQ CU1 will respond. Other addresses can be used for communication in the local LAN, in this case PC1 and PC2. Apart from the general condition that IP addresses must be the same within the (n)et mask here are some other possibilities:

proxy arp (m)ode:POSITIVE
Proxy Arp (B)ase:00000000
Proxy Arp (M)ask:000000F0

The destination IP must be the same as the Proxy Arp (B)ase in the scope of Proxy Arp (M)ask; here with regard to (n)et mask C0A8440x. CU1 responds to this group of IP addresses with an ARP/REP message and generates a packet for the MORSE network. The second possibility for settings in CU1 is:

proxy arp (m)ode:NEGATIVE
Proxy Arp (B)ase:00000010
Proxy Arp (M)ask:000000F0

Parameter NEGATIVE determines that ARP/REP is not returned to ARP/REQ with addresses selected in that way and thus may be used for communication in the local LAN.

Option:

proxy arp (m)ode:NORMAL

disables this function. Then the ETH channel behaves as in the previous example, i.e. responds only to ARP/REQ with IP addresses outside of (n)et mask.

Poznámky:

  1. An exchange of packets ARP/REQ and ARP/REP occurred between ETH addresses PC1 and CU1. However, these packets contain destination address PC2, i.e. C0A8 4405, because this lies inside the network mask PC1.

  2. Note that the IP address of the modem is not important here. It doesn´t appear in monitoring and can be the same for all CUs in the network. Default gateway can be the address for operation outside the scope of the IP mask.

  3. Upon careful selection of MORSE addresses it is possible to use a mask to generate MORSE addresses. Then the Art table is empty, address CU2 is 690F5505 according to IP address PC2. Routing tables need to be filled and in menu Ne use Multiaddressing.

  4. Configuration of CU1 is given in the following overview:

    Menu Ne:
    Nid|address |M | u   s | L   N |l w n g H|sTO Err  Cent vTO hTO
    (0) 0049B897     -  S00| -  R00|0 0 0 0 -| 15 SERV  OFF 304  30
    (1) 690F5501    E00 S00| -  R01|0 0 0 0 -| 15 SERV  OFF 304  30
    (2) 00000000    S01 S00| -  R02|0 0 0 0 -| 15 SERV  OFF 304  30
    (3) 00000000    S02 S00| -  R03|0 0 0 0 -| 15 SERV  OFF 304  30
    (4) 00000000    S03 S00| -  R04|0 0 0 0 -| 15 SERV  OFF 304  30 
    
     Channel to Node Interface:
        retranslation     |   user+service             lim
     id N  A t          m | N  A t Base     m  sec brc S   e
    (0) 0   NO AR         | 1   NO AR          usr OFF NONE
    
      Internet Protocol:
    Eid| ip address            |    net mask          |       gw      |
    (0) C0A844C8 192.168.68.200 FFFFFF00 255.255.255.0 00000000 0.0.0.0
    
      INTERNET PROTOCOL GATEWAY:
    M-IP-M:
      (A)rt:0; write (E)nable:ON
      (b)ase:00000000  MAS(K):00000000  s(h)ift:0000 ->set Security off!
      (r)epeats:0000  Sec(u)rity:ON  (t)imeout:0  (p)roxy timeout:0s
      (f)rag size:0bytes  (g)lue (append) up to:0packets
    IP-M-IP:
      (I)PArt:1
      b(a)se:C0A84400  (m)ask:00000000
      IP(F)rag. size:552
    MAS:
      (s)Art:0; write (e)nable:ON
      (B)ase:00000000  (M)ask:00000000
    
    ARP:
    (A)RP ttl:30s
    A(R)P timeout:50ms
    proxy arp (m)ode:POSITIVE
    Proxy Arp (B)ase:00000000
    Proxy Arp (M)ask:000000F0
    
    ART No 1: 
    items: 1
    default gw: 00000000 (0.0.0.0        )
    dest:    gw:
    C0A84405 690F5502 (192.168.68.5    105.15.85.2    )
    C0A84406 690F5502 (192.168.68.6    105.15.85.2    )
  5. If proxy-arp settings are not configured and the CU is connected to the LAN, then in menu Epe0P it is necessary to set parameter

    proxy arp (m)ode:NORMAL

    or both parameters:

    Proxy Arp (B)ase:00000000
    Proxy Arp (M)ask:00000000

    to zero. In another case (random content of (B) and (M)) spurious packets may appear in LAN.

3.3. IP-M-IP multicast

Processing of IP frame type multicast

IP-M-IP example 3

Fig. 3.3: IP-M-IP example 3

The example relates to the Example 2 completed by the processing of IP multicast frame sent from the PC1.

The IP multicast is similar to the MORSE broadcast. It can occur in this case, when the PLC master sends the IP frames to all PLCs in the network. The entering MORSE CU then spreads it as the broadcast packet. The outgoing CU generates again the multicast IP frame.

The auxiliary MORSE CU with EPe 0tP menu or standard PC serves as the source of multicast IP frame. It sends ping:

ping 192.168.68.255 -n 1 -l 2

The address of multicast IP frame contains binary one where the netmask contains binary zero.

The parameters in menu EPe 0t must be set for right processing of the multicast frame. Set in all CUs Type: 3. In the entering CU set more A(d)dress a Mas(k), which define the IP address of multicast frame. The outgoing CUs does not use A(d)dress a Mas(k). In this example are:

A(d)dress:C0A844FF 
Mas(k):FFFFFFFF

or for example:

A(d)dress:000000FF 
Mas(k):000000FF

All CUs need to have properly set the broadcast menu Broadcast Be.

The example of receiving the multicast frame in CU1 and sending the brc MORSE packet in RF channel:

13:43:37.979 rsi:50 rx|FFFFFFFFFFFF |0002A95EADEA | IP/ICMP/E_REQ
FFFF FFFF FFFF 0002 A95E ADEA 0800 4500 0024 050D 4000 4001 2B6C C0A8 4410 C0A8 44FF 0800 
B3D6 0000 0000 0000 6444 010A DEDA
13:43:37.979|690F5501 690F5501|0D2679F4 690F5501|R01I    IN   36N09 0dat 0brc
4500 0024 050D 4000 4001 2B6C C0A8 4410 C0A8 44FF 0800 B3D6 0000 0000 0000 6444 010A DEDA

The broadcast packet goes through MORSE network to CU2 and then is send as multicast frame to the ethernet. Analogical monitoring can be observed also in CU3.

13:43:38.024|690F5501 690F5501|000079F4 690F5501|R01I   OUT   36n09 0dat 0brc
4500 0024 050D 4000 4001 2B6C C0A8 4410 C0A8 44FF 0800 B3D6 0000 0000 0000 6444 010A DEDA
13:43:38.024|                 |000079F4 690F5501|E00I    IN   36|*09 0usr brc 0
4500 0024 050D 4000 4001 2B6C C0A8 4410 C0A8 44FF 0800 B3D6 0000 0000 0000 6444 010A DEDA
13:43:38.024 rsi:50 tx|FFFFFFFFFFFF |0002A95B93F9 | IP/ICMP/E_REQ
FFFF FFFF FFFF 0002 A95B 93F9 0800 4500 0024 050D 4000 4001 2B6C C0A8 4410 C0A8 44FF 0800 
B3D6 0000 0000 0000 6444 010A DEDA

The standard no-multicast frame can be sent also as broadcast when it’s dst IP address is written in the A(d)dress parameter with mask FFFFFFFF. The other combination of address and mask can be used also, e.g. C0A84400, FFFFFF00 with meeting the condition, that the address contains zeros in all bits where the zero is in the mask. The packet of broadcast type outputs the MORSE network as multicast frame.

©  2024 RACOM s.r.o. All Rights Reserved.