Režim IP-M-IP

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

Verze pro tisk

3. Režim IP-M-IP

3.1. IP-M-IP příklad 1

Spojení různých IP sítí

Pro příklad je použita linka z PC1 ethernetem na kanál Eth v CU1, dále RF kanálem na CU2 a ethernetem na PC2:

IP-M-IP příklad 1

Obr. 3.1: IP-M-IP příklad 1

Nyní odešleme ping z PC1 na PC2:

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

Postup paketu v bodech MON1 až 6 je zachycen monitoringem, jsou doplněny značky …MON…:

     ...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

Komentář k monitoringu:

  1. Nejprve proběhne výměna paketů ARP/REQ a ARP/REP, při které PC1 zjistí, která ETH adresa přísluší k IP adrese C0A86407, viz MON1.

  2. Z PC1 na CU1 je odeslán paket IP/ICMP/E_REQ z ETH adresy 00C09F63CFAB na 0002A949B897, tento paket má IP src C0A8 6420 a IP dst C0A8 210A. Paket je zachycen monitoringem na fyzickém vstupu do ETH kanálu, viz MON2.

  3. ETH kanál v CU1 jej zpracuje v režimu IP-M-IP. V tabulce Art1 je vyhledána adresa dest C0A8210A a k ní příslušná MORSE adresa 690F5502 je přidělena paketu, viz MON3.

  4. Následuje průchod sítí MORSE do CU2 a PC2, kde je vygenerována odpověď IP/ICMP/E_REP, obsahující stejná data. Průchod rádiovým kanálem CU1 viz MON4.

  5. Po průchodu sítí MORSE je paket předán z user výstupu nódu 690F5501 do vstupu ETH kanálu. Zde je paket zpracován podle IP-M-IP. Z příchozího paketu je odstraněna hlavička MORSE. Dále se v rozsahu masky EPe0 (n)et mask FFFFFF00 porovná adresa IPdest C0A86420 s vlastní IP adresou eth. kanálu C0A86407. Adresy souhlasí, proto je paket odeslán na adresu IPdest, jinak je použita adresa EPe0 (g)ateway, viz MON5.

  6. Paket jde z ETH adresy 0002A949B897 na 00C09F63CFAB, z IP adresy C0A86407 na C0A86420, viz MON6.

Poznámky:

  1. ETH kanál CU1 odpoví ARP/REP pouze tehdy, není-li cílová adresa pingu shodná s IP adresou CU1 v rozsahu masky (v CU je to EPe 0n). Proto jsou v příkladu použity na levé straně IP adresy C0A864xx a napravo C0A821xx. Pokud je přítomen další účastník v jedné ze sítí LAN, například PC3 v příkladu, pak jeho IP adresa musí být shodná v rozsahu masky s ostatními, tedy s PC1 a CU1. Pak kanál ETH CU1 na komunikaci mezi PC1 a PC2 nereaguje.

    Tato podmínka komplikuje volbu IP adres. Řešení tohoto problému je naznačeno v IP-M-IP příkladu 2.

  2. Při hledání adresy MORSE destination pro hlavičku paketu v bodě 3 se používají nástroje v tomto pořadí:

    1. hledání v (I)PArt tabulce 
    2. (m)ask 
    3. default gw v (I)PArt
    1. Cílová IP adresa je hledána v levém sloupci Art tabulky. Pokud je nalezena, pak k této položce dest přísluší položka gw a ta je použita jako adresa MORSE destination. Rozsah tabulek Art je omezen na 252 položek celkem, jedna Art nemá překračovat 100 záznamů.

    2. Není-li IP adresa nalezena v tabulce, pak se porovná cílová IP adresa s položkou EPe0t b(a)se. Pokud jsou shodné v té části, kde jsou v masce EPe0t (m)ask nuly (po bitech), pak je MORSE destination odvozena z vlastní adresy MORSE. Z IP adresy je převzata část, kde má (m)ask jedničky, a touto je nahrazena příslušná část adresy MORSE.

    3. Pokud cílová adresa IP nevyhoví podmínce b(a)se a (m)asky, pak je použita MORSE adresa uvedená v (I)PArt v položce default gw.

    Pro ilustraci těchto variant vložíme do CU1, EPe0t parametry b(a)se, (m)ask:

      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

    Do Art vložíme default gw:

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

Adresa podle (I)PArt

Vyšleme ping na adresu C0A8210A a sledujeme 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
                                        ---- ----

Adresa C0A8210A je nalezena v tabulce Art a odtud je vzata adresa MORSE dest 690F5502.

Adresa podle b(a)se a (m)ask

Vyšleme ping na adresu 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

Adresa C0A80400 není nalezena v Art. Její část C0A804xx souhlasí s položkou b(a)se C0A804xx v rozsahu inverzní masky 000000FF. Adresa MORSE dest je tedy složena z části vlastní MORSE adresy 690F55xx a z části IP adresy xxxxxx08, tedy výsledek je 690F5508.

Adresa podle default gw

Vyšleme ping na adresu 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

Adresa C0A80400 není nalezena v Art ani nevyhovuje masce. Adresa MORSE dest je tedy převzata z položky default gw v tabulce Art.

3.2. IP-M-IP příklad 2

Spojení uvnitř jedné IP sítě

V menu EPe je skupina AR(P) parameters, které zjednodušují návrh sítí IP-M-IP. Jejich použití přináší jistá rizika, proto je třeba postupovat velmi pečlivě, viz poznámka na konci článku. Je zde možno konfigurovat sadu IP adres, na které není odesílán proxy arp. Příklad ilustruje propojení více IP účastníků ve stejné síti s maskou 24.

IP-M-IP příklad 2

Obr. 3.2: IP-M-IP příklad 2

Členové IP sítě PC1, PC2 a další v levé části obrázku mohou komunikovat navzájem, pokud používají adresy v rozsahu 0xC0A84410 až 0xC0A844FE. Jestliže některý z nich volá adresu z rozsahu 0xC0A84401 až 0xC0A8440F, pak CU1 odpoví ARP/REP a předá zprávu dále do sítě MORSE.

Je-li vyslán ping:

ping 192.168.68.17 -n 1 -l 2

z PC1, pak CU1 neodpovídá a PC1 s PC2 mohou nerušeně komunikovat, protože cílová IP adresa 192.168.68.17 = 0xC0A84411 je mimo rozsah určeném v menu EPe0P parametry:

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

Je-li vyslán ping:

ping 192.168.68.5 -n 1 -l 2

z PC1, pak CU1 odpoví, protože cílová IP adresa 192.168.68.5 = 0xC0A84405 je v rozsahu určeném Proxy Arp parametry (a současně jsou IP adresy shodné v rozsahu IP masky). Monitoring ETH a RFC kanálů CU1 pak vypadá takto:

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

Nastavení parametrů v příkladu:

Parametry (m)ode, (B)ase a (M)ask v menu EPe0P určují skupinu cílových IP adres, na jejichž ARP/REQ bude CU1 odpovídat. Ostatní adresy je možno použít pro komunikaci v místní LAN, zde PC1 a PC2. Kromě základní podmínky, že IP adresy musí být shodné v rámci (n)et mask zde jsou navíc možnosti:

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

Cílová IP musí být shodná s Proxy Arp (B)ase v rozsahu Proxy Arp (M)ask, zde tedy s přihlédnutím k (n)et mask C0A8440x. Na tuto skupinu IP adres odpoví CU1 zprávou ARP/REP a vytvoří paket pro síť MORSE. Druhá možnost nastavení v CU1 je:

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

Parametr NEGATIVE stanoví, že na ARP/REQ s takto vybranými adresami není vrácen ARP/REP a tedy mohou být použity pro komunikaci v místní LAN.

Volba:

proxy arp (m)ode:NORMAL

vyřadí tuto funkci. Pak se ETH kanál chová jako v předchozím příkladu, tedy odpovídá pouze na ARP/REQ s IP adresami mimo (n)et mask.

Poznámky:

  1. Výměna paketů ARP/REQ a ARP/REP proběhla mezi ETH adresami PC1 a CU1. Tyto pakety však obsahují cílovou adresu PC2 to je C0A8 4405, protože ta leží uvnitř síťové masky PC1.

  2. Povšimněme si, že IP adresa modemu zde není důležitá, neobjevuje se v monitoringu a může být shodná pro všechny CU v síti. Může být adresou default gateway pro provoz mimo rozsah IP masky.

  3. Konfigurace CU1 je uvedena v následujícím přehledu:

    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    )
  4. Pokud nastavení proxy-arp není konfigurováno a CU je připojena k LAN, pak je nezbytné v menu Epe 0P nastavit parametr

    proxy arp (m)ode:NORMAL

    nebo oba parametry:

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

    nastavit na nulu. V jiném případě (náhodný obsah (B) a (M)) se mohou objevit rušivé pakety v LAN.

  5. Při vhodné volbě MORSE adres je možno použít tvorbu MORSE adres maskou. Pak je Art tabulka prázdná, adresa CU2 je 690F5505 podle IP adresy PC2, routingové tabulky je třeba doplnit a v menu Ne použít Multiaddressing.

3.3. IP-M-IP multicast

Zpracování IP rámce typu multicast

IP-M-IP příklad 3

Obr. 3.3: IP-M-IP příklad 3

Ukázka vychází z příkladu 2, který je doplněn o zpracování multicastového IP rámce vysílaného z PC1.

Multicast v IP je podobný broadcastu v MORSE. Může se vyskytnout v případě, že master PLC předává IP rámce současně všem slave PLC v síti. Vstupní MORSE CU pak tento rámec multicast šíří jako paket broadcast a výstupní CU generuje opět IP rámec typu multicast.

Jako zdroj multicastového IP rámce poslouží další CU MORSE se svým menu EPe 0tP nebo standardní PC, z něhož vyšleme ping:

ping 192.168.68.255 -n 1 -l 2

Adresa multicastového IP rámce obsahuje jedničky v bitech, kde má síťová maska nuly.

Pro zpracování multicastového rámce je nutno nastavit parametry v menu EPe 0t. Ve všech CU nastavíme Type: 3. Ve vstupním CU1 navíc A(d)dress a Mas(k), které definují cílovou IP adresu multicastového rámce. Výstupní CU parametry A(d)dress a Mas(k) nepoužívají. V tomto příkladu jsou:

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

nebo například:

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

Ve všech CU je třeba správně konfigurovat také menu Broadcast Be.

Příklad přijetí multicastového rámce v CU1 a vyslání brc paketu MORSE do RF kanálu:

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

Po průchodu sítí MORSE je brc paket přijat v CU2 a je vyslán multicastový rámec z CU2 do ethernetu. Analogický monitoring je možno pozorovat i v 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

Podobně je možno vyslat jako broadcast i nemulticastový rámec, pokud jeho cílovou IP adresu zapíšeme do parametru A(d)dress s maskou FFFFFFFF. Je možno použít i jiné kombinace adresy a masky, např. C0A84400, FFFFFF00 s dodržením podmínky, že adresa má nuly na všech bitech, kde je nulová maska. Paket typu broadcast vystupuje z MORSE sítě jako rámec multicast.

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