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:
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:
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.
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.
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.
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.
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.
The packet goes from ETH address 0002A949B897 to 00C09F63CFAB, from IP address C0A86407 to C0A86420, see MON6.
Notes:
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.
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
The destination IP address is searched for in the left column of table Art. If it is found then item
gw
appertains to this itemdest
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.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.
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
parametersb(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.
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.
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:
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.
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.
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.
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 )
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.
Processing of IP frame type multicast
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.